[BACK]Return to bridgepaper.ps CVS log [TXT][DIR] Up to [local] / www / papers

File: [local] / www / papers / bridgepaper.ps (download)

Revision 1.1, Sun Jun 25 18:07:46 2000 UTC (23 years, 11 months ago) by jason
Branch: MAIN
CVS Tags: HEAD

add the bridge paper

%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: bridgepaper.dvi
%%Pages: 11
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips bridgepaper
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2000.04.21:1440
%%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: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
begin/SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1 startangle endangle arc savematrix setmatrix}N end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (bridgepaper.dvi)
@start
%DVIPSBitmapFont: Fa cmti9 9 55
/Fa 55 123 df<047013E09338F801F0A2923901F003E0A2923903E007C0A2923907C00F
80A204801300030F5BA292381F003EA2033E5BA24B5BA24B485AA24A48485AA24A48485A
000FB812F818FCA218F8C7261F003EC7FCA2023E5BA24A5BA202785BECF801A24948485A
A24948485AB9128018C0A2188027001F003EC8FCA2013E5BA2495BA249485AA24848485A
A201E05B00031307A24848485AA2484848C9FCA2381F003EA2003E5BA2003C1378A20038
1370364377B33F>35 D<EA0380EA0FE0121FA5EA0760120013E013C0A2120113801203EA
07001206120E5A5A5A5A5A0B176FB318>39 D<1560EC01E0EC03C0EC0700140E5C143C5C
5C495A495A13075C49C7FC5B131E5B137C137813F85B12015B12035B1207A25B120FA290
C8FC5AA2121E123EA3123C127CA31278A212F8A35AAF12701278A21238A2123C121CA27E
A27E6C7E12011B4A75B71F>I<14301438A28080A2140F801580A2140315C0A4140115E0
A81403A415C0A31407A31580140FA315005CA3141E143EA2143C147CA25CA25C13015C13
035C13075C130F91C7FC131E133E133C5B5B485AA2485A485A48C8FC121E5A12705A5A1B
4A7EB71F>I<EA0380EA0FE0121FA5EA0760120013E013C0A2120113801203EA07001206
120E5A5A5A5A5A0B177A8718>44 D<B51280A46C1300110579911B>I<121C127F12FFA4
12FE12380808778718>I<EC1FC0EC7FF0903801E0F8903807C03CEB0F00011E131E133E
013C131F5B13F85B1201A2485AA20007143F5BA2120F153E49137E121FA348C712FCA400
7EEB01F8A4007CEB03F012FCA2EC07E0A24814C0A2EC0F80A2EC1F00A2141E5C0078137C
5C387C01F0383C03E0381F0F80D80FFEC7FCEA03F8203477B127>48
D<EC01801403A21407140FEC1F005C14FF5BEB1FFEEB7FBEEB7E7E1320EB007CA214FCA2
5CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA291C7FCA25BA2133EA2137E
A2137C13FCB512FCA3193277B127>I<150E151FA2153F153EA3157E157CA215FC15F8A2
140115F0A2EC03E0A3EC07C0A2EC0F80A2EC1F00A2143EA25C147814F85C1301903803E0
E0ECC1F0EB0781EB0F83EC03E0131E133CEB7C0701F813C0EA01F0EA03E03807C00FD80F
801380EA1FFC383FFFCF48EBFF82D8F00313FF3860003FC7EA1FF8EC3F00143EA3147E14
7CA314FC5CA4146020417DB127>52 D<010614C090380FC00F91B51280160015FC4913F0
15C0D91CFEC7FC91C8FC133C1338A313781370A313F0EBE0FE9038E3FF809038EF03C039
01FC01E001F87FEBF000497F485A5BC8FCA41401A4003C130300FC5CA34A5A5A00E0495A
A24A5A4AC7FC6C137E00705B387801F8383E07F0381FFFC06C90C8FCEA03F8223478B127
>I<D9E0F81338EBE3FC2601EFFE137801FF14F048EC01E09038FE0E03D807F814C09039
F0060F80390FC0071F90398003FF00391F0001EF001EEB001E003E5C123C485C15F8485C
4813015DC712034A5AA24A5AA2141F92C7FC5C143E147EA25CA2495AA3495AA213075CA2
130F5CA2131FA25C133FA391C8FCA2131C253476B127>55 D<EC0FC0EC7FF0ECFFFC9038
03F07E903807C03E49487EEB1F00013E7F017E14805BA2485AA2485A151FA212075BA2ED
3F00A2485A5DA2000714FEA21401140300035CEBE0070001131E3900F039F8EB7FF1EB0F
C190380003F0A24A5AA25D4A5A141F003891C7FC007E133E00FE137E5C48485A48485A48
485A38781F80D87FFFC8FCEA1FFCEA07E0213478B127>57 D<1370EA01FC1203A413F8EA
00E01300B0121C127F5AA45A12380E20779F18>I<130EEB3F80137FA41400131C90C7FC
B0EA0380EA0FC0487EA45B1207120012015BA2120390C7FC5A1206120E5A5A123012705A
5A112F7A9F18>I<161C163CA2167C16FCA21501821503A2ED077E150F150E151CA21538
A2157015F015E0EC01C0A2913803807F82EC0700A2140E141E141C5CA25CA25C49B6FCA2
5B913880003F49C7EA1F80A2130E131E131C133C13385B13F05B12011203D80FF0EC3FC0
D8FFFE903807FFFEA32F367BB539>65 D<0107B612C04915F017FC903A003F8000FE177F
EF3F8092C7121FA24A15C0A2147EA214FE18804A143FA20101ED7F00177E4A5C16010103
EC03F04C5A4AEB1FC091B6C7FC495C9139F0007F804AEB0FC0707E010F6E7E834A1301A2
011F81A25CA2133F5F91C71203A2494A5AA2017E4A5A4C5A01FE4A5A4CC7FC49EB01FE00
01EC07FC007FB612F0B712C04BC8FC32337BB236>I<DB1FF013C09238FFFC010203EBFF
03913A0FF00F878091393F8003CF9139FE0001EF4948EB00FFD903F01500D90FE080495A
49488091C8123E137E13FE485A4848153CA2485AA248481538A2485A94C7FC123F5BA312
7F90CBFCA412FEA2EE03C0A25F127E160794C7FC5E160E007F151E6C5D5E6C6C147016F0
6C6C495A6C6CEB07C06C6C49C8FC6C6C133E6CB413FC90387FFFF0011F13C0D903FEC9FC
323775B437>I<0107B612C04915F017FC903A003F8001FEEE007FEF1F8092C7EA0FC0EF
07E05CEF03F0147E170102FE15F8A25CA21301A25CA2130317035CA2130718F04A1407A2
130F18E04A140F18C0011F151F18805CEF3F00133F177E91C85AA2494A5A4C5A017E4A5A
4C5A01FE4A5A047EC7FC49495A0001EC0FF8007FB612E0B7C8FC15F835337BB23A>I<01
07B712F05B18E0903A003F80001F1707170392C7FC17015C18C0147EA214FEA24A130EA2
0101EC1E03041C13804A91C7FC163C13035E9138F001F891B5FC5B5EECE0011500130F5E
5C1707011F01015BEEC00E0280141E92C7121C133F173C91C812381778495DA2017E1401
4C5A01FE14074C5A49141F00014AB45A007FB7FCB8FC94C7FC34337CB234>I<0107B712
E05B18C0903A003F80003F170F170792C7FC17035C1880147EA214FEA25C161C0101EC3C
07043813004A91C7FCA20103147816704A13F0150349B5FCA25EECE003130F6F5A14C0A2
011F13035E1480A2013F90C9FCA291CAFCA25BA2137EA213FEA25B1201387FFFFCB5FCA2
33337CB232>I<92391FE001809238FFF8030207EBFE07913A1FF01F0F0091393F80079F
9139FE0003DFD901F86DB4FCD907F05C49481300495A4948147E49C8127C137E13FE485A
48481578A2485AA248481570A2485A94C7FC123F5BA3127F90CBFCA400FE91383FFFFCA2
5F9238003F8094C7FCA2007E5DA2167EA2007F15FE7E5E6C6C1301A26C6C495A6D13076C
6CEB0F786C6C133E3A00FF01FC3090387FFFF0011F01C0C8FCD903FEC9FC313775B43B>
I<010FB51280A216009038003FC05DA292C7FCA25CA2147EA214FEA25CA21301A25CA213
03A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCA25BA2137EA213FEA25B12
01B512F8A25C21337BB21E>73 D<0107B590380FFFF05B19E09026003FC0903803FE004B
14F818E092C7485A4DC7FC4A141E177C027E5CEE01E002FE495A4C5A4A011FC8FC163E01
0114785E4A485AED07C00103495A4B7EECF03F157F903907F1FFE0ECF3E79138E787F0EC
EF0790380FFE0302FC7FECF80114E0D91FC07F15004A7FA2013F147E167F91C77E835B16
1F017E81160F13FE835B000182267FFFF090B57EB55B95C7FC3C337BB23B>75
D<902607FF8090383FFFC0496D5BA2D9001F913803F8004A6C6D5A6060EC3BF0027B1403
60EC71F8A202F11407DAF0FC91C7FC14E0A20101017E5B170E14C0810103151EEE801CEC
801FA20107ECC03C030F1338140016E049010713781770010E14F01503011E15F0705A01
1C1301A2013C14FD03005B133816FF0178147F5F0170143FA213F070C8FC1201EA07F826
7FFF807FB5140EA23A337BB239>78 D<ED1FE0913801FFFC913807E03F91391F800FC091
393E0003E002F8EB01F0495A4948EB00F8494814FC4948147C49C8127E133E017E153E49
153F485AA2485A12075B120F5B121F177F5B123FA348C912FEA4EE01FC12FEEE03F8A217
F0160717E0160F007E16C0EE1F80A2EE3F006C157E5E5E6C6C495A000F4A5A6D495A0007
EC1F806C6C013EC7FCD801F813FC39007E07F090383FFF80D907FCC8FC303775B43B>I<
0107B612C04915F883903A003F8001FEEE003FEF1F8092C713C0170F5C18E0147EA214FE
EF1FC05CA201011680173F4A1500177E010315FE5F4AEB03F8EE07E00107EC3FC091B6C7
FC16F802E0C9FC130FA25CA2131FA25CA2133FA291CAFCA25BA2137EA213FEA25B120138
7FFFF0B5FCA233337CB234>I<0107B512FE49ECFFC017F0903A003F8007F8EE01FCEE00
7E92C7127F835C1880147EA214FEEF7F005CA2010115FE5F4A13015F01034A5AEE0FC04A
495A04FEC7FC49B512F016C09138E003E0ED01F8010F6D7E167C4A137EA2131FA25CA201
3F14FEA291C7FCA24913015E137EEF01C001FE150318805B00011607277FFFF0001400B5
ECFE0EEE7E1CC9EA1FF8EE07E032357BB238>82 D<913901FC018091380FFF03023F13C7
91387E07EF903A01F801FF0049487E4A7F495A4948133E131F91C7FC5B013E143CA3137E
1638A293C7FC137FA26D7E14E014FE90381FFFC06D13F86D7F01017F6D6C7E020F7F1400
153F6F7E150FA4120EA2001E5D121CA2151F003C92C7FCA2003E143E5D127E007F5C6D48
5A9038C007E039F3F80FC000F0B5C8FC38E03FFC38C00FF029377AB42B>I<0003B812C0
5A1880903AF800FC003F260FC001141F0180150F01005B001EEE07001403121C003C4A5B
A200380107140E127800705CA2020F141E00F0161CC74990C7FCA2141FA25DA2143FA292
C9FCA25CA2147EA214FEA25CA21301A25CA21303A25CA21307A25C497E001FB512F05AA2
323374B237>I<3B3FFFF801FFFE485CA2D801FEC7EA1FC049EC0F80170049140EA2161E
120349141CA2163C1207491438A21678120F491470A216F0121F495CA21501123F90C75B
A215035A007E5DA2150712FE4892C7FCA25D150E48141E151C153C153815786C5C5D007C
1301007E495A003EEB0F806C011EC8FC380FC0FC6CB45A000113E06C6CC9FC2F3570B239
>I<B53CC03FFFF003FFF8601480280FF00001FCC7EA7F806C484AEC3E00193CA2193861
15036115074E5A030F140361031D4AC7FCA2DB38FC130EA203705C15F06C6C01E05C1401
03C05CDA038014F060DA0700130160020E4A5AA24A4AC8FCA24A140E147802705C5C5FD9
F1C014781770D9F3805CA201F7C7EA7FC0A201FE5DA26C4892C9FCA249147E5B167C5B16
78491470453570B24D>87 D<902607FFFE90387FFFC0A39026001FF090380FF80003C014
C0020F5D6F91C7FC0207141E6F5B5F02035C6F485A02015C6F485A4CC8FC0200130EEDFE
1EED7E3C5EED7FF06F5A5E5E151F82A24B7E157F1577EDE7F0EC01C7EC038302077FEC0F
01021E7F143CEC38004A7F4A137E495A0103147F49487F49C77F131E49141F017C8113FC
00074B7EB5D88003B57EA295C7FC3A337CB239>I<EB03F0EB0FF890383E1C6090387C0F
F0EBF807EA01F0EA03E00007EB03E0EA0FC0A2381F800715C0EA3F00A2140F481480127E
A2141F00FE14005A1506EC3F07EC3E0F150E147E007C141EECFE1CEB01FCD83C03133C39
3E07BE38391F0E1E783907FC0FF03901F003C0202278A027>97 D<137EEA0FFE121F5B12
00A35BA21201A25BA21203A25BA21207A2EBC3E0EBCFF8380FDC3EEBF81F497E01E01380
EA1FC0138015C013005AA2123EA2007E131F1580127CA2143F00FC14005AA2147EA25CA2
387801F85C495A6C485A495A6C48C7FCEA0FFCEA03F01A3578B323>I<14FCEB07FF9038
1F078090383E03C0EBFC013801F8033803F0073807E00F13C0120F391F80070091C7FC48
C8FCA35A127EA312FE5AA4007C14C0EC01E0A2EC03C06CEB0F80EC1F006C137C380F81F0
3803FFC0C648C7FC1B2278A023>I<ED0FC0EC03FFA21680EC001FA31600A25DA2153EA2
157EA2157CA215FCA2903803F0F8EB0FF8EB3E1DEB7C0F496C5AEA01F0EA03E000071303
D80FC05BA2381F8007A2D83F005BA2140F5A007E5CA2141F12FE4891C7FC1506EC3F075D
EC3E0E147E007C141EECFE1CEB01FCD83C03133C393E07BE38391F0E1E783907FC0FF039
01F003C0223578B327>I<EB03F8EB0FFEEB3E0F9038F807803801F003EA03E0EA07C012
0FEA1F801407D83F0013005C007E133EEB03F8387FFFE04848C7FC00FCC8FCA45AA4EC01
80EC03C0A2007CEB0780EC1F00003C133E6C13F8380F03E03807FF80D801FCC7FC1A2277
A023>I<151FED7FC0EDF0E0020113F0EC03E3A2EC07C316E0EDC1C091380FC0005DA414
1F92C7FCA45C143E90381FFFFEA3D9007EC7FC147CA414FC5CA513015CA413035CA41307
5CA3130FA25CA3131F91C8FCA35B133E1238EA7E3CA2EAFE7812FC485AEA78E0EA3FC000
0FC9FC244582B418>I<143FECFF80903803E1E6903807C0FF90380F807FEB1F00133E01
7E133F49133EA24848137EA24848137CA215FC12074913F8A21401A2D80FC013F0A21403
120715E01407140F141F3903E03FC00001137FEBF0FF38007FCF90381F0F801300141FA2
1500A25C143E1238007E137E5C00FE5B48485A387803E0387C0F80D81FFFC7FCEA07F820
317CA023>I<EB0FC0EA03FFA25CEA001FA391C8FCA25BA2133EA2137EA2137CA213FCA2
9038F83F80ECFFE03901FBE0F09038FF80F8EC007849137C485A5B5BA2484813FC5D5BA2
000F13015D1380A2001F13035DEB0007EDC0C048ECC1E0020F13C0003E1481A2007E1483
ED0380007C1407160000FC140E151E48EB07F80070EB01F023357BB327>I<EB0180EB07
E0A2130FEB07C0EB038090C7FCABEA01F0EA03FCEA0F1E120E121C123C1238EA783E1270
A2137EEAF07CEA60FCC65AA212015BA212035BA2000713C0EBC1E0000F13C01381A21383
EB038013071400130E131EEA07F8EA01F013337AB118>I<EB0FC0EA01FF5A5CEA001FA3
91C7FCA25BA2133EA2137EA2137CA213FCA2491378EC01FE0001EB078FEC0E0F9038F01C
3F143800031370ECE03E9038E1C01C9038E38000D807E7C7FC13EE5B13F8120F13FFEB9F
C0EB83F0EA1F81EB80F81300150C48141E151C123EA2007E143C1538127C157800FCEB78
7015E048EB3FC00070EB0F8020357BB323>107 D<133FEA07FF5A13FEEA007EA3137CA2
13FCA213F8A21201A213F0A21203A213E0A21207A213C0A2120FA21380A2121FA21300A2
5AA2123EA2127EA2127C1318EAFC1C133CEAF838A21378137012F013F0EAF8E01279EA3F
C0EA0F00103579B314>I<2703C003F8137F3C0FF00FFE01FFC03C1E783C1F07C1E03C1C
7CF00F8F01F03B3C3DE0079E0026383FC001FC7FD97F805B007001005B5E137ED8F0FC90
380FC00100E05FD860F8148012000001021F130360491400A200034A13076049013E130F
F081800007027EEC83C0051F138049017C1403A2000F02FC1407053E130049495CEF1E0E
001F01015D183C010049EB0FF0000E6D48EB03E03A227AA03F>I<3903C007F0390FF01F
FC391E787C1E391C7CF01F393C3DE00F26383FC01380EB7F8000781300EA707EA2D8F0FC
131F00E01500EA60F8120000015C153E5BA20003147E157C4913FCEDF8180007153C0201
133801C013F0A2000F1578EDE070018014F016E0001FECE1C015E390C7EAFF00000E143E
26227AA02B>I<14FCEB07FF90381F07C090383E03E09038FC01F0EA01F83903F000F848
5A5B120F484813FCA248C7FCA214014814F8127EA2140300FE14F05AA2EC07E0A2007CEB
0FC01580141FEC3F006C137E5C381F01F0380F83E03803FF80D800FCC7FC1E2278A027>
I<011E137C90387F81FF9039F3C387C09039E3EF03E03901E1FE01D9C1FC13F0EBC3F800
0313F0018314F814E0EA07871307000313C01200010F130316F01480A2011F130716E014
00A249EB0FC0A2013EEB1F80A2017EEB3F00017F133E5D5D9038FF81F09038FDC3E09038
F8FF80027EC7FC000190C8FCA25BA21203A25BA21207A25BB5FCA325307FA027>I<3903
C00FC0390FF03FF0391E78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D870
7E13701500EAF0FC12E0EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA212
1FA290C8FC120E1E227AA020>114 D<EB03F0EB1FFCEB3C1EEB780FEBF007EA01E0140F
0003131F13C0A2EBE00414007FEBFF8014E06C13F06C13F8EB7FFC1307EB00FE147E143E
123800FC133CA3147C00F013784813F0EAF001387803E0383C0F80381FFE00EA03F81822
7AA01F>I<1303EB0F80A3131FA21400A25BA2133EA2137EA2137C387FFFF8A2B5FC3800
F800A21201A25BA21203A25BA21207A25BA2120FA25B1460001F13F014E01300130114C0
1303001E1380EB07005BEA0F1EEA07F8EA01E015307AAE19>I<EA01F0D803FC1307D80F
1E5B000E5C121C123C00385CD8783E133E1270A2017E137ED8F07C137CEA60FCC65A15FC
00015C5BA2140100035C13E0166002031370EDE0F0D807C014E0A20003EB07E116C09038
E00FC1EC1FC3000190383FE3809038F071E73A007FE0FF0090381F803C24227AA029>I<
D801F01538D803FC010E13FCD80F1E131E000E143E121C123C0038027E137CD8783E137C
0070163CA2017E13FCD8F07C491338EA60FCC65A0201147800014A137013F0A2020314F0
000316E001E05BA2160117C001C013C00207EB0380A29039E00FE0071700021F130E3A01
F03DF01E3A00F878F83C90393FF03FF090390FC00FC02E227AA033>119
D<13F0D803FC1307D80F1E130F000E141F121C123C0038143FD8783E133E1270A2017E13
7ED8F07C137CEA60FCC65A15FC000114F85BA21401000314F013E0A2140315E0EA07C0A2
0003130715C0EBE00F141F0001133F9038F07F8038007FEFEB1F8FEB001F1500A25C003E
133E007E137E147C5C007C5BEA7001495A38380780D83C1FC7FCEA0FFCEA07F020317AA0
25>121 D<903807801C90381FE03C90383FF038017F13789038FFF8F03901F07CE0EBE0
1F3903C003C09038800780EC0F00C7121E141C143C5C5C495AEB07C0495A011EC7FC5B5B
4913704913F0000114E0485A38078001390FC003C0381FF80790383E0F80393C1FFF0012
7838700FFE38F007F838E001E01E227CA01F>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmr9 9 69
/Fb 69 124 df<EC1FE0ECFFFC903803F01E90390FC00780EB1F8090393F000FC0017E13
1F5BA2485AED0F8092C7FCA9ED0FC0B7FCA33901F8001F150FB3A6486CEB1FE0267FFFC1
B5FCA328357FB42B>12 D<14C01301EB0380EB0F00130E5B133C5B5BA2485A485AA21207
5B120F90C7FC5AA2121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA27E7F12
077F1203A26C7E6C7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40
D<12C07E1270123C121C7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E13
1FA37F1480A5EB07C0B0EB0F80A514005BA3131E133EA2133C137C137813F85BA2485A48
5AA2485A48C7FC120E5A123C12705A5A124A7CB71E>I<123C127EB4FCA21380A2127F12
3D1201A412031300A25A1206120E120C121C5A5A126009177A8715>44
D<B512F0A514057F921A>I<123C127E12FFA4127E123C08087A8715>I<1530157815F8A2
15F01401A215E01403A215C01407A21580140FA215005CA2143EA2143C147CA2147814F8
A25C1301A25C1303A25C1307A2495AA291C7FC5BA2131E133EA2133C137CA2137813F8A2
5B1201A25B1203A2485AA25B120FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A
12601D4B7CB726>I<EB0FE0EB7FFCEBF83E3903E00F803907C007C0EB8003000F14E039
1F0001F0A24814F8A2003E1300007E14FCA500FE14FEB2007E14FCA56CEB01F8A36C14F0
A2390F8003E03907C007C0A23903E00F803900F83E00EB7FFCEB0FE01F347DB126>I<13
075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E007FB51280A319327AB126>I<EB
3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC048EB1FE048130F15F000601307
12FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15E0EC1FC0A2EC3F801500147E5C
495A5C495A495A495A49C7FC133E133C4913185B485A48481330485A48C7FC001C147000
1FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC4813FF3907E03F80390F001FC0
001EEB0FE0001CEB07F0123F018013F8140313C01380A2381F0007C7FC15F0A2EC0FE015
C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0EC0FE0EC07F015F8140315FC14
0115FEA3127EB4FCA415FC48130312780070EB07F86C14F0003C130F001FEB1FE0390FE0
3F800003B51200C613FCEB1FE01F347DB126>I<EC01C0A214031407A2140F141FA2143F
147F146F14CF1301EB038F140F1307130E130C131C13381330137013E013C0EA01801203
13001206120E120C5A123812305A12E0B71280A3C7380FC000A94A7E0107B51280A32133
7EB226>I<000C14C0380FC00F90B5128015005C5C14F014C0D80C18C7FC90C8FCA9EB0F
C0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000CEB07E0A2C713F01403A215F8A4
1218127E12FEA315F0140712F8006014E01270EC0FC06C131F003C14806CEB7F00380F80
FE3807FFF8000113E038003F801D347CB126>I<14FE903807FF80011F13E090383F00F0
017C13703901F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248C8FCA35A127EEB
07F0EB1FFC38FE381F9038700F809038E007C039FFC003E0018013F0EC01F8130015FC14
00A24814FEA5127EA4127F6C14FCA26C1301018013F8000F14F0EBC0030007EB07E03903
E00FC03901F81F806CB51200EB3FFCEB0FE01F347DB126>I<1230123C003FB6FCA34814
FEA215FC0070C7123800601430157015E04814C01401EC0380C7EA07001406140E5C1418
14385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25BA55BA9131C20347CB126>I<
EB0FE0EB7FFC90B5FC3903F01F803907C007C0390F0003E0000EEB01F0001E1300001C14
F8003C1478A3123EA2003F14F86D13F0EBC001D81FF013E09038F803C0390FFE07803907
FF0F006C13DE6C13F87EEB3FFE8001F713C0D803E313E0D8078013F0390F007FF8001E13
1F003EEB07FC003C1303481301EC007E12F848143EA2151EA37E153C1278007C14787E6C
14F0390F8003E03907F01FC00001B5120038007FFCEB1FE01F347DB126>I<EB0FE0EB7F
F8EBFFFE3803F83F3907E00F80390FC007C0D81F8013E0EC03F0EA3F0048EB01F8127EA2
00FE14FC1400A415FEA5007E1301A2127F7E1403EA1F80000F13073807C00E3803E01C38
01F03838007FF090381FC0FC90C7FC1401A215F8A215F01403001F14E0383F800715C014
0FEC1F809038003F00001C137E381F01FC380FFFF0000313C0C690C7FC1F347DB126>I<
123C127E12FFA4127E123C1200B0123C127E12FFA4127E123C08207A9F15>I<15E0A34A
7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202707FEC601FA202E07FECC00FA2
D901807F1507A249486C7EA301066D7EA2010E80010FB5FCA249800118C77EA24981163F
A2496E7EA3496E7EA20001821607487ED81FF04A7ED8FFFE49B512E0A333367DB53A>65
D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3FC0161F17E0160F17F0A617E016
1F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC0007FCED00FEEE3F80EE1FC0EE0F
E017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0163FEE7FC00003913803FF00B7
5A16F816C02E337DB236>I<DA03FE130C91393FFF801C91B512E0903A03FE01F83C903A
0FF0003C7CD91FC0EB0EFCD97F80130701FEC7120348481401000315005B4848157C485A
173C485A171C123F5B007F160CA390C9FC481600AB7E6D150CA3123F7F001F161C17186C
7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F80EB0380D91FC0EB0F00D90FF0
131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E377CB437>I<B77E16F016FE3A01
FE0001FF00009138003FC0EE0FE0707E707E707E707E177E177FEF3F80A2EF1FC0A3EF0F
E0A418F0AA18E0A3171F18C0A21880173F18005F17FE5F4C5AEE07F04C5AEE3FC000014A
B45AB748C7FC16F8168034337EB23B>I<B812C0A3D803FCC7127F0001150FEE03E01601
A21600A21760A403061330A41700150EA2151E157E90B512FEA39038FC007E151E150EA2
1506170CA3171892C7FCA41738A21770A217F01601160316070003157FB812E0A32E337D
B234>I<B81280A3D803FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700
A2151CA2153C15FC90B5FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337D
B232>I<DA03FE130C91393FFF801C91B512E0903A03FE01F83C903A0FF0003C7CD91FC0
EB0EFCD97F80130701FEC7120348481401000315005B4848157C485A173C485A171C123F
5B007F160CA390C9FC4893C7FCAA0303B512E07E7F92390003FE00705A123F7F121FA26C
7E7F12076C7E7F6C6C14036C7E6D6C1307D91FC0EB0E7CD90FF0EB1C3CD903FEEBF81C01
00B5EAF00C023F01C0C7FCDA03FEC8FC33377CB43C>I<B5D8FE03B512F8A3000190C738
07FC006C486E5AB390B7FCA349C71203B3A3486C4A7EB5D8FE03B512F8A335337EB23A>
I<B512FEA3000113006C5AB3B3A7487EB512FEA317337EB21C>I<017FB5FCA39038003F
E0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C485A380F03F03803FFC0
C690C7FC20357DB227>I<B500FE903807FFF8A3000190C7000113006C48EC00FC17F04C
5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC150E5D5D15F84A7E14034A7EEC0EFF5C4A
6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B6F7E6F7EA26F7E707EA2707E707E160F83
707E707EA283486C913807FF80B500FE013F13FCA336337EB23C>I<B512FEA3D803FEC9
FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407B7FCA329337DB230>I<
D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80140CA2D98FC01418A3D9
87E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027EEB0300A36E1306A26E6C
5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037FC7FCA3486C133ED80FF0
4B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF87F80C6030013006E143C
D9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E7E6E7EA26E7E6E7E6E7E
A26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FCED01FEED00FFA2EE7F98
EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578B500C01438A217183533
7EB23A>I<EC07FC91387FFFC0903901FC07F0903907E000FCD90F80133E013FC76C7E01
7E6E7E496E7E48486E7E48486E7EA248486E7E000F8249157E001F167FA24848ED3F80A2
007F17C0A290C9121FA24817E0AB6C17C06D153FA3003F17806D157FA2001F17006D5D00
0F5E6C6C4A5AA26C6C4A5A00015E6C6C4A5A017E4A5A6D4A5AD91FC0017FC7FCD907E013
FC903901FC07F09039007FFFC0DA07FCC8FC33377CB43C>I<B612FEEDFFC016F03A03FC
0007FC0001EC00FE167FEE3F80EE1FC017E0160FA217F0A617E0A2EE1FC0A2EE3F80EE7F
0016FEED07F890B65A168001FCC9FCB3A2487EB512F8A32C337DB234>I<B612FCEDFF80
16F03A01FE0007FC0000EC01FEED007F707E707E83160F83A65FA24C5AA24C5A047EC7FC
4B5AED0FF090B612C093C8FC9039FE001FC0ED07F06F7E6F7E150082167E167FA583A518
0C17C0A2043F131C486C1618B500FEEB1FE0040F1338933807F070C93801FFE09338003F
8036357EB239>82 D<90381FE00390387FFC0748B5FC3907F01FCF390F8003FF48C7FC00
3E80814880A200788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C
14C06C14F0C680013F7F01037F9038003FFF140302001380157F153FED1FC0150F12C0A2
1507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F
138026C003FEC7FC22377CB42B>I<007FB712FEA390398007F001D87C00EC003E007816
1E0070160EA20060160600E01607A3481603A6C71500B3AB4A7E011FB512FCA330337DB2
37>I<B500FE90381FFFF8A3000190C813006C48153C1718B3AF1738017F1530A217706D
6C1460011F15E06E495A010F14036D6C495A6D6C49C7FCD901FC131E6DB413FC91383FFF
F0020F13C0020190C8FC35357EB23A>I<B500F0903803FFF8A3D807FEC8EA7FC06C48ED
1F000001161E6D151C00001618A26D15386D1530A26D6C5CA26E14E0011F5DA26D6C495A
A28001074AC7FCA26D6C1306A28001015CA26E131C01001418806E5BA2ED8070023F1360
A26E6C5AA215E1020F5BA2DA07F3C8FCA215FBEC03FEA36E5AA26E5AA31570A235357EB2
3A>I<B5D8F007B539800FFFF0A3000390C7273FF000011300D801FC6E48EB007C1A386D
140F00001930836D020715706D1860A26E496C14E0013F60A26ED919FC1301011F60A26E
D930FE1303010F95C7FCA26ED9607F5B01071706A26E9039C03F800E0103170CA2913BFC
01801FC01C01011718A2913BFE03000FE03801001730A2DAFF06EB07F0027F5EA2038CEB
03F8023F5EA203D8EB01FC021FEDFD80A203F0EB00FF020F93C8FCA24B800207157EA24B
143E0203153CA24B141C020115184C357FB24F>I<B500F8ECFFFEA300030180EC3FE06C
90C8EA1F806CEE0E006D6C5C6D6C141817386D6C14305F6D6C14E06D6C5C16016D6C5C6D
6C49C7FC5E6D6C13065E91387F801C91383FC018163891381FE0306E6C5A16E06E6C5AED
F980EC03FF6E90C8FC5D1400B14A7E91B512FCA337337FB23A>89
D<EAFFF0A4EAF000B3B3B3ADEAFFF0A40C4B79B715>91 D<EAFFF0A41200B3B3B3AD12FF
A40C4B7FB715>93 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7E
EA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA3
140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA126
>97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB1F
8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB3F
0001CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC07
C03901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FE
AA127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383F
FE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003
BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B
6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7F
FCEBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA2
12FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901
F003C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E0F
C0EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFFE0
A31A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F
83809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C
380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F00
01003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007
E0C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF09038
F1E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA326347E
B32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA
0FF0B5FCA310337EB215>I<EA03F012FFA312071203AF913803FFE0A36E1300EC00F8EC
01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FEEBFC7EEBF87F496C7E141F6E7E
8114076E7E8114016E7E81486CEBFF80B500C313F0A324347EB329>107
D<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE013FF00FF
90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049
6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0
1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F
80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903C001E000
078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147E
A26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA1
26>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049
130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC
9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0
0390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2
5A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0
90C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7
1FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06
000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFF
C014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E
6C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A2120312
07381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0
182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D481380
0000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB
3F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5B
A290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F
29>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C
1318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA216C0903A
1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D48
1378A36D48133034217F9F37>I<B53801FFF8A32603FE0013806C48EB7C000000147801
7E1370017F5B90383F81C090381F8380D90FC3C7FCEB07E614FE6D5A6D5A6D7E80805B90
38039F809038071FC09038060FE0EB0C0790381C03F0496C7E01707FEBF000000180000F
ECFF8026FFFC0313FCA326207F9F29>I<3A7FFF807FF8A33A07F8001FC00003EC0F8000
01EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA290
3807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A12
78D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I<003FB512F0A2
EB000F003C14E00038EB1FC00030EB3F800070137F1500006013FE495A13035CC6485A49
5AA2495A495A49C7FC153013FE485A12035B48481370485A001F14604913E0485A387F00
0348130F90B5FCA21C207E9F22>I<B712F8A22502809426>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10 15
/Fc 15 120 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>46
D<1507ED0F80151FA2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D14
3F92C7FC5C147E14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13
FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417B
B92C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0
EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58 D<EA7FF0487EA3127F1201AAEC1FE0EC
FFF801FB13FE90B6FC16809138F07FC09138801FE091380007F049EB03F85BED01FC4913
00A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091
B51280160001FB5B01F813F83900F03FC027337FB22C>98 D<EC0FFE4A7EA380EC003FAA
EB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC007E80
A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CECBFFE6C
143FEB3FFC90390FF01FFC27337DB22C>100 D<EB03FE90381FFFC0017F13F048B57E48
803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075AB7
FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001FF
13FF000190B512806C1500013F13FC010F13F00101138023247CA32C>I<ED03F8903907
F80FFC90391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC
1CD9C0001300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D48
1480D99FFEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A
3FC0001FF848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FCD87F80
1303D83FE0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713C02838
7EA42C>103 D<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC91
38F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029
337FB22C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC0
1F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>
110 D<EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48486C7E018013
3F003F158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D
133F6C6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23
247CA32C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC0913880
1FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D1303
6DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD
387FFFE0B57EA36C5B27367FA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C
5B39003F7FE1ECFF019138FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67E
A36C5C26247EA32C>114 D<90387FF8700003B512F8120F5A5A387FC00F387E00034813
015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FC
EB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15
F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8
003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F890
38003FE0232E7EAD2C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C
6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB
13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C>119
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmti8 8 3
/Fd 3 111 df<EB01F8EB0FFE90383E0780EBFC03D801F013C03803E0070007130FEA0F
C001801380121F48C8FCA25A127EA312FE5AA5EC0180007CEB03C0EC0780EC0F006C131E
001E137C380F83F03807FFC0C648C7FC1A1F799D21>99 D<EB03F8EB0FFEEB3E0FEBF807
3901F00380EA03E0EA07C0000F1307D81F8013005C383F001E5C387F03F8EBFFE049C7FC
007EC8FC12FE5AA4127CEC0180EC03C0EC07806CEB0F00141E6C137C380F83F03803FFC0
C648C7FC1A1F799D21>101 D<3907801FC0391FE07FF0393DF1E0F83938F3C0783978FF
007CEA70FEA2EAF1FCEAE1F8A25B00C314FC00035C5BA2000713015D13C01403000FECE0
C015E1EB800715C1001F14C3020F13800100138391380787005A158E003EEB03FC001CEB
00F0221F7A9D28>110 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmbx10 10 1
/Fe 1 124 df<B812FEA32F03809730>123 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmsy10 10 1
/Ff 1 16 df<EB1FF0EBFFFE487F000714C04814E04814F04814F8A24814FCA3B612FEA9
6C14FCA36C14F8A26C14F06C14E06C14C0000114006C5BEB1FF01F1F7BA42A>15
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmr8 8 32
/Fg 32 122 df<ECFFC0010713FC90381F807C90383E00FC5B5B485A0003147C5BAAB612
FCA23903E0007CB3A6486C13FE3A7FFF0FFFE0A2232F7FAE27>13
D<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600011306A30003130EEB00
0CA248131C00061318000E13384813704813E0387001C00060138017157EAD23>34
D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A5A126009157A
8714>44 D<123C127E12FFA4127E123C08087A8714>46 D<4A7E4A7EA34A7EA24A7EA3EC
1BF81419A2EC30FCA2EC70FEEC607EA24A7EA349486C7EA2010380EC000FA201066D7EA3
496D7EA2011FB57EA29038180001496D7EA349147EA201E0147F4980A20001ED1F801203
000716C0D80FF0EC3FE0D8FFFC0103B5FCA2302F7EAE35>65 D<B512F0A23803FC006C5A
B3B3A3487EB512F0A2142D7EAC19>73 D<B612FCEDFF803A03F8000FE00001EC03F0ED00
F882167E167F821780A617005E167E5E5EED03F0ED0FE090B6128003FCC7FC01F8C9FCB2
487EB512F0A2292D7EAC30>80 D<90383F80303901FFF0703807C07C390F000EF0001E13
074813034813011400127000F01470A315307EA26C1400127E127FEA3FE013FE381FFFE0
6C13FC6C13FF00011480D8003F13E013039038003FF0EC07F81401140015FC157C12C015
3CA37EA215787E6C14706C14F06CEB01E039F78003C039E3F00F0038E07FFE38C00FF01E
2F7CAD27>83 D<007FB712F8A29039000FC003007C150000701638A200601618A200E016
1CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>I<0003130C48131C000E13
384813704813E0003013C0EA700100601380A2EAE00300C01300A300DE137800FF13FCEB
83FEA2EA7F81A2383F00FC001E1378171577AD23>92 D<13FF000713C0380F01F0381C00
F8003F137C80A2143F001E7FC7FCA4EB07FF137F3801FE1FEA07F0EA1FC0EA3F80EA7F00
127E00FE14065AA3143F7E007E137F007FEBEF8C391F83C7FC390FFF03F83901FC01E01F
207D9E23>97 D<EA07C012FFA2120F1207AC14FE9038C7FF809038CF03E09038DC01F090
38F8007C49137E49133E497F1680A2150F16C0A9ED1F80A216005D6D133E6D5B01B05B90
38BC01F090380E07E0390607FF80260001FCC7FC222F7EAD27>I<EB1FE0EB7FFC3801F0
1E3803E0073907C01F80EA0F80EA1F005A003EEB0F00007E90C7FCA2127C12FCA9127EA2
15C07E6C130101801380380FC0033907E007003801F03E38007FF8EB1FC01A207E9E1F>
I<15F8141FA214011400ACEB0FE0EB7FF83801F81E3803E0073807C003380F8001EA1F00
481300123E127EA25AA9127C127EA2003E13017EEB8003000F13073903E00EFC3A01F03C
FFC038007FF090391FC0F800222F7EAD27>I<EB1F80EBFFF03803E0783807C03E380F80
1E381F001FEC0F80123E007E130715C0127C12FCA3B6FCA200FCC8FCA5127EA2003E14C0
123F6C1301390F80038001C013003803E00F3801F03C38007FF8EB1FC01A207E9E1F>I<
EB03F0EB0FFCEB3E1EEB7C3F13F8EA01F0A23803E00C1400AAB512E0A23803E000B3A648
7E387FFF80A2182F7FAE16>I<013F13F89038FFC3FE3903E1FF1E3807807C000F140C39
1F003E00A2003E7FA76C133EA26C6C5A00071378380FE1F0380CFFC0D81C3FC7FC90C8FC
A3121E121F380FFFF814FF6C14C04814F0391E0007F848130048147C12F848143CA46C14
7C007C14F86CEB01F06CEB03E03907E01F803901FFFE0038003FF01F2D7E9D23>I<EA07
C012FFA2120F1207AC14FE9038C3FF809038C703E09038DE01F013F8496C7EA25BA25BB2
486C487E3AFFFE1FFFC0A2222E7EAD27>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FC
A8EA07C012FFA2120F1207B3A5EA0FE0EAFFFCA20E2E7EAD14>I<EA07C012FFA2120F12
07ADEC1FFEA2EC0FF0EC07C05D020EC7FC5C5C5C5CEBC3C013C7EBCFE0EBDFF013F9EBF0
F8497EEBC07E143E80816E7E14076E7E816E7E486C487E3AFFFE07FF80A2212E7EAD25>
107 D<EA07C012FFA2120F1207B3B3A3EA0FE0EAFFFEA20F2E7EAD14>I<2607C07FEB07
F03BFFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07DC00F9C00F01F8D9FF8013
C04990387F000749137EA249137CB2486C01FEEB0FE03CFFFE0FFFE0FFFEA2371E7E9D3C
>I<3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F8496C7EA25BA25BB2486C487E
3AFFFE1FFFC0A2221E7E9D27>I<EB1FE0EB7FF83801F03E3803C00F3907800780390F00
03C04814E0003EEB01F0A248EB00F8A300FC14FCA9007C14F8A26CEB01F0A26CEB03E0A2
390F8007C03907C00F803901F03E0038007FF8EB1FE01E207E9E23>I<3807C0FE39FFC7
FF809038CF03E0390FDC01F03907F800FC49137E49133E49133FED1F80A3ED0FC0A8151F
1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038C7FF80D9C1FCC7FC01C0
C8FCA9487EEAFFFEA2222B7E9D27>I<380781F838FF87FEEB8E3FEA0F9CEA07B813B0EB
F01EEBE000A45BB0487EB5FCA2181E7E9D1C>114 D<3801FE183807FFB8381E01F8EA3C
00481378481338A21418A27E7EB41300EA7FF06CB4FC6C13C06C13F0000113F838001FFC
130138C0007E143EA26C131EA27EA26C133CA26C137838FF01F038E3FFC000C013001720
7E9E1C>I<1360A413E0A312011203A21207121FB512F0A23803E000AF1418A714383801
F03014703800F860EB3FE0EB0F80152A7FA81B>I<D807C013F800FF131FA2000F130100
071300B21401A314033803E007EC0EFC3A01F81CFFC038007FF890391FE0F800221F7E9D
27>I<3AFFFC01FFC0A23A0FE0007E000007147C15380003143015706C6C1360A26C6C5B
A390387C0180A26D48C7FCA2EB3F07EB1F06A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA2
6D5A221E7F9C25>I<3BFFFC3FFE07FFA23B0FE003F001F801C09038E000F00007010114
E0812603E00314C0A2913807F8012701F006781380A29039F80E7C030000D90C3C1300A2
90397C181E06A2151F6D486C5AA2168C90391F600798A216D890390FC003F0A36D486C5A
A36DC75A301E7F9C33>I<3AFFFC01FFC0A23A0FE0007E000007147C1538000314306D13
7000011460A26C6C5BA2EBFC01017C5BEB7E03013E90C7FCA2EB1F06A2148EEB0F8CA2EB
07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC1278EAFC06A25B131CEA7838EA7070
EA3FE0EA0F80222B7F9C25>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmr6 6 2
/Fh 2 51 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49
D<EA01FC3807FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013
FCC7FC14F8A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600
185A5A383FFFF85AB512F0A216217CA01E>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmr7 7 2
/Fi 2 51 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49
D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15
005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003
0012065A001FB5FC5A485BB5FCA219267DA521>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmti10 10 26
/Fj 26 119 df<EE3FFC4BB51280923907E007C092391F8001E0DB3F0013F0037E13034B
1307A24A5A18E04A48EB038094C7FCA314075DA4140F5DA3010FB7FCA25F903A001F8000
7EA217FE023F5C92C7FCA216015F5C147E16035FA214FE4A13075FA30101140F5F4AECC1
C0A2161F1783010316805CA2EF870013074A5CEE0F8EEE079EEE03FC010FEC00F04A91C7
FCA35C131FA2001C90CAFC127E5BEAFE3E133C137CEAF878EA78F0EA3FE0EA0F80344C82
BA2F>12 D<150C151C153815F0EC01E0EC03C0EC0780EC0F00141E5C147C5C5C495A1303
495A5C130F49C7FCA2133EA25BA25BA2485AA212035B12075BA2120F5BA2121FA290C8FC
A25AA2123EA2127EA2127CA412FC5AAD1278A57EA3121C121EA2120E7EA26C7E6C7EA212
001E5274BD22>40 D<140C140E80EC0380A2EC01C015E0A2140015F0A21578A4157C153C
AB157CA715FCA215F8A21401A215F0A21403A215E0A21407A215C0140F1580A2141F1500
A2143EA25CA25CA2495AA2495A5C1307495A91C7FC5B133E133C5B5B485A12035B48C8FC
120E5A12785A12C01E527FBD22>I<EA03C0EA07F0120F121F13F8A313F0EA07B0EA0030
13701360A213E013C01201EA038013005A120E5A5A5A5A5A0D197A8819>44
D<120EEA3F80127F12FFA31300127E123C0909778819>46 D<EC03F8EC1FFEEC7C1F9138
F80780D901E013C0903903C003E0EB0780010F1301D91F0013F0A2133E137E017C130313
FCA2485AA2000314075BA2120716E049130F120FA34848EB1FC0A44848EB3F80A448C7EA
7F00A3157E007E14FEA25D00FE13015DA248495AA25D007C13075D4A5AA24AC7FC6C133E
5C6C5B380F83E03807FF80C648C8FC243A77B72A>48 D<16E0ED01F01503A3150716E0A3
150F16C0A2151F1680A2ED3F00A3157EA2157C15FC5D14015D14035D14075D140F5D141F
92C7FC143EA25CECF81C153E903801F07EEB03E014C090380780FE130F49485A133EEB7C
01137801F05BEA01E03803C003EA0FFE391FFFC3F04813FB267C01FF13403AF0003FFFE0
00601307C71400EC0FE05DA3141F5DA3143F92C7FCA4143E141C24487DB72A>52
D<14F8EB07FE90381F871C90383E03FE137CEBF801120148486C5A485A120FEBC001001F
5CA2EA3F801403007F5C1300A21407485C5AA2140F5D48ECC1C0A2141F15831680143F15
87007C017F1300ECFF076C485B9038038F8E391F0F079E3907FE03FC3901F000F0222677
A42A>97 D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE
9038EF0F80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A
127EA2140F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03
E0383E07C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E0
90381F0070017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC48
5AA2127F90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F80
6CEB3E00380F81F83803FFE0C690C7FC1D2677A426>I<ED01F815FFA3150316F0A21507
A216E0A2150FA216C0A2151FA21680A2153FA202F81300EB07FE90381F877F90383E03FF
017C5BEBF80112013803F00048485B120FEBC001121F5DEA3F801403127F01005BA21407
5A485CA2140FA248ECC1C0A2141F15C3ED8380143F1587007C017F1300ECFF076C485B90
38038F8E391F0F079E3907FE03FC3901F000F0253B77B92A>I<147F903803FFC090380F
C1E090383F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F
80397F81FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01
E0EC03C06CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>I<ED07C0ED1F
F0ED3E38ED7C3CEDF8FC15F9140115F1020313F8EDF0F0160014075DA4140F5DA4141F5D
010FB512C05B16809039003F800092C7FCA45C147EA414FE5CA413015CA413035CA41307
5CA4130F5CA3131F5CA391C8FC5B121CEA7E3EA2EAFE3C137C1378EAF8F01278EA3FC0EA
0F80264C82BA19>I<EC07C0EC3FF09138FC38E0903901F01FF0EB03E0903807C00FEB0F
80011F1307D93F0013E05B017E130F13FE4914C01201151F1203491480A2153F12074914
00A25DA249137EA215FEA25D00031301140314076C6C485A0000131FEB787BEB3FF39038
0FC3F0EB00031407A25DA2140F5D121C007E131F5D00FE49C7FC147E5C387801F8387C07
E0381FFF80D803FEC8FC24367CA426>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5C
A3133F91C8FCA35B90387E07F0EC1FFCEC783E9038FFE01F02C01380EC800F1400485A16
C05B49EB1F8012035BA2153F000715005BA25D000F147E5B15FE5D121FD98001131C15F8
163C003F01031338010013F0A216704814E0007E15F016E0EDE1C000FE903801E3804890
3800FF000038143C263B7BB92A>I<EB01C0EB07E014F0130F14E01307EB038090C7FCAB
13F0EA03FCEA071EEA0E1F121CA212385B1270A25BEAF07E12E013FEC65AA212015B1203
A25B12075BA2000F13E013C013C1001F13C01381A2EB83801303EB0700A2130E6C5AEA07
F8EA01E0143879B619>I<EB03F0EA01FFA3EA00075CA3130F5CA3131F5CA3133F91C8FC
A35B017EEB0F80ED3FE015F09039FE01C1F09038FC0387EC0707140E0001011C13E0EBF8
3891383003800270C7FC00035BEBF1C0EBF38001FFC8FCEA07FC7FEBFFC0EBE7F8380FE1
FCEBC07E147F80001F809039801F81C0A21583003F013F138001001303A2150748150000
7E133EEC1E0E151E00FE6D5A48EB07F80038EB01E0243B7BB926>107
D<D801E001FEEB07F03C07F803FF801FFC3C0E3C0F07C0783E3C1E3E3C03E1E01F261C1F
78D9F3C013803C383FF001F7800F02E01400007801C013FE007018C002805B4A4848EB1F
80EAF07FD8E07E5CA200000207143F01FE1700495CA2030F5C0001177E495C18FE031F5C
120349DA8001131C18F8033F153C00070403133849020013F0A24B1570000F17E049017E
15F019E003FEECE1C0001FEE01E34949903800FF000007C70038143C3E2679A444>109
D<D801E013FE3A07F803FF803A0E3C0F07C03A1E3E3C03E0261C1F787F39383FF00114E0
007813C000708114804A485AEAF07FEAE07EA20000140701FE5C5BA2150F00015D5B151F
5E12034990383F8380160316070007027F130049137EA2160E000F147C49141E161C5E00
1FEC3C7849EB1FE00007C7EA0780292679A42F>I<147F903803FFC090380FC1F090381F
00F8017E137C5B4848137E4848133E0007143F5B120F485AA2485A157F127F90C7FCA215
FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0140F007C14C0007EEB1F80003EEB3F00
147E6C13F8380F83F03803FFC0C648C7FC202677A42A>I<9039078007C090391FE03FF0
90393CF0787C903938F8E03E9038787FC00170497EECFF00D9F0FE148013E05CEA01E113
C15CA2D80003143FA25CA20107147FA24A1400A2010F5C5E5C4B5A131F5EEC80035E013F
495A6E485A5E6E48C7FC017F133EEC70FC90387E3FF0EC0F8001FEC9FCA25BA21201A25B
A21203A25B1207B512C0A3293580A42A>I<3903C003F0390FF01FFC391E783C0F381C7C
703A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0FE5BA212
0012015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A423>114
D<14FE903807FF8090380F83C090383E00E04913F00178137001F813F00001130313F0A2
15E00003EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C01300143F141F14
0F123E127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD801FEC7FC
1C267AA422>I<EB0380EB07C0130FA4131F1480A3133F1400A35B137E007FB5FCA2B6FC
3800FC00A312015BA312035BA312075BA3120F5BA3121FEB801CA2143C003F1338EB0078
147014F014E0EB01C0EA3E03381F0780380F0F00EA07FCEA01F0183579B31C>I<13F8D8
03FEEB01C0D8078FEB03E0390E0F8007121E121C0038140F131F007815C01270013F131F
00F0130000E015805BD8007E133FA201FE14005B5D120149137EA215FE120349EBFC0EA2
0201131E161C15F813E0163CD9F003133814070001ECF07091381EF8F03A00F83C78E090
393FF03FC090390FC00F00272679A42D>I<01F0130ED803FC133FD8071EEB7F80EA0E1F
121C123C0038143F49131F0070140FA25BD8F07E140000E08013FEC6485B150E12015B15
1E0003141C5BA2153C000714385B5DA35DA24A5A140300035C6D48C7FC0001130E3800F8
3CEB7FF8EB0FC0212679A426>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmr10 10 77
/Fk 77 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
8007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
01F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
D<EC0FF8EC7FFE903901F80780903907E001C090391F8000E090383F0007017E497EA25B
A2485A6F5AED018092C8FCA9ED03F0B7FCA33901F8000F1503B3AA486C497E267FFFE0B5
12C0A32A3B7FBA2E>I<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F
00137EA25B150748481303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B
7FBA2E>I<DA0FF0EB1FF0DA7FFEEBFFFC903B01F80F83F00F903C07E001CFC00380903C
1F8000FF0001C090273F0007FE130F017E4948497EA2495CA248485C03076E5A03030203
C7FC95C8FCA9F007E0BAFCA33C01F80003F0001F1807B3AA486C496C497E267FFFE0B500
C1B51280A3413B7FBA45>I<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C
131C00001300A40001130101801380A20003130301001300485B00061306000E130E485B
485B485B006013601A197DB92A>34 D<121C127FEAFF80A213C0A3127F121C1200A41201
1380A2120313005A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380EB
0700130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65AB2
127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380EB
01C0EB00E01460135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378
A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A2
5B131EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD
20>I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E5A
5A5A12600A19798817>44 D<B512FCA516057F941C>I<121C127FEAFF80A5EA7F00121C
0909798817>I<150C151E153EA2153C157CA2157815F8A215F01401A215E01403A215C0
1407A21580140FA215005CA2141E143EA2143C147CA2147814F8A25C1301A25C1303A249
5AA25C130FA291C7FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A25B12
07A25B120FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A12601F537BBD2A>I<
EB03F8EB1FFF90387E0FC09038F803E03901E000F0484813780007147C48487FA248C77E
A2481580A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F
143EA26C6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>
I<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>
I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E
126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A
92C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A00
0EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF039
03C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A
5A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A215
3F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E39
0F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8
A2140114031407A2140F141F141B14331473146314C313011483EB030313071306130C13
1C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C7
3803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5
FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E09038
8003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12E00060
5C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB
1FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790387E001F
49EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2485AA3127F90C9FCEB
01FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497FA249148016C015
1FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B15FE6C6C5B6C6C485A
3900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<12301238123E003FB612E0A3
16C05A168016000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C
140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8
FC131E233B7BB82A>I<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848
137C90C77E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C
6C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE
3907801FFF48486C1380481303003E6D13C0003CEB007F007C143F0078EC0FE000F81407
5A1503A21501A36C15C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F8
03F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E0
3903F803F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616
E0A56C143FA27F123F001F147FA26C6C13FF3907E001DF0003149F3801F0033900FC0F1F
D93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A
6C48485A001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<121C12
7FEAFF80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>I<121C12
7FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A412031300A25A1206
A2120E5A121812385A1260093479A317>I<1538A3157CA315FEA34A7EA34A6C7EA20207
7FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C07F
1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA349
6E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E>
65 D<B712E016FC16FF0001903980007FC06C90C7EA1FE0707E707E707EA2707EA283A7
5F16035F4C5A4C5A4C5A4C5AEEFF8091B500FCC7FCA291C7EA7F80EE1FE0EE07F0707E70
7E83707EA21880177F18C0A7188017FFA24C13005F16034C5AEE1FF8486DEB7FF0B812C0
94C7FC16F832397DB83B>I<913A01FF800180020FEBE003027F13F8903A01FF807E0790
3A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F1201484815
1F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180
A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD9
1FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380
313D7BBA3C>I<B712C016F816FE000190398001FF806C90C7EA3FE0EE0FF0EE03F8707E
707E177FA2EF3F8018C0171F18E0170F18F0A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2
171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE0FF0EE3FE0486DEBFF80B8C7FC16F816C036
397DB83F>I<B812FCA30001903880000F6C90C71201EE007E173E171E170EA31706A317
078316C0A394C7FCA31501A21503150F91B5FCA3EC000F15031501A21500A21860A318E0
93C712C0A41701A3EF0380A21707A2170F173F177F486D903807FF00B9FCA333397DB839
>I<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4170E1706A2
ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8FCAD4813C0
B612C0A32F397DB836>I<DBFF8013C0020FEBF001023F13FC9139FF803F03903A03FC00
0787D90FF0EB03CF4948EB00EF4948147F4948143F49C8121F485A4848150F48481507A2
48481503A2485A1701123F5B007F1600A448481600AB93B6FCA26C7E9338007FE0EF3FC0
A2123F7F121FA26C7EA26C7EA26C7E6C7E6C6C157F6D7E6D6C14FF6D6C14EFD90FF8EB03
C7D903FEEB0783903A00FFC03F0191393FFFFC00020F01F0130002001380383D7CBA41>
I<B648B512FEA30001902680000313006C90C76C5AB3A491B6FCA391C71201B3A6486D49
7EB648B512FEA337397DB83E>I<B612C0A3C6EBC0006D5AB3B3AD497EB612C0A31A397E
B81E>I<013FB512E0A39039001FFC00EC07F8B3B3A3123FEA7F80EAFFC0A44A5A1380D8
7F005B0070131F6C5C6C495A6C49C7FC380781FC3801FFF038007F80233B7DB82B>I<B6
49B5FCA3000101809038007FF06C90C8EA3F80053EC7FC173C17385F5F4C5A4C5A4CC8FC
160E5E5E5E5E4B5AED0780030EC9FC5D153E157E15FF5C4A7F4A6C7E140E4A6C7E4A6C7E
14704A6C7E4A6C7E14804A6C7E6F7EA26F7F707EA2707E707EA2707EA2707E707EA2707E
707F8484486D497FB6011FEBFF80A339397DB841>I<B612E0A3000101C0C8FC6C90C9FC
B3AD1718A517381730A31770A317F0A216011603160FEE1FE0486D13FFB8FCA32D397DB8
34>I<B5933807FFF86E5DA20001F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563
A3D9C3F815C3A2D9C1FCEC0183A3D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A2
6E6C1330A36E6C1360A26E6C13C0A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8C
A2ED1FD8A3ED0FF0A3486C6D5A487ED80FFC6D48497EB500C00203B512F8A2ED01804539
7DB84C>I<B5913807FFFE8080C69238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7
FCA2EBC3FEEBC1FFA201C07F6E7EA26E7E6E7E81140F6E7E8114036E7E168080ED7FC016
E0153FED1FF0ED0FF8A2ED07FCED03FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0F
FEA216071603A216011600A2177E486C153E487ED80FFC151EB500C0140EA2170637397D
B83E>I<EC03FF021F13E09138FE01FC903901F8007ED907E0EB1F8049486D7ED93F80EB
07F049C76C7E01FE6E7E48486E7E49157E0003167F4848ED3F80A24848ED1FC0A2001F17
E049150F003F17F0A3007F17F8491507A300FF17FCAC007F17F86D150FA3003F17F0A26C
6CED1FE0A36C6CED3FC0000717806D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C
495A6D6C495AD907E0EB1F80D903F8017FC7FC903900FE01FC91381FFFE0020390C8FC36
3D7BBA41>I<B712C016F816FE000190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F8
17FC17FE1601A217FFA717FEA2EE03FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512
FC16F091C9FCB3A5487FB6FCA330397DB839>I<B612FEEDFFE016F8000190388007FE6C
90C76C7EEE3FC0707E707E707EA2707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED
07FC91B512E05E9138000FF0ED03F8ED00FE82707E707EA2161F83A583A6F00180A217F8
160F1803486D01071400B66D6C5A04011306933800FE0ECAEA3FFCEF07F0393B7DB83D>
82 D<D90FF813C090383FFE0190B512813903F807E33907E000F74848137F4848133F48
C7121F003E140F007E1407A2007C140312FC1501A36C1400A37E6D14006C7E7F13F86CB4
7E6C13F8ECFF806C14E06C14F86C14FEC680013F1480010714C0EB007F020713E0EC007F
ED3FF0151F150FED07F8A200C01403A21501A37EA216F07E15036C15E06C14076C15C06C
140F6DEB1F80D8FBF0EB3F00D8F0FE13FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA
2E>I<003FB812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A300
601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I<B6
903807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C80171C
133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E91
381FFFF8020713E09138007F80373B7DB83E>I<B500FC91387FFF80A30003018091380F
FC006C90C8EA07E0715A6C705A6E1403017F93C7FCA280013F1506A26E140E011F150C80
010F5DA28001075DA26E147001031560A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291
383FC006A215E0021F5BA2EDF01C020F1318A26E6C5AA215FC02035BA2EDFEE002015BA2
6E6C5AA36FC9FCA3153EA2151CA3393B7EB83E>I<B5D8FC07B5D8F001B5FCA300079027
80001FFEC7EA1FF86C48C7D80FF8EC07E000010307ED03C01B807F6C6F6C1500A26E5F01
7F6E6C1406A280013F4A6C5CA280011F4A6D5BEE067FA26D6C010E6D5BEE0C3FA26D6C01
1C6D5BEE181FA26D6C6F5BEE300FA26D6C6F485AEE6007A26D6C4CC7FC9338C003FCA203
805D913B7F818001FE06A203C1150EDA3FC3C7EAFF0CA203E3151CDA1FE6EC7F98A215F6
DA0FFCEC3FF0A302075E4B141FA202035E4B140FA202015E4B1407A2020093C8FC4B8050
3B7EB855>I<007FB590383FFFFCA3C601F801071380D97FE0D903FCC7FC013FEC01F06D
6C5C5F6D6C5C6D6C13034CC8FC6D6C1306160E6D6C5B6DEB8018163891387FC0306E6C5A
16E06E6C5A91380FF18015FB6EB4C9FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF0
9138038FF8150F91380607FC91380E03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E
49486D7E130391C76C7E01066E7E130E010C6E7E011C1401013C8101FE822607FF800107
13E0B500E0013FEBFF80A339397EB83E>I<B500FE91383FFFE0A3000301E0913807FE00
C649EC03F0017F6F5A606D6C5D6D6C140395C7FC6D6C1406A26D6C5C6D6C141C17186D6C
143817306D6D5B6E6C13E05F91383FE0015F91381FF003DA0FF890C8FC1606913807FC0E
160C913803FE1C913801FF185E6E13B016E0157F6F5AB3A24B7E023FB512C0A33B397FB8
3E>I<EAFFF8A4EAF000B3B3B3B3A3EAFFF8A40D5378BD17>91 D<390180018000031303
3907000700000E130E485B0018131800381338003013300070137000601360A200E013E0
485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A
>I<EAFFF8A4EA0078B3B3B3B3A3EAFFF8A40D537FBD17>I<EB1FE0EBFFFC3803E03F3907
000F80390F8007E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE
00EA03F8EA0FF0EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C90398006
3E18383FC01E3A0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97
D<EA03F012FFA3120F1203B0EC1FE0EC7FF89038F1E03E9039F3801F809039F7000FC001
FEEB07E049EB03F049EB01F85BED00FCA216FEA2167E167FAA167E16FEA216FC15016D14
F8ED03F07F01EEEB07E001C6EB0FC09039C7801F00903881E07E903800FFF8C7EA1FC028
3B7EB92E>I<EB03FC90381FFF8090387E03E03901F80070484813F83907E001FC380FC0
03A2EA1F80123F90380001F848EB00F01500A2127E12FEAA127E127FA26C14067F001F14
0E6D130C000F141C6C6C13386C6C13706C6C13E039007C07C090381FFF00EB07F81F277D
A525>I<ED0FC0EC03FFA3EC003F150FB0EB03F8EB1FFF90387E078F9038F801EF3903F0
007F4848133F4848131FA24848130F123F90C7FC5AA2127E12FEAA127E127FA27EA26C6C
131FA26C6C133F6C6C137F6C6CEBEFF03A01F801CFFF39007C078F90381FFE0FD907F813
C0283B7DB92E>I<EB07F8EB1FFF90387C0FC03901F803E03903F001F0D807E013F8380F
C0004848137CA248C7127E153E5A153F127E12FEA3B7FCA248C8FCA5127EA2127FA26C14
037F001F14076C6C13060007140E6D131CD801F013386C6C137090387E03E090381FFF80
903803FC0020277EA525>I<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213
FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<
ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0
10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38
060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048
C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB
0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>I<EA03F012FFA3
120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013FE496D7EA25B
A35BB3A3486C497EB500C1B51280A3293A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380
C8FCAAEA03F012FFA312071203B3AA487EB512C0A312387EB717>I<EB01C0EB07F0EB0F
F8A5EB07F0EB01C090C7FCAAEB01F813FFA313071301B3B3A2123C127E00FF13F01303A2
14E038FE07C0127C383C0F00EA0FFEEA03F8154984B719>I<EA03F012FFA3120F1203B1
913801FFFCA39138007FC01600157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EB
F3FEEBF73F01FE7FEBF81F496C7E8114076E7E6E7E811400157E157F811680ED1FC0486C
EB3FF0B500C0B5FCA3283A7EB92C>I<EA03F012FFA3120F1203B3B3AD487EB512C0A312
3A7EB917>I<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380
3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348
6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90
39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280
A329257EA42E>I<EB03FE90380FFF8090383E03E09038F800F84848137C48487F48487F
4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14
076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C13F890387E03F090
381FFFC0D903FEC7FC25277EA52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F
803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3
ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF
F8EC1FC091C8FCAB487EB512C0A328357EA42E>I<D903F813C090381FFE0190387E0781
9038FC01C33903F000E3000714774848133749133F001F141F485A150F48C7FCA312FEAA
127FA37E6D131F121F6D133F120F6C6C137F6C6C13EF3901F801CF39007E078F90381FFE
0FEB07F890C7FCABED1FE00203B5FCA328357DA42C>I<3807E01F00FFEB7FC09038E1E3
E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512
F0A31C257EA421>I<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807E
A27EB490C7FCEA7FE013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB
0FC01407A26C1303A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A27
7DA521>I<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215
C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E0
00FFEB01FFA3000FEB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7
FF8090383F03C790381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF800
0FF06C48EB07E00003EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2
EC8038011F1330A26D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA214
7CA31438A227257EA32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E0
18C00003023EEB0180A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2
D93F016D5A15830281EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D
5A02EC137CA2D903FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37
257EA33C>I<B538807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D
6C5AECC070010F5B6D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7
E090380383F090380703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC
3FF0D8FFFE90B51280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003
EC03806C7E16007F00001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C
5AA214F101035BA2D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA
7C0100FE5B130391C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB5
12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15
0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B
4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmbx10 10.95 41
/Fl 41 123 df<B612E0A91B097F9823>45 D<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6EA
7FF8EA3FF0EA1FE0EA0FC00E0E798D1D>I<140F143F5C495A130F48B5FCB6FCA313F7EA
FE071200B3B3A8007FB612F0A5243C78BB34>49 D<903803FF80013F13F890B512FE0003
6E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A46C
5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A5A
EC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B48
B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B612
E04801817F3A03FC007FF8D807F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133FD8
01F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E6C
7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E487E487E487EA317C0A25D49158012
7F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC010313
E02B3D7CBB34>I<ED01F815031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBFEC
3F3F143E147C14FCEB01F814F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B485A
1207485A5B48C7FC5A127E5AB812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<16FC
A24B7EA24B7EA34B7FA24B7FA34B7FA24B7FA34B7F157C03FC7FEDF87FA2020180EDF03F
0203804B7E02078115C082020F814B7E021F811500824A81023E7F027E81027C7FA202FC
814A147F49B77EA34982A2D907E0C7001F7F4A80010F835C83011F8391C87E4983133E83
017E83017C81B500FC91B612FCA5463F7CBE4F>65 D<B812F8EFFF8018F018FC8426003F
FCC7EA3FFF050F13807113C07113E08319F0A27113F8A719F05FA24D13E019C04D13804D
1300EF3FFE933801FFF891B712E0188018F818FE02FCC7380FFF80050313C07113E07113
F019F8F07FFCA2F03FFEA219FFA38460A419FE187FA2F0FFFC4D13F85F4D13F0053F13E0
BA12C0190018FC18F095C7FC403E7DBD4A>I<B812F8EFFF8018F018FC18FF26003FFCC7
6C13C005077F05017F716C7E727E727E727E721380A27213C0A27213E0A21AF084A21AF8
A41AFCA5197FA319FFA51AF8A41AF0A2601AE0A24E13C0A24E13804E1300604E5A4E5A4D
485A050713E0057F5BBA5A4EC7FC18F818C005F8C8FC463E7DBD50>68
D<BAFCA4198026003FFEC7123F1707170183183FA2181FF00FC0A31807EE07C0A3F003E0
A3160F95C7FC161F163F16FF91B6FCA54AC6FC163F161F040F147CA2160719F8A593C712
01A219F01803A21807A2180FF01FE0183F18FF1703173FBAFCA219C0A33E3D7DBC45>I<
B912FEA48426003FFEC77E170F1703170084A284F01F80A3180FA2EE07C0A2F007C0A404
0F90C7FCA2161F163F16FF91B6FCA54AC6FC163F161F160FA21607A693C9FCACB712E0A5
3A3D7DBC42>I<B7D8803FB612E0A526003FFEC8000FEB8000B3A491B9FCA54AC8120FB3
A7B7D8803FB612E0A54B3E7DBD52>72 D<B71280A526003FFEC7FCB3B3B0B71280A5213E
7DBD28>I<B712E0A526003FFEC9FCB3AD183EA4187E187CA418FCA21701A2EF03F8A217
07170F171F177FEE01FF160FB9FC18F0A4373E7DBD3F>76 D<B6037FB512E0A2818181D8
003F6D9139001F800081A281816E7E6E7F6E7F80826E7F6E7F6E7F6E7F157F826F7F6F7F
6F7F6F7F81836F7F6F7F707E701380A27013C07013E07013F07013F87013FCA27013FEEF
7FFF71139F7113DF8319FF8383838384A28484848484A284B600C080197F193F191FA24B
3E7DBD52>78 D<ED3FFF0203B512F0021F14FE027F6E7E902701FFF80713E00107D9C000
13F84990C7EA3FFCD93FFCEC0FFF49486E7F49486E7F48496E7F4A80488448496F7EA248
90C96C7E4884A249161F003F84A34848701380A400FF19C0AD007F19806D5EA3003F1900
A26D5E6C60A26C6D4B5AA26C6D4B5A6C6D4A5BA26C6D4A5B6C6D4A5B6D6C4A5B6DB4023F
90C7FC6D01C0EBFFFE0107D9F80713F8010190B612E06D5E021F4AC8FC020314F0DA003F
90C9FC42407ABE4F>I<B812F017FF18C018F018FC26003FFCC77FEF1FFF7113807113C0
7113E0A27113F0A319F8A819F0A34D13E019C05F4D1380053F1300EFFFFE91B712F86018
8005FCC7FC4ACAFCB3A4B77EA53D3E7DBD47>I<903A03FFC001C0011FEBF803017FEBFE
0748B6128F4815DF48010013FFD80FF8130F48481303497F4848EB007F127F49143F161F
12FF160FA27F1607A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCEDFF806C15E016F8
6C816C816C816C16806C6C15C07F010715E0EB007F020714F0EC003F1503030013F8167F
163F127800F8151FA2160FA27EA217F07E161F6C16E06D143F01E015C001F8EC7F8001FE
EB01FF9026FFE00713004890B55A486C14F8D8F81F5CD8F00314C027E0003FFEC7FC2D40
7ABE3A>83 D<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349160190C715
00197E127EA2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7CBC49>
I<B600FC020FB512C0A5C66C48C9381F8000013F95C7FC80616D173E6F157E6D177C6F15
FC6D5F8118016D6D5D18036D5F6F14076D5F6F140F027F5E81181F023F93C8FC6F5C6E15
3E70137E6E157C8218FC6E6D5B17016E5DEEF0036E5DEEF8076E5D16FC170F037F5CEEFE
1F033F91C9FC705A6F133E17BE17FE6F5BA26F5BA26F5BA26F5BA36F5BA2705AA270CAFC
A24A3F7EBD4F>86 D<B6D8FC03B600F090B512FEA5C601FCC7000301F0C8EA7E00017F6F
177C856E6E17FC013F63856D6C037F4B5AA26F4A6C14036D634D7F6F18076D634D806F02
EF150F6D636F01076E131F6D04C793C7FC050F806F02835D6D1A3E051F806F0201157E02
7F197C6F013F6E13FC023FDA3E005D057E806F017C017F13016E6105FC14FE7048013F13
036E6104C1EDFF076E4A6D5C04C31687DCE3E06D138F6E6104E716CFDCF7C06D13DF6E96
C8FC04FF16FF6E4A6D5BA294C77E6F5FA24C80033F5FA26F486F5AA24C153F030F5FA24C
151F03075FA26F486F5A673F7EBD6C>I<903807FFC0013F13F848B6FC48812607FE037F
260FF8007F6DEB3FF0486C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F
3901FFFE0F4813E0000F1380381FFE00485A5B485A12FF5BA4151F7F007F143F6D90387B
FF806C6C01FB13FE391FFF07F36CEBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933
>97 D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF8113F09139FC00
3FF802F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E1880A218005E6E
5C6E495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9E00713FCC700
0113C033407DBE3A>I<EC7FF00107B5FC011F14C0017F14E09039FFF01FF0489038800F
F848EB001F4848EB3FFC120F485AA2485AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB
127F7FA3003F153E7F001F157E6C6C147C6C6C14FC91388001F86C9038C003F0C69038F8
1FE06DB512C0011F14800107EBFE009038007FF0272B7DA92E>I<EE07F8ED07FFA5ED00
3F161FAFEC7FF0903807FFFE011FEBFF9F017F14DF9039FFF01FFF48EBC00348EB000148
48EB007F485A001F153F5B123FA2127F5BA212FFAA127FA37F123FA26C6C147F120F6D14
FF6C6C01037F6C6D48EBFFE06CEBF03F6C6CB512BF6D143F010713FC010001E0EBE00033
407DBE3A>I<ECFFF0010713FE011F6D7E017F809039FFE07FE0489038801FF048496C7E
48486D7E48486D7E121F491301003F81A2485A6F1380A212FFA290B7FCA401F0C9FCA512
7FA27F123FEE0F806C7E161F6C6C15006C6C5C6C6D137E6C9038E001FC6C9038F80FF801
3FB55A6D14C0010391C7FC9038007FF8292B7DA930>I<EC07FE91387FFF8049B512C001
0714E090390FFE3FF0EB1FF090393FE07FF8EB7FC013FF1480A2489038003FF0ED1FE0ED
0FC092C7FCAAB612E0A500010180C7FCB3AC007FEBFF80A525407DBF20>I<903A03FF80
07F0013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848EB3FE100
1FEDF1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03FF83FF80
91B5C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17
806C16C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90C81207A5
6C6CEC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C90B55AC6
15F8013F14E0010101FCC7FC2F3D7DA834>I<13FFB5FCA512077EAFED1FF8EDFFFE0203
6D7E4A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533
3F7CBE3A>I<EA01F8487E487E487E481380A66C13006C5A6C5A6C5AC8FCA913FFB5FCA5
12077EB3ABB512F8A515407CBF1D>I<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>
108 D<01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E487FDA0FE09026F07F
077F91261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A
5CA34A5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>I<01FFEB1FF8B5EBFFFE0203
6D7E4A80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512
E0A533297CA83A>I<EC7FF0903803FFFE011FEBFFC0017F14F09039FFE03FF848903880
0FFC3A03FE0003FE48486D7E000F168048486D13C0A2003F16E049147F007F16F0A400FF
16F8AA007F16F0A46C6CECFFE0A2001F16C06C6C491380A26C6C4913003A03FF800FFE6C
9038E03FFC6C6CB512F0011F14C0010791C7FC9038007FF02D2B7DA934>I<01FFEBFFE0
B5000713FC021FEBFF80027F80DAFF8113F09139FC007FF8000701F06D7E6C496D7E4A13
0F4A6D7E1880A27013C0A38218E0AA4C13C0A318805E18005E6E5C6E495A6E495A02FCEB
FFF0DAFF035B92B55A029F91C7FC028713FC028113C00280C9FCACB512FEA5333B7DA83A
>I<3901FE01FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF8000713F8000313F0
EBFFE0A29138C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525297DA82B>
114 D<90383FFC1E48B512BE000714FE5A381FF00F383F800148C7FC007E147EA200FE14
3EA27E7F6D90C7FC13F8EBFFE06C13FF15C06C14F06C806C806C806C80C61580131F1300
020713C014000078147F00F8143F151F7EA27E16806C143F6D140001E013FF9038F803FE
90B55A15F0D8F87F13C026E00FFEC7FC222B7DA929>I<EB07C0A5130FA4131FA3133F13
7FA213FF5A1207001FEBFFFEB6FCA40001EBC000B3151FA96CEBE03EA2017F137EECF8FC
90383FFFF86D13F0010713E001001380203B7EB929>I<D9FF80EB0FF8B5EB0FFFA50007
EC007F6C153FB3A5167FA316FF6C5C4B7F6C903AC007DFFFE09138F01F9F6DB5121F6D13
FE010F13F8010101E0EBE000332A7CA83A>I<B500FC90383FFFC0A5000101C0903803E0
006E1307A26C5E6E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13
FCA26D5C15816D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E
5AA35D14075D000E130FD83F805B387FC01FD8FFE090C9FC5C143E147E5CEBC1F8387FC3
F0387E0FE06CB45A6C5B6C48CAFCEA03F8323B7EA737>121 D<003FB612F8A4D9F80113
F001C014E0495A494813C04A1380007E15005C4A5A007C5C147F4A5A495B5DC65A495B49
5BA249EB007C495A5C137F494813FC484913F85C5A48EBC0011480481403481300484813
0749131F007FECFFF0B7FCA426287DA72E>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmtt12 12 14
/Fm 14 116 df<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B6C8A33>46
D<EC07F8EC3FFF91B57E010314E0010F80498090383FFC0F90397FE003FC9038FF800148
90C77ED803FC147E49EB7E7F0007903801FFBFD9F00713FF4848481480495A001F5B0180
13C3003FEB7F810100010013C002FE137F4849133FEA7E014A131FA212FEEAFC034A130F
A96E131FD8FE011580127EA26E133FD87F0015006C6D5B027F13FE01801381001F90383F
C3FC01C013FF000F6D5B6D6C5B6C6C6C5BD9F80113800003D9007EC7FC6D9038000F806C
B4EC1FC06C6D133FD97FE013FF90263FFC0713806DB612006D5C010314F801005C023F13
80DA07FCC7FC2A3F7CBD33>64 D<EB1FFC90B57E000314E048804814FC48809038F007FF
EBE0016E7F153F6C48806C48131FC87F150FA5EC0FFF49B5FC131F137F48B6FC0007140F
4813C0381FFC00EA3FF0EA7FC05B48C7FC5AA56C141F7E6D137FD83FE0497ED9F807EBFF
F06CB712F87E6C14F36C14C1C69138003FF0D91FF090C7FC2D2E7BAC33>97
D<EA3FFC487E12FFA2127F123F1200ABEC01FE91380FFFC04A13F0027F7F91B512FE90B7
FCECFE07DAF800138002E0EB7FC04AEB3FE04A131FEE0FF091C7FC16074915F81603A217
FC1601A9160317F8A26D140717F06E130F17E06E131FEE3FC06E137F9139F801FF80DAFE
07130091B55A495C6E5BD97E3F13E0D93C0F138090260003FEC7FC2E3E7FBC33>I<ED7F
F84B7E5CA280157F1501ABEB01FF010713C1011F13F1017F13F990B6FC5A4813813907FE
003FD80FF8131F49130F48481307491303123F491301127F90C7FCA25A5AA97E7E15037F
123F6D1307A26C6C130F6D131F6C6C133F6C6C137F2603FF81B512F091B612F8C602FD13
FC6D13F96D01E113F8010F018013F0D901FEC8FC2E3E7DBC33>100
D<ECFF80010713F0011F13FC497F90B6FC48158048018013C03A07FE003FE001F8EB0FF0
48481307484814F8491303003F15FC491301127F90C7FC16FE15005A5AB7FCA516FC48C9
FC7E7EA36C7E167C6C6C14FE7F6C7E6D13016C6CEB03FC6CB4130F6C9038C03FF86C90B5
12F06D14E06D14C0010F1400010313FC9038007FE0272E7BAC33>I<D901FEEB1FE0903A
0FFFC0FFF0013F01F313F84990B512FC90B7FC5A48010313E12607FC00EB80F849017F13
60484890383FC00049131FA2001F8149130FA66D131F000F5DA26D133F6C6C495A6D13FF
2603FF0390C7FCECFFFE485C5D5DD80FCF13C0D981FEC8FC0180C9FCA27FA26C7E7F90B5
12FC6CECFFC06C15F0000715FC4815FF4816809038E0000748489038007FC090C8EA1FE0
48150F007E150700FE16F0481503A56C1507007E16E0007F150F6C6CEC1FC001E0147FD8
1FF8903801FF80270FFF801F13006C90B55A6C5DC615F0013F14C0010F91C7FC010013F0
2E447DAB33>103 D<1570EC01FCA2EC03FEA3EC01FCA2EC00701500AA90383FFFFC4913
FE90B5FCA27F7F90C7FCB3B3A9140115FCA21218007EEB03F81407B414F0140F9038803F
E090B512C06C14806C14006C5B6C13F8000113E01F557BBD33>106
D<383FFFFC487FB5FCA27E7EC7FCB3B3AD003FB612F84815FCB712FEA26C15FC6C15F827
3D7ABC33>108 D<4AB4FC263FFC0713C0267FFE1F13F000FF017F7F91B5FC6CB67E6CEC
07FEC6EBF801ECF0004A7F4A7F5CA291C7FCA35BB3A43B3FFFF80FFFFC486D4813FEB56C
4813FFA26C496C13FE6C496C13FC302C7FAB33>110 D<EB01FE90380FFFC0013F13F049
7F90B57E488048EB03FF2607FC0013804848EB7FC049133F4848EB1FE049130F4848EB07
F0A2007F15F890C71203A300FEEC01FCAA6C14036C15F8A26D1307003F15F06D130FA26C
6CEB1FE06D133F6C6CEB7FC06C6CEBFF802603FF0313006CEBFFFE6C5C6D5B6D5B010F13
C0D901FEC7FC262E7AAC33>I<EC01FE3A3FFC0FFFC0486C4813F000FF017F7F91B512FE
6CB7FC6CEBFE07C6D9F800138002E0EB7FC04AEB3FE04A131FEE0FF091C7FC16074915F8
1603A217FC1601A9160317F8A26D140717F06E130F17E06E131FEE3FC06E137F9139F801
FF80DAFE07130091B55A495C6E5B6E13E0020F1380DA03FEC7FC91C9FCAF383FFFF8487F
B57EA26C5B6C5B2E427FAB33>I<ED03FE3B7FFF801FFF80B5D8C07F13E002C1B5FC02C3
14F014C76C9038CFFE0F39001FDFF09139FFC007E092388003C092C8FC5C5C5CA25CA25C
A35CB2007FB512FEB7FCA46C5C2C2C7DAB33>114 D<90381FFE0F90B5EA8F80000314FF
120F5A5AEBF007387F800190C7FC00FE147F5A153FA37E007FEC1F0001C090C7FCEA3FF8
EBFFC06C13FF6C14E0000314F8C680011F13FF01001480020713C0EC007FED1FE0007C14
0F00FEEC07F01503A27EA27F15076D14E06D130F6DEB3FC09038FE01FF90B61280160000
FD5C00FC14F8D8F83F13E0D8780790C7FC242E79AC33>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmr12 12 39
/Fn 39 122 df<140C141C1438147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F8
5B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA4127CA312FCB3A2127CA312
7EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB
03C01301EB00E014701438141C140C166476CA26>40 D<12C07E12707E7E7E120F6C7E6C
7EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0A3EB03E0A314F0A213
01A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3EB07C0A3EB0F80A3EB
1F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E5A5A5A5A5A16647BCA
26>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313
005A1206120E5A5A5A12600B1D78891B>44 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00
0A0A78891B>46 D<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607F
A203E07FEDC03FA2020180ED801FA2DA03007F160FA20206801607A24A6D7EA34A6D7EA3
4A6D7EA20270810260147FA202E08191B7FCA249820280C7121FA249C87F170FA2010682
1707A2496F7EA3496F7EA3496F7EA201788313F8486C83D80FFF03037FB500E0027FEBFF
C0A342477DC649>65 D<DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393FC0
003E02FFC7EA0F83D903FCEC03C74948EC01E74948EC00FF4948157F4948153F4948151F
49C9120F485A491607120348481603A248481601A248481600A2123FA2491760127FA319
00485AAE6C7EA21960A2123F7FA2001F18E07F000F18C0A26C6C160119806C6C16031201
6DEE07006C6C16066D6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780DA
3FC0011FC7FCDA0FFC13FC0203B512F0020014C0DB0FFEC8FC3B487BC546>67
D<B8FC17F017FC00019039C00007FF6C499038007FC0017FED1FE0EF07F0EF03FC717E71
7E84727E727E727EA2727E85180385A2180185A38584A31A80AD1A00A36061A361180361
180761180F614E5A183F614EC7FC18FEEF03FC4D5AEF1FE001FFED7FC0486DD907FFC8FC
B812FC17F094C9FC41447CC34B>I<B912F8A3000101C0C7127F6C6C48EC07FC17011700
187C183C181CA284A31806A4180704067FA395C7FCA4160EA2161E163E16FE91B5FCA3EC
8000163E161E160EA21606A319C0A3F0018093C7FCA41803A21900A260A260A2181EA218
3E187EEF01FE170748486C147FB95AA33A447CC342>I<B612F0A3C6EBF0006D5A6D5AB3
B3B3A4497E497EB612F0A31C447DC323>73 D<010FB512FEA3D9000313806E130080B3B3
AB123F487E487EA44A5A13801300006C495A00705C6C13076C5C6C495A6CEB1F802603E0
7FC7FC3800FFFCEB1FE027467BC332>I<B600C049B512C0A3000101E0C8387FFC006C49
ED3FE06D481680063EC7FC183C183860604D5A4D5A4DC8FC171E17385F5F4C5A4C5A4CC9
FC160E5E5E5E5E4B5A4B7E4B7E150F4B7E4B7E1577EDE3FE913881C1FFEC8381DA87007F
028E6D7E149C02B86D7E02F06D7E14C04A6D7E707EA2707E707EA2707F717EA2717E717E
A2717E717EA2717E717EA2717F8585496C82486D4A13FCB600C0011FEBFFE0A343447CC3
4C>I<B612F8A3000101E0C9FC6C6C5A5CB3B31830A418701860A518E0A3EF01C0A21703
1707A2170F173F177FEE01FF48486C011F1380B9FCA334447CC33D>I<B56C020FB5FC80
80C6040013F06D6CED1F80D96FF8ED0F00A2D967FC1506EB63FEA2EB61FF01607FA26E7E
6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F
1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF701386A2EF7FC6EF3F
E6A2EF1FF6EF0FFEA217071703A217011700A201F0167E183E487ED80FFF161EB500F015
0EA2180640447CC349>78 D<B712FCEEFFC017F800019039C0000FFC6C6C48EB01FF9338
007F80EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718FEA2170318FCA2EF07F8
18F0EF0FE0EF1FC0EF7F80933801FE00EE0FFC91B612F017800280C9FCB3AA3801FFE0B6
12C0A338447CC342>80 D<49B41303010FEBE007013F13F89039FE00FE0FD801F8131FD8
07E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E82A2
7EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0013F
14F0010F80010180D9001F7F14019138001FFF03031380816F13C0167F163F161F17E000
C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9F049
5AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>83
D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA20070
181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>I<B600
C0010FB5FCA3000101E0C813F026007F80ED1F80F00F00A21806B3B3A7180E6D6C150CA2
181C131F6E1518010F163818306D6C1570606D6C14016D6C5D6D6CEC0780027F4AC7FC6E
6C131EDA1FE0137C913907FC03F00201B55A6E6C1380DB07FCC8FC40467CC349>I<B601
07B500F890380FFFFEA3000301E0D9001F90C813F06C0180DA0FFCED3FC091C86C48ED1F
006C871C0E6D6C6E7E1C0CA26D6C6F5DA36EDA06FF1538011F1A30A26E020E6D1470010F
DB0C7F1560A26E021C7F0107DB183F5DA2856D6CDA301F4A5AA36D6C4A6C6C49C7FCA36D
6C4A6C6C1306A3DB80016E130E027FDA8003140CA2DBC00380023FDA00015CA203E08102
1F01066D5CA36E6C486E6C5AA36E6C486E6C5AA36F48EC1FE1020360A2DBFE7015F30201
0160020F90C8FCA2DBFFE015FB6E49EC07FEA36F486E5AA36FC86C5AA3031E6F5AA4030C
16605F467EC364>87 D<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7E
D80FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB
3FC0EBFF00EA03FC485A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D
9038C7E0C0003F13013A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B
2E7CAC31>97 D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E0913870
01F89039FDE0007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FC
A2160117FEAB17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB
7E00D9E1C05B9039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>
I<EC7F80903803FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB
1FE049133F120F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F1630
7F001F15706C6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381F
C078903807FFF001001380242E7DAC2B>I<167FED3FFFA315018182B3EC7F80903803FF
F090380FC07C90383F000E017E1307496D5AD803F87F48487F5B000F81485AA2485AA212
7FA290C8FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F806C6C01
0E13C0013F011C13FE90380FC0F8903803FFE09026007F0013002F467DC436>I<EB01FE
903807FFC090381F03F090387E00FC49137E48487F485A4848EB1F80000F15C049130F12
1F484814E01507A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F16306C7E
1670000F15606D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E90381F80F8
903803FFE0010090C7FC242E7DAC2B>I<EC0FE0EC7FF8903801F81E903803F03F90390F
E07F8090381FC0FF5C133F495AA2ED7F0001FE131C92C7FCAFB67EA3C648C8FCB3B2486C
7E007F13FFA321467EC51E>I<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E38190
39FC01FF033A01F800FE014848017E13E00007027FC7FC497F000F8149131F001F81A900
0F5D6D133F000792C7FC6D5B0003147E6C6C5B6D485A3903BF07E090380FFF80260701FC
C8FC90CAFCA25AA37F6C7E7F90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF
48481300003FC8EA3F80003E151F48ED0FC0A2481507A56C150F007C1680007E151F003E
16006C153E6C6C5CD807E0495AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E0
2C427DAC31>I<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F0913838
01F802707FECE000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13
FEA32F457DC436>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA31207
12031201B3B0487EB512F8A315437DC21C>I<EA01FC12FFA3120712031201B3A292381F
FFE0A36F1300ED07F816E05E5E030EC7FC5D5D5D5D4A5A4A5A4AC8FC5CEC3F804A7E14FF
9038FDCFE09038FF8FF01407496C7E01FC7F14016E7E81816F7E82151F6F7E821507826F
7E8282486C491380B5D8F81F13F8A32D457DC433>107 D<EA01FC12FFA3120712031201
B3B3B3A5487EB512F8A315457DC41C>I<D801FC01FFEC1FE000FF010701E0EBFFFC913B
0F03F801E07F913C3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601
FDC0D97F38804A143001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F8
1FB50003B512E0A34B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801
F8000701707F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5
D8F83F13FEA32F2C7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D
7E48486D7E48486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0
AA6C1680A26D147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C49
5A6C6C495A013E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3903F803
F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005B
A45BB3A748B4FCB512FEA3202C7DAB26>114 D<90383FE0183901FFFC383907E01F7839
0F0003F8001E1301481300007C1478127800F81438A21518A27EA27E6C6C13006C7E13FC
383FFFE06C13FC6C13FF6C14C06C14E0C614F0011F13F81300EC0FFC140300C0EB01FE14
00157E7E153EA27EA36C143C6C147C15786C14F86CEB01F039F38003E039F1F00F8039E0
7FFE0038C00FF01F2E7DAC26>I<1306A5130EA4131EA3133E137EA213FE12011207001F
B512F0B6FCA2C648C7FCB3A4150CAA017E131C017F1318A26D133890381F8030ECC07090
3807E0E0903801FFC09038007F001E3E7EBC26>I<D801FC147F00FFEC3FFFA300071401
000380000181B3A85EA35DA212006D5B017E9038077F80017F010E13C06D011C13FE9038
0FC078903803FFF09026007F8013002F2D7DAB36>I<B539F001FFFCA3000790C7EA7FE0
6C48EC1F8000011600160E1200160C017F5CA280013F5CA26E1370011F146080010F5CA2
ECF00101075CA26D6C48C7FCA26E5A01011306A26D6C5AA214FF6E5AA215B8EC3FB015F0
6E5AA36E5AA26E5AA36EC8FC2E2C7EAA33>I<B500E0B539E03FFF80A30007903C000FFE
000FFC00D803FCD903F8EB03F8F001E0120103015D6D80000060A26D6E13036DD9037E91
C7FCA20280017F5B013FD9063F1306A2D91FC06E5AED0C1FA2D90FE06E5AED180FA2D907
F06E5AED3007A2D903F86E5AED6003A2902601FCE06D5AEDC00117FCD900FFECFD80ED80
0017FF027F92C8FC92C77EA26E147E023E143EA2021E143C021C141CA2412C7EAA46>I<
B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E0000150C6D141C6D1418A2
6E1338013F1430A26D6C5BA26E13E0010F5CA26D6C485AA2ECF803010391C7FCA2903801
FC06A2ECFE0E0100130CA2EC7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA214
06A35CA25CA2123C007E5BB4FC5CA25CEAFE01387C0380D87007C9FCEA3C1EEA0FFCEA03
F02E3F7EAA33>121 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmbx12 12 42
/Fo 42 122 df<EC03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5
264177C038>49 D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0
007FFFD81F806D138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A
6C5A6C5AC9FC17F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC
4A5A4A5AEC0FF04A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC
017C140149140348B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713
FF011F14C0017F14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16
C07FA66C5A6C4815806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC
15F815FF16C090C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0
EA3FF0487EA2487EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80F
FEEBFFFE6CB612F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E5E
5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8
EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A
12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01FF
EB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01C7
14C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0C8
FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C012
3E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F01
FCC7FC010113C02D427BC038>I<4AB47E021F13F0027F13FC49B6FC01079038807F8090
390FFC001FD93FF014C04948137F4948EBFFE048495A5A1400485A120FA248486D13C0EE
7F80EE1E00003F92C7FCA25B127FA2EC07FC91381FFF8000FF017F13E091B512F89039F9
F01FFC9039FBC007FE9039FF8003FF17804A6C13C05B6F13E0A24915F0A317F85BA4127F
A5123FA217F07F121FA2000F4A13E0A26C6C15C06D4913806C018014006C6D485A6C9038
E01FFC6DB55A011F5C010714C0010191C7FC9038003FF02D427BC038>I<121E121F13FC
90B712FEA45A17FC17F817F017E017C0A2481680007EC8EA3F00007C157E5E00785D1501
4B5A00F84A5A484A5A5E151FC848C7FC157E5DA24A5A14035D14074A5AA2141F5D143FA2
147F5D14FFA25BA35B92C8FCA35BA55BAA6D5A6D5A6D5A2F447AC238>I<EC7FF00103B5
FC010F14C0013F14F090397F801FFC3A01FC0003FE48486D7E497F4848EC7F80163F4848
15C0A2001F151FA27FA27F7F01FE143F6D158002C0137F02F014006C01FC5B6E485A6C90
38FF83FCEDE7F86CECFFE06C5D6C92C7FC6D14C06D80010F14F882013F8090B7FC48013F
14802607FC0F14C0260FF80314E04848C6FC496D13F0003F141F48481307496D13F81500
00FF157F90C8123F161F160FA21607A36D15F0127F160F6D15E06C6C141F6DEC3FC06C6C
EC7F80D80FFE903801FF003A07FFC00FFE6C90B55AC615F0013F14C0010F91C7FC010013
F02D427BC038>I<EE1F80A24C7EA24C7EA34C7EA24B7FA34B7FA24B7FA34B7F169F031F
80161F82033F80ED3E07037E80157C8203FC804B7E02018115F0820203814B137F020781
5D173F020F814B7F021F8292C77EA24A82023E80027E82027FB7FCA291B87EA2498302F0
C8FCA20103834A157F0107834A153FA249488284011F8491C97E4984133E017E82B6020F
B612F0A54C457CC455>65 D<B9FC18F018FE727E19E026003FFCC700077F05017F716C7E
727E727EA2721380A37213C0A74E1380A24E1300A24E5A4E5A4E5A4D5B05075B94B51280
91B700FCC7FC18F018FF19E002FCC7000113F8716C7EF01FFE727E7213801AC07213E0A2
7213F0A31AF8A71AF0A2601AE0604E13C0604E138095B5120005075BBA12F86119C04EC7
FC18E045447CC350>I<DCFFF01470031F01FF14F04AB6EAE0010207EDF803023FEDFE07
91B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0804990C87E4948814948814948
167F4849163F4849161F5A4A160F485B19074890CAFC19035A5BA2007F1801A34994C7FC
12FFAE127F7F1AF0A2123FA27F6C18011AE06C7F19036C6D17C06E16077E6C6DEE0F806C
6DEE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D01F0EC07F0010101FEEC1FE06D903AFF
F001FF80023F90B6C7FC020715FC020115F0DA001F1480030001F8C8FC44467AC451>I<
B9FC18F018FE727E19E026003FFEC7001F13F805017F9438003FFF060F7F727F727F727F
84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD1BC0A51B8061A21B006162193F62
4F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F13F8BA5A19C04EC8FC18F095C9FC
4B447CC356>I<BA12F8A485D8001F90C71201EF003F180F180318011800A2197E193EA3
191EA21778A285A405F890C7FCA316011603161F92B5FCA5ED001F160316011600A2F101
E01778A2F103C0A494C7FC1907A21A80A2190FA2191FA2193FF17F0061601807181F4DB5
FCBBFC61A443447DC34A>I<BA1280A419C026003FFEC7121F1701EF007F183F181F180F
180719E01803A31801A3EE01E0F000F0A419001603A31607160F167F91B6FCA59138FE00
7F160F16071603A31601A693C9FCAFB712F0A53C447CC346>I<B712E0A5D8001F90C7FC
B3B3B3A4B712E0A523447DC32A>73 D<B64BB512FE8181A281D8003F6D91C7EA78008101
3D7F81133C6E7E6E7F6E7F6E7F6E7F82806E7F6E7F6F7E6F7F83816F7F6F7F6F7F6F7F6F
7F8382707F707F707F707F8482707F707F717E7113807113C019E0837113F07113F87113
FC7113FE19FF847213F884848484A28484197F193F191FA2190F1907B61603190119001A
78A24F447CC358>78 D<B9FC18F018FE727E19E0D8001F90C7000F7F05017F716C7E727E
727E721380A21AC084A21AE0A91AC0A24E1380A21A00604E5A4E5A4D485A050F5B92B712
C096C7FC18FC18C092CBFCB3A7B712E0A543447DC34D>80 D<B812F8EFFFC018F818FE72
7ED8001F90C7003F13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E
5A61187F943801FFF005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F71
7F717FA2717FA2717FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72
EBFFF8060114F0726C13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE133C01
3F9038FF807C90B6EAE0FC4815F9489038801FFF3907FC00014848EB007F4848143F4848
140F491407007F15035B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014
FE6CEBFFF015FF6C15E016FC6C816C6F7E6C826C826C6C81011F810107811300020F8014
0003077FED007F82040F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D5D6D
140701F84A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614F048
0107138031467AC43E>I<003FBA12E0A59026FE000FEB8003D87FE09338003FF049171F
90C71607A2007E1803007C1801A300781800A400F819F8481978A5C81700B3B3A20107B8
FCA545437CC24E>I<B600FE017FB691B512FEA526007FFCC8D83FFEC9EA7C006E82013F
701778807415F86D705F6F7014016D705FA26F7014036D64814E6D14076D646F70140F6D
041E94C7FCA26F023E6D5C6DDC3C7F151E81027F037C6D5CF0783F6F70147C023F4B6C15
78A26F01016F13F86E4B6C5D16806E02036F485A4E7E04C0EEE0036E4A486C5DA2DCE00F
EDF0076E4B6C5D16F06E4A6F48C8FC051E7F04F8705A6E4A027F131EA2DCFC7CEDFE3E03
7F0178023F133C04FE16FF033F01F85E4D8004FF17F86F496E5BA36F496E5BA26F604D80
A26F90C86C5BA36F486F90C9FCA26F48167EA30478163C6F457EC374>87
D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E
A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100
0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E
EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97
D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF000F
FE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18
F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC496CB512F0D9
F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14F0013F14FC90
397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F1300007F6E5AED
00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D140F6C6DEB1F00
6C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003FF82A2F7CAD32
>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039FFF8
07FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212FFAC
127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038F01F
EF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC3FF80103B57E
010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A001F
ED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2123F
17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE01FE
011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF80020F13E0027F13
F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0ED03
F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0137E
010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC4848
903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D6C6C
495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA47F7F
7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC0140748
48020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3FF83B
07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<137C
48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7F
FFA512037EB3AFB6FCA518467CC520>105 D<EB7FC0B5FCA512037EB293387FFFE0A593
380FE0004C5A4CC7FC167E5EED03F8ED07E04B5A4B5A037FC8FC15FEECC1FCECC3FE14C7
ECDFFF91B57E82A202F97F02E17F02C07FEC807F6F7E826F7E816F7F836F7F816F7F8370
7E163FB60003B512F8A535457DC43B>107 D<EB7FC0B5FCA512037EB3B3B3A3B61280A5
19457CC420>I<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E002
816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C
019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA5
572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F
801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7C
AC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F48
48C7EA3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA007F
1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007FF8
0F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8B5
90B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A
15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B
6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9
FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F
1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A5
272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F
48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14
FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27E
A26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007
FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF1203000F
90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F809039
1FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5FC
A50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512C7
010F1407010313FE9026007FF0EBFC00372E7CAC3E>I<B6903803FFFCA5000101E09038
003E006C163C80017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F
6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF
6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578362C7EAB3B>I<B5D8FE1FB539801FFFF0
A500019027C0003FE0C7EA7C007114786E17F86C6F6C5C6E1601017F6E6C5CA26E011F14
03013F6F5C6E013F1407011F6F5CA26E0179140F010F048090C7FC6E01F95C6D02F0EBC0
1E15806D902681E07F5B18E003C3157C6D9139C03FF07815E76DDA801F5B18F803FF14F9
6E9039000FFDE018FF6E486D5BA36E486D5BA26E486D90C8FCA24B7F02075DA26E48147C
4B143C4C2C7EAB51>I<B6903803FFFCA5000101E09038003E006C163C80017F5D8017F8
013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E
6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5A
A26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C14
3E495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B>121
D E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop 694 282 a Fo(T)-9 b(ransparen)m(t)38 b(Net)m(w)m(ork)e(Securit)
m(y)h(P)m(olicy)e(Enforcemen)m(t)1465 523 y Fn(Angelos)d(D.)g(Kerom)m
(ytis)806 639 y(Distributed)f(Systems)j(Lab,)e(Univ)m(ersit)m(y)i(of)e
(P)m(ennsylv)-5 b(ania)1448 756 y Fm(angelos@openbsd.org)1591
988 y Fn(Jason)32 b(L.)h(W)-8 b(righ)m(t)912 1104 y(Net)m(w)m(ork)34
b(Securit)m(y)f(T)-8 b(ec)m(hnologies,)33 b(Inc.)44 b(\(NETSEC\))1499
1220 y Fm(jason@openbsd.org)0 1546 y Fl(Abstract)0 1913
y Fk(Recen)n(t)23 b(w)n(ork)f(in)i(the)g(area)e(of)h(net)n(w)n(ork)f
(securit)n(y)-7 b(,)24 b(suc)n(h)f(as)0 2013 y(IPsec,)31
b(pro)n(vides)f(mec)n(hanisms)g(for)h(securing)f(the)i(tra\016c)0
2112 y(b)r(et)n(w)n(een)d(an)n(y)f(t)n(w)n(o)g(in)n(terconnected)h
(hosts.)40 b(Ho)n(w)n(ev)n(er,)28 b(it)0 2212 y(is)34
b(not)g(alw)n(a)n(ys)f(p)r(ossible,)i(economical,)g(or)e(ev)n(en)h
(practi-)0 2312 y(cal)24 b(from)g(an)h(administration)f(and)g(op)r
(erational)f(p)r(oin)n(t)i(of)0 2411 y(view)34 b(to)h(upgrade)e(the)i
(soft)n(w)n(are)e(and)h(con\014guration)f(of)0 2511 y(all)28
b(the)h(no)r(des)f(in)h(a)f(net)n(w)n(ork)f(to)i(supp)r(ort)f(suc)n(h)g
(securit)n(y)0 2610 y(proto)r(cols.)0 2810 y(One)f(apparen)n(t)f
(solution)h(to)h(this)g(problem)f(is)g(the)h(use)f(of)0
2909 y(securit)n(y)35 b(gatew)n(a)n(ys)f(that)i(apply)f(the)i(relev)-5
b(an)n(t)35 b(securit)n(y)0 3009 y(proto)r(cols)g(on)i(b)r(ehalf)g(of)g
(the)g(protected)f(no)r(des,)j(under)0 3109 y(the)27
b(assumption)f(that)h(the)g(\\last)f(hop")g(b)r(et)n(w)n(een)h(the)g
(se-)0 3208 y(curit)n(y)41 b(gatew)n(a)n(y)e(and)i(the)g(end)h(no)r(de)
f(is)g(safe)g(without)0 3308 y(cryptograph)n(y)-7 b(.)73
b(Suc)n(h)40 b(a)g(gatew)n(a)n(y)e(can)i(b)r(e)h(set)f(to)g(en-)0
3407 y(force)31 b(sp)r(eci\014c)g(securit)n(y)g(p)r(olicies)g(for)f
(di\013eren)n(t)i(t)n(yp)r(es)f(of)0 3507 y(tra\016c.)j(While)22
b(this)f(solution)g(is)g(app)r(ealing)f(in)i(static)f(sce-)0
3607 y(narios)31 b(\(suc)n(h)i(as)e(building)i(so-called)e(\\in)n
(tranets"\),)i(the)0 3706 y(use)k(of)h(La)n(y)n(er-3)c(\(net)n(w)n
(ork\))j(routers)f(as)h(securit)n(y)f(gate-)0 3806 y(w)n(a)n(ys)25
b(presen)n(ts)h(some)g(transparency)f(and)i(con\014guration)0
3906 y(problems)c(with)i(regards)d(to)i(p)r(eer)g(authen)n(tication)g
(in)h(the)0 4005 y(automated)i(k)n(ey)g(managemen)n(t)g(proto)r(col.)0
4204 y(This)43 b(pap)r(er)g(describ)r(es)f(the)i(arc)n(hitecture)e(and)
h(imple-)0 4304 y(men)n(tation)30 b(of)h(a)f(La)n(y)n(er-2)d(\(link)k
(la)n(y)n(er\))e(bridge)h(with)h(ex-)0 4404 y(tensions)j(for)g
(o\013ering)g(La)n(y)n(er-3)e(securit)n(y)i(services.)57
b(W)-7 b(e)0 4503 y(extend)42 b(the)g(Op)r(enBSD)h(ethernet)f(bridge)f
(to)h(p)r(erform)0 4603 y(simple)33 b(IP)f(pac)n(k)n(et)g(\014ltering)g
(and)h(IPsec)e(pro)r(cessing)h(for)0 4703 y(incoming)f(and)h(outgoing)e
(pac)n(k)n(ets)h(on)g(b)r(ehalf)h(of)g(a)f(pro-)0 4802
y(tected)k(no)r(de,)i(completely)d(transparen)n(tly)f(to)i(b)r(oth)g
(the)0 4902 y(protected)25 b(and)g(the)h(remote)f(comm)n(unication)g
(endp)r(oin)n(t.)0 5001 y(The)47 b(same)f(mec)n(hanism)g(ma)n(y)g(b)r
(e)h(used)f(to)h(construct)0 5101 y(\\virtual)26 b(lo)r(cal)h(area)e
(net)n(w)n(orks,")h(b)n(y)g(establishing)h(IPsec)0 5201
y(tunnels)35 b(b)r(et)n(w)n(een)f(Op)r(enBSD)h(bridges)f(connected)g
(geo-)0 5300 y(graphically)f(separated)g(LANs.)59 b(As)35
b(our)f(system)g(op)r(er-)0 5400 y(ates)c(in)h(the)g(link)g(la)n(y)n
(er,)f(there)g(is)h(no)f(need)h(for)f(soft)n(w)n(are)2010
1546 y(or)d(con\014guration)f(c)n(hanges)g(in)i(the)g(protected)f(no)r
(des.)2010 1987 y Fo(1)112 b(In)m(tro)s(duction)2010
2312 y Fk(Net)n(w)n(ork)34 b(bridges)h(are)f(simple)h(devices)g(that)h
(transpar-)2010 2411 y(en)n(tly)d(connect)f(t)n(w)n(o)g(or)g(more)g
(LAN)i(segmen)n(ts)e(b)n(y)g(stor-)2010 2511 y(ing)45
b(a)g(frame)g(receiv)n(ed)g(from)g(one)g(segmen)n(t)g(and)g(for-)2010
2610 y(w)n(arding)30 b(it)j(to)f(the)g(other)f(segmen)n(ts.)49
b(More)31 b(in)n(telligen)n(t)2010 2710 y(bridges)37
b(mak)n(e)f(use)i(of)f(a)h(spanning)f(tree)g(algorithm)f(to)2010
2810 y(detect)i(and)g(a)n(v)n(oid)e(lo)r(ops)h(in)h(the)h(top)r(ology)
-7 b(.)66 b(W)-7 b(e)38 b(ha)n(v)n(e)2010 2909 y(implemen)n(ted)e(the)h
(basic)e(form)g(of)h(an)g(ethernet)g(bridge)2010 3009
y(in)e(Op)r(enBSD)h(that)f(also)f(pro)n(vides)g(an)h(IP)f(\014ltering)h
(ca-)2010 3109 y(pabilit)n(y)-7 b(.)59 b(Th)n(us,)37
b(the)e(bridge)f(can)h(b)r(e)g(used)g(to)g(pro)n(vide)2010
3208 y(a)24 b(LAN-transparen)n(t)e(\014rew)n(all)h(b)r(et)n(w)n(een)h
(hosts)g(suc)n(h)g(that)2010 3308 y(no)33 b(con\014guration)f(c)n
(hanges)g(are)h(needed)h(on)f(clien)n(t)h(ma-)2010 3407
y(c)n(hines,)24 b(and)f(only)g(minor)g(c)n(hanges)g(in)g(net)n(w)n(ork)
f(top)r(ology)2010 3507 y(are)27 b(necessary)-7 b(.)2010
3706 y(F)g(or)35 b(this,)k(w)n(e)d(mak)n(e)f(use)h(of)g
Fj(ipf,)k Fk(the)c(standard)f(pac)n(k)n(et)2010 3806
y(\014ltering)h(mec)n(hanism)g(a)n(v)-5 b(ailable.)62
b(As)36 b(ethernet)h(frames)2010 3906 y(pass)32 b(through)g(the)g
(bridge,)i(they)e(are)g(examined)g(to)g(see)2010 4005
y(if)40 b(they)g(carry)e(IP)h(tra\016c.)72 b(If)40 b(not,)i(the)e
(frame)f(is)g(just)2010 4105 y(bridged.)33 b(If)19 b(the)g(frame)f(do)r
(es)g(con)n(tain)g(IP)f(tra\016c,)j(the)f(eth-)2010 4204
y(ernet)25 b(header)f(is)h(remo)n(v)n(ed)e(from)i(the)g(frame)g(and)f
(copied.)2010 4304 y(The)34 b(resulting)e(IP)i(pac)n(k)n(et)e(is)h
(passed)g(on)g(to)h Fj(ipf)p Fk(,)i(whic)n(h)2010 4404
y(noti\014es)31 b(the)g(bridge)f(whether)h(the)g(pac)n(k)n(et)f(is)h
(to)g(b)r(e)g(for-)2010 4503 y(w)n(arded)42 b(or)f(dropp)r(ed.)83
b(The)42 b(ethernet)h(header)f(of)h(the)2010 4603 y(frame)29
b(under)g(examination)g(is)g(appropriately)f(mo)r(di\014ed)2010
4703 y(on)42 b(the)h(frame)g(to)f(b)r(e)h(forw)n(arded,)i(and)e(the)g
(resulting)2010 4802 y(frame)27 b(is)h(then)g(bridged)f(as)g(normal.)
2010 5001 y(The)k(bridge)f(can)h(also)e(b)r(e)j(used)e(to)h(enforce)f
(restrictions)2010 5101 y(on)21 b(whic)n(h)f(addresses)f(can)i(app)r
(ear)f(on)g(eac)n(h)g(ethernet)h(seg-)2010 5201 y(men)n(t,)29
b(whic)n(h)g(helps)f(lo)r(calize)g(where)g(ARP)h(sp)r(o)r(o\014ng)f
(at-)2010 5300 y(tac)n(ks)h(can)g(o)r(ccur.)42 b(Static)29
b(MA)n(C)h(address)e(cac)n(he)h(en)n(tries)2010 5400
y(are)k(pro)n(vided)h(so)g(hosts)f(can)h(b)r(e)h(limited)g(to)g(a)f
(particu-)p eop
%%Page: 2 2
2 1 bop 0 83 a Fk(lar)24 b(p)r(ort)g(and)g(malicious)g(users)g(cannot)g
(force)g(the)h(bridge)0 183 y(to)g(send)g(tra\016c)g(to)g(the)g(wrong)f
(segmen)n(t.)35 b(The)25 b(abilit)n(y)g(to)0 282 y(learn)20
b(MA)n(C)h(addresses)e(dynamically)h(is)h(con\014gurable)e(on)0
382 y(eac)n(h)24 b(p)r(ort)g(of)h(the)f(bridge,)h(and)f(broadcast)f
(disco)n(v)n(ery)g(for)0 482 y(mac)n(hines)28 b(unkno)n(wn)f(to)h(the)h
(bridge)f(can)f(b)r(e)i(toggled)e(on)0 581 y(a)h(p)r(er)f(p)r(ort)h
(basis.)37 b(Additionally)-7 b(,)28 b(a)g(mec)n(hanism)f(is)h(pro-)0
681 y(vided)k(for)g(\014ltering)g(ethernet)h(frames)e(based)h(on)g
(source)0 780 y(and/or)26 b(destination)h(MA)n(C)h(address.)0
980 y(This)22 b(functionalit)n(y)-7 b(,)24 b(useful)f(on)f(its)h(o)n
(wn,)f(can)g(b)r(e)h(coupled)0 1079 y(with)37 b(the)f(IPsec)f([9])h
(supp)r(ort)g(a)n(v)-5 b(ailable)34 b(in)j(Op)r(enBSD,)0
1179 y(to)29 b(allo)n(w)e(creation)h(of)h(virtual)f(LANs.)41
b(This)29 b(is)f(ac)n(hiev)n(ed)0 1279 y(b)n(y)22 b(o)n(v)n(erla)n
(ying)e(an)j(IPsec-protected)e(virtual)h(net)n(w)n(ork)f(on)0
1378 y(the)29 b(wide)g(area)e(net)n(w)n(ork)g(\(or)g(ev)n(en)h(the)h
(In)n(ternet)g(itself)6 b(\).)0 1478 y(The)24 b(c)n(hanges)e(necessary)
g(to)i(the)g(bridge)g(and)f(IPsec)g(co)r(de)0 1577 y(for)38
b(this)h(w)n(ere)e(fairly)h(minimal,)j(due)e(to)f(compatibilit)n(y)0
1677 y(of)25 b(some)g(design)h(decisions)e(made)i(indep)r(enden)n(tly)g
(in)g(the)0 1777 y(dev)n(elopmen)n(t)h(of)h(the)g(t)n(w)n(o)e(pac)n(k)
-5 b(ages.)0 1976 y(The)38 b(enhanced)f(bridge)g(can)g(also)g(b)r(e)h
(used)g(to)f(pro)n(vide)0 2076 y(transparen)n(t)32 b(IPsec)g(gatew)n(a)
n(y)f(capabilit)n(y)i(for)f(a)h(host)g(or)0 2175 y(ev)n(en)28
b(a)h(net)n(w)n(ork.)39 b(In)30 b(this)f(mo)r(de,)g(the)h(bridge)e
(examines)0 2275 y(transien)n(t)f(IP)h(tra\016c)f(and)h(ma)n(y)-7
b(,)28 b(dep)r(ending)g(on)g(securit)n(y)0 2374 y(p)r(olicy)-7
b(,)43 b(establish)d(IPsec)f(securit)n(y)g(asso)r(ciations)f(\(SAs\))0
2474 y(with)28 b(a)f(remote)g(host)h(pretending)f(to)h(b)r(e)g(the)g
(lo)r(cal)f(com-)0 2574 y(m)n(unication)k(endp)r(oin)n(t)g(for)g(an)g
(IP)g(session)1399 2544 y Fi(1)1435 2574 y Fk(.)47 b(There)31
b(are)0 2673 y(t)n(w)n(o)d(main)h(b)r(ene\014ts)h(from)f(this.)42
b(First,)29 b(this)g(allo)n(ws)f(pro-)0 2773 y(tection)g(of)f(the)h
(comm)n(unications)f(of)g(a)g(host)h(or)e(net)n(w)n(ork)0
2873 y(without)h(c)n(hanges)f(to)h(the)g(protected)f(hosts)h(\(whic)n
(h)g(ma)n(y)0 2972 y(not)36 b(ev)n(en)f(b)r(e)h(p)r(ossible,)h(for)e
(old,)j(unsupp)r(orted,)g(or)d(ex-)0 3072 y(tremely)d(ligh)n(t)n(w)n
(eigh)n(t)e(systems\).)50 b(Second,)33 b(the)f(securit)n(y)0
3171 y(gatew)n(a)n(y)i(can)j(act)f(as)g(a)g(securit)n(y)f(p)r(olicy)i
(enforcer,)g(en-)0 3271 y(suring)25 b(that)h(incoming)g(and)g(outgoing)
e(pac)n(k)n(ets)h(are)g(ade-)0 3371 y(quately)h(protected,)g(based)g
(on)h(system)f(or)f(net)n(w)n(ork)g(p)r(ol-)0 3470 y(icy)-7
b(.)0 3906 y Fl(1.1)105 b(P)m(ap)s(er)35 b(Organization)0
4341 y Fk(Section)29 b(2)h(brie\015y)f(describ)r(es)g(the)h(bridge)e
(itself)i(and)g(the)0 4441 y(\014ltering)35 b(of)g(frames)f(con)n
(taining)h(IP)f(tra\016c.)59 b(Section)35 b(3)0 4540
y(describ)r(es)f(the)g(use)g(of)h(IPsec)e(in)i(conjunction)f(with)h
(the)0 4640 y(bridge)25 b(to)g(build)h(virtual)f(LANs)h(and)f
(transparen)n(t)f(IPsec)0 4739 y(gatew)n(a)n(ys.)34 b(Section)27
b(4)g(discusses)f(op)r(en)h(ends)g(and)g(future)0 4839
y(w)n(ork,)f(and)i(Section)f(5)g(concludes)g(the)h(pap)r(er.)p
0 5165 744 4 v 92 5219 a Fh(1)127 5242 y Fg(The)k(term)f(\\IP)i
(session")f(is)f(used)i(here)f(lo)r(osely)g(to)g(imply)f(a)0
5321 y(pac)n(k)n(et)25 b(\015o)n(w)f(b)r(et)n(w)n(een)h(t)n(w)n(o)f
(hosts,)g(one)g(of)f(whic)n(h)g(is)g(on)h(one)g(of)f(the)0
5400 y(lo)r(cal)h(segmen)n(ts)f(and)i(is)e(\\protected")j(or)d(\\sup)r
(ervised".)2010 83 y Fo(2)112 b(Bridge)2010 419 y Fk(Bridges)38
b(are)g(devices)g(that)h(op)r(erate)f(at)h(the)g(data)g(link)2010
518 y(la)n(y)n(er,)49 b(t)n(ying)d(together)g(di\013eren)n(t)g
(ethernet)h(\(or)f(other)2010 618 y(LAN\))30 b(segmen)n(ts.)40
b(In)29 b(Op)r(enBSD,)h(the)f(bridge)f(is)h(imple-)2010
718 y(men)n(ted)21 b(as)e(a)h(pseudo-net)n(w)n(ork)e(in)n(terface)h
(inside)i(the)f(k)n(er-)2010 817 y(nel.)35 b(Real)21
b(ethernet)g(in)n(terfaces)f(are)g(added)h(to)g(the)h(bridge)2010
917 y(in)n(terface)k(as)g(\\bridge)g(mem)n(b)r(ers,")g(and)g(for)h(the)
g(purp)r(ose)2010 1016 y(of)c(using)g(IPsec)f(with)i(the)f(bridge,)h
Fj(enc)f Fk(in)n(terfaces)f(can)h(b)r(e)2010 1116 y(added)34
b(on)g(as)f(mem)n(b)r(ers.)56 b(The)34 b Fj(enc)h Fk(in)n(terfaces)e
(con)n(tain)2010 1216 y(the)c(securit)n(y)e(asso)r(ciation)g(\(SA\))i
(for)f(comm)n(unication)f(to)2010 1315 y(remote)19 b(LANs.)35
b(In)20 b(all)f(ethernet)h(driv)n(ers)e(under)i(BSD,)g(re-)2010
1415 y(ceiv)n(ed)26 b(frames)g(are)f(assem)n(bled)h(in)n(to)g(m)n(bufs)
h([11)o(],)g(a)g(data)2010 1515 y(structure)i(that)g(pro)n(vides)f(for)
h(easy)f(insertion)h(and)g(dele-)2010 1614 y(tion)40
b(of)f(data)g(with)i(little)f(or)f(no)g(data)g(cop)n(ying.)72
b(The)2010 1714 y(ethernet)24 b(header)g(is)g(remo)n(v)n(ed)f(and)h
(passed)g(along)f(with)h(a)2010 1813 y(reference)40 b(to)h(the)g
(receiving)e(in)n(terface)i(and)f(the)i(m)n(buf)2010
1913 y(con)n(taining)g(the)h(frame)f(data)g(to)g Fj(ether)p
3341 1913 26 4 v 31 w(input\(\))p Fk(.)82 b(The)2010
2013 y(bridge)36 b(in)n(tercepts)g(the)i(frame)e(early)f(in)i(this)g
(function,)2010 2112 y(after)27 b(a)g(small)h(amoun)n(t)f(of)g(b)r(o)r
(okk)n(eeping)g(is)g(p)r(erformed.)2010 2312 y(On)c(en)n(try)f(to)h
(the)g(bridge)f(co)r(de,)i(the)f(frame)g(is)f(c)n(hec)n(k)n(ed)g(to)
2010 2411 y(see)31 b(if)g(it)h(is)f(a)f(broadcast,)h(m)n(ulticast,)g
(or)g(unicast)g(frame)2010 2511 y(\(Figure)45 b(1\).)89
b(Broadcast)43 b(and)i(m)n(ulticast)g(frames)f(are)2010
2610 y(copied)37 b(and)g(queued)g(on)g(the)g(bridge)g(\(so)g(they)g
(can)g(b)r(e)2010 2710 y(forw)n(arded)29 b(in)i(all)f(mem)n(b)r(er)h
(in)n(terfaces\),)g(and)g(the)g(origi-)2010 2810 y(nal)23
b(frame)f(is)g(returned)h(to)f Fj(ether)p 3065 2810 V
31 w(input\(\),)i Fk(so)e(that)h(it)g(can)2010 2909 y(b)r(e)31
b(pro)r(cessed)f(b)n(y)g(the)i(bridge)e(mac)n(hine)g(itself.)47
b(Unicast)2010 3009 y(frames)24 b(are)f(c)n(hec)n(k)n(ed)g(to)h(see)g
(if)h(the)g(destination)f(matc)n(hes)2010 3109 y(an)n(y)h(of)h(the)g
(MA)n(C)g(addresses)e(of)i(p)r(orts)f(on)h(the)g(bridge;)g(if)2010
3208 y(so,)34 b(the)g(frame)f(is)g(returned)g(to)g Fj(ether)p
3255 3208 V 31 w(input\(\))g Fk(for)g(lo)r(cal)2010 3308
y(pro)r(cessing.)64 b(If)37 b(the)h(frame)e(is)h(unicast)g(and)g
(addressed)2010 3407 y(to)44 b(the)h(bridge)e(mac)n(hine,)48
b(the)c(frame)g(is)g(queued)g(and)2010 3507 y(not)37
b(passed)f(bac)n(k)g(to)g Fj(ether)p 2939 3507 V 31 w(input\(\))p
Fk(.)64 b(When)38 b(a)e(pac)n(k)n(et)2010 3607 y(is)28
b(queued,)h(a)f(soft)n(w)n(are)f(in)n(terrupt)h(is)h(sc)n(heduled)f(so)
g(that)2010 3706 y(bridge)23 b(pro)r(cessing)g(will)h(o)r(ccur)g
(outside)g(of)g(the)g(in)n(terrupt)2010 3806 y(con)n(text)j(of)h(the)g
(ethernet)f(card.)2010 4005 y(The)e(bulk)g(of)g(the)g(frame)g(pro)r
(cessing)e(o)r(ccurs)h(in)h(the)g(soft-)2010 4105 y(w)n(are)k(in)n
(terrupt)g(handler,)h Fj(bridgeintr\(\))h Fk(\(see)f(Figure)f(2\).)2010
4204 y(This)41 b(routine)g(lo)r(ops)g(through)g(eac)n(h)f(bridge)h(in)n
(terface,)2010 4304 y(pulling)28 b(frames)f(from)g(their)h(input)h
(queues.)37 b(The)27 b(source)2010 4404 y(ethernet)34
b(address)e(and)h(source)f(in)n(terface)h(are)g(recorded)2010
4503 y(in)n(to)24 b(the)g(bridge's)f(address)g(cac)n(he)g(for)g(eac)n
(h)h(frame)f(\(after)2010 4603 y(some)j(address)f(sp)r(o)r(of-c)n(hec)n
(king\).)35 b(The)26 b(destination)g(eth-)2010 4703 y(ernet)g(address)f
(is)h(lo)r(ok)n(ed)f(up)h(in)g(the)h(cac)n(he;)f(if)g(the)h(in)n(ter-)
2010 4802 y(face)22 b(returned)g(b)n(y)g(the)h(lo)r(okup)f(is)g(the)h
(same)f(as)g(the)h(in)n(ter-)2010 4902 y(face)h(where)f(the)i(frame)e
(originated,)h(no)g(further)g(pro)r(cess-)2010 5001 y(ing)j(is)h(done.)
36 b(If)28 b(the)g(destination)f(in)n(terface)g(di\013ers)g(from)2010
5101 y(the)h(source,)e(the)h(frame)g(m)n(ust)g(b)r(e)h(forw)n(arded)d
(\(bridged\).)2010 5201 y(If)37 b(the)g(frame)f(is)g(for)g(a)g(m)n
(ulticast)g(or)g(broadcast)e(desti-)2010 5300 y(nation,)26
b(the)h(frame)e(m)n(ust)i(b)r(e)f(forw)n(arded)e(to)i(all)g(mem)n(b)r
(er)2010 5400 y(in)n(terfaces)34 b(of)g(the)h(bridge.)56
b(T)-7 b(o)34 b(a)n(v)n(oid)f(o)n(v)n(erloading)f Fj(enc)p
eop
%%Page: 3 3
3 2 bop 581 1283 a @beginspecial 0 @llx 0 @lly 325 @urx
154 @ury 3250 @rwi @setspecial
%%BeginDocument: bridge1.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: F:\Bridge-paper\bridge1.eps
%%CreationDate: () ()
%%BoundingBox: 0.0000 0.0000 325.0000 154.0000
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0
%%+ procset Adobe_cmykcolor 1.1 0
%%+ procset Adobe_cshow 1.1 0
%%+ procset Adobe_customcolor 1.0 0
%%+ procset Adobe_typography_AI3 1.0 0
%%+ procset Adobe_Illustrator_AI3 1.0 0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0.0000 0.0000 325.0000 154.0000
%AI3_TileBox: 0.0000 0.0000 325.0000 154.0000
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_packedarray 2.0 0
%%Title: (Packed Array Operators)
%%Version: 2.0
%%CreationDate: (8/2/90) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_packedarray 5 dict dup begin put
/initialize
{
/packedarray where
{
pop
}
{
Adobe_packedarray begin
Adobe_packedarray
{
dup xcheck
{
bind
} if
userdict 3 1 roll put
} forall
end
} ifelse
} def
/terminate
{
} def
/packedarray
{
array astore readonly
} def
/setpacking
{
pop
} def
/currentpacking
{
false
} def
currentdict readonly pop end
%%EndResource

Adobe_packedarray /initialize get exec

%%Title: (CMYK Color Operators)
%%Version: 1.1 
%%CreationDate: (1/23/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_cmykcolor 4 dict dup begin put
/initialize
{
/setcmykcolor where
{
pop
}
{
userdict /Adobe_cmykcolor_vars 2 dict dup begin put
/_setrgbcolor
/setrgbcolor load def
/_currentrgbcolor
/currentrgbcolor load def
Adobe_cmykcolor begin
Adobe_cmykcolor
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
Adobe_cmykcolor begin
} ifelse
} def
/terminate
{
currentdict Adobe_cmykcolor eq
{
end
} if
} def
/setcmykcolor
{
1 sub 4 1 roll
3
{
3 index add neg dup 0 lt
{
pop 0
} if
3 1 roll
} repeat
Adobe_cmykcolor_vars /_setrgbcolor get exec
pop
} def 
/currentcmykcolor
{
Adobe_cmykcolor_vars /_currentrgbcolor get exec
3
{
1 sub neg 3 1 roll
} repeat
0
} def
currentdict readonly pop end
setpacking

%%EndResource

%%BeginResource: procset Adobe_cshow 1.1 0
%%Title: (cshow Operator)
%%Version: 1.1 
%%CreationDate: (1/23/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_cshow 3 dict dup begin put
/initialize
{
/cshow where
{
pop
}
{
userdict /Adobe_cshow_vars 1 dict dup begin put
/_cshow 
{} def
Adobe_cshow begin
Adobe_cshow
{
dup xcheck
{
bind
} if
userdict 3 1 roll put
} forall
end
end
} ifelse
} def
/terminate
{
} def
/cshow
{
exch
Adobe_cshow_vars
exch /_cshow
exch put
{
0 0 Adobe_cshow_vars /_cshow get exec
} forall
} def
currentdict readonly pop end
setpacking


%%EndResource

%%BeginResource: procset Adobe_customcolor 1.0 0
%%Title: (Custom Color Operators)
%%Version: 1.0 
%%CreationDate: (5/9/88) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_customcolor 5 dict dup begin put
/initialize
{
/setcustomcolor where
{
pop
}
{
Adobe_customcolor begin
Adobe_customcolor
{
dup xcheck
{
bind
} if
pop pop
} forall
end
Adobe_customcolor begin
} ifelse
} def
/terminate
{
currentdict Adobe_customcolor eq
{
end
} if
} def
/findcmykcustomcolor
{
5 packedarray
}  def
/setcustomcolor
{
exch
aload pop pop
4
{
4 index mul 4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
} def
/setoverprint
{
pop
} def
currentdict readonly pop end
setpacking
%%EndResource 



%%BeginResource: procset Adobe_typography_AI3 1.0 0
%%Title: (Typography Operators)%%Version: 1.0
%%CreationDate:(5/31/90) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI3 46 dict dup begin put
/initialize
{
/TZ
where
{
pop
}
{
Adobe_typography_AI3 begin
Adobe_typography_AI3
{
dup xcheck
{
bind
} if
pop pop
} forall
end
Adobe_typography_AI3 begin
} ifelse
} def
/terminate
{
currentdict Adobe_typography_AI3 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq   
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
}
ifelse
}
ifelse
}
loop 
_tempEncode
}
def
/TE 
{
StandardEncoding 256 array copy modifyEncoding 
/_nativeEncoding exch def
} def
/TZ  
{
/_useNativeEncoding exch def
pop pop
findfont dup length 2 add dict
begin
mark exch
{
1 index /FID ne { def } if cleartomark mark
}
forall
pop
/FontName exch def
counttomark 0 eq
{
Encoding StandardEncoding eq 1 _useNativeEncoding eq and
{
/Encoding _nativeEncoding def
}
if
cleartomark
}
{ 
/Encoding load 256 array copy 
modifyEncoding /Encoding exch def
}
ifelse  
FontName currentdict
end
definefont pop
}
def
/tr
{
_ax _ay 3 2 roll
} def
/trj 
{
_cx _cy _sp _ax _ay 6 5 roll
} def


/a0
{
/Tx 
{
dup 
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj 
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
W B
} def
/e0
{
/Tx 
{
tr _psf
} ddef
/Tj 
{
trj _pjsf
} ddef
} def
/e1
{
W F 
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
W S
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
Te _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix 
2 dict begin /W {} def /h {} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
Te currentpoint newpath moveto
dup 8 eq {pop 0} {dup 9 eq {pop 1} if} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm 
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Te
{
_render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} ifelse} ifelse
/_render -1 ddef
} def
/Tf
{
dup 1000 div /_fScl exch ddef
exch findfont exch scalefont setfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt 
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/Tq 
{
pop
} def
/TX {pop} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/T- 
{
_hyphen Tx
} def
/TS
{
0 eq {Tx} {Tj} ifelse
} def
currentdict readonly pop end
setpacking
%%EndResource

%%BeginResource: procset Adobe_Illustrator_AI3 1.0 0
%%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog)
%%Version: 1.0 
%%CreationDate: (7/22/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI3 71 dict dup begin put
/initialize
{
userdict /Adobe_Illustrator_AI3_vars 55 dict dup begin put
/_lp /none def
/_pf {} def
/_ps {} def
/_psf {} def
/_pss {} def
/_pjsf {} def
/_pjss {} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart [/e0 /r0 /a0 /o0 /i0 /i0 /i0 /i0] def 
/_renderEnd [null null null null /e1 /r1 /a1 /clip] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading [0 0] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/Tx {} def
/Tj {} def
/CRender {} def
/_AI3_savepage {} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc {} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc {} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
Adobe_Illustrator_AI3 begin
Adobe_Illustrator_AI3 dup /nc get begin
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_Illustrator_AI3 begin
Adobe_Illustrator_AI3_vars begin
newpath
} def
/terminate
{
end
end
} def


/_
null def
/ddef
{
Adobe_Illustrator_AI3_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin def end
} def
/npop
{
{
pop
} repeat
} def


/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index 1 sub mul add
4 1 roll 3 1 roll 1 sub mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth 
exch 5 -1 roll 3 index 1 sub mul add
4 1 roll 3 1 roll 1 sub mul add 
6 2 roll /_cnt 0 ddef
{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop 
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop 
(0) exch 2 copy 0 exch put 
gsave
_sp eq 
{
exch 6 index 6 index 6 index 5 -1 roll widthshow  
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
}ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop 
(0) exch 2 copy 0 exch put 
_sp eq 
{
exch 5 index 5 index 5 index 5 -1 roll widthshow  
}
{
false charpath
}ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf {} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/H {} def /h { closepath } def /N { _pola 0 eq {

_doClip 1 eq {clip /_doClip 0 ddef} if newpath } {

/CRender {N} ddef }ifelse } def /n {N} def

/F
{
_pola 0 eq 
{
_doClip 1 eq 
{
gsave _pf grestore clip newpath /_lp /none ddef _fc 
/_doClip 0 ddef
}
{
_pf
}ifelse
} 
{
/CRender {F} ddef
}ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq 
{
_doClip 1 eq 
{
gsave _ps grestore clip newpath /_lp /none ddef _sc 
/_doClip 0 ddef
}
{
_ps
}ifelse
} 
{
/CRender {S} ddef
}ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq 
{
_doClip 1 eq
gsave F grestore 
{
gsave S grestore clip newpath /_lp /none ddef _sc
/_doClip 0 ddef
} 
{
S
}ifelse
}
{
/CRender {B} ddef
}ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne 
{
dup type (stringtype) eq {pop} if
} if 
_pola 0 eq {newpath} if
} def
/u
{} def
/U
{} def
/q
{_pola 0 eq {gsave} if
} def
/Q
{
_pola 0 eq {grestore} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef 
_pola 0 eq {CRender} if
} def
/D
{pop} def
/*w
{} def
/*W
{} def
/`
{
/_i save ddef
6 1 roll 4 npop
concat
userdict begin
/showpage {} def
false setoverprint
pop
} def
/~ { end _i restore } def
/@
{} def
/&
{} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub [1 0 0 1 0 0] 
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{exec} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop ashow
} ifelse
grestore
pop
} for
pop
} for
restore

sw rmoveto
} ddef
/_pjsf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop awidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def


/A
{
pop
} def


/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop end
/Z {findfont begin currentdict dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall /FontName exch def dup length 0 ne
{/Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq
{Encoding 2 index 2 index put pop 1 add} {exch pop} ifelse} forall} if pop
currentdict dup end end /FontName get exch definefont pop} bind def
currentdict readonly pop end
setpacking
/annotatepage
{
} def

%%EndResource
%%EndProlog
%%BeginSetup
Adobe_cshow /initialize get exec
Adobe_customcolor /initialize get exec
Adobe_typography_AI3 /initialize get exec
Adobe_Illustrator_AI3 /initialize get exec
%%BeginEncoding:_Helvetica Helvetica
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica/Helvetica Z
%%EndEncoding
%%BeginEncoding:_Helvetica-Bold Helvetica-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-Bold/Helvetica-Bold Z
%%EndEncoding
%%BeginEncoding:_Helvetica-Oblique Helvetica-Oblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-Oblique/Helvetica-Oblique Z
%%EndEncoding
%%BeginEncoding:_Helvetica-BoldOblique Helvetica-BoldOblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-BoldOblique/Helvetica-BoldOblique Z
%%EndEncoding
%%BeginEncoding:_Times-Roman Times-Roman
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Roman/Times-Roman Z
%%EndEncoding
%%BeginEncoding:_Times-Bold Times-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Bold/Times-Bold Z
%%EndEncoding
%%BeginEncoding:_Times-Italic Times-Italic
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Italic/Times-Italic Z
%%EndEncoding
%%BeginEncoding:_Times-BoldItalic Times-BoldItalic
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-BoldItalic/Times-BoldItalic Z
%%EndEncoding
%%BeginEncoding:_Courier Courier
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier/Courier Z
%%EndEncoding
%%BeginEncoding:_Courier-Bold Courier-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-Bold/Courier-Bold Z
%%EndEncoding
%%BeginEncoding:_Courier-Oblique Courier-Oblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-Oblique/Courier-Oblique Z
%%EndEncoding
%%BeginEncoding:_Courier-BoldOblique Courier-BoldOblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-BoldOblique/Courier-BoldOblique Z
%%EndEncoding
%%BeginEncoding:_Symbol Symbol
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Symbol/Symbol Z
%%EndEncoding
%%EndSetup

u
  0.000 0.000 0.000 0.000 k
 [] 0 d
  0.000 0.000 0.000 1.000 K
1 j
  121.6800 90.4800 m
  252.2400 90.4800 L
  252.2400 153.6000 L
  121.6800 153.6000 L
  121.6800 90.4800 L
F
U
u
 [1 2 ] 0 d
  0.000 0.000 0.000 1.000 K
1 J
  121.6800 90.4800 m
  252.2400 90.4800 L
  252.2400 153.6000 L
  121.6800 153.6000 L
  121.6800 90.4800 L
S
U
u
  0.000 0.000 0.000 0.000 k
 [] 0 d
  0.2400 95.0400 m
  72.2400 95.0400 L
  72.2400 113.0400 L
  0.2400 113.0400 L
  0.2400 95.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 7.6800 101.7600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Ethernet Driver\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  0.2400 54.4800 m
  72.2400 54.4800 L
  72.2400 72.4800 L
  0.2400 72.4800 L
  0.2400 54.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 11.7600 61.2000 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(ether_input\(\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 1.000 K
1 j
  36.2400 95.0400 m
  36.2400 77.5200 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  39.1200 78.0000 m
  36.2400 72.4800 L
  33.6000 78.0000 L
  39.1200 78.0000 L
F
U
u
  0.000 0.000 0.000 1.000 K
  72.2400 68.1600 m
  121.4400 68.1600 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  120.7200 70.8000 m
  126.2400 68.1600 L
  120.7200 65.2800 L
  120.7200 70.8000 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  82.8000 83.0400 m
  82.8000 69.6000 L
  115.9200 69.6000 L
  115.9200 83.0400 L
  82.8000 83.0400 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 83.5200 73.4400 0 Tp
TP
/_Helvetica 6.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(all frames\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 1.000 K
1 j
  77.0400 59.0400 m
  126.2400 59.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  77.7600 56.4000 m
  72.2400 59.0400 L
  77.7600 61.9200 L
  77.7600 56.4000 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  75.3600 49.9200 m
  75.3600 24.4800 L
  123.1200 24.4800 L
  123.1200 49.9200 L
  75.3600 49.9200 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 76.0800 40.3200 0 Tp
TP
/_Helvetica 6.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(broadcast and\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 79.6800 28.3200 0 Tp
TP
/_Helvetica 6.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(local frames\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  126.2400 54.4800 m
  198.2400 54.4800 L
  198.2400 72.4800 L
  126.2400 72.4800 L
  126.2400 54.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 135.6000 61.2000 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(bridge_input\(\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  315.3600 45.6000 m
  318.0000 46.0800 L
  320.6400 47.2800 L
  322.5600 49.2000 L
  323.7600 51.8400 L
  324.2400 54.4800 L
  324.2400 72.4800 L
  323.7600 75.3600 L
  322.5600 78.0000 L
  320.6400 79.9200 L
  318.0000 81.1200 L
  315.3600 81.6000 L
  261.3600 81.6000 L
  258.4800 81.1200 L
  255.8400 79.9200 L
  253.9200 78.0000 L
  252.7200 75.3600 L
  252.2400 72.4800 L
  252.2400 54.4800 L
  252.7200 51.8400 L
  253.9200 49.2000 L
  255.8400 47.2800 L
  258.4800 46.0800 L
  261.3600 45.6000 L
  315.3600 45.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 260.1600 70.8000 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Frame queued,\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 263.5200 61.2000 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(soft interrupt\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 268.8000 51.6000 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(scheduled\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 1.000 K
1 j
  198.2400 63.6000 m
  247.4400 63.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  246.7200 66.2400 m
  252.2400 63.6000 L
  246.7200 60.7200 L
  246.7200 66.2400 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  196.8000 49.9200 m
  196.8000 24.4800 L
  253.6800 24.4800 L
  253.6800 49.9200 L
  196.8000 49.9200 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 202.0800 40.3200 0 Tp
TP
/_Helvetica 6.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(broadcast and\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 197.5200 28.3200 0 Tp
TP
/_Helvetica 6.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
( non-local frames\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  0.2400 131.0400 m
  72.2400 131.0400 L
  72.2400 149.0400 L
  0.2400 149.0400 L
  0.2400 131.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 19.9200 137.7600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Ethernet\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 1.000 K
1 j
  36.2400 131.0400 m
  36.2400 117.8400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  39.1200 118.5600 m
  36.2400 113.0400 L
  33.6000 118.5600 L
  39.1200 118.5600 L
F
U
u
  0.000 0.000 0.000 1.000 K
  36.2400 54.4800 m
  36.2400 27.8400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  39.1200 28.5600 m
  36.2400 23.0400 L
  33.6000 28.5600 L
  39.1200 28.5600 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  0.2400 0.4800 m
  72.2400 0.4800 L
  72.2400 23.0400 L
  0.2400 23.0400 L
  0.2400 0.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 22.0800 14.1600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-3\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 18.2400 4.5600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(Protocols\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  126.2400 131.0400 m
  198.2400 131.0400 L
  198.2400 149.0400 L
  126.2400 149.0400 L
  126.2400 131.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 141.1200 137.7600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(IPsec \(enc\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
1 j
  126.2400 95.0400 m
  198.2400 95.0400 L
  198.2400 113.0400 L
  126.2400 113.0400 L
  126.2400 95.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 134.1600 101.7600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(etherip_input\(\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 1.000 K
1 j
  162.2400 131.0400 m
  162.2400 117.8400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  165.1200 118.5600 m
  162.2400 113.0400 L
  159.6000 118.5600 L
  165.1200 118.5600 L
F
U
u
  0.000 0.000 0.000 1.000 K
  162.2400 95.0400 m
  162.2400 77.5200 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  165.1200 78.0000 m
  162.2400 72.4800 L
  159.6000 78.0000 L
  165.1200 78.0000 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 215.0400 124.5600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(IPsec\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 205.2000 114.9600 0 Tp
TP
/_Helvetica 7.5000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(extensions\r) Tx
TO
  0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI3 /terminate get exec
Adobe_typography_AI3 /terminate get exec
Adobe_customcolor /terminate get exec
Adobe_cshow /terminate get exec
Adobe_packedarray /terminate get exec
%%EOF

%%EndDocument
 @endspecial 751 1466 a Fk(Figure)27 b(1:)36 b(F)-7 b(rame)27
b(\015o)n(w)g(from)h(driv)n(er)e(to)h(bridge)g(and)h(la)n(y)n(er-3)d
(proto)r(cols.)0 1814 y(in)n(terfaces)34 b(with)h(m)n(ulticast)g
(tra\016c)f(from)g(fast)h(ethernet)0 1914 y(in)n(terfaces,)24
b(it)g(is)g(p)r(ossible)g(to)f(disallo)n(w)g(m)n(ulticast)h(pac)n(k)n
(et)0 2013 y(and/or)19 b(frame)g(forw)n(arding)f(o)n(v)n(er)h(the)h
(bridge.)34 b(Curren)n(tly)-7 b(,)0 2113 y(this)28 b(is)f(sp)r
(eci\014ed)h(for)f(the)h(whole)f(bridge.)36 b(In)28 b(the)g(future,)0
2213 y(w)n(e)35 b(w)n(ould)g(lik)n(e)g(to)g(b)r(e)h(able)f(to)g(sp)r
(ecify)h(this)f(on)h(a)e(p)r(er-)0 2312 y(mem)n(b)r(er)27
b(in)n(terface)g(basis.)0 2810 y Fl(2.1)105 b(La)m(y)m(er-3)35
b(Filtering)0 3308 y Fk(Before)k(frames)g(are)h(forw)n(arded,)h(they)f
(are)f(\014ltered)h(b)n(y)0 3407 y(calling)28 b(one)h(of)g(the)h
Fj(ipf)g Fk(routines)f(with)g(the)h(frame)f(to)g(b)r(e)0
3507 y(pro)r(cessed.)60 b(This)35 b(allo)n(ws)g(for)g(standard)f
(\014ltering)i(rules)0 3607 y(to)e(b)r(e)g(applied)g(to)g(bridge)f(mem)
n(b)r(er)h(in)n(terfaces)f(as)g(they)0 3706 y(w)n(ould)d(b)r(e)h(for)f
(normal)g(routed)g(\014rew)n(all.)45 b(Rules)31 b(are)f(ap-)0
3806 y(plied)g(to)g(all)g(incoming)g(frames)f(that)i(con)n(tain)e(IP)h
(tra\016c)0 3906 y(and)d(are)g(b)r(ound)h(to)f(eac)n(h)g(mem)n(b)r(er)h
(in)n(terface.)0 4105 y(The)33 b Fj(ipf)h Fk(routines)e(exp)r(ect)h(an)
f(IP)h(pac)n(k)n(et)e(to)i(b)r(e)g(passed)0 4204 y(to)j(them,)j(but)d
(the)h(bridge)e(op)r(erates)g(in)h(terms)g(of)g(eth-)0
4304 y(ernet)d(frames.)55 b(The)34 b(ethernet)f(header)g(is)h(examined)
f(to)0 4404 y(determine)23 b(whether)g(the)g(frame)f(con)n(tains)g(an)h
(IP)f(pac)n(k)n(et.)0 4503 y(Since)27 b(there)f(are)g(t)n(w)n(o)g(p)r
(ossible)g(encapsulation)g(metho)r(ds)0 4603 y(for)36
b(IP)f(o)n(v)n(er)g(ethernet,)j(b)r(oth)f(m)n(ust)f(b)r(e)g(examined)g
(and)0 4703 y(the)24 b(appropriate)e(amoun)n(t)h(of)h(header)f
(information)g(m)n(ust)0 4802 y(b)r(e)29 b(copied)f(and)g(remo)n(v)n
(ed)e(from)i(the)h(frame,)f(lea)n(ving)f(the)0 4902 y(IP)21
b(data)f(in)n(tact.)35 b(The)21 b(resulting)g(pac)n(k)n(et)f(is)h
(passed)f(to)h Fj(ipf,)0 5001 y Fk(whic)n(h)k(either)f(drops)g(the)h
(pac)n(k)n(et)f(or)g(returns)g(it.)36 b(P)n(ac)n(k)n(ets)0
5101 y(that)28 b(are)e(not)h(\014ltered)g(ha)n(v)n(e)f(their)h
(ethernet)h(headers)e(re-)0 5201 y(attac)n(hed)21 b(and)h(are)e
(\014nally)i(forw)n(arded)e(as)h(determined)g(b)n(y)0
5300 y(the)26 b(bridge.)36 b(Using)26 b(this)g(approac)n(h,)f(w)n(e)h
(a)n(v)n(oided)e(ha)n(ving)0 5400 y(to)j(mo)r(dify)i
Fj(ipf)g Fk(co)r(de)e(at)g(all.)2010 1814 y Fl(2.2)105
b(La)m(y)m(er-2)35 b(Filtering)2010 2113 y Fk(In)d(addition)g(to)g(pro)
n(viding)f(IP)h(\(La)n(y)n(er-3)m(\))h(\014ltering,)g(the)2010
2212 y(bridge)21 b(is)h(capable)e(of)i(\014ltering)f(pac)n(k)n(ets)g
(based)g(on)g(source)2010 2312 y(and)30 b(destination)g(ethernet)g(MA)n
(C)g(address.)43 b(The)30 b(\014lter-)2010 2412 y(ing)25
b(rules)g(follo)n(w)f(a)h(syn)n(tax)g(m)n(uc)n(h)g(lik)n(e)g(the)h
Fj(ipf)g Fk(rules)f(and)2010 2511 y(are)35 b(applied)h(in)g(the)g
(order)e(in)j(whic)n(h)e(they)h(are)f(added.)2010 2611
y(Rules)26 b(can)g(b)r(e)h(applied)f(b)r(oth)h(as)e(a)h(frame)g(is)g
(receiv)n(ed)f(b)n(y)2010 2711 y(the)f(bridge)e(\(on)i(input\))g(or)f
(b)r(efore)g(the)h(frame)f(is)g(sen)n(t)g(out)2010 2810
y(from)k(the)h(bridge)f(\(output\).)2010 3009 y(The)42
b(bridge)g(can)f(also)g(b)r(e)i(used)f(to)g(blo)r(c)n(k)f(all)h(non-IP)
2010 3109 y(tra\016c.)66 b(A)38 b(\015ag)f(on)g(eac)n(h)g(mem)n(b)r(er)
g(in)n(terface)g(sp)r(eci\014es)2010 3209 y(whether)29
b(it)h(should)f(allo)n(w)g(non-IP)f(tra\016c)h(to)g(b)r(e)h(passed)2010
3308 y(in)c(or)e(out)i(based)f(on)g(the)h(proto)r(col)e(\014eld)i(in)g
(the)g(ethernet)2010 3408 y(header.)35 b(This)23 b(allo)n(ws)e(frames)i
(to)g(b)r(e)g(blo)r(c)n(k)n(ed)g(when)g(they)2010 3508
y(cannot)31 b(b)r(e)h(\014ltered)g(b)n(y)f(the)h(La)n(y)n(er-3)d(mec)n
(hanisms)i(pro-)2010 3607 y(vided)g(so)f(that)h(tunnels)g(through)f
(other)g(proto)r(cols)g(can-)2010 3707 y(not)25 b(b)r(e)h(created.)35
b(The)25 b(only)g(proto)r(cols)e(allo)n(w)n(ed)h(through)2010
3806 y(an)41 b(in)n(terface)g(with)i(this)f(\015ag)e(are)h(the)h(proto)
r(cols)e(nec-)2010 3906 y(essary)d(for)i(IP)g(to)g(function:)60
b(IPv4,)41 b(IPv6,)g(ARP)-7 b(,)39 b(and)2010 4006 y(RARP)-7
b(.)2010 4304 y Fl(2.3)105 b(Bridge)36 b(as)f(Normal)f(Host)2010
4603 y Fk(A)e(mac)n(hine)e(acting)h(as)g(a)f(bridge)h(need)g(not)h(ha)n
(v)n(e)e(an)h(IP)2010 4703 y(address.)42 b(All)31 b(of)e(the)i
(\014ltering)e(pro)n(vided)g(b)n(y)h(the)g(bridge)2010
4802 y(and)f Fj(ipf)h Fk(can)f(b)r(e)g(handled)g(in)g(the)g(absence)g
(of)g(an)f(IP)h(ad-)2010 4902 y(dress,)e(and)g(this)h(is)g(actually)f
(an)g(easier)f(case)h(to)g(handle.)2010 5101 y(F)-7 b(or)29
b(the)i(bridge)e(mac)n(hine)g(to)h(act)g(as)f(a)h(normal)f(host,)h(in)
2010 5201 y(addition)36 b(to)g(its)g(duties)h(as)e(a)h(bridge,)h(sev)n
(eral)d(c)n(hanges)2010 5300 y(w)n(ere)g(necessary)g(to)h(the)h(path)f
(a)g(frame)g(tak)n(es)f(through)2010 5400 y(the)27 b(k)n(ernel.)36
b(As)26 b(discussed)g(ab)r(o)n(v)n(e,)g(unicast)g(frames)g(that)p
eop
%%Page: 4 4
4 3 bop 372 1258 a @beginspecial 0 @llx 0 @lly 375 @urx
151 @ury 3750 @rwi @setspecial
%%BeginDocument: bridge2.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: F:\Bridge-paper\bridge2.eps
%%CreationDate: () ()
%%BoundingBox: 0.0000 0.0000 375.0000 151.0000
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_packedarray 2.0 0
%%+ procset Adobe_cmykcolor 1.1 0
%%+ procset Adobe_cshow 1.1 0
%%+ procset Adobe_customcolor 1.0 0
%%+ procset Adobe_typography_AI3 1.0 0
%%+ procset Adobe_Illustrator_AI3 1.0 0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0.0000 0.0000 375.0000 151.0000
%AI3_TileBox: 0.0000 0.0000 375.0000 151.0000
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_packedarray 2.0 0
%%Title: (Packed Array Operators)
%%Version: 2.0
%%CreationDate: (8/2/90) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_packedarray 5 dict dup begin put
/initialize
{
/packedarray where
{
pop
}
{
Adobe_packedarray begin
Adobe_packedarray
{
dup xcheck
{
bind
} if
userdict 3 1 roll put
} forall
end
} ifelse
} def
/terminate
{
} def
/packedarray
{
array astore readonly
} def
/setpacking
{
pop
} def
/currentpacking
{
false
} def
currentdict readonly pop end
%%EndResource

Adobe_packedarray /initialize get exec

%%Title: (CMYK Color Operators)
%%Version: 1.1 
%%CreationDate: (1/23/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_cmykcolor 4 dict dup begin put
/initialize
{
/setcmykcolor where
{
pop
}
{
userdict /Adobe_cmykcolor_vars 2 dict dup begin put
/_setrgbcolor
/setrgbcolor load def
/_currentrgbcolor
/currentrgbcolor load def
Adobe_cmykcolor begin
Adobe_cmykcolor
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
Adobe_cmykcolor begin
} ifelse
} def
/terminate
{
currentdict Adobe_cmykcolor eq
{
end
} if
} def
/setcmykcolor
{
1 sub 4 1 roll
3
{
3 index add neg dup 0 lt
{
pop 0
} if
3 1 roll
} repeat
Adobe_cmykcolor_vars /_setrgbcolor get exec
pop
} def 
/currentcmykcolor
{
Adobe_cmykcolor_vars /_currentrgbcolor get exec
3
{
1 sub neg 3 1 roll
} repeat
0
} def
currentdict readonly pop end
setpacking

%%EndResource

%%BeginResource: procset Adobe_cshow 1.1 0
%%Title: (cshow Operator)
%%Version: 1.1 
%%CreationDate: (1/23/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_cshow 3 dict dup begin put
/initialize
{
/cshow where
{
pop
}
{
userdict /Adobe_cshow_vars 1 dict dup begin put
/_cshow 
{} def
Adobe_cshow begin
Adobe_cshow
{
dup xcheck
{
bind
} if
userdict 3 1 roll put
} forall
end
end
} ifelse
} def
/terminate
{
} def
/cshow
{
exch
Adobe_cshow_vars
exch /_cshow
exch put
{
0 0 Adobe_cshow_vars /_cshow get exec
} forall
} def
currentdict readonly pop end
setpacking


%%EndResource

%%BeginResource: procset Adobe_customcolor 1.0 0
%%Title: (Custom Color Operators)
%%Version: 1.0 
%%CreationDate: (5/9/88) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_customcolor 5 dict dup begin put
/initialize
{
/setcustomcolor where
{
pop
}
{
Adobe_customcolor begin
Adobe_customcolor
{
dup xcheck
{
bind
} if
pop pop
} forall
end
Adobe_customcolor begin
} ifelse
} def
/terminate
{
currentdict Adobe_customcolor eq
{
end
} if
} def
/findcmykcustomcolor
{
5 packedarray
}  def
/setcustomcolor
{
exch
aload pop pop
4
{
4 index mul 4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
} def
/setoverprint
{
pop
} def
currentdict readonly pop end
setpacking
%%EndResource 



%%BeginResource: procset Adobe_typography_AI3 1.0 0
%%Title: (Typography Operators)%%Version: 1.0
%%CreationDate:(5/31/90) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI3 46 dict dup begin put
/initialize
{
/TZ
where
{
pop
}
{
Adobe_typography_AI3 begin
Adobe_typography_AI3
{
dup xcheck
{
bind
} if
pop pop
} forall
end
Adobe_typography_AI3 begin
} ifelse
} def
/terminate
{
currentdict Adobe_typography_AI3 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq   
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
}
ifelse
}
ifelse
}
loop 
_tempEncode
}
def
/TE 
{
StandardEncoding 256 array copy modifyEncoding 
/_nativeEncoding exch def
} def
/TZ  
{
/_useNativeEncoding exch def
pop pop
findfont dup length 2 add dict
begin
mark exch
{
1 index /FID ne { def } if cleartomark mark
}
forall
pop
/FontName exch def
counttomark 0 eq
{
Encoding StandardEncoding eq 1 _useNativeEncoding eq and
{
/Encoding _nativeEncoding def
}
if
cleartomark
}
{ 
/Encoding load 256 array copy 
modifyEncoding /Encoding exch def
}
ifelse  
FontName currentdict
end
definefont pop
}
def
/tr
{
_ax _ay 3 2 roll
} def
/trj 
{
_cx _cy _sp _ax _ay 6 5 roll
} def


/a0
{
/Tx 
{
dup 
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj 
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
W B
} def
/e0
{
/Tx 
{
tr _psf
} ddef
/Tj 
{
trj _pjsf
} ddef
} def
/e1
{
W F 
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
W S
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
Te _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix 
2 dict begin /W {} def /h {} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
Te currentpoint newpath moveto
dup 8 eq {pop 0} {dup 9 eq {pop 1} if} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm 
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Te
{
_render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} ifelse} ifelse
/_render -1 ddef
} def
/Tf
{
dup 1000 div /_fScl exch ddef
exch findfont exch scalefont setfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt 
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/Tq 
{
pop
} def
/TX {pop} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/T- 
{
_hyphen Tx
} def
/TS
{
0 eq {Tx} {Tj} ifelse
} def
currentdict readonly pop end
setpacking
%%EndResource

%%BeginResource: procset Adobe_Illustrator_AI3 1.0 0
%%Title: (Adobe Illustrator (R) Version 3.0 Full Prolog)
%%Version: 1.0 
%%CreationDate: (7/22/89) ()
%%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI3 71 dict dup begin put
/initialize
{
userdict /Adobe_Illustrator_AI3_vars 55 dict dup begin put
/_lp /none def
/_pf {} def
/_ps {} def
/_psf {} def
/_pss {} def
/_pjsf {} def
/_pjss {} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart [/e0 /r0 /a0 /o0 /i0 /i0 /i0 /i0] def 
/_renderEnd [null null null null /e1 /r1 /a1 /clip] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading [0 0] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/Tx {} def
/Tj {} def
/CRender {} def
/_AI3_savepage {} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc {} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc {} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
Adobe_Illustrator_AI3 begin
Adobe_Illustrator_AI3 dup /nc get begin
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_Illustrator_AI3 begin
Adobe_Illustrator_AI3_vars begin
newpath
} def
/terminate
{
end
end
} def


/_
null def
/ddef
{
Adobe_Illustrator_AI3_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin def end
} def
/npop
{
{
pop
} repeat
} def


/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index 1 sub mul add
4 1 roll 3 1 roll 1 sub mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth 
exch 5 -1 roll 3 index 1 sub mul add
4 1 roll 3 1 roll 1 sub mul add 
6 2 roll /_cnt 0 ddef
{1 index eq {/_cnt _cnt 1 add ddef} if} forall pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop 
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop 
(0) exch 2 copy 0 exch put 
gsave
_sp eq 
{
exch 6 index 6 index 6 index 5 -1 roll widthshow  
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
}ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop 
(0) exch 2 copy 0 exch put 
_sp eq 
{
exch 5 index 5 index 5 index 5 -1 roll widthshow  
}
{
false charpath
}ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf {} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/H {} def /h { closepath } def /N { _pola 0 eq {

_doClip 1 eq {clip /_doClip 0 ddef} if newpath } {

/CRender {N} ddef }ifelse } def /n {N} def

/F
{
_pola 0 eq 
{
_doClip 1 eq 
{
gsave _pf grestore clip newpath /_lp /none ddef _fc 
/_doClip 0 ddef
}
{
_pf
}ifelse
} 
{
/CRender {F} ddef
}ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq 
{
_doClip 1 eq 
{
gsave _ps grestore clip newpath /_lp /none ddef _sc 
/_doClip 0 ddef
}
{
_ps
}ifelse
} 
{
/CRender {S} ddef
}ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq 
{
_doClip 1 eq
gsave F grestore 
{
gsave S grestore clip newpath /_lp /none ddef _sc
/_doClip 0 ddef
} 
{
S
}ifelse
}
{
/CRender {B} ddef
}ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne 
{
dup type (stringtype) eq {pop} if
} if 
_pola 0 eq {newpath} if
} def
/u
{} def
/U
{} def
/q
{_pola 0 eq {gsave} if
} def
/Q
{
_pola 0 eq {grestore} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef 
_pola 0 eq {CRender} if
} def
/D
{pop} def
/*w
{} def
/*W
{} def
/`
{
/_i save ddef
6 1 roll 4 npop
concat
userdict begin
/showpage {} def
false setoverprint
pop
} def
/~ { end _i restore } def
/@
{} def
/&
{} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
fill
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub [1 0 0 1 0 0] 
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{exec} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop ashow
} ifelse
grestore
pop
} for
pop
} for
restore

sw rmoveto
} ddef
/_pjsf
{
save
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop awidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def


/A
{
pop
} def


/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop end
/Z {findfont begin currentdict dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall /FontName exch def dup length 0 ne
{/Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq
{Encoding 2 index 2 index put pop 1 add} {exch pop} ifelse} forall} if pop
currentdict dup end end /FontName get exch definefont pop} bind def
currentdict readonly pop end
setpacking
/annotatepage
{
} def

%%EndResource
%%EndProlog
%%BeginSetup
Adobe_cshow /initialize get exec
Adobe_customcolor /initialize get exec
Adobe_typography_AI3 /initialize get exec
Adobe_Illustrator_AI3 /initialize get exec
%%BeginEncoding:_Helvetica Helvetica
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica/Helvetica Z
%%EndEncoding
%%BeginEncoding:_Helvetica-Bold Helvetica-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-Bold/Helvetica-Bold Z
%%EndEncoding
%%BeginEncoding:_Helvetica-Oblique Helvetica-Oblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-Oblique/Helvetica-Oblique Z
%%EndEncoding
%%BeginEncoding:_Helvetica-BoldOblique Helvetica-BoldOblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Helvetica-BoldOblique/Helvetica-BoldOblique Z
%%EndEncoding
%%BeginEncoding:_Times-Roman Times-Roman
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Roman/Times-Roman Z
%%EndEncoding
%%BeginEncoding:_Times-Bold Times-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Bold/Times-Bold Z
%%EndEncoding
%%BeginEncoding:_Times-Italic Times-Italic
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-Italic/Times-Italic Z
%%EndEncoding
%%BeginEncoding:_Times-BoldItalic Times-BoldItalic
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Times-BoldItalic/Times-BoldItalic Z
%%EndEncoding
%%BeginEncoding:_Courier Courier
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier/Courier Z
%%EndEncoding
%%BeginEncoding:_Courier-Bold Courier-Bold
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-Bold/Courier-Bold Z
%%EndEncoding
%%BeginEncoding:_Courier-Oblique Courier-Oblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-Oblique/Courier-Oblique Z
%%EndEncoding
%%BeginEncoding:_Courier-BoldOblique Courier-BoldOblique
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Courier-BoldOblique/Courier-BoldOblique Z
%%EndEncoding
%%BeginEncoding:_Symbol Symbol
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand 
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright 
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash 
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi 
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright 
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring 
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu 
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine 
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute 
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla 
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute 
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute 
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash 
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn 
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis 
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex 
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis 
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde 
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex 
252/udieresis 253/yacute 254/thorn 255/ydieresis
]  /_Symbol/Symbol Z
%%EndEncoding
%%EndSetup

u
  0.000 0.000 0.000 0.000 k
 [] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  0.4800 126.4800 m
  54.4800 126.4800 L
  54.4800 144.4800 L
  0.4800 144.4800 L
  0.4800 126.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 11.2800 133.6800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(bridgeintr\(\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  0.4800 95.0400 m
  54.4800 95.0400 L
  54.4800 113.0400 L
  0.4800 113.0400 L
  0.4800 95.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 9.8400 105.8400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Record MAC\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 6.0000 98.6400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 K
  0.000 0.000 0.000 1.000 k
(source address\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  0.4800 63.6000 m
  54.4800 63.6000 L
  54.4800 81.6000 L
  0.4800 81.6000 L
  0.4800 63.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 12.0000 74.4000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Drop same\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 4.8000 67.2000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(segment frames\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  0.4800 0.4800 m
  54.4800 0.4800 L
  54.4800 18.4800 L
  0.4800 18.4800 L
  0.4800 0.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 17.7600 11.2800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Non-IP\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 15.1200 4.0800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(handling\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  0.4800 31.9200 m
  54.4800 31.9200 L
  54.4800 49.9200 L
  0.4800 49.9200 L
  0.4800 31.9200 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 14.1600 42.7200 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Multicast\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 15.1200 35.5200 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(handling\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  153.6000 0.4800 m
  207.6000 0.4800 L
  207.6000 18.4800 L
  153.6000 18.4800 L
  153.6000 0.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 158.1600 11.2800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-2 filtering\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 170.8800 4.0800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(\(input\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  77.0400 0.4800 m
  131.0400 0.4800 L
  131.0400 18.4800 L
  77.0400 18.4800 L
  77.0400 0.4800 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 87.3600 11.2800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-3 \(IP\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 93.1200 4.0800 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(filtering\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.2500 w
  0.000 0.000 0.000 1.000 K
1 J
1 j
  27.6000 126.4800 m
  27.6000 116.6400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  29.5200 117.1200 m
  27.6000 113.0400 L
  25.4400 117.1200 L
  29.5200 117.1200 L
F
U
u
  0.000 0.000 0.000 1.000 K
  27.6000 95.0400 m
  27.6000 85.2000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  29.5200 85.6800 m
  27.6000 81.6000 L
  25.4400 85.6800 L
  29.5200 85.6800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  27.6000 63.6000 m
  27.6000 53.5200 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  29.5200 54.0000 m
  27.6000 49.9200 L
  25.4400 54.0000 L
  29.5200 54.0000 L
F
U
u
  0.000 0.000 0.000 1.000 K
  27.6000 31.9200 m
  27.6000 22.0800 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  29.5200 22.5600 m
  27.6000 18.4800 L
  25.4400 22.5600 L
  29.5200 22.5600 L
F
U
u
  0.000 0.000 0.000 1.000 K
  54.4800 9.6000 m
  73.4400 9.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  72.9600 11.5200 m
  77.0400 9.6000 L
  72.9600 7.4400 L
  72.9600 11.5200 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 35.0400 117.8400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Individual Frame\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  131.0400 9.6000 m
  150.0000 9.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  149.5200 11.5200 m
  153.6000 9.6000 L
  149.5200 7.4400 L
  149.5200 11.5200 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  108.4800 63.6000 m
  162.4800 63.6000 L
  162.4800 81.6000 L
  108.4800 81.6000 L
  108.4800 63.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 113.0400 74.4000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-2 filtering\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 124.0800 67.2000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(\(output\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  153.6000 95.0400 m
  156.2400 95.5200 L
  158.8800 96.7200 L
  160.8000 98.6400 L
  162.0000 101.2800 L
  162.4800 103.9200 L
  162.0000 106.8000 L
  160.8000 109.4400 L
  158.8800 111.3600 L
  156.2400 112.5600 L
  153.6000 113.0400 L
  117.6000 113.0400 L
  114.7200 112.5600 L
  112.0800 111.3600 L
  110.1600 109.4400 L
  108.9600 106.8000 L
  108.4800 103.9200 L
  108.9600 101.2800 L
  110.1600 98.6400 L
  112.0800 96.7200 L
  114.7200 95.5200 L
  117.6000 95.0400 L
  153.6000 95.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 120.4800 105.8400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Queued on\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 120.4800 98.6400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(interface 1\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  138.0000 60.9600 m
  180.4800 18.4800 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  137.0400 59.2800 m
  135.6000 63.6000 L
  139.9200 62.1600 L
  137.0400 59.2800 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  95.0400 135.6000 m
  126.4800 135.6000 L
  126.4800 144.4800 L
  95.0400 144.4800 L
  95.0400 135.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 99.3600 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Ethernet\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 131.2800 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(OR\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  144.4800 135.6000 m
  175.9200 135.6000 L
  175.9200 144.4800 L
  144.4800 144.4800 L
  144.4800 135.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 152.6400 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(IPsec\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  113.2800 133.2000 m
  135.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  112.3200 131.2800 m
  110.6400 135.6000 L
  115.2000 134.4000 L
  112.3200 131.2800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  157.6800 133.2000 m
  135.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  158.6400 131.2800 m
  160.3200 135.6000 L
  155.7600 134.4000 L
  158.6400 131.2800 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  198.4800 63.6000 m
  252.4800 63.6000 L
  252.4800 81.6000 L
  198.4800 81.6000 L
  198.4800 63.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 203.0400 74.4000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-2 filtering\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 214.0800 67.2000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(\(output\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  243.6000 95.0400 m
  246.2400 95.5200 L
  248.8800 96.7200 L
  250.8000 98.6400 L
  252.0000 101.2800 L
  252.4800 103.9200 L
  252.0000 106.8000 L
  250.8000 109.4400 L
  248.8800 111.3600 L
  246.2400 112.5600 L
  243.6000 113.0400 L
  207.6000 113.0400 L
  204.7200 112.5600 L
  202.0800 111.3600 L
  200.1600 109.4400 L
  198.9600 106.8000 L
  198.4800 103.9200 L
  198.9600 101.2800 L
  200.1600 98.6400 L
  202.0800 96.7200 L
  204.7200 95.5200 L
  207.6000 95.0400 L
  243.6000 95.0400 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 210.4800 105.8400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Queued on\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 210.4800 98.6400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(interface 2\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  185.0400 135.6000 m
  216.4800 135.6000 L
  216.4800 144.4800 L
  185.0400 144.4800 L
  185.0400 135.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 189.3600 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Ethernet\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 221.2800 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(OR\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  234.4800 135.6000 m
  265.9200 135.6000 L
  265.9200 144.4800 L
  234.4800 144.4800 L
  234.4800 135.6000 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 242.6400 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(IPsec\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  203.2800 133.2000 m
  225.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  202.3200 131.2800 m
  200.6400 135.6000 L
  205.2000 134.4000 L
  202.3200 131.2800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  247.6800 133.2000 m
  225.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  248.6400 131.2800 m
  250.3200 135.6000 L
  245.7600 134.4000 L
  248.6400 131.2800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  222.9600 60.9600 m
  180.4800 18.4800 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  223.9200 59.2800 m
  225.6000 63.6000 L
  221.0400 62.1600 L
  223.9200 59.2800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  135.6000 91.4400 m
  135.6000 81.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  137.5200 90.9600 m
  135.6000 95.0400 L
  133.4400 90.9600 L
  137.5200 90.9600 L
F
U
u
  0.000 0.000 0.000 1.000 K
  225.6000 91.4400 m
  225.6000 81.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  227.5200 90.9600 m
  225.6000 95.0400 L
  223.4400 90.9600 L
  227.5200 90.9600 L
F
U
u
  0.000 0.000 0.000 0.000 k
  0.000 0.000 0.000 1.000 K
  306.4800 63.6000 m
  360.4800 63.6000 L
  360.4800 81.6000 L
  306.4800 81.6000 L
  306.4800 63.6000 L
F
U
u
 [1 2 ] 0 d
  0.000 0.000 0.000 1.000 K
  306.4800 63.6000 m
  360.4800 63.6000 L
  360.4800 81.6000 L
  306.4800 81.6000 L
  306.4800 63.6000 L
S
U
0 To
1.0000 0.0000 0.0000 1.0000 311.0400 74.4000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
 [] 0 d
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Layer-2 filtering\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 322.0800 67.2000 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(\(output\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
 [1 2 ] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  351.6000 95.0400 m
  354.2400 95.5200 L
  356.8800 96.7200 L
  358.8000 98.6400 L
  360.0000 101.2800 L
  360.4800 103.9200 L
  360.0000 106.8000 L
  358.8000 109.4400 L
  356.8800 111.3600 L
  354.2400 112.5600 L
  351.6000 113.0400 L
  315.6000 113.0400 L
  312.7200 112.5600 L
  310.0800 111.3600 L
  308.1600 109.4400 L
  306.9600 106.8000 L
  306.4800 103.9200 L
  306.9600 101.2800 L
  308.1600 98.6400 L
  310.0800 96.7200 L
  312.7200 95.5200 L
  315.6000 95.0400 L
  351.6000 95.0400 L
F
U
u
  0.000 0.000 0.000 1.000 K
  351.6000 95.0400 m
  354.2400 95.5200 L
  356.8800 96.7200 L
  358.8000 98.6400 L
  360.0000 101.2800 L
  360.4800 103.9200 L
  360.0000 106.8000 L
  358.8000 109.4400 L
  356.8800 111.3600 L
  354.2400 112.5600 L
  351.6000 113.0400 L
  315.6000 113.0400 L
  312.7200 112.5600 L
  310.0800 111.3600 L
  308.1600 109.4400 L
  306.9600 106.8000 L
  306.4800 103.9200 L
  306.9600 101.2800 L
  308.1600 98.6400 L
  310.0800 96.7200 L
  312.7200 95.5200 L
  315.6000 95.0400 L
  351.6000 95.0400 L
S
U
0 To
1.0000 0.0000 0.0000 1.0000 318.4800 105.8400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
 [] 0 d
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Queued on\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 318.0000 98.6400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(interface N\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
 [1 2 ] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  293.0400 135.6000 m
  324.4800 135.6000 L
  324.4800 144.4800 L
  293.0400 144.4800 L
  293.0400 135.6000 L
F
U
u
  0.000 0.000 0.000 1.000 K
  293.0400 135.6000 m
  324.4800 135.6000 L
  324.4800 144.4800 L
  293.0400 144.4800 L
  293.0400 135.6000 L
S
U
0 To
1.0000 0.0000 0.0000 1.0000 297.3600 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
 [] 0 d
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(Ethernet\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 329.2800 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(OR\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
 [1 2 ] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  342.4800 135.6000 m
  373.9200 135.6000 L
  373.9200 144.4800 L
  342.4800 144.4800 L
  342.4800 135.6000 L
F
U
u
  0.000 0.000 0.000 1.000 K
  342.4800 135.6000 m
  373.9200 135.6000 L
  373.9200 144.4800 L
  342.4800 144.4800 L
  342.4800 135.6000 L
S
U
0 To
1.0000 0.0000 0.0000 1.0000 350.6400 138.2400 0 Tp
TP
/_Helvetica 6.0000 Tf
0.0000 Tc
 0 Tr
 [] 0 d
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(IPsec\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
 [1 2 ] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  311.2800 133.2000 m
  333.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  310.3200 131.2800 m
  308.6400 135.6000 L
  313.2000 134.4000 L
  310.3200 131.2800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  355.6800 133.2000 m
  333.6000 113.0400 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  356.6400 131.2800 m
  358.3200 135.6000 L
  353.7600 134.4000 L
  356.6400 131.2800 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 274.5600 138.7200 0 Tp
TP
/_Helvetica 12.0000 Tf
0.0000 Tc
 0 Tr
 [] 0 d
0.0000 w
  0.000 0.000 0.000 1.000 K
0 j
  0.000 0.000 0.000 1.000 k
(...\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 274.5600 102.7200 0 Tp
TP
/_Helvetica 12.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(...\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 274.5600 71.2800 0 Tp
TP
/_Helvetica 12.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(...\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
 [1 2 ] 0 d
0.2500 w
  0.000 0.000 0.000 1.000 K
1 j
  330.0000 62.6400 m
  180.4800 18.4800 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  330.2400 60.4800 m
  333.6000 63.6000 L
  329.0400 64.3200 L
  330.2400 60.4800 L
F
U
u
  0.000 0.000 0.000 1.000 K
  333.6000 91.4400 m
  333.6000 81.6000 L
S
U
u
  0.000 0.000 0.000 1.000 k
  0.000 0.000 0.000 1.000 K
  335.5200 90.9600 m
  333.6000 95.0400 L
  331.4400 90.9600 L
  335.5200 90.9600 L
F
U
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI3 /terminate get exec
Adobe_typography_AI3 /terminate get exec
Adobe_customcolor /terminate get exec
Adobe_cshow /terminate get exec
Adobe_packedarray /terminate get exec
%%EOF

%%EndDocument
 @endspecial 446 1441 a Fk(Figure)27 b(2:)36 b(F)-7 b(rame)27
b(\015o)n(w)g(from)g(within)i Fj(bridgeintr\(\))f Fk(with)g(La)n(y)n
(er-2)d(and)j(La)n(y)n(er-3)d(handling.)0 1794 y(are)c(addressed)f(to)i
(an)n(y)f(of)h(the)g(mem)n(b)r(er)g(in)n(terfaces)f(of)h(the)0
1893 y(bridge)j(are)f(simply)i(returned)f(to)g Fj(ether)p
1272 1893 26 4 v 31 w(input\(\))p Fk(.)36 b(Broad-)0
1993 y(cast)21 b(and)g(m)n(ulticast)g(frames)f(m)n(ust)i(b)r(e)f
(copied.)35 b(The)21 b(orig-)0 2093 y(inal)g(frame)h(is)f(returned)g
(to)h Fj(ether)p 1073 2093 V 31 w(input\(\),)h Fk(and)e(the)h(cop)n(y)0
2192 y(is)27 b(queued)h(on)f(the)h(bridge.)0 2392 y(F)-7
b(or)36 b(frames)h(sen)n(t)f(b)n(y)h(the)g(bridge,)i
Fj(ether)p 1368 2392 V 31 w(output\(\))d Fk(w)n(as)0
2491 y(mo)r(di\014ed)49 b(to)g(include)g(a)g(sp)r(ecial)g(case)f(for)g
(in)n(terfaces)0 2591 y(that)32 b(are)f(bridge)g(mem)n(b)r(ers)h(and)f
(the)i(frame)e(to)h(b)r(e)g(sen)n(t)0 2690 y(is)37 b(passed)e(to)i
Fj(bridge)p 697 2690 V 32 w(output\(\))p Fk(.)63 b(This)37
b(function)g(exam-)0 2790 y(ines)32 b(the)g(ethernet)g(destination)g
(address)f(of)h(the)g(frame.)0 2890 y(F)-7 b(or)35 b(unicast)g
(destinations,)j(the)e(bridge)f(address)f(cac)n(he)0
2989 y(is)i(used)g(to)g(lo)r(cate)f(the)h(recipien)n(t.)62
b(F)-7 b(or)35 b(m)n(ulticast)h(and)0 3089 y(broadcast)e(destinations,)
j(as)e(w)n(ell)h(as)f(unicast)h(destina-)0 3189 y(tions)e(not)g(found)h
(in)f(the)h(address)e(cac)n(he,)i(the)f(frame)g(is)0
3288 y(forw)n(arded)26 b(to)h(all)h(mem)n(b)r(er)f(in)n(terfaces)g(of)g
(the)h(bridge.)0 3487 y(As)39 b(a)g(result)f(of)h(this)g(design,)j(a)c
(mac)n(hine)h(acting)f(as)g(a)0 3587 y(bridge)25 b(can)g(also)f
(participate)h(on)g(the)h(LAN)f(as)g(a)g(normal)0 3687
y(host.)42 b(When,)30 b(for)f(example,)g(it)h(sends)f(an)g(ARP)g
(request)0 3786 y(for)24 b(a)g(host,)g(it)h(will)f(b)r(e)h(forw)n
(arded)e(out)h(of)g(ev)n(ery)f(mem)n(b)r(er)0 3886 y(in)n(terface.)66
b(When)38 b(a)f(reply)g(is)g(receiv)n(ed)g(on)g(an)n(y)g(in)n(ter-)0
3986 y(face,)30 b(the)h(source)e(in)n(terface)g(and)h(address)e(are)h
(added)h(to)0 4085 y(the)h(bridge)f(address)g(cac)n(he)g(as)g(w)n(ell)g
(as)g(its)h(ARP)g(cac)n(he,)0 4185 y(and)f(the)g(frame)g(is)g(pro)r
(cessed)f(as)g(normal.)44 b(F)-7 b(rom)29 b(there,)0
4284 y(all)22 b(unicast)h(frames)f(to)g(the)h(remote)f(host)h(will)g
(use)f(the)h(in-)0 4384 y(formation)d(from)h(the)g(address)f(cac)n(he)g
(for)h(sending)g(frames)0 4484 y(only)27 b(on)g(the)h(correct)f(in)n
(terface.)0 4792 y Fl(2.4)105 b(Bridge)36 b(Securit)m(y)0
5101 y Fk(As)26 b(discussed)g(previously)-7 b(,)26 b(the)g(bridge)g
(pro)n(vides)f(sev)n(eral)0 5201 y(metho)r(ds)i(for)g(enforcing)f(net)n
(w)n(ork)g(securit)n(y)g(p)r(olicy)-7 b(.)36 b(One)0
5300 y(form)28 b(of)h(in)n(ternal)f(attac)n(k)g(is)g(MA)n(C)h(sp)r(o)r
(o\014ng)f(where)g(one)0 5400 y(host)23 b(forges)e(pac)n(k)n(ets)h
(using)h(the)g(ethernet)g(MA)n(C)g(address)2010 1794
y(of)j(a)g(victim)g(host.)37 b(The)26 b(bridge)f(pro)n(vides)g(t)n(w)n
(o)g(measures)2010 1893 y(for)44 b(prev)n(en)n(ting)f(this)h(attac)n(k)
f(from)h(b)r(eing)g(completely)2010 1993 y(successful:)34
b(La)n(y)n(er-2)21 b(\014lters)h(and)h(static)g(address)f(en)n(tries.)
2010 2192 y(F)-7 b(or)34 b(the)h(La)n(y)n(er-2)d(\014lters,)37
b(the)e(ethernet)g(MA)n(C)f(address)2010 2292 y(of)j(the)h(p)r(oten)n
(tial)g(victim)g(is)f(added)g(to)h(a)f(set)g(of)h(rules.)2010
2392 y(F)-7 b(or)32 b(the)i(bridge)e(in)n(terface)g(on)h(the)g(segmen)n
(t)f(where)h(the)2010 2491 y(host)20 b(is)h(supp)r(osed)f(to)h(b)r(e,)h
(rules)e(are)g(added)g(to)h(p)r(ermit)g(the)2010 2591
y(address)30 b(to)h(b)r(e)g(the)h(source)e(and)h(destination)g(of)g
(frames)2010 2690 y(for)g(input)h(and)f(output.)49 b(On)32
b(the)f(other)g(in)n(terfaces,)h(the)2010 2790 y(address)40
b(is)i(added)f(to)g(rules)g(blo)r(c)n(king)g(it)g(as)g(a)g(source)2010
2890 y(address)23 b(on)i(input)g(and)g(destination)g(address)e(on)i
(output)2010 2989 y(from)i(eac)n(h)g(in)n(terface.)2010
3189 y(Additionally)-7 b(,)45 b(adding)c(a)g(static)h(address)e(cac)n
(he)h(en)n(try)2010 3288 y(that)28 b(binds)f(the)h(ethernet)f(MA)n(C)g
(address)f(of)h(the)h(p)r(oten-)2010 3388 y(tial)g(victim)g(host)g(to)f
(the)i(bridge)e(in)n(terface)g(on)g(the)i(same)2010 3487
y(segmen)n(t)d(as)g(the)i(host)e(will)h(prev)n(en)n(t)f(the)h(bridge)f
(address)2010 3587 y(cac)n(he)34 b(from)i(b)r(eing)f(p)r(olluted)h
(with)g(in)n(v)-5 b(alid)35 b(data.)60 b(The)2010 3687
y(bridge)38 b(cannot)g(prev)n(en)n(t)f(the)i(attac)n(k)f(from)g(b)r
(eing)h(suc-)2010 3786 y(cessful)33 b(on)f(individual)h(segmen)n(ts,)g
(but)h(it)f(can)f(limit)i(its)2010 3886 y(scop)r(e)27
b(in)h(one)f(segmen)n(t)g(only)-7 b(.)2010 4085 y(Another)28
b(form)g(of)g(in)n(ternal)g(attac)n(k,)f(ARP)h(sp)r(o)r(o\014ng,)g(in-)
2010 4185 y(v)n(olv)n(es)36 b(a)h(host)g(on)g(the)h(net)n(w)n(ork)e
(using)h(its)h(o)n(wn)f(MA)n(C)2010 4284 y(address)30
b(and)i(forging)e(ARP)i(resp)r(onses)e(claiming)h(to)h(b)r(e)2010
4384 y(another)24 b(host.)35 b(The)25 b(bridge)f(do)r(es)h(not)f(treat)
h(ARP)f(pac)n(k-)2010 4484 y(ets)40 b(di\013eren)n(t)f(from)h(other)f
(pac)n(k)n(ets,)i(so)e(this)h(attac)n(k)f(is)2010 4583
y(not)d(directly)f(prev)n(en)n(table.)60 b(The)36 b(attac)n(king)e
(host)i(ma)n(y)2010 4683 y(b)r(e)24 b(able)g(to)g(con)n(vince)f(hosts)g
(on)g(other)h(segmen)n(ts)f(that)h(its)2010 4783 y(ethernet)39
b(MA)n(C)f(address)g(is)g(the)h(one)f(asso)r(ciated)g(with)2010
4882 y(the)30 b(IP)g(address)e(victim)j(host,)f(but)h(b)n(y)e(using)h
(IP)f(\014lters,)2010 4982 y(actual)23 b(IP)g(pac)n(k)n(et)f(comm)n
(unication)g(through)h(the)h(bridge)2010 5081 y(can)j(b)r(e)h(prev)n
(en)n(ted.)p eop
%%Page: 5 5
5 4 bop 0 83 a Fo(3)112 b(Bridging)36 b(and)i(IPsec)0
379 y Fk(The)24 b(\014ltering)g(capabilities)g(o\013ered)g(b)n(y)g(the)
h(bridge)e(allo)n(w)0 479 y(its)k(use)h(as)e(a)h(transparen)n(t)f(pac)n
(k)n(et)g(\014ltering)h(\014rew)n(all.)36 b(As)0 578
y(w)n(as)30 b(the)h(case)e(with)j(traditional)d(\014rew)n(alls)h(ho)n
(w)n(ev)n(er,)f(\014l-)0 678 y(tering)g(b)n(y)g(itself)g(is)h(not)f
(su\016cien)n(t)g(in)h(ful\014lling)f(net)n(w)n(ork)0
778 y(securit)n(y)j(concerns.)53 b(Net)n(w)n(ork)32 b(la)n(y)n(er)f
(encryption,)j(t)n(ypi-)0 877 y(cally)f(in)h(the)g(form)g(of)g(IPsec,)g
(is)g(seeing)f(increasing)f(use)0 977 y(in)38 b(protecting)e(tra\016c)h
(b)r(et)n(w)n(een)h(net)n(w)n(orks,)g(hosts,)h(and)0
1076 y(users.)68 b(Th)n(us,)41 b(w)n(e)d(decided)g(to)g(augmen)n(t)g
(the)g(\014ltering)0 1176 y(bridge)27 b(with)h(IPsec)f(capabilities.)0
1375 y(This)21 b(section)f(starts)g(with)i(a)e(brief)h(o)n(v)n(erview)e
(of)i(the)g(IPsec)0 1475 y(implemen)n(tation)47 b(in)g(Op)r(enBSD,)h
(then)f(describ)r(es)g(the)0 1575 y(t)n(w)n(o)38 b(con\014gurations)e
(where)i(bridging)g(and)g(IPsec)g(ma)n(y)0 1674 y(b)r(e)28
b(used)g(together.)0 1873 y(The)i(\014rst)f(of)h(these)g
(con\014gurations,)f(\\virtual)f(LAN,")i(is)0 1973 y(used)23
b(to)g(transparen)n(tly)f(and)h(securely)f(connect)h(ethernet)0
2073 y(segmen)n(ts)e(o)n(v)n(er)f(a)h(wide)h(area)e(net)n(w)n(ork.)34
b(This)22 b(is)f(ac)n(hiev)n(ed)0 2172 y(b)n(y)j(encapsulating)f
(ethernet)h(frames)g(inside)g(IPsec)f(pac)n(k-)0 2272
y(ets)32 b(whic)n(h)h(are)e(then)i(transmitted)g(to)f(a)g(remote)g
(bridge)0 2372 y(that)20 b(remo)n(v)n(es)d(the)j(protection)f(and)g
(forw)n(ards)f(the)i(frames)0 2471 y(to)27 b(the)h(lo)r(cal)f(LAN.)0
2670 y(The)e(second)f(con\014guration)f(is)i(what)g(the)g(standards)e
(call)0 2770 y(a)30 b(\\bump)h(in)h(the)f(wire")f(\(BITW\))h(implemen)n
(tation)g([9],)0 2870 y(wherein)37 b(a)f(securit)n(y)h(gatew)n(a)n(y)e
(\(the)i(bridge\))g(transpar-)0 2969 y(en)n(tly)j(implemen)n(ts)g
(IPsec)f(on)g(b)r(ehalf)i(of)f(one)f(or)g(more)0 3069
y(\\protected")h(hosts.)76 b(This)41 b(allo)n(ws)e(gradual)h(in)n(tro)r
(duc-)0 3169 y(tion)23 b(of)h(IPsec)e(in)i(a)f(net)n(w)n(ork)f(without)
i(c)n(hanging)e(the)i(end)0 3268 y(host)35 b(con\014guration)e(or)h
(soft)n(w)n(are.)58 b(This)35 b(con\014guration)0 3368
y(is)25 b(also)g(a)g(common)g(design)f(feature)i(of)f(net)n(w)n(ork)f
(securit)n(y)0 3467 y(systems)j(used)h(b)n(y)f(the)h(military)-7
b(.)0 3667 y(P)n(erhaps)20 b(more)g(imp)r(ortan)n(tly)-7
b(,)22 b(suc)n(h)f(a)g(transparen)n(t)f(IPsec)0 3766
y(gatew)n(a)n(y)29 b(can)i(b)r(e)h(used)g(to)f(enforce)f(securit)n(y)h
(prop)r(erties)0 3866 y(for)k(comm)n(unications)g(b)r(et)n(w)n(een)g
(the)h(protected)f(\(or)g(su-)0 3966 y(p)r(ervised\))d(hosts)g(and)g
(the)h(rest)f(of)g(the)h(w)n(orld.)50 b(P)n(ac)n(k)n(ets)0
4065 y(tra)n(v)n(ersing)36 b(the)j(gatew)n(a)n(y)d(can)i(b)r(e)h
(examined)f(and,)j(de-)0 4165 y(p)r(ending)28 b(on)f(system)h(p)r
(olicy:)83 4440 y Ff(\017)41 b Fk(They)28 b(ma)n(y)f(b)r(e)h(forw)n
(arded)e(or)h(dropp)r(ed,)h(similar)f(to)166 4539 y(a)g(pac)n(k)n(et)g
(\014ltering)g(\014rew)n(all.)83 4703 y Ff(\017)41 b
Fk(Outgoing)27 b(pac)n(k)n(ets)f(ma)n(y)i(cause)f(the)h(securit)n(y)f
(gate-)166 4802 y(w)n(a)n(y)33 b(to)h(attempt)g(to)g(establish)g(a)f
(securit)n(y)h(asso)r(ci-)166 4902 y(ation)29 b(\(SA\))i(with)f(the)f
(destination)h(host,)f(pretend-)166 5001 y(ing)22 b(to)g(b)r(e)g(the)h
(originating)d(host,)j(if)g(the)f(pac)n(k)n(ets)f(are)166
5101 y(unencrypted.)42 b(If)29 b(the)h(pac)n(k)n(ets)e(are)g(already)f
(IPsec-)166 5201 y(protected,)44 b(it)e(could)f(simply)g(forw)n(ard)f
(them)i(\(or,)166 5300 y(in)29 b(our)e(case,)h(bridge)f(them\).)40
b(Naturally)-7 b(,)28 b(the)h(secu-)166 5400 y(rit)n(y)22
b(gatew)n(a)n(y)e(ma)n(y)h(alw)n(a)n(ys)f(opt)i(to)g(establish)g(an)g
(SA)2176 83 y(with)29 b(the)h(destination,)f(regardless)d(of)j(the)g
(existing)2176 183 y(securit)n(y)e(prop)r(erties)f(of)i(the)g(pac)n(k)n
(et)f(stream.)2093 336 y Ff(\017)41 b Fk(Similarly)-7
b(,)48 b(for)43 b(incoming)h(pac)n(k)n(ets,)j(the)d(gatew)n(a)n(y)2176
436 y(could)31 b(establish)h(a)f(securit)n(y)g(asso)r(ciation)f(with)i
(the)2176 536 y(originator)50 b(if)j(the)g(pac)n(k)n(et)f(w)n(as)g
(receiv)n(ed)f(unen-)2176 635 y(crypted)j(and/or)e(unauthen)n(ticated,)
60 b(again)53 b(pre-)2176 735 y(tending)28 b(to)f(b)r(e)h(the)g
(destination)g(host.)2093 889 y Ff(\017)41 b Fk(Finally)-7
b(,)27 b(the)f(bridge)g(can)f(in)n(tercept)h(incoming)g(IKE)2176
988 y([5])e(pac)n(k)n(ets)e(that)j(request)e(negotiation)g(with)i(one)e
(of)2176 1088 y(the)34 b(protected)f(hosts,)h(and)g(p)r(erform)f(the)g
(negotia-)2176 1188 y(tion)28 b(as)f(that)h(host.)2010
1439 y(Th)n(us,)33 b(in)g(the)g(last)e(three)i(cases,)f(the)h(securit)n
(y)e(gatew)n(a)n(y)2010 1539 y(acts)38 b(as)g(a)h(transparen)n(t)e(net)
n(w)n(ork)g(p)r(olicy)i(enforcer.)69 b(A)2010 1639 y(routing)45
b(\014rew)n(all)g(can)h(p)r(erform)f(the)h(same)g(functions,)2010
1738 y(ho)n(w)n(ev)n(er)31 b(it)i(w)n(ould)f(ha)n(v)n(e)g(to)g
(establish)h(tunnel)g(SAs)g(b)r(e-)2010 1838 y(t)n(w)n(een)k(itself)h
(and)f(the)h(remote)e(host)i(on)f(b)r(ehalf)g(of)h(the)2010
1938 y(protected)i(host.)73 b(It)41 b(w)n(ould)e(do)h(so)f(using)h(its)
g(o)n(wn)g(IP)2010 2037 y(address,)e(an)f(so)g(w)n(ould)g(need)g(to)g
(\\pro)n(v)n(e")d(its)k(righ)n(t)e(to)2010 2137 y(pro)n(xy-IPsec)31
b(for)i(the)h(end)g(host.)54 b(While)34 b(this)g(is)g(trivial)2010
2236 y(for)39 b(static)g(con\014gurations,)h(where)f(the)h(iden)n
(tities)f(and)2010 2336 y(net)n(w)n(ork)23 b(addresses)f(of)i(the)h(t)n
(w)n(o)e(p)r(eers)h(are)f(kno)n(wn)g(a)h(pri-)2010 2436
y(ori,)34 b(the)f(situation)g(b)r(ecomes)g(more)f(complicated)h(when)
2010 2535 y(trying)27 b(to)g(do)h(opp)r(ortunistic)f(encryption.)2010
2735 y(The)36 b(t)n(w)n(o)f(primary)f(en)n(visioned)h(metho)r(ds)h(for)
f(host)h(au-)2010 2834 y(then)n(tication)29 b(are)f(DNSSEC)i([3)o(])f
(and)g(X.509)f([2].)41 b(In)30 b(the)2010 2934 y(former)g(case,)g(the)h
(domain)f(name)g(serv)n(ers)f(can)h(securely)2010 3033
y(pro)n(vide)c(the)h(public)h(k)n(ey)e(asso)r(ciated)g(with)h(a)g(host)
f(name)2010 3133 y(or)j(address.)41 b(That)30 b(k)n(ey)f(ma)n(y)g(then)
h(b)r(e)g(used)g(to)f(authen-)2010 3233 y(ticate)39 b(the)g(IKE)g(p)r
(eer.)70 b(In)40 b(the)f(X.509)f(case,)j(a)e(Certi-)2010
3332 y(\014cation)e(Authorit)n(y)h(\(CA\))h(infrastructure)e(is)h
(assumed)2010 3432 y(to)i(pro)n(vide)f(the)h(public)h(k)n(ey)e(of)h(an)
g(end)g(host)g(or)f(user)2010 3532 y(\(the)30 b(proto)r(cols)e(for)h
(doing)g(so)g(in)h(a)f(large-scale)d(net)n(w)n(ork)2010
3631 y(suc)n(h)20 b(as)g(the)h(In)n(ternet)f(are)f(less)h(w)n
(ell-de\014ned)g(than)h(DNS\).)2010 3731 y(Here,)33 b(the)g(IP)f
(address)f(of)h(the)h(host)f(asso)r(ciated)f(with)h(a)2010
3830 y(k)n(ey)h(is)g(em)n(b)r(edded)h(in)f(an)h(X.509)e(certi\014cate.)
54 b(In)33 b(either)2010 3930 y(case)c(ho)n(w)n(ev)n(er,)g(it)h(is)g
(not)g(immediately)h(clear)e(\(and)h(cur-)2010 4030 y(ren)n(tly)c
(unde\014ned\))i(ho)n(w)f(to)g(express)f(the)h(righ)n(t)f(of)h(a)g
(\014re-)2010 4129 y(w)n(all)38 b(to)g(establish)g(SAs)h(on)f(b)r
(ehalf)h(of)f(a)g(host.)70 b(While)2010 4229 y(w)n(ork)31
b(has)g(recen)n(tly)g(started)h(in)g(the)g(IETF)g(IP)g(Securit)n(y)2010
4329 y(P)n(olicy)19 b(\(IPSP\))h(W)-7 b(orking)19 b(Group,)j(dev)n
(elopmen)n(t)d(and)h(de-)2010 4428 y(plo)n(ymen)n(t)40
b(of)g(a)g(proto)r(col)g(that)h(w)n(ould)f(allo)n(w)f(securit)n(y)2010
4528 y(gatew)n(a)n(y)26 b(disco)n(v)n(ery)f(is)i(some)h(y)n(ears)d(a)n
(w)n(a)n(y)-7 b(.)2010 4814 y Fl(3.1)105 b(Op)s(enBSD)35
b(IPsec)2010 5101 y Fk(IPsec)d(in)i(the)f(Op)r(enBSD)h(k)n(ernel)e(is)h
(implemen)n(ted)h(as)e(a)2010 5201 y(pair)j(of)h(transp)r(ort)f(proto)r
(cols)f([7,)i(8)o(].)62 b(Incoming)35 b(IPsec)2010 5300
y(pac)n(k)n(ets)30 b(are)h(switc)n(hed)g(to)h(the)g(appropriate)e
(IPsec)g(pro-)2010 5400 y(to)r(col)37 b(for)f(pro)r(cessing)g(b)n(y)h
Fj(ipv4)p 3048 5400 26 4 v 32 w(input\(\),)j Fk(follo)n(wing)c(the)p
eop
%%Page: 6 6
6 5 bop 0 83 a Fk(usual)28 b(pac)n(k)n(et)f(pro)r(cessing)f(path)j(in)f
(the)g(k)n(ernel)g(\(similar,)0 183 y(for)22 b(example,)h(to)g(TCP)f
(or)f(UDP\).)j(Note)e(that)h(only)f(pac)n(k-)0 282 y(ets)j(destined)h
(for)e(the)i(lo)r(cal)e(host)h(are)g(handled)g(this)g(w)n(a)n(y;)0
382 y(IPsec)33 b(pac)n(k)n(ets)g(that)h(are)g(passing)f(through)g(are)g
(simply)0 482 y(forw)n(arded)19 b(if)i(the)h(host)e(is)h(con\014gured)e
(to)i(act)g(as)f(a)g(router,)0 581 y(otherwise)27 b(they)g(are)g(dropp)
r(ed\).)0 780 y(Outgoing)48 b(pac)n(k)n(ets)h(are)f(in)n(tercepted)i
(at)f Fj(ip)p 1511 780 26 4 v 32 w(output\(\),)0 880
y Fk(where)30 b(a)h(c)n(hec)n(k)f(is)h(made)g(to)g(see)f(if)i(IPsec)e
(pro)r(cessing)f(is)0 980 y(necessary)-7 b(.)34 b(If)24
b(so,)f(the)h(appropriate)e(IPsec)g(proto)r(col)g(out-)0
1079 y(put)31 b(routines)e(are)g(called)g(whic)n(h)h(encrypt/authen)n
(ticate)0 1179 y(the)21 b(pac)n(k)n(et,)h(and)e(then)i(re-send)e(it)h
(via)g Fj(ip)p 1310 1179 V 31 w(output\(\))f Fk(sp)r(eci-)0
1279 y(fying)i(that)h(IPsec)f(pro)r(cessing)f(has)h(already)f(o)r
(ccurred)g(\(so)0 1378 y(as)26 b(to)h(a)n(v)n(oid)e(lo)r(ops\).)37
b(Tw)n(o)26 b(metho)r(ds)h(are)f(used)h(to)g(deter-)0
1478 y(mine)e(whether)g(a)f(pac)n(k)n(et)f(needs)i(to)f(b)r(e)h
(IPsec-pro)r(cessed:)83 1763 y Ff(\017)41 b Fk(If)j(the)f(pac)n(k)n(et)
f(originated)g(from)h(a)g(lo)r(cal)f(so)r(c)n(k)n(et,)166
1863 y(it)36 b(ma)n(y)e(ha)n(v)n(e)g(an)h(attac)n(hed)g(Securit)n(y)g
(Asso)r(ciation)166 1962 y(\(SA\).)83 2132 y Ff(\017)41
b Fk(If)34 b(no)f(suc)n(h)g(information)f(is)h(a)n(v)-5
b(ailable,)34 b(the)f(source)166 2232 y(and)j(destination)f(addresses)f
(and)i(p)r(orts)f(from)h(the)166 2331 y(pac)n(k)n(et)25
b(are)h(used)g(to)g(mak)n(e)g(a)g(lo)r(okup)g(in)g(the)h(k)n(ernel)166
2431 y(Securit)n(y)d(P)n(olicy)f(Database)h(\(SPD\).)h(In)g(Op)r
(enBSD,)166 2531 y(the)d(SPD)g(is)f(implemen)n(ted)h(as)f(a)g(new)h
(proto)r(col)e(fam-)166 2630 y(ily)i(in)h(the)g(radix)e(tree,)i(whic)n
(h)f(is)h(also)e(used)h(for)g(rout-)166 2730 y(ing)28
b(en)n(tries.)39 b(There)28 b(are)f(sev)n(eral)g(b)r(ene\014ts)i(to)f
(using)166 2829 y(the)g(radix)f(tree:)259 3017 y Fe({)42
b Fk(Co)r(de)27 b(reuse)g(\(and,)h(th)n(us,)g(bug)f(a)n(v)n(oidance\).)
259 3152 y Fe({)42 b Fk(The)c(radix)g(tree)g(in)n(ternal)g(represen)n
(tation)e(is)349 3251 y(compact,)50 b(allo)n(wing)45
b(for)h(large)f(n)n(um)n(b)r(ers)h(of)349 3351 y(SPD)19
b(en)n(tries)f(without)i(high)f(memory)f(require-)349
3451 y(men)n(ts.)259 3585 y Fe({)42 b Fk(Lo)r(okup)e(cost)h(scales)f(w)
n(ell)h(with)g(n)n(um)n(b)r(er)g(of)349 3685 y(en)n(tries)27
b(in)g(the)h(table.)259 3820 y Fe({)42 b Fk(Because)19
b(a)h(lo)r(okup)h(returns)f(the)h(most)f(sp)r(eci\014c)349
3919 y(result,)38 b(it)g(is)e(easy)g(to)g(implemen)n(t)i(\\bac)n(kup")
349 4019 y(en)n(tries)e(for)h(pac)n(k)n(et)f(classes)g(\(or,)j(con)n(v)
n(ersely)-7 b(,)349 4119 y(w)n(e)31 b(can)h(ha)n(v)n(e)e(sp)r(ecial)i
(case)f(handling)g(of)h(cer-)349 4218 y(tain)27 b(pac)n(k)n(et)g
(classes\).)0 4503 y(In)42 b(b)r(oth)g(cases,)j(the)d(lo)r(okup)f(pro)n
(vides)g(enough)g(infor-)0 4603 y(mation)33 b(to)g(lo)r(cate)g(the)h
(SA.)g(Note)f(that,)i(on)e(input,)j(the)0 4703 y(pac)n(k)n(et)30
b(itself)i(con)n(tains)e(enough)g(information)h(to)g(lo)r(cate)0
4802 y(the)f(SA.)f(The)h(SA)f(itself)h(con)n(tains)e(suc)n(h)h
(information)g(as)0 4902 y(the)k(cryptographic)d(algorithms)h(and)h(k)n
(eys)g(to)g(b)r(e)h(used,)0 5001 y(what)h(optional)e(features)h(of)h
(the)g(proto)r(cols)e(are)g(in)i(use,)0 5101 y(v)-5 b(arious)26
b(expiration)h(timers,)g Fj(etc.)0 5300 y Fk(Both)h(the)h(SA)g(and)g
(SPD)g(tables)f(ma)n(y)g(b)r(e)h(p)r(opulated)f(ei-)0
5400 y(ther)41 b(through)f(man)n(ual)g(k)n(eying)g(utilities,)45
b(or)40 b(b)n(y)h(some)2010 83 y(automated)35 b(k)n(ey)g(managemen)n(t)
g(daemon)g(\(lik)n(e)h(IKE)e([5])2010 183 y(or)29 b(Photuris)g([6]\).)
45 b(The)30 b(in)n(terface)g(to)g(the)g(k)n(ernel)g(for)f(ei-)2010
282 y(ther)19 b(of)h(these)f(metho)r(ds)h(is)f(via)g(the)h(PF)p
3249 282 25 4 v 30 w(KEY)e(so)r(c)n(k)n(et)h([14)o(],)2010
382 y(whic)n(h)32 b(is)g(in)g(man)n(y)f(w)n(a)n(ys)f(similar)i(to)f
(the)i(BSD)f(routing)2010 482 y(so)r(c)n(k)n(et.)2010
681 y(Both)38 b(in)h(input)h(or)d(output,)42 b(if)d(the)g(necessary)e
(crypto-)2010 780 y(graphic)31 b(material)h(has)g(not)h(b)r(een)g
(negotiated)f(with)h(the)2010 880 y(remote)20 b(IPsec)f(endp)r(oin)n(t)
i(\(for)f(example,)h(when)g(doing)f(on-)2010 980 y(demand)31
b(or)f(\\opp)r(ortunistic")f(IPsec\),)i(it)g(is)g(p)r(ossible)f(to)2010
1079 y(notify)35 b(a)f(k)n(ey)g(managemen)n(t)g(daemon)g(whic)n(h)h
(will)g(then)2010 1179 y(negotiate)i(and)g(install)g(the)h(prop)r(er)f
(SA)g(and)h(SPD)f(en-)2010 1279 y(tries)27 b(in)h(the)g(k)n(ernel.)2010
1478 y(W)-7 b(e)22 b(ha)n(v)n(e)f(also)f(implemen)n(ted)j(the)f
Fj(enc)f Fk(pseudo-in)n(terface.)2010 1577 y(Input)27
b(pac)n(k)n(ets)f(that)h(are)e(IPsec-pro)r(cessed)f(are)i(made)g(to)
2010 1677 y(app)r(ear)j(as)h(if)h(they)f(w)n(ere)g(receiv)n(ed)f(from)h
(the)g Fj(enc)h Fk(in)n(ter-)2010 1777 y(face,)f(b)n(y)f(c)n(hanging)f
(the)h(in)n(terface)g(p)r(oin)n(ter)g(in)h(the)g(m)n(buf)2010
1876 y(header.)j(Th)n(us,)21 b(an)e(administrator)e(can)i(easily)f
(\014lter)i(non-)2010 1976 y(IPsec)37 b(protected)g(pac)n(k)n(ets)g
(using)g(an)n(y)g(pac)n(k)n(et)f(\014ltering)2010 2076
y(pac)n(k)-5 b(age.)78 b(F)-7 b(urthermore,)45 b(utilities)d(lik)n(e)g
Fj(tcp)l(dump)g Fk([13)o(])2010 2175 y(can)37 b(b)r(e)g(used)g(to)g
(view)g(the)h(in)n(termediate)e(pro)r(ducts)h(of)2010
2275 y(IPsec)27 b(pro)r(cessing,)f(for)g(debugging)h(purp)r(oses)f
(\(this)i(only)2010 2374 y(w)n(orks)38 b(if)i(IPsec)e(pro)r(cessing)g
(tak)n(es)g(place)h(in)h(the)g(lo)r(cal)2010 2474 y(host\).)2010
2673 y(A)33 b(more)f(extensiv)n(e)g(\(if)i(somewhat)e(dated\))h(o)n(v)n
(erview)e(of)2010 2773 y(the)d(Op)r(enBSD)g(IPsec)f(arc)n(hitecture)f
(is)i(giv)n(en)e(in)i([10)o(].)2010 2972 y(This)20 b(is)g(the)g
(standard)f(IPsec)g(pro)r(cessing)g(that)h(is)g(more)f(or)2010
3072 y(less)29 b(common)g(across)f(di\013eren)n(t)i(implemen)n(tations)
f(\(and)2010 3171 y(ev)n(en)j(op)r(erating)g(systems\).)53
b(Use)33 b(of)g(IPsec)f(in)h(conjunc-)2010 3271 y(tion)25
b(with)h(the)f(bridge,)g(esp)r(ecially)f(in)i(the)f(\\bump)g(in)h(the)
2010 3371 y(wire")c(scenario,)h(requires)f(somewhat)g(di\013eren)n(t)i
(pro)r(cess-)2010 3470 y(ing.)60 b(W)-7 b(e)36 b(shall)f(describ)r(e)g
(these)g(c)n(hanges)f(and)h(require-)2010 3570 y(men)n(ts)28
b(in)f(the)h(next)g(t)n(w)n(o)f(subsections.)2010 3900
y Fl(3.2)105 b(Virtual)35 b(LANs)2010 4231 y Fk(Giv)n(en)22
b(the)g(w)n(a)n(y)f(the)h(bridging)f(co)r(de)h(op)r(erates,)g(in)g
(partic-)2010 4331 y(ular)j(with)h(resp)r(ect)f(to)h(mem)n(b)r(er)f(in)
n(terfaces)g(b)r(eing)g(added)2010 4430 y(to)f(and)g(remo)n(v)n(ed)e
(from)i(the)g(bridge,)g(it)h(w)n(as)e(a)h(simple)g(ob-)2010
4530 y(serv)-5 b(ation)32 b(that)h(w)n(e)g(could)f(extend)h(the)h(role)
e(of)h(the)g Fj(enc)2010 4629 y Fk(in)n(terface)23 b(so)g(that)h(it)g
(could)f(b)r(e)h(used)g(b)n(y)f(the)h(bridge.)35 b(Ac-)2010
4729 y(cordingly)-7 b(,)35 b(w)n(e)f(mo)r(di\014ed)h(the)g
Fj(enc)g Fk(in)n(terface)f(suc)n(h)g(that)2010 4829 y(an)28
b(incoming)f(and)h(an)g(outgoing)e(SA)j(can)e(b)r(e)h(asso)r(ciated)
2010 4928 y(with)33 b(it,)h(through)e(the)h(standard)f
Fj(ifc)l(on\014g)h Fk(command)3810 4898 y Fi(2)3847 4928
y Fk(.)2010 5028 y(Curren)n(tly)-7 b(,)34 b(suc)n(h)e(SAs)h(m)n(ust)h
(b)r(e)f(man)n(ually)f(con\014gured,)2010 5128 y(via)27
b(the)h Fj(ipse)l(c)l(adm)h Fk(utilit)n(y)-7 b(.)p 2010
5244 744 4 v 2102 5298 a Fh(2)2137 5321 y Fg(As)19 b(an)h(artifact)f
(of)g(our)h(implemen)n(tation,)f(more)f(than)i(one)g(SAs)2010
5400 y(can)k(b)r(e)g(asso)r(ciated)h(with)f(an)g Fd(enc)f
Fg(in)n(terface.)p eop
%%Page: 7 7
7 6 bop 0 83 a Fk(The)36 b(e\013ect)g(of)g(these)g(c)n(hanges)e(is)i
(that)g(lo)r(cal)f(area)f(net-)0 183 y(w)n(orks)j(\(LANs\))j(ma)n(y)e
(b)r(e)i(bridged)e(o)n(v)n(er)f(a)i(public)g(net-)0 282
y(w)n(ork.)49 b(All)33 b(that)g(is)f(necessary)e(is)i(that)h(eac)n(h)e
(LAN)i(con-)0 382 y(tain)i(an)g(IPsec)f(bridge)g(connecting)g(it)i(to)e
(one)h(or)f(more)0 482 y(other)29 b(LANs.)44 b(F)-7 b(rom)29
b(the)h(p)r(oin)n(t)g(of)f(view)h(of)g(the)g(bridge,)0
581 y(the)21 b(IPsec)f(link)h(is)f(iden)n(tical)g(to)h(an)f(ethernet)h
(net)n(w)n(ork,)g(al-)0 681 y(lo)n(wing)28 b(for)h(creation)f(of)h
(arbitrary)e(top)r(ologies.)40 b(La)n(y)n(er-2)0 780
y(and)25 b(La)n(y)n(er-3)d(\014ltering,)k(spanning)e(tree)h
(algorithms,)g Fj(etc.)0 880 y Fk(ma)n(y)30 b(all)g(b)r(e)h(used)g(in)g
(the)g(IPsec-bridged)d(net)n(w)n(ork)i(with)0 980 y(literally)d(no)g(c)
n(hanges.)0 1179 y(The)h(mo)r(di\014cations)g(needed)g(to)g(the)g
Fj(enc)h Fk(and)f Fj(bridge)h Fk(in-)0 1279 y(terface)c(co)r(de)g(w)n
(ere)g(minimal.)36 b(F)-7 b(or)25 b(the)h(bridge,)g(the)f(only)0
1378 y(c)n(hanges)g(necessary)f(w)n(ere)i(to)g(allo)n(w)f(non-ethernet)
h(in)n(ter-)0 1478 y(faces)c(to)h(b)r(e)g(attac)n(hed)f(and)h
(initialized)f(prop)r(erly)g(\(for)h(ex-)0 1577 y(ample,)i(it)h(is)f
(not)g(necessary)e(to)i(switc)n(h)g(an)g Fj(enc)g Fk(in)n(terface)0
1677 y(in)n(to)30 b(promiscuous)e(mo)r(de\).)45 b(In)30
b(the)g Fj(enc)g Fk(co)r(de,)h(the)f(rou-)0 1777 y(tine)41
b(that)g(handles)f(transmission)f(w)n(as)g(augmen)n(ted)h(to)0
1876 y(pass)28 b(all)g(enqueued)g(ethernet)h(frames)e(to)i(IPsec)e(for)
h(pro-)0 1976 y(cessing)k(and)h(further)h(transmission,)f(after)g
(encapsulat-)0 2076 y(ing)22 b(them)h(in)g(IP)f(or)g(IPv6.)34
b(Note)22 b(that)h(no)g(SPD)f(lo)r(okup)g(is)0 2175 y(necessary)d
(here,)j(since)f(the)g(output)g(SA)g(to)g(use)g(is)g(already)0
2275 y(kno)n(wn.)0 2474 y(T)-7 b(o)30 b(supp)r(ort)h(m)n(ultiple)g
(bridge)g(top)r(ologies)e(on)h(the)i(same)0 2574 y(host,)26
b(a)f(con\014gurable)g(n)n(um)n(b)r(er)g(of)h Fj(enc)g
Fk(in)n(terfaces)f(is)h(cre-)0 2673 y(ated.)69 b(This)38
b(n)n(um)n(b)r(er)g(ma)n(y)f(b)r(e)i(set)f(at)g(k)n(ernel)f(compile)0
2773 y(time.)45 b(By)29 b(con)n(v)n(en)n(tion,)g(pac)n(k)n(ets)g
(receiv)n(ed)g(on)h(SAs)g(that)0 2873 y(do)f(not)g(ha)n(v)n(e)e(an)i
Fj(enc)g Fk(in)n(terface)f(asso)r(ciated)g(with)h(them,)0
2972 y(are)j(made)h(to)f(app)r(ear)h(as)f(if)h(they)g(arriv)n(ed)f(on)g
(the)i Fj(enc0)0 3072 y Fk(in)n(terface.)i(F)-7 b(urthermore,)25
b(the)h Fj(enc0)h Fk(in)n(terface)e(is)h(not)g(al-)0
3171 y(lo)n(w)n(ed)d(to)h(ha)n(v)n(e)f(an)n(y)g(SAs)h(asso)r(ciated)f
(with)i(it,)g(nor)e(can)h(it)0 3271 y(b)r(e)j(attac)n(hed)e(to)h(a)g
(bridge.)36 b(Th)n(us,)26 b(pac)n(k)n(ets)f(on)g(SAs)i(that)0
3371 y(ha)n(v)n(e)33 b(an)g Fj(enc)h Fk(in)n(terface)f(asso)r(ciated)g
(ma)n(y)g(b)r(e)h(traced)f(or)0 3470 y(\014ltered)d(using)f(that)i(in)n
(terface.)43 b(F)-7 b(or)29 b(all)h(other)f(SAs,)i(the)0
3570 y Fj(enc0)d Fk(in)n(terface)f(ma)n(y)g(b)r(e)h(used.)0
3769 y(Implemen)n(tation)49 b(of)g(the)h(Ethernet-o)n(v)n(er-IP)45
b(proto)r(col)0 3869 y(also)36 b(pro)n(v)n(ed)f(straigh)n(tforw)n(ard,)
h(as)f(the)i(output)h(side)e(of)0 3968 y(the)d(proto)r(col)f(and)h(the)
g(\014rst)g(half)g(its)g(input)h(pro)r(cessing)0 4068
y(are)28 b(iden)n(tical)h(to)g(IP-in-IP)f(encapsulation.)41
b(A)n(t)29 b(the)h(end)0 4168 y(of)24 b(input)h(pro)r(cessing,)e(if)i
(its)f(input)h(in)n(terface)e(is)h(link)n(ed)g(to)0 4267
y(a)35 b(bridge,)h(the)g(pac)n(k)n(et)e(is)h(passed)g(to)g(the)h
(bridge)e(input)0 4367 y(routine.)i(If)28 b(a)e(frame)g(is)h(receiv)n
(ed)f(o)n(v)n(er)f(an)i(IPsec)f(SA,)h(its)0 4467 y(input)33
b(in)n(terface)f(will)h(b)r(e)f(the)h Fj(enc)g Fk(in)n(terface)e(asso)r
(ciated)0 4566 y(with)d(the)g(SA)g(\(see)g(Figures)e(1)i(and)f(2\).)0
4765 y(In)d(all,)g(less)f(than)h(300)e(lines)i(of)f(additional)h(co)r
(de)f(in)h(IPsec)0 4865 y(and)32 b(the)h(bridge)f(w)n(ere)g(necessary)e
(to)j(implemen)n(ted)g(the)0 4965 y(virtual)27 b(LAN)h(functionalit)n
(y)-7 b(.)0 5164 y(When)29 b(it)h(comes)e(to)h(p)r(erformance,)f(the)h
(highest)g(cost)f(is,)0 5264 y(as)k(migh)n(t)g(b)r(e)h(exp)r(ected,)h
(in)f(the)g(encryption.)51 b(Figure)31 b(3)0 5363 y(sho)n(ws)26
b(the)h(cost)f(of)h(v)-5 b(arious)25 b(algorithms)g(\(and)i(com)n
(bina-)2010 83 y(tions)22 b(thereof)6 b(\).)36 b(Note)22
b(that)h(AH)g(only)f(p)r(erforms)g(authen-)2010 183 y(tication)27
b(\(the)i(pac)n(k)n(ets)d(are)h(unencrypted\).)2010 382
y(Note)58 b(ho)n(w)n(ev)n(er)d(that)j(it)g(is)f(usually)g(the)h(case)f
(that)2010 482 y(the)c(wide-area)f(net)n(w)n(ork)f(link)i(o)n(v)n(er)f
(whic)n(h)h(the)g(vir-)2010 581 y(tual)42 b(LAN)g(is)g(established)f
(is)g(m)n(uc)n(h)h(slo)n(w)n(er)e(than)i(the)2010 681
y(mem)n(b)r(er)e(LANs,)j(and)c(slo)n(w)n(er)f(than)i(the)g(times)g(sho)
n(wn)2010 780 y(ab)r(o)n(v)n(e.)56 b(Th)n(us,)35 b(realistically)-7
b(,)35 b(the)g(p)r(erformance)e(is)h(lim-)2010 880 y(ited)40
b(mainly)e(b)n(y)h(the)h(in)n(terconnecting)e(infrastructure.)2010
980 y(The)48 b(\014ltering)f(capabilities)g(of)h(the)g(bridge)f(\(blo)r
(c)n(king)2010 1079 y(m)n(ulticast/broadcast)27 b(and)i(non-IP)f(pac)n
(k)n(ets\))h(can)f(b)r(e)i(of)2010 1179 y(some)j(v)-5
b(alue)33 b(here)g(in)h(managing)e(the)h(v)n(olume)g(of)h(tra\016c)2010
1279 y(sen)n(t)27 b(o)n(v)n(er)f(the)i(encrypted)g(links.)2010
1478 y(Virtual)36 b(LAN)g(\(vLAN\))h(functionalit)n(y)f(is)g(o\013ered)
f(b)n(y)g(a)2010 1577 y(n)n(um)n(b)r(er)c(of)g(bridges,)g(alb)r(eit)h
(it)g(is)f(used)g(to)g(mean)g(some-)2010 1677 y(thing)g(di\013eren)n(t)
h(from)f(what)g(w)n(e)g(ha)n(v)n(e)f(describ)r(ed;)j(more)2010
1777 y(sp)r(eci\014cally)-7 b(,)27 b(vLANs)h(are)f(used)h(to)f
(compartmen)n(talize)f(a)2010 1876 y(ph)n(ysical)d(net)n(w)n(ork)e(in)n
(to)j(a)f(n)n(um)n(b)r(er)g(of)g(\\isolated")f(LANs.)2010
1976 y(The)33 b(main)f(goal)f(is)i(to)f(decrease)g(the)h(tra\016c)f
(\\noise")f(as)2010 2076 y(seen)18 b(b)n(y)h(mac)n(hines)f(that)h(do)f
(not)h(need)g(to)f(pro)r(cess)g(it)h(\()p Fj(e.g.,)2010
2175 y Fk(a)j(prin)n(ter)g(do)r(es)g(not)g(need)g(to)h(receiv)n(e)e
(NFS)i(pac)n(k)n(ets;)g(lik)n(e-)2010 2275 y(wise,)35
b(normal)e(hosts)h(on)f(the)h(subnet)h(probably)d(do)i(not)2010
2374 y(need)i(to)f(see)h(the)g(AppleT)-7 b(alk)36 b(pac)n(k)n(ets)e
(the)i(prin)n(tserv)n(er)2010 2474 y(uses)28 b(to)g(submit)g(jobs)g(to)
g(the)g(prin)n(ter\).)38 b(A)29 b(side)f(e\013ect)g(of)2010
2574 y(vLAN)21 b(emplo)n(ymen)n(t)e(is)h(a)g(limited)h(form)f(of)g
(securit)n(y)f(from)2010 2673 y(casual)29 b(pac)n(k)n(et)f(sni\016ng.)
44 b(Suc)n(h)29 b(vLANs)h(do)g(not)f(pro)n(vide)2010
2773 y(the)e(same)g(features)f(our)h(encrypting)f(bridge)h(o\013ers)f
(\(and)2010 2873 y(vice)h(v)n(ersa\).)2010 3240 y Fl(3.3)105
b(Bump)35 b(In)f(The)h(Wire)2010 3607 y Fk(As)g(men)n(tioned)g(in)g
(section)f(3,)i(the)f(bridge)g(can)f(also)g(b)r(e)2010
3706 y(used)42 b(as)f(a)h(transparen)n(t)f(IPsec)g(b)r(o)n(x,)k
(sitting)d(in)g(fron)n(t)2010 3806 y(of)35 b(a)f(host)h(or)e(net)n(w)n
(ork)h(and)g(IPsec-pro)r(cessing)e(pac)n(k)n(ets)2010
3906 y(tra)n(v)n(ersing)25 b(it.)38 b(This)28 b(con\014guration)e(is)i
(called)f(\\bump)h(in)2010 4005 y(the)36 b(wire")f(\(BITW\))i(in)f(the)
g(IPsec)f(arc)n(hitecture.)60 b(The)2010 4105 y(encrypting)30
b(bridge)f(as)h(describ)r(ed)g(in)h(the)g(previous)e(sec-)2010
4204 y(tion)38 b(can)f(b)r(e)h(used)f(almost)g(as-is)g(when)g(the)h
(protected)2010 4304 y(hosts)25 b(or)f(net)n(w)n(orks)f(are)i
(con\014gured)f(to)h(only)f(talk)h(to)g(one)2010 4404
y(remote)d(host)h(\(or)f(securit)n(y)g(gatew)n(a)n(y\):)33
b(an)23 b(incoming)f(and)2010 4503 y(outgoing)k(SA)i(pair)f(can)g(b)r
(e)h(asso)r(ciated)e(with)i(an)f Fj(enc)h Fk(in-)2010
4603 y(terface)22 b(as)f(b)r(efore,)i(and)f(IPsec)g(pro)r(cessing)e(is)
i(done)g(along)2010 4703 y(the)k(same)g(lines.)36 b(Ho)n(w)n(ev)n(er,)
25 b(rather)g(than)h(encapsulating)2010 4802 y(ethernet)31
b(frames)e(inside)i(IP)f(pac)n(k)n(ets)f(\(and)h(then)h(IPsec-)2010
4902 y(pro)r(cessing)k(these\),)40 b(w)n(e)c(extract)g(the)i(IP)e(pac)n
(k)n(ets)f(from)2010 5001 y(the)e(ethernet)f(frames)f(and)h(do)g
(IP-in-IP)f(encapsulation)2010 5101 y(instead.)k(The)24
b(administrator)e(can)h(sp)r(ecify)h(whic)n(h)f(of)h(the)2010
5201 y(t)n(w)n(o)36 b(t)n(yp)r(es)h(of)f(encapsulation)g(should)g(b)r
(e)h(used)g(simply)2010 5300 y(b)n(y)e(setting)h(the)f(appropriate)f
(in)n(terface)h(\015ag)g(using)g(the)2010 5400 y Fj(ifc)l(on\014g)29
b Fk(command.)p eop
%%Page: 8 8
8 7 bop 1070 3 1731 4 v 1068 103 4 100 v 1120 73 a Fk(T)-7
b(ransform)p 2240 103 V 795 w(Mbit/second)p 2799 103
V 1070 106 1731 4 v 1068 206 4 100 v 1120 176 a(Soft)n(w)n(are)26
b(AH)i(MD5)p 2240 206 V 769 w(67.87)p 2799 206 V 1070
209 1731 4 v 1068 309 4 100 v 1120 279 a(Soft)n(w)n(are)e(AH)i(SHA1)p
2240 309 V 738 w(47.79)p 2799 309 V 1070 312 1731 4 v
1068 412 4 100 v 1120 382 a(Soft)n(w)n(are)e(ESP)h(DES-MD5)p
2240 412 V 540 w(19.56)p 2799 412 V 1070 415 1731 4 v
1068 515 4 100 v 1120 485 a(Soft)n(w)n(are)f(ESP)h(Blo)n(w\014sh-SHA1)p
2240 515 V 368 w(23.61)p 2799 515 V 1070 518 1731 4 v
1068 618 4 100 v 1120 588 a(Soft)n(w)n(are)f(ESP)h(3DES-SHA1)p
2240 618 V 509 w(9.07)p 2799 618 V 1070 621 1731 4 v
1068 721 4 100 v 1120 691 a(Hardw)n(are)e(ESP)i(DES-MD5)p
2240 721 V 501 w(62.12)p 2799 721 V 1070 724 1731 4 v
1068 824 4 100 v 1120 794 a(Hardw)n(are)e(ESP)i(3DES-SHA1)p
2240 824 V 428 w(63.12)p 2799 824 V 1070 827 1731 4 v
0 1064 a(Figure)32 b(3:)45 b(Throughput)32 b(of)g(a)g(TCP)g(session)f
(o)n(v)n(er)f(IPsec)i(b)r(et)n(w)n(een)g(t)n(w)n(o)f(K6-3/550)e(b)r(o)n
(xes)j(directly)f(connected)i(with)0 1163 y(100Mbit/s)26
b(ethernet.)37 b(F)-7 b(or)27 b(the)h(hardw)n(are)e(n)n(um)n(b)r(ers,)h
(w)n(e)g(used)g(a)h(card)e(with)i(the)g(Hi/Fn)g(7751)e(c)n(hip.)0
1433 y(The)37 b(SAs)g(asso)r(ciated)e(with)i(the)g Fj(enc)g
Fk(in)n(terface)f(\(whic)n(h)0 1533 y(m)n(ust)i(b)r(e)g(man)n(ually)e
(con\014gured\))h(can)g(use)h(the)g(IP)f(ad-)0 1632 y(dress)f(of)h(the)
g(bridge,)i(or)d(the)i(IP)e(address)g(of)h(the)g(pro-)0
1732 y(tected)29 b(host.)38 b(In)28 b(the)h(former)e(case,)h(the)g
(bridge)g(exhibits)0 1831 y(the)19 b(exact)f(same)g(c)n(haracteristics)
e(as)i(an)g(encrypting)g(gate-)0 1931 y(w)n(a)n(y)k(\(pac)n(k)n(ets)g
(sen)n(t)g(to)h(the)g(remote)f(host)h(or)f(gatew)n(a)n(y)f(list)0
2031 y(the)34 b(bridge's)f(IP)g(address)g(as)g(the)h(source\);)h(in)f
(con)n(trast)0 2130 y(to)26 b(a)g(gatew)n(a)n(y)e(ho)n(w)n(ev)n(er,)h
(no)h(con\014guration)e(c)n(hanges)h(are)0 2230 y(necessary)36
b(in)i(the)h(net)n(w)n(ork)d(or)h(the)h(protected)g(host\(s\))0
2330 y(when)30 b(placing)e(the)i(bridge.)42 b(Since)29
b(SA)h(con\014guration)e(is)0 2429 y(man)n(ual,)21 b(there)g(are)f(no)g
(issues)g(with)h(authen)n(tication)g(dur-)0 2529 y(ing)27
b(k)n(ey)g(establishmen)n(t)h(\(as)f(describ)r(ed)g(in)h(section)f
(3\).)0 2728 y(When)k(the)h(SAs)f(use)g(the)g(IP)g(address)e(of)i(the)g
(protected)0 2828 y(host,)k(the)g(bridge)e(is)h(totally)f(transparen)n
(t)g(to)g(b)r(oth)i(the)0 2927 y(protected)25 b(host)g(and)h(the)g
(destination)f(host)g(or)g(gatew)n(a)n(y)-7 b(.)0 3027
y(There)33 b(are)g(t)n(w)n(o)g(issues)g(that)h(need)g(to)g(b)r(e)g
(addressed)f(in)0 3127 y(this)28 b(con\014guration)e(ho)n(w)n(ev)n(er:)
83 3423 y Ff(\017)41 b Fk(The)25 b(IPsec)f(standard)g(sp)r(eci\014es)h
(that)h(IP)e(fragmen)n(ts)166 3522 y(should)51 b(not)g(b)r(e)g(IPsec)f
(pro)r(cessed)g(in)h(transp)r(ort)166 3622 y(mo)r(de.)60
b(That)36 b(is,)h(fragmen)n(tation)d(m)n(ust)i(o)r(ccur)e(af-)166
3721 y(ter)28 b(IPsec)f(pro)r(cessing)f(has)h(tak)n(en)h(place,)f(or)g
(tunnel)166 3821 y(mo)r(de)39 b(\(IP-in-IP)e(encapsulation\))h(m)n(ust)
h(b)r(e)g(used.)166 3921 y(Th)n(us,)g(the)e(bridge)f(m)n(ust)h(either)f
(use)h(only)f(tunnel)166 4020 y(mo)r(de)46 b(IPsec,)k(or)45
b(reassem)n(ble)f(all)i(fragmen)n(ts)f(re-)166 4120 y(ceiv)n(ed)37
b(from)g(the)g(protected)g(host,)j(IPsec-pro)r(cess)166
4220 y(the)h(re-constructed)e(pac)n(k)n(et,)j(then)f(fragmen)n(t)f(the)
166 4319 y(resulting)k(pac)n(k)n(et.)88 b(F)-7 b(or)44
b(p)r(erformance)g(and)g(sim-)166 4419 y(plicit)n(y)38
b(reasons,)i(w)n(e)e(decided)g(to)g(use)g(the)h(former)166
4518 y(approac)n(h.)50 b(The)33 b(disadv)-5 b(an)n(tage)31
b(is)h(that)h(all)f(IPsec-)166 4618 y(pro)r(cessed)d(pac)n(k)n(ets)h
(are)f(20)h(b)n(ytes)g(larger)f(\(the)i(size)166 4718
y(of)d(the)g(external)e(IP)i(header\).)83 4902 y Ff(\017)41
b Fk(Since)35 b(the)g(remote)e(host)i(is)f(not)h(a)n(w)n(are)d(of)i
(the)h(en-)166 5001 y(crypting)f(bridge's)f(existence,)j(IPsec)d(pac)n
(k)n(ets)g(will)166 5101 y(b)r(e)27 b(addressed)f(to)g(the)i(protected)
e(host)h(or)e(net)n(w)n(ork.)166 5201 y(Th)n(us,)c(w)n(e)e(ha)n(v)n(e)f
(to)h(mo)r(dify)h(the)g(bridge)e(to)i(recognize)166 5300
y(these)33 b(addresses)f(and)h(pro)r(cess)e(those)i(IPsec)f(pac)n(k-)
166 5400 y(ets.)k(In)25 b(fact,)g(address)e(recognition)g(is)h
(unnecessary)-7 b(.)2176 1433 y(The)35 b(bridge)f(only)g(has)g(to)h(w)n
(atc)n(h)e(for)i(IPsec)e(pac)n(k-)2176 1533 y(ets)k(\(transp)r(ort)f
(proto)r(col)g(ESP)g(or)g(AH\),)i(and)f(use)2176 1632
y(the)42 b(information)f(in)h(the)f(pac)n(k)n(et)g(to)g(p)r(erform)g
(an)2176 1732 y(SA)e(lo)r(okup.)68 b(If)39 b(an)f(SA)h(is)f(found,)j
(the)e(pac)n(k)n(et)e(is)2176 1831 y(pro)r(cessed.)e(Otherwise,)24
b(it)g(ma)n(y)f(b)r(e)i(dropp)r(ed)f(or)f(al-)2176 1931
y(lo)n(w)n(ed)32 b(through)g(dep)r(ending)h(on)f(the)h(\014ltering)g
(con-)2176 2031 y(\014guration.)2010 2297 y(A)28 b(h)n(ybrid)f(SA)g
(con\014guration)f(ma)n(y)h(b)r(e)g(used)h(\(where)f(the)2010
2397 y(bridge)21 b(uses)g(its)h(address)e(in)i(one)f(direction,)i(and)e
(the)h(pro-)2010 2496 y(tected)28 b(host's)f(address)g(in)h(the)g
(other\).)37 b(Suc)n(h)28 b(a)f(con\014gu-)2010 2596
y(ration)22 b(do)r(es)g(not)h(seem)g(to)g(o\013er)f(an)n(y)g(substan)n
(tial)g(b)r(ene\014t)2010 2695 y(ho)n(w)n(ev)n(er)e(\(and)j(ma)n(y)f
(in)g(fact)h(result)f(in)h(confusing)f(the)h(ad-)2010
2795 y(ministrator\).)2010 3088 y Fl(3.4)105 b(T)-9 b(ransparen)m(t)35
b(P)m(olicy)h(Enforcemen)m(t)2010 3380 y Fk(While)22
b(the)g(mec)n(hanism)f(describ)r(ed)g(in)h(the)g(previous)e(sub-)2010
3480 y(section)27 b(is)h(useful)g(in)g(its)g(o)n(wn)f(righ)n(t,)h(its)f
(usefulness)h(dra-)2010 3579 y(matically)c(expands)h(when)g(the)g
(bridge)f(is)h(mo)r(di\014ed)g(suc)n(h)2010 3679 y(that)g(it)h(can)e
(automatically)g(establish)h(SAs)g(on)g(b)r(ehalf)g(of)2010
3779 y(the)j(protected)f(hosts.)2010 3978 y(Our)52 b(IPsec)g(implemen)n
(tation)g(already)f(supp)r(orts)h(dy-)2010 4077 y(namic)38
b(SA)g(acquisition)f(b)n(y)h(notifying)g(a)f(k)n(ey)h(manage-)2010
4177 y(men)n(t)g(daemon)g(lik)n(e)f Fj(isakmp)l(d)j Fk([4])e(using)g
(the)g(PF)p 3662 4177 25 4 v 30 w(KEY)2010 4277 y(in)n(terface.)c(SA)22
b(acquisition)f(o)r(ccurs)f(in)i(the)g(follo)n(wing)e(t)n(w)n(o)2010
4376 y(cases:)2093 4643 y Ff(\017)41 b Fk(An)c(application)g(requests)f
(some)g(securit)n(y)g(service)2176 4742 y(on)f(a)g(so)r(c)n(k)n(et,)i
(b)n(y)e(using)g(the)h Fj(setso)l(ckopt\(\))g Fk(system)2176
4842 y(call,)24 b(and)f(no)g(SAs)h(appropriate)e(for)h(the)g(tra\016c)g
(pat-)2176 4941 y(tern)28 b(or)e(securit)n(y)h(lev)n(el)g(exist.)2093
5101 y Ff(\017)41 b Fk(The)36 b(k)n(ernel)g(decides)g(that)g(a)g(pac)n
(k)n(et)f(needs)i(to)f(b)r(e)2176 5201 y(IPsec-pro)r(cessed,)26
b(but)i(no)g(appropriate)e(SAs)i(exist.)2176 5300 y(The)33
b(k)n(ernel)e(reac)n(hes)g(this)i(decision)e(b)n(y)i(consulting)2176
5400 y(the)28 b(SPD)g(\(as)f(describ)r(ed)g(in)h(section)f(3.1\).)p
eop
%%Page: 9 9
9 8 bop 0 83 a Fk(W)-7 b(e)33 b(can)f(use)g(the)h(same)f(mec)n(hanism)g
(inside)g(the)h(bridge)0 183 y(to)j(dynamically)g(establish)g(SAs:)55
b(when)36 b(an)g(IP)g(pac)n(k)n(et)0 282 y(\(rather,)25
b(an)f(ethernet)h(frame)f(con)n(taining)g(an)g(IP)h(pac)n(k)n(et\))0
382 y(reac)n(hes)38 b(the)j(bridge)e(and)g(is)h(ab)r(out)g(to)g(b)r(e)g
(\\transmit-)0 482 y(ted")26 b(o)n(v)n(er)f(an)h Fj(enc)h
Fk(in)n(terface,)f(an)g(SPD)h(lo)r(okup)f(is)g(made.)0
581 y(If)j(an)g(SA)g(appropriate)e(for)i(this)g(pac)n(k)n(et)f(already)
f(exists,)0 681 y(it)39 b(is)f(used.)69 b(Otherwise,)40
b(the)f(pac)n(k)n(et)e(is)h(dropp)r(ed)g(and)0 780 y(a)d
(noti\014cation)g(is)g(sen)n(t)h(to)f(the)h(k)n(ey)e(managemen)n(t)h
(dae-)0 880 y(mon)41 b(to)f(establish)h(suc)n(h)f(an)h(SA.)g(The)g
(gran)n(ularit)n(y)d(of)0 980 y(the)23 b(SA)g(ma)n(y)e(b)r(e)i
(con\014gured)f(b)n(y)g(the)g(administrator)f(\(the)0
1079 y(same)g(SA)h(ma)n(y)f(b)r(e)h(used)f(for)g(all)h(tra\016c)f(b)r
(et)n(w)n(een)g(the)h(pro-)0 1179 y(tected)h(and)f(the)g(remote)g
(host,)h(or)e(just)i(the)f(sp)r(eci\014c)h(TCP)0 1279
y(connection)j(ma)n(y)g(b)r(e)h(protected\).)36 b(F)-7
b(uture)27 b(pac)n(k)n(ets)f(with)0 1378 y(the)32 b(same)g(c)n
(haracteristics)e(as)h(the)h(original)f(pac)n(k)n(et)g(will)0
1478 y(mak)n(e)c(use)g(of)h(the)g(newly-established)f(SA.)h(F)-7
b(ortunately)g(,)0 1577 y(no)27 b(c)n(hanges)f(to)i(the)g(SPD)g(are)e
(necessary)-7 b(.)0 1777 y(This)25 b(mec)n(hanism)f(ma)n(y)g(b)r(e)i
(used)e(to)h(p)r(erform)g(automatic)0 1876 y(re-k)n(eying)h(for)i(the)h
(virtual)f(LAN)g(or)g(the)g(simple)h(\\bump)0 1976 y(in)21
b(the)g(wire")f(con\014gurations)f(describ)r(ed)i(in)g(the)g(previous)0
2076 y(t)n(w)n(o)27 b(subsections.)0 2275 y(Ho)n(w)n(ev)n(er,)34
b(left)h(to)f(its)h(o)n(wn)f(devices,)h(k)n(ey)f(managemen)n(t)0
2374 y(will)42 b(establish)g(an)f(SA)i(using)e(the)i(IP)e(address)g(of)
h(the)0 2474 y(bridge)34 b(\(and)h(th)n(us)g(end)g(up)h(b)r(eing)f
(functionally)g(equiv-)0 2574 y(alen)n(t)26 b(to)h(an)g(encrypting)f
(gatew)n(a)n(y\).)35 b(T)-7 b(o)26 b(really)g(hide)h(the)0
2673 y(bridge)j(from)g(the)i(remote)e(host,)h(the)g(source)f(address)f
(of)0 2773 y(the)43 b(protected)f(host)h(m)n(ust)g(b)r(e)g(used.)82
b(Th)n(us)43 b(the)g(k)n(ey)0 2873 y(managemen)n(t)c(daemon,)k
Fj(isakmp)l(d,)j Fk(has)40 b(to)g(op)r(erate)g(in)0 2972
y(the)g(\\bridge)f(mo)r(de,")j(wherein)e(it)g(asks)f(the)h(k)n(ernel)f
(to)0 3072 y(use)34 b(a)f(non-lo)r(cal)g(IP)h(address.)54
b(This)34 b(requires)f(a)h(minor)0 3171 y(c)n(hange)d(in)h(the)g
Fj(bind\(\))h Fk(system)f(call)f(co)r(de,)i(to)f(allo)n(w)f(for)0
3271 y(so)r(c)n(k)n(et)j(binding)h(to)g(non-lo)r(cal)f(addresses.)57
b(T)-7 b(o)35 b(capture)0 3371 y(the)27 b(resp)r(onses,)f(all)h(UDP)g
(tra\016c)f(to)h(p)r(ort)g(500)f(\(the)h(p)r(ort)0 3470
y(used)g(b)n(y)h(the)f(IKE)g(proto)r(col\))f(is)i(div)n(erted)f(to)g
(the)h(bridge)0 3570 y Fj(isakmp)l(d.)46 b Fk(This)30
b(is)g(also)f(necessary)g(when)h(remote)g(hosts)0 3670
y(attempt)41 b(to)e(initiate)i(an)f(IKE)f(exc)n(hange)f(with)j(a)e
(pro-)0 3769 y(tected)i(host.)76 b(In)41 b(b)r(oth)h(cases,)h
Fj(isakmp)l(d)f Fk(m)n(ust)f(b)r(e)g(in-)0 3869 y(formed)g(of)g(and)g
(use)g(the)h(\\lo)r(cal")d(address)h(asso)r(ciated)0
3968 y(with)34 b(the)g(incoming)g(pac)n(k)n(et.)54 b
Fj(isakmp)l(d)35 b Fk(also)e(needs)h(the)0 4068 y(\\lo)r(cal")e
(address)g(so)h(as)g(to)g(select)g(the)h(appropriate)e(au-)0
4168 y(then)n(tication)38 b(information)g(\()p Fj(e.g.,)43
b Fk(secret)38 b(DSA)h([15)o(])g(or)0 4267 y(RSA)h([12)o(])g(k)n(ey)f
(when)h(doing)f(X.509)g(or)g(DNSSEC)h(au-)0 4367 y(then)n(tication\).)
52 b(The)32 b(c)n(hanges)f(to)i(this)f(e\013ect)h(are)f(fairly)0
4467 y(minimal.)0 4666 y(Incoming)g(IPsec)g(pac)n(k)n(ets)g(are)g(pro)r
(cessed)f(as)h(describ)r(ed)0 4765 y(in)27 b(the)g(previous)e
(subsection.)36 b(Other)26 b(incoming)g(pac)n(k)n(ets)0
4865 y(ma)n(y)18 b(cause)f(an)h(SA)h(acquisition,)h(dep)r(ending)f(on)f
(the)h(secu-)0 4965 y(rit)n(y)i(p)r(olicy)g(set)h(b)n(y)f(the)h
(administrator.)33 b(Again,)22 b Fj(isakmp)l(d)0 5064
y Fk(needs)31 b(to)h(b)r(e)g(informed)f(of)g(what)h(IP)f(address)f(to)h
(use)h(as)0 5164 y(the)c(source)e(address)h(during)g(the)h(exc)n
(hange.)0 5363 y(The)d(com)n(bination)g(of)g(pac)n(k)n(et)f
(\014ltering)h(through)g Fj(ipf)h Fk(and)2010 83 y(SA-on-demand)43
b(can)g(b)r(e)h(used)f(e\013ectiv)n(ely)g(to)h(enforce)2010
183 y(net)n(w)n(ork)39 b(securit)n(y)h(p)r(olicy)g(for)g(the)h
(protected)f(host\(s\).)2010 282 y(One)d(particularly)f(in)n(teresting)
g(con\014guration)g(in)n(v)n(olv)n(es)2010 382 y(the)44
b(bridge)g(establishing)f(SAs)h(for)g(unencrypted-only)2010
482 y(tra\016c;)50 b(if)43 b(end-hosts)f(use)g(IPsec)g(or)g(SSL)h(for)f
(end-to-)2010 581 y(end)28 b(pac)n(k)n(et)f(securit)n(y)-7
b(,)27 b(the)h(bridge)f(simply)h(forw)n(ards)e(the)2010
681 y(pac)n(k)n(ets.)57 b(In)34 b(another)g(con\014guration,)h(the)g
(bridge)e(p)r(er-)2010 780 y(mits)c(all)g(pac)n(k)n(ets)f(through,)h
(but)g(attempts)h(to)e(establish)2010 880 y(SAs)j(for)f(suc)n(h)g(comm)
n(unications)g(and)g(uses)g(them)i(if)f(the)2010 980
y(remote)h(hosts)g(can)g(do)g(IPsec)g(\(also)f(kno)n(wn)h(as)g(\\opp)r
(or-)2010 1079 y(tunistic)c(encryption"\).)2010 1496
y Fo(4)112 b(Implemen)m(tation)32 b(Status)i(and)h(F)-9
b(uture)2178 1612 y(W)g(ork)2010 1913 y Fk(Curren)n(tly)i(,)43
b(the)e(bridge)f(lac)n(ks)f(supp)r(ort)h(for)g(the)h(span-)2010
2013 y(ning)24 b(tree)f(proto)r(col)g(whic)n(h)g(is)h(part)f(of)h(the)g
(IEEE)e(802.1D)2010 2112 y(standard[16)n(],)32 b(so)e(care)g(m)n(ust)h
(b)r(e)g(tak)n(en)f(to)h(ensure)f(that)2010 2212 y(lo)r(ops)h(are)f
(not)h(created)g(in)h(the)g(net)n(w)n(ork.)46 b(The)32
b(La)n(y)n(er-2)2010 2312 y(\014lter)i(rule)g(system)g(should)g(b)r(e)g
(extended)h(to)f(pro)n(vide)e(a)2010 2411 y(general)17
b(mec)n(hanism)h(for)g(\014ltering)h(sp)r(eci\014c)f(ethernet)h(pro-)
2010 2511 y(to)r(cols.)35 b(W)-7 b(e)24 b(also)f(in)n(tend)h(to)f
(extend)h(the)h(bridge)e(to)g(allo)n(w)2010 2610 y(for)h(other)h(t)n
(yp)r(es)f(of)h(LAN)g(bridging)f(\(FDDI,)j(PPP)-7 b(,)23
b Fj(etc.)p Fk(\).)2010 2810 y(With)g(regards)c(to)j(dynamic)f(SA)h
(establishmen)n(t,)h(all)f(traf-)2010 2909 y(\014c)28
b(that)g(tra)n(v)n(erses)d(the)j(bridge)g(con\014gured)e(in)i(the)h
(man-)2010 3009 y(ner)f(describ)r(ed)g(in)h(section)e(3.4)h(causes)f
(SA)i(acquisitions.)2010 3109 y(This)22 b(is)g(b)r(oth)h(undesirable)e
(and)h(can)g(ha)n(v)n(e)f(sev)n(ere)g(p)r(erfor-)2010
3208 y(mance)28 b(implications.)39 b(A)29 b(mec)n(hanism)f(for)g(the)h
(adminis-)2010 3308 y(trator)h(to)h(sp)r(ecify)g(whic)n(h)g(pac)n(k)n
(et)f(\015o)n(ws)g(should)h(require)2010 3407 y(IPsec)22
b(protection)h(\(and)h(th)n(us)f(cause)g(an)g(SA)h(acquisition\))2010
3507 y(is)e(necessary)-7 b(.)33 b(W)-7 b(e)23 b(are)e(curren)n(tly)g(w)
n(orking)g(on)h(this)g(issue.)2010 3706 y(More)e(w)n(ork)f(needs)i(to)g
(b)r(e)g(done)g(with)g(regards)e(to)h(the)h(p)r(er-)2010
3806 y(formance)h(implications)g(of)h(frequen)n(t)f(IKE)g
(negotiations,)2010 3906 y(as)g(migh)n(t)h(b)r(e)g(the)h(case)e(when)h
(the)g(bridge)f(is)h(protecting)f(a)2010 4005 y(large)31
b(net)n(w)n(ork.)49 b(Hardening)31 b(against)g(denial)h(of)g(service)
2010 4105 y(attac)n(ks)23 b(\(b)n(y)g(exploiting)h(to)r(o-aggressiv)n
(e)c(SA)k(acquisition)2010 4204 y(rules\))j(is)h(also)e(high)i(in)g
(our)e(to-do)h(list.)2010 4404 y(The)41 b(\014ltering)f(bridge)g(can)g
(also)g(pro)n(vide)f(a)i(transition)2010 4503 y(step)30
b(for)f(a)g(\\distributed)h(\014rew)n(all"-protected)d(net)n(w)n(ork,)
2010 4603 y(as)g(describ)r(ed)h(in)g([1].)38 b(It)28
b(ma)n(y)f(also)g(b)r(e)h(used)g(in)g(conjunc-)2010 4703
y(tion)21 b(with)g(a)f(distributed)h(\014rew)n(all)f(to)g(pro)n(vide)g
(protection)2010 4802 y(against)27 b(lo)n(w-lev)n(el)g(net)n(w)n(ork)f
(attac)n(ks)h(\(those)h(that)h(a)e(dis-)2010 4902 y(tributed)e(\014rew)
n(all)e(is)h(not)g(w)n(ell-suited)g(to)g(coun)n(ter\),)h(or)e(to)2010
5001 y(protect)32 b(legacy)g(systems)g(that)h(cannot)g(b)r(e)g(mo)r
(di\014ed)g(to)2010 5101 y(supp)r(ort)28 b(the)h(required)e
(functionalit)n(y)-7 b(.)39 b(V)-7 b(ery)27 b(lo)n(w-priced)2010
5201 y(systems)39 b(\(motherb)r(oard,)j(pro)r(cessor,)f(small)f(disk,)j
(t)n(w)n(o)2010 5300 y(ethernet)31 b(cards,)g(mo)r(derate)g(amoun)n(t)g
(of)g(memory\))g(ma)n(y)2010 5400 y(b)r(e)h(used)f(in)g(suc)n(h)g(a)g
(con\014guration;)g(suc)n(h)g(systems)g(ma)n(y)p eop
%%Page: 10 10
10 9 bop 0 83 a Fk(also)28 b(b)r(e)i(used)g(as)f(\\p)r(ersonal)f
(\014rew)n(alls,")g(similar)h(to)g(v)-5 b(ar-)0 183 y(ious)27
b(commercial)f(pro)r(ducts)h(that)g(ha)n(v)n(e)f(b)r(egun)i(to)f(mak)n
(e)0 282 y(their)h(app)r(earance)e(in)i(the)f(mark)n(et)g(recen)n(tly)
-7 b(.)0 684 y Fo(5)112 b(Conclusions)0 969 y Fk(W)-7
b(e)28 b(ha)n(v)n(e)d(giv)n(en)i(an)g(o)n(v)n(erview)e(of)i(the)g(Op)r
(enBSD)h(bridge)0 1069 y(implemen)n(tation,)21 b(with)e(our)e
(extensions)h(for)g(La)n(y)n(er-2)e(and)0 1169 y(La)n(y)n(er-3)31
b(\014ltering)i(\(at)h(the)h(ethernet)e(and)h(IP)f(la)n(y)n(er,)h(re-)0
1268 y(sp)r(ectiv)n(ely\).)h(F)-7 b(or)23 b(the)h(latter,)g(w)n(e)f
(used)h(the)f(existing)g(k)n(er-)0 1368 y(nel)38 b(pac)n(k)n(et)f
(\014lter)h(mec)n(hanism,)i Fj(ipf.)70 b Fk(W)-7 b(e)38
b(further)g(pre-)0 1467 y(sen)n(ted)46 b(our)f(in)n(tegration)f(of)i
(bridging)f(with)h(IPsec)f(to)0 1567 y(pro)n(vide)23
b(\\virtual)h(LAN")g(functionalit)n(y)-7 b(,)25 b(\\bump-in-the-)0
1667 y(wire")d(supp)r(ort,)h(and)g(a)f(transparen)n(t)f(securit)n(y)h
(p)r(olicy)g(en-)0 1766 y(forcemen)n(t)34 b(b)r(o)n(x.)59
b(This)35 b(latter)g(con\014guration)e(is)i(sho)n(wn)0
1866 y(to)24 b(o\013er)f(signi\014can)n(t)g(\015exibilit)n(y)g(to)h
(net)n(w)n(ork)e(administra-)0 1966 y(tors,)h(as)f(it)i(can)e(b)r(e)i
(used)f(in)g(v)-5 b(arious)21 b(mo)r(des)i(of)g(op)r(eration)0
2065 y(to)i(ensure)f(tra\016c)g(as)h(w)n(ell)f(as)g(host)h(and)g(net)n
(w)n(ork)e(protec-)0 2165 y(tion.)37 b(Finally)-7 b(,)26
b(w)n(e)g(discussed)g(the)h(curren)n(t)e(implemen)n(ta-)0
2264 y(tion)j(status)f(and)g(our)g(plans)h(for)f(future)h(w)n(ork.)0
2666 y Fo(6)112 b(Ac)m(kno)m(wledgmen)m(ts)0 2952 y Fk(The)38
b(bridge)f(w)n(as)g(originally)f(dev)n(elop)r(ed)h(as)g(an)h(under-)0
3051 y(graduate)43 b(indep)r(enden)n(t)j(study)f(at)g(the)g(Univ)n
(ersit)n(y)f(of)0 3151 y(North)32 b(Carolina)f(at)i(Greensb)r(oro)e(b)n
(y)h(Jason)g(L.)g(W)-7 b(righ)n(t)0 3250 y(with)41 b(Dr.)76
b(Suzanne)41 b(Lea)f(as)g(an)g(advisor.)75 b(The)40 b(co)r(de)0
3350 y(w)n(as)28 b(con)n(tributed)h(to)f(the)i(Op)r(enBSD)f(pro)5
b(ject)28 b(and)h(in)n(te-)0 3450 y(grated)j(in)n(to)g(the)i(source)d
(tree)i(prior)e(to)i(the)g(2.5)f(release)0 3549 y(\(Ma)n(y)27
b(1999\).)0 3749 y(The)21 b(authors)g(w)n(ould)f(also)h(lik)n(e)g(to)g
(thank)g(Theo)g(de)g(Raadt)0 3848 y(and)29 b(Jonathan)g(Smith)h(for)f
(their)h(suggestions)e(and)h(sup-)0 3948 y(p)r(ort)c(during)g(the)g
(course)f(of)h(this)h(w)n(ork.)34 b(Theo)25 b(de)g(Raadt)0
4047 y(suggested)h(man)n(y)g(of)h(the)g(original)f(concepts)g(b)r
(ehind)i(the)0 4147 y(\014ltering)c(bridge)f(and)h(the)g(virtual)f
(LAN.)i(This)f(w)n(ork)e(w)n(as)0 4247 y(partly)34 b(sp)r(onsored)g(b)n
(y)g(D)n(ARP)-7 b(A)35 b(under)g(gran)n(t)f(F39502-)0
4346 y(99-1-0512-MOD)23 b(P0001.)0 4748 y Fo(7)112 b(Av)-6
b(ailabilit)m(y)0 5033 y Fk(All)30 b(the)g(soft)n(w)n(are)f(describ)r
(ed)g(in)h(the)g(pap)r(er)g(is)f(a)n(v)-5 b(ailable)0
5133 y(through)27 b(the)h(Op)r(enBSD)g(w)n(eb)f(page)g(at:)429
5382 y Fc(http://www.openb)o(sd)o(.o)o(rg/)2010 83 y
Fo(8)112 b(Disclaimer)2010 394 y Fk(Op)r(enBSD)24 b(is)g(based)f(in)h
(Calgary)-7 b(,)23 b(Canada.)35 b(All)24 b(individ-)2010
494 y(uals)j(doing)f(cryptograph)n(y-related)e(w)n(ork)h(do)i(so)f
(outside)2010 593 y(coun)n(tries)h(that)g(ha)n(v)n(e)g(limiting)h(la)n
(ws.)2010 1021 y Fo(References)2048 1247 y Fb([1])43
b(S.)25 b(M.)h(Bello)n(vin.)34 b(Distributed)25 b(Firew)n(alls.)35
b Fa(;lo)l(gin:)f(mag-)2171 1338 y(azine,)27 b(sp)l(e)l(cial)i(issue)f
(on)f(se)l(curity)p Fb(,)h(No)n(v)n(em)n(b)r(er)c(1999.)2048
1475 y([2])43 b(Consultation)d(Committee.)74 b Fa(X.509:)60
b(The)40 b(Dir)l(e)l(ctory)2171 1566 y(A)n(uthentic)l(ation)55
b(F)-6 b(r)l(amework)p Fb(.)117 b(In)n(ternational)53
b(T)-6 b(ele-)2171 1658 y(phone)29 b(and)g(T)-6 b(elegraph,)31
b(In)n(ternational)f(T)-6 b(elecomm)n(uni-)2171 1749
y(cations)27 b(Union,)e(Genev)l(a,)h(1989.)2048 1886
y([3])43 b(D.)24 b(Eastlak)n(e)i(and)e(C.)h(Kaufman.)32
b(Dynamic)23 b(Name)h(Ser-)2171 1977 y(vice)40 b(and)g(Securit)n(y)-6
b(.)78 b(In)n(ternet)39 b(RF)n(C)h(2065,)46 b(Jan)n(uary)2171
2068 y(1997.)2048 2205 y([4])d(Niklas)23 b(Hallqvist)f(and)g(Angelos)h
(D.)f(Kerom)n(ytis.)28 b(Imple-)2171 2296 y(men)n(ting)21
b(In)n(ternet)f(Key)h(Exc)n(hange)h(\(IKE\).)27 b(In)22
b Fa(Pr)l(o)l(c)l(e)l(e)l(d-)2171 2388 y(ings)28 b(of)e(the)j(A)n
(nnual)e(USENIX)g(T)-6 b(e)l(chnic)l(al)28 b(Confer)l(enc)l(e)p
Fb(,)2171 2479 y(June)e(2000.)2048 2616 y([5])43 b(D.)36
b(Harkins)f(and)h(D.)g(Carrel.)66 b(The)36 b(in)n(ternet)g(k)n(ey)f
(ex-)2171 2707 y(c)n(hange)f(\(IKE\).)58 b(Request)32
b(for)j(Commen)n(ts)d(\(Prop)r(osed)2171 2799 y(Standard\))f(2409,)k
(In)n(ternet)c(Engineering)h(T)-6 b(ask)32 b(F)-6 b(orce,)2171
2890 y(No)n(v)n(em)n(b)r(er)24 b(1998.)2048 3027 y([6])43
b(P)-6 b(.)34 b(Karn)g(and)g(W.)g(Simpson.)59 b(Photuris:)52
b(Session-k)n(ey)2171 3118 y(managemen)n(t)20 b(proto)r(col.)29
b(Request)20 b(for)j(Commen)n(ts)d(\(Ex-)2171 3209 y(p)r(erimen)n
(tal\))h(2522,)j(In)n(ternet)d(Engineering)h(T)-6 b(ask)22
b(F)-6 b(orce,)2171 3301 y(Marc)n(h)26 b(1999.)2048 3437
y([7])43 b(S.)19 b(Ken)n(t)g(and)g(R.)g(A)n(tkinson.)k(IP)c(authen)n
(tication)h(header.)2171 3529 y(Request)25 b(for)i(Commen)n(ts)d
(\(Prop)r(osed)j(Standard\))e(2402,)2171 3620 y(In)n(ternet)g
(Engineering)h(T)-6 b(ask)26 b(F)-6 b(orce,)26 b(No)n(v)n(em)n(b)r(er)e
(1998.)2048 3757 y([8])43 b(S.)20 b(Ken)n(t)g(and)h(R.)f(A)n(tkinson.)
25 b(IP)c(encapsulating)g(securit)n(y)2171 3848 y(pa)n(yload)28
b(\(ESP\).)41 b(Request)28 b(for)g(Commen)n(ts)f(\(Prop)r(osed)2171
3940 y(Standard\))k(2406,)k(In)n(ternet)c(Engineering)h(T)-6
b(ask)32 b(F)-6 b(orce,)2171 4031 y(No)n(v)n(em)n(b)r(er)24
b(1998.)2048 4168 y([9])43 b(S.)25 b(Ken)n(t)f(and)h(R.)f(A)n(tkinson.)
33 b(Securit)n(y)24 b(arc)n(hitecture)h(for)2171 4259
y(the)d(in)n(ternet)g(proto)r(col.)30 b(Request)22 b(for)h(Commen)n(ts)
e(\(Pro-)2171 4350 y(p)r(osed)34 b(Standard\))f(2401,)38
b(In)n(ternet)33 b(Engineering)i(T)-6 b(ask)2171 4442
y(F)g(orce,)26 b(No)n(v)n(em)n(b)r(er)e(1998.)2010 4578
y([10])43 b(A.)35 b(D.)g(Kerom)n(ytis,)j(J.)e(Ioannidis,)i(and)d(J.)h
(M.)g(Smith.)2171 4670 y(Implemen)n(ting)16 b(IPsec.)23
b(In)18 b Fa(Pr)l(o)l(c)l(e)l(e)l(dings)23 b(of)e(Glob)l(al)g(Inter-)
2171 4761 y(net)28 b(\(Glob)l(eCom\))g('97)p Fb(,)e(pages)g(1948)g({)g
(1952,)h(No)n(v)n(em)n(b)r(er)2171 4852 y(1997.)2010
4989 y([11])43 b(Kirk)26 b(McKusic)n(k,)g(et.)g(al.)36
b Fa(The)28 b(Design)h(and)f(Implemen-)2171 5081 y(tation)35
b(of)e(the)i(4.4BSD)e(Op)l(er)l(ation)i(System)p Fb(.)56
b(Addison)2171 5172 y(W)-6 b(esley)g(,)25 b(1996.)2010
5309 y([12])43 b(RSA)36 b(Lab)r(oratories.)72 b Fa(PK)n(CS)38
b(#1:)56 b(RSA)38 b(Encryption)2171 5400 y(Standar)l(d)p
Fb(,)28 b(v)n(ersion)e(1.5)g(edition,)h(1993.)36 b(No)n(v)n(em)n(b)r
(er.)p eop
%%Page: 11 11
11 10 bop 0 83 a Fb([13])43 b(Stev)n(en)19 b(McCanne)j(and)e(V)-6
b(an)20 b(Jacobson.)27 b(A)20 b(BSD)h(pac)n(k)n(et)161
174 y(\014lter:)33 b(A)23 b(new)g(arc)n(hitecture)g(for)h(user-lev)n
(el)f(pac)n(k)n(et)f(cap-)161 266 y(ture.)39 b(In)26
b Fa(Pr)l(o)l(c)l(e)l(e)l(dings)32 b(of)c(USENIX)h(Winter)g(T)-6
b(e)l(chnic)l(al)161 357 y(Confer)l(enc)l(e)p Fb(,)31
b(pages)f(259{269,)j(San)28 b(Diego,)j(California,)161
448 y(Jan)n(uary)26 b(1993.)h(Usenix.)0 573 y([14])43
b(D.)18 b(McDonald,)j(C.)e(Metz,)i(and)d(B.)h(Phan.)k(PF)p
1515 573 24 4 v 28 w(KEY)18 b(Key)161 664 y(Managemen)n(t)38
b(API,)f(V)-6 b(ersion)38 b(2.)70 b(Request)37 b(for)i(Com-)161
756 y(men)n(ts)34 b(\(Informational\))h(2367,)k(In)n(ternet)34
b(Engineering)161 847 y(T)-6 b(ask)26 b(F)-6 b(orce,)26
b(July)g(1998.)0 971 y([15])43 b(Digital)27 b(Signature)f(Standard,)f
(Ma)n(y)h(1994.)0 1096 y([16])43 b(In)n(ternet)n(w)n(orking)37
b(T)-6 b(ask)38 b(Group)f(of)h(IEEE)g(802.1.)72 b(In-)161
1187 y(formation)27 b(tec)n(hnology)g({)g(telecomm)n(unication)f(and)g
(in-)161 1279 y(formation)37 b(exc)n(hange)g(b)r(et)n(w)n(een)g
(systems)f({)i(lo)r(cal)g(and)161 1370 y(metrop)r(olitan)j(area)g(net)n
(w)n(orks)g({)f(common)f(sp)r(eci\014ca-)161 1461 y(tions)24
b({)g(part)g(3:)34 b(Media)25 b(access)g(con)n(trol)f(\(mac\))f
(bridges.)161 1553 y(T)-6 b(ec)n(hnical)54 b(Rep)r(ort)f(ISO/IEC)g
(Final)h(DIS)e(15802-3,)161 1644 y(IEEE)33 b(P802.1D/D17,)k(LAN)32
b(MAN)f(Standards)i(Com-)161 1735 y(mittee)25 b(of)h(the)g(IEEE)g
(Computer)f(So)r(ciet)n(y)-6 b(,)25 b(Ma)n(y)h(1998.)p
eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF