%!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: bpf.dvi %%Pages: 12 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%DocumentFonts: Times-Roman Times-Italic Helvetica Courier Times-Bold %%DocumentPaperSizes: Letter %%EndComments %DVIPSCommandLine: dvips -o bpf.ps bpf %DVIPSParameters: dpi=600, comments removed %DVIPSSource: TeX output 1999.05.21:1742 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore 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 /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginFont: Times-Roman % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndFont %%BeginProcSet: texps.pro TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont load]cvx def}def /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /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 40258431 52099146 1000 600 600 (bpf.dvi) @start /Fa 171[37 1[40 3[43 4[20 43 2[37 43 2[43 65[{ TeXBase1Encoding ReEncodeFont }8 59.999974 /Times-Roman rf /Fb 6 117 df<0003F800000FFE00003E0F0000F8078001F0038003E0038007C00380 0FC003801F8003801F8007803F0007003F000F007E003E007E03F8007FFFE000FFFE0000 FC000000FC000000FC000000FC000000F8000000F8000000F8000000F8000000F8000180 F80003C0F80003C07C0007807C001F003C003E001E00F8000F03E00007FF800001FC0000 1A2277A023>101 D<0000001F000000007FC0000000F0E0000001F0F0000003E3F00000 03E3F0000007C3F0000007C3E0000007C1C000000FC00000000F800000000F800000000F 800000000F800000001F800000001F000000001F000000001F000000001F000000003F00 0000003E0000001FFFFE00001FFFFE00001FFFFE0000007E000000007C000000007C0000 00007C000000007C00000000FC00000000F800000000F800000000F800000000F8000000 00F800000001F800000001F000000001F000000001F000000001F000000003F000000003 E000000003E000000003E000000003E000000007E000000007C000000007C000000007C0 0000000FC00000000FC00000000F800000000F800000000F800000001F800000001F0000 00001F000000001F000000003F000000003E000000383E0000007E3C0000007E3C000000 FE78000000FC78000000F8F000000078E00000003FC00000000F00000000244582B418> I<0001800007E00007E0000FE00007C00003800000000000000000000000000000000000 0000000000000000000000000000000001F00003FC000F1E000E1E001C1E003C1E00381E 00783E00703E00703E00707E00F07C0060FC0000F80000F80001F80001F00001F00003F0 0003E00003E00007E0C007C1E00FC1C00F81C00F81C00F83C00F03800F07800F07000F0E 000F1E0007F80001F00013337AB118>105 D<003F07FF0FFF0FFE007E007E007E007C00 7C00FC00FC00F800F801F801F801F001F003F003F003E003E007E007E007C007C00FC00F C00F800F801F801F801F001F003F003F003E003E007E007E007C007C18FC1CFC3CF838F8 38F878F870F070F0F0F8E079E03FC00F00103579B314>108 D<03C007F0000FF01FFC00 1E787C1E001C7CF01F003C3DE00F00383FC00F80387F800F80787F000F80707E000F8070 7E000F80F0FC001F80E0FC001F0060F8001F0000F8001F0001F8003F0001F8003E0001F0 003E0001F0003E0003F0007E0003F0007C0003E000FC0003E000F81807E000F83C07E001 F83807C001F03807C001F0380FC001F0780FC001E0700F8001E0F00F8001E0E01F8001E1 C01F8001E3C01F0000FF000E00003E0026227AA02B>110 D<000300000F80000F80000F 80001F80001F80001F00001F00003F00003F00003E00003E00007E00007E00007C007FFF F87FFFF8FFFFF800F80000F80001F80001F80001F00001F00003F00003F00003E00003E0 0007E00007E00007C00007C0000FC0000FC0000F80000F80601F80F01F80E01F00E01F01 E01F01C01F03C01E03801E07001E0F000F1E0007F80001E00015307AAE19>116 D E /Fc 139[16 23 23 2[29 29 4[16 3[26 29 26 1[29 13[29 2[36 14[36 65[{ TeXBase1Encoding ReEncodeFont }13 58.333334 /Times-Italic rf /Fd 138[32 19 3[32 1[32 30[45 5[23 73[{ TeXBase1Encoding ReEncodeFont }6 58.333334 /Times-Bold rf /Fe 1 107 df106 D E /Ff 137[45 1[45 2[45 45 45 45 1[45 1[45 2[45 45 45 2[45 51[45 46[{ TeXBase1Encoding ReEncodeFont }13 75.000000 /Courier rf /Fg 1 51 df<0007FFF0003FFFF0007FFFF001FC000003E000 0007C000000F0000001E0000001C0000003C000000780000007000000070000000F00000 00E0000000E0000000FFFFFFF0FFFFFFF0FFFFFFF0E0000000E0000000F0000000700000 0070000000780000003C0000001C0000001E0000000F0000000780000003E0000001FC00 0000FFFFF0003FFFF00007FFF01C237A9D2A>50 D E /Fh 1 93 df<00000001FFF8000000000000001FFFFF80000000000000FFFFFFF0000000000003FF FFFFFC00000000001FFFFFFFFF80000000003FFFFFFFFFC000000000FFFFFFFFFFF00000 0001FFFF000FFFF800000007FFF00000FFFE0000000FFFC000003FFF0000001FFE000000 07FF8000003FFC00000003FFC000007FF000000000FFE00000FFE0000000007FF00000FF 80000000001FF00001FF00000000000FF80003FE000000000007FC0007FC000000000003 FE0007F8000000000001FE000FF8000000000001FF000FF0000000000000FF001FE00000 000000007F801FE00000000000007F803FC00000000000003FC03FC00000000000003FC0 3F800000000000001FC07F800000000000001FE07F800000000000001FE07F0000000000 00000FE07F000000000000000FE0FF000000000000000FF0FF000000000000000FF0FE00 00000000000007F0FE0000000000000007F0FE0000000000000007F0FE00000000000000 07F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE000000 0000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0 FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000 000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE00 00000000000007F0FE0000000000000007F0FE0000000000000007F0FE00000000000000 07F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE000000 0000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0 FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000 000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE00 00000000000007F0FE0000000000000007F0FE0000000000000007F0FE00000000000000 07F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE000000 0000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0 FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000 000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE00 00000000000007F0FE0000000000000007F0FE0000000000000007F0FE00000000000000 07F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE000000 0000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0 FE0000000000000007F0FE0000000000000007F0FE0000000000000007F0FE0000000000 000007F0FE0000000000000007F0FE0000000000000007F07C0000000000000003E07C00 00000000000003E04C697C7F55>92 D E /Fi 32 118 df<0000C00001C0000380000F00 000E00001C00003C0000780000F00000F00001E00003C00003C00007C0000780000F8000 0F00001F00001F00001E00003E00003E00003E00003C00007C00007C00007C00007C0000 7C0000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 F80000F80000F80000F80000F800007C00007C00007C00007C00007C00003C00003E0000 3E00003E00001E00001F00001F00000F00000F800007800007C00003C00003C00001E000 00F00000F000007800003C00001C00000E00000F000003800001C00000C0124A79B71E> 40 DI<000FE000007FFC0000F83E0003E00F8007C007C0 078003C00F8003E01F0001F01F0001F03F0001F83F0001F83E0000F87E0000FC7E0000FC 7E0000FC7E0000FC7E0000FCFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FE FE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FE FE0000FEFE0000FEFE0000FE7E0000FC7E0000FC7E0000FC7E0000FC7E0000FC3F0001F8 3F0001F83F0001F81F0001F01F0001F00F8003E007C007C007C007C003E00F8000F83E00 007FFC00000FE0001F347DB126>48 D<00070000000F0000001F0000007F000007FF0000 FFFF0000FFBF0000F83F0000003F0000003F0000003F0000003F0000003F0000003F0000 003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000 003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000 003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000 003F0000003F0000003F0000003F0000003F0000007F80007FFFFF807FFFFF807FFFFF80 19327AB126>I<001FE00000FFFC0001FFFF0007E03F800F001FC01E000FE01C0007F03F 0007F03F8007F83F8003F83FC003F83F8003F83F8003F81F0007F8000007F8000007F000 0007F000000FE000000FC000001FC000003F8000007E000001F800007FE000007FFC0000 003F0000001FC000000FE0000007F0000007F8000003F8000003FC000001FC000001FE00 0001FE000001FE7E0001FEFF0001FEFF0001FEFF0001FEFF0001FEFF0001FCFE0003FC78 0003FC700007F8380007F03C000FF01F001FE00FE03F8003FFFF0000FFFC00001FE0001F 347DB126>51 D<000001C000000001C000000003C000000007C000000007C00000000FC0 0000001FC00000001FC00000003FC00000007FC00000006FC0000000CFC0000001CFC000 00038FC00000030FC00000070FC000000E0FC000000C0FC000001C0FC00000380FC00000 300FC00000700FC00000E00FC00000C00FC00001800FC00003800FC00003000FC0000600 0FC0000E000FC0000C000FC00018000FC00038000FC00030000FC00060000FC000E0000F C000FFFFFFFF80FFFFFFFF80FFFFFFFF8000000FC00000000FC00000000FC00000000FC0 0000000FC00000000FC00000000FC00000000FC00000000FC00000001FE0000007FFFF80 0007FFFF800007FFFF8021337EB226>I<0000FE000007FF80001FFFE0003F00F0007C00 7001F801F801F003F803E003F807E003F80FC003F80FC001F01F8000001F8000003F0000 003F0000003F0000007F0000007E0000007E07F0007E1FFC00FE381F00FE700F80FEE007 C0FFC003E0FF8003F0FF8001F8FF0001F8FF0001FCFF0000FCFF0000FCFE0000FEFE0000 FEFE0000FEFE0000FEFE0000FE7E0000FE7E0000FE7E0000FE7E0000FE7F0000FE3F0000 FC3F0000FC1F0001FC1F8001F80F8001F00FC003F007C007E003E00FC001F81F8000FFFF 00003FFC00000FE0001F347DB126>54 D<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFF FFE07FFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FF FFFFFFFFFFE07FFFFFFFFFFFC033147C9C3C>61 D<000000E0000000000000E000000000 0000E0000000000001F0000000000001F0000000000003F8000000000003F80000000000 03F8000000000007FC000000000007FC000000000007FC00000000000DFE00000000000C FE00000000000CFE0000000000187F0000000000187F0000000000187F0000000000303F 8000000000303F8000000000703FC000000000601FC000000000601FC000000000E01FE0 00000000C00FE000000000C00FE000000001800FF0000000018007F0000000018007F000 0000030003F8000000030003F8000000030003F8000000060001FC000000060001FC0000 000E0001FE0000000FFFFFFE0000000FFFFFFE0000001FFFFFFF0000001800007F000000 1800007F0000003000007F8000003000003F8000003000003F8000006000001FC0000060 00001FC000006000001FC00000C000000FE00000C000000FE00001C000000FF00001C000 0007F00003E0000007F0001FF000000FF800FFFE0001FFFFE0FFFE0001FFFFE0FFFE0001 FFFFE033367DB53A>65 D69 DI76 D82 D<001FE00300007FFC070001FFFF070007F01FCF000F8003FF001F0000FF003E00007F00 3E00003F007C00001F007C00001F007800000F00F800000700F800000700F800000700F8 00000700FC00000300FC00000300FE00000300FE000000007F000000007FC00000003FF0 0000003FFF0000001FFFF000000FFFFF000007FFFFC00003FFFFF00000FFFFF800003FFF FC000003FFFE0000003FFF00000003FF00000000FF800000007F800000003F800000001F C00000000FC0C000000FC0C000000FC0C0000007C0C0000007C0C0000007C0E0000007C0 E0000007C0F000000F80F000000F80F800000F00FC00001F00FE00003E00FF00007E00FF C000FC00F1FC03F800E0FFFFE000E01FFF8000C003FE000022377CB42B>I<7FFFFFFFFF FE7FFFFFFFFFFE7FFFFFFFFFFE7F8007F001FE7C0007F0003E780007F0001E700007F000 0E700007F0000E600007F00006E00007F00007E00007F00007E00007F00007C00007F000 03C00007F00003C00007F00003C00007F00003C00007F00003C00007F00003000007F000 00000007F00000000007F00000000007F00000000007F00000000007F00000000007F000 00000007F00000000007F00000000007F00000000007F00000000007F00000000007F000 00000007F00000000007F00000000007F00000000007F00000000007F00000000007F000 00000007F00000000007F00000000007F00000000007F00000000007F00000000007F000 00000007F00000000007F00000000007F00000000007F0000000000FF80000001FFFFFFC 00001FFFFFFC00001FFFFFFC0030337DB237>II<007F80000003FFF000000F80FC00001C003E00003F003F00003F801F80003F800FC0 003F800FC0003F8007E0001F0007E000000007E000000007E000000007E000000007E000 0001FFE000001FFFE00000FF87E00003FC07E0000FF007E0001FC007E0003F8007E0007F 8007E0007F0007E000FF0007E0C0FE0007E0C0FE0007E0C0FE0007E0C0FE000FE0C0FE00 0FE0C0FF001FE0C07F003BE0C03F8071F1801FC1E1FF8007FFC0FF0000FE003C0022237D A126>97 D<0007F800003FFF0000FC07C001F000E003E003F007C007F00FC007F01F8007 F03F8007F03F0003E07F0000007F0000007E000000FE000000FE000000FE000000FE0000 00FE000000FE000000FE000000FE000000FE000000FE0000007F0000007F0000003F0000 183F8000181F8000381FC000300FC0007007E000E003F001C000FC0F80003FFE000007F0 001D237EA122>99 D<0000003F0000000FFF0000000FFF0000000FFF000000007F000000 003F000000003F000000003F000000003F000000003F000000003F000000003F00000000 3F000000003F000000003F000000003F000000003F000000003F000000003F000007F03F 00003FFC3F0000FC0F3F0001F003BF0007E001FF000FC000FF001F80007F001F80003F00 3F00003F003F00003F007F00003F007E00003F00FE00003F00FE00003F00FE00003F00FE 00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F007E00 003F007F00003F007F00003F003F00003F001F80007F001F80007F000FC000FF0007E001 FF8003F007BFFC00F81E3FFC003FFC3FFC000FE03F0026357DB32B>I<000FE000007FFC 0000F83F0003F00F8007E00FC00FC007E01F8003E01F8003F03F0003F03F0001F07F0001 F87E0001F87E0001F8FE0001F8FE0001F8FFFFFFF8FFFFFFF8FE000000FE000000FE0000 00FE000000FE0000007E0000007F0000007F0000003F0000183F0000181F8000380F8000 300FC0007007E000E001F003C000FC0F00003FFE000007F0001D237EA122>I<0001FC00 0007FF00001F0780003E0FC0007C1FC000FC1FC001F81FC001F81FC003F8070003F00000 03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000 03F0000003F00000FFFFF000FFFFF000FFFFF00003F0000003F0000003F0000003F00000 03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000 03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000 03F0000003F0000003F0000007F800007FFFE0007FFFE0007FFFE0001A357FB417>I<00 00001F00001FC07F8000FFF8E3C001F07FC7C007E03F03C00FC01F83800F800F80001F80 0FC0001F0007C0003F0007E0003F0007E0003F0007E0003F0007E0003F0007E0003F0007 E0001F0007C0001F800FC0000F800F80000FC01F800007E03F000007F07C00000EFFF800 000C1FC000001C000000001C000000001C000000001E000000001E000000001F00000000 0FFFFE00000FFFFFC00007FFFFF00003FFFFFC0007FFFFFE001F0001FE003E00007F007C 00003F007C00001F80F800000F80F800000F80F800000F80F800000F80F800000F80FC00 001F807C00001F003E00003E001F00007C000FC001F80003F007E00000FFFF8000001FFC 000022337EA126>I<07800FC01FE01FE01FE01FE00FC007800000000000000000000000 00000000000000000007E0FFE0FFE0FFE00FE007E007E007E007E007E007E007E007E007 E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E00FF0FFFFFF FFFFFF10337EB215>105 D<07E0FFE0FFE0FFE00FE007E007E007E007E007E007E007E0 07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0 07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0 0FF0FFFFFFFFFFFF10347EB315>108 D<03F01FE000FF0000FFF07FF803FFC000FFF1E0 7C0F03E000FFF3803E1C01F00007F7003F3801F80003FE003F7001F80003FC001FE000FC 0003FC001FE000FC0003F8001FC000FC0003F8001FC000FC0003F0001F8000FC0003F000 1F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC 0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F000 1F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC 0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0007F800 3FC001FE00FFFFC7FFFE3FFFF0FFFFC7FFFE3FFFF0FFFFC7FFFE3FFFF03C217EA041>I< 03F01FC000FFF07FF000FFF1E0FC00FFF3807C0007F7007E0003FE007E0003FC003F0003 FC003F0003F8003F0003F8003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0 003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F000 3F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F 0007F8007F80FFFFC7FFFCFFFFC7FFFCFFFFC7FFFC26217EA02B>I<0007F00000003FFE 000000FC1F800001F007C00003C001E00007C001F0000F8000F8001F00007C001F00007C 003F00007E003E00003E007E00003F007E00003F007E00003F00FE00003F80FE00003F80 FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F807E00003F007E 00003F007E00003F003F00007E003F00007E001F00007C001F8000FC000FC001F80007C0 01F00003F007E00000FC1F8000003FFE00000007F0000021237EA126>I<03F03F8000FF F0FFE000FFF3C0F800FFF7007E0007FE003F0003FC001F8003F8001FC003F0000FC003F0 000FE003F00007F003F00007F003F00007F003F00003F803F00003F803F00003F803F000 03F803F00003F803F00003F803F00003F803F00003F803F00003F803F00007F803F00007 F003F00007F003F00007E003F0000FE003F0000FC003F8001FC003FC003F8003FC003F00 03FF00FC0003F381F80003F1FFE00003F07F000003F000000003F000000003F000000003 F000000003F000000003F000000003F000000003F000000003F000000003F000000007F8 000000FFFFC00000FFFFC00000FFFFC0000025307EA02B>I<03E07C00FFE1FF00FFE38F 80FFE71FC007EE1FC003EC1FC003EC1FC003FC0F8003F8000003F8000003F8000003F000 0003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F000 0003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000007F800 00FFFFE000FFFFE000FFFFE0001A217FA01E>114 D<00FF060007FFCE001F00FE003C00 3E0078001E0078000E00F0000E00F0000600F0000600F8000600F8000600FE000000FF80 00007FFC00003FFFC0003FFFF0000FFFF80007FFFC0000FFFE00000FFF000000FF000000 3F80C0001F80C0000F80E0000780E0000780E0000780F0000780F0000700F8000F00FC00 0E00FE001C00F7807800E1FFE000C07F800019237EA11E>I<0030000030000030000030 0000300000700000700000700000F00000F00001F00001F00003F00007F0001FFFFEFFFF FEFFFFFE03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0 0003F00003F00003F00003F00003F00303F00303F00303F00303F00303F00303F00303F0 0303F00701F80601F80600FC0E007E1C001FF80007E0182F7FAD1E>I<03F0003F00FFF0 0FFF00FFF00FFF00FFF00FFF0007F0007F0003F0003F0003F0003F0003F0003F0003F000 3F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F 0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F00 03F0003F0003F0007F0003F0007F0003F0007F0003F000FF0001F000FF0001F801FF8000 F803BFFC007E073FFC001FFE3FFC0007F83F0026227EA02B>I E /Fj 8 109 df<00FFFFFFFE00FFFFFFFE0007C0007E0007C0001E000F80000E000F8000 0E000F80000C000F80000C001F00000C001F00300C001F00300C001F00300C003E006000 003E006000003E01E000003FFFE000007FFFC000007C01C000007C01C000007C01C00000 F801800000F801803000F801803000F800006001F000006001F00000C001F00000C001F0 0001C003E000038003E000078003E0000F0007E0007F00FFFFFFFF00FFFFFFFE0027227C A12D>69 D<00FFFFFE0000FFFFFFC00007C007F00007C001F8000F8000F8000F8000FC00 0F80007C000F80007C001F0000FC001F0000FC001F0000FC001F0000F8003E0001F8003E 0003F0003E0003E0003E000FC0007C003F00007FFFFC00007FFFE000007C00000000F800 000000F800000000F800000000F800000001F000000001F000000001F000000001F00000 0003E000000003E000000003E000000007E0000000FFFE000000FFFE00000026227CA127 >80 D<0007C000003FE3000078378001E01F8003C01F0003C00F0007800F000F800F000F 001E001F001E001F001E001F001E003E003C003E003C003E003C001E003C001E0078001E 00F8000F01F8000787780003FEF00000F8F0000000F0000000F0000001E0000001E00038 01E0007803C000F8078000F80F8000703E00007FFC00001FE0000019217E951E>103 D<00F800000FF000000FF0000000F0000000F0000001E0000001E0000001E0000001E000 0003C0000003C0000003C0000003C000000787E000079FF80007B83C0007E01C000FC01E 000F801E000F801E000F001E001E003C001E003C001E003C001E0078003C0078003C0078 003C00F0203C00F0307800F0607801E0607801E0C07801E0C0F000E380F000FF0060003C 001C247CA224>I<0038007C007C00780070000000000000000000000000000007801FC0 38E030E060F0C1E0C1E0C1E003C003C003C0078007800F000F040F061E0C1E0C1E181C18 1E700FE007800F237DA116>I<00001800003C00007C00007C0000380000000000000000 00000000000000000000000000000780001FE00038E00060F000C0F000C0F00180F00180 F00001E00001E00001E00001E00003C00003C00003C00003C00007800007800007800007 80000F00000F00000F00000F00001E00001E00381E00783C00F83800F8780070F0007FC0 001F0000162D81A119>I<00F800000FF000000FF0000000F0000000F0000001E0000001 E0000001E0000001E0000003C0000003C0000003C0000003C0000007801E0007807F0007 81C300078387000F060F000F0C1F000F181F000F700E001FE000001FE000001FFC00001E 7E00003C0F00003C0F80003C0781003C078180780F0300780F0300780F020078070600F0 078C00F003F8006000F00019247CA221>I<01F01FE01FE001E001E003C003C003C003C0 07800780078007800F000F000F000F001E001E001E001E003C003C003C003C0078007800 78407860F0C0F0C0F0C0F18071803F001E000C247DA214>I E /Fk 2 107 df<007000F800F800F000E00000000000000000000000000F801FC031E061E061 E0C3C003C00780078007800F000F081E181E181E301E700FE007800D1D7D9C16>105 D<0001800003C00007C00007C0000380000000000000000000000000000000000000007C 0001FE00038F00070F00060F000C0F00000F00000F00001E00001E00001E00001E00003C 00003C00003C00003C0000780000780000780000780070F000F8F000F9E000F3C000FF80 007E000012257E9C18>I E /Fl 2 79 df<003FFFFFFFFC003FFFFFFFFC0001FC0001FC 0001F800007C0001F800003C0003F80000380003F80000180003F00000180003F0000018 0007F00000180007F00000180007E000C0180007E000C018000FE001C000000FE0018000 000FC0018000000FC0038000001FC00F8000001FFFFF0000001FFFFF0000001F800F0000 003F80070000003F80060000003F00060000003F00060000007F000E00E0007F000C00C0 007E000000C0007E000001C000FE0000038000FE0000038000FC0000070000FC00000700 01FC00000E0001FC00001E0001F800003C0001F80000FC0003F80007F800FFFFFFFFF800 FFFFFFFFF0002E287DA731>69 D<003FFC0001FFF8003FFE0001FFF80001FE00001F0000 01FF00001E000001FF00000C000003BF80001C000003BF8000180000031FC00018000003 1FC000180000070FE000380000070FE0003000000607F0003000000607F0003000000E03 F8007000000E03F8006000000C01FC006000000C01FC006000001C00FE00E000001C00FE 00C0000018007F00C0000018007F00C0000038003F81C0000038001F8180000030001FC1 80000030000FC180000070000FE3800000700007E3000000600007F3000000600003F300 0000E00003FF000000E00001FE000000C00001FE000000C00000FE000001C00000FE0000 01C000007C0000018000007C000003C000003C000007C000003C0000FFFC0000180000FF FC000018000035287DA735>78 D E /Fm 15 117 df<3C007E00FF00FF00FF80FF807F80 3D800180018001800180038003000300070006000E000C001C0038007000600009177A87 15>59 D<00000000001C00000000007E0000000001FE0000000007FC000000001FF00000 00007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF00000000 07FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007F C000000001FF0000000007FC000000001FF0000000007FC000000000FF0000000000FF00 000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000001F F00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC00000000 01FF00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC00000 00001FF00000000007FC0000000001FE00000000007E00000000001C2F2E7AA93C>I<70 0000000000FC0000000000FF00000000007FC0000000001FF00000000007FC0000000001 FF00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000000 001FF00000000007FC0000000001FF00000000007FC0000000001FF00000000007FC0000 000001FF00000000007FC0000000001FF00000000007FC0000000001FE0000000001FE00 00000007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF00000 00007FC000000001FF0000000007FC000000001FF0000000007FC000000001FF00000000 07FC000000001FF0000000007FC000000001FF0000000007FC000000001FF0000000007F C000000000FF0000000000FC00000000007000000000002F2E7AA93C>62 D<000FFFFFFFFFFE000FFFFFFFFFFE000FFFFFFFFFFC00003FC00003FC00003FC00000FC 00003FC000007C00003F8000003C00003F8000003C00007F8000001C00007F8000001800 007F0000001800007F000000180000FF000000180000FF000000180000FE000300180000 FE000300180001FE000700380001FE000600300001FC000600000001FC000E00000003FC 000E00000003FC001C00000003F8007C00000003FFFFFC00000007FFFFFC00000007FFFF F800000007F000F800000007F000380000000FF000380000000FF000300000000FE00030 0000000FE000300060001FE0007000E0001FE0006000C0001FC0006001C0001FC0000001 80003FC000000180003FC000000380003F8000000300003F8000000700007F8000000E00 007F8000000E00007F0000001E00007F0000003C0000FF0000007C0000FF000000F80000 FE000003F80001FE00001FF000FFFFFFFFFFF000FFFFFFFFFFF000FFFFFFFFFFE0003733 7DB239>69 D<000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFFFFFF800003FC00007F80000 3FC00000F800003FC000007800003F8000007800003F8000003800007F8000003800007F 8000003000007F0000003000007F000000300000FF000000300000FF000000300000FE00 0000300000FE000600300001FE000E00700001FE000C00600001FC000C00000001FC000C 00000003FC001C00000003FC003800000003F8003800000003F800F800000007FFFFF800 000007FFFFF800000007FFFFF000000007F001F00000000FF000F00000000FF000600000 000FE000600000000FE000600000001FE000E00000001FE000C00000001FC000C0000000 1FC000C00000003FC000000000003FC000000000003F8000000000003F8000000000007F 8000000000007F8000000000007F0000000000007F000000000000FF000000000000FF00 0000000000FE000000000001FF0000000000FFFFFF00000000FFFFFF00000000FFFFFF00 00000036337DB231>I<0000000FF800180000007FFF0038000003FFFFC07800000FFC03 E0F000003FC000F1F00000FF00003BF00001FC00001FF00007F800001FE0000FF000000F E0001FE0000007E0003F80000007E0007F80000007C000FF00000003C001FE00000003C0 01FC00000003C003FC000000038007F800000003800FF000000003800FF000000003801F E000000003001FE000000003003FC000000003003FC000000000007FC000000000007F80 00000000007F8000000000007F800000000000FF800000000000FF000000000000FF0000 00000000FF000000000000FF000000000000FE000007FFFFC0FE00000FFFFFC0FE00000F FFFFC0FE00000007F800FE00000007F000FE00000007F000FE0000000FF000FE0000000F F000FE0000000FE0007F0000000FE0007F0000001FE0007F0000001FE0003F8000001FC0 003F8000003FC0001FC000003FC0000FE000007F800007F00000FF800003F80001CF8000 01FE000787800000FFC03F070000003FFFFC030000000FFFF00000000001FF8000000035 377CB43C>I<000FFFE00001FFFF000FFFE00001FFFF000FFFF00001FFFF00001FF00000 0FE000003FF80000078000003FF800000700000033FC00000600000033FC000006000000 71FE00000E00000071FE00000C00000060FE00000C00000060FF00000C000000E07F0000 1C000000E07F800018000000C03F800018000000C03FC00018000001C03FC00038000001 C01FE00030000001801FE00030000001800FF00030000003800FF000700000038007F800 600000030007F800600000030003F800600000070003FC00E00000070001FC00C0000006 0001FE00C00000060000FE00C000000E0000FF01C000000E0000FF018000000C00007F81 8000000C00007F818000001C00003FC38000001C00003FC30000001800001FE300000018 00001FE30000003800000FF70000003800000FF600000030000007F600000030000007FE 00000070000003FE00000070000003FC00000060000001FC00000060000001FC000000E0 000001FC000000E0000000F8000001E0000000F8000007F0000000780000FFFF80000078 0000FFFF800000300000FFFF80000030000040337DB23D>78 D<000FFFFFFFF000000FFF FFFFFE00000FFFFFFFFF0000003FC0007FC000003FC0001FE000003FC00007F000003F80 0007F000003F800003F800007F800003F800007F800003F800007F000003FC00007F0000 03FC0000FF000003FC0000FF000007F80000FE000007F80000FE000007F80001FE000007 F00001FE00000FF00001FC00000FE00001FC00001FC00003FC00003F800003FC00007F00 0003F80000FE000003F80003FC000007F8001FF0000007FFFFFFC0000007FFFFFE000000 07F000000000000FF000000000000FF000000000000FE000000000000FE000000000001F E000000000001FE000000000001FC000000000001FC000000000003FC000000000003FC0 00000000003F8000000000003F8000000000007F8000000000007F8000000000007F0000 000000007F000000000000FF000000000000FF000000000000FE000000000001FE000000 0000FFFFFC00000000FFFFFC00000000FFFFFC0000000036337DB231>80 D<0001F800000007FE0000001F071C00007C03FE0000F801FE0001F001FE0003F000FE00 07E000FC0007C000FC000FC000FC001F8001FC001F8001F8003F0001F8003F0001F8003F 0003F8007F0003F0007E0003F0007E0003F0007E0007F000FE0007E000FC0007E000FC00 07E040FC000FE060FC000FC0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F 81803E00EF83801E01C7C3000F0787C70007FE03FE0000F800F80023227EA029>97 D<003F00001FFF00001FFF00001FFE000000FE000000FE000000FE000000FC000000FC00 0001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F000 0007F0000007E0F80007E3FF000FEF07800FFC03C00FF803E00FF001E01FE001F01FC001 F01F8001F01F8001F83F8001F83F8001F83F0001F83F0001F87F0003F87F0003F07E0003 F07E0003F07E0007F0FE0007E0FC0007E0FC0007E0FC000FC0FC000FC0FC001F807C001F 007C003F007C007E003C007C003E00F8001E01F0000F07C00007FF000000FC00001D357E B321>I<0000FE000007FF80001F03C0007C01E001F800E003F000E007E000E00FC000E0 1F8000E01F8001E03F0001C03F0003C07E000F807E00FE007FFFF800FFFF8000FC000000 FC000000FC000000FC000000F8000000F8000000F8000000F8000000F8000018FC000038 7C0000707C0000E03C0001C03E0007801F001E000F80FC0003FFE00000FF00001D227DA0 24>101 D<001F8007FF800FFF800FFF00007F00007F00007F00007E00007E0000FE0000 FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007 F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F 80003F00003F00007F00007F00007E00007E0400FE0E00FE0C00FC0C00FC0C00FC1C00FC 1800F81800F838007C70007C60003FE0000F800011357DB317>108 D<001F001F00007FC07FE000E3E1E0F000C3E3807801C1F7007C0181FE003C0183FC003E 0383F8003E0303F0003E0303F0003F0707F0003F0607F0003F0207E0003F0007E0003F00 0FE0007F000FE0007E000FC0007E000FC0007E001FC000FE001FC000FC001F8000FC001F 8000FC003F8001F8003F8001F8003F0003F0003F0003E0007F0007E0007F000FC0007F80 0F80007F801F0000FFC03E0000FEE0F80000FC7FE00000FC1F800001FC00000001FC0000 0001F800000001F800000003F800000003F800000003F000000003F000000007F0000000 07F000000007E0000000FFFF800000FFFF800000FFFF800000283083A027>112 D<03E003E00FF81FF81C7C3C1C187C703E383EE0FE303FC0FE307F80FE707F00FC607E00 FC607E0070E07E0000C0FE000040FC000000FC000000FC000001FC000001F8000001F800 0001F8000003F8000003F0000003F0000003F0000007F0000007E0000007E0000007E000 000FE000000FC000000FC000000FC000001FC000001F800000070000001F227EA023> 114 D<000380000FC0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00 003F00007F00007F00007E007FFFFE7FFFFEFFFFFE00FC0000FC0001FC0001FC0001F800 01F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC000 0FC0081FC01C1FC0181F80181F80381F80701F80601F00E01F01C00F83800F870007FE00 01F80017307FAE1C>116 D E /Fn 131[35 3[35 35 1[35 35 35 35 1[35 35 35 35 35 35 1[35 35 35 35 35 35 35 1[35 11[35 35 35 2[35 2[35 3[35 35 1[35 35 1[35 35 2[35 1[35 2[35 35 35 1[35 3[35 35 35 4[35 1[35 35 1[35 2[35 35[{ TeXBase1Encoding ReEncodeFont }46 58.333334 /Courier rf /Fo 134[40 1[40 40 1[40 40 40 1[40 40 40 40 40 40 1[40 40 40 40 40 40 40 1[40 11[40 40 2[40 40 2[40 3[40 40 4[40 40 40 3[40 12[40 6[40 40 40[{ TeXBase1Encoding ReEncodeFont }34 66.666667 /Courier rf /Fp 107[26 26 24[26 29 29 42 29 29 16 23 19 29 29 29 29 45 16 29 16 16 29 29 19 26 29 26 29 26 3[19 1[19 1[42 2[42 42 36 32 39 1[32 42 42 52 36 1[23 19 42 42 32 36 42 39 39 42 5[16 16 29 29 29 29 29 29 29 29 29 29 1[15 19 15 33 1[19 19 19 3[29 31[32 32 2[{ TeXBase1Encoding ReEncodeFont }73 58.333334 /Times-Roman rf /Fq 10 58 df<01FC0007FF000F07801C01C03800E03800E07800F0700070700070F0 0078F00078F00078F00078F00078F00078F00078F00078F00078F00078F0007870007070 00707800F03800E03800E01C01C00F078007FF0001FC00151D7D9B1C>48 D<00600001E0000FE000FFE000F1E00001E00001E00001E00001E00001E00001E00001E0 0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0 0001E00001E0007FFF807FFF80111C7B9B1C>I<03FC000FFF003C0FC07003E07801F0FC 00F0FC00F8FC00F8FC00787800780000F80000F00000F00001E00003C0000780000F0000 1C0000380000E00001C0180380180600180C00383FFFF07FFFF0FFFFF0FFFFF0151C7D9B 1C>I<01FC000FFF801E07C03001E07C01F07C00F07E00F07C01F03801E00003E00007C0 001F8003FE0003FC000007800003C00001E00000F00000F83000F87800F8FC00F8FC00F8 FC00F07801F07003E03C07C00FFF0003FC00151D7D9B1C>I<0001C00003C00007C0000F C0000FC0001BC00033C00073C000E3C001C3C00383C00303C00603C00C03C01C03C03803 C07003C0E003C0FFFFFEFFFFFE0003C00003C00003C00003C00003C00003C0007FFE007F FE171C7E9B1C>I<1C00E01FFFE01FFFC01FFF001FFC0018000018000018000018000018 000018FC001BFF001F07C01C01E01801E01800F00000F00000F80000F87000F8F800F8F8 00F8F800F0F801F06001E07003C03C0F800FFF0003F800151D7D9B1C>I<003F8000FFC0 03C0E00700F00E01F01C01F03800E038000078000070000070FF00F3FF80F601C0F400E0 F800F0F80070F00078F00078F00078F000787000787000787800703800703800E01C01C0 0F038007FF0001FC00151D7D9B1C>I<6000007FFFF87FFFF87FFFF07FFFE0E000C0C000 C0C00180C00300000600000C0000180000180000300000700000700000F00000E00001E0 0001E00001E00001E00003E00003E00003E00003E00003E00003E00001C000151D7C9B1C >I<01FC0007FF801E03C03800E03000707000707000707800707E00707F00E03FC1C01F F7800FFE0003FF0007FF800F7FE03C1FE07807F07001F8E000F8E00078E00038E00038E0 00307000703800E01E03C00FFF0001FC00151D7D9B1C>I<01FC0007FF000F07801C01C0 3800E07800E07000F0F00070F00070F00078F00078F00078F000787000F87800F8380178 1C03780FFE7807F8780000700000F00000E03800E07C01C07C0380780700381E001FFC00 07F000151D7D9B1C>I E /Fr 8 104 df<7FFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFE7F FFFFFFFFFC2F047A943C>0 D<001FC00000FFF80001FFFC0007FFFF000FFFFF801FFFFF C03FFFFFE03FFFFFE07FFFFFF07FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFF F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF07FFFFFF03FFFFFE03FFFFF E01FFFFFC00FFFFF8007FFFF0001FFFC0000FFF800001FC0001D1E7CA126>15 D<00003FFFF80001FFFFFC0007FFFFFC001FFFFFF8003FE0000000FF00000001FC000000 03F000000007E00000000FC00000000F800000001F000000003F000000003E000000007C 000000007C0000000078000000007800000000F800000000F800000000F000000000FFFF FFFFF8FFFFFFFFFCFFFFFFFFFCFFFFFFFFF8F000000000F800000000F800000000780000 000078000000007C000000007C000000003E000000003F000000001F000000000F800000 000FC000000007E000000003F000000001FC00000000FF000000003FE00000001FFFFFF8 0007FFFFFC0001FFFFFC00003FFFF8262E7AA933>50 D<00000000300000000078000000 00F800000000F800000001F000000001F000000003E000000003E000000007C000000007 C00000000F800000000F800000001F000000001F000000003E000000003E000000007C00 0000007C00000000F800000000F800000001F000000001F000000003E000000003E00000 0007C000000007C00000000F800000000F800000001F000000001F000000003E00000000 3E000000007C000000007C00000000F800000000F800000001F000000001F000000003E0 00000003E000000007C000000007C00000000F800000000F800000001F000000001F0000 00003E000000003E000000007C000000007C00000000F800000000F800000001F0000000 01F000000003E000000003E000000007C000000007C00000000F800000000F800000001F 000000001F000000003E000000003E000000007C000000007C00000000F800000000F800 000000F0000000006000000000254675B500>54 D<600000000180F000000003C0F80000 0007C0F800000007C07800000007807C0000000F807C0000000F803C0000000F003E0000 001F003E0000001F001F0000003E001F0000003E000F0000003C000F8000007C000F8000 007C0007C00000F80007C00000F80003C00000F00003FFFFFFF00003FFFFFFF00001FFFF FFE00001FFFFFFE00001F00003E00000F80007C00000F80007C000007800078000007C00 0F8000007C000F8000003C000F0000003E001F0000003E001F0000001F003E0000001F00 3E0000000F003C0000000F807C0000000F807C00000007807800000007C0F800000007C0 F800000003E1F000000003E1F000000001E1E000000001F3E000000001F3E000000000FF C000000000FFC0000000007F80000000007F80000000007F80000000003F00000000003F 00000000003F00000000001E00000000000C0000002A3680B32B>56 D<600000000180F000000003C0F000000003C0F000000003C0F000000003C0F000000003 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 C0F000000003C0F000000003C0F000000003C0F000000003C0F800000007C0F800000007 C07C0000000F807C0000000F803E0000001F003F0000003F001F8000007E000FE00001FC 0007F80007F80001FF807FE00000FFFFFFC000003FFFFF0000000FFFFC00000000FFC000 002A307CAD33>91 D<000007E000003FE00000FE000003F8000007F000000FE000000FC0 00001FC000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000007E00 0000FC000003F800007FE00000FF0000007FE0000003F8000000FC0000007E0000003F00 00003F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 00001F8000001F8000001F8000001F8000001F8000001F8000001FC000000FC000000FE0 000007F0000003F8000000FE0000003FE0000007E01B4B7BB726>102 DI E /Fs 18 117 df<000C0038007000E0 01C00380030007000E000E001C001C003800380038007800700070007000F000F000F000 F000F000F000F000F000F000F000F00070007000700078003800380038001C001C000E00 0E0007000300038001C000E000700038000C0E317AA418>40 DI<00FF0003FFC00781E00F00F01E 00783C003C3C003C78001E78001E78001E78001EF8001FF8001FF8001FF8001FF8001FF8 001FF8001FF8001FF8001FF8001FF8001FF8001FF8001F78001E78001E7C003E3C003C3C 003C1E00780F00F00781E003FFC000FF0018227DA01E>48 D<00E00001E00007E000FFE0 00F9E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0 0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0 0001E00001E00003F000FFFFC0FFFFC012217AA01E>I<01FC0007FF801C0FC03003E060 01F06000F8F800F8FC00FCFC00FCFC007C78007C3000FC0000FC0000F80000F80001F000 03E00003C0000780000F00001E0000380000700000E00001C00C03800C0600180C001818 00183FFFF87FFFF8FFFFF0FFFFF016217CA01E>I<00FF0003FFC00F03E01C00F01C00F8 3E00FC3E007C3E007C1E00FC0C00FC0000F80000F80001F00003E0000FC001FF0001FF00 0003E00000F000007800007C00003E00003F30003F78003FFC003FFC003FFC003EF8007E 60007C3800F81E03F00FFFC001FF0018227DA01E>I<0000E00001E00001E00003E00007 E00007E0000DE0001DE00039E00031E00061E000E1E000C1E00181E00381E00701E00601 E00C01E01C01E01801E03001E07001E0E001E0FFFFFFFFFFFF0001E00001E00001E00001 E00001E00001E00003F0003FFF003FFF18227DA11E>I<1000301E01F01FFFE01FFFC01F FF801FFE001BF00018000018000018000018000018000018FE001BFF801F03C01C01E018 00F01800F800007800007800007C00007C30007C78007CF8007CF8007CF80078F000F860 00F07001E03801E01E078007FF0001F80016227CA01E>I<000FC0007FF001F03803C018 07803C0F007C1E007C1C00383C00003C00007C0000780000787FC0F9FFE0FB80F0FE0038 FE003CFC001EFC001EF8001FF8001FF8001FF8001F78001F78001F78001F3C001E3C001E 1C003C1E00380F00700781E001FFC0007F0018227DA01E>I<3000003C00003FFFFF3FFF FF7FFFFE7FFFFC60001C600038600070C000E0C000C00001C0000380000700000600000E 00001C00001C0000380000380000780000780000780000F00000F00000F00000F00001F0 0001F00001F00001F00001F00001F00001F00000E00018237CA11E>I<007F0003FFC007 81E00E00701C003818001C38001C38001C38001C3C001C3F00381FC0781FE0F00FF9E007 FF8001FF8001FFC007FFF00F0FF81C03FC3801FE70007E70001FE0000FE00007E00007E0 0007E0000670000E78000C3C00381F00F007FFC000FF0018227DA01E>I<00FE0003FFC0 0781E00E00701C00783C003878003C78003CF8001EF8001EF8001EF8001FF8001FF8001F F8001F78003F78003F3C007F1C007F0F01DF07FF9F03FE1E00001E00001E00003E00003C 1C00383E00783E00703C00E01801C01C07800FFE0003F80018227DA01E>I<00000F0000 00FF000000FF0000001F0000000F0000000F0000000F0000000F0000000F0000000F0000 000F0000000F0000000F0000FF0F0003FFCF0007C0FF000F003F001E001F003C000F007C 000F0078000F00F8000F00F8000F00F8000F00F8000F00F8000F00F8000F00F8000F0078 000F007C000F003C000F003E001F001F003F800FC1EFF003FF8FF000FE0F001C247DA222 >100 D<00FC0003FF800F83C01F01E03E00F03C00F07C00F07C0078F80078F80078FFFF F8FFFFF8F80000F80000F80000F800007C00007C00183E00181E00381F00700781E003FF 80007E0015187D961B>I<0F000000FF000000FF0000001F0000000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F07F0000F1FFC000F 703E000FC01E000F800F000F800F000F000F000F000F000F000F000F000F000F000F000F 000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FF F0FFF0FFF0FFF01C237DA222>104 D<0F07F000FF3FFC00FF703F000FC00F800F8007C0 0F0007C00F0003E00F0003E00F0001F00F0001F00F0001F00F0001F00F0001F00F0001F0 0F0001F00F0003E00F0003E00F0007C00F8007800FC01F000F703E000F3FFC000F07E000 0F0000000F0000000F0000000F0000000F0000000F0000000F000000FFF00000FFF00000 1C207D9522>112 D<0E0F80FE3FC0FE73E01EC3E00FC3E00F81C00F80000F00000F0000 0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000FFF800 FFF80013167D9518>114 D<018000018000018000018000038000038000078000078000 0F80003F8000FFFF80FFFF80078000078000078000078000078000078000078000078000 0780000780000780C00780C00780C00780C00780C00780C003C18003E30001FE00007C00 12207E9E18>116 D E /Ft 107[25 25 24[37 37 1[54 37 42 21 37 25 1[42 42 42 62 17 37 1[17 42 42 21 42 42 37 42 42 7[50 50 2[54 46 50 2[50 2[62 42 1[37 21 2[46 50 1[54 50 50 18[21 25 21 44 1[25 25 36[37 37 2[{ TeXBase1Encoding ReEncodeFont }48 75.000000 /Helvetica rf /Fu 133[29 33 33 50 33 37 21 29 29 37 37 37 37 54 21 33 1[21 37 37 21 33 37 33 37 37 8[46 62 1[54 42 37 2[46 54 50 62 42 1[33 25 1[54 46 46 54 50 46 46 6[25 37 37 1[37 1[37 37 37 37 2[19 25 19 2[25 25 25 36[37 2[{ TeXBase1Encoding ReEncodeFont }59 75.000000 /Times-Italic rf /Fv 104[75 37 1[33 33 24[33 37 37 54 37 37 21 29 25 37 37 37 37 58 21 37 21 21 37 37 25 33 37 33 37 33 3[25 1[25 46 54 54 71 54 54 46 42 50 54 42 54 54 66 46 54 29 25 54 54 42 46 54 50 50 54 1[33 1[42 1[21 21 37 37 37 37 37 37 37 37 37 37 21 19 25 19 42 1[25 25 25 58 2[37 1[25 29[42 42 2[{ TeXBase1Encoding ReEncodeFont }85 75.000000 /Times-Roman rf /Fw 51 123 df<0007F80FF8001FFE0FF8007FFE1FFC00 FFFE1FFC01FFFE1FFC03FFFE1FFC03FF1E1FFC03FE0E1FFC07FE060FF807FE000FF807FE 00000007FE00000007FE00000007FE00000007FE00000007FE00000007FE00000007FE00 000007FE0000007FFFFC07F8FFFFFE0FFCFFFFFE0FFCFFFFFE0FFCFFFFFE0FFC7FFFFC0F FC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC 07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07 FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE 000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC07FE000FFC03FC0007F826357F B42C>12 D<0000007C0000000000007C000000000000FE000000000000FE000000000000 FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE 000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE00 0000000000FE000000000000FE000000000000FE000000000000FE000000000000FE0000 00000000FE000000000000FE000000000000FE000000000000FE0000007FFFFFFFFFFFFC 7FFFFFFFFFFFFCFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFC7F FFFFFFFFFFFC000000FE000000000000FE000000000000FE000000000000FE0000000000 00FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000 FE000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE 000000000000FE000000000000FE000000000000FE000000000000FE000000000000FE00 0000000000FE000000000000FE0000000000007C0000000000007C00000037377CAD40> 43 D46 D<0007F80000003FFF000000FFFFC00003FFFFF00007FFFFF80007FFFFF8000FFE1FFC00 1FF807FE001FF003FE003FF003FF003FE001FF003FE001FF007FE001FF807FE001FF807F C000FF807FC000FF807FC000FF80FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC0 00FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000 FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FF C0FFC000FFC0FFC000FFC0FFC000FFC07FC000FF807FC000FF807FE001FF807FE001FF80 7FE001FF803FE001FF003FE001FF003FF003FF001FF003FE001FF807FE000FFE1FFC000F FFFFFC0007FFFFF80003FFFFF00000FFFFC000003FFF00000007F8000022387DB529>48 D<0001E0000003F000000FF000001FF00000FFF0007FFFF000FFFFF000FFFFF000FFFFF0 00FFFFF000FFBFF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0 00003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0 00003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0 00003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF0 00003FF000003FF000003FF0003FFFFFE07FFFFFF07FFFFFF07FFFFFF07FFFFFF03FFFFF E01C367AB529>I<001FF0000000FFFE000001FFFF800007FFFFC0000FFFFFF0001FFFFF F8003FFFFFFC003FFFFFFC007FF03FFE00FFC01FFE00FF800FFF00FF0007FF007F0007FF 007E0003FF803E0003FF801E0003FF801C0003FF800C0001FF80000001FF80000003FF80 000003FF80000003FF80000003FF00000007FF00000007FF0000000FFE0000000FFC0000 001FFC0000003FF80000003FF00000007FE0000000FFC0000001FF80000003FF00000007 FE0000000FFC0000000FF80000001FF00000003FE00000007FC0000000FF00000001FE00 000003FC00000007F80000000FF00000001FE00000003FFFFFFF007FFFFFFF807FFFFFFF 807FFFFFFF807FFFFFFF807FFFFFFF807FFFFFFF803FFFFFFF0021367DB529>I<000FF8 0000007FFF000003FFFFC00007FFFFE0001FFFFFF0003FFFFFF8007FFFFFFC007FF01FFC 003FC00FFC003F800FFE001F000FFE001E0007FE000C0007FE00000007FE00000007FE00 00000FFE0000000FFE0000000FFC0000001FFC0000001FFC0000003FF80000007FF00000 00FFF000003FFFE000003FFF8000003FFF0000003FFFC000003FFFF000003FFFFC000000 1FFE00000007FF00000007FF00000003FF80000003FF80000001FFC0000001FFC0000001 FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0600003FF C0700003FF807C0003FF807F0007FF80FFE01FFF00FFFFFFFF00FFFFFFFE00FFFFFFFE00 7FFFFFFC001FFFFFF00007FFFFE00000FFFF8000001FF8000022387DB529>I<00007FF0 000000FFF8000000FFF8000001FFF8000001FFF8000003FFF8000003FFF8000007FFF800 0007EFF800000FEFF800000FEFF800001FCFF800001FCFF800003FCFF800003F8FF80000 7F8FF800007F0FF80000FF0FF80000FE0FF80001FE0FF80001FC0FF80003FC0FF80007F8 0FF80007F80FF8000FF00FF8000FF00FF8001FE00FF8001FE00FF8003FC00FF8003FC00F F8007F800FF8007F800FF800FF000FF800FFFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFF F0FFFFFFFFF0FFFFFFFFF07FFFFFFFE000000FF80000000FF80000000FF80000000FF800 00000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000000FF80000 0007F00024347EB329>I<0FFFFFF8001FFFFFFC001FFFFFFC001FFFFFFC001FFFFFFC00 1FFFFFFC001FFFFFFC001FFFFFF8001FF80000001FF80000001FF80000001FF80000001F F80000001FF80000001FF80000001FF80000001FF80000001FF80000001FFBFC00001FFF FF80001FFFFFE0001FFFFFF0001FFFFFF8001FFFFFFC001FFE0FFE001FF807FE001FF007 FF001FE007FF001FE003FF000FC003FF80000003FF80000003FF80000003FF80000003FF 80000003FF80000003FF80000003FF80000003FF80180003FF80180003FF803C0003FF80 3C0007FF007E0007FF007F0007FF00FF800FFF00FFE03FFE007FFFFFFE007FFFFFFC003F FFFFF8001FFFFFF0000FFFFFE00003FFFF800000FFFE0000001FF0000021367DB329>I< 0000FF80000007FFE000001FFFF000007FFFF00000FFFFF00001FFFFF00003FFFFF00007 FFC070000FFF0030000FFC0000001FF80000001FF80000003FF00000003FF00000007FE0 0000007FE00000007FE00000007FE07F00007FC1FFE000FFC7FFF000FFCFFFF800FFDFFF FC00FFDFFFFE00FFFE07FF00FFFC03FF00FFF801FF80FFF001FF80FFF001FF80FFE000FF C0FFE000FFC0FFE000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0 FFC000FFC0FFC000FFC0FFC000FFC07FC000FFC07FE000FFC07FE000FFC07FE000FFC03F E001FFC03FF001FF803FF001FF801FF803FF801FFC07FF000FFFFFFF000FFFFFFE0007FF FFFC0003FFFFF80001FFFFF00000FFFFE000003FFF80000007FC000022387DB529>I<7F FFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFF FFFF80000000FF00000001FF00000003FE00000007FC0000000FF80000000FF80000001F F00000003FF00000007FE00000007FC0000000FFC0000000FF80000001FF80000003FF00 000003FF00000007FF00000007FE0000000FFE0000000FFC0000000FFC0000001FFC0000 001FF80000003FF80000003FF80000003FF00000007FF00000007FF00000007FF0000000 7FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000001FFE0000001FF C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0 000001FFC0000000FF80000022357DB329>I<000FFC000000FFFFC00001FFFFE00007FF FFF8000FFFFFFC001FFFFFFE001FFFFFFE003FF807FF003FF003FF003FE001FF007FC000 FF807FC000FF807FC000FF807FC000FF807FC000FF807FC000FF807FC000FF807FC000FF 807FC000FF803FC000FF003FE001FF001FF003FE001FFC0FFE000FFFFFFC0003FFFFF000 00FFFFC00001FFFFE00007FFFFF8000FFFFFFC001FFC0FFE003FF003FF003FE001FF007F E001FF807FC000FF80FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC0 00FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC07FE001FF807FE001FF807FF003 FF803FF807FF003FFFFFFF001FFFFFFE001FFFFFFE000FFFFFFC0007FFFFF80001FFFFE0 00007FFF8000000FFC000022387DB529>I<000FF80000007FFF000001FFFFC00003FFFF E00007FFFFF0000FFFFFF8001FFFFFFC003FFC0FFE003FF007FE007FF003FF007FE003FF 007FE001FF00FFC001FF80FFC001FF80FFC001FF80FFC000FF80FFC000FF80FFC000FFC0 FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC001FFC0FF C001FFC0FFC001FFC07FE003FFC07FE003FFC07FE007FFC03FF00FFFC03FF81FFFC01FFF FEFFC00FFFFEFFC007FFFCFFC003FFF8FFC001FFE0FFC0003F80FF80000001FF80000001 FF80000001FF80000001FF80000003FF00000003FF00000007FE0003000FFE0007801FFE 0007E07FFC000FFFFFF8000FFFFFF8001FFFFFF0001FFFFFE0000FFFFF800007FFFE0000 01FFF80000003FC0000022387DB529>I<00003FFC000000007FFE00000000FFFF000000 00FFFF00000000FFFF00000001FFFF80000001FFFF80000001FFFF80000003FFFFC00000 03FFFFC0000003FEFFC0000007FCFFE0000007FCFFE0000007FC7FE000000FFC7FF00000 0FF87FF000000FF87FF000001FF83FF800001FF03FF800003FF03FFC00003FF01FFC0000 3FE01FFC00007FE01FFE00007FE00FFE00007FE00FFE0000FFC00FFF0000FFC007FF0000 FFC007FF0001FF8007FF8001FF8003FF8001FF8003FF8003FF0003FFC003FF0001FFC003 FF0001FFC007FFFFFFFFE007FFFFFFFFE007FFFFFFFFE00FFFFFFFFFF00FFFFFFFFFF00F FFFFFFFFF01FFFFFFFFFF81FF800003FF81FF000003FF83FF000003FFC3FF000001FFC7F E000001FFE7FE000001FFE7FE000000FFEFFC000000FFFFFC000000FFFFF80000007FF7F 00000003FE30347DB337>65 D<7FFFFFF00000FFFFFFFE0000FFFFFFFFC000FFFFFFFFE0 00FFFFFFFFF000FFFFFFFFF800FFFFFFFFFC00FFE000FFFE00FFE0001FFE00FFE0000FFE 00FFE00007FF00FFE00007FF00FFE00003FF00FFE00003FF00FFE00003FF00FFE00003FF 00FFE00007FF00FFE00007FE00FFE0000FFE00FFE0001FFC00FFE0003FFC00FFE001FFF8 00FFFFFFFFF000FFFFFFFFC000FFFFFFFF0000FFFFFFFFE000FFFFFFFFF800FFFFFFFFFC 00FFE0007FFF00FFE0000FFF00FFE00003FF80FFE00001FFC0FFE00001FFC0FFE00000FF C0FFE00000FFE0FFE00000FFE0FFE000007FE0FFE000007FE0FFE000007FE0FFE00000FF E0FFE00000FFE0FFE00001FFC0FFE00003FFC0FFE00007FFC0FFE0003FFF80FFFFFFFFFF 80FFFFFFFFFF00FFFFFFFFFE00FFFFFFFFFC00FFFFFFFFF000FFFFFFFFC0007FFFFFFC00 002B3479B337>I<7FFFFFFFE0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFF FFF0FFFFFFFFF0FFFFFFFFE0FFE0000000FFE0000000FFE0000000FFE0000000FFE00000 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000 FFE0000000FFE0000000FFFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FF FFFFFF80FFFFFFFF00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFF F8FFFFFFFFF8FFFFFFFFF87FFFFFFFF0253479B330>69 D<7FFFFFFFC0FFFFFFFFE0FFFF FFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000 00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFFFFFFC00FFFFFFFE00 FFFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFC00FFE0000000FFE0000000FF E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000007FC0000000233479B3 2E>I<7FC0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FF E0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FF E0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE0FFE07FC00B 3479B319>73 D<00003FE000007FF000007FF000007FF000007FF000007FF000007FF000 007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000 007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000 007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000 007FF000007FF000007FF000007FF000007FF000007FF000007FF020007FF070007FF078 00FFF07C01FFF07F03FFE07FFFFFE0FFFFFFE0FFFFFFC0FFFFFF80FFFFFF003FFFFE0007 FFF800007FC0001C367DB327>I<7FC00000FFE00000FFE00000FFE00000FFE00000FFE0 0000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE0 0000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE0 0000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE0 0000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE00000FFE0 0000FFE00000FFE00000FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFF7FFFFFFE203479B32B>76 D<7FF800000007FF80FFFC0000000FFFC0FFFE0000001F FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFF0000003FFFC0FFFF0000003FFFC0FFFF 0000003FFFC0FFFF8000007FFFC0FFFF8000007FFFC0FFBFC00000FF7FC0FFBFC00000FF 7FC0FF9FC00000FE7FC0FF9FE00001FE7FC0FF9FE00001FE7FC0FF9FF00003FE7FC0FF8F F00003FC7FC0FF8FF00003FC7FC0FF8FF80007FC7FC0FF87F80007F87FC0FF87FC000FF8 7FC0FF87FC000FF87FC0FF83FC000FF07FC0FF83FE001FF07FC0FF81FE001FE07FC0FF81 FF003FE07FC0FF81FF003FE07FC0FF80FF003FC07FC0FF80FF807FC07FC0FF80FF807FC0 7FC0FF807F807F807FC0FF807FC0FF807FC0FF803FC0FF007FC0FF803FC0FF007FC0FF80 3FE1FF007FC0FF801FE1FE007FC0FF801FF3FE007FC0FF800FF3FC007FC0FF800FF3FC00 7FC0FF800FF3FC007FC0FF8007FFF8007FC0FF8007FFF8007FC0FF8003FFF0007FC0FF80 03FFF0007FC0FF8003FFF0007FC0FF8001FFE0007FC0FF8001FFE0007FC0FF8001FFC000 7FC0FF8000FFC0007FC0FF80007F80007FC0FF80000000007FC07F00000000003F803A34 79B349>I<00001FFE0000000001FFFFE00000000FFFFFFC0000001FFFFFFE0000007FFF FFFF800000FFFFFFFFC00001FFF807FFE00003FFC000FFF00007FF80007FF8000FFF0000 3FFC000FFE00001FFC001FFC00000FFE001FF8000007FE003FF8000007FF003FF8000007 FF003FF0000003FF007FF0000003FF807FF0000003FF807FF0000003FF807FE0000001FF 807FE0000001FF80FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0 FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FF E0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0000001FFC0FFE0 000001FFC07FF0000003FF807FF0000003FF807FF0000003FF807FF0000003FF803FF800 0007FF003FF8000007FF003FFC00000FFF001FFC00000FFE001FFE00001FFE000FFF0000 3FFC000FFF80007FFC0007FFE001FFF80003FFF807FFF00001FFFFFFFFE00000FFFFFFFF C000007FFFFFFF8000003FFFFFFF0000000FFFFFFC00000001FFFFE0000000001FFE0000 0032387CB53B>79 D<7FFFFFF00000FFFFFFFF0000FFFFFFFFC000FFFFFFFFE000FFFFFF FFF800FFFFFFFFF800FFFFFFFFFC00FFE0007FFE00FFE0001FFE00FFE00007FF00FFE000 07FF00FFE00003FF00FFE00003FF80FFE00003FF80FFE00001FF80FFE00001FF80FFE000 01FF80FFE00001FF80FFE00001FF80FFE00003FF80FFE00003FF80FFE00003FF00FFE000 07FF00FFE00007FF00FFE0001FFE00FFE0007FFE00FFFFFFFFFC00FFFFFFFFF800FFFFFF FFF000FFFFFFFFE000FFFFFFFF8000FFFFFFFC0000FFE000000000FFE000000000FFE000 000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000 000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE000 000000FFE000000000FFE000000000FFE000000000FFE0000000007FC000000000293479 B335>I<7FFFFFE00000FFFFFFFE0000FFFFFFFFC000FFFFFFFFE000FFFFFFFFF800FFFF FFFFFC00FFFFFFFFFE00FFE0007FFE00FFE0000FFF00FFE00007FF00FFE00003FF00FFE0 0003FF80FFE00003FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE0 0003FF80FFE00003FF80FFE00003FF00FFE00007FF00FFE0000FFE00FFE0007FFE00FFFF FFFFFC00FFFFFFFFF800FFFFFFFFF000FFFFFFFFC000FFFFFFFF0000FFFFFFF80000FFE0 1FFC0000FFE00FFC0000FFE00FFE0000FFE007FF0000FFE007FF0000FFE003FF8000FFE0 01FF8000FFE001FFC000FFE000FFE000FFE000FFE000FFE0007FF000FFE0007FF000FFE0 003FF800FFE0001FF800FFE0001FFC00FFE0000FFE00FFE0000FFE00FFE00007FF00FFE0 0007FF00FFE00003FF80FFE00001FFC0FFE00001FFC07FC00000FF802A3479B335>82 D<0007FF0000007FFFF00001FFFFFC0007FFFFFF000FFFFFFFC01FFFFFFFC03FFFFFFFC0 3FFFFFFFC07FFFFFFF807FFC01FF807FF0003F80FFE0000F80FFE0000780FFC0000380FF C0000100FFC0000000FFC0000000FFE0000000FFF0000000FFF80000007FFC0000007FFF C000003FFFFE00003FFFFFC0001FFFFFF0000FFFFFFC0007FFFFFE0003FFFFFF0001FFFF FF80007FFFFFC0001FFFFFE00001FFFFE000001FFFF0000001FFF0000000FFF00000007F F80000003FF80000003FF80000001FF80000001FF82000001FF87000001FF87800001FF8 7E00003FF87F00003FF07FC0007FF07FFC01FFF0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FF FFFFFFC03FFFFFFF800FFFFFFE0003FFFFFC00007FFFF0000007FF000025387CB52E>I< 7FFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFF7FFFFFFFFFFE00001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000001FFC000000001FFC000000001FFC0000 00001FFC000000001FFC000000001FFC000000000FF8000030347DB337>I<7FC0000000 7F80FFE0000000FFC0FFF0000000FFC0FFF0000001FFC07FF0000001FF807FF8000001FF 807FF8000003FF803FF8000003FF003FFC000003FF001FFC000007FE001FFC000007FE00 1FFE00000FFE000FFE00000FFC000FFF00000FFC000FFF00001FFC0007FF00001FF80007 FF80001FF80007FF80003FF80003FF80003FF00003FFC0003FF00001FFC0007FE00001FF C0007FE00001FFE0007FE00000FFE000FFC00000FFE000FFC00000FFF001FFC000007FF0 01FF8000007FF001FF8000003FF803FF0000003FF803FF0000003FFC03FF0000001FFC07 FE0000001FFC07FE0000001FFE07FE0000000FFE0FFC0000000FFE0FFC0000000FFF0FFC 00000007FF1FF800000007FF1FF800000003FF1FF000000003FF9FF000000003FFBFF000 000001FFFFE000000001FFFFE000000001FFFFE000000000FFFFC000000000FFFFC00000 0000FFFFC0000000007FFF80000000007FFF80000000003FFF00000000001FFE00000032 347EB337>86 DI<001FFE0000FF FF8007FFFFE01FFFFFF81FFFFFFC1FFFFFFC1FE00FFE1F8007FE0F0007FF0E0003FF0C00 03FF000003FF000003FF000003FF000003FF0007FFFF007FFFFF03FFFFFF0FFFC3FF1FFC 03FF3FF803FF7FF003FF7FE003FFFFE003FFFFC003FFFFC003FFFFC007FFFFC007FFFFE0 0FFF7FF01FFF7FF83FFF7FFFFFFF3FFFFBFF1FFFF3FF0FFFC3FF07FF81FE00FC00002025 7EA327>97 D<7F80000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000 FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FF C0000000FFC0000000FFC0000000FFC0000000FFC07F8000FFC3FFE000FFCFFFF800FFDF FFFC00FFFFFFFE00FFFFFFFF00FFF80FFF00FFE007FF80FFC003FF80FFC001FF80FFC001 FF80FFC001FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FF C0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC001FF80 FFC001FF80FFC001FF80FFE003FF80FFF007FF00FFF81FFF00FFFFFFFE00FFFFFFFC00FF DFFFF800FFCFFFF0007F87FFC0000000FE000022357CB32A>I<000FFE00007FFFC001FF FFF003FFFFFC07FFFFFC0FFFFFFC1FFC03FC3FF800F83FF000787FE000387FE000007FE0 00007FC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0 0000FFC00000FFC00000FFC00000FFC000007FE000007FE0000C7FE0001C3FF0003C3FF8 00FC1FFC07FE1FFFFFFE0FFFFFFE07FFFFFE01FFFFF8007FFFC0000FFE001F257DA325> I<0000007F80000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0 000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC000 0000FFC0000000FFC0000000FFC0003FC0FFC000FFF0FFC003FFFCFFC00FFFFFFFC01FFF FFFFC01FFFFFFFC03FFE07FFC03FF801FFC07FF000FFC07FE000FFC07FE000FFC0FFE000 FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FF C0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFE000FFC07FE000FFC0 7FE000FFC07FF001FFC03FF803FFC03FFC0FFFC01FFFFFFFC01FFFFFFFC00FFFFEFFC003 FFFCFFC000FFF07F80003F80000022357DB32A>I<000FFE0000007FFF800001FFFFE000 03FFFFF00007FFFFF8000FFFFFFC001FFE0FFE003FF803FE003FF001FF007FE000FF007F E000FF007FC000FF807FC0007F80FFC0007F80FFC0007F80FFC0007F80FFFFFFFF80FFFF FFFF80FFFFFFFF80FFFFFFFF00FF80000000FFC0000000FFC0000000FFC00000007FC000 00007FC00000007FE00000003FE00003003FF0000F001FF8003F001FFE01FF000FFFFFFF 0007FFFFFF0003FFFFFF0000FFFFFC00003FFFF0000007FF000021257EA326>I<0003FE 00001FFFC0003FFFC000FFFFC001FFFFC001FFFFC003FF83C003FF01C007FE00C007FE00 0007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE00 007FFFF800FFFFFC00FFFFFC00FFFFFC00FFFFFC007FFFF80007FE000007FE000007FE00 0007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE00 0007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE00 0007FE000007FE000007FE000007FE000007FE000007FE000003FC00001A357FB419>I< 003FF801F001FFFF0FF007FFFFFFF80FFFFFFFF81FFFFFFFF83FF01FF8383FE00FF8003F E00FF8007FC007FC007FC007FC007FC007FC007FC007FC007FC007FC007FC007FC007FC0 07FC007FC007FC003FE00FF8003FE00FF8003FF01FF8001FFFFFF0000FFFFFE0000FFFFF C0001DFFFF00001C3FF800001C000000003E000000003E000000003F000000003FFFFFC0 003FFFFFF8001FFFFFFE001FFFFFFF800FFFFFFFC00FFFFFFFC03FFFFFFFE07FFFFFFFE0 7F80007FF0FF80001FF0FF00001FF0FF00000FF0FF00000FF0FF00000FF0FF00000FF0FF 80001FF07F80001FE07FC0003FE03FF801FFC03FFFFFFFC00FFFFFFF0007FFFFFE0001FF FFF800001FFF800025347EA229>I<7F80000000FFC0000000FFC0000000FFC0000000FF C0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0 000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC03FE000FFC0FF F800FFC3FFFC00FFC7FFFE00FFCFFFFF00FFDFFFFF00FFFE07FF80FFF803FF80FFF001FF 80FFF001FF80FFE001FF80FFE001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80 FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FF C001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC0 01FF80FFC001FF80FFC001FF80FFC001FF807F8000FF0021347CB32A>I<7FC0FFE0FFE0 FFE0FFE0FFE0FFE0FFE0FFE0FFE07FC0000000000000000000000000000000003FC07FE0 7FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE0 7FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE07FE03FC00B357DB413>I<7F 000000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF 800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF800000FF 8007FCFF800FFEFF803FFCFF807FF8FF80FFF0FF81FFE0FF83FFC0FF87FF80FF8FFF00FF 9FFE00FFBFFC00FFFFF000FFFFE000FFFFC000FFFFE000FFFFE000FFFFF000FFFFF800FF FFFC00FFFFFC00FFE7FE00FFC3FF00FF81FF80FF81FFC0FF80FFC0FF807FE0FF803FF0FF 801FF8FF801FF8FF800FFCFF8007FEFF8003FFFF8003FF7F0001FF20347BB328>107 D<7F80FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FF C0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FF C0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC0FFC07F800A347C B313>I<00003FE0007FC07F80FFF801FFF0FFC3FFFC07FFF8FFC7FFFE0FFFFCFFCFFFFF 1FFFFEFFDFFFFF3FFFFEFFFE07FFFC0FFFFFF803FFF007FFFFF001FFE003FFFFF001FFE0 03FFFFE001FFC003FFFFE001FFC003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003 FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FF FFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFF C001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FFFFC0 01FF8003FFFFC001FF8003FFFFC001FF8003FFFFC001FF8003FF7F8000FF0001FE38237C A241>I<00003FE0007F80FFF800FFC3FFFC00FFC7FFFE00FFCFFFFF00FFDFFFFF00FFFE 07FF80FFF803FF80FFF001FF80FFF001FF80FFE001FF80FFE001FF80FFC001FF80FFC001 FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF 80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80 FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF807F8000FF0021 237CA22A>I<0007FE0000007FFFE00001FFFFF80003FFFFFC0007FFFFFE000FFFFFFF00 1FFE07FF801FF801FF803FF000FFC03FE0007FC07FE0007FE07FE0007FE07FC0003FE0FF C0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0 003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FF07FE0007FE07FE0007FE07FE000 7FE03FF000FFC03FF801FFC01FFE07FF801FFFFFFF800FFFFFFF0003FFFFFC0001FFFFF8 00007FFFE000000FFF000024257EA329>I<00007F80007F83FFE000FFCFFFF800FFDFFF FC00FFFFFFFE00FFFFFFFF00FFF80FFF00FFE007FF80FFC003FF80FFC003FF80FFC001FF 80FFC001FFC0FFC001FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0 FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC000FFC0FFC001FFC0FFC001FF80FF C001FF80FFC003FF80FFE003FF80FFF007FF00FFF81FFF00FFFFFFFE00FFFFFFFC00FFDF FFF800FFCFFFF000FFC7FFC000FFC0FE0000FFC0000000FFC0000000FFC0000000FFC000 0000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC0000000FFC00000 00FFC0000000FFC00000007F8000000022327CA22A>I<00003C7F00FCFF83FCFF87FCFF 8FFCFF9FFCFF9FFCFFBFFCFFBF80FFFE00FFFC00FFF000FFF000FFE000FFE000FFC000FF C000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FFC000FF C000FFC000FFC000FFC000FFC000FFC0007F800016237CA21C>114 D<007FE00003FFFC000FFFFF001FFFFFC01FFFFFC03FFFFFC03FC03FC07F800F807F0007 807F0003807F0000007F8000007FC000007FF800007FFFC0003FFFF0003FFFFC001FFFFE 000FFFFF0007FFFF8001FFFFC0007FFFC00003FFE000003FE000001FE060000FE070000F E078000FE07C000FE07F001FE0FFC03FC0FFFFFFC0FFFFFF80FFFFFF803FFFFE0007FFFC 00007FE0001B257EA320>I<03FC000007FE000007FE000007FE000007FE000007FE0000 07FE000007FE000007FE000007FE00007FFFFE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 7FFFFE0007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE0000 07FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE000007FE0000 07FE000007FE000007FE000007FF018007FF038007FF0FC003FFFFC003FFFFC003FFFFC0 01FFFF0000FFF800003FC0001A2D7FAB1E>I<7F8000FF00FFC001FF80FFC001FF80FFC0 01FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001 FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF 80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC001FF80FFC003FF80 FFC003FF80FFC007FF80FFC007FF80FFE00FFF807FE03FFF807FFFFDFF803FFFF9FF801F FFF1FF800FFFC0FF0001FF00000021237CA12A>III<7F00007FFF8000FFFFC001FF7FC001FF7FE001FE3FE003 FE3FF003FE3FF003FC1FF007FC1FF807FC0FF807F80FFC0FF807FC0FF807FC0FF007FE1F F003FE1FF003FE1FE001FF1FE001FF3FE000FF3FC000FF3FC000FFBFC0007FBF80007FBF 80003FFF80003FFF00001FFF00001FFF00000FFE00000FFE00000FFE000007FE000007FC 000003FC000003FC000007F8000007F8000007F800000FF000000FF000001FE000C01FE0 00F07FC000FFFFC000FFFF8000FFFF0000FFFE0000FFFC00007FF800001FC0000020327E A125>121 D<3FFFFFF87FFFFFFC7FFFFFFC7FFFFFFC7FFFFFFC3FFFFFFC00003FF80000 7FF00000FFE00000FFC00001FFC00003FF800007FF00000FFE00000FFC00001FFC00003F F800007FF00000FFE00000FFC00001FFC00003FF800007FF00000FFE00000FFC00001FFC 00003FF800007FF000007FFFFFFCFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F22 7EA124>I E /Fx 2 104 df<0000003F000003FF00000FE000003F8000007E000001FC00 0001F8000003F0000003F0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E000000FE000000FC000001FC000003F8000003F0000 00FE000003F800007FE00000FF0000007FE0000003F8000000FE0000003F0000003F8000 001FC000000FC000000FE0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000 0007E0000007E0000007E0000007E0000003F0000003F0000001F8000001FC0000007E00 00003F8000000FE0000003FF0000003F205B7AC32D>102 DI E /Fy 134[45 1[66 45 45 25 35 30 2[45 45 71 25 45 1[25 45 45 30 40 45 40 45 40 11[66 1[51 5[81 56 4[66 3[61 61 66 84 17[23 1[23 44[{ TeXBase1Encoding ReEncodeFont }32 91.249976 /Times-Roman rf /Fz 133[53 1[60 86 1[60 33 1[40 1[60 60 60 93 33 60 1[33 60 60 1[53 60 53 60 53 16[66 86 7[86 66 73 86 1[80 86 6[33 12[40 1[67 39[66 3[{ TeXBase1Encoding ReEncodeFont }32 119.999948 /Times-Roman rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: Letter %%EndSetup %%Page: 1 1 1 0 bop 649 79 a Fz(BPF+:)39 b(Exploiting)29 b(Global)i(Data-\003o)m(w) g(Optimization)g(in)f(a)1021 229 y(Generalized)g(P)n(ack)o(et)h(Filter) g(Architecture)1006 454 y Fy(Andre)n(w)23 b(Be)o(gel,)h(Ste)n(v)o(en)f (McCanne,)h(Susan)g(L.)e(Graham)1320 567 y(Uni)n(v)o(ersity)j(of)e (California,)i(Berk)o(ele)o(y)1113 680 y Fx(f)p Fy(abe)o(gel,)g (mccanne,)g(graham)p Fx(g)p Fy(@cs.berk)o(ele)o(y)-6 b(.edu)-152 1376 y Fw(Abstract)-152 1536 y Fv(A)25 b Fu(pac)o(k)o(et)h(\002lter)g Fv(is)f(a)g(programmable)i(selection)f (criterion)f(for)h(classify-)-152 1619 y(ing)19 b(or)e(selecting)i (pack)o(ets)g(from)f(a)g(pack)o(et)h(stream)f(in)g(a)f(generic,)i (reusable)-152 1702 y(f)o(ashion.)24 b(Pre)n(vious)17 b(w)o(ork)g(on)g(pack)o(et)h(\002lters)d(f)o(alls)h(roughly)i(into)f (tw)o(o)g(cate-)-152 1785 y(gories,)j(namely)h(those)f(ef)n(forts)g (that)f(in)m(v)o(estigate)h(\003e)o(xible)g(and)g(e)o(xtensible)-152 1868 y(\002lter)26 b(abstractions)i(b)o(ut)f(sacri\002ce)f (performance,)k(and)e(those)f(that)g(focus)-152 1951 y(on)c(lo)n(w-le)n(v)o(el,)g(optimized)g(\002ltering)f(representations) h(b)o(ut)f(sacri\002ce)g(\003e)o(x-)-152 2034 y(ibility)-5 b(.)36 b(Applications)24 b(lik)o(e)f(netw)o(ork)h(monitoring)h(and)f (intrusion)f(detec-)-152 2117 y(tion,)f(ho)n(we)n(v)o(er)m(,)g(require) f(both)h(high-le)n(v)o(el)g(e)o(xpressi)n(v)o(eness)h(and)e(ra)o(w)g (per)o(-)-152 2200 y(formance.)48 b(In)26 b(this)h(paper)m(,)i(we)d (propose)i(a)f(fully)g(general)g(pack)o(et)h(\002lter)-152 2283 y(frame)n(w)o(ork)d(that)f(af)n(fords)g(both)g(a)g(high)g(de)o (gree)h(of)f(\003e)o(xibility)f Fu(and)h Fv(good)-152 2367 y(performance.)48 b(In)27 b(our)g(frame)n(w)o(ork,)i(a)e(pack)o (et)h(\002lter)e(is)g(e)o(xpressed)i(in)f(a)-152 2450 y(high-le)n(v)o(el)f(language)g(that)e(is)h(compiled)g(into)g(a)f (highly)i(ef)n(\002cient)e(nati)n(v)o(e)-152 2533 y(implementation.)56 b(The)29 b(optimization)h(phase)h(of)e(the)h(compiler)g(uses)g(a)-152 2616 y(\003o)n(wgraph)22 b(set)e(relation)h(called)g Fu(edg)o(e)h(dominator)o(s)g Fv(and)f(the)g(no)o(v)o(el)h(appli-)-152 2699 y(cation)g(of)g(an)f(optimization)i(technique)f(that)g(we)f(call)g (\223redundant)i(predi-)-152 2782 y(cate)f(elimination,)-5 b(\224)21 b(in)h(which)f(we)h(interlea)o(v)o(e)f(partial)g(redundanc)o (y)i(elim-)-152 2865 y(ination,)e(predicate)h(assertion)f(propagation,) h(and)f(\003o)n(wgraph)h(edge)f(elim-)-152 2948 y(ination)h(to)f(carry) g(out)h(the)f(\002lter)f(predicate)i(optimization.)30 b(Our)21 b(resulting)-152 3031 y(pack)o(et-\002ltering)h(frame)n(w)o (ork,)h(which)f(we)g(call)f(BPF+,)g(deri)n(v)o(es)h(from)g(the)-152 3114 y(BSD)d(pack)o(et)i(\002lter)d(\(BPF\),)g(and)j(includes)f(a)g (\002lter)e(program)j(translator)m(,)f(a)-152 3197 y(byte)e(code)f (optimizer)m(,)g(a)g(byte)g(code)h(safety)f(v)o(eri\002er)f(to)h(allo)n (w)g(code)g(to)g(mi-)-152 3280 y(grate)k(across)f(protection)h (boundaries,)h(and)f(a)f(just-in-time)g(assembler)h(to)-152 3363 y(con)m(v)o(ert)e(byte)g(codes)f(to)g(ef)n(\002cient)g(nati)n(v)o (e)g(code.)24 b(Despite)18 b(the)g(high)h(de)o(gree)-152 3446 y(of)28 b(\003e)o(xibility)f(af)n(forded)i(by)f(our)g(generalized) g(frame)n(w)o(ork,)j(our)d(perfor)o(-)-152 3529 y(mance)d(measurements) f(sho)n(w)h(that)e(our)h(system)g(achie)n(v)o(es)g(performance)-152 3612 y(comparable)f(to)e(state-of-the-art)g(pack)o(et)h(\002lter)e (architectures)i(and)g(better)-152 3695 y(than)e(hand-coded)h (\002lters)d(written)g(in)h(C.)-152 3896 y Fw(1)83 b(Intro)r(duction) -152 4056 y Fv(Ov)o(er)20 b(the)f(past)h(decade,)h(a)e(number)i(of)e (inno)o(v)n(ati)n(v)o(e)i(research)f(ef)n(forts)f(ha)o(v)o(e)-152 4139 y(b)o(uilt)f(upon)h(each)g(other)g(by)f(iterati)n(v)o(ely)g (re\002ning)h(the)f(concept)i(of)e(a)g Fu(pac)o(k)o(et)-152 4222 y(\002lter)p Fv(.)k(First)15 b(proposed)j(by)f(Mogul,)g(Rashid,)g (and)g(Accetta)f(in)g(1987)h([16)q(],)f(a)-152 4305 y(pack)o(et)22 b(\002lter)d(in)h(its)g(simplest)g(form)g(is)g(a)g(programmable)i (abstraction)f(for)-152 4388 y(a)16 b(boolean)i(predicate)f(function)g (applied)g(to)f(a)g(stream)g(of)g(pack)o(ets)i(to)e(select)-152 4471 y(some)22 b(speci\002c)e(subset)i(of)f(that)f(stream.)29 b(While)20 b(this)h(\002ltering)f(model)h(has)-152 4554 y(been)27 b(hea)o(vily)g(e)o(xploited)g(for)f(netw)o(ork)h(monitoring,) i(traf)n(\002c)c(collection,)-152 4637 y(performance)18 b(measurement,)g(and)f(user)o(-le)n(v)o(el)f(protocol)h(demultiple)o (xing,)-152 4720 y(more)k(recently)-5 b(,)21 b(\002ltering)f(has)h (been)g(proposed)h(for)e(pack)o(et)i(classi\002cation)2040 1376 y(in)f(routers)g(\(e.g.,)f(for)h(real-time)f(services)h(or)g (layer)o(-four)f(switching\))h([14)q(,)2040 1459 y(20)q(],)d(\002re)n (w)o(all)g(\002ltering,)g(and)i(intrusion)f(detection)h([19)q(].)2152 1542 y(The)32 b(earliest)g(representations)h(for)f(pack)o(et)h (\002lters)e(were)h(based)h(on)2040 1625 y(an)g(imperati)n(v)o(e)g(e)o (x)o(ecution)h(model.)64 b(In)33 b(this)f(form,)k(a)d(pack)o(et)g (\002lter)f(is)2040 1708 y(represented)h(as)f(a)h(sequence)g(of)f (instructions)h(that)f(conform)h(to)f(some)2040 1791 y(abstract)g(virtual)g(machine,)k(much)c(as)g(modern)h(Ja)o(v)n(a)f (byte)h(codes)f(rep-)2040 1874 y(resent)c(programs)h(that)f(can)h(be)f (e)o(x)o(ecuted)h(on)g(a)f(Ja)o(v)n(a)g(virtual)g(machine.)2040 1957 y(Mogul)d Fu(et)f(al.)p Fv(')l(s)g(original)h(pack)o(et)g (\002lter)e(\(kno)n(wn)j(as)e(the)g(CMU/Stanford)2040 2040 y(pack)o(et)k(\002lter)e(or)h(CSPF\))e(w)o(as)i(based)h(on)g(a)f (stack-oriented)h(virtual)e(ma-)2040 2123 y(chine,)f(where)f(selected)g (pack)o(et)h(contents)g(could)f(be)g(pushed)h(on)f(a)g(stack)2040 2206 y(and)32 b(boolean)g(and)g(arithmetic)f(operations)h(could)g(be)g (performed)g(o)o(v)o(er)2040 2289 y(these)e(stack)h(operands.)58 b(The)29 b(BSD)h(pack)o(et)h(\002lter)d(\(BPF\))h(modernized)2040 2372 y(CSPF)13 b(with)h(a)g(higher)o(-performance)i(re)o(gister)o (-model)f(instruction)f(set.)22 b(Sub-)2040 2455 y(sequent)17 b(research)g(introduced)g(a)f(number)h(of)f(further)g(impro)o(v)o (ements:)22 b(the)2040 2538 y(Mach)i(P)o(ack)o(et)g(Filter)e(\(MPF\))g (e)o(xtended)j(BPF)d(to)i(ef)n(\002ciently)f(support)h(an)2040 2621 y(arbitrary)h(number)g(of)g(independent)h(\002lters)e([24];)j(P)o (athFinder)d(pro)o(vided)2040 2704 y(a)g(ne)n(w)h(virtual)f(machine)i (abstraction)f(based)g(on)g(pattern-matching)h(that)2040 2787 y(achie)n(v)o(ed)18 b(impressi)n(v)o(e)f(performance)h (enhancements)h(and)e(w)o(as)g(amenable)2040 2870 y(to)28 b(hardw)o(are)h(implementation)f([2];)k(and)c(DPF)f(enhanced)j(P)o (ath\002nder')l(s)2040 2953 y(core)d(model)g(with)f(dynamic-code)i (generation)g(\(DCG\))d(to)i(e)o(xploit)f(run-)2040 3036 y(time)f(kno)n(wledge)h(for)f(e)n(v)o(en)h(greater)f(performance)h ([7].)41 b(An)25 b(alternati)n(v)o(e)2040 3119 y(approach)19 b(to)e(the)g(imperati)n(v)o(e)g(style)g(of)g(pack)o(et)h(\002ltering)f (w)o(as)g(e)o(xplored)h(by)2040 3202 y(Jayaram)j(and)g(Cytron)g([13].) 27 b(A)20 b(\002lter)f(speci\002cation)i(tak)o(es)g(the)f(form)g(of)g (a)2040 3285 y(set)i(of)g(rules)h(written)e(as)h(a)h(conte)o(xt-free)f (grammar)l(.)34 b(An)22 b(LR)f(parser)i(then)2040 3368 y(interprets)c(the)g(grammar)g(on)h(the)f(\003y)f(for)h(each)h (processed)g(pack)o(et.)2152 3451 y(More)15 b(recent)g(w)o(ork)g(on)g (pack)o(et)g(classi\002cation)g(for)f(\223layer)h(four)f(switch-)2040 3534 y(ing\224)25 b(has)f(focused)i(on)e(table-based)h(representations) h(of)e(predicate)h(tem-)2040 3618 y(plates)15 b(to)f(yield)h(v)o(ery)f (high)h(\002ltering)f(performance.)23 b(Srini)n(v)n(asan)15 b Fu(et)f(al.)g Fv([20)q(])2040 3701 y(propose)19 b(a)f(special)g(data) h(structure)f(that)f(the)o(y)i(call)e(a)h(\223grid)g(of)g(tries\224)g (to)g(re-)2040 3784 y(duce)i(the)g(common)g(case)g(of)g (source/destination)h(classi\002cation)e(to)g(a)g(fe)n(w)2040 3867 y(memory)28 b(references,)i(while)d(Lakshman)h(and)g(Stiliadis)e ([14])h(ele)o(gantly)2040 3950 y(cast)32 b(pack)o(et)h (classi\002cation)e(as)h(the)g(multidimensional)h(point)f(location)2040 4033 y(problem)20 b(from)f(computational)h(geometry)-5 b(.)2152 4116 y(None)27 b(of)f(the)g(earlier)g(w)o(ork)g(addresses)i (the)e(issue)g(of)g(compiling)h(an)2040 4199 y(abstract,)j(declarati)n (v)o(e)f(representation)g(of)f(a)g(pack)o(et)h(\002lter)e(into)i(an)f (ef)n(\002-)2040 4282 y(cient)20 b(lo)n(w-le)n(v)o(el)g(form.)26 b(It)19 b(also)h(does)h(not)f(consider)g(the)g(minimization)g(of)2040 4365 y(computation)j(by)f(e)o(xploiting)g(semantic)g(redundancies)i (across)e(multiple,)2040 4448 y(independent)j(\002lters)c(in)i(a)f (generalizable)i(f)o(ashion.)35 b(W)-6 b(ork)22 b(on)h(such)g(opti-) 2040 4531 y(mizations)f(has)g(not)g(been)g(forthcoming)h(for)e(good)i (reason.)31 b(If)21 b(we)h(model)2040 4614 y(a)e(pack)o(et)h(\002lter)d (program)j(as)f(a)f(function)i(of)f(boolean)h(predicates,)f(we)g(can) 2040 4697 y(reduce)c(\002lter)d(optimization)i(to)g(the)f(\223decision) i(tree)e(reduction\224)i([10)q(])e(prob-)2040 4780 y(lem.)22 b(Since)16 b(this)f(problem)i(is)f(\223NP-complete\224,)g(we)g(kno)n(w) h(that)f(\002lter)e(opti-)2040 4863 y(mization)i(is)f(a)h(hard)g (problem.)23 b(As)16 b(a)f(natural)i(consequence,)h(decision)f(tree) 2040 4946 y(reduction)i(methods)f(ha)o(v)o(e)g(relied)f(upon)i Fu(heuristics)e Fv(for)h(optimization)g([5].)2152 5029 y(F)o(ortunately)-5 b(,)18 b(man)o(y)f(pack)o(et)h(\002lters)e(ha)o(v)o (e)h(a)g(re)o(gular)h(structure)f(that)g(we)2040 5112 y(can)j(use)h(to)e(our)i(adv)n(antage)g(in)f(our)g(optimization)h (frame)n(w)o(ork.)27 b(One)20 b(w)o(ay)2040 5195 y(to)15 b(e)o(xploit)h(this)f(structure)g(is)g(to)g(account)h(for)f(it)g(in)g (the)g(underlying)i(\002ltering)2040 5278 y(engine)25 b(itself.)39 b(Both)24 b(P)o(athFinder)g(and)h(MPF)f(are)g(based)i(on)e (this)h(design)2040 5361 y(principle:)41 b(P)o(athFinder)27 b(utilizes)g(a)g(template-based)h(matching)h(scheme)p eop %%Page: 2 2 2 1 bop -160 -152 a 33154007 7293880 4407377 41508290 38942801 49138974 startTexFig -160 -152 a %%BeginDocument: sysarcha.eps %AI3_ColorUsage: Black&White %AI3_IncludePlacedImages %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 13 13 599 780 %AI3_DocumentPreview: PC_ColorTIFF %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 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 Adobe_packedarray /initialize get exec 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 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 currentpacking true setpacking userdict /Adobe_typography_AI3 48 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 { dup type /arraytype eq {/_wv exch def} {/_wv 0 def} ifelse /_useNativeEncoding exch def pop pop findfont _wv type /arraytype eq {_wv makeblendedfont} if dup length 2 add dict begin mark exch { 1 index /FID ne { def } if cleartomark mark } forall pop /FontName exch def counttomark 0 eq { 1 _useNativeEncoding eq { /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 { /Tx { dup currentpoint 4 2 roll gsave dup currentpoint 3 2 roll tr _psf newpath moveto tr _ctm _pss grestore 3 1 roll moveto tr sp } ddef /Tj { dup currentpoint 4 2 roll gsave dup currentpoint 3 2 roll trj _pjsf newpath moveto trj _ctm _pjss grestore 3 1 roll moveto tr sp } ddef } def /e0 { /Tx { tr _psf } ddef /Tj { trj _pjsf } ddef } def /e1 { /Tx { dup currentpoint 4 2 roll gsave tr _psf grestore 3 1 roll moveto tr sp } ddef /Tj { dup currentpoint 4 2 roll gsave trj _pjsf grestore 3 1 roll moveto tr sp } ddef } def /i0 { /Tx { tr sp } ddef /Tj { trj jsp } ddef } def /i1 { W N } 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 { /Tx { dup currentpoint 4 2 roll currentpoint gsave newpath moveto tr _ctm _pss grestore 3 1 roll moveto tr sp } ddef /Tj { dup currentpoint 4 2 roll currentpoint gsave newpath moveto trj _ctm _pjss grestore 3 1 roll moveto tr sp } ddef } def /To { pop _ctm currentmatrix pop } def /TO { iTe _ctm setmatrix newpath } def /Tp { pop _tm astore pop _ctm setmatrix _tDict begin /W {} def /h {} def } def /TP { end iTm 0 0 moveto } def /Tr { _render 3 le {currentpoint newpath moveto} if 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 /Tm { _tm astore pop iTm 0 0 moveto } def /Td { _mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto } def /iTe { _render -1 eq {} {_renderEnd _render get dup null ne {load exec} {pop} ifelse} ifelse /_render -1 ddef } def /Ta { pop } 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 { 3 npop } 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 /TA { pop } def /Tq { pop } def /Th { pop pop pop pop pop } def /TX {pop} def %/Tx %/Tj /Tk { exch pop _fScl mul neg 0 rmoveto } def /TK { 2 npop } def /T* { _leading aload pop neg Td } def /T*- { _leading aload pop Td } def /T- { _hyphen Tx } def /T+ {} def /TR { _ctm currentmatrix pop _tm astore pop iTm 0 0 moveto } def /TS { 0 eq {Tx} {Tj} ifelse } def currentdict readonly pop end setpacking currentpacking true setpacking userdict /Adobe_pattern_AI3 16 dict dup begin put /initialize { /definepattern where { pop } { Adobe_pattern_AI3 begin Adobe_pattern_AI3 { dup xcheck { bind } if pop pop } forall mark cachestatus 7 1 roll pop pop pop pop exch pop exch { { 10000 add dup 2 index gt { exit } if dup setcachelimit } loop } stopped cleartomark } ifelse } def /terminate { currentdict Adobe_pattern_AI3 eq { end } if } def errordict /nocurrentpoint { pop stop } put errordict /invalidaccess { pop stop } put /patternencoding 256 array def 0 1 255 { patternencoding exch ( ) 2 copy exch 0 exch put cvn put } for /definepattern { 17 dict begin /uniform exch def /cache exch def /key exch def /procarray exch def /mtx exch matrix invertmatrix def /height exch def /width exch def /ctm matrix currentmatrix def /ptm matrix def /str 32 string def /slice 9 dict def slice /s 1 put slice /q 256 procarray length div sqrt floor cvi put slice /b 0 put /FontBBox [0 0 0 0] def /FontMatrix mtx matrix copy def /Encoding patternencoding def /FontType 3 def /BuildChar { exch begin /setstrokeadjust where {pop true setstrokeadjust} if slice begin dup q dup mul mod s idiv /i exch def dup q dup mul mod s mod /j exch def q dup mul idiv procarray exch get /xl j width s div mul def /xg j 1 add width s div mul def /yl i height s div mul def /yg i 1 add height s div mul def uniform { 1 1 } { width 0 dtransform dup mul exch dup mul add sqrt dup 1 add exch div 0 height dtransform dup mul exch dup mul add sqrt dup 1 add exch div } ifelse width 0 cache { xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul setcachedevice } { setcharwidth } ifelse gsave scale newpath xl yl moveto xg yl lineto xg yg lineto xl yg lineto closepath clip newpath end end exec grestore } def key currentdict definefont end } def /patterncachesize { gsave newpath 0 0 moveto width 0 lineto width height lineto 0 height lineto closepath patternmatrix setmatrix pathbbox exch ceiling 4 -1 roll floor sub 3 1 roll ceiling exch floor sub mul 1 add grestore } def /patterncachelimit { cachestatus 7 1 roll 6 npop 8 mul } def /patternpath { exch dup begin setfont ctm setmatrix concat slice exch /b exch slice /q get dup mul mul put FontMatrix concat uniform { width 0 dtransform round width div exch round width div exch 0 height dtransform round height div exch height div exch 0 0 transform round exch round exch ptm astore setmatrix } { ptm currentmatrix pop } ifelse {currentpoint} stopped not { 2 npop pathbbox true 4 index 3 index eq 4 index 3 index eq and { pop false { {2 npop} {3 npop true} {7 npop true} {pop true} pathforall } stopped { 5 npop true } if } if { height div ceiling height mul 4 1 roll width div ceiling width mul 4 1 roll height div floor height mul 4 1 roll width div floor width mul 4 1 roll 2 index sub height div ceiling cvi exch 3 index sub width div ceiling cvi exch 4 2 roll moveto FontMatrix mtx invertmatrix dup dup 4 get exch 5 get rmoveto ptm ptm concatmatrix pop slice /s patterncachesize patterncachelimit div ceiling sqrt ceiling cvi dup slice /q get gt { pop slice /q get } if put 0 1 slice /s get dup mul 1 sub { slice /b get add gsave 0 1 str length 1 sub { str exch 2 index put } for pop dup { gsave ptm setmatrix 1 index str length idiv {str show} repeat 1 index str length mod str exch 0 exch getinterval show grestore 0 height rmoveto } repeat grestore } for 2 npop } { 4 npop } ifelse } if end } def /patternclip { clip } def /patternstrokepath { strokepath } def /patternmatrix matrix def /patternfill { dup type /dicttype eq { Adobe_pattern_AI3 /patternmatrix get } if gsave patternclip Adobe_pattern_AI3 /patternpath get exec grestore newpath } def /patternstroke { dup type /dicttype eq { Adobe_pattern_AI3 /patternmatrix get } if gsave patternstrokepath true { { { newpath moveto } { lineto } { curveto } { closepath 3 copy Adobe_pattern_AI3 /patternfill get exec } pathforall 3 npop } stopped { 5 npop patternclip Adobe_pattern_AI3 /patternfill get exec } if } { patternclip Adobe_pattern_AI3 /patternfill get exec } ifelse grestore newpath } def /patternashow { 3 index type /dicttype eq { Adobe_pattern_AI3 /patternmatrix get 4 1 roll } if { 2 npop (0) exch 2 copy 0 exch put pop gsave false charpath currentpoint 6 index 6 index 6 index Adobe_pattern_AI3 /patternfill get exec grestore newpath moveto 2 copy rmoveto } exch cshow 5 npop } def /patternawidthshow { 6 index type /dicttype eq { Adobe_pattern_AI3 /patternmatrix get 7 1 roll } if { 2 npop (0) exch 2 copy 0 exch put gsave _sp eq {5 index 5 index rmoveto} if false charpath currentpoint 9 index 9 index 9 index Adobe_pattern_AI3 /patternfill get exec grestore newpath moveto 2 copy rmoveto } exch cshow 8 npop } def /patternashowstroke { 4 index type /dicttype eq { patternmatrix /patternmatrix get 5 1 roll } if 4 1 roll { 2 npop (0) exch 2 copy 0 exch put pop gsave false charpath currentpoint 4 index setmatrix 7 index 7 index 7 index Adobe_pattern_AI3 /patternstroke get exec grestore newpath moveto 2 copy rmoveto } exch cshow 6 npop } def /patternawidthshowstroke { 7 index type /dicttype eq { patternmatrix /patternmatrix get 8 1 roll } if 7 1 roll { 2 npop (0) exch 2 copy 0 exch put gsave _sp eq {5 index 5 index rmoveto} if false charpath currentpoint 7 index setmatrix 10 index 10 index 10 index Adobe_pattern_AI3 /patternstroke get exec grestore newpath moveto 2 copy rmoveto } exch cshow 9 npop } def currentdict readonly pop end setpacking currentpacking true setpacking userdict /Adobe_Illustrator_AI3 71 dict dup begin put /initialize { userdict /Adobe_Illustrator_AI3_vars 67 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 /e1 /r1 /a1 /i0] def /_renderEnd [null null null null /i1 /i1 /i1 /i1] 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 /_tDict 2 dict def /_wv 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 mul add 4 1 roll 3 1 roll mul add } def /swj { dup 4 1 roll dup length exch stringwidth exch 5 -1 roll 3 index mul add 4 1 roll 3 1 roll 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 pop userdict begin /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } 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 /_doClip 0 ddef 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 /_doClip 0 ddef 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 %3 npop newpath sw rmoveto } ddef /_pjsf { save /_doClip 0 ddef 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 /_doClip 0 ddef 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 /_doClip 0 ddef 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 /_doClip 0 ddef 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 currentdict readonly pop end setpacking /annotatepage { } def Adobe_cshow /initialize get exec Adobe_customcolor /initialize get exec Adobe_typography_AI3 /initialize get exec Adobe_pattern_AI3 /initialize get exec Adobe_Illustrator_AI3 /initialize get exec [ 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft /quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark /scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar 168/dieresis/copyright/ordfeminine 172/logicalnot 174/registered/macron/ring /plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla /onesuperior/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave /Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute /Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde /Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute /acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex /edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute /ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis TE %AI3_BeginEncoding: _Helvetica Helvetica [/_Helvetica/Helvetica 0 0 1 TZ %AI3_EndEncoding AdobeType %AI3_BeginPattern: (Arrow1.2.out/in) (Arrow1.2.out/in) 1 1 39.4039 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 0 i 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 33.9039 15.6187 m 39.4247 20.202 L 39.4247 20.202 L 33.8869 24.6252 L S 39.2997 20.202 m 24.5706 20.202 l 20.4039 20.4792 20.4039 16.8125 v 20.4039 13.1458 20.4039 12.5625 y S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Arrow1.2.side) (Arrow1.2.side) 1 1 39.404 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 0 i 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 20.202 20.202 m 39.404 20.202 l S 33.904 15.6187 m 39.4248 20.202 L 39.4248 20.202 L 33.887 24.6252 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Bricks) (Bricks) 1.6 1.6 73.6 73.6 [ %AI3_Tile (0 O 0 R 0.3 0.85 0.85 0 k 0.3 0.85 0.85 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1.6 1.6 m 1.6 73.6 L 73.6 73.6 L 73.6 1.6 L 1.6 1.6 L f %AI6_EndPatternLayer ) & (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1.6 70.01 m 73.6 70.01 l S 1.6 62.809 m 73.6 62.809 L S 1.6 55.609 m 73.6 55.609 L S 1.6 48.408 m 73.6 48.408 L S 1.6 41.208 m 73.6 41.208 L S 1.6 34.007 m 73.6 34.007 L S 1.6 26.807 m 73.6 26.807 L S 1.6 19.606 m 73.6 19.606 L S 1.6 12.406 m 73.6 12.406 L S 1.6 5.206 m 73.6 5.206 L S 70.01 70.01 m 70.01 62.822 l S 55.61 70.01 m 55.61 62.822 L S 41.21 70.01 m 41.21 62.822 L S 26.81 70.01 m 26.81 62.822 L S 12.41 70.01 m 12.41 62.822 L S 70.01 55.572 m 70.01 48.385 l S 55.61 55.572 m 55.61 48.385 L S 41.21 55.572 m 41.21 48.385 L S 26.81 55.572 m 26.81 48.385 L S 12.41 55.572 m 12.41 48.385 L S 70.01 41.197 m 70.01 34.01 l S 55.61 41.197 m 55.61 34.01 L S 41.21 41.197 m 41.21 34.01 L S 26.81 41.197 m 26.81 34.01 L S 12.41 41.197 m 12.41 34.01 L S 70.01 26.822 m 70.01 19.635 l S 55.61 26.822 m 55.61 19.635 L S 41.21 26.822 m 41.21 19.635 L S 26.81 26.822 m 26.81 19.635 L S 12.41 26.822 m 12.41 19.635 L S 70.01 12.385 m 70.01 5.197 l S 55.61 12.385 m 55.61 5.197 L S 41.21 12.385 m 41.21 5.197 L S 26.81 12.385 m 26.81 5.197 L S 12.41 12.385 m 12.41 5.197 L S 62.797 5.197 m 62.797 1.6 L S 48.397 5.197 m 48.397 1.6 L S 33.997 5.197 m 33.997 1.6 L S 19.597 5.197 m 19.597 1.6 L S 5.197 5.197 m 5.197 1.6 l S 62.797 19.635 m 62.797 12.447 L S 48.397 19.635 m 48.397 12.447 L S 33.997 19.635 m 33.997 12.447 L S 19.597 19.635 m 19.597 12.447 L S 5.197 19.635 m 5.197 12.447 l S 62.797 34.01 m 62.797 26.822 L S 48.397 34.01 m 48.397 26.822 L S 19.597 34.01 m 19.597 26.822 L S 5.197 34.01 m 5.197 26.822 l S 62.797 48.385 m 62.797 41.197 L S 48.397 48.385 m 48.397 41.197 L S 33.997 48.385 m 33.997 41.197 L S 19.597 48.385 m 19.597 41.197 L S 5.197 48.385 m 5.197 41.197 l S 62.797 62.822 m 62.797 55.635 L S 48.397 62.822 m 48.397 55.635 L S 33.997 62.822 m 33.997 55.635 L S 19.597 62.822 m 19.597 55.635 L S 5.197 62.822 m 5.197 55.635 l S 62.797 73.5589 m 62.797 70.072 L S 48.397 73.5589 m 48.397 70.072 L S 33.997 73.5589 m 33.997 70.072 L S 19.597 73.5589 m 19.597 70.072 L S 5.197 73.5589 m 5.197 70.072 l S 33.997 34.01 m 33.997 26.822 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks) (Checks) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks\012 1) (Checks\012 1) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks\012 2) (Checks\012 2) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Confetti) (Confetti) 4.85 3.617 76.85 75.617 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 4.85 3.617 m 4.85 75.617 L 76.85 75.617 L 76.85 3.617 L 4.85 3.617 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 10.6 64.867 m 7.85 62.867 l S 9.1 8.617 m 6.85 6.867 l S 78.1 68.617 m 74.85 67.867 l S 76.85 56.867 m 74.35 55.117 l S 79.6 51.617 m 76.6 51.617 l S 76.35 44.117 m 73.6 45.867 l S 78.6 35.867 m 76.6 34.367 l S 76.1 23.867 m 73.35 26.117 l S 78.1 12.867 m 73.85 13.617 l S 68.35 14.617 m 66.1 12.867 l S 76.6 30.617 m 73.6 30.617 l S 62.85 58.117 m 60.956 60.941 l S 32.85 59.617 m 31.196 62.181 l S 47.891 64.061 m 49.744 66.742 l S 72.814 2.769 m 73.928 5.729 l S 67.976 2.633 m 67.35 5.909 l S 61.85 27.617 m 59.956 30.441 l S 53.504 56.053 m 51.85 58.617 l S 52.762 1.779 m 52.876 4.776 l S 45.391 5.311 m 47.244 7.992 l S 37.062 3.375 m 35.639 5.43 l S 55.165 34.828 m 57.518 37.491 l S 20.795 3.242 m 22.12 5.193 l S 14.097 4.747 m 15.008 8.965 l S 9.736 1.91 m 8.073 4.225 l S 31.891 5.573 m 32.005 8.571 l S 12.1 70.367 m 15.6 68.867 l S 9.35 54.867 m 9.6 58.117 l S 12.85 31.867 m 14.35 28.117 l S 10.1 37.367 m 12.35 41.117 l S 34.1 71.117 m 31.85 68.617 l S 38.35 71.117 m 41.6 68.367 l S 55.1 71.117 m 58.35 69.117 l S 57.35 65.117 m 55.35 61.867 l S 64.35 66.367 m 69.35 68.617 l S 71.85 62.867 m 69.35 61.117 l S 23.6 70.867 m 23.6 67.867 l S 20.6 65.867 m 17.35 65.367 l S 24.85 61.367 m 25.35 58.117 l S 25.85 65.867 m 29.35 66.617 l S 14.1 54.117 m 16.85 56.117 l S 12.35 11.617 m 12.6 15.617 l S 12.1 19.867 m 14.35 22.367 l S 26.1 9.867 m 23.6 13.367 l S 34.6 47.117 m 32.1 45.367 l S 62.6 41.867 m 59.85 43.367 l S 31.6 35.617 m 27.85 36.367 l S 36.35 26.117 m 34.35 24.617 l S 33.85 14.117 m 31.1 16.367 l S 37.1 9.867 m 35.1 11.117 l S 34.35 20.867 m 31.35 20.867 l S 44.6 56.617 m 42.1 54.867 l S 47.35 51.367 m 44.35 51.367 l S 44.1 43.867 m 41.35 45.617 l S 43.35 33.117 m 42.6 30.617 l S 43.85 23.617 m 41.1 25.867 l S 44.35 15.617 m 42.35 16.867 l S 67.823 31.1 m 64.823 31.1 l S 27.1 32.617 m 29.6 30.867 l S 31.85 55.117 m 34.85 55.117 l S 19.6 40.867 m 22.1 39.117 l S 16.85 35.617 m 19.85 35.617 l S 20.1 28.117 m 22.85 29.867 l S 52.1 42.617 m 54.484 44.178 l S 52.437 50.146 m 54.821 48.325 l S 59.572 54.133 m 59.35 51.117 l S 50.185 10.055 m 53.234 9.928 l S 51.187 15.896 m 53.571 14.075 l S 58.322 19.883 m 59.445 16.823 l S 53.1 32.117 m 50.6 30.367 l S 52.85 24.617 m 49.6 25.617 l S 61.85 9.117 m 59.1 10.867 l S 69.35 34.617 m 66.6 36.367 l S 67.1 23.617 m 65.1 22.117 l S 24.435 46.055 m 27.484 45.928 l S 25.437 51.896 m 27.821 50.075 l S 62.6 47.117 m 65.321 46.575 l S 19.85 19.867 m 20.35 16.617 l S 21.85 21.867 m 25.35 22.617 l S 37.6 62.867 m 41.6 62.117 l S 38.323 42.1 m 38.823 38.6 l S 69.35 52.617 m 66.85 53.867 l S 14.85 62.117 m 18.1 59.367 l S 9.6 46.117 m 7.1 44.367 l S 20.6 51.617 m 18.6 50.117 l S 46.141 70.811 m 47.994 73.492 l S 69.391 40.561 m 71.244 43.242 l S 38.641 49.311 m 39.35 52.117 l S 25.141 16.811 m 25.85 19.617 l S 36.6 32.867 m 34.6 31.367 l S 6.1 68.617 m 2.85 67.867 l S 4.85 56.867 m 2.35 55.117 l S 7.6 51.617 m 4.6 51.617 l S 6.6 35.867 m 4.6 34.367 l S 6.1 12.867 m 1.85 13.617 l S 4.6 30.617 m 1.6 30.617 l S 72.814 74.769 m 73.928 77.729 l S 67.976 74.633 m 67.35 77.909 l S 52.762 73.779 m 52.876 76.776 l S 37.062 75.375 m 35.639 77.43 l S 20.795 75.242 m 22.12 77.193 l S 9.736 73.91 m 8.073 76.225 l S 10.1 23.617 m 6.35 24.367 l S 73.217 18.276 m 71.323 21.1 l S 28.823 39.6 m 29.505 42.389 l S 49.6 38.617 m 47.6 37.117 l S 60.323 73.6 m 62.323 76.6 l S 60.323 1.6 m 62.323 4.6 l S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.inner) (DblLine1.2.inner) 1 1 39.2705 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 39.2702 22.175 m 39.2702 13.6108 L 26.66 13.6108 L 26.66 1.0003 L 18.0958 1.0003 L 18.0948 22.175 L 18.0958 22.175 L 18.0958 22.1752 L 39.2702 22.175 L f 39.2708 24.6929 m 15.5779 24.6929 L 15.5779 1.0003 L 14.9037 1.0003 L 14.9032 25.3675 L 39.2708 25.3675 L 39.2708 24.6929 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.outer) (DblLine1.2.outer) 1 1.0003 39.2706 39.271 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 39.2708 26.6602 m 13.6111 26.6602 L 13.6111 1.0005 L 22.1751 1 L 22.1751 18.096 L 39.2708 18.096 L 39.2708 26.6602 L f 39.2708 15.578 m 24.6928 15.578 L 24.6928 1 L 25.367 1 L 25.367 14.9038 L 39.2708 14.9038 L 39.2708 15.578 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.side) (DblLine1.2.side) 1 1 39.2706 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 39.2704 18.0958 m 39.2704 26.6598 L 1.0001 26.6598 L 1.0001 18.0958 L 39.2704 18.0958 L f 39.2704 14.9037 m 39.2704 15.5776 L 1.0001 15.5776 L 1.0001 14.9037 L 39.2704 14.9037 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds) (Diamonds) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds\012 1) (Diamonds\012 1) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds\012 2) (Diamonds\012 2) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Hexagon) (Hexagon) 4 1.6 70.151 77.983 [ %AI3_Tile (0 O 0 R 0 1 0.35 0 k 0 1 0.35 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 70.151 77.983 m 70.151 1.6 L 4 1.6 L 4 77.983 L 70.151 77.983 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.9921 1 0 0 k 0.9921 1 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 20.538 30.244 m S 26.05 20.696 m 15.025 20.696 L 9.513 30.244 L 15.025 39.792 L 26.05 39.792 L 31.564 30.244 L 26.05 20.696 L s 20.537 11.148 m S 26.05 1.6 m 15.024 1.6 L 9.512 11.148 L 15.024 20.696 L 26.05 20.696 L 31.563 11.148 L 26.05 1.6 L s 53.614 30.244 m S 59.126 20.696 m 48.101 20.696 L 42.589 30.244 L 48.101 39.792 L 59.126 39.792 L 64.639 30.244 L 59.126 20.696 L s 53.614 11.148 m S 59.126 1.6 m 48.101 1.6 L 42.588 11.148 L 48.101 20.696 L 59.126 20.696 L 64.638 11.148 L 59.126 1.6 L s 20.538 68.436 m S 26.051 58.888 m 15.025 58.888 L 9.513 68.436 L 15.025 77.984 L 26.051 77.984 L 31.564 68.436 L 26.051 58.888 L s 20.538 49.34 m S 26.051 39.792 m 15.025 39.792 L 9.513 49.34 L 15.025 58.888 L 26.05 58.888 L 31.564 49.34 L 26.051 39.792 L s 53.614 68.436 m S 59.127 58.888 m 48.102 58.888 L 42.589 68.436 L 48.101 77.985 L 59.127 77.985 L 64.639 68.436 L 59.127 58.888 L s 53.614 49.34 m S 59.127 39.792 m 48.101 39.792 L 42.589 49.34 L 48.101 58.888 L 59.127 58.888 L 64.639 49.341 L 59.127 39.792 L s 4 20.696 m S 3.876 30.244 m 9.512 30.244 L 15.024 20.696 L 9.512 11.147 L 3.876 11.147 L S 37.075 20.696 m S 42.588 11.148 m 31.563 11.148 L 26.05 20.696 L 31.563 30.244 L 42.589 30.244 L 48.101 20.696 L 42.588 11.148 L s 37.076 58.888 m S 42.589 49.34 m 31.564 49.34 L 26.05 58.888 L 31.564 68.436 L 42.589 68.436 L 48.101 58.888 L 42.589 49.34 L s 70.151 20.696 m S 70.2094 11.147 m 64.639 11.147 L 59.127 20.696 L 64.639 30.244 L 70.2094 30.244 L S 70.152 58.888 m S 70.0427 49.34 m 64.639 49.34 L 59.127 58.888 L 64.639 68.436 L 70.0427 68.436 L S 4 58.888 m S 3.876 68.436 m 9.513 68.436 L 15.025 58.888 L 9.513 49.34 L 3.876 49.34 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.inner) (Laurel.inner) 1 1 28.5392 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 19.2768 15.3585 m 28.9144 15.3585 L 28.9144 14.2335 L 19.2768 14.2335 L 19.2768 15.3585 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 14.7461 18.9624 m 13.0264 17.8486 11.3273 14.4193 11.3273 10.0362 c 11.3273 5.6547 12.9768 2.1518 14.744 1.1112 C 14.7443 1.1112 L 16.4707 2.1518 18.1679 5.6547 18.1679 10.0362 c 18.1679 14.4143 16.432 17.8633 14.7461 18.9624 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.outer) (Laurel.outer) 1 1.3751 28.5393 28.9143 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 14.2395 10.6375 m 14.2395 1 L 15.3645 1 L 15.3645 10.6375 L 14.2395 10.6375 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 10.5769 15.124 m 11.6906 16.8438 15.1198 18.5429 19.503 18.5429 c 23.8844 18.5429 27.3874 16.8935 28.428 15.1262 C 28.428 15.1259 L 27.3874 13.3995 23.8844 11.7023 19.503 11.7023 c 15.1249 11.7023 11.676 13.4382 10.5769 15.124 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.side) (Laurel.side) 1.3972 1 28.9364 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 29.1571 15.2998 m 1 15.2998 L 1 14.1748 L 29.1571 14.1748 L 29.1571 15.2998 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 2.0183 27.4787 m 1.5899 25.4751 2.8132 21.8488 5.9125 18.7494 c 9.0107 15.6513 12.654 14.3407 14.6395 14.8545 C 14.6398 14.8547 L 15.1246 16.8113 13.8478 20.4883 10.7496 23.5865 c 7.6538 26.6824 3.9876 27.8936 2.0183 27.4787 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 2.0183 2.0091 m 1.5899 4.0126 2.8132 7.6389 5.9125 10.7382 c 9.0107 13.8365 12.654 15.147 14.6395 14.6332 C 14.6398 14.633 L 15.1246 12.6765 13.8478 8.9993 10.7496 5.9011 c 7.6538 2.8054 3.9876 1.5941 2.0183 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 15.821 2.0091 m 15.3925 4.0126 16.6159 7.6389 19.7152 10.7382 c 22.8134 13.8365 26.4567 15.147 28.4422 14.6332 C 28.4424 14.633 L 28.9273 12.6765 27.6505 8.9993 24.5523 5.9011 c 21.4565 2.8054 17.7903 1.5941 15.821 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 15.821 27.4787 m 15.3925 25.4751 16.6159 21.8488 19.7152 18.7494 c 22.8134 15.6513 26.4567 14.3407 28.4422 14.8545 C 28.4424 14.8547 L 28.9273 16.8113 27.6505 20.4883 24.5523 23.5865 c 21.4565 26.6824 17.7903 27.8936 15.821 27.4787 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Leaves-fall) (Leaves-fall) 1 1 52.733 89.816 [ %AI3_Tile (0 O 0 R 0.05 0.2 1 0 k 0.05 0.2 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 52.733 89.816 m 52.733 1 L 1 1 L 1 89.816 L 52.733 89.816 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.83 0 1 0 k 0.83 0 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 25.317 2.083 m 25.994 2.283 26.284 2.435 V 24.815 5.147 29.266 9.428 30.186 10.168 C 30.787 9.943 30.907 7.41 30.23 6.073 C 31.073 6.196 33.262 4.818 34.02 3.529 C 34.085 4.217 35.655 7.158 36.481 7.535 C 35.561 7.933 34.896 9.406 34.134 10.854 C 35.156 11.021 36.555 10.1 38.026 9.195 C 38.541 9.996 39.915 10.968 41.174 11.484 C 40.086 12.171 39.591 12.912 39.094 14.372 C 38.052 13.806 35.865 13.657 35.336 13.944 C 35.85 15.057 38.096 15.6 38.827 15.547 C 38.573 16.409 38.425 18.562 38.598 21.155 C 36.939 19.839 35.393 18.522 33.734 18.58 C 34.003 17.158 33.367 15.353 32.99 14.86 C 32.417 15.604 32.006 16.431 32.361 18.408 C 30.908 18.893 29.671 19.439 28.297 20.697 C 28.297 18.866 27.725 17.664 26.857 16.388 C 28.117 15.9 29.389 14.697 29.385 13.658 C 28.537 13.81 26.845 14.554 26.352 15.547 C 25.634 14.8 23.95 13.491 22.346 13.487 C 23.534 12.632 24.454 11.598 24.549 9.686 C 25.802 10.657 28.255 11.272 29.635 10.674 C 24.794 6.438 25.262 3.405 25.317 2.083 C f 12.412 33.743 m 11.887 33.272 11.691 33.01 V 14.182 31.192 11.928 25.366 11.415 24.303 C 10.776 24.247 9.369 26.988 9.405 28.486 C 8.273 27.73 6.608 27.851 5.006 28.137 C 5.578 27.049 5.177 25.104 4.376 24.303 C 5.378 24.339 6.729 23.624 8.038 22.643 C 7.203 21.823 5.376 21.984 3.46 22.643 C 3.46 21.27 2.638 19.533 1.801 18.351 C 3.117 18.408 4.262 17.722 5.12 16.691 C 5.785 18.26 7.819 19.373 8.725 19.324 C 8.742 17.959 7.169 15.869 6.147 15.47 C 6.747 14.801 7.766 13.27 8.725 10.854 C 9.524 12.78 10.694 14.022 11.927 14.955 C 10.785 16.517 10.959 17.388 11.358 18.866 C 12.101 18.325 13.132 17.893 13.303 15.89 C 15.02 16.176 16.156 16.104 17.653 15.203 C 17.198 16.865 17.195 18.466 17.515 20.166 C 15.665 20.026 14.105 20.239 13.075 21.728 C 13.905 21.955 16.165 22.014 17.039 21.082 C 17.366 22.064 18.261 23.47 19.707 24.164 C 18.267 24.424 17.282 25.523 16.373 27.209 C 15.66 25.793 13.433 24.128 11.93 24.073 C 13.933 28.137 13.933 31.055 12.412 33.743 C f 31.125 30.5 m 31.445 31.128 31.648 31.385 V 34.045 29.444 38.851 32.752 39.746 33.521 C 39.636 34.153 37.511 35.29 35.794 34.26 C 36.234 35.549 35.332 37.51 34.134 38.552 C 35.873 38.451 38.019 39.813 38.541 40.555 C 38.763 39.577 39.946 38.307 41.231 37.293 C 41.582 38.266 40.887 40.384 39.971 41.986 C 41.206 42.487 42.318 43.417 42.776 44.676 C 43.233 43.359 44.236 42.685 45.58 41.929 C 44.421 40.502 43.64 38.328 43.92 37.465 C 45.243 37.8 46.814 40.518 46.937 41.607 C 47.812 40.841 49.366 40.154 51.947 39.848 C 50.246 38.77 49.884 36.778 49.3 35.347 C 48.152 35.794 45.983 35.853 45.008 35.29 C 45.721 34.711 47.061 34.16 49.071 34.146 C 49.071 32.601 49.534 31.469 50.788 30.254 C 49.065 30.267 46.965 29.781 45.469 29.389 C 45.221 30.718 44.378 32.314 43.233 32.715 C 43.227 31.854 43.493 29.605 44.378 28.938 C 43.513 28.37 42.26 26.993 41.803 25.276 C 41.181 26.601 40.32 27.906 38.457 28.35 C 39.642 29.403 40.477 31.42 40.143 32.887 C 35.091 28.905 32.414 30.203 31.125 30.5 C f 25.317 46.491 m 25.994 46.691 26.284 46.843 V 24.815 49.556 29.266 53.837 30.186 54.576 C 30.787 54.351 30.907 51.818 30.23 50.482 C 31.073 50.605 33.262 49.227 34.02 47.938 C 34.085 48.625 35.655 51.566 36.481 51.944 C 35.561 52.341 34.896 53.814 34.134 55.263 C 35.156 55.43 36.555 54.508 38.026 53.603 C 38.541 54.404 39.915 55.377 41.174 55.892 C 40.086 56.579 39.591 57.321 39.094 58.78 C 38.052 58.215 35.865 58.065 35.336 58.353 C 35.85 59.465 38.096 60.008 38.827 59.955 C 38.573 60.817 38.425 62.97 38.598 65.563 C 36.939 64.247 35.393 62.931 33.734 62.988 C 34.003 61.567 33.367 59.761 32.99 59.268 C 32.417 60.012 32.006 60.839 32.361 62.817 C 30.908 63.302 29.671 63.847 28.297 65.106 C 28.297 63.274 27.725 62.073 26.857 60.796 C 28.117 60.308 29.389 59.106 29.385 58.067 C 28.537 58.219 26.845 58.963 26.352 59.955 C 25.634 59.209 23.95 57.899 22.346 57.895 C 23.534 57.041 24.454 56.006 24.549 54.094 C 25.802 55.065 28.255 55.68 29.635 55.083 C 24.794 50.846 25.262 47.814 25.317 46.491 C f 12.412 78.151 m 11.887 77.68 11.691 77.418 V 14.182 75.601 11.928 69.774 11.415 68.711 C 10.776 68.655 9.369 71.396 9.405 72.894 C 8.273 72.138 6.608 72.259 5.006 72.545 C 5.578 71.458 5.177 69.512 4.376 68.711 C 5.378 68.747 6.729 68.032 8.038 67.052 C 7.203 66.231 5.376 66.393 3.46 67.052 C 3.46 65.678 2.638 63.941 1.801 62.759 C 3.117 62.817 4.262 62.13 5.12 61.1 C 5.785 62.669 7.819 63.781 8.725 63.732 C 8.742 62.367 7.169 60.277 6.147 59.878 C 6.747 59.209 7.766 57.678 8.725 55.263 C 9.524 57.189 10.694 58.431 11.927 59.364 C 10.785 60.925 10.959 61.796 11.358 63.274 C 12.101 62.734 13.132 62.301 13.303 60.298 C 15.02 60.584 16.156 60.512 17.653 59.612 C 17.198 61.273 17.195 62.874 17.515 64.574 C 15.665 64.434 14.105 64.648 13.075 66.136 C 13.905 66.363 16.165 66.422 17.039 65.49 C 17.366 66.472 18.261 67.878 19.707 68.572 C 18.267 68.832 17.282 69.931 16.373 71.617 C 15.66 70.202 13.433 68.536 11.93 68.482 C 13.933 72.545 13.933 75.464 12.412 78.151 C f 31.125 74.908 m 31.445 75.537 31.648 75.794 V 34.045 73.853 38.851 77.161 39.746 77.929 C 39.636 78.562 37.511 79.698 35.794 78.668 C 36.234 79.957 35.332 81.918 34.134 82.96 C 35.873 82.86 38.019 84.221 38.541 84.963 C 38.763 83.986 39.946 82.716 41.231 81.701 C 41.582 82.675 40.887 84.792 39.971 86.394 C 41.206 86.895 42.318 87.825 42.776 89.084 C 43.233 87.768 44.236 87.093 45.58 86.337 C 44.421 84.91 43.64 82.736 43.92 81.873 C 45.243 82.208 46.814 84.926 46.937 86.016 C 47.812 85.249 49.366 84.563 51.947 84.257 C 50.246 83.179 49.884 81.187 49.3 79.756 C 48.152 80.203 45.983 80.262 45.008 79.698 C 45.721 79.119 47.061 78.569 49.071 78.554 C 49.071 77.009 49.534 75.877 50.788 74.663 C 49.065 74.675 46.965 74.189 45.469 73.798 C 45.221 75.126 44.378 76.723 43.233 77.123 C 43.227 76.262 43.493 74.013 44.378 73.347 C 43.513 72.779 42.26 71.401 41.803 69.684 C 41.181 71.009 40.32 72.314 38.457 72.759 C 39.642 73.812 40.477 75.829 40.143 77.295 C 35.091 73.313 32.414 74.611 31.125 74.908 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots) (Polka dots) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots\012 1) (Polka dots\012 1) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots\012 2) (Polka dots\012 2) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Random circles) (Random circles) 4.365 3.849 51.13 57.85 [ %AI3_Tile (0 O 0 R 0 0.1125 0.45 0 k 0 0.1125 0.45 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 4.365 3.849 m 4.365 57.85 L 51.13 57.85 L 51.13 3.849 L 4.365 3.849 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.4 0.7 1 0 k 0.4 0.7 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 45.429 36.274 m 45.843 36.991 45.598 37.908 44.88 38.323 c 44.163 38.737 43.245 38.491 42.831 37.774 c 42.417 37.056 42.663 36.139 43.38 35.725 c 44.098 35.31 45.015 35.556 45.429 36.274 c s 44.179 27.926 m 43.765 28.643 42.848 28.889 42.13 28.475 c 41.413 28.06 41.167 27.143 41.581 26.425 c 41.995 25.708 42.913 25.462 43.63 25.876 c 44.348 26.291 44.593 27.208 44.179 27.926 c s 35.929 41.024 m 35.515 41.741 34.598 41.987 33.88 41.573 c 33.163 41.158 32.917 40.241 33.331 39.524 c 33.745 38.806 34.663 38.56 35.38 38.975 c 36.098 39.389 36.343 40.306 35.929 41.024 c s 28.38 34.225 m 28.794 34.942 28.549 35.859 27.831 36.274 c 27.114 36.688 26.196 36.442 25.782 35.725 c 25.368 35.007 25.614 34.09 26.331 33.675 c 27.049 33.261 27.966 33.507 28.38 34.225 c s 31.179 28.024 m 30.765 28.741 29.848 28.987 29.13 28.573 c 28.413 28.158 28.167 27.241 28.581 26.524 c 28.995 25.806 29.913 25.56 30.63 25.975 c 31.348 26.389 31.593 27.306 31.179 28.024 c s 36.792 23.349 m 35.963 23.349 35.292 22.678 35.292 21.849 c 35.292 21.021 35.963 20.349 36.792 20.349 c 37.62 20.349 38.292 21.021 38.292 21.849 c 38.292 22.678 37.62 23.349 36.792 23.349 c s 10.888 34.175 m 10.474 34.893 10.72 35.81 11.437 36.225 c 12.155 36.639 13.072 36.393 13.486 35.675 c 13.901 34.958 13.655 34.041 12.937 33.626 c 12.22 33.212 11.303 33.458 10.888 34.175 c s 11.517 26.601 m 11.931 27.318 12.848 27.564 13.566 27.15 c 14.283 26.735 14.529 25.818 14.115 25.1 c 13.701 24.383 12.783 24.137 12.066 24.551 c 11.348 24.966 11.103 25.883 11.517 26.601 c s 16.782 41.426 m 17.196 42.143 18.114 42.389 18.831 41.975 c 19.549 41.56 19.794 40.643 19.38 39.926 c 18.966 39.208 18.049 38.962 17.331 39.377 c 16.614 39.791 16.368 40.708 16.782 41.426 c s 22.365 24.35 m 23.194 24.35 23.865 23.678 23.865 22.85 c 23.865 22.021 23.194 21.35 22.365 21.35 c 21.537 21.35 20.865 22.021 20.865 22.85 c 20.865 23.678 21.537 24.35 22.365 24.35 c s 45.385 7.849 m 44.971 7.132 44.053 6.886 43.336 7.3 c 42.619 7.714 42.373 8.632 42.787 9.349 c 43.201 10.067 44.119 10.312 44.836 9.898 c 45.553 9.484 45.799 8.567 45.385 7.849 c s 29.679 7.774 m 29.265 7.056 28.348 6.81 27.63 7.225 c 26.913 7.639 26.667 8.556 27.081 9.274 c 27.495 9.991 28.413 10.237 29.13 9.823 c 29.848 9.408 30.093 8.491 29.679 7.774 c s 35.542 11.349 m 34.713 11.349 34.042 12.021 34.042 12.849 c 34.042 13.678 34.713 14.349 35.542 14.349 c 36.37 14.349 37.042 13.678 37.042 12.849 c 37.042 12.021 36.37 11.349 35.542 11.349 c s 10.13 7.475 m 10.544 6.757 11.462 6.511 12.179 6.926 c 12.897 7.34 13.142 8.257 12.728 8.975 c 12.314 9.692 11.397 9.938 10.679 9.524 c 9.962 9.109 9.716 8.192 10.13 7.475 c s 20.203 13.349 m 21.031 13.349 21.703 14.021 21.703 14.849 c 21.703 15.678 21.031 16.349 20.203 16.349 c 19.375 16.349 18.703 15.678 18.703 14.849 c 18.703 14.021 19.375 13.349 20.203 13.349 c s 44.635 54.1 m 45.049 53.382 44.803 52.465 44.086 52.051 c 43.369 51.636 42.451 51.882 42.037 52.6 c 41.623 53.317 41.869 54.234 42.586 54.649 c 43.303 55.063 44.221 54.817 44.635 54.1 c s 36.841 48.1 m 36.427 47.382 35.509 47.136 34.792 47.551 c 34.074 47.965 33.828 48.882 34.243 49.6 c 34.657 50.317 35.574 50.563 36.292 50.149 c 37.009 49.734 37.255 48.817 36.841 48.1 c s 29.728 54.725 m 30.143 54.007 29.897 53.09 29.179 52.675 c 28.462 52.261 27.544 52.507 27.13 53.225 c 26.716 53.942 26.962 54.859 27.679 55.274 c 28.397 55.688 29.314 55.442 29.728 54.725 c s 10.86 54.1 m 10.446 53.382 10.691 52.465 11.409 52.051 c 12.126 51.636 13.044 51.882 13.458 52.6 c 13.872 53.317 13.626 54.234 12.909 54.649 c 12.191 55.063 11.274 54.817 10.86 54.1 c s 19.154 49.1 m 19.568 48.382 20.486 48.136 21.203 48.551 c 21.92 48.965 22.166 49.882 21.752 50.6 c 21.338 51.317 20.42 51.563 19.703 51.149 c 18.986 50.734 18.74 49.817 19.154 49.1 c s 51.88 38.85 m 51.052 38.85 50.38 39.521 50.38 40.35 c 50.38 41.178 51.052 41.85 51.88 41.85 c 52.709 41.85 53.38 41.178 53.38 40.35 c 53.38 39.521 52.709 38.85 51.88 38.85 c s 51.865 11.349 m 52.693 11.349 53.365 12.021 53.365 12.849 c 53.365 13.678 52.693 14.349 51.865 14.349 c 51.036 14.349 50.365 13.678 50.365 12.849 c 50.365 12.021 51.036 11.349 51.865 11.349 c s 30.179 18.524 m 29.765 19.241 28.848 19.487 28.13 19.073 c 27.413 18.658 27.167 17.741 27.581 17.024 c 27.995 16.306 28.913 16.06 29.63 16.475 c 30.348 16.889 30.593 17.806 30.179 18.524 c s 21.679 31.524 m 21.265 32.241 20.348 32.487 19.63 32.073 c 18.913 31.658 18.667 30.741 19.081 30.024 c 19.495 29.306 20.413 29.06 21.13 29.475 c 21.848 29.889 22.093 30.806 21.679 31.524 c s 37.914 33.399 m 37.5 34.116 36.583 34.362 35.865 33.948 c 35.148 33.533 34.902 32.616 35.316 31.899 c 35.73 31.181 36.648 30.935 37.365 31.35 c 38.083 31.764 38.328 32.681 37.914 33.399 c s 28.929 45.024 m 28.515 45.741 27.598 45.987 26.88 45.573 c 26.163 45.158 25.917 44.241 26.331 43.524 c 26.745 42.806 27.663 42.56 28.38 42.975 c 29.098 43.389 29.343 44.306 28.929 45.024 c s 12.429 45.524 m 12.015 46.241 11.098 46.487 10.38 46.073 c 9.663 45.658 9.417 44.741 9.831 44.024 c 10.245 43.306 11.163 43.06 11.88 43.475 c 12.598 43.889 12.843 44.806 12.429 45.524 c s 44.49 45.6 m 44.075 46.317 43.158 46.563 42.441 46.149 c 41.723 45.734 41.477 44.817 41.891 44.1 c 42.306 43.382 43.223 43.136 43.941 43.55 c 44.658 43.965 44.904 44.882 44.49 45.6 c s 12.679 18.524 m 12.265 19.241 11.348 19.487 10.63 19.073 c 9.913 18.658 9.667 17.741 10.081 17.024 c 10.495 16.306 11.413 16.06 12.13 16.475 c 12.848 16.889 13.093 17.806 12.679 18.524 c s 21.179 5.774 m 20.765 6.491 19.848 6.737 19.13 6.323 c 18.413 5.908 18.167 4.991 18.581 4.274 c 18.995 3.557 19.913 3.311 20.63 3.725 c 21.348 4.139 21.593 5.056 21.179 5.774 c s 38.929 5.274 m 38.515 5.991 37.598 6.237 36.88 5.823 c 36.163 5.408 35.917 4.491 36.331 3.774 c 36.745 3.057 37.663 2.811 38.38 3.225 c 39.098 3.639 39.343 4.556 38.929 5.274 c s 43.865 18.1 m 44.694 18.1 45.365 17.429 45.365 16.6 c 45.365 15.772 44.694 15.1 43.865 15.1 c 43.037 15.1 42.365 15.772 42.365 16.6 c 42.365 17.429 43.037 18.1 43.865 18.1 c s 51.13 4.6 m 50.302 4.6 49.63 3.928 49.63 3.1 c 49.63 2.272 50.302 1.6 51.13 1.6 c 51.959 1.6 52.63 2.272 52.63 3.1 c 52.63 3.928 51.959 4.6 51.13 4.6 c s 52.163 31.649 m 51.748 32.366 50.831 32.612 50.114 32.198 c 49.396 31.783 49.15 30.866 49.565 30.149 c 49.979 29.431 50.896 29.185 51.614 29.6 c 52.331 30.014 52.577 30.931 52.163 31.649 c s 51.85 51.35 m 51.021 51.35 50.35 50.678 50.35 49.85 c 50.35 49.021 51.021 48.35 51.85 48.35 c 52.678 48.35 53.35 49.021 53.35 49.85 c 53.35 50.678 52.678 51.35 51.85 51.35 c s 49.85 23.1 m 50.679 23.1 51.35 22.428 51.35 21.6 c 51.35 20.771 50.679 20.1 49.85 20.1 c 49.022 20.1 48.35 20.771 48.35 21.6 c 48.35 22.428 49.022 23.1 49.85 23.1 c s 5.13 38.85 m 4.302 38.85 3.63 39.521 3.63 40.35 c 3.63 41.178 4.302 41.85 5.13 41.85 c 5.959 41.85 6.63 41.178 6.63 40.35 c 6.63 39.521 5.959 38.85 5.13 38.85 c s 5.115 11.349 m 5.943 11.349 6.615 12.021 6.615 12.849 c 6.615 13.678 5.943 14.349 5.115 14.349 c 4.286 14.349 3.615 13.678 3.615 12.849 c 3.615 12.021 4.286 11.349 5.115 11.349 c s 4.38 4.6 m 3.552 4.6 2.88 3.928 2.88 3.1 c 2.88 2.272 3.552 1.6 4.38 1.6 c 5.209 1.6 5.88 2.272 5.88 3.1 c 5.88 3.928 5.209 4.6 4.38 4.6 c s 5.413 31.649 m 4.998 32.366 4.081 32.612 3.364 32.198 c 2.646 31.783 2.4 30.866 2.815 30.149 c 3.229 29.431 4.146 29.185 4.864 29.6 c 5.581 30.014 5.827 30.931 5.413 31.649 c s 5.1 51.35 m 4.271 51.35 3.6 50.678 3.6 49.85 c 3.6 49.021 4.271 48.35 5.1 48.35 c 5.928 48.35 6.6 49.021 6.6 49.85 c 6.6 50.678 5.928 51.35 5.1 51.35 c s 3.1 23.1 m 3.929 23.1 4.6 22.428 4.6 21.6 c 4.6 20.771 3.929 20.1 3.1 20.1 c 2.272 20.1 1.6 20.771 1.6 21.6 c 1.6 22.428 2.272 23.1 3.1 23.1 c s 21.194 59.775 m 20.78 60.492 19.863 60.738 19.145 60.324 c 18.428 59.909 18.182 58.992 18.596 58.275 c 19.01 57.558 19.928 57.312 20.645 57.726 c 21.363 58.14 21.608 59.057 21.194 59.775 c s 38.944 59.275 m 38.53 59.992 37.613 60.238 36.895 59.824 c 36.178 59.409 35.932 58.492 36.346 57.775 c 36.76 57.058 37.678 56.812 38.395 57.226 c 39.113 57.64 39.358 58.557 38.944 59.275 c s 51.145 58.601 m 50.317 58.601 49.645 57.929 49.645 57.101 c 49.645 56.273 50.317 55.601 51.145 55.601 c 51.974 55.601 52.645 56.273 52.645 57.101 c 52.645 57.929 51.974 58.601 51.145 58.601 c s 4.395 58.601 m 3.567 58.601 2.895 57.929 2.895 57.101 c 2.895 56.273 3.567 55.601 4.395 55.601 c 5.224 55.601 5.895 56.273 5.895 57.101 c 5.895 57.929 5.224 58.601 4.395 58.601 c s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Rope.side) (Rope.side) 1 4.6 60.9998 33.3999 [ %AI3_Tile (0 O 0 R 0 0 0 1 k 0 0 0 1 K ) @ ( %AI6_BeginPatternLayer 0 i 1 J 1 j 0.6 w 4 M []0 d %AI3_Note: 0 D 24.9999 7 m 15.6521 4.663 8.125 8.6981 1 14.1407 C S 36.9999 7 m 22.3477 3.337 12.168 15.3276 1 23.859 C S 48.9999 7 m 29.3464 2.0866 17.7386 25.3332 1 30.6213 C S 1 30.9999 m 24.9999 36.9999 36.9999 1 60.9998 7 C S 13 30.9999 m 32.6534 35.9133 44.2611 12.6667 60.9998 7.3786 C S 24.9999 30.9999 m 39.652 34.6629 49.8317 22.6722 60.9998 14.1407 C S 36.9999 30.9999 m 46.3476 33.3369 53.8749 29.3018 60.9998 23.859 C S 48.9999 30.9999 m 53.3464 32.0865 57.2978 31.7908 60.9998 30.6213 C S 13 7 m 8.6535 5.9134 4.7019 6.2091 1 7.3786 C S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Scales) (Scales) 1.6 9.3475 48.088 55.8355 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1.6 9.3475 m 1.6 55.8355 L 48.088 55.8355 L 48.088 9.3475 L 1.6 9.3475 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 17.0956 9.3475 m 12.8162 9.3475 9.3475 5.8787 9.3475 1.6 C 9.3475 5.8787 5.8787 9.3475 1.6 9.3475 C 1.6 13.6262 5.0687 17.095 9.3475 17.095 c 13.6268 17.095 17.0956 13.6262 17.0956 9.3475 C s 32.5918 9.3475 m 28.3125 9.3475 24.8437 5.8787 24.8437 1.6 C 24.8437 5.8787 21.3743 9.3475 17.0956 9.3475 C 17.0956 13.6262 20.5644 17.095 24.8437 17.095 c 29.1224 17.095 32.5918 13.6262 32.5918 9.3475 C s 48.088 9.3475 m 43.8087 9.3475 40.3399 5.8787 40.3399 1.6 C 40.3399 5.8787 36.8705 9.3475 32.5918 9.3475 C 32.5918 13.6262 36.0606 17.095 40.3399 17.095 c 44.6186 17.095 48.088 13.6262 48.088 9.3475 C s 17.0956 40.3393 m 12.8162 40.3393 9.3475 36.8699 9.3475 32.5912 C 9.3475 36.8699 5.8787 40.3393 1.6 40.3393 C 1.6 44.6181 5.0687 48.0874 9.3475 48.0874 c 13.6268 48.0874 17.0956 44.6181 17.0956 40.3393 C s 17.0956 24.8431 m 12.8162 24.8431 9.3475 21.3743 9.3475 17.095 C 9.3475 21.3743 5.8787 24.8431 1.6 24.8431 C 1.6 29.1218 5.0687 32.5912 9.3475 32.5912 c 13.6268 32.5912 17.0956 29.1218 17.0956 24.8431 C s 32.5918 24.8431 m 28.3125 24.8431 24.8437 21.3743 24.8437 17.095 C 24.8437 21.3743 21.3743 24.8431 17.0956 24.8431 C 17.0956 29.1218 20.5644 32.5912 24.8437 32.5912 c 29.1224 32.5912 32.5918 29.1218 32.5918 24.8431 C s 48.088 24.8431 m 43.8087 24.8431 40.3399 21.3743 40.3399 17.095 C 40.3399 21.3743 36.8705 24.8431 32.5918 24.8431 C 32.5918 29.1218 36.0606 32.5912 40.3399 32.5912 c 44.6186 32.5912 48.088 29.1218 48.088 24.8431 C s 32.5918 40.3393 m 28.3125 40.3393 24.8437 36.8699 24.8437 32.5912 C 24.8437 36.8699 21.3743 40.3393 17.0956 40.3393 C 17.0956 44.6181 20.5644 48.0874 24.8437 48.0874 c 29.1224 48.0874 32.5918 44.6181 32.5918 40.3393 C s 48.088 40.3393 m 43.8087 40.3393 40.3399 36.8699 40.3399 32.5912 C 40.3399 36.8699 36.8705 40.3393 32.5918 40.3393 C 32.5918 44.6181 36.0606 48.0874 40.3399 48.0874 c 44.6186 48.0874 48.088 44.6181 48.088 40.3393 C s 17.0956 55.8355 m 12.8162 55.8355 9.3475 52.3662 9.3475 48.0874 C 9.3475 52.3662 5.8787 55.8355 1.6 55.8355 C 1.6 60.1143 5.0687 63.5836 9.3475 63.5836 c 13.6268 63.5836 17.0956 60.1143 17.0956 55.8355 C s 32.5918 55.8355 m 28.3125 55.8355 24.8437 52.3662 24.8437 48.0874 C 24.8437 52.3662 21.3743 55.8355 17.0956 55.8355 C 17.0956 60.1143 20.5644 63.5836 24.8437 63.5836 c 29.1224 63.5836 32.5918 60.1143 32.5918 55.8355 C s 48.088 55.8355 m 43.8087 55.8355 40.3399 52.3662 40.3399 48.0874 C 40.3399 52.3662 36.8705 55.8355 32.5918 55.8355 C 32.5918 60.1143 36.0606 63.5836 40.3399 63.5836 c 44.6186 63.5836 48.088 60.1143 48.088 55.8355 C s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (SolidStar.side) (SolidStar.side) 1 1 33.0117 33.0117 [ %AI3_Tile (0 O 0 R 0.05 0.2 0.95 0 k 0.05 0.2 0.95 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 7.9689 26.0458 m 14.5331 22.9874 l 17.0095 29.7904 L 19.4859 22.9874 l 26.0473 26.0458 l 22.9889 19.4815 l 29.792 17.0052 l 22.9889 14.5288 l 26.0473 7.9674 l 19.4859 11.0257 l 17.0095 4.2226 l 14.5305 11.0257 l 7.9689 7.9674 l 11.0273 14.5288 l 4.2242 17.0052 l 11.0273 19.4843 L 7.9689 26.0458 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars) (Stars) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars\012 1) (Stars\012 1) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars\012 2) (Stars\012 2) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stripes) (Stripes) 8.45 4.6001 80.45 76.6001 [ %AI3_Tile (0 O 0 R 1 0.07 1 0 k 1 0.07 1 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 8.2 8.2 m 80.7 8.2 L S 8.2 22.6001 m 80.7 22.6001 L S 8.2 37.0002 m 80.7 37.0002 L S 8.2 51.4 m 80.7 51.4 L S 8.2 65.8001 m 80.7 65.8001 L S 8.2 15.4 m 80.7 15.4 L S 8.2 29.8001 m 80.7 29.8001 L S 8.2 44.2 m 80.7 44.2 L S 8.2 58.6001 m 80.7 58.6001 L S 8.2 73.0002 m 80.7 73.0002 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.outer) (TriBevel.outer) 1 1.0004 31.6124 31.6127 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6118 5.4917 m 27.1221 5.4917 L 27.1205 1.0011 L 27.8031 1.0011 L 27.8031 4.8091 L 31.6118 4.8091 L 31.6118 5.4917 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6149 9.5062 m 23.1111 9.5062 L 23.1111 1.0015 L 27.1205 1.0015 L 27.1205 5.493 L 31.6144 5.493 L 31.6149 9.5062 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6124 10.485 m 22.1297 10.485 L 22.1292 1.0015 L 23.1084 1.0015 L 23.1084 9.5049 L 31.6124 9.5049 L 31.6124 10.485 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6129 17.2066 m 15.4064 17.2085 L 15.4064 1 L 22.1301 1 L 22.1301 10.4868 L 31.6129 10.4868 L 31.6129 17.2066 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6149 18.3658 m 14.2517 18.3658 L 14.2515 1.0009 L 15.4043 1.0009 L 15.4043 17.2093 L 31.6149 17.2093 L 31.6149 18.3658 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 31.6124 30.4755 m 2.1395 30.4755 L 2.1395 1.0015 L 14.249 1 L 14.249 18.366 L 31.6149 18.366 L 31.6124 30.4755 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.6 k 0 0 0 0.6 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 15.4066 16.847 m 14.2778 18.3257 l 15.4066 17.2057 l 15.4066 16.847 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 23.1095 9.1906 m 22.1759 10.4392 l 23.1082 9.505 l 23.1095 9.1906 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 27.8039 4.6026 m 27.1619 5.4533 l 27.8029 4.8093 l 27.8039 4.6026 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.side) (TriBevel.side) 1.0006 1 29.0006 31.6124 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29 4.8087 m 29 4.8087 L 29.0026 5.4927 L 1.0026 5.4927 L 1 4.8087 L 1 4.8087 L 29 4.8087 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29.0026 5.4927 m 29.0005 9.5045 L 1.0005 9.5045 L 1.0026 5.4927 L 29.0026 5.4927 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29.0005 9.5045 m 29.0011 10.4865 L 1.0011 10.4865 L 1.0005 9.5045 L 29.0005 9.5045 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29.0011 10.4865 m 29.003 17.209 L 1.003 17.209 L 1.0011 10.4865 L 29.0011 10.4865 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29.003 17.209 m 29.0031 18.3656 L 1.0031 18.3656 L 1.003 17.209 L 29.003 17.209 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 29.0031 18.3656 m 29.0006 30.4752 L 1.0006 30.4752 L 1.0031 18.3656 L 29.0031 18.3656 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Waves-scroll) (Waves-scroll) 17.926 10.516 68.663 69.012 [ %AI3_Tile (0 O 0 R 1 0 0.3 0 k 1 0 0.3 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 17.926 69.012 m 17.926 10.516 L 68.663 10.516 L 68.663 69.012 L 17.926 69.012 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.55 0 0 0 k 0.55 0 0 0 K ) @ ( %AI6_BeginPatternLayer 0 i 0 J 0 j 0.75 w 4 M []0 d %AI3_Note: 0 D 65.335 70.465 m 65.881 68.746 67.444 68.168 68.663 69.012 C 67.538 69.668 68.011 71.255 69.686 70.933 c 72.124 70.464 71.894 67.213 70.53 65.589 c 68.561 63.245 64.565 60.995 53.241 71.117 C S 39.964 70.465 m 40.511 68.746 42.074 68.168 43.293 69.012 C 42.168 69.668 42.64 71.255 44.316 70.933 c 46.753 70.464 46.524 67.213 45.16 65.589 c 43.191 63.245 39.195 60.995 27.87 71.117 c S 14.594 70.465 m 15.141 68.746 16.704 68.168 17.923 69.012 C 16.798 69.668 17.27 71.255 18.945 70.933 c 21.382 70.464 21.153 67.213 19.789 65.589 c 17.821 63.245 13.825 60.995 2.5 71.117 c S 10.959 51.619 m 22.282 41.497 26.278 43.747 28.247 46.09 c 29.611 47.715 29.841 50.965 27.403 51.434 c 25.728 51.757 25.255 50.169 26.38 49.513 C 25.161 48.669 23.599 49.248 23.052 50.966 c 22.723 51.997 23.38 53.966 24.872 54.903 c 27.267 56.406 31.371 56.05 36.328 51.619 c 47.653 41.497 51.649 43.746 53.618 46.09 c 54.982 47.715 55.212 50.965 52.774 51.434 c 51.099 51.757 50.626 50.169 51.751 49.513 C 50.532 48.669 48.97 49.248 48.423 50.966 c 48.094 51.997 48.751 53.966 50.243 54.903 c 52.638 56.406 56.742 56.05 61.699 51.619 C 73.024 41.497 77.02 43.747 78.988 46.09 c S 70.156 32.12 m 65.199 36.551 61.095 36.907 58.7 35.404 c 57.208 34.468 56.552 32.499 56.88 31.468 c 57.427 29.749 58.99 29.171 60.208 30.015 C 59.083 30.671 59.556 32.258 61.231 31.936 c 63.669 31.467 63.439 28.216 62.075 26.592 c 60.106 24.248 56.11 21.998 44.786 32.12 C 39.829 36.551 35.725 36.907 33.33 35.404 c 31.838 34.468 31.182 32.499 31.51 31.468 c 32.056 29.749 33.619 29.171 34.838 30.015 C 33.713 30.671 34.186 32.258 35.861 31.936 c 38.299 31.467 38.069 28.216 36.705 26.592 c 34.737 24.248 30.74 21.998 19.415 32.12 c 14.458 36.551 10.354 36.907 7.96 35.404 c S 19.792 7.094 m 21.157 8.719 21.386 11.968 18.949 12.437 c 17.274 12.76 16.801 11.172 17.926 10.516 C 16.708 9.673 15.145 10.252 14.598 11.969 c 14.27 13 14.926 14.969 16.418 15.906 c 18.812 17.409 22.916 17.053 27.874 12.622 c 39.199 2.5 43.195 4.75 45.163 7.094 c 46.528 8.719 46.757 11.968 44.32 12.437 c 42.644 12.76 42.172 11.172 43.297 10.516 C 42.078 9.673 40.515 10.252 39.968 11.969 c 39.64 13 40.297 14.969 41.788 15.906 c 44.183 17.409 48.287 17.053 53.245 12.622 C 64.569 2.5 68.565 4.75 70.534 7.094 c 71.898 8.719 72.127 11.968 69.69 12.437 c 68.014 12.76 67.542 11.172 68.667 10.516 C 67.448 9.673 65.885 10.252 65.338 11.969 c 65.011 13 65.667 14.969 67.159 15.906 c 69.553 17.409 73.657 17.053 78.615 12.622 c S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern 0 A u 0 O 0 0 0 0 k 0 R 0 0 0 1 K 0 i 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 92.8354 647.5612 m 106.6337 647.5612 117.8198 662.3353 117.8198 680.5595 c 117.8198 698.7837 106.6337 713.5579 92.8354 713.5579 c 79.037 713.5579 67.8509 698.7837 67.8509 680.5595 c 67.8509 662.3353 79.037 647.5612 92.8354 647.5612 c b 0 To 1 0 0 1 92.5021 687.2262 0 Tp TP -18.8958 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8 Tf 0 Ts 100 Tz 0 Tt 1 TA 0 0 5 TC 100 100 200 TW 0 0 0 Ti 1 Ta 0 Tq 0 0 Tl 0 Tc 0 Tw (High-Le) Tx 1 30 Tk (v) Tx 1 25 Tk (el\r) Tx 1 0 Tk 10.008 -9.5 Td (Filter\r) Tx 1 0 Tk -13.788 -9.5 Td (Specification) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 207.7658 667.8246 m 207.7658 693.1578 L 149.0991 693.1578 L 149.0991 667.8246 L 207.7658 667.8246 L b 0 To 1 0 0 1 156.7026 676.9611 0 Tp TP 0 Tr 0 0 0 1 k /_Helvetica 10 Tf 0 Ta (F) Tx 1 45 Tk (ront End) Tx 1 0 Tk (\r) TX TO U 0 R 0 0 0 1 K [6 ]0 d 339.8333 720.6667 m 339.8333 682 339.8333 683.3333 339.8333 644.6667 c S u 0 O 0 0 0 1 k []0 d 213.375 680.6012 m 224.7083 680.6012 224.2422 680.5595 235.5756 680.5595 c F 234.5588 678.5273 m 233.9535 679.1326 l 235.3805 680.5595 l 233.9535 681.9865 l 234.5588 682.5918 l 236.5911 680.5596 l 234.5588 678.5273 l f U u 0 0 0 0 k 0 R 0 0 0 1 K 418.7118 667.8929 m 418.7118 693.2262 L 360.0451 693.2262 L 360.0451 667.8929 L 418.7118 667.8929 L b 0 To 1 0 0 1 389.0451 683.2262 0 Tp TP -12.6225 0 Td 0 Tr 0 0 0 1 k /_Helvetica 9 Tf 1 Ta (Saf) Tx 1 30 Tk (ety\r) Tx 1 0 Tk -3.951 -11 Td (Chec) Tx 1 20 Tk (k) Tx 1 20 Tk (er) Tx 1 0 Tk (\r) TX TO U u 422.0586 680.6012 m 433.3919 680.6012 432.9259 680.5595 444.2592 680.5595 c F 443.2424 678.5273 m 442.6371 679.1326 l 444.0641 680.5595 l 442.6371 681.9865 l 443.2424 682.5918 l 445.2747 680.5596 l 443.2424 678.5273 l f U u 451.5485 684.3942 m 459.5624 692.4081 459.2624 692.0491 467.2762 700.0629 c F 467.9942 697.907 m 467.1382 697.907 l 467.1383 699.925 l 465.1202 699.925 l 465.1202 700.781 l 467.9942 700.7811 l 467.9942 697.907 l f U u 450.8194 677.0564 m 458.8332 669.0425 458.4742 669.3425 466.4881 661.3287 c F 464.3321 660.6107 m 464.3321 661.4667 l 466.3501 661.4666 l 466.3501 663.4847 l 467.2061 663.4847 l 467.2062 660.6107 l 464.3321 660.6107 l f U u 0 0 0 0 k 0 R 0 0 0 1 K 532.0843 690.6666 m 532.0843 716 L 473.4176 716 L 473.4176 690.6666 L 532.0843 690.6666 L b 0 To 1 0 0 1 502.4176 699.3333 0 Tp TP -23.2149 0 Td 0 Tr 0 0 0 1 k /_Helvetica 10 Tf (Inter) Tx 1 -30 Tk (preter) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 532.0843 646.75 m 532.0843 672.0833 L 473.4176 672.0833 L 473.4176 646.75 L 532.0843 646.75 L b 0 To 1 0 0 1 502.4176 662.0833 0 Tp TP -6.2505 0 Td 0 Tr 0 0 0 1 k /_Helvetica 9 Tf (JIT\r) Tx 1 0 Tk -14.9129 -11 Td (Assemb) Tx 1 20 Tk (ler) Tx 1 0 Tk (\r) TX TO U u 537.9336 659.4583 m 549.2669 659.4583 548.8009 659.4166 560.1342 659.4166 c F 559.1174 657.3844 m 558.5121 657.9897 l 559.9391 659.4166 l 558.5121 660.8436 l 559.1174 661.4489 l 561.1497 659.4167 l 559.1174 657.3844 l f U 0 To 1 0 0 1 578.5 661.7396 0 Tp TP -12.6404 0 Td 0 Tr (Nativ) Tx 1 25 Tk (e\r) Tx 1 0 Tk 1.8854 -11 Td (Code) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 213.1667 682.5 0 Tp TP 0 Tr 0 Ta (SSA\r) Tx 1 0 Tk 0 -11 Td (F) Tx 1 30 Tk (or) Tx 1 -25 Tk (m) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 308 684 0 Tp TP 0 Tr (VM\r) Tx 1 0 Tk 0 -11 Td (Byte\r) Tx 1 0 Tk 0 -11 Td (Codes) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 339.8334 738 0 Tp TP -20.2588 0 Td 0 Tr 1 Ta (Protection\r) Tx 1 0 Tk 0.8639 -11 Td (Boundar) Tx 1 -30 Tk (y) Tx 1 0 Tk (\r) TX TO 0 0 0 0 k 0 R 0 0 0 1 K 0.5 w 448.8333 678.6739 m 449.8747 678.6739 450.719 679.5181 450.719 680.5595 c 450.719 681.6009 449.8747 682.4452 448.8333 682.4452 c 447.7919 682.4452 446.9477 681.6009 446.9477 680.5595 c 446.9477 679.5181 447.7919 678.6739 448.8333 678.6739 c b u 0 0 0 1 k 1 w 122.1495 680.6012 m 133.4829 680.6012 133.0168 680.5595 144.3501 680.5595 c F 143.3333 678.5273 m 142.728 679.1326 l 144.155 680.5595 l 142.728 681.9865 l 143.3333 682.5918 l 145.3656 680.5596 l 143.3333 678.5273 l f U u 0 0 0 0 k 0 R 0 0 0 1 K 300.1831 667.8246 m 300.1831 693.1578 L 241.5164 693.1578 L 241.5164 667.8246 L 300.1831 667.8246 L b 0 To 1 0 0 1 249.535 676.9611 0 Tp TP 0 Tr 0 0 0 1 k /_Helvetica 10 Tf 0 Ta (Optimiz) Tx 1 15 Tk (er) Tx 1 0 Tk (\r) TX TO U u 0 To 1 0 0 1 87.8313 633.1667 0 Tp TP 0 Tr /_Helvetica 9 Tf (\247) Tx 1 0 Tk (4) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 173.4285 633.1667 0 Tp TP 0 Tr (\247) Tx 1 0 Tk (5) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 265.8457 633.1667 0 Tp TP 0 Tr (\247) Tx 1 0 Tk (6) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 380.6215 633.1667 0 Tp TP 0 Tr (\247) Tx 1 0 Tk (7.1) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 493.994 633.1667 0 Tp TP 0 Tr (\247) Tx 1 0 Tk (7.2) Tx 1 0 Tk (\r) TX TO U u 307.5 681.4375 m F U u 354 682 m 338 682 321.5 682 305.5 682 c F 352.0683 680.304 m 353.7643 682 l 352.0683 683.696 l 353.507 683.696 l 355.203 682 l 353.507 680.304 l 352.0683 680.304 l f U gsave annotatepage grestore showpage Adobe_Illustrator_AI3 /terminate get exec Adobe_pattern_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 %%EndDocument endTexFig -152 938 a Fv(Figure)23 b(1:)30 b Ft(System)25 b(architecture)d(diag)o (r)o(am)h(f)n(or)h(BPF+.)36 b(A)25 b(\002lter)l(,)g(represented)c(in)j (a)g(high-le)n(v)n(el)d(language)o(,)h(is)j(compiled)e(and)g(optimiz)o (ed)f(into)-152 1021 y(the)i(BPF+)f(vir)s(tual)g(machine)g(inter)r (mediate)e(representation.)33 b(After)23 b(tr)o(a)o(v)n(ersing)g (protection)e(boundar)r(y)-7 b(,)23 b(the)g(protected)g(domain)f(v)n (er)q(i\002es)j(the)-152 1104 y(\002lter)20 b(code)g(speci\002cation,)f (and)g(either)g(inter)r(prets)f(the)i(b)o(yte)f(codes)h(or)h(assemb)o (les)e(them)h(on-the-\003y)f(into)g(nativ)n(e)g(code)o(.)-152 1353 y Fv(that)32 b(is)f(nicely)h(amenable)h(to)e(the)h(computation)h (required)f(for)g(parsing)-152 1436 y(pack)o(et)19 b(headers,)g(while)e (MPF)g(e)o(xtends)i(BPF)d(with)i(speci\002c)f(opcodes)j(that)-152 1519 y(pro)o(vide)g(a)f(particular)g(solution)h(tuned)f(to)g (demultiple)o(xing.)-40 1602 y(Although)26 b(these)e(sorts)g(of)g (assumptions)i(are)e(an)g(important)h(compo-)-152 1685 y(nent)17 b(of)e(an)o(y)i(o)o(v)o(erall)e(pack)o(et)i(\002lter)e (system,)h(the)o(y)g(f)o(ail)g(to)f(address)i(what)f(we)-152 1768 y(belie)n(v)o(e)24 b(is)e(the)h(ripest)g(opportunity)h(for)f(pack) o(et)g(\002lter)f(optimization:)32 b(the)-152 1851 y(application)19 b(of)e Fu(global)h(optimization)g Fv(algorithms)g(across)f(the)h (\002lter)e(pred-)-152 1934 y(icate)23 b(\003o)n(w)g(graph)h(to)f (minimize)g(the)h(a)o(v)o(erage)f(path)h(length)f(through)i(that)-152 2017 y(graph.)50 b(In)28 b(contrast,)i(the)e(MPF)e(e)o(xtensions)j(of)f (BPF)-6 b(,)26 b(P)o(athFinder)m(,)j(and)-152 2100 y(DPF)c(all)g(use)g (pattern-matching)i(heuristics)f(that)f(operate)h Fu(locally)p Fv(,)h(e.g.,)-152 2183 y(the)o(y)g(do)g(not)g(necessarily)h(eliminate)e (common)i(sube)o(xpressions)h(across)-152 2266 y(the)24 b(predicates,)i(nor)e(do)h(the)o(y)f(detect)g(the)g(equi)n(v)n(alence)i (of)e(semantically)-152 2349 y(equi)n(v)n(alent)g(boolean)g(e)o (xpressions.)34 b(In)22 b(f)o(act,)h(the)o(y)g(either)f(restrict)f(the) i(set)-152 2432 y(of)j(e)o(xpressible)h(\002lters)f(to)g(those)g(with)g (a)g(re)o(gular)g(structure)h(that)f(can)g(be)-152 2515 y(matched)32 b(by)f(simple)g(patterns,)i(or)e(the)o(y)g(require)g(that) f(the)h(\223\002lter)e(pro-)-152 2598 y(grammer\224)23 b(e)o(xpresses)g(the)g(\002lter)e(in)h(a)g(compact)h(and)g (already-optimized)-152 2681 y(lo)n(w-le)n(v)o(el)17 b(representation.)23 b(Although)18 b(this)e(may)h(be)g(a)f(reasonable)i (design)-152 2764 y(assumption)23 b(in)e(\223lo)n(w)g(le)n(v)o(el\224)g (en)m(vironments)i(\(e.g.,)e(where)g(an)h(OS)e(proto-)-152 2847 y(col)26 b(module)g(creates)g(a)f(pack)o(et)i(\002lter)d(to)h (match)h(its)f(signature)h(traf)n(\002c)f(as)-152 2930 y(in)j(the)f(x-k)o(ernel)h([9)q(]\),)g(it)f(is)g(less)g(applicable)i (to)e(\223high)h(le)n(v)o(el\224)g(domains)-152 3013 y(\(e.g.,)19 b(where)h(a)g(user)g(speci\002es)f(a)h(\002lter)e(in)i(an) g(e)o(xpressi)n(v)o(e)g(high-le)n(v)o(el)h(lan-)-152 3096 y(guage)f(and)g(a)e(compiler)i(generates)f(the)g(actual)g(lo)n (w-le)n(v)o(el)g(\002lter)f(code\).)24 b(In)-152 3179 y(this)c(latter)f(case,)i(the)f(front)g(end)h(code)g(generator)g(w)o (ould)f(typically)h(trans-)-152 3262 y(late)f(a)h(comple)o(x)g (\002lter)f(e)o(xpression)i(into)e(a)g(number)i(of)f(redundant)h(pack)o (et)-152 3345 y(sub-predicates;)e(thus,)f(optimization)g(becomes)h (especially)f(important)g(to)-152 3428 y(eliminate)g(the)g(redundant)i (code.)-40 3511 y(In)j(this)g(paper)m(,)h(we)e(propose)j(optimization)e (techniques)h(that)e(e)o(xploit)-152 3594 y(well-kno)n(wn)j(data-\003o) n(w)e(optimization)h(algorithms)g(in)f(a)h(no)o(v)o(el)g(w)o(ay)g(for) -152 3677 y(the)30 b(generalized)g(optimization)g(of)f(pack)o(et)i (\002lters.)53 b(Our)30 b(data-\003o)n(w)f(al-)-152 3760 y(gorithm,)j(which)d(we)g(call)g(\223redundant)i(predicate)e (elimination,)-5 b(\224)32 b(inter)o(-)-152 3843 y(lea)o(v)o(es)d (partial)g(redundanc)o(y)j(elimination,)f(predicate)f(assertion)g (propa-)-152 3926 y(gation,)35 b(and)e(\003o)n(wgraph)f(edge)h (elimination)f(to)g(ef)n(fect)f(predicate)i(opti-)-152 4009 y(mization.)44 b(In)26 b(particular)m(,)h(we)f(emplo)o(y)h(a)f (set)f(relationship)i(called)f Fu(edg)o(e)-152 4092 y(dominator)o(s)18 b Fv(that)d(e)o(xtends)i(the)f(traditional)g(node)h(dominator)g (relationship)-152 4175 y(from)j(\003o)n(wgraph)g(nodes)h(to)e(edges)h (and)g(pro)o(vides)h(the)e(k)o(e)o(y)i(ingredient)f(for)-152 4258 y(our)e(predicate)f(optimizations.)24 b(W)-6 b(e)16 b(also)h(le)n(v)o(erage)h(the)f(pattern-matching)-152 4341 y(heuristic,)23 b(de)n(v)o(eloped)h(in)e(the)g(P)o(athFinder)g (and)h(DPF)e(w)o(ork,)i(in)f(our)h(back)-152 4424 y(end,)e(as)f(a)f (lookup)j(table)d(optimization)i(performed)g(after)e(the)h(remo)o(v)n (al)h(of)-152 4507 y(redundant)26 b(predicates.)38 b(Armed)24 b(with)f(our)h(global)h(data-\003o)n(w)e(optimiza-)-152 4590 y(tions,)18 b(we)f(can)h(af)n(ford)f(the)g(\003e)o(xibility)g(of)g (a)g(high-le)n(v)o(el)h(representation)h(for)-152 4673 y(pack)o(et)24 b(\002lters)e(since)i(we)f(can)g(compile)h(and)g (optimize)f(them)g(into)g(nati)n(v)o(e)-152 4756 y(implementations)18 b(that)f(achie)n(v)o(e)g(state-of-the-art)g(performance)h(from)f(the) -152 4840 y(resulting)j(pack)o(et-\002lter)e(code.)-40 4923 y(The)25 b(core)g(of)g(our)g(optimization)g(frame)n(w)o(ork)h(w)o (as)f(de)n(v)o(eloped,)j(v)n(ali-)-152 5006 y(dated,)d(and)e(distilled) g(a)g(number)h(of)f(years)h(ago)f(within)g(the)g(BSD)g(pack)o(et)-152 5089 y(\002lter)g(\(BPF\))f(architecture.)38 b(BPF)22 b(has)i(pro)o(v)o(en)h(to)e(be)h(not)g(only)h(an)f(inter)o(-)-152 5172 y(esting)k(research)g(artif)o(act,)h(seeding)f(a)f(range)i(of)e (subsequent)i(w)o(ork,)h(b)o(ut)-152 5255 y(has)c(been)g(broadly)h (adopted)f(in)f(practice:)37 b(it)24 b(is)h(the)h(cornerstone)g(of)g (the)-152 5338 y(widely)i(used)h(pack)o(et)f(capture)h(library)e Fu(libpcap)i Fv([11])f(and)g(the)g(netw)o(ork)2040 1353 y(monitoring)e(tool)g Fu(tcpdump)g Fv([12)q(])f(and)h(pro)o(vides)g (the)g(in-k)o(ernel)g(\002ltering)2040 1436 y(f)o(acility)19 b(in)g(4.4BSD-deri)n(v)o(ed)g(Unix)o(es)g(and)h(Digital)e(Unix.)24 b(Because)19 b(libp-)2040 1519 y(cap)h(pro)o(vides)g(a)f(\003e)o(xible) f(\002ltering)h(frame)n(w)o(ork)h(and)g(because)g(it)e(has)i(been)2040 1602 y(ported)d(to)e(a)h(wide)g(v)n(ariety)g(of)g(platforms,)g(libpcap) h(has)f(become)h(a)f(de)g(f)o(acto)2040 1685 y(standard)22 b(for)f(pack)o(et)i(\002ltering)d(and)i(has)g(thus)f(become)i(inte)o (grated)e(into)g(a)2040 1768 y(number)h(of)f(publicly)h(a)o(v)n (ailable)f(and)g(commercial)h(applications)g(for)e(net-)2040 1851 y(w)o(orking)29 b(monitoring,)j(intrusion)c(detection,)j(and)e (penetration)h(testing.)2040 1934 y(Since)18 b(their)f(initial)g (release,)h(libpcap)g(and)h(tcpdump)g(ha)o(v)o(e)f(been)g(retrie)n(v)o (ed)2040 2017 y(o)o(v)o(er)h(100,000)i(times)d(from)h(the)g(LBNL)f (public)i(distrib)o(ution)e(site.)2152 2100 y(Building)k(on)g(this)g (earlier)f(w)o(ork,)i(we)e(describe)i(herein)f(a)f(re\002ned)h(pa-)2040 2183 y(cket)28 b(\002lter)e(architecture)i(that)f(underlies)i(yet)e(is) g(orthogonal)i(to)f(libpcap)2040 2266 y(and)i(tcpdump)2437 2234 y Fs(1)2473 2266 y Fv(.)53 b(This)29 b(ne)n(w)g(architecture,)j (which)d(we)g(call)g(BPF+,)h(af-)2040 2349 y(fords)21 b(a)f(substantially)h(re\002ned,)g(impro)o(v)o(ed,)g(and)g(generalized) h(design,)f(an)2040 2432 y(e)o(xtended)29 b(optimization)g(framew)o (ork)f(based)h(on)f(\223static)g(single)g(assign-)2040 2515 y(ment\224)19 b(\(SSA\))d([6],)i(and)h(a)f(number)h(of)f(ne)n(w)g (optimization)h(primiti)n(v)o(es.)k(As)2040 2598 y(depicted)28 b(in)g(Figure)f(1,)j(the)d(BPF+)f(system)i(consists)g(of)g(a)f(serv)o (eral)h(se-)2040 2681 y(quentially)h(arranged)g(components)h(that)e (transform)g(a)g(high-le)n(v)o(el)g(\002lter)2040 2764 y(language)21 b(speci\002cation)e(into)g(an)g(lo)n(w-le)n(v)o(el)g(e)o (x)o(ecutable)h(pack)o(et)g(\002lter:)2151 2923 y Fr(\017)38 b Fv(The)23 b(input)h(to)f(the)g(front)g(end)h(is)f(a)g(high-le)n(v)o (el)h(language)g(for)f(\002lter)2227 3006 y(e)o(xpressions)18 b(based)g(on)f(the)g(declarati)n(v)o(e)h(predicate)f(syntax)h(used)f (in)2227 3089 y(the)i(original)g(libpcap)h(and)f(tcpdump.)2151 3232 y Fr(\017)38 b Fv(The)18 b(BPF+)f(compiler)i(translates)f(the)h (predicate)g(language)h(into)e(an)2227 3315 y(imperati)n(v)o(e,)30 b(control-\003o)n(w)f(graph)g(representation)g(with)e(an)i(SSA)2227 3398 y(intermediate.)52 b(SSA)28 b(is)g(particularly)h(well-suited)f (for)h(our)f(opti-)2227 3481 y(mization)19 b(algorithms.)2151 3624 y Fr(\017)38 b Fv(The)28 b(SSA)f(intermediate)i(representation)h (is)e(fed)g(forw)o(ard)h(to)f(the)2227 3707 y(code)c(optimizer)m(,)h (which)f(performs)g(both)g(global)g(and)h(local)e(data-)2227 3790 y(\003o)n(w)j(optimizations)h(o)o(v)o(er)g(the)f(control-\003o)n (w)h(graph)g(form)g(of)f(the)2227 3873 y(intermediate)32 b(code.)62 b(The)32 b(output)g(of)g(the)g(optimizer)g(is)f(a)h(byte) 2227 3956 y(code)27 b(representation)h(that)f(conforms)g(to)g(the)f (BPF+)g(virtual)g(ma-)2227 4039 y(chine)e(model,)h(which)e(is)g(a)h (RISC-lik)o(e)e(re)o(gister)o(-based)i(v)n(ariant)f(of)2227 4122 y(the)17 b(accumulator)o(-based)i(virtual)e(machine)h (de\002nition)f(of)g(the)g(orig-)2227 4205 y(inal)i(BPF)e (pseudo-machine)22 b([15].)2151 4348 y Fr(\017)38 b Fv(The)15 b(BPF+)g(byte)h(codes)g(are)g(then)g(deli)n(v)o(ered)g(to)g(an)f(e)o(x) o(ecution)i(en)m(vi-)2227 4431 y(ronment,)k(e.g.,)e(across)i(the)f (user)o(-k)o(ernel)h(boundary)h(to)e(implement)2227 4514 y(user)o(-de\002ned)j(protocol)g(demultiple)o(xing,)h(or)f(across)g (the)g(netw)o(ork)2227 4597 y(and)32 b(into)g(a)f(switching)h(element)g (to)f(implement)h(an)g(e)o(xternally-)2227 4680 y(de\002ned)15 b(netw)o(ork)g(service)g(lik)o(e)g(polic)o(y-based)h(traf)n(\002c)d (management.)p 2040 4742 797 4 v 2112 4790 a Fq(1)2145 4815 y Fp(This)19 b(w)o(ork)h(proceeded)g(in)g(tw)o(o)g(major)h (stages:)27 b(in)20 b(1990,)h(Ste)o(v)o(en)f(McCanne)e(produced)2040 4882 y(the)g(initial)g(design)g(and)f(implementation)i(at)f(the)f(La)o (wrence)g(Berk)o(ele)o(y)i(National)e(Laboratory)2040 4948 y(\(LBNL\))22 b(in)h(collaboration)g(with)g(V)-6 b(an)23 b(Jacobson)e(and)i(Susan)f(Graham;)28 b(in)22 b(1998,)j(Andre)o(w)2040 5015 y(Be)o(gel)14 b(modularized)g(the)g (architecture)h(and)e(re\002ned,)h(impro)o(v)o(ed,)h(and)f(e)o(xtended) g(the)g(optimiza-)2040 5081 y(tion)f(frame)o(w)o(ork,)h(in)f(part)g(by) g(retro\002tting)i(SSA)e(into)g(the)g(intermediate)g(representation,)g (in)g(col-)2040 5147 y(laboration)19 b(with)g(and)g(Ste)o(v)o(en)g (McCanne)e(and)i(Susan)f(Graham)h(at)g(U.C.)e(Berk)o(ele)o(y)i(and)g(V) -6 b(ern)2040 5214 y(P)o(axson)12 b(at)f(the)h(La)o(wrence)f(Berk)o (ele)o(y)h(National)g(Laboratory)l(.)17 b(The)11 b(earlier)h(w)o(ork)g (w)o(as)g(published)2040 5280 y(only)i(in)f(part:)18 b(the)13 b(\002ltering)h(engine)f(w)o(as)g(described)g(in)g([15)q(],)g (b)o(ut)g(the)g(\002lter)h(language)f(compiler)2040 5347 y(and)i(optimization)g(frame)o(w)o(ork)g(w)o(as)g(ne)o(v)o(er)f (published.)p eop %%Page: 3 3 3 2 bop -41 -69 a Fr(\017)38 b Fv(Once)20 b(recei)n(v)o(ed)g(in)f(the)g (tar)o(get)g(protected)h(domain,)g(the)g(safety)f(v)o(er)o(-)35 14 y(i\002er)f(ensures)i(the)f(program')l(s)h(inte)o(grity)-5 b(.)-41 152 y Fr(\017)38 b Fv(Finally)-5 b(,)31 b(a)e(\223just)f(in)h (time\224)g(\(JIT\))f(assembler)h(translates)g(the)g(op-)35 235 y(timized)c(and)h(safety-v)o(eri\002ed)f(byte)h(codes)g(into)f (nati)n(v)o(e)h(code)g(and)35 318 y(performs)15 b(optional)g (machine-dependent)i(optimization.)23 b(This)14 b(last)35 401 y(stage)30 b(is)f(omitted)g(if)g(the)g(tar)o(get)g(en)m(vironment)i (is)e(an)h(interpreter)35 484 y(rather)20 b(than)f(nati)n(v)o(e)h (hardw)o(are,)g(e.g.,)f(as)g(with)g(the)h(BPF)e(k)o(ernel)i(im-)35 567 y(plementation,)g(which)f(interprets)g(\002lters)f(in)h(the)g(byte) g(code)h(form.)-40 712 y(In)h(the)g(remainder)g(of)g(this)g(paper)m(,)g (we)g(moti)n(v)n(ate,)g(describe)h(and)f(e)n(v)n(al-)-152 795 y(uate)31 b(the)f(components)h(of)f(the)g(BPF+)f(architecture.)57 b(W)-6 b(e)29 b(\002rst)g(outline)-152 878 y(related)18 b(pack)o(et)h(\002ltering)e(technologies)j(and)e(identify)g(some)h(of)f (their)f(lim-)-152 961 y(itations)25 b(W)-6 b(e)24 b(then)h(present)g (the)g(BPF+)f(front)g(end:)36 b(its)24 b(high-le)n(v)o(el)h(\002lter)o (-)-152 1044 y(ing)32 b(language,)k(the)31 b(virtual)g(machine)i (model,)h(and)f(the)e(compiler)h(that)-152 1127 y(generates)23 b(the)f(SSA)e(intermediate)j(form.)31 b(Ne)o(xt,)22 b(we)g(describe)h (our)f(opti-)-152 1210 y(mization)f(frame)n(w)o(ork)h(based)f(on)h(the) e(set)h(of)f(local)h(and)g(global)h(data-\003o)n(w)-152 1293 y(algorithms)28 b(and)h(their)e(interactions.)50 b(Subsequently)-5 b(,)31 b(we)d(describe)h(the)-152 1376 y(back)23 b(end)g(that)f(v)o(eri\002es)g(the)g(inte)o(grity)g(of)h(the) f(byte-code)i(representation)-152 1459 y(and)19 b(optionally)g (transforms)g(that)f(representation)h(into)g(a)f(nati)n(v)o(e)h (machine)-152 1542 y(code.)24 b(T)-6 b(o)17 b(demonstrate)i(the)f(ef)n (\002cac)o(y)g(of)f(our)h(approach,)h(we)f(then)g(present)-152 1625 y(measurements)23 b(of)f(our)h(implementation)f(that)g(sho)n(w)g (that)g(BPF+)f(perfor)o(-)-152 1708 y(mance)i(is)f(comparable)i(to)e(e) o(xisting)h(pack)o(et)g(\002lter)e(implementations)i(de-)-152 1792 y(spite)f(its)g(enhanced)i(\003e)o(xibility)-5 b(.)33 b(Finally)-5 b(,)22 b(we)g(summarize)h(our)g(plans)g(for)-152 1875 y(future)c(w)o(ork)h(and)f(conclude.)-152 2073 y Fw(2)83 b(Background)-152 2233 y Fv(In)17 b(its)g(widely)g(used)h (form,)f(the)g(BPF)f(k)o(ernel)i(sub-system)g(represents)g(each)-152 2316 y(user)o(-speci\002ed)j(\002lter)f(as)h(a)g(separate)h(entity)-5 b(.)29 b(Each)21 b(\002lter)f(is)g(run)h(on)h(e)n(v)o(ery)-152 2399 y(incoming)d(pack)o(et.)k(Hence,)18 b(if)f(BPF)f(were)h(used)h(to) f(implement)h(user)o(-le)n(v)o(el)-152 2482 y(protocols,)31 b(for)c(instance,)j(the)e(demultiple)o(xing)g(o)o(v)o(erhead)h(w)o (ould)f(scale)-152 2565 y(linearly)e(with)f(the)h(number)g(of)g (\002lters,)g(e.g.,)g(a)g(b)o(usy)g(serv)o(er)g(with)f(man)o(y)-152 2648 y(simultaneous)k(netw)o(ork)g(connections)g(w)o(ould)g(suf)n(fer)f (linear)f(slo)n(wdo)n(wn)-152 2731 y(as)19 b(each)g(connection)i(w)o (ould)e(independently)i(run)e(the)g(pack)o(et)g(\002lter)f(on)h(its) -152 2815 y(o)n(wn)h(stream.)-40 2898 y(T)-6 b(o)30 b(o)o(v)o(ercome)i (this)e(limitation,)i(MPF)d(enhanced)k(the)d(BPF)f(virtual)-152 2981 y(machine)16 b(with)e(instructions)h(for)f(ef)n(\002cient)g (protocol)h(demultiple)o(xing.)23 b(Ra-)-152 3064 y(ther)16 b(than)g(represent)h(each)f(\002lter)f(separately)-5 b(,)17 b(MPF)e(e)o(xploits)h(the)g(structure)-152 3147 y(of)24 b(demultiple)o(xing)h(\002lter)e(speci\002cations)h(to)g (recognize)h(that)f(tw)o(o)g(\002lters)-152 3230 y(are)c(similar)e(up)i (to,)f(say)-5 b(,)20 b(the)f(transport)h(header)g(port)g(\002elds,)f (using)h(simple)-152 3313 y(template-matching)j(heuristics.)32 b(Once)23 b(MPF)e(detects)h(this)g(similarity)-5 b(,)21 b(it)-152 3396 y(mer)o(ges)h(the)g(ne)n(w)g(predicate)g(with)f(the)h(e) o(xisting)g(\002lter)e(by)i(e)o(xpanding)i(the)-152 3479 y(e)o(xisting)c(port)f(checks)h(to)e(include)i(the)f(ne)n(w)g(port)g (number)m(,)h(for)f(e)o(xample.)-40 3562 y(P)o(athFinder)c(generalizes) h(the)f(MPF)f(heuristic)h(with)g(a)f(re-designed)j(\002l-)-152 3645 y(tering)23 b(engine)h(that)f(is)f(better)h(matched)h(to)f(the)g (pattern-matching)h(trans-)-152 3728 y(formation.)52 b(In)29 b(this)f(frame)n(w)o(ork,)j(templates)e(called)g(\223cells\224) f(represent)-152 3811 y(pack)o(et)18 b(\002eld)e(predicates,)i(which)f (are)g(chained)h(together)f(in)g(a)f(\223line\224.)23 b(This)-152 3894 y(line)15 b(of)g(cells)g(represents)h(a)f(logical)g (AND)f(operation)i(o)o(v)o(er)g(the)f(constituent)-152 3977 y(predicates.)35 b(A)22 b(collection)h(of)f(lines)g(is)h(arranged) g(into)g(a)f(chain)h(of)f(predi-)-152 4060 y(cates,)i(which)f (represents)g(the)g(logical)g(OR)f(o)o(v)o(er)h(all)f(lines.)35 b(As)22 b(lines)h(are)-152 4143 y(installed)c(into)g(this)g(chain,)g(P) o(athFinder)g(eliminates)f(common)j(pre\002x)o(es.)-40 4218 y(F)o(or)h(e)o(xample,)h(if)e(process)h(P)g(requests)g(TCP)e(pack) o(ets)j(sent)f(to)g(port)g(A)-152 4292 y(and)e(process)f(Q)g(requests)g (TCP)f(pack)o(ets)i(sent)f(to)g(port)g(B,)f(then)h(the)g(result-)-152 4367 y(ing)g(\002lter)f(logic)h(w)o(ould)h(ha)o(v)o(e)f(the)g(follo)n (wing)h(form:)-72 4490 y Fo(if)40 b(link)f(layer)g(type)g(=)h(IP)f(and) 48 4565 y(IP)g(fragment)g(offset)g(=)g(0)h(and)48 4640 y(IP)f(protocol)g(=)g(TCP)h(and)48 4715 y(TCP)f(dest)g(port)g(=)h(A)-72 4789 y(then)f(deliver)g(pkt)g(to)h(P)-72 4864 y(else)f(if)h(link)f (layer)g(type)g(=)h(IP)g(and)48 4939 y(IP)f(fragment)g(offset)g(=)g(0)h (and)48 5013 y(IP)f(protocol)g(=)g(TCP)h(and)48 5088 y(TCP)f(dest)g(port)g(=)h(B)-72 5163 y(then)f(deliver)g(pkt)g(to)h(Q) -40 5295 y Fv(Upon)21 b(processing)g(the)e(second)i(\002lter)m(,)e(P)o (athFinder)g(w)o(ould)h(recognize)-152 5378 y(the)f(common)h(pre\002x)f (and)h(simply)f(e)o(xtend)g(the)g(\002rst)f(if-clause)h(as)g(follo)n (ws:)2120 -69 y Fo(if)39 b(link)h(layer)f(type)g(=)h(IP)f(and)2239 6 y(IP)h(fragment)f(offset)g(=)g(0)h(and)2239 81 y(IP)g(protocol)f(=)g (TCP)2120 156 y(then)2200 230 y(if)g(TCP)g(dest)h(port)f(=)h(A)2200 305 y(then)f(deliver)g(pkt)g(to)h(P)2200 380 y(else)f(if)g(TCP)h(dest)f (port)g(=)h(B)2200 454 y(then)f(deliver)g(pkt)g(to)h(Q)2152 614 y Fv(Since)23 b(the)g(inner)h(if-else)f(statement)g(is)g(ef)n (fecti)n(v)o(ely)h(a)f(\223switch\224)g(o)o(v)o(er)2040 697 y(the)31 b(destination)h(port)f(\002eld,)i(a)e(jump)g(table)g (\(perhaps)h(using)f(a)g(perfect)2040 780 y(hash)21 b(o)o(v)o(er)f(the) f(tar)o(get)h(v)n(alue)g(set\))g(could)g(be)g(used)h(to)e(implement)i (an)f(O\(1\))2040 863 y(match,)f(and)h(P)o(athFinder)e(does)i (precisely)f(that.)2152 946 y(DPF)32 b(utilizes)h(the)g(same)g (template-matching)h(approach)h(as)e(P)o(ath-)2040 1029 y(Finder)24 b(\(templates)h(are)f(called)h(\223cells\224)f(in)g(P)o (athFinder)g(and)h(\223atoms\224)g(in)2040 1112 y(DPF\),)h(b)o(ut)h (introduces)h(a)g(ne)n(w)f(lo)n(w-le)n(v)o(el)h(language)g(and)g(emplo) o(ys)h(dy-)2040 1195 y(namic)g(code)g(generation)g(to)f(attain)g (performance)i(impro)o(v)o(ements)f(o)o(v)o(er)2040 1278 y(other)19 b(interpreter)o(-based)f(implementations.)24 b(Its)18 b(ne)n(w)g(language)i(is)d(based)2040 1361 y(on)27 b(a)g(\223read)g(windo)n(w\224)g(which)g(may)g(be)g(shifted)g(and)g (mask)o(ed)h(to)e(match)2040 1444 y(w)o(ords)h(in)f(the)g(pack)o(et)h (to)g(v)n(arious)g(immediate)f(constants.)46 b(Gi)n(v)o(en)26 b(a)g(\002l-)2040 1527 y(ter)18 b(speci\002ed)g(in)g(this)g(language,)i (DPF)d(coalesces)i(common)g(pre\002x)o(es)f(into)2040 1610 y(lines,)27 b(performs)e(some)h(additional)g(local)f (optimizations,)j(and)e(dynami-)2040 1693 y(cally)19 b(generates)h(nati)n(v)o(e)f(machine)h(code)g(to)f(directly)f(e)n(v)n (aluate)i(the)f(\002lter)l(.)2152 1776 y(The)e(more)h(recent)g(w)o (orks)f(geared)i(to)n(w)o(ard)e(layer)o(-four)h(switching)f([14)q(,) 2040 1859 y(20)q(])j(tak)o(e)g(the)h(DPF)e(and)i(P)o(athFinder)f (approaches)i(to)e(an)g(e)o(xtreme,)h(where)2040 1942 y(the)28 b(entire)f(model)h(is)g(based)g(on)g(a)g(set)f(of)h(templates) f(that)h(are)f(matched)2040 2025 y(against)19 b(kno)n(wn)h(constants)g (\(or)f(kno)n(wn)h(constant)g(ranges\).)2152 2108 y(While)i(the)h (template-matching)h(model)f(yields)g(good)h(performance,)2040 2191 y(there)d(are)g(a)g(number)g(of)g(shortcomings)h(associated)g (with)f(the)f(technique.)2040 2274 y(F)o(or)g(e)o(xample,)h(it)f(is)g (not)g(possible)h(to)g(match)f(\002elds)g(in)h(the)f(pack)o(et)i (header)2040 2357 y(against)30 b(one)h(another)m(,)i(for)d(instance,)j (to)d(look)h(for)f(pack)o(ets)h(that)f(origi-)2040 2440 y(nate)e(and)g(terminate)f(in)g(the)h(same)f(netw)o(ork)i(\(\223source) f(netw)o(ork)g(=)f(dest)2040 2523 y(netw)o(ork\224\).)d(Nor)17 b(is)g(it)g(possible)h(to)g(perform)g(arbitrary)f(mathematical)h(op-) 2040 2606 y(erations)h(on)h(header)g(w)o(ords)f(before)h(matching.)2152 2689 y(DPF)e(and)h(P)o(athFinder)f(resort)h(to)f(a)h(set)g(of)f Fu(ad)h(hoc)h Fv(heuristics)f(for)f(pro-)2040 2772 y(ducing)24 b(ef)n(\002cient)e(\002lters)g(by)h(coalescing)h(common)g(pre\002x)o (es.)35 b(These)23 b(op-)2040 2855 y(timizations)c(are)g(foiled)g(in)f (P)o(athFinder)h(when)g(predicates)h(are)f(reordered.)2040 2938 y(DPF)-6 b(,)16 b(ho)n(we)n(v)o(er)m(,)i(enforces)g(in-order)g (pack)o(et)g(header)g(tra)o(v)o(ersal,)f(thus)g(com-)2040 3021 y(mon)i(pre\002x)o(es)f(will)e(al)o(w)o(ays)j(appear)g(in)e(the)h (same)g(order)l(.)23 b(Ho)n(we)n(v)o(er)m(,)c(when)2040 3104 y(the)g(\002lter)g(itself)f(does)i(not)g(conform)g(to)f(the)g (same)h(order)g(as)f(other)h(already)2040 3187 y(installed)f (\002lters,)f(pre\002x)h(compression)h(f)o(ails.)2152 3270 y(T)-6 b(o)17 b(illustrate)e(this)i(pathology)-5 b(,)18 b(consider)g(the)e(pack)o(et)i(\002lter)m(,)e(\223all)g(of)g (the)2040 3354 y(pack)o(ets)k(sent)f(between)h(host)g(X)e(and)i(host)g (Y\224.)e(In)h(a)g(boolean)i(frame)n(w)o(ork,)2040 3437 y(we)28 b(w)o(ould)g(specify)g(this)g(\002lter)e(as)i(\223\(source)g (host)g(X)g(and)g(dest)g(host)g(Y\))2040 3520 y(or)f(\(source)h(host)g (Y)f(and)h(dest)f(host)h(X\)\224,)e(and)i(in)f(\003o)n(wgraph)h(form,)h (the)2040 3603 y(e)o(xpression)h(w)o(ould)g(appear)g(as)f(in)f(Figure)h (2.)53 b(Here,)31 b(basic)f(blocks)f(are)2040 3686 y(represented)20 b(by)f(nodes)h(and)f(boolean)i(control)e(transfers)g(are)f(depicted)i (by)2040 3769 y(edges.)k(By)19 b(con)m(v)o(ention,)h(f)o(alse)f (branches)h(point)g(to)f(the)g(left.)2152 3852 y(In)j(this)g(case,)h (DPF)-6 b(,)21 b(\002nding)i(no)g(common)g(pre\002x)f(and)h(unable)h (to)e(re-)2040 3935 y(order)29 b(the)g(checks)h(to)f(obtain)h(a)f (common)h(pre\002x,)h(w)o(ould)f(compile)f(the)2040 4018 y(condition)k(into)e(tw)o(o)g(separate)h(\002lters)f(that)g(are)g (sequentially)h(in)m(v)o(ok)o(ed.)2040 4101 y(Ho)n(we)n(v)o(er)m(,)22 b(there)f(is)f(opportunity)j(for)d(optimization,)i(which)f(DPF)f(by)h (ne-)2040 4184 y(cessity)i(must)h(miss.)35 b(If)23 b(the)g(thread)h(of) f(control)h(during)g(\002lter)e(e)n(v)n(aluation)2040 4267 y(reaches)i(the)e(node)i(\223dest)f(host)g(Y)-10 b(,)-5 b(\224)23 b(then)g(we)g(necessarily)g(kno)n(w)h(that)e(the)2040 4350 y(source)k(host)e(is)h(X.)f(Furthermore,)i(from)e(that)h(v)n (antage)h(point,)g(we)e(kno)n(w)2040 4433 y(that)i(the)g(source)g(host) g(cannot)h(be)f(Y)g(and)g(that)g(the)g(node)g(pointed)h(to)f(by)2040 4516 y(the)17 b(dashed)i(edge)f(is)e(redundant.)24 b(But,)17 b(we)g(cannot)h(eliminate)f(the)g(\223source)2040 4599 y(host)22 b(Y\224)f(node)h(yet)f(because)h(there)g(e)o(xists)f(another) h(path)f(\(from)g(the)g(root\))2040 4682 y(for)15 b(which)g(the)h (check)g(is)e(not)i(statically)e(kno)n(wn.)23 b(Therefore,)16 b(our)g(recourse)2040 4765 y(for)j(optimization)h(is)f(to)g(transform)h (the)f(dashed)i(edge)f(so)f(that)g(it)g(points)g(to)2040 4848 y(the)e(F)-6 b(ALSE)16 b(node,)i(thus)f(reducing)h(the)g(a)o(v)o (erage)f(path)g(length)h(through)g(the)2040 4931 y(\003o)n(wgraph)i (\(and)f(in)g(turn,)g(enhancing)i(\002lter)c(e)o(x)o(ecution)j (performance\).)2152 5014 y(This)e(is)h(the)g(sort)f(of)h(global)g (data-\003o)n(w)g(optimization)g(we)g(w)o(ant)g(to)f(e)o(x-)2040 5097 y(ploit)g(in)g(our)g(pack)o(et)h(\002lter)e(optimizer)l(.)23 b(Ha)o(ving)18 b(established)h(this)f(conte)o(xt,)2040 5180 y(we)25 b(can)g(no)n(w)h(present)g(the)f(core)g(pieces)g(of)g(the) h(o)o(v)o(erall)f(system)g(design,)2040 5263 y(be)o(ginning)c(in)d(the) h(ne)o(xt)h(section)f(with)f(the)h(BPF+)f(machine)i(model.)p eop %%Page: 4 4 4 3 bop 143 -152 a 11082905 9472573 2368143 2368143 21379072 18550456 startTexFig 143 -152 a %%BeginDocument: figure1.ps save /DotDict 200 dict def DotDict begin /coord-font-family /Times-Roman def /default-font-family /Times-Roman def /coordfont coord-font-family findfont 8 scalefont def /InvScaleFactor 1.0 def /set_scale { dup 1 exch div /InvScaleFactor exch def dup scale } bind def % styles /solid { } bind def /dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def /dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def /invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def /bold { 2 setlinewidth } bind def /filled { } bind def /unfilled { } bind def /rounded { } bind def /diagonals { } bind def % hooks for setting color /nodecolor { sethsbcolor } bind def /edgecolor { sethsbcolor } bind def /graphcolor { sethsbcolor } bind def /nopcolor {pop pop pop} bind def /beginpage { % i j npages /npages exch def /j exch def /i exch def /str 10 string def npages 1 gt { gsave coordfont setfont 0 0 moveto (\() show i str cvs show (,) show j str cvs show (\)) show grestore } if } bind def /set_font { findfont exch scalefont setfont } def % draw aligned label in bounding box aligned to current point % alignfactor tells what fraction to place on the left. % -.5 is centered. /alignedtext { % text labelwidth fontsz alignfactor /alignfactor exch def /fontsz exch def /width exch def /text exch def gsave % even if node or edge is dashed, don't paint text with dashes [] 0 setdash currentpoint newpath moveto text stringwidth pop alignfactor mul fontsz -.3 mul rmoveto text show grestore } def /boxprim { % xcorner ycorner xsize ysize 4 2 roll moveto 2 copy exch 0 rlineto 0 exch rlineto pop neg 0 rlineto closepath } bind def /ellipse_path { /ry exch def /rx exch def /y exch def /x exch def matrix currentmatrix newpath x y translate rx ry scale 0 0 1 0 360 arc setmatrix } bind def /endpage { showpage } bind def /layercolorseq [ % layer color sequence - darkest to lightest [0 0 0] [.2 .8 .8] [.4 .8 .8] [.6 .8 .8] [.8 .8 .8] ] def /setlayer {/maxlayer exch def /curlayer exch def layercolorseq curlayer get aload pop sethsbcolor /nodecolor {nopcolor} def /edgecolor {nopcolor} def /graphcolor {nopcolor} def } bind def /onlayer { curlayer ne {invis} if } def /onlayers { /myupper exch def /mylower exch def curlayer mylower lt curlayer myupper gt or {invis} if } def /curlayer 0 def 14 default-font-family set_font % /arrowlength 10 def % /arrowwidth 5 def gsave 35 35 290 247 boxprim clip newpath 36 36 translate 0 0 1 beginpage 0.6330 set_scale 0 0 translate 0 rotate 0.000 0.000 0.000 graphcolor 14.00 /Helvetica set_font % SX gsave 10 dict begin 251 370 52 18 ellipse_path stroke gsave 10 dict begin 251 371 moveto (source host X?) 83 14.00 -0.50 alignedtext end grestore end grestore % SY gsave 10 dict begin 189 194 52 18 ellipse_path stroke gsave 10 dict begin 189 195 moveto (source host Y?) 83 14.00 -0.50 alignedtext end grestore end grestore % SX -> SY newpath 245 352 moveto 234 320 210 255 198 219 curveto stroke newpath 197 222 moveto 195 212 lineto 201 220 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 248 283 moveto (False) 29 14.00 -0.50 alignedtext end grestore % DY gsave 10 dict begin 392 282 45 18 ellipse_path stroke gsave 10 dict begin 392 283 moveto (dest host Y?) 69 14.00 -0.50 alignedtext end grestore end grestore % SX -> DY newpath 277 354 moveto 300 339 337 316 363 300 curveto stroke newpath 358 300 moveto 368 297 lineto 361 304 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 354 327 moveto (True) 26 14.00 -0.50 alignedtext end grestore % FALSE gsave 10 dict begin 65 18 31 18 ellipse_path stroke gsave 10 dict begin 65 19 moveto (FALSE) 42 14.00 -0.50 alignedtext end grestore end grestore % SY -> FALSE newpath 175 176 moveto 162 161 145 138 135 124 curveto 120 102 96 66 81 42 curveto stroke newpath 80 45 moveto 76 35 lineto 84 42 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 157 107 moveto (False) 29 14.00 -0.50 alignedtext end grestore % DX gsave 10 dict begin 236 106 45 18 ellipse_path stroke gsave 10 dict begin 236 107 moveto (dest host X?) 69 14.00 -0.50 alignedtext end grestore end grestore % SY -> DX newpath 199 176 moveto 206 164 214 146 222 132 curveto stroke newpath 219 132 moveto 226 124 lineto 224 134 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 236 151 moveto (True) 26 14.00 -0.50 alignedtext end grestore % DY -> SY gsave 10 dict begin dotted newpath 361 269 moveto 326 253 268 229 230 212 curveto stroke newpath 230 215 moveto 222 208 lineto 232 210 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 330 239 moveto (False) 29 14.00 -0.50 alignedtext end grestore end grestore % TRUE gsave 10 dict begin 345 18 28 18 ellipse_path stroke gsave 10 dict begin 345 19 moveto (TRUE) 36 14.00 -0.50 alignedtext end grestore end grestore % DY -> TRUE newpath 389 264 moveto 380 217 359 95 349 43 curveto stroke newpath 347 46 moveto 348 36 lineto 352 46 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 389 151 moveto (True) 26 14.00 -0.50 alignedtext end grestore % DX -> TRUE newpath 256 90 moveto 274 75 301 53 320 38 curveto stroke newpath 318 37 moveto 327 32 lineto 321 40 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 320 63 moveto (True) 26 14.00 -0.50 alignedtext end grestore % DX -> FALSE newpath 208 92 moveto 177 76 126 50 95 33 curveto stroke newpath 96 36 moveto 88 30 lineto 98 32 lineto closepath gsave 0 setgray stroke grestore fill gsave 10 dict begin 14.00 /Times-Roman set_font 188 63 moveto (False) 29 14.00 -0.50 alignedtext end grestore endpage grestore end restore %%EndDocument endTexFig -152 1214 a Fv(Figure)24 b(2:)32 b Ft(Control-\003o)o(w)23 b(g)o(r)o(aph)h(f)n(or)h(\223\(src)h(host)f(X)g(and)g(dst)g(host)g(Y\)) -152 1297 y(or)i(\(src)g(host)f(Y)h(and)e(dst)i(host)f(X\)\224.)h(The)e (dashed)g(edge)g(points)h(to)-152 1380 y(a)g(redundant)c(predicate)h (and)h(ma)n(y)i(be)f(redirected)e(to)i(the)f(F)-6 b(ALSE)-152 1463 y(node)o(.)-152 1697 y Fw(3)83 b(The)27 b(BPF+)f(Machine)i(Mo)r (del)-152 1858 y Fv(Before)e(presenting)h(the)e(details)h(of)g(the)f (translation)h(modules)h(that)e(map)-152 1941 y(\002lter)c(predicates)h (to)g(the)f(BPF+)g(machine)i(representation,)g(we)e(sk)o(etch)i(in)-152 2024 y(this)h(section)h(a)f(high-le)n(v)o(el)h(o)o(v)o(ervie)n(w)g(of)f (the)g(BPF+)f(machine)i(model)g(to)-152 2107 y(establish)c(conte)o(xt)h (for)e(the)h(rest)f(of)h(the)g(paper)l(.)29 b(This)20 b(v)o(ersion)h(of)g(the)g(BPF)-152 2190 y(virtual)g(machine)h (represents)f(a)g(number)h(of)f(iterati)n(v)o(e)g(re\002nements)g(made) -152 2273 y(o)o(v)o(er)f(the)f(past)g(se)n(v)o(eral)g(years)g(to)g(the) g(original)g(BPF)f(machine)i(model.)-40 2356 y(The)26 b(BPF+)e(abstract)h(machine)h(is)f(a)h(RISC-lik)o(e,)f(32-bit,)i (load-store)-152 2439 y(architecture)g(consisting)g(of)f(a)g(set)g(of)g (32)h(general)g(purpose)g(re)o(gisters,)h(a)-152 2522 y(program)23 b(counter)m(,)h(read/write)d(data)i(memory)-5 b(,)23 b(read-only)g(pack)o(et)h(mem-)-152 2605 y(ory)-5 b(,)19 b(a)g(pack)o(et)g(length)g(re)o(gister)m(,)f(and)h(a)g (pseudo-random)i(re)o(gister)l(.)h(A)d(\002lter)-152 2688 y(program)j(is)e(represented)h(as)f(an)h(array)g(of)f(byte)h (codes)g(that)f(conform)h(to)g(a)-152 2771 y(well-de\002ned)f (instruction)f(format.)-40 2854 y(The)g(BPF+)f(virtual)h(machine)h (supports)g(\002)n(v)o(e)e(classes)h(of)g(operations:)-41 2997 y Fr(\017)38 b Fu(load)19 b Fv(instructions)g(cop)o(y)g(a)f(v)n (alue)h(into)f(a)h(re)o(gister)l(.)j(The)c(source)h(can)35 3080 y(be)24 b(an)g(immediate)g(v)n(alue,)h(pack)o(et)f(data)g(at)f(a)h (\002x)o(ed)f(of)n(fset,)i(pack)o(et)35 3163 y(data)j(at)f(a)g(v)n (ariable)h(of)n(fset,)h(the)e(pack)o(et)i(length)e(constant,)j(or)e (the)35 3246 y(scratch)21 b(memory)g(store)f(\(a)g(reference)h(to)g (data)f(be)o(yond)i(the)f(end)g(of)35 3329 y(the)e(pack)o(et)h(results) f(in)g(a)f(return)i(v)n(alue)f(of)g(0\);)-41 3471 y Fr(\017)38 b Fv(the)21 b Fu(stor)m(e)g Fv(instruction)g(copies)g(a)g(re)o(gister)f (into)h(a)g(\002x)o(ed)g(location)g(in)35 3554 y(data)e(memory;)-41 3697 y Fr(\017)38 b Fu(ALU)15 b Fv(instructions)h(perform)g(arithmetic) f(or)h(logic)g(on)g(a)f(re)o(gister)h(us-)35 3780 y(ing)h(a)g(re)o (gister)g(or)g(a)g(constant)h(as)f(an)h(operand)g(and)g(a)f(re)o (gister)f(as)i(the)35 3863 y(destination)i(\(di)n(vision)g(by)f(zero)h (causes)g(the)f(\002lter)f(to)h(immediately)35 3946 y(return)g(a)g(v)n (alue)h(of)f(zero\);)-41 4089 y Fr(\017)38 b Fu(br)o(anc)o(h)18 b Fv(instructions)g(alter)e(the)i(\003o)n(w)e(of)h(control,)h(based)g (on)f(a)g(com-)35 4172 y(parison)30 b(test)f(between)h(a)f(re)o(gister) g(and)h(an)f(immediate)h(v)n(alue)g(or)35 4255 y(another)20 b(re)o(gister;)e(and,)-41 4398 y Fr(\017)38 b Fu(r)m(eturn)15 b Fv(instructions)g(terminate)g(the)f(\002lter)g(and)h(indicate)f(the)h (inte)o(ger)o(-)35 4481 y(v)n(alued)20 b(result)f(of)g(e)n(v)n (aluation.)-40 4624 y(A)27 b(\002lter)g(is)f(e)n(v)n(aluated)j(by)f (initializing)f(the)g(pack)o(et)h(memory)g(to)g(the)-152 4707 y(pack)o(et)21 b(in)f(question)h(and)g(e)o(x)o(ecuting)g(byte)f (codes)h(on)g(the)f(BPF+)f(machine)-152 4790 y(until)27 b(a)f(return)h(instruction)g(is)g(reached.)47 b(The)27 b(data)g(memory)g(is)g(persis-)-152 4873 y(tent)18 b(and)h(may)g(be)f (queried)h(by)g(agents)f(e)o(xternal)h(to)f(the)g(\002lter)f(engine.)24 b(The)-152 4956 y(pseudo-random)30 b(re)o(gister)c(is)h(a)f(read-only)i (re)o(gister)f(that)g(returns)g(a)f(uni-)-152 5039 y(formly)i(distrib)o (uted)g(random)g(v)n(alue)g(each)h(time)e(read,)j(which)e(is)f(a)g (use-)-152 5122 y(ful)18 b(primiti)n(v)o(e)g(for)f(b)o(uilding)h (\002lters)f(that)h(can)g(perform)g(probabilistic)h(sam-)-152 5205 y(pling.)33 b(T)-6 b(o)22 b(f)o(acilitate)f(safety)i(v)o (eri\002cation,)f(we)g(require)g(that)g(all)g(program)-152 5288 y(branches)e(be)f(forw)o(ard)h(\(thus)f(for)o(going)g(loops\))g (and)h(that)e(the)h(last)g(instruc-)-152 5371 y(tion)f(on)g(each)g (path)g(be)g(a)g(\223return\224.)23 b(In)17 b(addition)i(to)e(the)h (set)f(of)h(conditional)2040 -69 y(branch)27 b(instructions,)g(we)f (add)g(a)g(lookup)h(table)f(instruction)g(to)f(abstract)2040 14 y(multiw)o(ay)19 b(conditional)h(branches)g(for)f(later)g (just-in-time)f(optimization.)2152 97 y(W)-6 b(e)16 b(omit)g(the)g (details)g(of)g(the)h(instruction)f(format)h(and)f(throughout)i(the) 2040 180 y(rest)g(of)g(this)f(paper)i(use)f(an)g(assembly)h(language)g (syntax)g(that)f(is)f(relati)n(v)o(ely)2040 263 y(self-e)o(xplanatory) 2523 232 y Fs(2)2559 263 y Fv(.)22 b(F)o(or)17 b(e)o(xample,)i(a)e (simple)g(BPF+)g(byte-code)h(program)2040 346 y(that)h(matches)g(TCP)f (pack)o(ets)i(has)f(the)g(follo)n(wing)h(form:)2744 486 y Fp(lh)115 b([12],)15 b(r0)2744 553 y(jne)89 b(r0,)15 b(#ETHER)m(TYPE)p 3346 553 18 4 v 18 w(IP)-6 b(,)14 b(L5)2744 619 y(lb)115 b([23],)15 b(r1)2744 686 y(jne)89 b(r1,)15 b(#IPPR)n(O)n(T)o(O)p 3251 686 V 20 w(TCP)-6 b(,)13 b(L5)2744 752 y(ret)99 b(#TR)n(UE)2573 819 y(L5:)90 b(ret)99 b(#F)l(ALSE)2152 967 y Fv(Presuming)29 b(Ethernet)f(encapsulation,)j(this)d(\002lter)f (\002rst)g(checks)j(that)2040 1050 y(the)20 b(pack)o(et)g(is)g(an)g(IP) e(pack)o(et.)26 b(If)20 b(so,)f(it)g(checks)i(if)e(the)h(IP)e(protocol) j(type)f(is)2040 1133 y(TCP)-8 b(,)15 b(in)i(which)g(case)g(it)f (branches)i(to)e(an)h(instruction)h(that)e(returns)h(true.)22 b(In)2040 1216 y(an)o(y)e(other)f(case,)g(the)g(program)h(branches)g (to)f(line)f(L5)h(and)h(returns)f(f)o(alse.)2152 1299 y(This)g(form)f(of)h(representation)h(is)e(f)o(ar)h(too)g(lo)n(w-le)n (v)o(el)g(for)g(man)o(y)g(appli-)2040 1382 y(cations)26 b(of)g(pack)o(et)h(\002lters.)43 b(In)26 b(the)g(ne)o(xt)g(section,)i (we)e(ar)o(gue)g(that)g(high-)2040 1465 y(le)n(v)o(el)18 b(\002ltering)f(languages)i(are)e(important)h(for)g(a)f(number)i(of)f (problem)g(do-)2040 1548 y(mains)25 b(and)g(we)g(sk)o(etch)h(the)e (characteristics)h(of)g(the)g(high-le)n(v)o(el)g(\002ltering)2040 1631 y(language)c(that)d(BPF+)g(emplo)o(ys.)2040 1830 y Fw(4)82 b(The)28 b(Predicate)f(Language)2040 1991 y Fv(The)16 b(input)h(to)f(our)h(system)f(is)g(a)g(high-le)n(v)o(el)h (\002lter)e(represented)i(in)g(a)f(declar)o(-)2040 2074 y(ati)n(v)o(e)21 b(predicate)g(language.)31 b(By)20 b(emplo)o(ying)j(a) e(high-le)n(v)o(el)g(language,)i(we)2040 2157 y(hide)j(the)f(comple)o (xity)i(and)f(details)f(of)g(the)g(underlying,)k(imperati)n(v)o(e)c(e)o (x-)2040 2240 y(ecution)k(model)g(of)f(the)h(BPF+)e(virtual)h(machine.) 52 b(This)28 b(f)o(acilitates)g(the)2040 2323 y(e)o(xpression)f(of)g (comple)o(x)g(boolean)g(relationships)g(among)g(man)o(y)g(dif)n(fer)o (-)2040 2406 y(ent)i(predicates)g(using)g(natural)g(logical)g(e)o (xpressions)h(rather)e(than)h(a)o(wk-)2040 2489 y(w)o(ard)21 b(control)g(structures.)28 b(Unlik)o(e)21 b(other)g(high-performance)i (pack)o(et)e(\002l-)2040 2572 y(ter)f(packages)j(that)d(ha)o(v)o(e)h (adopted)h(more)g(restricti)n(v)o(e)e(semantics)h(for)g(their)2040 2655 y(pack)o(et)27 b(\002lter)d(abstractions)i(\(e.g.,)g(the)g (template)f(matching)h(model\),)i(we)2040 2738 y(retain)i(the)g(full)g (generality)g(of)g(a)g(programmable,)k(control-\003o)n(w)c(graph)2040 2821 y(model)20 b(for)e(our)i(virtual)e(\002lter)g(machine.)2152 2904 y(There)g(are)g(man)o(y)h(reasons)g(to)f(support)h(higher)o(-le)n (v)o(el)g(abstractions)g(for)2040 2987 y(pack)o(et)24 b(\002ltering.)33 b(T)-6 b(o)23 b(be)o(gin)g(with,)g(the)f(system)h (should)h(hide)f(the)g(details)2040 3070 y(of)c(where)h(particular)f (\002elds)g(are)g(located)h(in)f(a)g(pack)o(et)h(and)g(ho)n(w)g(v)n (ariable-)2040 3153 y(length)i(headers)g(must)f(be)h(parsed)g(to)f (locate)g(those)h(\002elds.)29 b(F)o(or)21 b(e)o(xample,)2040 3236 y(BPF+)15 b(refers)i(to)f(the)h(IP)f(destination)h(address)g (\002eld)f(in)h(a)f(pack)o(et)i(as)f(\223IP)e(dst)2040 3319 y(host\224)20 b(rather)f(than)h(\223pack)o(et[20:4]\224.)26 b(Additionally)-5 b(,)20 b(a)f(seemingly)h(simple)2040 3402 y(BPF+)j(e)o(xpression)j(lik)o(e)e(\223TCP)g(port)g(HTTP\224)f (turns)i(out)g(to)f(ha)o(v)o(e)g(a)h(rela-)2040 3485 y(ti)n(v)o(ely)h(comple)o(x)h(lo)n(w-le)n(v)o(el)f(structure)g(that)f (should)i(not)f(be)g(a)g(b)o(urden)g(to)2040 3568 y(the)g(\002lter)e (programmer)j(\(i.e.,)f(in)g(this)f(case,)i(the)f(pack)o(et)h(must)e (be)h(IP;)f(if)2040 3651 y(fragmented,)31 b(it)c(must)h(be)g(the)g (\002rst)f(fragment)i(so)f(as)g(to)g(contain)g(the)g(IP)2040 3734 y(header;)18 b(there)g(may)f(be)g(IP)f(options)i(which)g(must)f (be)g(skipped)h(o)o(v)o(er)f(to)g(\002nd)2040 3817 y(the)j(TCP)e (ports;)i(and)g(\002nally)f(both)h(the)g(source)g(and)g(the)f (destination)i(TCP)2040 3900 y(port)e(\002eld)g(must)g(be)g(check)o(ed) i(against)e(the)g(constant)g(80\).)2152 3983 y(This)g(sort)g(of)g (high-le)n(v)o(el)h(representation)h(is)e(crucial)g(if)g(a)g(human)h (user)2040 4066 y(is)30 b(specifying)h(the)g(pack)o(et)g(\002lters.)57 b(While)30 b(a)g(lo)n(w-le)n(v)o(el)g(pattern)h(spec-)2040 4149 y(i\002cation)i(might)g(ha)o(v)o(e)g(suf)n(\002cient)g(generality) g(and)h(simultaneously)g(be)2040 4232 y(amenable)26 b(to)e(an)h(ef)n (\002cient)f(implementation,)i(a)f(netw)o(ork)g(administrator)2040 4315 y(that)15 b(is)g(diagnosing)i(netw)o(ork)f(malfunctions)g (on-the-\003y)f(or)g(chasing)h(do)n(wn)2040 4398 y(an)25 b(intruder)f(in)h(real-time)e(must)i(ha)o(v)o(e)f(a)h(\003e)o(xible)f (and)h(easy-to-use)g(syn-)2040 4481 y(tax)g(for)f(specifying)i(pack)o (et)f(predicates.)41 b(Thus,)26 b(a)e(high-le)n(v)o(el)i(predicate)2040 4565 y(syntax)c(that)e(allo)n(ws)h(one)g(to)g(look)h(for)m(,)e(say)-5 b(,)22 b(pack)o(ets)g(\223between)f(MIT)g(and)2040 4648 y(UCB\224)k(that)h(are)f(\223HTTP)g(connections\224)i(should)g(be)f (naturally)g(and)g(eas-)2040 4731 y(ily)20 b(speci\002ed.)28 b(T)-6 b(o)21 b(this)f(end,)h(the)g(user)g(should)g(be)g(able)g(to)f (specify)h(which)2040 4814 y(\002elds)j(of)g(the)h(pack)o(ets)g(the)o (y)g(w)o(ant)f(to)g(match)h(and)g(connect)g(those)g(predi-)2040 4897 y(cates)c(with)g(boolean)i(operators)f(\223and\224,)g(\223or\224,) g(and)g(\223not\224.)30 b(In)21 b(BPF+,)f(the)2040 4980 y(\002lter)e(w)o(ould)i(look)f(lik)o(e)g(this)g(e)o(xpression:)p 2040 5039 797 4 v 2112 5087 a Fq(2)2145 5112 y Fp(There)12 b(are)h(four)h(types)e(of)h(load)g(instructions:)18 b(\223ld\224)13 b(is)f(load)h(w)o(ord,)h(\223lh\224)e(is)h(load)g(half)g(w)o(ord,)2040 5178 y(\223lb\224)h(is)f(load)h(byte,)f(and)h(\223li\224)g(is)f(load)h (immediate.)k(There)13 b(are)h(se)o(v)o(en)e(branch)i(operations:)k (\223jeq\224)2040 5245 y(is)f(jump)h(if)f(equal,)h(\223jne\224)e(is)h (jump)h(if)g(not)f(equal,)g(\223jlt\224)h(is)f(jump)g(if)h(less)e (than,)i(\223jle\224)f(is)f(jump)i(if)2040 5311 y(less)13 b(than)i(or)f(equal,)g(\223jgt\224)g(is)g(jump)h(if)g(greater)f (than\224,)g(\223jge\224)g(is)f(jump)i(if)g(greater)f(than)h(or)f (equal,)2040 5378 y(\223ja\224)g(is)g(an)h(unconditional)g(jump.)p eop %%Page: 5 5 5 4 bop -152 -69 a Fo(\(\(src)39 b(network)g(MIT)h(and)f(dst)g(network) g(UCB\))g(or)-112 6 y(\(src)g(network)g(UCB)h(and)f(dst)g(network)g (MIT\)\))g(and)-152 81 y(\(TCP)h(port)f(HTTP\))-40 240 y Fv(By)26 b(contrast,)i(the)e(same)g(e)o(xpression)i(written)d(in)h (DPF')l(s)f(quite)h(lo)n(w-)-152 323 y(le)n(v)o(el)19 b(SHIFT)f(language)i(w)o(ould)g(look)f(lik)o(e)g(the)g(follo)n(wing:) -152 466 y Fn(\(\(\(12:16)34 b(==)h(0x8\))139 b(&&)69 b(#)35 b(IP?)-82 532 y(SHIFT\(6)f(+)h(6)f(+)h(2\))70 b(&&)f(#)35 b(skip)f(Ether)g(header)-82 599 y(\(9:8)g(==)h(6\))279 b(&&)69 b(#)35 b(TCP?)-82 665 y(\(12:8)f(==)h(18\))209 b(&&)69 b(#)35 b(src)f(network)g(MIT?)-82 732 y(\(16:16)g(==)h (0x8020\))f(&&)69 b(#)35 b(dst)f(network)g(UCB?)-82 798 y(SHIFT\(20\))313 b(&&)69 b(#)35 b(skip)f(IP)h(header)685 865 y(#)g(\(assume)f(fixed)g(length\))-82 931 y(\(0:16)g(==)h(80\))209 b(&&)69 b(#)35 b(src)f(port)h(80?)-82 997 y(\(2:16)f(==)h(80\)\))313 b(#)35 b(dst)f(port)h(80?)-117 1064 y(||)-117 1130 y(\(\(12:16)f(==)h (0x8\))139 b(&&)69 b(#)35 b(IP?)-82 1197 y(SHIFT\(6)f(+)h(6)f(+)h(2\)) 70 b(&&)f(#)35 b(skip)f(Ether)g(header)-82 1263 y(\(9:8)g(==)h(6\))279 b(&&)69 b(#)35 b(TCP?)-82 1329 y(\(12:16)f(==)h(0x8020\))f(&&)69 b(#)35 b(src)f(network)g(UCB?)-82 1396 y(\(16:8)g(==)h(18\))209 b(&&)69 b(#)35 b(dst)f(network)g(MIT?)-82 1462 y(SHIFT\(20\))313 b(&&)69 b(#)35 b(skip)f(IP)h(header)685 1529 y(#)g(\(assume)f(fixed)g (length\))-82 1595 y(\(0:16)g(==)h(80\))209 b(&&)69 b(#)35 b(src)f(port)h(80?)-82 1662 y(\(2:16)f(==)h(80\)\))313 b(#)35 b(dst)f(port)h(80?)-40 1821 y Fv(In)21 b(the)f(middle)g(ground)i (between)f(a)f(predicate)h(language)h(and)f(a)f(fully)-152 1904 y(general)26 b(pattern)f(speci\002cation)g(language,)i(we)e (interpose)g(the)g(ability)g(to)-152 1987 y(match)30 b(v)n(arious)g(\002elds)f(of)h(the)f(pack)o(et)i(in)e(relation)h(to)f (each)h(other)m(,)i(and)-152 2070 y(the)20 b(ability)g(to)g(perform)h (mathematical)f(operations)h(on)g(the)f(\002elds)g(before)-152 2153 y(matching)j(them.)33 b(Thus,)22 b(for)g(e)o(xample,)h(to)f(track) g(do)n(wn)h(a)f(TCP)f(protocol)-152 2236 y(b)o(ug,)h(we)g(might)f(need) i(to)e(e)o(xtract)g(all)g(the)h(pack)o(ets)g(from)g(a)f(trace)h(that)f (f)o(all)-152 2319 y(within)e(a)g(certain)g(range)g(of)g(TCP)f (sequence)j(numbers.)-40 2402 y(Finally)-5 b(,)21 b(mo)o(ving)h(be)o (yond)g(the)f(scope)h(of)f(BPF+,)e(users)i(may)h(w)o(ant)f(to)-152 2485 y(combine)k(the)g(aforementioned)g(\002lter)e(language)j (approaches)g(and)e(com-)-152 2568 y(pose)f(them)f(with)g(a)g(polic)o (y)g(language)h(that)f(enables)h(the)f(runtime)g(system)-152 2651 y(to)d(apply)g(a)g(\002lter)e(at)h(a)h(particular)f(time)h (\(e.g.,)e(for)i(probabilistic)g(sampling)-152 2734 y(of)24 b(pack)o(ets)h(meeting)f(a)f(particular)h(predicate\),)h(add)f(a)f (\002lter)g(\(e.g.,)h(if)f(the)-152 2817 y(source)f(address)h(of)e(an)h (intruder)f(has)h(been)g(identi\002ed\),)g(or)f(remo)o(v)o(e)h(a)g (\002l-)-152 2900 y(ter)e(from)h(use)g(\(e.g.,)f(if)g(a)g(particular)h (email)f(adv)o(ersary)i(sends)f(unsolicited)-152 2983 y(mass)e(email)g(only)h(at)e(certain)h(times)g(of)g(the)g(day\).)-40 3066 y(Designing)j(a)f(language)i(that)e(meets)g(these)g(requirements)h (is)f(not)g(dif-)-152 3149 y(\002cult.)40 b(Se)n(v)o(eral)25 b(languages)h(ha)o(v)o(e)f(been)h(de)n(vised,)h(for)d(e)o(xample,)j (the)e(\002l-)-152 3232 y(tering)k(language)h(in)f(the)f(La)o(wrence)h (Berk)o(ele)o(y)g(National)g(Laboratory')l(s)-152 3315 y(pack)o(et)22 b(capture)g(library)f Fu(libpcap)p Fv(,)h(Sun')l(s)f Fu(ether\002nd)h Fv(program,)g(and)g(Digi-)-152 3398 y(tal')l(s)c Fu(snoop)i Fv(tool.)i(Since)d(the)f(BPF+)f(design)i(is)f (b)o(uilt)g(upon)h(BPF)-6 b(,)17 b Fu(libpcap)p Fv(,)-152 3481 y(and)23 b Fu(tcpdump)p Fv(,)h(we)e(naturally)h(incorporated)g (the)g Fu(libpcap)g Fv(language)h(into)-152 3564 y(our)16 b(system.)22 b(W)-6 b(e)15 b(omit)g(the)g(details)g(of)h(this)f (well-kno)n(wn)h(and)f(widely)h(used)-152 3647 y(pack)o(et)k(capture)g (system,)f(which)g(is)g(described)h(else)n(where)f([11)q(,)f(12)q(].) -152 3848 y Fw(5)83 b(The)27 b(F)n(ront)g(End)-152 4008 y Fv(Gi)n(v)o(en)j(our)f(high-le)n(v)o(el)h(\002lter)e(language)j(and)f (our)f(lo)n(w-le)n(v)o(el)h(\002lter)e(ma-)-152 4091 y(chine)i(model,)i(we)e(are)f(f)o(aced)h(with)f(the)h(problem)g(of)f (translating)h(\002lter)-152 4175 y(predicates)22 b(into)f(BPF+)g(byte) g(codes.)31 b(Rather)21 b(than)h(inte)o(grate)f(translation)-152 4258 y(and)k(optimization)g(into)f(a)g(monolithic)h(frame)n(w)o(ork,)h (as)e(P)o(athFinder)g(and)-152 4341 y(DPF)14 b(ha)o(v)o(e)h(done,)h(we) f(ha)o(v)o(e)g(deliberately)h(separated)f(the)g(translation)g(stage) -152 4424 y(from)31 b(the)g(optimization)g(stage.)58 b(This)30 b(has)h(a)g(number)g(of)g(adv)n(antages.)-152 4507 y(First,)17 b(it)g(w)o(ould)i(allo)n(w)f(us)h(to)f(create)g(dif)n (ferent)g(front)g(ends)h(and)g(high-le)n(v)o(el)-152 4590 y(languages)i(that)e(can)g(be)g(optimized)h(and)g(carried)f(by)g (the)g(same)g(back)h(end.)-152 4673 y(Second,)g(it)f(allo)n(ws)h(us)f (to)h(e)n(v)o(olv)o(e)g(and)g(de)n(v)o(elop)g(the)g(tw)o(o)g(stages)f (indepen-)-152 4756 y(dently)-5 b(.)43 b(An)25 b(impro)o(v)o(ement)h (to)f(the)g(optimization)g(frame)n(w)o(ork)h(need)g(not)-152 4839 y(require)19 b(changes)h(to)e(the)g(high-le)n(v)o(el)h(language)h (de\002ned)f(in)f(the)g(front)g(end.)-152 4922 y(Finally)-5 b(,)33 b(this)e(breakdo)n(wn)h(pro)o(vides)g(a)f(frame)n(w)o(ork)g(for) g(incrementally)-152 5005 y(composing)c(\002lters)d(on)h(the)g(\003y)-5 b(,)26 b(e.g.,)g(as)f(required)h(by)f(user)o(-le)n(v)o(el)g(proto-)-152 5088 y(col)20 b(demultiple)o(xing)h(where)g(\002lters)d(are)i (installed)g(and)h(remo)o(v)o(ed)g(dynam-)-152 5171 y(ically)-5 b(.)44 b(More)27 b(speci\002cally)-5 b(,)28 b(a)d(set)h(of)g(acti)n(v)o (e)g(\002lters)f(\(each)i(indi)n(vidually)-152 5254 y(representing)f(a) e(gi)n(v)o(en)i(connection)g(\002ngerprint\))f(can)g(be)f(maintained)i (in)-152 5337 y(predicate)i(form)g(so)g(that)f(\002lters)f(may)i(be)g (easily)f(inserted)h(and)g(deleted.)2040 -69 y(Each)e(time)f(the)h(set) g(changes)h(\(because)g(a)f(connection)h(starts)f(or)f(stops\),)2040 14 y(we)g(can)g(in)m(v)o(ok)o(e)h(the)f(optimizer)g(and)h(back)g(end)f (on)h(the)f(altered)g(form)f(to)2040 97 y(produce)c(our)g(ne)n(w)f (aggre)o(gate)h(\002lter)d(program.)2152 180 y(Another)k(adv)n(antage)h (of)e(the)h(separation)g(between)g(the)f(compiler)h(and)2040 263 y(optimizer)k(is)f(that)g(the)h(code)g(generator)g(is)f(greatly)h (simpli\002ed.)39 b(F)o(or)24 b(e)o(x-)2040 346 y(ample,)f(consider)g (the)g(w)o(ay)f(we)g(generate)h(code)g(for)g(short-circuited)f(log-) 2040 429 y(ical)g(predicates.)35 b(In)22 b(an)h(e)o(xpression)g(lik)o (e)g(\223)p Fm(p)3249 437 y Fs(0)3305 429 y Fu(and)h Fm(p)3479 437 y Fs(1)3513 429 y Fv(,)-5 b(\224)23 b Fm(p)3622 437 y Fs(1)3678 429 y Fv(is)f(e)n(v)n(aluated)2040 512 y(only)29 b(if)e Fm(p)2313 520 y Fs(0)2376 512 y Fv(is)g(true.)51 b(Ho)n(we)n(v)o(er)m(,)31 b(the)d(second)i(predicate)e(might)h(contain) 2040 596 y(sub-predicates)d(that)f(ha)o(v)o(e)g(already)h(been)g(e)n(v) n(aluated)g(in)f(the)g(\002rst)f(predi-)2040 679 y(cate.)44 b(F)o(or)26 b(e)o(xample,)i(the)e(e)o(xpression)h(may)f(ha)o(v)o(e)g(a) g(decomposition,)j(in)2040 762 y(which)d(another)g(predicate)f Fm(p)2834 770 y Fs(4)2893 762 y Fv(represents)h(a)f(common)i(protocol)f (check,)2040 845 y(e.g.,)c(\223\()p Fm(p)2286 853 y Fs(4)2342 845 y Fu(and)h Fm(p)2515 853 y Fs(0)2550 845 y Fv(\))e Fu(and)i Fv(\()p Fm(p)2794 853 y Fs(4)2850 845 y Fu(and)g Fm(p)3023 853 y Fs(1)3057 845 y Fv(\)\224.)33 b(F)o(actoring)22 b(out)h(common)g(pred-)2040 928 y(icates)f(during)h(code)g(generation)g (w)o(ould)g(be)f(a)g(comple)o(x)h(task.)33 b(The)21 b(opti-)2040 1011 y(mizer)m(,)16 b(on)f(the)g(other)h(hand,)g(is)f(well)f(suited)h (to)g(the)h(elimination)f(of)g(this)g(sort)2040 1094 y(of)24 b(redundanc)o(y)-5 b(.)39 b(Thus,)25 b(our)f(code)g(generator)h (can)f(be)g(relati)n(v)o(ely)f(simple)2040 1177 y(and)d(straightforw)o (ard)f(and)h(rely)f(on)g(optimization)h(to)e(achie)n(v)o(e)i(ef)n (\002cienc)o(y)-5 b(.)2152 1260 y(In)20 b(short,)f(we)g(ha)o(v)o(e)h (adopted)h(an)f(approach)h(where)e(we)h(transform)f(the)2040 1343 y(predicate)26 b(language)g(into)f(an)h(intermediate)f(form)g (through)h(nai)n(v)o(e)g(com-)2040 1426 y(pilation,)e(and)g(then)f (apply)h(aggressi)n(v)o(e)g(optimizations)g(to)f(transform)g(the)2040 1509 y(result)c(into)g(an)g(optimized)h(BPF+)d(byte-code)k(program.) 2152 1592 y(The)16 b(BPF+)f(compiler)i(uses)f(of)n(f-the-shelf)h(le)o (xical)f(analysis)g(and)h(pars-)2040 1675 y(ing)i(tools)h(as)f(well)f (as)i(well-kno)n(wn)f(compiler)h(techniques)g(to)f(con)m(v)o(ert)h(the) 2040 1758 y(\002lter)26 b(speci\002cation)i(into)g(a)f(control-\003o)n (w)h(graph)g(in)g(SSA)e(intermediate)2040 1841 y(form.)44 b(SSA)24 b(is)h(a)h(modern)h(intermediate)f(representation)g(used)h(in) e(opti-)2040 1924 y(mizing)g(compilers,)h(in)f(which)f(the)h(abstract)g (data)g(v)n(alues)g(are)f(separated)2040 2007 y(from)h(the)g(locations) g(in)g(which)h(the)o(y)f(are)g(stored.)41 b(The)25 b(k)o(e)o(y)h (property)f(of)2040 2090 y(SSA)19 b(is)h(that)h(an)o(y)f(re)o(gister)h (is)f(written)f(e)o(xactly)i(once,)h(so)e(we)g(assume)i(that)2040 2173 y(we)d(ha)o(v)o(e)f(an)h(in\002nite)f(supply)i(of)f(re)o(gisters)f (with)g(which)h(to)f(w)o(ork.)24 b(In)19 b(turn,)2040 2256 y(we)g(rely)g(upon)h(a)f(re)o(gister)f(allocator)h(to)g(map)g (this)g(unbounded)i(number)f(of)2040 2339 y(virtual)e(re)o(gisters)g (into)g(a)f(\002nite)h(set)g(of)f(physical)i(re)o(gisters.)j(SSA)17 b(is)h(highly)2040 2422 y(amenable)27 b(to)f(man)o(y)g(simple)g(b)o(ut) f(ef)n(fecti)n(v)o(e)h(forms)g(of)g(global)g(data-\003o)n(w)2040 2505 y(optimization,)19 b(and)h(we)f(hea)o(vily)g(e)o(xploit)g(this)g (property)g(in)g(our)g(system.)2152 2588 y(Each)30 b(node)h(in)f(the)g (control-\003o)n(w)g(graph)h(generated)g(by)g(the)f(BPF+)2040 2671 y(compiler)e(is)g(a)g(basic)g(block)h(in)f(SSA)e(form)i(that)g (ends)h(with)e(a)h(boolean)2040 2754 y(predicate.)23 b(There)18 b(is)g(one)h(unique)g(entry)f(node,)h(and)g(\003o)n(w)f(mo)o (v)o(es)g(through)2040 2837 y(the)k(graph)h(until)f(it)f(reaches)i(a)f (\223return\224)h(statement.)32 b(At)22 b(the)g(end)h(of)f(each)2040 2920 y(basic)h(block,)h(the)f(\003o)n(w)g(may)g(branch)h(based)g(on)f (the)g(v)n(alue)g(of)g(the)g(predi-)2040 3003 y(cate.)g(Flo)n(w)17 b(may)h(only)h(mo)o(v)o(e)f(forw)o(ard)h(\(do)n(wnw)o(ard)g(through)g (the)f(graph\);)2040 3086 y(this)31 b(property)i(is)e(enforced)h(by)g (the)f(requirement)i(that)e(branch)h(of)n(fsets)2040 3169 y(must)15 b(be)f(positi)n(v)o(e.)22 b(Thus,)16 b(the)e(entire)g (graph)i(is)e(guaranteed)i(to)e(be)h(ac)o(yclic.)4008 3137 y Fs(3)2040 3370 y Fw(6)82 b(The)28 b(Optimizer)2040 3530 y Fv(The)c(price)g(that)g(we)g(pay)h(for)f(our)g(nai)n(v)o(e)h (SSA)e(form)h(code)h(generation)g(is)2040 3613 y(man)o(y)h (computational)h(and)f(logical)g(redundancies.)44 b(This)25 b(results)h(in)f(an)2040 3696 y(o)o(v)o(erab)o(undance)g(of)d(code,)h (conditional)g(branches,)h(and)f(allocated)g(re)o(gis-)2040 3779 y(ters.)31 b(Thus,)22 b(optimization)h(of)e(the)h(generated)h (code)f(is)g(vitally)f(important)2040 3862 y(for)i(impro)o(ving)h(its)f (performance)h(and)g(justifying)g(the)f(cost)g(of)h(the)f(high-)2040 3945 y(le)n(v)o(el)15 b(starting)h(point.)22 b(In)15 b(this)g(section,)i(we)e(describe)h(the)f(global)h(data-\003o)n(w)2040 4028 y(optimizations)g(and)g(peephole)h(optimizations)f(that)f(are)g (performed)i(on)e(the)2040 4111 y(intermediate)24 b(code)h(\227)e (which)i(remo)o(v)o(e)f(redundancies,)j(rearrange)e(non-)2040 4194 y(optimal)e(code)h(sequences)g(and)g(identify)f(potential)g (lookup)h(tables)f(\227)f(in)2040 4277 y(order)d(to)g(generate)h(ef)n (\002cient)f(code.)2152 4360 y(In)e(addition)g(to)f(incorporating)i (man)o(y)f(standard)g(optimizations)g(found)2040 4444 y(in)h(traditional)f(compilers,)h(the)g(BPF+)f(optimizer)h(introduces)g (a)g(no)o(v)o(el)g(ap-)2040 4527 y(plication)27 b(of)g Fu(r)m(edundant)i(pr)m(edicate)f(elimination)g Fv([17,)f(22].)47 b(This)26 b(opti-)2040 4610 y(mization)20 b(is)f(rarely)h(found)h(in)f (compilers)g(for)f(traditional)h(languages)h(lik)o(e)2040 4693 y(C)29 b(or)g(Ja)o(v)n(a)h(because)h(redundant)g(predicates)f(do)g (not)f(occur)h(v)o(ery)g(often)2040 4776 y(and)20 b(the)f(optimization) g(w)o(ould)h(not)g(be)f(v)o(ery)g(pro\002table.)24 b(Ho)n(we)n(v)o(er)m (,)19 b(in)g(the)2040 4859 y(domain)25 b(of)e(pack)o(et)i(\002lter)d (compilation,)k(BPF+')l(s)c(nai)n(v)o(e)i(code)g(generator)2040 4942 y(produces)29 b(decision)f(trees)f(with)f(man)o(y)i(redundant)h (predicates,)h(thereby)2040 5025 y(making)17 b(this)e(optimization)h (one)g(of)g(the)f(most)h(useful)g(that)f(can)h(be)g(applied.)p 2040 5086 797 4 v 2112 5135 a Fq(3)2145 5160 y Fp(The)g(f)o(act)i(that) f(BPF+)g(\003o)o(wgraphs)g(are)g(ac)o(yclic)g(simpli\002es)g (data-\003o)o(w)h(calculations)e(con-)2040 5226 y(siderably)l(.)h (Because)12 b(all)g(information)i(\003o)o(ws)f(only)g(up)f(\(or)i(only) f(do)o(wn\),)f(a)h(minimal)g(\002x)o(ed)g(point)2040 5293 y(solution)i(can)f(be)g(reached)g(with)g(a)g(single)h(top-do)o(wn) f(\(or)h(bottom-up\))h(le)o(v)o(el-order)f(tra)o(v)o(ersal)f(of)2040 5359 y(the)h(control-\003o)o(w)g(graph.)p eop %%Page: 6 6 6 5 bop -40 -69 a Fv(The)24 b(ne)o(xt)g(four)f(sections)h(describe)g (our)g(optimizations)g(in)g(more)f(de-)-152 14 y(tail.)g(In)18 b(the)h(\002rst)e(section,)i(we)f(introduce)h(the)g(redundant)h (predicate)f(elim-)-152 97 y(ination)29 b(and)f(its)g(composition)h (from)f(partial)g(redundanc)o(y)i(elimination,)-152 180 y(predicate)f(assertion)g(propagation,)j(and)d(redundant)h(edge)f (elimination.)-152 263 y(Then,)c(we)f(illustrate)f(the)h(peephole)h (optimizations)f(that)g(are)g(performed)-152 346 y(within)c(the)g (basic)g(blocks.)27 b(W)-6 b(e)20 b(also)g(use)g(constant)h(folding)f (and)h(constant)-152 429 y(propagation)f(to)f(help)g(identify)g(and)g (eliminate)g(redundant)h(computations)-152 512 y(in)k(the)f(global)h (data)g(\003o)n(w)f(phase)i(of)e(optimization.)38 b(After)23 b(the)g(other)h(op-)-152 596 y(timizations)j(ha)o(v)o(e)g(completed,)i (we)d(enter)h(a)f(jump)h(table)g(encapsulation)-152 679 y(phase)h(to)e(optimize)h(linear)f(sequences)j(of)d(predicates.)47 b(Finally)-5 b(,)28 b(we)e(do)-152 762 y(re)o(gister)21 b(allocation)g(and)h(assignment)g(to)f(map)g(each)g(remaining)h(v)n (ariable)-152 845 y(to)d(an)g(actual)g(re)o(gister)g(in)g(the)g(BPF+)f (virtual)g(machine.)-40 928 y(T)-6 b(o)21 b(get)f(a)h(feel)f(for)g(the) h(potential)f(of)h(the)f(redundant)i(predicate)f(elimi-)-152 1011 y(nation)f(optimization,)f(consider)h(the)f(follo)n(wing)g (\002lter:)247 1151 y Fo(IP)39 b(src)h(host)f(A)h(or)f(IP)h(src)f(host) g(B)-40 1292 y Fv(W)m(ithout)22 b(optimization,)g(this)g(e)o(xpression) h(is)e(compiled)i(into)e(the)h(fol-)-152 1375 y(lo)n(wing)e(code:)234 1343 y Fs(4)566 1503 y Fp(lh)116 b([12],)15 b(r0)367 1570 y(L1:)118 b(jeq)90 b(r0,)14 b(#ETHER)m(TYPE)p 1168 1570 18 4 v 18 w(IP)-6 b(,)15 b(L3)566 1636 y(ja)119 b(L5)367 1703 y(L3:)f(ld)e([26],)15 b(r1)566 1769 y(jeq)90 b(r1,)14 b(#A,)h(L11)367 1836 y(L5:)118 b(lh)e([12],)15 b(r2)367 1902 y(L6:)118 b(jeq)90 b(r2,)14 b(#ETHER)m(TYPE)p 1168 1902 V 18 w(IP)-6 b(,)15 b(L8)566 1968 y(ja)119 b(L10)367 2035 y(L8:)f(ld)e([26],)15 b(r3)566 2101 y(jeq)90 b(r3,)14 b(#B,)g(L11)367 2168 y(L10:)89 b(ret)100 b(#F)l(ALSE)367 2234 y(L11:)89 b(ret)100 b(#TR)n(UE)-40 2371 y Fv(Note)27 b(that)g(both)g(predicates)g(test)g(whether)g(the)g(pack)o(et)g(is)g (IP)-8 b(.)25 b(Since)-152 2454 y(the)h(\002rst)f(test)h(\(line)f(L1\)) h(al)o(w)o(ays)g(occurs)h(before)g(the)f(second)h(\(line)e(L6\),)-152 2537 y(the)e(second)h(test)e(is)g(redundant)i(and)f(may)g(be)g (eliminated.)34 b(The)23 b(problem)-152 2620 y(is)h(better)g (visualized)g(by)h(analyzing)g(the)f(program)h(in)e(\003o)n(w)h(graph)h (form.)-152 2703 y(Figure)c(3)f(sho)n(ws)h(the)g(basic)f(blocks)i(and)f (control)f(edges)i(that)e(correspond)-152 2786 y(to)i(the)f(\002lter)g (abo)o(v)o(e.)31 b(By)22 b(con)m(v)o(ention,)h(f)o(alse)f(branches)g (are)g(to)f(the)h(left)f(of)-152 2869 y(true)g(branches.)31 b(The)21 b(nodes)h(are)f(numbered)i(for)d(reference.)30 b(The)21 b(dashed)-152 2952 y(box)o(es)f(indicate)f(the)g(tw)o(o)g (predicates,)h Fu(IP)e(sr)m(c)h(host)g(A)g Fv(and)g Fu(IP)g(sr)m(c)g (host)g(B)p Fv(.)125 3052 y 11367081 11840716 2170798 23418306 21642199 43679088 startTexFig 125 3052 a %%BeginDocument: figure6a.eps %AI5_FileFormat 3 %AI3_ColorUsage: Black&White %AI3_IncludePlacedImages %AI7_ImageSettings: 1 %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 13 13 599 780 %AI3_DocumentPreview: PC_ColorTIFF %AI5_ArtSize: 612 792 %AI5_RulerUnits: 2 %AI5_ArtFlags: 1 0 0 1 0 0 1 1 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI5_OpenToView: -54 696 2 1144 771 18 0 1 10 62 0 0 %AI5_OpenViewLayers: 7 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 userdict /Adobe_level2_AI5 25 dict dup begin put /packedarray where not { userdict begin /packedarray { array astore readonly } bind def /setpacking /pop load def /currentpacking false def end 0 } if pop userdict /defaultpacking currentpacking put true setpacking /initialize { Adobe_level2_AI5 begin } bind def /terminate { currentdict Adobe_level2_AI5 eq { end } if } bind def mark /setcustomcolor where not { /findcmykcustomcolor { 0 6 packedarray } bind def /findrgbcustomcolor { 1 5 packedarray } bind def /setcustomcolor { exch aload pop 0 eq { pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } { pop 3 { 1 exch sub 3 index mul 1 exch sub 3 1 roll } repeat 4 -1 roll pop setrgbcolor } ifelse } def } if /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put userdict /level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if put /level2ScreenFreq { begin 60 HalftoneType 1 eq { pop Frequency } if HalftoneType 2 eq { pop GrayFrequency } if HalftoneType 5 eq { pop Default level2ScreenFreq } if end } bind def userdict /currentScreenFreq level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put level2? not { /setcmykcolor where not { /setcmykcolor { exch .11 mul add exch .59 mul add exch .3 mul add 1 exch sub setgray } def } if /currentcmykcolor where not { /currentcmykcolor { 0 0 0 1 currentgray sub } def } if /setoverprint where not { /setoverprint /pop load def } if /selectfont where not { /selectfont { exch findfont exch dup type /arraytype eq { makefont } { scalefont } ifelse setfont } bind def } if /cshow where not { /cshow { [ 0 0 5 -1 roll aload pop ] cvx bind forall } bind def } if } if cleartomark /anyColor? { add add add 0 ne } bind def /testColor { gsave setcmykcolor currentcmykcolor grestore } bind def /testCMYKColorThrough { testColor anyColor? } bind def userdict /composite? level2? { gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore add add add 4 eq } { 1 0 0 0 testCMYKColorThrough 0 1 0 0 testCMYKColorThrough 0 0 1 0 testCMYKColorThrough 0 0 0 1 testCMYKColorThrough and and and } ifelse put composite? not { userdict begin gsave /cyan? 1 0 0 0 testCMYKColorThrough def /magenta? 0 1 0 0 testCMYKColorThrough def /yellow? 0 0 1 0 testCMYKColorThrough def /black? 0 0 0 1 testCMYKColorThrough def grestore /isCMYKSep? cyan? magenta? yellow? black? or or or def /customColor? isCMYKSep? not def end } if end defaultpacking setpacking currentpacking true setpacking userdict /Adobe_typography_AI5 68 dict dup begin put /initialize { begin begin Adobe_typography_AI5 begin Adobe_typography_AI5 { dup xcheck { bind } if pop pop } forall end end end Adobe_typography_AI5 begin } def /terminate { currentdict Adobe_typography_AI5 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 /havefont { systemdict /languagelevel known { /Font resourcestatus dup { exch pop exch pop } if } { systemdict /FontDirectory get 1 index known { pop true } { systemdict /fileposition known { dup length 6 add exch Ss 6 250 getinterval cvs pop Ss exch 0 exch getinterval status { pop pop pop pop true } { false } ifelse } { pop false } ifelse } ifelse } ifelse } def /TE { StandardEncoding 256 array copy modifyEncoding /_nativeEncoding exch def } def /subststring { exch 2 index exch search { exch pop exch dup () eq { pop exch concatstring } { 3 -1 roll exch concatstring concatstring } ifelse exch pop true } { pop pop false } ifelse } def /concatstring { 1 index length 1 index length 1 index add string dup 0 5 index putinterval dup 2 index 4 index putinterval 4 1 roll pop pop pop } def % /TZ { dup type /arraytype eq { /_wv exch def } { /_wv 0 def } ifelse /_useNativeEncoding exch def 2 index havefont { 3 index 255 string cvs dup (_Symbol_) eq { pop 2 index findfont } { dup length 1 sub 1 exch getinterval cvn findfont } ifelse } { dup 1 eq { 2 index 64 string cvs dup (-90pv-RKSJ-) (-83pv-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop dup (-90ms-RKSJ-) (-Ext-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop pop true } ifelse } ifelse { /Ryumin-Light-83pv-RKSJ-H havefont {/Ryumin-Light-83pv-RKSJ-H} {/Courier} ifelse findfont [1 0 0.5 1 0 0] makefont } if } { /Courier findfont } ifelse } ifelse _wv type /arraytype eq { _wv makeblendedfont } if dup length 10 add dict begin mark exch { 1 index /FID ne { def } if cleartomark mark } forall pop /FontScript exch def /FontDirection exch def /FontRequest exch def /FontName exch def counttomark 0 eq { 1 _useNativeEncoding eq { /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 /i1 { W N } 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 { iTe _ctm setmatrix newpath } def /Tp { pop _tm astore pop _ctm setmatrix _tDict begin /W { } def /h { } def } def /TP { end iTm 0 0 moveto } def /Tr { _render 3 le { currentpoint newpath moveto } if 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 _shift aload pop _lineorientation 1 eq { exch } if translate _scale aload pop _lineorientation 1 eq _yokoorientation 1 eq or { exch } if scale } def /Tm { _tm astore pop iTm 0 0 moveto } def /Td { _mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto } def /iTe { _render -1 eq { } { _renderEnd _render get dup null ne { load exec } { pop } ifelse } ifelse /_render -1 ddef } def /Ta { pop } def /Tf { 1 index type /nametype eq { dup 0.75 mul 1 index 0.25 mul neg } if /_fontDescent exch ddef /_fontAscent exch ddef /_fontSize exch ddef /_fontRotateAdjust _fontAscent _fontDescent add 2 div neg ddef /_fontHeight _fontSize ddef findfont _fontSize scalefont setfont } def /Tl { pop neg 0 exch _leading astore pop } def /Tt { pop } def /TW { 3 npop } def /Tw { /_cx exch ddef } def /TC { 3 npop } def /Tc { /_ax exch ddef } def /Ts { 0 exch _shift astore pop currentpoint iTm moveto } def /Ti { 3 npop } def /Tz { count 1 eq { 100 } if 100 div exch 100 div exch _scale astore pop iTm } def /TA { pop } def /Tq { pop } def /Tg { pop } def /TG { pop } def /Tv { /_lineorientation exch ddef } def /TV { /_charorientation exch ddef } def /Ty { dup /_yokoorientation exch ddef 1 sub neg Tv } def /TY { pop } def /T~ { Tx } def /Th { pop pop pop pop pop } def /TX { pop } def /Tk { _fontSize mul 1000 div _lineorientation 0 eq { neg 0 } { 0 exch } ifelse rmoveto pop } def /TK { 2 npop } def /T* { _leading aload pop _lineorientation 0 ne { exch } if Td } def /T*- { _leading aload pop _lineorientation 0 ne { exch } if exch neg exch neg Td } def /T- { _ax neg 0 rmoveto _lineorientation 1 eq _charorientation 0 eq and { 1 TV _hyphen Tx 0 TV } { _hyphen Tx } ifelse } def /T+ { } def /TR { _ctm currentmatrix pop _tm astore pop iTm 0 0 moveto } def /TS { currentfont 3 1 roll /_Symbol_ findfont _fontSize scalefont setfont 0 eq { Tx } { Tj } ifelse setfont } def /Xb { pop pop } def /Tb /Xb load def /Xe { pop pop pop pop } def /Te /Xe load def /XB { } def /TB /XB load def currentdict readonly pop end setpacking % /X^ { currentfont 5 1 roll dup havefont { findfont _fontSize scalefont setfont } { pop exch } ifelse 2 index 0 eq { Tx } { Tj } ifelse pop pop setfont } def /T^ /X^ load def userdict /Adobe_ColorImage_AI6 known not { userdict /Adobe_ColorImage_AI6 24 dict put } if userdict /Adobe_ColorImage_AI6 get begin /initialize { Adobe_ColorImage_AI6 begin Adobe_ColorImage_AI6 { dup type /arraytype eq { dup xcheck { bind } if } if pop pop } forall } def /terminate { end } def currentdict /Adobe_ColorImage_AI6_Vars known not { /Adobe_ColorImage_AI6_Vars 15 dict def } if Adobe_ColorImage_AI6_Vars begin /channelcount 0 def /sourcecount 0 def /sourcearray 4 array def /plateindex -1 def /XIMask 0 def /XIBinary 0 def /XIChannelCount 0 def /XIBitsPerPixel 0 def /XIImageHeight 0 def /XIImageWidth 0 def /XIImageMatrix null def /XIBuffer null def /XIDataProc null def /XIVersion 6 def end /WalkRGBString null def /WalkCMYKString null def /StuffRGBIntoGrayString null def /RGBToGrayImageProc null def /StuffCMYKIntoGrayString null def /CMYKToGrayImageProc null def /ColorImageCompositeEmulator null def /SeparateCMYKImageProc null def /FourEqual null def /TestPlateIndex null def currentdict /_colorimage known not { /colorimage where { /colorimage get /_colorimage exch def } { /_colorimage null def } ifelse } if /_currenttransfer systemdict /currenttransfer get def /colorimage null def /XI null def /WalkRGBString { 0 3 index dup length 1 sub 0 3 3 -1 roll { 3 getinterval { } forall 5 index exec 3 index } for 5 { pop } repeat } def /WalkCMYKString { 0 3 index dup length 1 sub 0 4 3 -1 roll { 4 getinterval { } forall 6 index exec 3 index } for 5 { pop } repeat } def /StuffRGBIntoGrayString { .11 mul exch .59 mul add exch .3 mul add cvi 3 copy put pop 1 add } def /RGBToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 3 idiv string dup 3 1 roll /StuffRGBIntoGrayString load exch WalkRGBString end } def /StuffCMYKIntoGrayString { exch .11 mul add exch .59 mul add exch .3 mul add dup 255 gt { pop 255 } if 255 exch sub cvi 3 copy put pop 1 add } def /CMYKToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 4 idiv string dup 3 1 roll /StuffCMYKIntoGrayString load exch WalkCMYKString end } def /ColorImageCompositeEmulator { pop true eq { Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat } { Adobe_ColorImage_AI6_Vars /channelcount get 1 ne { Adobe_ColorImage_AI6_Vars begin sourcearray 0 3 -1 roll put channelcount 3 eq { /RGBToGrayImageProc } { /CMYKToGrayImageProc } ifelse load end } if image } ifelse } def /SeparateCMYKImageProc { Adobe_ColorImage_AI6_Vars begin sourcecount 0 ne { sourcearray plateindex get exec } { sourcearray 0 get exec dup length 4 idiv string 0 2 index plateindex 4 2 index length 1 sub { get 255 exch sub 3 copy put pop 1 add 2 index } for pop pop exch pop } ifelse end } def /FourEqual { 4 index ne { pop pop pop false } { 4 index ne { pop pop false } { 4 index ne { pop false } { 4 index eq } ifelse } ifelse } ifelse } def /TestPlateIndex { Adobe_ColorImage_AI6_Vars begin /plateindex -1 def /setcmykcolor where { pop gsave 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub grestore 1 0 0 0 FourEqual { /plateindex 0 def } { 0 1 0 0 FourEqual { /plateindex 1 def } { 0 0 1 0 FourEqual { /plateindex 2 def } { 0 0 0 1 FourEqual { /plateindex 3 def } { 0 0 0 0 FourEqual { /plateindex 5 def } if } ifelse } ifelse } ifelse } ifelse pop pop pop pop } if plateindex end } def /colorimage { Adobe_ColorImage_AI6_Vars begin /channelcount 1 index def /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def 4 sourcecount add index dup 8 eq exch 1 eq or not end { /_colorimage load null ne { _colorimage } { Adobe_ColorImage_AI6_Vars /sourcecount get 7 add { pop } repeat } ifelse } { dup 3 eq TestPlateIndex dup -1 eq exch 5 eq or or { /_colorimage load null eq { ColorImageCompositeEmulator } { dup 1 eq { pop pop image } { Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { gsave 0 _currenttransfer exec 1 _currenttransfer exec eq { 0 _currenttransfer exec 0.5 lt } { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse { { pop 0 } } { { pop 1 } } ifelse systemdict /settransfer get exec } if _colorimage Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { grestore } if } ifelse } ifelse } { dup 1 eq { pop pop image } { pop pop Adobe_ColorImage_AI6_Vars begin sourcecount -1 0 { exch sourcearray 3 1 roll put } for /SeparateCMYKImageProc load end systemdict /image get exec } ifelse } ifelse } ifelse } def /XG { pop pop } def /XF { 13 {pop} repeat } def /Xh { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIImageHeight exch def /XIImageWidth exch def /XIImageMatrix exch def 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if /XIVersion 7 def end } def /XH { Adobe_ColorImage_AI6_Vars begin /XIVersion 6 def grestore end } def /XI { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIBinary exch 0 ne def pop pop /XIChannelCount exch def /XIBitsPerPixel exch def /XIImageHeight exch def /XIImageWidth exch def pop pop pop pop /XIImageMatrix exch def XIBitsPerPixel 1 eq { XIImageWidth 8 div ceiling cvi } { XIImageWidth XIChannelCount mul } ifelse /XIBuffer exch string def XIBinary { /XIDataProc { currentfile XIBuffer readstring pop } def XIVersion 6 le { currentfile 128 string readline pop pop } if } { /XIDataProc { currentfile XIBuffer readhexstring pop } def } ifelse XIVersion 6 le { 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if } if XIMask { XIImageWidth XIImageHeight false [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load imagemask } { XIImageWidth XIImageHeight XIBitsPerPixel [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load XIChannelCount 1 eq { gsave 0 setgray image grestore } { false XIChannelCount colorimage } ifelse } ifelse grestore end } def end currentpacking true setpacking userdict /Adobe_Illustrator_AI5_vars 107 dict dup begin put /_eo false def /_lp /none def /_pf { } def /_ps { } def /_psf { } def /_pss { } def /_pjsf { } def /_pjss { } def /_pola 0 def /_doClip 0 def /cf currentflat def /_lineorientation 0 def /_charorientation 0 def /_yokoorientation 0 def /_tm matrix def /_renderStart [ /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 ] def /_renderEnd [ null null null null /i1 /i1 /i1 /i1 ] def /_render -1 def /_shift [0 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 /_fontSize 0 def /_fontAscent 0 def /_fontDescent 0 def /_fontHeight 0 def /_fontRotateAdjust 0 def /Ss 256 string def Ss 0 (fonts/) putinterval /_cnt 0 def /_scale [1 1] def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def /_tDict 2 dict def /_hfname 100 string def /_hffound false def /Tx { } def /Tj { } def /CRender { } def /_AI3_savepage { } def /_gf null def /_cf 4 array def /_rgbf 3 array def /_if null def /_of false def /_fc { } def /_gs null def /_cs 4 array def /_rgbs 3 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 /_lobyte 0 def /_hibyte 0 def /_cproc null def /_cscript 0 def /_hvax 0 def /_hvay 0 def /_hvwb 0 def /_hvcx 0 def /_hvcy 0 def /_bitfont null def /_bitlobyte 0 def /_bithibyte 0 def /_bitkey null def /_bitdata null def /_bitindex 0 def /discardSave null def /buffer 256 string def /beginString null def /endString null def /endStringLength null def /layerCnt 1 def /layerCount 1 def /perCent (%) 0 get def /perCentSeen? false def /newBuff null def /newBuffButFirst null def /newBuffLast null def /clipForward? false def end userdict /Adobe_Illustrator_AI5 known not { userdict /Adobe_Illustrator_AI5 95 dict put } if userdict /Adobe_Illustrator_AI5 get begin /initialize { Adobe_Illustrator_AI5 dup begin Adobe_Illustrator_AI5_vars begin discardDict { bind pop pop } forall dup /nc get begin { dup xcheck 1 index type /operatortype ne and { bind } if pop pop } forall end newpath } def /terminate { end end } def /_ null def /ddef { Adobe_Illustrator_AI5_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 /hswj { dup stringwidth 3 2 roll { _hvwb eq { exch _hvcx add exch _hvcy add } if exch _hvax add exch _hvay add } cforall } def /vswj { 0 0 3 -1 roll { dup 255 le _charorientation 1 eq and { dup cstring stringwidth 5 2 roll _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub 4 -1 roll sub exch 3 -1 roll sub exch } { _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub _fontHeight sub } ifelse } cforall } def /swj { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hswj } { vswj } ifelse } def /sw { 0 0 0 6 3 roll swj } def /vjss { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto gsave false charpath currentpoint 5 index setmatrix stroke grestore _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto gsave 2 index false charpath 6 index setmatrix stroke grestore moveto pop pop } ifelse } cforall 6 npop } def /hjss { 4 1 roll { dup cstring gsave false charpath currentpoint 5 index setmatrix stroke grestore moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jss { _lineorientation 0 eq { hjss } { vjss } ifelse } def /ss { 0 0 0 7 3 roll jss } def /vjsp { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto false charpath currentpoint _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto 2 index false charpath moveto pop pop } ifelse } cforall 6 npop } def /hjsp { 4 1 roll { dup cstring false charpath _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jsp { matrix currentmatrix _lineorientation 0 eq {hjsp} {vjsp} ifelse } def /sp { matrix currentmatrix 0 0 0 7 3 roll _lineorientation 0 eq {hjsp} {vjsp} ifelse } 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 /XR { 0 ne /_eo exch ddef } def /H { } def /h { closepath } def /N { _pola 0 eq { _doClip 1 eq { _eo {eoclip} {clip} ifelse /_doClip 0 ddef } if newpath } { /CRender { N } ddef } ifelse } def /n { N } def /F { _pola 0 eq { _doClip 1 eq { gsave _pf grestore _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 newpath } 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 clipForward? { nulldevice } if 6 1 roll 4 npop concat pop userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } def /~ { end _i restore } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /Xa { _rgbf astore pop /_fc { _lp /fill ne { _of setoverprint _rgbf aload pop setrgbcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XA { _rgbs astore pop /_sc { _lp /stroke ne { _os setoverprint _rgbs aload pop setrgbcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /_rgbtocmyk { 3 { 1 exch sub 3 1 roll } repeat 3 copy 1 4 1 roll 3 { 3 index 2 copy gt { exch } if pop 4 1 roll } repeat pop pop pop 4 1 roll 3 { 3 index sub 3 1 roll } repeat 4 -1 roll } def /Xx { exch /_gf exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XX { exch /_gs exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_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 /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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /A { pop } def /annotatepage { userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse } def /XT { pop pop } def /discard { save /discardSave exch store discardDict begin /endString exch store gt38? { 2 add } if load stopped pop end discardSave restore } bind def userdict /discardDict 7 dict dup begin put /pre38Initialize { /endStringLength endString length store /newBuff buffer 0 endStringLength getinterval store /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store /newBuffLast newBuff endStringLength 1 sub 1 getinterval store } def /shiftBuffer { newBuff 0 newBuffButFirst putinterval newBuffLast 0 currentfile read not { stop } if put } def 0 { pre38Initialize mark currentfile newBuff readstring exch pop { { newBuff endString eq { cleartomark stop } if shiftBuffer } loop } { stop } ifelse } def 1 { pre38Initialize /beginString exch store mark currentfile newBuff readstring exch pop { { newBuff beginString eq { /layerCount dup load 1 add store } { newBuff endString eq { /layerCount dup load 1 sub store layerCount 0 eq { cleartomark stop } if } if } ifelse shiftBuffer } loop } if } def 2 { mark { currentfile buffer readline not { stop } if endString eq { cleartomark stop } if } loop } def 3 { /beginString exch store /layerCnt 1 store mark { currentfile buffer readline not { stop } if dup beginString eq { pop /layerCnt dup load 1 add store } { endString eq { layerCnt 1 eq { cleartomark stop } { /layerCnt dup load 1 sub store } ifelse } if } ifelse } loop } def end userdict /clipRenderOff 15 dict dup begin put { /n /N /s /S /f /F /b /B } { { _doClip 1 eq { /_doClip 0 ddef _eo {eoclip} {clip} ifelse } if newpath } def } forall /Tr /pop load def /Bb {} def /BB /pop load def /Bg {12 npop} def /Bm {6 npop} def /Bc /Bm load def /Bh {4 npop} def end /Lb { 4 npop 6 1 roll pop 4 1 roll pop pop pop 0 eq { 0 eq { (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard } { /clipForward? true def /Tx /pop load def /Tj /pop load def currentdict end clipRenderOff begin begin } ifelse } { 0 eq { save /discardSave exch store } if } ifelse } bind def /LB { discardSave dup null ne { restore } { pop clipForward? { currentdict end end begin /clipForward? false ddef } if } ifelse } bind def /Pb { pop pop 0 (%AI5_EndPalette) discard } bind def /Np { 0 (%AI5_End_NonPrinting--) discard } bind def /Ln /pop load def /Ap /pop load def /Ar { 72 exch div 0 dtransform dup mul exch dup mul add sqrt dup 1 lt { pop 1 } if setflat } def /Mb { q } def /Md { } def /MB { Q } def /nc 4 dict def nc begin /setgray { pop } bind def /setcmykcolor { 4 npop } bind def /setrgbcolor { 3 npop } bind def /setcustomcolor { 2 npop } bind def currentdict readonly pop end end setpacking currentpacking true setpacking userdict /Adobe_cshow 14 dict dup begin put /initialize { Adobe_cshow begin Adobe_cshow { dup xcheck { bind } if pop pop } forall end Adobe_cshow begin } def /terminate { currentdict Adobe_cshow eq { end } if } def /cforall { /_lobyte 0 ddef /_hibyte 0 ddef /_cproc exch ddef /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef { /_lobyte exch ddef _hibyte 0 eq _cscript 1 eq _lobyte 129 ge _lobyte 159 le and _lobyte 224 ge _lobyte 252 le and or and _cscript 2 eq _lobyte 161 ge _lobyte 254 le and and _cscript 3 eq _lobyte 161 ge _lobyte 254 le and and _cscript 25 eq _lobyte 161 ge _lobyte 254 le and and _cscript -1 eq or or or or and { /_hibyte _lobyte ddef } { _hibyte 256 mul _lobyte add _cproc /_hibyte 0 ddef } ifelse } forall } def /cstring { dup 256 lt { (s) dup 0 4 3 roll put } { dup 256 idiv exch 256 mod (hl) dup dup 0 6 5 roll put 1 4 3 roll put } ifelse } def /clength { 0 exch { 256 lt { 1 } { 2 } ifelse add } cforall } def /hawidthshow { { dup cstring show _hvax _hvay rmoveto _hvwb eq { _hvcx _hvcy rmoveto } if } cforall } def /vawidthshow { { dup 255 le _charorientation 1 eq and { -90 rotate 0 _fontRotateAdjust rmoveto cstring _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow 0 _fontRotateAdjust neg rmoveto 90 rotate } { currentpoint _fontHeight sub exch _hvay sub exch _hvax sub 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if 3 2 roll cstring dup stringwidth pop 2 div neg _fontAscent neg rmoveto show moveto } ifelse } cforall } def /hvawidthshow { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse } def /hvwidthshow { 0 0 3 -1 roll hvawidthshow } def /hvashow { 0 0 0 6 -3 roll hvawidthshow } def /hvshow { 0 0 0 0 0 6 -1 roll hvawidthshow } def currentdict readonly pop end setpacking Adobe_level2_AI5 /initialize get exec Adobe_cshow /initialize get exec Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec Adobe_ColorImage_AI6 /initialize get exec Adobe_Illustrator_AI5 /initialize get exec [ 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft /quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark /scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar 168/dieresis/copyright/ordfeminine 172/logicalnot 174/registered/macron/ring /plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla /onesuperior/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave /Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute /Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde /Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute /acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex /edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute /ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis TE %AI55J_Tsume: None %AI3_BeginEncoding: _Helvetica Helvetica [/_Helvetica/Helvetica 0 0 1 TZ %AI3_EndEncoding AdobeType %AI5_Begin_NonPrinting Np %AI3_BeginPattern: (Arrow1.2.out/in) (Arrow1.2.out/in) 1 1 39.4039 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 33.9039 15.6187 m 39.4247 20.202 L 39.4247 20.202 L 33.8869 24.6252 L S 39.2997 20.202 m 24.5706 20.202 l 20.4039 20.4792 20.4039 16.8125 v 20.4039 13.1458 20.4039 12.5625 y S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Arrow1.2.side) (Arrow1.2.side) 1 1 39.404 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.202 20.202 m 39.404 20.202 l S 33.904 15.6187 m 39.4248 20.202 L 39.4248 20.202 L 33.887 24.6252 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Bricks) (Bricks) 1.6 1.6 73.6 73.6 [ %AI3_Tile (0 O 0 R 0.3 0.85 0.85 0 k 0.3 0.85 0.85 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 1.6 m 1.6 73.6 L 73.6 73.6 L 73.6 1.6 L 1.6 1.6 L f %AI6_EndPatternLayer ) & (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 70.01 m 73.6 70.01 l S 1.6 62.809 m 73.6 62.809 L S 1.6 55.609 m 73.6 55.609 L S 1.6 48.408 m 73.6 48.408 L S 1.6 41.208 m 73.6 41.208 L S 1.6 34.007 m 73.6 34.007 L S 1.6 26.807 m 73.6 26.807 L S 1.6 19.606 m 73.6 19.606 L S 1.6 12.406 m 73.6 12.406 L S 1.6 5.206 m 73.6 5.206 L S 70.01 70.01 m 70.01 62.822 l S 55.61 70.01 m 55.61 62.822 L S 41.21 70.01 m 41.21 62.822 L S 26.81 70.01 m 26.81 62.822 L S 12.41 70.01 m 12.41 62.822 L S 70.01 55.572 m 70.01 48.385 l S 55.61 55.572 m 55.61 48.385 L S 41.21 55.572 m 41.21 48.385 L S 26.81 55.572 m 26.81 48.385 L S 12.41 55.572 m 12.41 48.385 L S 70.01 41.197 m 70.01 34.01 l S 55.61 41.197 m 55.61 34.01 L S 41.21 41.197 m 41.21 34.01 L S 26.81 41.197 m 26.81 34.01 L S 12.41 41.197 m 12.41 34.01 L S 70.01 26.822 m 70.01 19.635 l S 55.61 26.822 m 55.61 19.635 L S 41.21 26.822 m 41.21 19.635 L S 26.81 26.822 m 26.81 19.635 L S 12.41 26.822 m 12.41 19.635 L S 70.01 12.385 m 70.01 5.197 l S 55.61 12.385 m 55.61 5.197 L S 41.21 12.385 m 41.21 5.197 L S 26.81 12.385 m 26.81 5.197 L S 12.41 12.385 m 12.41 5.197 L S 62.797 5.197 m 62.797 1.6 L S 48.397 5.197 m 48.397 1.6 L S 33.997 5.197 m 33.997 1.6 L S 19.597 5.197 m 19.597 1.6 L S 5.197 5.197 m 5.197 1.6 l S 62.797 19.635 m 62.797 12.447 L S 48.397 19.635 m 48.397 12.447 L S 33.997 19.635 m 33.997 12.447 L S 19.597 19.635 m 19.597 12.447 L S 5.197 19.635 m 5.197 12.447 l S 62.797 34.01 m 62.797 26.822 L S 48.397 34.01 m 48.397 26.822 L S 19.597 34.01 m 19.597 26.822 L S 5.197 34.01 m 5.197 26.822 l S 62.797 48.385 m 62.797 41.197 L S 48.397 48.385 m 48.397 41.197 L S 33.997 48.385 m 33.997 41.197 L S 19.597 48.385 m 19.597 41.197 L S 5.197 48.385 m 5.197 41.197 l S 62.797 62.822 m 62.797 55.635 L S 48.397 62.822 m 48.397 55.635 L S 33.997 62.822 m 33.997 55.635 L S 19.597 62.822 m 19.597 55.635 L S 5.197 62.822 m 5.197 55.635 l S 62.797 73.5589 m 62.797 70.072 L S 48.397 73.5589 m 48.397 70.072 L S 33.997 73.5589 m 33.997 70.072 L S 19.597 73.5589 m 19.597 70.072 L S 5.197 73.5589 m 5.197 70.072 l S 33.997 34.01 m 33.997 26.822 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks) (Checks) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 0 XR 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 1 XR 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Confetti) (Confetti) 4.85 3.617 76.85 75.617 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.85 3.617 m 4.85 75.617 L 76.85 75.617 L 76.85 3.617 L 4.85 3.617 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.6 64.867 m 7.85 62.867 l S 9.1 8.617 m 6.85 6.867 l S 78.1 68.617 m 74.85 67.867 l S 76.85 56.867 m 74.35 55.117 l S 79.6 51.617 m 76.6 51.617 l S 76.35 44.117 m 73.6 45.867 l S 78.6 35.867 m 76.6 34.367 l S 76.1 23.867 m 73.35 26.117 l S 78.1 12.867 m 73.85 13.617 l S 68.35 14.617 m 66.1 12.867 l S 76.6 30.617 m 73.6 30.617 l S 62.85 58.117 m 60.956 60.941 l S 32.85 59.617 m 31.196 62.181 l S 47.891 64.061 m 49.744 66.742 l S 72.814 2.769 m 73.928 5.729 l S 67.976 2.633 m 67.35 5.909 l S 61.85 27.617 m 59.956 30.441 l S 53.504 56.053 m 51.85 58.617 l S 52.762 1.779 m 52.876 4.776 l S 45.391 5.311 m 47.244 7.992 l S 37.062 3.375 m 35.639 5.43 l S 55.165 34.828 m 57.518 37.491 l S 20.795 3.242 m 22.12 5.193 l S 14.097 4.747 m 15.008 8.965 l S 9.736 1.91 m 8.073 4.225 l S 31.891 5.573 m 32.005 8.571 l S 12.1 70.367 m 15.6 68.867 l S 9.35 54.867 m 9.6 58.117 l S 12.85 31.867 m 14.35 28.117 l S 10.1 37.367 m 12.35 41.117 l S 34.1 71.117 m 31.85 68.617 l S 38.35 71.117 m 41.6 68.367 l S 55.1 71.117 m 58.35 69.117 l S 57.35 65.117 m 55.35 61.867 l S 64.35 66.367 m 69.35 68.617 l S 71.85 62.867 m 69.35 61.117 l S 23.6 70.867 m 23.6 67.867 l S 20.6 65.867 m 17.35 65.367 l S 24.85 61.367 m 25.35 58.117 l S 25.85 65.867 m 29.35 66.617 l S 14.1 54.117 m 16.85 56.117 l S 12.35 11.617 m 12.6 15.617 l S 12.1 19.867 m 14.35 22.367 l S 26.1 9.867 m 23.6 13.367 l S 34.6 47.117 m 32.1 45.367 l S 62.6 41.867 m 59.85 43.367 l S 31.6 35.617 m 27.85 36.367 l S 36.35 26.117 m 34.35 24.617 l S 33.85 14.117 m 31.1 16.367 l S 37.1 9.867 m 35.1 11.117 l S 34.35 20.867 m 31.35 20.867 l S 44.6 56.617 m 42.1 54.867 l S 47.35 51.367 m 44.35 51.367 l S 44.1 43.867 m 41.35 45.617 l S 43.35 33.117 m 42.6 30.617 l S 43.85 23.617 m 41.1 25.867 l S 44.35 15.617 m 42.35 16.867 l S 67.823 31.1 m 64.823 31.1 l S 27.1 32.617 m 29.6 30.867 l S 31.85 55.117 m 34.85 55.117 l S 19.6 40.867 m 22.1 39.117 l S 16.85 35.617 m 19.85 35.617 l S 20.1 28.117 m 22.85 29.867 l S 52.1 42.617 m 54.484 44.178 l S 52.437 50.146 m 54.821 48.325 l S 59.572 54.133 m 59.35 51.117 l S 50.185 10.055 m 53.234 9.928 l S 51.187 15.896 m 53.571 14.075 l S 58.322 19.883 m 59.445 16.823 l S 53.1 32.117 m 50.6 30.367 l S 52.85 24.617 m 49.6 25.617 l S 61.85 9.117 m 59.1 10.867 l S 69.35 34.617 m 66.6 36.367 l S 67.1 23.617 m 65.1 22.117 l S 24.435 46.055 m 27.484 45.928 l S 25.437 51.896 m 27.821 50.075 l S 62.6 47.117 m 65.321 46.575 l S 19.85 19.867 m 20.35 16.617 l S 21.85 21.867 m 25.35 22.617 l S 37.6 62.867 m 41.6 62.117 l S 38.323 42.1 m 38.823 38.6 l S 69.35 52.617 m 66.85 53.867 l S 14.85 62.117 m 18.1 59.367 l S 9.6 46.117 m 7.1 44.367 l S 20.6 51.617 m 18.6 50.117 l S 46.141 70.811 m 47.994 73.492 l S 69.391 40.561 m 71.244 43.242 l S 38.641 49.311 m 39.35 52.117 l S 25.141 16.811 m 25.85 19.617 l S 36.6 32.867 m 34.6 31.367 l S 6.1 68.617 m 2.85 67.867 l S 4.85 56.867 m 2.35 55.117 l S 7.6 51.617 m 4.6 51.617 l S 6.6 35.867 m 4.6 34.367 l S 6.1 12.867 m 1.85 13.617 l S 4.6 30.617 m 1.6 30.617 l S 72.814 74.769 m 73.928 77.729 l S 67.976 74.633 m 67.35 77.909 l S 52.762 73.779 m 52.876 76.776 l S 37.062 75.375 m 35.639 77.43 l S 20.795 75.242 m 22.12 77.193 l S 9.736 73.91 m 8.073 76.225 l S 10.1 23.617 m 6.35 24.367 l S 73.217 18.276 m 71.323 21.1 l S 28.823 39.6 m 29.505 42.389 l S 49.6 38.617 m 47.6 37.117 l S 60.323 73.6 m 62.323 76.6 l S 60.323 1.6 m 62.323 4.6 l S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.inner) (DblLine1.2.inner) 1 1 39.2705 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2702 22.175 m 39.2702 13.6108 L 26.66 13.6108 L 26.66 1.0003 L 18.0958 1.0003 L 18.0948 22.175 L 18.0958 22.175 L 18.0958 22.1752 L 39.2702 22.175 L f 39.2708 24.6929 m 15.5779 24.6929 L 15.5779 1.0003 L 14.9037 1.0003 L 14.9032 25.3675 L 39.2708 25.3675 L 39.2708 24.6929 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.outer) (DblLine1.2.outer) 1 1.0003 39.2706 39.271 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2708 26.6602 m 13.6111 26.6602 L 13.6111 1.0005 L 22.1751 1 L 22.1751 18.096 L 39.2708 18.096 L 39.2708 26.6602 L f 39.2708 15.578 m 24.6928 15.578 L 24.6928 1 L 25.367 1 L 25.367 14.9038 L 39.2708 14.9038 L 39.2708 15.578 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.side) (DblLine1.2.side) 1 1 39.2706 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2704 18.0958 m 39.2704 26.6598 L 1.0001 26.6598 L 1.0001 18.0958 L 39.2704 18.0958 L f 39.2704 14.9037 m 39.2704 15.5776 L 1.0001 15.5776 L 1.0001 14.9037 L 39.2704 14.9037 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds) (Diamonds) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 XR 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Hexagon) (Hexagon) 4 1.6 70.151 77.983 [ %AI3_Tile (0 O 0 R 0 1 0.35 0 k 0 1 0.35 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 70.151 77.983 m 70.151 1.6 L 4 1.6 L 4 77.983 L 70.151 77.983 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.9921 1 0 0 k 0.9921 1 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.538 30.244 m S 26.05 20.696 m 15.025 20.696 L 9.513 30.244 L 15.025 39.792 L 26.05 39.792 L 31.564 30.244 L 26.05 20.696 L s 20.537 11.148 m S 26.05 1.6 m 15.024 1.6 L 9.512 11.148 L 15.024 20.696 L 26.05 20.696 L 31.563 11.148 L 26.05 1.6 L s 53.614 30.244 m S 59.126 20.696 m 48.101 20.696 L 42.589 30.244 L 48.101 39.792 L 59.126 39.792 L 64.639 30.244 L 59.126 20.696 L s 53.614 11.148 m S 59.126 1.6 m 48.101 1.6 L 42.588 11.148 L 48.101 20.696 L 59.126 20.696 L 64.638 11.148 L 59.126 1.6 L s 20.538 68.436 m S 26.051 58.888 m 15.025 58.888 L 9.513 68.436 L 15.025 77.984 L 26.051 77.984 L 31.564 68.436 L 26.051 58.888 L s 20.538 49.34 m S 26.051 39.792 m 15.025 39.792 L 9.513 49.34 L 15.025 58.888 L 26.05 58.888 L 31.564 49.34 L 26.051 39.792 L s 53.614 68.436 m S 59.127 58.888 m 48.102 58.888 L 42.589 68.436 L 48.101 77.985 L 59.127 77.985 L 64.639 68.436 L 59.127 58.888 L s 53.614 49.34 m S 59.127 39.792 m 48.101 39.792 L 42.589 49.34 L 48.101 58.888 L 59.127 58.888 L 64.639 49.341 L 59.127 39.792 L s 4 20.696 m S 3.876 30.244 m 9.512 30.244 L 15.024 20.696 L 9.512 11.147 L 3.876 11.147 L S 37.075 20.696 m S 42.588 11.148 m 31.563 11.148 L 26.05 20.696 L 31.563 30.244 L 42.589 30.244 L 48.101 20.696 L 42.588 11.148 L s 37.076 58.888 m S 42.589 49.34 m 31.564 49.34 L 26.05 58.888 L 31.564 68.436 L 42.589 68.436 L 48.101 58.888 L 42.589 49.34 L s 70.151 20.696 m S 70.2094 11.147 m 64.639 11.147 L 59.127 20.696 L 64.639 30.244 L 70.2094 30.244 L S 70.152 58.888 m S 70.0427 49.34 m 64.639 49.34 L 59.127 58.888 L 64.639 68.436 L 70.0427 68.436 L S 4 58.888 m S 3.876 68.436 m 9.513 68.436 L 15.025 58.888 L 9.513 49.34 L 3.876 49.34 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.inner) (Laurel.inner) 1 1 28.5392 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 19.2768 15.3585 m 28.9144 15.3585 L 28.9144 14.2335 L 19.2768 14.2335 L 19.2768 15.3585 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.7461 18.9624 m 13.0264 17.8486 11.3273 14.4193 11.3273 10.0362 c 11.3273 5.6547 12.9768 2.1518 14.744 1.1112 C 14.7443 1.1112 L 16.4707 2.1518 18.1679 5.6547 18.1679 10.0362 c 18.1679 14.4143 16.432 17.8633 14.7461 18.9624 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.outer) (Laurel.outer) 1 1.3751 28.5393 28.9143 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.2395 10.6375 m 14.2395 1 L 15.3645 1 L 15.3645 10.6375 L 14.2395 10.6375 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.5769 15.124 m 11.6906 16.8438 15.1198 18.5429 19.503 18.5429 c 23.8844 18.5429 27.3874 16.8935 28.428 15.1262 C 28.428 15.1259 L 27.3874 13.3995 23.8844 11.7023 19.503 11.7023 c 15.1249 11.7023 11.676 13.4382 10.5769 15.124 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.side) (Laurel.side) 1.3972 1 28.9364 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.1571 15.2998 m 1 15.2998 L 1 14.1748 L 29.1571 14.1748 L 29.1571 15.2998 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 27.4787 m 1.5899 25.4751 2.8132 21.8488 5.9125 18.7494 c 9.0107 15.6513 12.654 14.3407 14.6395 14.8545 C 14.6398 14.8547 L 15.1246 16.8113 13.8478 20.4883 10.7496 23.5865 c 7.6538 26.6824 3.9876 27.8936 2.0183 27.4787 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 2.0091 m 1.5899 4.0126 2.8132 7.6389 5.9125 10.7382 c 9.0107 13.8365 12.654 15.147 14.6395 14.6332 C 14.6398 14.633 L 15.1246 12.6765 13.8478 8.9993 10.7496 5.9011 c 7.6538 2.8054 3.9876 1.5941 2.0183 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 2.0091 m 15.3925 4.0126 16.6159 7.6389 19.7152 10.7382 c 22.8134 13.8365 26.4567 15.147 28.4422 14.6332 C 28.4424 14.633 L 28.9273 12.6765 27.6505 8.9993 24.5523 5.9011 c 21.4565 2.8054 17.7903 1.5941 15.821 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 27.4787 m 15.3925 25.4751 16.6159 21.8488 19.7152 18.7494 c 22.8134 15.6513 26.4567 14.3407 28.4422 14.8545 C 28.4424 14.8547 L 28.9273 16.8113 27.6505 20.4883 24.5523 23.5865 c 21.4565 26.6824 17.7903 27.8936 15.821 27.4787 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Leaves-fall) (Leaves-fall) 1 1 52.733 89.816 [ %AI3_Tile (0 O 0 R 0.05 0.2 1 0 k 0.05 0.2 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 52.733 89.816 m 52.733 1 L 1 1 L 1 89.816 L 52.733 89.816 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.83 0 1 0 k 0.83 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 25.317 2.083 m 25.994 2.283 26.284 2.435 V 24.815 5.147 29.266 9.428 30.186 10.168 C 30.787 9.943 30.907 7.41 30.23 6.073 C 31.073 6.196 33.262 4.818 34.02 3.529 C 34.085 4.217 35.655 7.158 36.481 7.535 C 35.561 7.933 34.896 9.406 34.134 10.854 C 35.156 11.021 36.555 10.1 38.026 9.195 C 38.541 9.996 39.915 10.968 41.174 11.484 C 40.086 12.171 39.591 12.912 39.094 14.372 C 38.052 13.806 35.865 13.657 35.336 13.944 C 35.85 15.057 38.096 15.6 38.827 15.547 C 38.573 16.409 38.425 18.562 38.598 21.155 C 36.939 19.839 35.393 18.522 33.734 18.58 C 34.003 17.158 33.367 15.353 32.99 14.86 C 32.417 15.604 32.006 16.431 32.361 18.408 C 30.908 18.893 29.671 19.439 28.297 20.697 C 28.297 18.866 27.725 17.664 26.857 16.388 C 28.117 15.9 29.389 14.697 29.385 13.658 C 28.537 13.81 26.845 14.554 26.352 15.547 C 25.634 14.8 23.95 13.491 22.346 13.487 C 23.534 12.632 24.454 11.598 24.549 9.686 C 25.802 10.657 28.255 11.272 29.635 10.674 C 24.794 6.438 25.262 3.405 25.317 2.083 C f 12.412 33.743 m 11.887 33.272 11.691 33.01 V 14.182 31.192 11.928 25.366 11.415 24.303 C 10.776 24.247 9.369 26.988 9.405 28.486 C 8.273 27.73 6.608 27.851 5.006 28.137 C 5.578 27.049 5.177 25.104 4.376 24.303 C 5.378 24.339 6.729 23.624 8.038 22.643 C 7.203 21.823 5.376 21.984 3.46 22.643 C 3.46 21.27 2.638 19.533 1.801 18.351 C 3.117 18.408 4.262 17.722 5.12 16.691 C 5.785 18.26 7.819 19.373 8.725 19.324 C 8.742 17.959 7.169 15.869 6.147 15.47 C 6.747 14.801 7.766 13.27 8.725 10.854 C 9.524 12.78 10.694 14.022 11.927 14.955 C 10.785 16.517 10.959 17.388 11.358 18.866 C 12.101 18.325 13.132 17.893 13.303 15.89 C 15.02 16.176 16.156 16.104 17.653 15.203 C 17.198 16.865 17.195 18.466 17.515 20.166 C 15.665 20.026 14.105 20.239 13.075 21.728 C 13.905 21.955 16.165 22.014 17.039 21.082 C 17.366 22.064 18.261 23.47 19.707 24.164 C 18.267 24.424 17.282 25.523 16.373 27.209 C 15.66 25.793 13.433 24.128 11.93 24.073 C 13.933 28.137 13.933 31.055 12.412 33.743 C f 31.125 30.5 m 31.445 31.128 31.648 31.385 V 34.045 29.444 38.851 32.752 39.746 33.521 C 39.636 34.153 37.511 35.29 35.794 34.26 C 36.234 35.549 35.332 37.51 34.134 38.552 C 35.873 38.451 38.019 39.813 38.541 40.555 C 38.763 39.577 39.946 38.307 41.231 37.293 C 41.582 38.266 40.887 40.384 39.971 41.986 C 41.206 42.487 42.318 43.417 42.776 44.676 C 43.233 43.359 44.236 42.685 45.58 41.929 C 44.421 40.502 43.64 38.328 43.92 37.465 C 45.243 37.8 46.814 40.518 46.937 41.607 C 47.812 40.841 49.366 40.154 51.947 39.848 C 50.246 38.77 49.884 36.778 49.3 35.347 C 48.152 35.794 45.983 35.853 45.008 35.29 C 45.721 34.711 47.061 34.16 49.071 34.146 C 49.071 32.601 49.534 31.469 50.788 30.254 C 49.065 30.267 46.965 29.781 45.469 29.389 C 45.221 30.718 44.378 32.314 43.233 32.715 C 43.227 31.854 43.493 29.605 44.378 28.938 C 43.513 28.37 42.26 26.993 41.803 25.276 C 41.181 26.601 40.32 27.906 38.457 28.35 C 39.642 29.403 40.477 31.42 40.143 32.887 C 35.091 28.905 32.414 30.203 31.125 30.5 C f 25.317 46.491 m 25.994 46.691 26.284 46.843 V 24.815 49.556 29.266 53.837 30.186 54.576 C 30.787 54.351 30.907 51.818 30.23 50.482 C 31.073 50.605 33.262 49.227 34.02 47.938 C 34.085 48.625 35.655 51.566 36.481 51.944 C 35.561 52.341 34.896 53.814 34.134 55.263 C 35.156 55.43 36.555 54.508 38.026 53.603 C 38.541 54.404 39.915 55.377 41.174 55.892 C 40.086 56.579 39.591 57.321 39.094 58.78 C 38.052 58.215 35.865 58.065 35.336 58.353 C 35.85 59.465 38.096 60.008 38.827 59.955 C 38.573 60.817 38.425 62.97 38.598 65.563 C 36.939 64.247 35.393 62.931 33.734 62.988 C 34.003 61.567 33.367 59.761 32.99 59.268 C 32.417 60.012 32.006 60.839 32.361 62.817 C 30.908 63.302 29.671 63.847 28.297 65.106 C 28.297 63.274 27.725 62.073 26.857 60.796 C 28.117 60.308 29.389 59.106 29.385 58.067 C 28.537 58.219 26.845 58.963 26.352 59.955 C 25.634 59.209 23.95 57.899 22.346 57.895 C 23.534 57.041 24.454 56.006 24.549 54.094 C 25.802 55.065 28.255 55.68 29.635 55.083 C 24.794 50.846 25.262 47.814 25.317 46.491 C f 12.412 78.151 m 11.887 77.68 11.691 77.418 V 14.182 75.601 11.928 69.774 11.415 68.711 C 10.776 68.655 9.369 71.396 9.405 72.894 C 8.273 72.138 6.608 72.259 5.006 72.545 C 5.578 71.458 5.177 69.512 4.376 68.711 C 5.378 68.747 6.729 68.032 8.038 67.052 C 7.203 66.231 5.376 66.393 3.46 67.052 C 3.46 65.678 2.638 63.941 1.801 62.759 C 3.117 62.817 4.262 62.13 5.12 61.1 C 5.785 62.669 7.819 63.781 8.725 63.732 C 8.742 62.367 7.169 60.277 6.147 59.878 C 6.747 59.209 7.766 57.678 8.725 55.263 C 9.524 57.189 10.694 58.431 11.927 59.364 C 10.785 60.925 10.959 61.796 11.358 63.274 C 12.101 62.734 13.132 62.301 13.303 60.298 C 15.02 60.584 16.156 60.512 17.653 59.612 C 17.198 61.273 17.195 62.874 17.515 64.574 C 15.665 64.434 14.105 64.648 13.075 66.136 C 13.905 66.363 16.165 66.422 17.039 65.49 C 17.366 66.472 18.261 67.878 19.707 68.572 C 18.267 68.832 17.282 69.931 16.373 71.617 C 15.66 70.202 13.433 68.536 11.93 68.482 C 13.933 72.545 13.933 75.464 12.412 78.151 C f 31.125 74.908 m 31.445 75.537 31.648 75.794 V 34.045 73.853 38.851 77.161 39.746 77.929 C 39.636 78.562 37.511 79.698 35.794 78.668 C 36.234 79.957 35.332 81.918 34.134 82.96 C 35.873 82.86 38.019 84.221 38.541 84.963 C 38.763 83.986 39.946 82.716 41.231 81.701 C 41.582 82.675 40.887 84.792 39.971 86.394 C 41.206 86.895 42.318 87.825 42.776 89.084 C 43.233 87.768 44.236 87.093 45.58 86.337 C 44.421 84.91 43.64 82.736 43.92 81.873 C 45.243 82.208 46.814 84.926 46.937 86.016 C 47.812 85.249 49.366 84.563 51.947 84.257 C 50.246 83.179 49.884 81.187 49.3 79.756 C 48.152 80.203 45.983 80.262 45.008 79.698 C 45.721 79.119 47.061 78.569 49.071 78.554 C 49.071 77.009 49.534 75.877 50.788 74.663 C 49.065 74.675 46.965 74.189 45.469 73.798 C 45.221 75.126 44.378 76.723 43.233 77.123 C 43.227 76.262 43.493 74.013 44.378 73.347 C 43.513 72.779 42.26 71.401 41.803 69.684 C 41.181 71.009 40.32 72.314 38.457 72.759 C 39.642 73.812 40.477 75.829 40.143 77.295 C 35.091 73.313 32.414 74.611 31.125 74.908 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots) (Polka dots) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 1 XR 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 0 XR 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 1 XR 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 0 XR 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 1 XR 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Random circles) (Random circles) 4.365 3.849 51.13 57.85 [ %AI3_Tile (0 O 0 R 0 0.1125 0.45 0 k 0 0.1125 0.45 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.365 3.849 m 4.365 57.85 L 51.13 57.85 L 51.13 3.849 L 4.365 3.849 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.4 0.7 1 0 k 0.4 0.7 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 45.429 36.274 m 45.843 36.991 45.598 37.908 44.88 38.323 c 44.163 38.737 43.245 38.491 42.831 37.774 c 42.417 37.056 42.663 36.139 43.38 35.725 c 44.098 35.31 45.015 35.556 45.429 36.274 c s 44.179 27.926 m 43.765 28.643 42.848 28.889 42.13 28.475 c 41.413 28.06 41.167 27.143 41.581 26.425 c 41.995 25.708 42.913 25.462 43.63 25.876 c 44.348 26.291 44.593 27.208 44.179 27.926 c s 35.929 41.024 m 35.515 41.741 34.598 41.987 33.88 41.573 c 33.163 41.158 32.917 40.241 33.331 39.524 c 33.745 38.806 34.663 38.56 35.38 38.975 c 36.098 39.389 36.343 40.306 35.929 41.024 c s 28.38 34.225 m 28.794 34.942 28.549 35.859 27.831 36.274 c 27.114 36.688 26.196 36.442 25.782 35.725 c 25.368 35.007 25.614 34.09 26.331 33.675 c 27.049 33.261 27.966 33.507 28.38 34.225 c s 31.179 28.024 m 30.765 28.741 29.848 28.987 29.13 28.573 c 28.413 28.158 28.167 27.241 28.581 26.524 c 28.995 25.806 29.913 25.56 30.63 25.975 c 31.348 26.389 31.593 27.306 31.179 28.024 c s 36.792 23.349 m 35.963 23.349 35.292 22.678 35.292 21.849 c 35.292 21.021 35.963 20.349 36.792 20.349 c 37.62 20.349 38.292 21.021 38.292 21.849 c 38.292 22.678 37.62 23.349 36.792 23.349 c s 10.888 34.175 m 10.474 34.893 10.72 35.81 11.437 36.225 c 12.155 36.639 13.072 36.393 13.486 35.675 c 13.901 34.958 13.655 34.041 12.937 33.626 c 12.22 33.212 11.303 33.458 10.888 34.175 c s 11.517 26.601 m 11.931 27.318 12.848 27.564 13.566 27.15 c 14.283 26.735 14.529 25.818 14.115 25.1 c 13.701 24.383 12.783 24.137 12.066 24.551 c 11.348 24.966 11.103 25.883 11.517 26.601 c s 16.782 41.426 m 17.196 42.143 18.114 42.389 18.831 41.975 c 19.549 41.56 19.794 40.643 19.38 39.926 c 18.966 39.208 18.049 38.962 17.331 39.377 c 16.614 39.791 16.368 40.708 16.782 41.426 c s 22.365 24.35 m 23.194 24.35 23.865 23.678 23.865 22.85 c 23.865 22.021 23.194 21.35 22.365 21.35 c 21.537 21.35 20.865 22.021 20.865 22.85 c 20.865 23.678 21.537 24.35 22.365 24.35 c s 45.385 7.849 m 44.971 7.132 44.053 6.886 43.336 7.3 c 42.619 7.714 42.373 8.632 42.787 9.349 c 43.201 10.067 44.119 10.312 44.836 9.898 c 45.553 9.484 45.799 8.567 45.385 7.849 c s 29.679 7.774 m 29.265 7.056 28.348 6.81 27.63 7.225 c 26.913 7.639 26.667 8.556 27.081 9.274 c 27.495 9.991 28.413 10.237 29.13 9.823 c 29.848 9.408 30.093 8.491 29.679 7.774 c s 35.542 11.349 m 34.713 11.349 34.042 12.021 34.042 12.849 c 34.042 13.678 34.713 14.349 35.542 14.349 c 36.37 14.349 37.042 13.678 37.042 12.849 c 37.042 12.021 36.37 11.349 35.542 11.349 c s 10.13 7.475 m 10.544 6.757 11.462 6.511 12.179 6.926 c 12.897 7.34 13.142 8.257 12.728 8.975 c 12.314 9.692 11.397 9.938 10.679 9.524 c 9.962 9.109 9.716 8.192 10.13 7.475 c s 20.203 13.349 m 21.031 13.349 21.703 14.021 21.703 14.849 c 21.703 15.678 21.031 16.349 20.203 16.349 c 19.375 16.349 18.703 15.678 18.703 14.849 c 18.703 14.021 19.375 13.349 20.203 13.349 c s 44.635 54.1 m 45.049 53.382 44.803 52.465 44.086 52.051 c 43.369 51.636 42.451 51.882 42.037 52.6 c 41.623 53.317 41.869 54.234 42.586 54.649 c 43.303 55.063 44.221 54.817 44.635 54.1 c s 36.841 48.1 m 36.427 47.382 35.509 47.136 34.792 47.551 c 34.074 47.965 33.828 48.882 34.243 49.6 c 34.657 50.317 35.574 50.563 36.292 50.149 c 37.009 49.734 37.255 48.817 36.841 48.1 c s 29.728 54.725 m 30.143 54.007 29.897 53.09 29.179 52.675 c 28.462 52.261 27.544 52.507 27.13 53.225 c 26.716 53.942 26.962 54.859 27.679 55.274 c 28.397 55.688 29.314 55.442 29.728 54.725 c s 10.86 54.1 m 10.446 53.382 10.691 52.465 11.409 52.051 c 12.126 51.636 13.044 51.882 13.458 52.6 c 13.872 53.317 13.626 54.234 12.909 54.649 c 12.191 55.063 11.274 54.817 10.86 54.1 c s 19.154 49.1 m 19.568 48.382 20.486 48.136 21.203 48.551 c 21.92 48.965 22.166 49.882 21.752 50.6 c 21.338 51.317 20.42 51.563 19.703 51.149 c 18.986 50.734 18.74 49.817 19.154 49.1 c s 51.88 38.85 m 51.052 38.85 50.38 39.521 50.38 40.35 c 50.38 41.178 51.052 41.85 51.88 41.85 c 52.709 41.85 53.38 41.178 53.38 40.35 c 53.38 39.521 52.709 38.85 51.88 38.85 c s 51.865 11.349 m 52.693 11.349 53.365 12.021 53.365 12.849 c 53.365 13.678 52.693 14.349 51.865 14.349 c 51.036 14.349 50.365 13.678 50.365 12.849 c 50.365 12.021 51.036 11.349 51.865 11.349 c s 30.179 18.524 m 29.765 19.241 28.848 19.487 28.13 19.073 c 27.413 18.658 27.167 17.741 27.581 17.024 c 27.995 16.306 28.913 16.06 29.63 16.475 c 30.348 16.889 30.593 17.806 30.179 18.524 c s 21.679 31.524 m 21.265 32.241 20.348 32.487 19.63 32.073 c 18.913 31.658 18.667 30.741 19.081 30.024 c 19.495 29.306 20.413 29.06 21.13 29.475 c 21.848 29.889 22.093 30.806 21.679 31.524 c s 37.914 33.399 m 37.5 34.116 36.583 34.362 35.865 33.948 c 35.148 33.533 34.902 32.616 35.316 31.899 c 35.73 31.181 36.648 30.935 37.365 31.35 c 38.083 31.764 38.328 32.681 37.914 33.399 c s 28.929 45.024 m 28.515 45.741 27.598 45.987 26.88 45.573 c 26.163 45.158 25.917 44.241 26.331 43.524 c 26.745 42.806 27.663 42.56 28.38 42.975 c 29.098 43.389 29.343 44.306 28.929 45.024 c s 12.429 45.524 m 12.015 46.241 11.098 46.487 10.38 46.073 c 9.663 45.658 9.417 44.741 9.831 44.024 c 10.245 43.306 11.163 43.06 11.88 43.475 c 12.598 43.889 12.843 44.806 12.429 45.524 c s 44.49 45.6 m 44.075 46.317 43.158 46.563 42.441 46.149 c 41.723 45.734 41.477 44.817 41.891 44.1 c 42.306 43.382 43.223 43.136 43.941 43.55 c 44.658 43.965 44.904 44.882 44.49 45.6 c s 12.679 18.524 m 12.265 19.241 11.348 19.487 10.63 19.073 c 9.913 18.658 9.667 17.741 10.081 17.024 c 10.495 16.306 11.413 16.06 12.13 16.475 c 12.848 16.889 13.093 17.806 12.679 18.524 c s 21.179 5.774 m 20.765 6.491 19.848 6.737 19.13 6.323 c 18.413 5.908 18.167 4.991 18.581 4.274 c 18.995 3.557 19.913 3.311 20.63 3.725 c 21.348 4.139 21.593 5.056 21.179 5.774 c s 38.929 5.274 m 38.515 5.991 37.598 6.237 36.88 5.823 c 36.163 5.408 35.917 4.491 36.331 3.774 c 36.745 3.057 37.663 2.811 38.38 3.225 c 39.098 3.639 39.343 4.556 38.929 5.274 c s 43.865 18.1 m 44.694 18.1 45.365 17.429 45.365 16.6 c 45.365 15.772 44.694 15.1 43.865 15.1 c 43.037 15.1 42.365 15.772 42.365 16.6 c 42.365 17.429 43.037 18.1 43.865 18.1 c s 51.13 4.6 m 50.302 4.6 49.63 3.928 49.63 3.1 c 49.63 2.272 50.302 1.6 51.13 1.6 c 51.959 1.6 52.63 2.272 52.63 3.1 c 52.63 3.928 51.959 4.6 51.13 4.6 c s 52.163 31.649 m 51.748 32.366 50.831 32.612 50.114 32.198 c 49.396 31.783 49.15 30.866 49.565 30.149 c 49.979 29.431 50.896 29.185 51.614 29.6 c 52.331 30.014 52.577 30.931 52.163 31.649 c s 51.85 51.35 m 51.021 51.35 50.35 50.678 50.35 49.85 c 50.35 49.021 51.021 48.35 51.85 48.35 c 52.678 48.35 53.35 49.021 53.35 49.85 c 53.35 50.678 52.678 51.35 51.85 51.35 c s 49.85 23.1 m 50.679 23.1 51.35 22.428 51.35 21.6 c 51.35 20.771 50.679 20.1 49.85 20.1 c 49.022 20.1 48.35 20.771 48.35 21.6 c 48.35 22.428 49.022 23.1 49.85 23.1 c s 5.13 38.85 m 4.302 38.85 3.63 39.521 3.63 40.35 c 3.63 41.178 4.302 41.85 5.13 41.85 c 5.959 41.85 6.63 41.178 6.63 40.35 c 6.63 39.521 5.959 38.85 5.13 38.85 c s 5.115 11.349 m 5.943 11.349 6.615 12.021 6.615 12.849 c 6.615 13.678 5.943 14.349 5.115 14.349 c 4.286 14.349 3.615 13.678 3.615 12.849 c 3.615 12.021 4.286 11.349 5.115 11.349 c s 4.38 4.6 m 3.552 4.6 2.88 3.928 2.88 3.1 c 2.88 2.272 3.552 1.6 4.38 1.6 c 5.209 1.6 5.88 2.272 5.88 3.1 c 5.88 3.928 5.209 4.6 4.38 4.6 c s 5.413 31.649 m 4.998 32.366 4.081 32.612 3.364 32.198 c 2.646 31.783 2.4 30.866 2.815 30.149 c 3.229 29.431 4.146 29.185 4.864 29.6 c 5.581 30.014 5.827 30.931 5.413 31.649 c s 5.1 51.35 m 4.271 51.35 3.6 50.678 3.6 49.85 c 3.6 49.021 4.271 48.35 5.1 48.35 c 5.928 48.35 6.6 49.021 6.6 49.85 c 6.6 50.678 5.928 51.35 5.1 51.35 c s 3.1 23.1 m 3.929 23.1 4.6 22.428 4.6 21.6 c 4.6 20.771 3.929 20.1 3.1 20.1 c 2.272 20.1 1.6 20.771 1.6 21.6 c 1.6 22.428 2.272 23.1 3.1 23.1 c s 21.194 59.775 m 20.78 60.492 19.863 60.738 19.145 60.324 c 18.428 59.909 18.182 58.992 18.596 58.275 c 19.01 57.558 19.928 57.312 20.645 57.726 c 21.363 58.14 21.608 59.057 21.194 59.775 c s 38.944 59.275 m 38.53 59.992 37.613 60.238 36.895 59.824 c 36.178 59.409 35.932 58.492 36.346 57.775 c 36.76 57.058 37.678 56.812 38.395 57.226 c 39.113 57.64 39.358 58.557 38.944 59.275 c s 51.145 58.601 m 50.317 58.601 49.645 57.929 49.645 57.101 c 49.645 56.273 50.317 55.601 51.145 55.601 c 51.974 55.601 52.645 56.273 52.645 57.101 c 52.645 57.929 51.974 58.601 51.145 58.601 c s 4.395 58.601 m 3.567 58.601 2.895 57.929 2.895 57.101 c 2.895 56.273 3.567 55.601 4.395 55.601 c 5.224 55.601 5.895 56.273 5.895 57.101 c 5.895 57.929 5.224 58.601 4.395 58.601 c s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Rope.side) (Rope.side) 1 4.6 60.9998 33.3999 [ %AI3_Tile (0 O 0 R 0 0 0 1 k 0 0 0 1 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 1 j 0.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 24.9999 7 m 15.6521 4.663 8.125 8.6981 1 14.1407 C S 36.9999 7 m 22.3477 3.337 12.168 15.3276 1 23.859 C S 48.9999 7 m 29.3464 2.0866 17.7386 25.3332 1 30.6213 C S 1 30.9999 m 24.9999 36.9999 36.9999 1 60.9998 7 C S 13 30.9999 m 32.6534 35.9133 44.2611 12.6667 60.9998 7.3786 C S 24.9999 30.9999 m 39.652 34.6629 49.8317 22.6722 60.9998 14.1407 C S 36.9999 30.9999 m 46.3476 33.3369 53.8749 29.3018 60.9998 23.859 C S 48.9999 30.9999 m 53.3464 32.0865 57.2978 31.7908 60.9998 30.6213 C S 13 7 m 8.6535 5.9134 4.7019 6.2091 1 7.3786 C S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Scales) (Scales) 1.6 9.3475 48.088 55.8355 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 9.3475 m 1.6 55.8355 L 48.088 55.8355 L 48.088 9.3475 L 1.6 9.3475 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 17.0956 9.3475 m 12.8162 9.3475 9.3475 5.8787 9.3475 1.6 C 9.3475 5.8787 5.8787 9.3475 1.6 9.3475 C 1.6 13.6262 5.0687 17.095 9.3475 17.095 c 13.6268 17.095 17.0956 13.6262 17.0956 9.3475 C s 32.5918 9.3475 m 28.3125 9.3475 24.8437 5.8787 24.8437 1.6 C 24.8437 5.8787 21.3743 9.3475 17.0956 9.3475 C 17.0956 13.6262 20.5644 17.095 24.8437 17.095 c 29.1224 17.095 32.5918 13.6262 32.5918 9.3475 C s 48.088 9.3475 m 43.8087 9.3475 40.3399 5.8787 40.3399 1.6 C 40.3399 5.8787 36.8705 9.3475 32.5918 9.3475 C 32.5918 13.6262 36.0606 17.095 40.3399 17.095 c 44.6186 17.095 48.088 13.6262 48.088 9.3475 C s 17.0956 40.3393 m 12.8162 40.3393 9.3475 36.8699 9.3475 32.5912 C 9.3475 36.8699 5.8787 40.3393 1.6 40.3393 C 1.6 44.6181 5.0687 48.0874 9.3475 48.0874 c 13.6268 48.0874 17.0956 44.6181 17.0956 40.3393 C s 17.0956 24.8431 m 12.8162 24.8431 9.3475 21.3743 9.3475 17.095 C 9.3475 21.3743 5.8787 24.8431 1.6 24.8431 C 1.6 29.1218 5.0687 32.5912 9.3475 32.5912 c 13.6268 32.5912 17.0956 29.1218 17.0956 24.8431 C s 32.5918 24.8431 m 28.3125 24.8431 24.8437 21.3743 24.8437 17.095 C 24.8437 21.3743 21.3743 24.8431 17.0956 24.8431 C 17.0956 29.1218 20.5644 32.5912 24.8437 32.5912 c 29.1224 32.5912 32.5918 29.1218 32.5918 24.8431 C s 48.088 24.8431 m 43.8087 24.8431 40.3399 21.3743 40.3399 17.095 C 40.3399 21.3743 36.8705 24.8431 32.5918 24.8431 C 32.5918 29.1218 36.0606 32.5912 40.3399 32.5912 c 44.6186 32.5912 48.088 29.1218 48.088 24.8431 C s 32.5918 40.3393 m 28.3125 40.3393 24.8437 36.8699 24.8437 32.5912 C 24.8437 36.8699 21.3743 40.3393 17.0956 40.3393 C 17.0956 44.6181 20.5644 48.0874 24.8437 48.0874 c 29.1224 48.0874 32.5918 44.6181 32.5918 40.3393 C s 48.088 40.3393 m 43.8087 40.3393 40.3399 36.8699 40.3399 32.5912 C 40.3399 36.8699 36.8705 40.3393 32.5918 40.3393 C 32.5918 44.6181 36.0606 48.0874 40.3399 48.0874 c 44.6186 48.0874 48.088 44.6181 48.088 40.3393 C s 17.0956 55.8355 m 12.8162 55.8355 9.3475 52.3662 9.3475 48.0874 C 9.3475 52.3662 5.8787 55.8355 1.6 55.8355 C 1.6 60.1143 5.0687 63.5836 9.3475 63.5836 c 13.6268 63.5836 17.0956 60.1143 17.0956 55.8355 C s 32.5918 55.8355 m 28.3125 55.8355 24.8437 52.3662 24.8437 48.0874 C 24.8437 52.3662 21.3743 55.8355 17.0956 55.8355 C 17.0956 60.1143 20.5644 63.5836 24.8437 63.5836 c 29.1224 63.5836 32.5918 60.1143 32.5918 55.8355 C s 48.088 55.8355 m 43.8087 55.8355 40.3399 52.3662 40.3399 48.0874 C 40.3399 52.3662 36.8705 55.8355 32.5918 55.8355 C 32.5918 60.1143 36.0606 63.5836 40.3399 63.5836 c 44.6186 63.5836 48.088 60.1143 48.088 55.8355 C s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (SolidStar.side) (SolidStar.side) 1 1 33.0117 33.0117 [ %AI3_Tile (0 O 0 R 0.05 0.2 0.95 0 k 0.05 0.2 0.95 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 7.9689 26.0458 m 14.5331 22.9874 l 17.0095 29.7904 L 19.4859 22.9874 l 26.0473 26.0458 l 22.9889 19.4815 l 29.792 17.0052 l 22.9889 14.5288 l 26.0473 7.9674 l 19.4859 11.0257 l 17.0095 4.2226 l 14.5305 11.0257 l 7.9689 7.9674 l 11.0273 14.5288 l 4.2242 17.0052 l 11.0273 19.4843 L 7.9689 26.0458 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars) (Stars) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 1 XR 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stripes) (Stripes) 8.45 4.6001 80.45 76.6001 [ %AI3_Tile (0 O 0 R 1 0.07 1 0 k 1 0.07 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 8.2 8.2 m 80.7 8.2 L S 8.2 22.6001 m 80.7 22.6001 L S 8.2 37.0002 m 80.7 37.0002 L S 8.2 51.4 m 80.7 51.4 L S 8.2 65.8001 m 80.7 65.8001 L S 8.2 15.4 m 80.7 15.4 L S 8.2 29.8001 m 80.7 29.8001 L S 8.2 44.2 m 80.7 44.2 L S 8.2 58.6001 m 80.7 58.6001 L S 8.2 73.0002 m 80.7 73.0002 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.outer) (TriBevel.outer) 1 1.0004 31.6124 31.6127 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6118 5.4917 m 27.1221 5.4917 L 27.1205 1.0011 L 27.8031 1.0011 L 27.8031 4.8091 L 31.6118 4.8091 L 31.6118 5.4917 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 9.5062 m 23.1111 9.5062 L 23.1111 1.0015 L 27.1205 1.0015 L 27.1205 5.493 L 31.6144 5.493 L 31.6149 9.5062 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 10.485 m 22.1297 10.485 L 22.1292 1.0015 L 23.1084 1.0015 L 23.1084 9.5049 L 31.6124 9.5049 L 31.6124 10.485 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6129 17.2066 m 15.4064 17.2085 L 15.4064 1 L 22.1301 1 L 22.1301 10.4868 L 31.6129 10.4868 L 31.6129 17.2066 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 18.3658 m 14.2517 18.3658 L 14.2515 1.0009 L 15.4043 1.0009 L 15.4043 17.2093 L 31.6149 17.2093 L 31.6149 18.3658 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 30.4755 m 2.1395 30.4755 L 2.1395 1.0015 L 14.249 1 L 14.249 18.366 L 31.6149 18.366 L 31.6124 30.4755 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.6 k 0 0 0 0.6 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.4066 16.847 m 14.2778 18.3257 l 15.4066 17.2057 l 15.4066 16.847 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 23.1095 9.1906 m 22.1759 10.4392 l 23.1082 9.505 l 23.1095 9.1906 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 27.8039 4.6026 m 27.1619 5.4533 l 27.8029 4.8093 l 27.8039 4.6026 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.side) (TriBevel.side) 1.0006 1 29.0006 31.6124 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29 4.8087 m 29 4.8087 L 29.0026 5.4927 L 1.0026 5.4927 L 1 4.8087 L 1 4.8087 L 29 4.8087 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0026 5.4927 m 29.0005 9.5045 L 1.0005 9.5045 L 1.0026 5.4927 L 29.0026 5.4927 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0005 9.5045 m 29.0011 10.4865 L 1.0011 10.4865 L 1.0005 9.5045 L 29.0005 9.5045 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0011 10.4865 m 29.003 17.209 L 1.003 17.209 L 1.0011 10.4865 L 29.0011 10.4865 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.003 17.209 m 29.0031 18.3656 L 1.0031 18.3656 L 1.003 17.209 L 29.003 17.209 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0031 18.3656 m 29.0006 30.4752 L 1.0006 30.4752 L 1.0031 18.3656 L 29.0031 18.3656 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Waves-scroll) (Waves-scroll) 17.926 10.516 68.663 69.012 [ %AI3_Tile (0 O 0 R 1 0 0.3 0 k 1 0 0.3 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 17.926 69.012 m 17.926 10.516 L 68.663 10.516 L 68.663 69.012 L 17.926 69.012 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.55 0 0 0 k 0.55 0 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.75 w 4 M []0 d %AI3_Note: 0 D 0 XR 65.335 70.465 m 65.881 68.746 67.444 68.168 68.663 69.012 C 67.538 69.668 68.011 71.255 69.686 70.933 c 72.124 70.464 71.894 67.213 70.53 65.589 c 68.561 63.245 64.565 60.995 53.241 71.117 C S 39.964 70.465 m 40.511 68.746 42.074 68.168 43.293 69.012 C 42.168 69.668 42.64 71.255 44.316 70.933 c 46.753 70.464 46.524 67.213 45.16 65.589 c 43.191 63.245 39.195 60.995 27.87 71.117 c S 14.594 70.465 m 15.141 68.746 16.704 68.168 17.923 69.012 C 16.798 69.668 17.27 71.255 18.945 70.933 c 21.382 70.464 21.153 67.213 19.789 65.589 c 17.821 63.245 13.825 60.995 2.5 71.117 c S 10.959 51.619 m 22.282 41.497 26.278 43.747 28.247 46.09 c 29.611 47.715 29.841 50.965 27.403 51.434 c 25.728 51.757 25.255 50.169 26.38 49.513 C 25.161 48.669 23.599 49.248 23.052 50.966 c 22.723 51.997 23.38 53.966 24.872 54.903 c 27.267 56.406 31.371 56.05 36.328 51.619 c 47.653 41.497 51.649 43.746 53.618 46.09 c 54.982 47.715 55.212 50.965 52.774 51.434 c 51.099 51.757 50.626 50.169 51.751 49.513 C 50.532 48.669 48.97 49.248 48.423 50.966 c 48.094 51.997 48.751 53.966 50.243 54.903 c 52.638 56.406 56.742 56.05 61.699 51.619 C 73.024 41.497 77.02 43.747 78.988 46.09 c S 70.156 32.12 m 65.199 36.551 61.095 36.907 58.7 35.404 c 57.208 34.468 56.552 32.499 56.88 31.468 c 57.427 29.749 58.99 29.171 60.208 30.015 C 59.083 30.671 59.556 32.258 61.231 31.936 c 63.669 31.467 63.439 28.216 62.075 26.592 c 60.106 24.248 56.11 21.998 44.786 32.12 C 39.829 36.551 35.725 36.907 33.33 35.404 c 31.838 34.468 31.182 32.499 31.51 31.468 c 32.056 29.749 33.619 29.171 34.838 30.015 C 33.713 30.671 34.186 32.258 35.861 31.936 c 38.299 31.467 38.069 28.216 36.705 26.592 c 34.737 24.248 30.74 21.998 19.415 32.12 c 14.458 36.551 10.354 36.907 7.96 35.404 c S 19.792 7.094 m 21.157 8.719 21.386 11.968 18.949 12.437 c 17.274 12.76 16.801 11.172 17.926 10.516 C 16.708 9.673 15.145 10.252 14.598 11.969 c 14.27 13 14.926 14.969 16.418 15.906 c 18.812 17.409 22.916 17.053 27.874 12.622 c 39.199 2.5 43.195 4.75 45.163 7.094 c 46.528 8.719 46.757 11.968 44.32 12.437 c 42.644 12.76 42.172 11.172 43.297 10.516 C 42.078 9.673 40.515 10.252 39.968 11.969 c 39.64 13 40.297 14.969 41.788 15.906 c 44.183 17.409 48.287 17.053 53.245 12.622 C 64.569 2.5 68.565 4.75 70.534 7.094 c 71.898 8.719 72.127 11.968 69.69 12.437 c 68.014 12.76 67.542 11.172 68.667 10.516 C 67.448 9.673 65.885 10.252 65.338 11.969 c 65.011 13 65.667 14.969 67.159 15.906 c 69.553 17.409 73.657 17.053 78.615 12.622 c S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI5_End_NonPrinting-- %AI5_Begin_NonPrinting Np 12 Bn %AI5_BeginGradient: (Black, White) (Black, White) 0 2 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Chrome) (Chrome) 0 6 Bd [ 0 < 464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B 3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130 3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272726262625 2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1B1B1B1B1A 1A1A1A1919191818181817171717161616151515151414141413131312121212111111101010100F 0F0F0F0E0E0E0D0D0D0D0C0C0C0C0B0B0B0A0A0A0A09090909080808070707070606060505050504 04040403030302020202010101010000 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 1F1E1E1E1E1E1E1E1E1E1D1D1D1D1D1D1D1D1C1C1C1C1C1C1C1C1B1B1B1B1B1B1B1B1B1A1A1A1A1A 1A1A1A19191919191919191818181818181818181717171717171717161616161616161615151515 15151515151414141414141414131313131313131312121212121212121211111111111111111010 1010101010100F0F0F0F0F0F0F0F0F0E0E0E0E0E0E0E0E0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C 0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A090909090909090909080808080808080807070707070707 07060606060606060606050505050505050504040404040404040303030303030303030202020202 02020201010101010101010000000000 > 1 %_Br 0 0.275 1 < 6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544 434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F > 1 %_Br 0 < 00000101010102020202030303040404040505050506060607070707080808090909090A0A0A0A0B 0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101011111112121212131313141414141515151516 161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021 212122222222232323232424242525252526262627272727282828282929292A2A2A2A2B2B2B2B2C 2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313132323233333333343434353535353636363637 373738383838393939393A3A3A3B3B3B3B3C3C3C3C3D3D3D3E3E3E3E3F3F3F404040404141414142 42424343434344444444454545464646 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 00000101020203030304040505050606070708080809090A0A0A0B0B0C0C0D0D0D0E0E0F0F101010 1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121 222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232 32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243 4344444445454646474747484849494A4A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354 54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5F5F5F606061616162626363646464 6565666666676768686969696A6A6B6B > 1 %_Br 1 0 %_Br < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141 414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535 35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929 292828282727272626262625252524242423232323222222212121202020201F1F1F1E1E1E1D1D1D 1D1C1C1C1B1B1B1A1A1A1A1919191818181717171716161615151514141414131313121212111111 111010100F0F0F0E0E0E0E0D0D0D0C0C0C0B0B0B0B0A0A0A09090908080808070707060606050505 05040404030303020202020101010000 > 0 0 1 %_Br [ 1 0 50 92 %_Bs 0 0.275 1 0.12 1 50 59 %_Bs 0 0.275 1 0.42 1 50 50 %_Bs 1 0 50 49 %_Bs 1 0 50 41 %_Bs 1 0.3 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Green, Blue) (Green, Blue) 0 2 Bd [ < 99999A9A9B9B9B9C9C9D9D9D9E9E9F9F9FA0A0A1A1A1A2A2A3A3A3A4A4A5A5A5A6A6A7A7A7A8A8A9 A9A9AAAAABABABACACADADADAEAEAFAFAFB0B0B1B1B1B2B2B3B3B3B4B4B5B5B5B6B6B7B7B7B8B8B9 B9B9BABABBBBBBBCBCBDBDBDBEBEBFBFBFC0C0C1C1C1C2C2C3C3C3C4C4C5C5C5C6C6C7C7C7C8C8C9 C9C9CACACBCBCBCCCCCDCDCDCECECFCFCFD0D0D1D1D1D2D2D3D3D3D4D4D5D5D5D6D6D7D7D7D8D8D9 D9D9DADADBDBDBDCDCDDDDDDDEDEDFDFDFE0E0E1E1E1E2E2E3E3E3E4E4E5E5E5E6E6E7E7E7E8E8E9 E9E9EAEAEBEBEBECECEDEDEDEEEEEFEFEFF0F0F1F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F9 F9F9FAFAFBFBFBFCFCFDFDFDFEFEFFFF > < 000102020304050506070808090A0B0B0C0D0E0E0F101111121314141516171718191A1A1B1C1D1D 1E1F20202122232324252626272829292A2B2C2C2D2E2F2F303132323334353536373838393A3B3B 3C3D3E3E3F404141424344444546474748494A4A4B4C4D4D4E4F5050515253535455565657585959 5A5B5C5C5D5E5F5F606162626364656566676868696A6B6B6C6D6E6E6F7071717273747475767777 78797A7A7B7C7D7D7E7F80808182828384858586878888898A8B8B8C8D8E8E8F9091919293949495 96979798999A9A9B9C9D9D9E9FA0A0A1A2A3A3A4A5A6A6A7A8A9A9AAABACACADAEAFAFB0B1B2B2B3 B4B5B5B6B7B8B8B9BABBBBBCBDBEBEBF > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br [ 1 0.75 0 0 1 50 100 %_Bs 0.6 0 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Orange, Green, Violet) (Orange, Green, Violet) 0 3 Bd [ < F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E4E4E4E3E3E3 E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADAD9D9D9D8D8D8D7D7D7D6D6D6 D5D5D5D4D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCCCCCBCBCBCACACAC9C9C9C8 C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBB BBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B2B1B1B1B0B0B0AFAFAFAEAE AEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A7A6A6A6A5A5A5A4A4A4A3A3A3A2A2A2A1A1A1 A0A0A0A09F9F9F9E9E9E9D9D9D9C9C9C > < 5455555657575859595A5A5B5C5C5D5E5E5F5F6061616263636465656666676868696A6A6B6B6C6D 6D6E6F6F707171727273747475767677777879797A7B7B7C7C7D7E7E7F8080818282838384858586 87878888898A8A8B8C8C8D8D8E8F8F909191929393949495969697989899999A9B9B9C9D9D9E9E9F A0A0A1A2A2A3A4A4A5A5A6A7A7A8A9A9AAAAABACACADAEAEAFB0B0B1B1B2B3B3B4B5B5B6B6B7B8B8 B9BABABBBBBCBDBDBEBFBFC0C1C1C2C2C3C4C4C5C6C6C7C7C8C9C9CACBCBCCCCCDCECECFD0D0D1D2 D2D3D3D4D5D5D6D7D7D8D8D9DADADBDCDCDDDDDEDFDFE0E1E1E2E3E3E4E4E5E6E6E7E8E8E9E9EAEB EBECEDEDEEEFEFF0F0F1F2F2F3F4F4F5 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020303030303 > 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0 > < A1A0A0A09F9F9F9E9E9E9D9D9D9D9C9C9C9B9B9B9A9A9A9999999898989797979696969595959594 94949393939292929191919090908F8F8F8E8E8E8E8D8D8D8C8C8C8B8B8B8A8A8A89898988888887 878787868686858585848484838383828282818181808080807F7F7F7E7E7E7D7D7D7C7C7C7B7B7B 7A7A7A79797978787878777777767676757575747474737373727272717171717070706F6F6F6E6E 6E6D6D6D6C6C6C6B6B6B6A6A6A6A6969696868686767676666666565656464646363636262626261 61616060605F5F5F5E5E5E5D5D5D5C5C5C5B5B5B5B5A5A5A59595958585857575756565655555554 54 > < F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD FDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF FF > 0 1 %_Br [ 0.61 0.96 0 0.01 1 50 100 %_Bs 0.94 0.33 1 0 1 50 50 %_Bs 0 0.63 0.96 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Pink, Yellow, Green ) (Pink, Yellow, Green ) 0 3 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4D4E4F50 5152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 > < 05050505050505050505050505050404040404040404040404040404040404040404040403030303 03030303030303030303030303030303030303020202020202020202020202020202020202020202 0201010101010101010101010101010101010101010101000000000000000000000000 > < CCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACACACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C8C8 C8C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C3C3C3C3 C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0C0C0C0BFBFBF > 0 1 %_Br < 0D0D0D0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0B 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A 0A0A0A09090909090909090909090909090909090909090808080808080808080808080808080808 08080807070707070707070707070707070707070706060606060606060606060606060606060605 05050505050505050505050505050505050404040404040404040404040404040404030303030303 03030303030303030303030202020202020202020202020202020201010101010101010101010101 010101000000000000000000 > < B2B2B2B2B1B1B1B0B0B0AFAFAEAEAEADADACACABABAAAAA9A9A8A8A7A7A6A6A5A5A4A4A3A3A2A2A1 A0A09F9F9E9E9D9D9C9B9B9A9A999898979796959594949392929190908F8F8E8D8D8C8B8B8A8989 88888786868584848382828180807F7E7D7D7C7B7B7A7979787777767575747372727170706F6E6D 6D6C6B6B6A69686867666565646363626160605F5E5D5D5C5B5A5A59585757565554545352515150 4F4E4D4D4C4B4A4A4948474646454443434241403F3F3E3D3C3B3B3A393837373635343333323130 2F2F2E2D2C2B2B2A2928272726252423222221201F1E1D1D1C1B1A1918181716151413131211100F 0E0E0D0C0B0A090908070605 > < 0000010101020202030304040505060607070808090A0A0B0B0C0C0D0E0E0F0F1011111213131415 151616171818191A1B1B1C1D1D1E1F1F202122222324242526272728292A2A2B2C2C2D2E2F303031 323333343536363738393A3A3B3C3D3E3E3F4041424243444546464748494A4B4B4C4D4E4F505051 5253545556565758595A5B5B5C5D5E5F6061626263646566676869696A6B6C6D6E6F707171727374 75767778797A7B7B7C7D7E7F80818283848586868788898A8B8C8D8E8F9091929394949596979899 9A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 C1C2C3C4C5C6C7C8C9CACBCC > 0 1 %_Br [ 0.45 0 0.75 0 1 50 100 %_Bs 0 0.02 0.8 0 1 50 64 %_Bs 0.05 0.7 0 0 1 57 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Purple, Red, Yellow) (Purple, Red, Yellow) 0 3 Bd [ 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A > < CCCCCCCDCDCDCDCDCECECECECECFCFCFCFD0D0D0D0D0D1D1D1D1D1D2D2D2D2D2D3D3D3D3D3D4D4D4 D4D5D5D5D5D5D6D6D6D6D6D7D7D7D7D7D8D8D8D8D8D9D9D9D9DADADADADADBDBDBDBDBDCDCDCDCDC DDDDDDDDDDDEDEDEDEDFDFDFDFDFE0E0E0E0E0E1E1E1E1E1E2E2E2E2E2E3E3E3E3E4E4E4E4E4E5E5 E5E5E5E6E6E6E6E6E7E7E7E7E7E8E8E8E8E9E9E9E9E9EAEAEAEAEAEBEBEBEBEBECECECECECEDEDED EDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F1F1F1F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5 F6F6F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFCFCFCFCFDFDFDFDFDFEFE FEFEFEFFFFFF > 0 1 %_Br < E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBE BDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A99989796 9594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E 6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A49484746 4544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E 1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100 > < E5E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9EAEAEAEA EAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEE EEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F3F3F3 F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7 F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFF > < 00010203040405060708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1D1E1F20212223 242525262728292A2B2C2D2D2E2F30313233343535363738393A3B3C3D3D3E3F4041424344454546 4748494A4B4C4D4E4E4F50515253545556565758595A5B5C5D5E5E5F60616263646566666768696A 6B6C6D6E6E6F70717273747576767778797A7B7C7D7E7F7F80818283848586878788898A8B8C8D8E 8F8F90919293949596979798999A9B9C9D9E9F9FA0A1A2A3A4A5A6A7A7A8A9AAABACADAEAFAFB0B1 B2B3B4B5B6B7B8B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C8C9CACBCC > 0 1 %_Br [ 0 0.04 1 0 1 50 100 %_Bs 0 1 0.8 0 1 50 50 %_Bs 0.9 0.9 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Rainbow) (Rainbow) 0 6 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 0 1 %_Br 1 < 0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E 7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 F7F8F9FAFBFCFDFEFF > 0 0 1 %_Br 1 < 00000000000000000000000000000000000001010101010101010101010101010101010101010101 01010101010101010101010101010202020202020202020202020202020202020202020202020202 02020202020202020202030303030303030303030303030303030303030303030303030303030303 03030303030304040404040404040404040404040404040404040404040404040404040404040404 04040505050505050505050505050505050505050505050505050505050505050505050505050606 06060606060606060606060606060606060606060606060606060606060606060606070707070707 07070707070707070707070707070707 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 1 %_Br [ 0 1 0 0 1 50 100 %_Bs 1 1 0 0 1 50 80 %_Bs 1 0.0279 0 0 1 50 60 %_Bs 1 0 1 0 1 50 40 %_Bs 0 0 1 0 1 50 20 %_Bs 0 1 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Steel Bar) (Steel Bar) 0 3 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 70 %_Bs 0 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (White & Red Radial) (White & Red Radial) 1 18 Bd [ 0 1 1 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br [ 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 12.5 %_Bs 0 0 0 0 1 50 12.5 %_Bs 0 0 0 0 1 50 25 %_Bs 0 1 1 0 1 50 25 %_Bs 0 1 1 0 1 50 37.5 %_Bs 0 0 0 0 1 50 37.5 %_Bs 0 0 0 0 1 50 50 %_Bs 0 1 1 0 1 50 50 %_Bs 0 1 1 0 1 50 62.5 %_Bs 0 0 0 0 1 50 62.5 %_Bs 0 0 0 0 1 50 75 %_Bs 0 1 1 0 1 50 75 %_Bs 0 1 1 0 1 50 87.5 %_Bs 0 0 0 0 1 50 87.5 %_Bs 0 0 0 0 1 50 100 %_Bs 0 1 1 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Orange Radial) (Yellow & Orange Radial) 1 2 Bd [ 0 < 0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122 232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748 494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F 707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C > < FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9 F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2 F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E5 > 0 1 %_Br [ 0 0 1 0 1 52 19 %_Bs 0 0.55 0.9 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Purple Radial) (Yellow & Purple Radial) 1 2 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738 393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D 5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182 83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7 A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0 F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF > < ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191 908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776 7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B 5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140 403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626 25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B 0A090908070706050504030302010100 > 0 1 %_Br [ 0 0.08 0.67 0 1 50 14 %_Bs 1 1 0 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow, Violet, Orange, Blue) (Yellow, Violet, Orange, Blue) 0 4 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < A1A1A1A1A2A2A2A2A3A3A3A3A4A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7A7A8A8A8A8A9A9A9A9AAAAAA AAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B0B1B1B1B1B2B2B2B2B3B3B3B3B4 B4B4B4B5B5B5B5B6B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABBBBBBBBBCBCBCBCBCBDBDBD BDBEBEBEBEBFBFBFBFC0C0C0C0C1C1C1C1C2C2C2C2C2C3C3C3C3C4C4C4C4C5C5C5C5C6C6C6C6C7C7 C7C7C8C8C8C8C8C9C9C9C9CACACACACBCBCBCBCCCCCCCCCDCDCDCDCECECECECECFCFCFCFD0D0D0D0 D1D1D1D1D2D2D2D2D3D3D3D3D4D4D4D4D4D5D5D5D5D6D6D6D6D7D7D7D7D8D8D8D8D9D9D9D9DADADA DADADBDBDBDBDCDCDCDCDDDDDDDDDEDE > < F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CF CECDCCCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B4B3B2B1B0AFAEADACABAAA9 A8A7A6A5A4A3A2A1A09F9E9D9C9C9B9A999897969594939291908F8E8D8C8B8A8988878685848483 8281807F7E7D7C7B7A797877767574737271706F6E6D6C6C6B6A696867666564636261605F5E5D5C 5B5A59585756555454535251504F4E4D4C4B4A494847464544434241403F3E3D3C3C3B3A39383736 3534333231302F2E2D2C2B2A29282726252424232221201F1E1D1C1B1A191817161514131211100F 0E0D0C0C0B0A09080706050403020100 > 0 1 %_Br < 9C9B9A9A9998989796969595949393929191908F8F8E8E8D8C8C8B8A8A8989888787868585848383 82828180807F7E7E7D7C7C7B7B7A797978777776757574747372727170706F6E6E6D6D6C6B6B6A69 6968676766666564646362626161605F5F5E5D5D5C5B5B5A5A595858575656555454535352515150 4F4F4E4D4D4C4C4B4A4A4948484746464545444343424141403F3F3E3E3D3C3C3B3A3A3939383737 36353534333332323130302F2E2E2D2C2C2B2B2A292928272726252524242322222120201F1E1E1D 1D1C1B1B1A191918171716161514141312121111100F0F0E0D0D0C0B0B0A0A090808070606050404 030302010100 > < F5F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEAEAEAE9E9E9E8E8E8E7 E7E7E6E6E6E5E5E5E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADA D9D9D9D8D8D8D7D7D7D6D6D6D5D5D5D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCC CCCBCBCBCACACAC9C9C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C0C0C0BFBFBFBE BEBEBDBDBCBCBCBBBBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B1B1B1B0 B0B0AFAFAFAEAEAEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A6A6A6A5A5A5A4A4A4A3A3A3 A2A2A2A1A1A1 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5 > < 03030303030202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020201010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000 > 1 %_Br < 0D0D0E0F0F10101111121313141415161617171819191A1A1B1C1C1D1D1E1E1F2020212122232324 2425262627272828292A2A2B2B2C2D2D2E2E2F30303131323333343435353637373838393A3A3B3B 3C3D3D3E3E3F3F404141424243444445454647474848494A4A4B4B4C4C4D4E4E4F4F505151525253 54545555565757585859595A5B5B5C5C5D5E5E5F5F60616162626363646565666667686869696A6B 6B6C6C6D6E6E6F6F70707172727373747575767677787879797A7B7B7C7C7D7D7E7F7F8080818282 8383848585868687878889898A8A8B8C8C8D8D8E8F8F90909192929393949495969697979899999A 9A9B9C > < 08090A0B0C0D0E0F0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F40404142434445464748494A4B4C4D4E4F505152535455 565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717172737475767778797A7B7C 7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A2A3 A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB CCCDCECFD0D1D2D3D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 F3F4F5 > < F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCB CAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3 A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B 7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A59585756555453 5251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B 2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403 020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020303 030303 > 1 %_Br [ 1 0.87 0 0 1 50 95 %_Bs 0 0.63 0.96 0 1 50 65 %_Bs 0.61 0.96 0 0.01 1 50 35 %_Bs 0.05 0.03 0.95 0 1 50 5 %_Bs BD %AI5_EndGradient %AI5_End_NonPrinting-- %AI5_BeginPalette 0 0 Pb 0 0 0 0 k (C=0 M=0 Y=0 K=0) Pc 0 0 0 1 k (C=0 M=0 Y=0 K=100) Pc 0 0.45 0.6 0 k (C=0 M=45 Y=60 K=0) Pc 0 0.5 0.05 0 k (C=0 M=50 Y=5 K=0) Pc 0 0.9 1 0 k (C=0 M=90 Y=100 K=0) Pc 1 0.2 1 0 k (C=100 M=20 Y=100 K=0) Pc 1 0.4 0.15 0 k (C=100 M=40 Y=15 K=0) Pc 0.2 0 1 0 k (C=20 M=0 Y=100 K=0) Pc 0.25 1 0.25 0 k (C=25 M=100 Y=25 K=0) Pc 0.4 0.4 0.4 0 k (C=40 M=40 Y=40 K=0) Pc 0.4 0.7 1 0 k (C=40 M=70 Y=100 K=0) Pc 0.75 0.9 0 0 k (C=75 M=90 Y=0 K=0) Pc 1 0 0.55 0 (Aqua) 0 x (Aqua) Pc 1 0.5 0 0 (Blue) 0 x (Blue) Pc 0.5 0.4 0.3 0 (Blue Gray) 0 x (Blue Gray) Pc 0.8 0.05 0 0 (Blue Sky) 0 x (Blue Sky) Pc 0.5 0.85 1 0 (Brown) 0 x (Brown) Pc 1 0.9 0.1 0 (Dark Blue) 0 x (Dark Blue) Pc 1 0.55 1 0 (Forest Green) 0 x (Forest Green) Pc 0.05 0.2 0.95 0 (Gold) 0 x (Gold) Pc 0.75 0.05 1 0 (Grass Green) 0 x (Grass Green) Pc 0 0.45 1 0 (Orange) 0 x (Orange) Pc 0.15 1 1 0 (Red) 0 x (Red) Pc 0.45 0.9 0 0 (Violet) 0 x (Violet) Pc Bb 2 (Black, White) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Black, White) Pc Bb 2 (Chrome) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Chrome) Pc Bb 2 (Green, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Green, Blue) Pc Bb 2 (Orange, Green, Violet) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Orange, Green, Violet) Pc Bb 2 (Pink, Yellow, Green ) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Pink, Yellow, Green ) Pc Bb 2 (Purple, Red, Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Purple, Red, Yellow) Pc Bb 2 (Rainbow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Rainbow) Pc Bb 2 (Steel Bar) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Steel Bar) Pc Bb 0 0 0 0 Bh 2 (White & Red Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (White & Red Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Orange Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Orange Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Purple Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Purple Radial) Pc Bb 2 (Yellow, Violet, Orange, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow, Violet, Orange, Blue) Pc (Arrow1.2.out/in) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.out/in) Pc (Arrow1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.side) Pc (Bricks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Bricks) Pc (Checks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Checks) Pc (Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Confetti) Pc (DblLine1.2.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.inner) Pc (DblLine1.2.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.outer) Pc (DblLine1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.side) Pc (Diamonds) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Diamonds) Pc (Hexagon) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Hexagon) Pc (Laurel.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.inner) Pc (Laurel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.outer) Pc (Laurel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.side) Pc (Leaves-fall) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Leaves-fall) Pc (Polka dots) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Polka dots) Pc (Random circles) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Random circles) Pc (Rope.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Rope.side) Pc (Scales) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Scales) Pc (SolidStar.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (SolidStar.side) Pc (Stars) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stars) Pc (Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stripes) Pc (TriBevel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.outer) Pc (TriBevel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.side) Pc (Waves-scroll) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Waves-scroll) Pc PB %AI5_EndPalette %AI5_BeginLayer 1 1 1 1 0 0 0 79 128 255 Lb (Layer 1) Ln 0 A u u 1 Ap 0 O 0 0 0 0 k 0 R 0 0 0 1 K 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 91.3333 366.9819 m 119.0601 366.9819 141.5379 374.2634 141.5379 383.2453 c 141.5379 392.2273 119.0601 399.5088 91.3333 399.5088 c 63.6065 399.5088 41.1288 392.2273 41.1288 383.2453 c 41.1288 374.2634 63.6065 366.9819 91.3333 366.9819 c b 0 To 1 0 0 1 91.3333 380.4213 0 Tp 0 Tv TP -25.4449 0 Td 0 Tr 0 0 0 1 k %_ 0 50 XQ /_Helvetica 10 9.31 -2.2499 Tf 0 Ts 100 100 Tz 0 Tt %_0 0 100 100 Xu %AI55J_GlyphSubst: GlyphSubstNone 1 TA %_ 0 XL 0 TY 0 TV 36 0 Xb XB 0 0 5 TC 100 100 200 TW 25 TG 0 0 0 Ti 1 Ta 0 0 2 2 3 Th 0 Tq 0 Tg 0 0 Tl 0 Tc 0 Tw (ret #F) Tx 1 80 Tk (ALSE) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 260.6667 366.9819 m 288.3935 366.9819 310.8712 374.2634 310.8712 383.2453 c 310.8712 392.2273 288.3935 399.5088 260.6667 399.5088 c 232.9398 399.5088 210.4621 392.2273 210.4621 383.2453 c 210.4621 374.2634 232.9398 366.9819 260.6667 366.9819 c b 0 To 1 0 0 1 260.6667 380.4213 0 Tp 0 Tv TP -23.4148 0 Td 0 Tr 0 0 0 1 k (ret #TR) Tx 1 40 Tk (UE) Tx 1 0 Tk (\r) TX TO U U 0 0 0 0 k 0 R 0 0 0 1 K [2 ]0 d 328 563.5 m 328 663 L 137 663 L 137 563.5 L 328 563.5 L b u u []0 d 263.625 576.4611 m 291.3518 576.4611 313.8296 583.7426 313.8296 592.7245 c 313.8296 601.7064 291.3518 608.988 263.625 608.988 c 235.8982 608.988 213.4204 601.7064 213.4204 592.7245 c 213.4204 583.7426 235.8982 576.4611 263.625 576.4611 c b 0 To 1 0 0 1 263.625 594.6505 0 Tp 0 Tv TP -20.8449 0 Td 0 Tr 0 0 0 1 k (ld [26], r1\r) Tx 1 0 Tk -0.555 -12 Td (jeq r1, #A) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 203.25 617.4573 m 230.9768 617.4573 253.4546 624.7388 253.4546 633.7207 c 253.4546 642.7027 230.9768 649.9842 203.25 649.9842 c 175.5232 649.9842 153.0454 642.7027 153.0454 633.7207 c 153.0454 624.7388 175.5232 617.4573 203.25 617.4573 c b u 0 To 1 0 0 1 205.25 639.1467 0 Tp 0 Tv TP -17.7182 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8.5 7.9135 -1.9124 Tf (lh [12], r0\r) Tx 1 0 Tk -29.3926 -10 Td (jeq r0, #ETHER) Tx 1 30 Tk (TYPE_IP) Tx 1 0 Tk (\r) TX TO U U U u 0 0 0 0 k 0 R 0 0 0 1 K [2 ]0 d 224.75 435.25 m 224.75 534.75 L 33.75 534.75 L 33.75 435.25 L 224.75 435.25 L b u u []0 d 160.375 448.2111 m 188.1018 448.2111 210.5796 455.4926 210.5796 464.4745 c 210.5796 473.4564 188.1018 480.738 160.375 480.738 c 132.6482 480.738 110.1704 473.4564 110.1704 464.4745 c 110.1704 455.4926 132.6482 448.2111 160.375 448.2111 c b 0 To 1 0 0 1 160.375 466.4005 0 Tp 0 Tv TP -20.8449 0 Td 0 Tr 0 0 0 1 k /_Helvetica 10 9.31 -2.2499 Tf (ld [26], r3\r) Tx 1 0 Tk -0.555 -12 Td (jeq r3, #B) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 100 489.2073 m 127.7268 489.2073 150.2046 496.4888 150.2046 505.4707 c 150.2046 514.4527 127.7268 521.7342 100 521.7342 c 72.2732 521.7342 49.7954 514.4527 49.7954 505.4707 c 49.7954 496.4888 72.2732 489.2073 100 489.2073 c b u 0 To 1 0 0 1 101 510.3967 0 Tp 0 Tv TP -17.7182 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8.5 7.9135 -1.9124 Tf (lh [12], r2\r) Tx 1 0 Tk -29.3926 -10 Td (jeq r2, #ETHER) Tx 1 30 Tk (TYPE_IP) Tx 1 0 Tk (\r) TX TO U U U U 0 Ap 0 R 0 0 0 1 K 239.625 622.5 m 259.875 611 l B 262.9485 609.2548 m 257.6188 609.9444 l 259.649 611.1286 l 259.626 613.4788 l 262.9485 609.2548 l f u 0 0 0 0 k 1 R 0 0 0 1 K 171 621 m 93.3333 525.3333 l B 0 0 0 1 k 91.1081 522.5924 m 92.666 527.7357 l 93.4997 525.5382 l 95.8216 525.1739 l 91.1081 522.5924 l f U u 0 0 0 0 k 1 R 0 0 0 1 K 239.3333 578.3333 m 136.3333 520.3333 l B 0 0 0 1 k 133.2552 518.5975 m 136.5931 522.8095 l 136.5615 520.4593 l 138.5874 519.2677 l 133.2552 518.5975 l f U 0 R 0 0 0 1 K 138.9216 494.3934 m 159.1716 482.8934 l B 162.2451 481.1482 m 156.9154 481.8378 l 158.9456 483.022 l 158.9226 485.3723 l 162.2451 481.1482 l f u 0 R 0 0 0 1 K 70 492.6667 m 71.6667 402 l B 71.7369 398.4718 m 69.6133 403.4086 l 71.6671 402.2656 l 73.6773 403.4834 l 71.7369 398.4718 l f U u 0 R 0 0 0 1 K 143.3333 449 m 121.6667 401.3333 l B 120.2039 398.1158 m 120.4125 403.4859 l 121.7741 401.5701 l 124.1128 401.8038 l 120.2039 398.1158 l f U u 0 R 0 0 0 1 K 184.6667 450.3333 m 221.3333 398 l B 223.3627 395.1068 m 218.8435 398.0151 l 221.1854 398.2144 l 222.1724 400.3475 l 223.3627 395.1068 l f U u 0 R 0 0 0 1 K 289.3333 578.6667 m 276 403 l B 275.7328 399.4796 m 274.0829 404.5942 l 276.02 403.2631 l 278.1358 404.2865 l 275.7328 399.4796 l f U 0 To 1 0 0 1 201.5 609.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr /_Helvetica 9 8.379 -2.0249 Tf (1) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 260.5 359 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (6) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 90.75 359.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (5) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 160.25 440.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (4) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 99.5 481.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (3) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 264 568.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (2) Tx 1 0 Tk (\r) TX TO LB %AI5_EndLayer-- gsave annotatepage grestore showpage Adobe_Illustrator_AI5 /terminate get exec Adobe_ColorImage_AI6 /terminate get exec Adobe_typography_AI5 /terminate get exec Adobe_cshow /terminate get exec Adobe_level2_AI5 /terminate get exec %%EndDocument endTexFig -18 4718 a Fv(Figure)g(3:)k Ft(Unoptimiz)o(ed)18 b(v)n(ersion)i(of)g (\223IP)g(src)i(host)e(A)g(or)g(B\224.)-40 4885 y Fv(Since)i(control)g (must)g(pass)g(through)i Fm(N)1014 4893 y Fs(1)1049 4853 y(5)1105 4885 y Fv(before)e(reaching)h Fm(N)1657 4893 y Fs(3)1692 4885 y Fv(,)f(and)-152 4968 y(since)f Fm(N)83 4976 y Fs(1)138 4968 y Fv(and)g Fm(N)327 4976 y Fs(3)382 4968 y Fv(perform)g(equi)n(v)n(alent)g(tests,)f Fm(N)1203 4976 y Fs(3)1258 4968 y Fv(is)g(redundant.)29 b(Ho)n(w-)-152 5051 y(e)n(v)o(er)m(,)19 b(at)f Fm(N)141 5059 y Fs(3)176 5051 y Fv(,)g(it)g(is)g(not)h(kno)n(wn)g(whether)g(the)g(result)f(is)g (true)h(or)f(f)o(alse,)g(since)p -152 5100 797 4 v -79 5148 a Fq(4)-47 5173 y Fp(Logic)23 b(is)g(in)n(v)o(erted)h(in)g(se)o(v) o(eral)f(places)g(to)h(mak)o(e)g(the)f(conditional)h(branch)g(code)f (more)-152 5239 y(straightforw)o(ard)15 b(to)e(read.)k(The)c(compiler)h (back)e(end)h(optimizes)g(the)g(order)h(of)g(the)f(basic)f(blocks)-152 5306 y(to)j(minimize)g(the)g(need)f(for)h(absolute)f(jumps.)-79 5353 y Fq(5)-47 5378 y Fp(Let)g Fl(N)98 5386 y Fk(i)138 5378 y Fp(denote)h(node)f(i.)2040 -69 y Fv(either)24 b(edge)g(could)g(ha)o(v)o(e)g(been)g(tak)o(en)h(on)f(e)o(xit)f(from)g Fm(N)3559 -61 y Fs(1)3594 -69 y Fv(.)37 b(On)24 b(the)f(other)2040 14 y(hand,)j(we)d(kno)n(w)h(the)g(result)f(of)h Fm(N)2977 22 y Fs(3)3035 14 y Fv(from)g(the)g(v)n(antage)g(point)g(of)g(the)g (in-)2040 97 y(bound)d(edges.)j(Therefore,)19 b(our)h(approach)g(is)f (to)g(\002nd)g(edges)h(that)f(point)g(to)2040 180 y(redundant)i(nodes,) e(and)h(point)f(them)g(past)g(the)g(redundanc)o(y)-5 b(.)2152 263 y(F)o(or)26 b(instance,)j(along)f(edge)f Fm(E)2990 271 y Fs(23)3055 232 y(6)3116 263 y Fv(we)f(kno)n(w)i(that)f Fm(N)3620 271 y Fs(1)3681 263 y Fv(is)f(true;)31 b(and)2040 346 y(since)25 b Fm(N)2279 354 y Fs(1)2338 346 y Fv(and)g Fm(N)2531 354 y Fs(3)2590 346 y Fv(perform)g(equi)n(v)n(alent)g(tests,) g Fm(N)3424 354 y Fs(3)3483 346 y Fv(must)g(be)f(true)g(from)2040 429 y(this)f(v)n(antage)i(point.)37 b(Thus,)25 b(edge)f Fm(E)3048 437 y Fs(23)3136 429 y Fv(can)g(be)g(deleted,)h(and)f(edge)g Fm(E)3968 437 y Fs(24)2040 512 y Fv(inserted.)f(Similarly)-5 b(,)17 b(if)g(\003o)n(w)h(passes)g(along)h Fm(E)3289 520 y Fs(13)3353 512 y Fv(,)f(then)g Fm(N)3597 520 y Fs(3)3650 512 y Fv(will)e(be)j(f)o(alse;)2040 596 y(hence,)29 b Fm(E)2318 604 y Fs(13)2408 596 y Fv(can)e(be)g(replaced)g(by)g Fm(E)3072 604 y Fs(15)3136 596 y Fv(.)45 b(The)26 b(resulting)h(\003o)n (w)f(graph)h(is)2040 679 y(sho)n(wn)21 b(in)e(Figure)g(4.)25 b(A)19 b(reachability)i(analysis)f(will)e(disco)o(v)o(er)i(that)g Fm(N)3929 687 y Fs(3)3983 679 y Fv(is)2040 762 y(no)n(w)g(unreachable)g (and)g(eliminate)f(the)g(dead)g(code)h(from)f(the)g(graph.)2249 869 y 12432751 11840716 328908 23418306 21642199 43679088 startTexFig 2249 869 a %%BeginDocument: figure7a.eps %AI5_FileFormat 3 %AI3_ColorUsage: Black&White %AI3_IncludePlacedImages %AI7_ImageSettings: 1 %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 13 13 599 780 %AI3_DocumentPreview: PC_ColorTIFF %AI5_ArtSize: 612 792 %AI5_RulerUnits: 2 %AI5_ArtFlags: 1 0 0 1 0 0 1 1 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI5_OpenToView: -102 696 2 1144 771 18 0 1 10 62 0 0 %AI5_OpenViewLayers: 7 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 userdict /Adobe_level2_AI5 25 dict dup begin put /packedarray where not { userdict begin /packedarray { array astore readonly } bind def /setpacking /pop load def /currentpacking false def end 0 } if pop userdict /defaultpacking currentpacking put true setpacking /initialize { Adobe_level2_AI5 begin } bind def /terminate { currentdict Adobe_level2_AI5 eq { end } if } bind def mark /setcustomcolor where not { /findcmykcustomcolor { 0 6 packedarray } bind def /findrgbcustomcolor { 1 5 packedarray } bind def /setcustomcolor { exch aload pop 0 eq { pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } { pop 3 { 1 exch sub 3 index mul 1 exch sub 3 1 roll } repeat 4 -1 roll pop setrgbcolor } ifelse } def } if /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put userdict /level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if put /level2ScreenFreq { begin 60 HalftoneType 1 eq { pop Frequency } if HalftoneType 2 eq { pop GrayFrequency } if HalftoneType 5 eq { pop Default level2ScreenFreq } if end } bind def userdict /currentScreenFreq level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put level2? not { /setcmykcolor where not { /setcmykcolor { exch .11 mul add exch .59 mul add exch .3 mul add 1 exch sub setgray } def } if /currentcmykcolor where not { /currentcmykcolor { 0 0 0 1 currentgray sub } def } if /setoverprint where not { /setoverprint /pop load def } if /selectfont where not { /selectfont { exch findfont exch dup type /arraytype eq { makefont } { scalefont } ifelse setfont } bind def } if /cshow where not { /cshow { [ 0 0 5 -1 roll aload pop ] cvx bind forall } bind def } if } if cleartomark /anyColor? { add add add 0 ne } bind def /testColor { gsave setcmykcolor currentcmykcolor grestore } bind def /testCMYKColorThrough { testColor anyColor? } bind def userdict /composite? level2? { gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore add add add 4 eq } { 1 0 0 0 testCMYKColorThrough 0 1 0 0 testCMYKColorThrough 0 0 1 0 testCMYKColorThrough 0 0 0 1 testCMYKColorThrough and and and } ifelse put composite? not { userdict begin gsave /cyan? 1 0 0 0 testCMYKColorThrough def /magenta? 0 1 0 0 testCMYKColorThrough def /yellow? 0 0 1 0 testCMYKColorThrough def /black? 0 0 0 1 testCMYKColorThrough def grestore /isCMYKSep? cyan? magenta? yellow? black? or or or def /customColor? isCMYKSep? not def end } if end defaultpacking setpacking currentpacking true setpacking userdict /Adobe_typography_AI5 68 dict dup begin put /initialize { begin begin Adobe_typography_AI5 begin Adobe_typography_AI5 { dup xcheck { bind } if pop pop } forall end end end Adobe_typography_AI5 begin } def /terminate { currentdict Adobe_typography_AI5 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 /havefont { systemdict /languagelevel known { /Font resourcestatus dup { exch pop exch pop } if } { systemdict /FontDirectory get 1 index known { pop true } { systemdict /fileposition known { dup length 6 add exch Ss 6 250 getinterval cvs pop Ss exch 0 exch getinterval status { pop pop pop pop true } { false } ifelse } { pop false } ifelse } ifelse } ifelse } def /TE { StandardEncoding 256 array copy modifyEncoding /_nativeEncoding exch def } def /subststring { exch 2 index exch search { exch pop exch dup () eq { pop exch concatstring } { 3 -1 roll exch concatstring concatstring } ifelse exch pop true } { pop pop false } ifelse } def /concatstring { 1 index length 1 index length 1 index add string dup 0 5 index putinterval dup 2 index 4 index putinterval 4 1 roll pop pop pop } def % /TZ { dup type /arraytype eq { /_wv exch def } { /_wv 0 def } ifelse /_useNativeEncoding exch def 2 index havefont { 3 index 255 string cvs dup (_Symbol_) eq { pop 2 index findfont } { dup length 1 sub 1 exch getinterval cvn findfont } ifelse } { dup 1 eq { 2 index 64 string cvs dup (-90pv-RKSJ-) (-83pv-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop dup (-90ms-RKSJ-) (-Ext-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop pop true } ifelse } ifelse { /Ryumin-Light-83pv-RKSJ-H havefont {/Ryumin-Light-83pv-RKSJ-H} {/Courier} ifelse findfont [1 0 0.5 1 0 0] makefont } if } { /Courier findfont } ifelse } ifelse _wv type /arraytype eq { _wv makeblendedfont } if dup length 10 add dict begin mark exch { 1 index /FID ne { def } if cleartomark mark } forall pop /FontScript exch def /FontDirection exch def /FontRequest exch def /FontName exch def counttomark 0 eq { 1 _useNativeEncoding eq { /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 /i1 { W N } 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 { iTe _ctm setmatrix newpath } def /Tp { pop _tm astore pop _ctm setmatrix _tDict begin /W { } def /h { } def } def /TP { end iTm 0 0 moveto } def /Tr { _render 3 le { currentpoint newpath moveto } if 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 _shift aload pop _lineorientation 1 eq { exch } if translate _scale aload pop _lineorientation 1 eq _yokoorientation 1 eq or { exch } if scale } def /Tm { _tm astore pop iTm 0 0 moveto } def /Td { _mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto } def /iTe { _render -1 eq { } { _renderEnd _render get dup null ne { load exec } { pop } ifelse } ifelse /_render -1 ddef } def /Ta { pop } def /Tf { 1 index type /nametype eq { dup 0.75 mul 1 index 0.25 mul neg } if /_fontDescent exch ddef /_fontAscent exch ddef /_fontSize exch ddef /_fontRotateAdjust _fontAscent _fontDescent add 2 div neg ddef /_fontHeight _fontSize ddef findfont _fontSize scalefont setfont } def /Tl { pop neg 0 exch _leading astore pop } def /Tt { pop } def /TW { 3 npop } def /Tw { /_cx exch ddef } def /TC { 3 npop } def /Tc { /_ax exch ddef } def /Ts { 0 exch _shift astore pop currentpoint iTm moveto } def /Ti { 3 npop } def /Tz { count 1 eq { 100 } if 100 div exch 100 div exch _scale astore pop iTm } def /TA { pop } def /Tq { pop } def /Tg { pop } def /TG { pop } def /Tv { /_lineorientation exch ddef } def /TV { /_charorientation exch ddef } def /Ty { dup /_yokoorientation exch ddef 1 sub neg Tv } def /TY { pop } def /T~ { Tx } def /Th { pop pop pop pop pop } def /TX { pop } def /Tk { _fontSize mul 1000 div _lineorientation 0 eq { neg 0 } { 0 exch } ifelse rmoveto pop } def /TK { 2 npop } def /T* { _leading aload pop _lineorientation 0 ne { exch } if Td } def /T*- { _leading aload pop _lineorientation 0 ne { exch } if exch neg exch neg Td } def /T- { _ax neg 0 rmoveto _lineorientation 1 eq _charorientation 0 eq and { 1 TV _hyphen Tx 0 TV } { _hyphen Tx } ifelse } def /T+ { } def /TR { _ctm currentmatrix pop _tm astore pop iTm 0 0 moveto } def /TS { currentfont 3 1 roll /_Symbol_ findfont _fontSize scalefont setfont 0 eq { Tx } { Tj } ifelse setfont } def /Xb { pop pop } def /Tb /Xb load def /Xe { pop pop pop pop } def /Te /Xe load def /XB { } def /TB /XB load def currentdict readonly pop end setpacking % /X^ { currentfont 5 1 roll dup havefont { findfont _fontSize scalefont setfont } { pop exch } ifelse 2 index 0 eq { Tx } { Tj } ifelse pop pop setfont } def /T^ /X^ load def userdict /Adobe_ColorImage_AI6 known not { userdict /Adobe_ColorImage_AI6 24 dict put } if userdict /Adobe_ColorImage_AI6 get begin /initialize { Adobe_ColorImage_AI6 begin Adobe_ColorImage_AI6 { dup type /arraytype eq { dup xcheck { bind } if } if pop pop } forall } def /terminate { end } def currentdict /Adobe_ColorImage_AI6_Vars known not { /Adobe_ColorImage_AI6_Vars 15 dict def } if Adobe_ColorImage_AI6_Vars begin /channelcount 0 def /sourcecount 0 def /sourcearray 4 array def /plateindex -1 def /XIMask 0 def /XIBinary 0 def /XIChannelCount 0 def /XIBitsPerPixel 0 def /XIImageHeight 0 def /XIImageWidth 0 def /XIImageMatrix null def /XIBuffer null def /XIDataProc null def /XIVersion 6 def end /WalkRGBString null def /WalkCMYKString null def /StuffRGBIntoGrayString null def /RGBToGrayImageProc null def /StuffCMYKIntoGrayString null def /CMYKToGrayImageProc null def /ColorImageCompositeEmulator null def /SeparateCMYKImageProc null def /FourEqual null def /TestPlateIndex null def currentdict /_colorimage known not { /colorimage where { /colorimage get /_colorimage exch def } { /_colorimage null def } ifelse } if /_currenttransfer systemdict /currenttransfer get def /colorimage null def /XI null def /WalkRGBString { 0 3 index dup length 1 sub 0 3 3 -1 roll { 3 getinterval { } forall 5 index exec 3 index } for 5 { pop } repeat } def /WalkCMYKString { 0 3 index dup length 1 sub 0 4 3 -1 roll { 4 getinterval { } forall 6 index exec 3 index } for 5 { pop } repeat } def /StuffRGBIntoGrayString { .11 mul exch .59 mul add exch .3 mul add cvi 3 copy put pop 1 add } def /RGBToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 3 idiv string dup 3 1 roll /StuffRGBIntoGrayString load exch WalkRGBString end } def /StuffCMYKIntoGrayString { exch .11 mul add exch .59 mul add exch .3 mul add dup 255 gt { pop 255 } if 255 exch sub cvi 3 copy put pop 1 add } def /CMYKToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 4 idiv string dup 3 1 roll /StuffCMYKIntoGrayString load exch WalkCMYKString end } def /ColorImageCompositeEmulator { pop true eq { Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat } { Adobe_ColorImage_AI6_Vars /channelcount get 1 ne { Adobe_ColorImage_AI6_Vars begin sourcearray 0 3 -1 roll put channelcount 3 eq { /RGBToGrayImageProc } { /CMYKToGrayImageProc } ifelse load end } if image } ifelse } def /SeparateCMYKImageProc { Adobe_ColorImage_AI6_Vars begin sourcecount 0 ne { sourcearray plateindex get exec } { sourcearray 0 get exec dup length 4 idiv string 0 2 index plateindex 4 2 index length 1 sub { get 255 exch sub 3 copy put pop 1 add 2 index } for pop pop exch pop } ifelse end } def /FourEqual { 4 index ne { pop pop pop false } { 4 index ne { pop pop false } { 4 index ne { pop false } { 4 index eq } ifelse } ifelse } ifelse } def /TestPlateIndex { Adobe_ColorImage_AI6_Vars begin /plateindex -1 def /setcmykcolor where { pop gsave 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub grestore 1 0 0 0 FourEqual { /plateindex 0 def } { 0 1 0 0 FourEqual { /plateindex 1 def } { 0 0 1 0 FourEqual { /plateindex 2 def } { 0 0 0 1 FourEqual { /plateindex 3 def } { 0 0 0 0 FourEqual { /plateindex 5 def } if } ifelse } ifelse } ifelse } ifelse pop pop pop pop } if plateindex end } def /colorimage { Adobe_ColorImage_AI6_Vars begin /channelcount 1 index def /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def 4 sourcecount add index dup 8 eq exch 1 eq or not end { /_colorimage load null ne { _colorimage } { Adobe_ColorImage_AI6_Vars /sourcecount get 7 add { pop } repeat } ifelse } { dup 3 eq TestPlateIndex dup -1 eq exch 5 eq or or { /_colorimage load null eq { ColorImageCompositeEmulator } { dup 1 eq { pop pop image } { Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { gsave 0 _currenttransfer exec 1 _currenttransfer exec eq { 0 _currenttransfer exec 0.5 lt } { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse { { pop 0 } } { { pop 1 } } ifelse systemdict /settransfer get exec } if _colorimage Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { grestore } if } ifelse } ifelse } { dup 1 eq { pop pop image } { pop pop Adobe_ColorImage_AI6_Vars begin sourcecount -1 0 { exch sourcearray 3 1 roll put } for /SeparateCMYKImageProc load end systemdict /image get exec } ifelse } ifelse } ifelse } def /XG { pop pop } def /XF { 13 {pop} repeat } def /Xh { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIImageHeight exch def /XIImageWidth exch def /XIImageMatrix exch def 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if /XIVersion 7 def end } def /XH { Adobe_ColorImage_AI6_Vars begin /XIVersion 6 def grestore end } def /XI { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIBinary exch 0 ne def pop pop /XIChannelCount exch def /XIBitsPerPixel exch def /XIImageHeight exch def /XIImageWidth exch def pop pop pop pop /XIImageMatrix exch def XIBitsPerPixel 1 eq { XIImageWidth 8 div ceiling cvi } { XIImageWidth XIChannelCount mul } ifelse /XIBuffer exch string def XIBinary { /XIDataProc { currentfile XIBuffer readstring pop } def XIVersion 6 le { currentfile 128 string readline pop pop } if } { /XIDataProc { currentfile XIBuffer readhexstring pop } def } ifelse XIVersion 6 le { 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if } if XIMask { XIImageWidth XIImageHeight false [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load imagemask } { XIImageWidth XIImageHeight XIBitsPerPixel [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load XIChannelCount 1 eq { gsave 0 setgray image grestore } { false XIChannelCount colorimage } ifelse } ifelse grestore end } def end currentpacking true setpacking userdict /Adobe_Illustrator_AI5_vars 107 dict dup begin put /_eo false def /_lp /none def /_pf { } def /_ps { } def /_psf { } def /_pss { } def /_pjsf { } def /_pjss { } def /_pola 0 def /_doClip 0 def /cf currentflat def /_lineorientation 0 def /_charorientation 0 def /_yokoorientation 0 def /_tm matrix def /_renderStart [ /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 ] def /_renderEnd [ null null null null /i1 /i1 /i1 /i1 ] def /_render -1 def /_shift [0 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 /_fontSize 0 def /_fontAscent 0 def /_fontDescent 0 def /_fontHeight 0 def /_fontRotateAdjust 0 def /Ss 256 string def Ss 0 (fonts/) putinterval /_cnt 0 def /_scale [1 1] def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def /_tDict 2 dict def /_hfname 100 string def /_hffound false def /Tx { } def /Tj { } def /CRender { } def /_AI3_savepage { } def /_gf null def /_cf 4 array def /_rgbf 3 array def /_if null def /_of false def /_fc { } def /_gs null def /_cs 4 array def /_rgbs 3 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 /_lobyte 0 def /_hibyte 0 def /_cproc null def /_cscript 0 def /_hvax 0 def /_hvay 0 def /_hvwb 0 def /_hvcx 0 def /_hvcy 0 def /_bitfont null def /_bitlobyte 0 def /_bithibyte 0 def /_bitkey null def /_bitdata null def /_bitindex 0 def /discardSave null def /buffer 256 string def /beginString null def /endString null def /endStringLength null def /layerCnt 1 def /layerCount 1 def /perCent (%) 0 get def /perCentSeen? false def /newBuff null def /newBuffButFirst null def /newBuffLast null def /clipForward? false def end userdict /Adobe_Illustrator_AI5 known not { userdict /Adobe_Illustrator_AI5 95 dict put } if userdict /Adobe_Illustrator_AI5 get begin /initialize { Adobe_Illustrator_AI5 dup begin Adobe_Illustrator_AI5_vars begin discardDict { bind pop pop } forall dup /nc get begin { dup xcheck 1 index type /operatortype ne and { bind } if pop pop } forall end newpath } def /terminate { end end } def /_ null def /ddef { Adobe_Illustrator_AI5_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 /hswj { dup stringwidth 3 2 roll { _hvwb eq { exch _hvcx add exch _hvcy add } if exch _hvax add exch _hvay add } cforall } def /vswj { 0 0 3 -1 roll { dup 255 le _charorientation 1 eq and { dup cstring stringwidth 5 2 roll _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub 4 -1 roll sub exch 3 -1 roll sub exch } { _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub _fontHeight sub } ifelse } cforall } def /swj { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hswj } { vswj } ifelse } def /sw { 0 0 0 6 3 roll swj } def /vjss { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto gsave false charpath currentpoint 5 index setmatrix stroke grestore _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto gsave 2 index false charpath 6 index setmatrix stroke grestore moveto pop pop } ifelse } cforall 6 npop } def /hjss { 4 1 roll { dup cstring gsave false charpath currentpoint 5 index setmatrix stroke grestore moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jss { _lineorientation 0 eq { hjss } { vjss } ifelse } def /ss { 0 0 0 7 3 roll jss } def /vjsp { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto false charpath currentpoint _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto 2 index false charpath moveto pop pop } ifelse } cforall 6 npop } def /hjsp { 4 1 roll { dup cstring false charpath _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jsp { matrix currentmatrix _lineorientation 0 eq {hjsp} {vjsp} ifelse } def /sp { matrix currentmatrix 0 0 0 7 3 roll _lineorientation 0 eq {hjsp} {vjsp} ifelse } 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 /XR { 0 ne /_eo exch ddef } def /H { } def /h { closepath } def /N { _pola 0 eq { _doClip 1 eq { _eo {eoclip} {clip} ifelse /_doClip 0 ddef } if newpath } { /CRender { N } ddef } ifelse } def /n { N } def /F { _pola 0 eq { _doClip 1 eq { gsave _pf grestore _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 newpath } 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 clipForward? { nulldevice } if 6 1 roll 4 npop concat pop userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } def /~ { end _i restore } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /Xa { _rgbf astore pop /_fc { _lp /fill ne { _of setoverprint _rgbf aload pop setrgbcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XA { _rgbs astore pop /_sc { _lp /stroke ne { _os setoverprint _rgbs aload pop setrgbcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /_rgbtocmyk { 3 { 1 exch sub 3 1 roll } repeat 3 copy 1 4 1 roll 3 { 3 index 2 copy gt { exch } if pop 4 1 roll } repeat pop pop pop 4 1 roll 3 { 3 index sub 3 1 roll } repeat 4 -1 roll } def /Xx { exch /_gf exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XX { exch /_gs exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_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 /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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /A { pop } def /annotatepage { userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse } def /XT { pop pop } def /discard { save /discardSave exch store discardDict begin /endString exch store gt38? { 2 add } if load stopped pop end discardSave restore } bind def userdict /discardDict 7 dict dup begin put /pre38Initialize { /endStringLength endString length store /newBuff buffer 0 endStringLength getinterval store /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store /newBuffLast newBuff endStringLength 1 sub 1 getinterval store } def /shiftBuffer { newBuff 0 newBuffButFirst putinterval newBuffLast 0 currentfile read not { stop } if put } def 0 { pre38Initialize mark currentfile newBuff readstring exch pop { { newBuff endString eq { cleartomark stop } if shiftBuffer } loop } { stop } ifelse } def 1 { pre38Initialize /beginString exch store mark currentfile newBuff readstring exch pop { { newBuff beginString eq { /layerCount dup load 1 add store } { newBuff endString eq { /layerCount dup load 1 sub store layerCount 0 eq { cleartomark stop } if } if } ifelse shiftBuffer } loop } if } def 2 { mark { currentfile buffer readline not { stop } if endString eq { cleartomark stop } if } loop } def 3 { /beginString exch store /layerCnt 1 store mark { currentfile buffer readline not { stop } if dup beginString eq { pop /layerCnt dup load 1 add store } { endString eq { layerCnt 1 eq { cleartomark stop } { /layerCnt dup load 1 sub store } ifelse } if } ifelse } loop } def end userdict /clipRenderOff 15 dict dup begin put { /n /N /s /S /f /F /b /B } { { _doClip 1 eq { /_doClip 0 ddef _eo {eoclip} {clip} ifelse } if newpath } def } forall /Tr /pop load def /Bb {} def /BB /pop load def /Bg {12 npop} def /Bm {6 npop} def /Bc /Bm load def /Bh {4 npop} def end /Lb { 4 npop 6 1 roll pop 4 1 roll pop pop pop 0 eq { 0 eq { (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard } { /clipForward? true def /Tx /pop load def /Tj /pop load def currentdict end clipRenderOff begin begin } ifelse } { 0 eq { save /discardSave exch store } if } ifelse } bind def /LB { discardSave dup null ne { restore } { pop clipForward? { currentdict end end begin /clipForward? false ddef } if } ifelse } bind def /Pb { pop pop 0 (%AI5_EndPalette) discard } bind def /Np { 0 (%AI5_End_NonPrinting--) discard } bind def /Ln /pop load def /Ap /pop load def /Ar { 72 exch div 0 dtransform dup mul exch dup mul add sqrt dup 1 lt { pop 1 } if setflat } def /Mb { q } def /Md { } def /MB { Q } def /nc 4 dict def nc begin /setgray { pop } bind def /setcmykcolor { 4 npop } bind def /setrgbcolor { 3 npop } bind def /setcustomcolor { 2 npop } bind def currentdict readonly pop end end setpacking currentpacking true setpacking userdict /Adobe_cshow 14 dict dup begin put /initialize { Adobe_cshow begin Adobe_cshow { dup xcheck { bind } if pop pop } forall end Adobe_cshow begin } def /terminate { currentdict Adobe_cshow eq { end } if } def /cforall { /_lobyte 0 ddef /_hibyte 0 ddef /_cproc exch ddef /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef { /_lobyte exch ddef _hibyte 0 eq _cscript 1 eq _lobyte 129 ge _lobyte 159 le and _lobyte 224 ge _lobyte 252 le and or and _cscript 2 eq _lobyte 161 ge _lobyte 254 le and and _cscript 3 eq _lobyte 161 ge _lobyte 254 le and and _cscript 25 eq _lobyte 161 ge _lobyte 254 le and and _cscript -1 eq or or or or and { /_hibyte _lobyte ddef } { _hibyte 256 mul _lobyte add _cproc /_hibyte 0 ddef } ifelse } forall } def /cstring { dup 256 lt { (s) dup 0 4 3 roll put } { dup 256 idiv exch 256 mod (hl) dup dup 0 6 5 roll put 1 4 3 roll put } ifelse } def /clength { 0 exch { 256 lt { 1 } { 2 } ifelse add } cforall } def /hawidthshow { { dup cstring show _hvax _hvay rmoveto _hvwb eq { _hvcx _hvcy rmoveto } if } cforall } def /vawidthshow { { dup 255 le _charorientation 1 eq and { -90 rotate 0 _fontRotateAdjust rmoveto cstring _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow 0 _fontRotateAdjust neg rmoveto 90 rotate } { currentpoint _fontHeight sub exch _hvay sub exch _hvax sub 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if 3 2 roll cstring dup stringwidth pop 2 div neg _fontAscent neg rmoveto show moveto } ifelse } cforall } def /hvawidthshow { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse } def /hvwidthshow { 0 0 3 -1 roll hvawidthshow } def /hvashow { 0 0 0 6 -3 roll hvawidthshow } def /hvshow { 0 0 0 0 0 6 -1 roll hvawidthshow } def currentdict readonly pop end setpacking Adobe_level2_AI5 /initialize get exec Adobe_cshow /initialize get exec Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec Adobe_ColorImage_AI6 /initialize get exec Adobe_Illustrator_AI5 /initialize get exec [ 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft /quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark /scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar 168/dieresis/copyright/ordfeminine 172/logicalnot 174/registered/macron/ring /plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla /onesuperior/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave /Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute /Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde /Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute /acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex /edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute /ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis TE %AI55J_Tsume: None %AI3_BeginEncoding: _Helvetica Helvetica [/_Helvetica/Helvetica 0 0 1 TZ %AI3_EndEncoding AdobeType %AI5_Begin_NonPrinting Np %AI3_BeginPattern: (Arrow1.2.out/in) (Arrow1.2.out/in) 1 1 39.4039 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 33.9039 15.6187 m 39.4247 20.202 L 39.4247 20.202 L 33.8869 24.6252 L S 39.2997 20.202 m 24.5706 20.202 l 20.4039 20.4792 20.4039 16.8125 v 20.4039 13.1458 20.4039 12.5625 y S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Arrow1.2.side) (Arrow1.2.side) 1 1 39.404 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.202 20.202 m 39.404 20.202 l S 33.904 15.6187 m 39.4248 20.202 L 39.4248 20.202 L 33.887 24.6252 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Bricks) (Bricks) 1.6 1.6 73.6 73.6 [ %AI3_Tile (0 O 0 R 0.3 0.85 0.85 0 k 0.3 0.85 0.85 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 1.6 m 1.6 73.6 L 73.6 73.6 L 73.6 1.6 L 1.6 1.6 L f %AI6_EndPatternLayer ) & (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 70.01 m 73.6 70.01 l S 1.6 62.809 m 73.6 62.809 L S 1.6 55.609 m 73.6 55.609 L S 1.6 48.408 m 73.6 48.408 L S 1.6 41.208 m 73.6 41.208 L S 1.6 34.007 m 73.6 34.007 L S 1.6 26.807 m 73.6 26.807 L S 1.6 19.606 m 73.6 19.606 L S 1.6 12.406 m 73.6 12.406 L S 1.6 5.206 m 73.6 5.206 L S 70.01 70.01 m 70.01 62.822 l S 55.61 70.01 m 55.61 62.822 L S 41.21 70.01 m 41.21 62.822 L S 26.81 70.01 m 26.81 62.822 L S 12.41 70.01 m 12.41 62.822 L S 70.01 55.572 m 70.01 48.385 l S 55.61 55.572 m 55.61 48.385 L S 41.21 55.572 m 41.21 48.385 L S 26.81 55.572 m 26.81 48.385 L S 12.41 55.572 m 12.41 48.385 L S 70.01 41.197 m 70.01 34.01 l S 55.61 41.197 m 55.61 34.01 L S 41.21 41.197 m 41.21 34.01 L S 26.81 41.197 m 26.81 34.01 L S 12.41 41.197 m 12.41 34.01 L S 70.01 26.822 m 70.01 19.635 l S 55.61 26.822 m 55.61 19.635 L S 41.21 26.822 m 41.21 19.635 L S 26.81 26.822 m 26.81 19.635 L S 12.41 26.822 m 12.41 19.635 L S 70.01 12.385 m 70.01 5.197 l S 55.61 12.385 m 55.61 5.197 L S 41.21 12.385 m 41.21 5.197 L S 26.81 12.385 m 26.81 5.197 L S 12.41 12.385 m 12.41 5.197 L S 62.797 5.197 m 62.797 1.6 L S 48.397 5.197 m 48.397 1.6 L S 33.997 5.197 m 33.997 1.6 L S 19.597 5.197 m 19.597 1.6 L S 5.197 5.197 m 5.197 1.6 l S 62.797 19.635 m 62.797 12.447 L S 48.397 19.635 m 48.397 12.447 L S 33.997 19.635 m 33.997 12.447 L S 19.597 19.635 m 19.597 12.447 L S 5.197 19.635 m 5.197 12.447 l S 62.797 34.01 m 62.797 26.822 L S 48.397 34.01 m 48.397 26.822 L S 19.597 34.01 m 19.597 26.822 L S 5.197 34.01 m 5.197 26.822 l S 62.797 48.385 m 62.797 41.197 L S 48.397 48.385 m 48.397 41.197 L S 33.997 48.385 m 33.997 41.197 L S 19.597 48.385 m 19.597 41.197 L S 5.197 48.385 m 5.197 41.197 l S 62.797 62.822 m 62.797 55.635 L S 48.397 62.822 m 48.397 55.635 L S 33.997 62.822 m 33.997 55.635 L S 19.597 62.822 m 19.597 55.635 L S 5.197 62.822 m 5.197 55.635 l S 62.797 73.5589 m 62.797 70.072 L S 48.397 73.5589 m 48.397 70.072 L S 33.997 73.5589 m 33.997 70.072 L S 19.597 73.5589 m 19.597 70.072 L S 5.197 73.5589 m 5.197 70.072 l S 33.997 34.01 m 33.997 26.822 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks) (Checks) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 0 XR 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 1 XR 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Confetti) (Confetti) 4.85 3.617 76.85 75.617 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.85 3.617 m 4.85 75.617 L 76.85 75.617 L 76.85 3.617 L 4.85 3.617 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.6 64.867 m 7.85 62.867 l S 9.1 8.617 m 6.85 6.867 l S 78.1 68.617 m 74.85 67.867 l S 76.85 56.867 m 74.35 55.117 l S 79.6 51.617 m 76.6 51.617 l S 76.35 44.117 m 73.6 45.867 l S 78.6 35.867 m 76.6 34.367 l S 76.1 23.867 m 73.35 26.117 l S 78.1 12.867 m 73.85 13.617 l S 68.35 14.617 m 66.1 12.867 l S 76.6 30.617 m 73.6 30.617 l S 62.85 58.117 m 60.956 60.941 l S 32.85 59.617 m 31.196 62.181 l S 47.891 64.061 m 49.744 66.742 l S 72.814 2.769 m 73.928 5.729 l S 67.976 2.633 m 67.35 5.909 l S 61.85 27.617 m 59.956 30.441 l S 53.504 56.053 m 51.85 58.617 l S 52.762 1.779 m 52.876 4.776 l S 45.391 5.311 m 47.244 7.992 l S 37.062 3.375 m 35.639 5.43 l S 55.165 34.828 m 57.518 37.491 l S 20.795 3.242 m 22.12 5.193 l S 14.097 4.747 m 15.008 8.965 l S 9.736 1.91 m 8.073 4.225 l S 31.891 5.573 m 32.005 8.571 l S 12.1 70.367 m 15.6 68.867 l S 9.35 54.867 m 9.6 58.117 l S 12.85 31.867 m 14.35 28.117 l S 10.1 37.367 m 12.35 41.117 l S 34.1 71.117 m 31.85 68.617 l S 38.35 71.117 m 41.6 68.367 l S 55.1 71.117 m 58.35 69.117 l S 57.35 65.117 m 55.35 61.867 l S 64.35 66.367 m 69.35 68.617 l S 71.85 62.867 m 69.35 61.117 l S 23.6 70.867 m 23.6 67.867 l S 20.6 65.867 m 17.35 65.367 l S 24.85 61.367 m 25.35 58.117 l S 25.85 65.867 m 29.35 66.617 l S 14.1 54.117 m 16.85 56.117 l S 12.35 11.617 m 12.6 15.617 l S 12.1 19.867 m 14.35 22.367 l S 26.1 9.867 m 23.6 13.367 l S 34.6 47.117 m 32.1 45.367 l S 62.6 41.867 m 59.85 43.367 l S 31.6 35.617 m 27.85 36.367 l S 36.35 26.117 m 34.35 24.617 l S 33.85 14.117 m 31.1 16.367 l S 37.1 9.867 m 35.1 11.117 l S 34.35 20.867 m 31.35 20.867 l S 44.6 56.617 m 42.1 54.867 l S 47.35 51.367 m 44.35 51.367 l S 44.1 43.867 m 41.35 45.617 l S 43.35 33.117 m 42.6 30.617 l S 43.85 23.617 m 41.1 25.867 l S 44.35 15.617 m 42.35 16.867 l S 67.823 31.1 m 64.823 31.1 l S 27.1 32.617 m 29.6 30.867 l S 31.85 55.117 m 34.85 55.117 l S 19.6 40.867 m 22.1 39.117 l S 16.85 35.617 m 19.85 35.617 l S 20.1 28.117 m 22.85 29.867 l S 52.1 42.617 m 54.484 44.178 l S 52.437 50.146 m 54.821 48.325 l S 59.572 54.133 m 59.35 51.117 l S 50.185 10.055 m 53.234 9.928 l S 51.187 15.896 m 53.571 14.075 l S 58.322 19.883 m 59.445 16.823 l S 53.1 32.117 m 50.6 30.367 l S 52.85 24.617 m 49.6 25.617 l S 61.85 9.117 m 59.1 10.867 l S 69.35 34.617 m 66.6 36.367 l S 67.1 23.617 m 65.1 22.117 l S 24.435 46.055 m 27.484 45.928 l S 25.437 51.896 m 27.821 50.075 l S 62.6 47.117 m 65.321 46.575 l S 19.85 19.867 m 20.35 16.617 l S 21.85 21.867 m 25.35 22.617 l S 37.6 62.867 m 41.6 62.117 l S 38.323 42.1 m 38.823 38.6 l S 69.35 52.617 m 66.85 53.867 l S 14.85 62.117 m 18.1 59.367 l S 9.6 46.117 m 7.1 44.367 l S 20.6 51.617 m 18.6 50.117 l S 46.141 70.811 m 47.994 73.492 l S 69.391 40.561 m 71.244 43.242 l S 38.641 49.311 m 39.35 52.117 l S 25.141 16.811 m 25.85 19.617 l S 36.6 32.867 m 34.6 31.367 l S 6.1 68.617 m 2.85 67.867 l S 4.85 56.867 m 2.35 55.117 l S 7.6 51.617 m 4.6 51.617 l S 6.6 35.867 m 4.6 34.367 l S 6.1 12.867 m 1.85 13.617 l S 4.6 30.617 m 1.6 30.617 l S 72.814 74.769 m 73.928 77.729 l S 67.976 74.633 m 67.35 77.909 l S 52.762 73.779 m 52.876 76.776 l S 37.062 75.375 m 35.639 77.43 l S 20.795 75.242 m 22.12 77.193 l S 9.736 73.91 m 8.073 76.225 l S 10.1 23.617 m 6.35 24.367 l S 73.217 18.276 m 71.323 21.1 l S 28.823 39.6 m 29.505 42.389 l S 49.6 38.617 m 47.6 37.117 l S 60.323 73.6 m 62.323 76.6 l S 60.323 1.6 m 62.323 4.6 l S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.inner) (DblLine1.2.inner) 1 1 39.2705 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2702 22.175 m 39.2702 13.6108 L 26.66 13.6108 L 26.66 1.0003 L 18.0958 1.0003 L 18.0948 22.175 L 18.0958 22.175 L 18.0958 22.1752 L 39.2702 22.175 L f 39.2708 24.6929 m 15.5779 24.6929 L 15.5779 1.0003 L 14.9037 1.0003 L 14.9032 25.3675 L 39.2708 25.3675 L 39.2708 24.6929 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.outer) (DblLine1.2.outer) 1 1.0003 39.2706 39.271 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2708 26.6602 m 13.6111 26.6602 L 13.6111 1.0005 L 22.1751 1 L 22.1751 18.096 L 39.2708 18.096 L 39.2708 26.6602 L f 39.2708 15.578 m 24.6928 15.578 L 24.6928 1 L 25.367 1 L 25.367 14.9038 L 39.2708 14.9038 L 39.2708 15.578 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.side) (DblLine1.2.side) 1 1 39.2706 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2704 18.0958 m 39.2704 26.6598 L 1.0001 26.6598 L 1.0001 18.0958 L 39.2704 18.0958 L f 39.2704 14.9037 m 39.2704 15.5776 L 1.0001 15.5776 L 1.0001 14.9037 L 39.2704 14.9037 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds) (Diamonds) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 XR 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Hexagon) (Hexagon) 4 1.6 70.151 77.983 [ %AI3_Tile (0 O 0 R 0 1 0.35 0 k 0 1 0.35 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 70.151 77.983 m 70.151 1.6 L 4 1.6 L 4 77.983 L 70.151 77.983 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.9921 1 0 0 k 0.9921 1 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.538 30.244 m S 26.05 20.696 m 15.025 20.696 L 9.513 30.244 L 15.025 39.792 L 26.05 39.792 L 31.564 30.244 L 26.05 20.696 L s 20.537 11.148 m S 26.05 1.6 m 15.024 1.6 L 9.512 11.148 L 15.024 20.696 L 26.05 20.696 L 31.563 11.148 L 26.05 1.6 L s 53.614 30.244 m S 59.126 20.696 m 48.101 20.696 L 42.589 30.244 L 48.101 39.792 L 59.126 39.792 L 64.639 30.244 L 59.126 20.696 L s 53.614 11.148 m S 59.126 1.6 m 48.101 1.6 L 42.588 11.148 L 48.101 20.696 L 59.126 20.696 L 64.638 11.148 L 59.126 1.6 L s 20.538 68.436 m S 26.051 58.888 m 15.025 58.888 L 9.513 68.436 L 15.025 77.984 L 26.051 77.984 L 31.564 68.436 L 26.051 58.888 L s 20.538 49.34 m S 26.051 39.792 m 15.025 39.792 L 9.513 49.34 L 15.025 58.888 L 26.05 58.888 L 31.564 49.34 L 26.051 39.792 L s 53.614 68.436 m S 59.127 58.888 m 48.102 58.888 L 42.589 68.436 L 48.101 77.985 L 59.127 77.985 L 64.639 68.436 L 59.127 58.888 L s 53.614 49.34 m S 59.127 39.792 m 48.101 39.792 L 42.589 49.34 L 48.101 58.888 L 59.127 58.888 L 64.639 49.341 L 59.127 39.792 L s 4 20.696 m S 3.876 30.244 m 9.512 30.244 L 15.024 20.696 L 9.512 11.147 L 3.876 11.147 L S 37.075 20.696 m S 42.588 11.148 m 31.563 11.148 L 26.05 20.696 L 31.563 30.244 L 42.589 30.244 L 48.101 20.696 L 42.588 11.148 L s 37.076 58.888 m S 42.589 49.34 m 31.564 49.34 L 26.05 58.888 L 31.564 68.436 L 42.589 68.436 L 48.101 58.888 L 42.589 49.34 L s 70.151 20.696 m S 70.2094 11.147 m 64.639 11.147 L 59.127 20.696 L 64.639 30.244 L 70.2094 30.244 L S 70.152 58.888 m S 70.0427 49.34 m 64.639 49.34 L 59.127 58.888 L 64.639 68.436 L 70.0427 68.436 L S 4 58.888 m S 3.876 68.436 m 9.513 68.436 L 15.025 58.888 L 9.513 49.34 L 3.876 49.34 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.inner) (Laurel.inner) 1 1 28.5392 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 19.2768 15.3585 m 28.9144 15.3585 L 28.9144 14.2335 L 19.2768 14.2335 L 19.2768 15.3585 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.7461 18.9624 m 13.0264 17.8486 11.3273 14.4193 11.3273 10.0362 c 11.3273 5.6547 12.9768 2.1518 14.744 1.1112 C 14.7443 1.1112 L 16.4707 2.1518 18.1679 5.6547 18.1679 10.0362 c 18.1679 14.4143 16.432 17.8633 14.7461 18.9624 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.outer) (Laurel.outer) 1 1.3751 28.5393 28.9143 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.2395 10.6375 m 14.2395 1 L 15.3645 1 L 15.3645 10.6375 L 14.2395 10.6375 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.5769 15.124 m 11.6906 16.8438 15.1198 18.5429 19.503 18.5429 c 23.8844 18.5429 27.3874 16.8935 28.428 15.1262 C 28.428 15.1259 L 27.3874 13.3995 23.8844 11.7023 19.503 11.7023 c 15.1249 11.7023 11.676 13.4382 10.5769 15.124 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.side) (Laurel.side) 1.3972 1 28.9364 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.1571 15.2998 m 1 15.2998 L 1 14.1748 L 29.1571 14.1748 L 29.1571 15.2998 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 27.4787 m 1.5899 25.4751 2.8132 21.8488 5.9125 18.7494 c 9.0107 15.6513 12.654 14.3407 14.6395 14.8545 C 14.6398 14.8547 L 15.1246 16.8113 13.8478 20.4883 10.7496 23.5865 c 7.6538 26.6824 3.9876 27.8936 2.0183 27.4787 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 2.0091 m 1.5899 4.0126 2.8132 7.6389 5.9125 10.7382 c 9.0107 13.8365 12.654 15.147 14.6395 14.6332 C 14.6398 14.633 L 15.1246 12.6765 13.8478 8.9993 10.7496 5.9011 c 7.6538 2.8054 3.9876 1.5941 2.0183 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 2.0091 m 15.3925 4.0126 16.6159 7.6389 19.7152 10.7382 c 22.8134 13.8365 26.4567 15.147 28.4422 14.6332 C 28.4424 14.633 L 28.9273 12.6765 27.6505 8.9993 24.5523 5.9011 c 21.4565 2.8054 17.7903 1.5941 15.821 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 27.4787 m 15.3925 25.4751 16.6159 21.8488 19.7152 18.7494 c 22.8134 15.6513 26.4567 14.3407 28.4422 14.8545 C 28.4424 14.8547 L 28.9273 16.8113 27.6505 20.4883 24.5523 23.5865 c 21.4565 26.6824 17.7903 27.8936 15.821 27.4787 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Leaves-fall) (Leaves-fall) 1 1 52.733 89.816 [ %AI3_Tile (0 O 0 R 0.05 0.2 1 0 k 0.05 0.2 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 52.733 89.816 m 52.733 1 L 1 1 L 1 89.816 L 52.733 89.816 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.83 0 1 0 k 0.83 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 25.317 2.083 m 25.994 2.283 26.284 2.435 V 24.815 5.147 29.266 9.428 30.186 10.168 C 30.787 9.943 30.907 7.41 30.23 6.073 C 31.073 6.196 33.262 4.818 34.02 3.529 C 34.085 4.217 35.655 7.158 36.481 7.535 C 35.561 7.933 34.896 9.406 34.134 10.854 C 35.156 11.021 36.555 10.1 38.026 9.195 C 38.541 9.996 39.915 10.968 41.174 11.484 C 40.086 12.171 39.591 12.912 39.094 14.372 C 38.052 13.806 35.865 13.657 35.336 13.944 C 35.85 15.057 38.096 15.6 38.827 15.547 C 38.573 16.409 38.425 18.562 38.598 21.155 C 36.939 19.839 35.393 18.522 33.734 18.58 C 34.003 17.158 33.367 15.353 32.99 14.86 C 32.417 15.604 32.006 16.431 32.361 18.408 C 30.908 18.893 29.671 19.439 28.297 20.697 C 28.297 18.866 27.725 17.664 26.857 16.388 C 28.117 15.9 29.389 14.697 29.385 13.658 C 28.537 13.81 26.845 14.554 26.352 15.547 C 25.634 14.8 23.95 13.491 22.346 13.487 C 23.534 12.632 24.454 11.598 24.549 9.686 C 25.802 10.657 28.255 11.272 29.635 10.674 C 24.794 6.438 25.262 3.405 25.317 2.083 C f 12.412 33.743 m 11.887 33.272 11.691 33.01 V 14.182 31.192 11.928 25.366 11.415 24.303 C 10.776 24.247 9.369 26.988 9.405 28.486 C 8.273 27.73 6.608 27.851 5.006 28.137 C 5.578 27.049 5.177 25.104 4.376 24.303 C 5.378 24.339 6.729 23.624 8.038 22.643 C 7.203 21.823 5.376 21.984 3.46 22.643 C 3.46 21.27 2.638 19.533 1.801 18.351 C 3.117 18.408 4.262 17.722 5.12 16.691 C 5.785 18.26 7.819 19.373 8.725 19.324 C 8.742 17.959 7.169 15.869 6.147 15.47 C 6.747 14.801 7.766 13.27 8.725 10.854 C 9.524 12.78 10.694 14.022 11.927 14.955 C 10.785 16.517 10.959 17.388 11.358 18.866 C 12.101 18.325 13.132 17.893 13.303 15.89 C 15.02 16.176 16.156 16.104 17.653 15.203 C 17.198 16.865 17.195 18.466 17.515 20.166 C 15.665 20.026 14.105 20.239 13.075 21.728 C 13.905 21.955 16.165 22.014 17.039 21.082 C 17.366 22.064 18.261 23.47 19.707 24.164 C 18.267 24.424 17.282 25.523 16.373 27.209 C 15.66 25.793 13.433 24.128 11.93 24.073 C 13.933 28.137 13.933 31.055 12.412 33.743 C f 31.125 30.5 m 31.445 31.128 31.648 31.385 V 34.045 29.444 38.851 32.752 39.746 33.521 C 39.636 34.153 37.511 35.29 35.794 34.26 C 36.234 35.549 35.332 37.51 34.134 38.552 C 35.873 38.451 38.019 39.813 38.541 40.555 C 38.763 39.577 39.946 38.307 41.231 37.293 C 41.582 38.266 40.887 40.384 39.971 41.986 C 41.206 42.487 42.318 43.417 42.776 44.676 C 43.233 43.359 44.236 42.685 45.58 41.929 C 44.421 40.502 43.64 38.328 43.92 37.465 C 45.243 37.8 46.814 40.518 46.937 41.607 C 47.812 40.841 49.366 40.154 51.947 39.848 C 50.246 38.77 49.884 36.778 49.3 35.347 C 48.152 35.794 45.983 35.853 45.008 35.29 C 45.721 34.711 47.061 34.16 49.071 34.146 C 49.071 32.601 49.534 31.469 50.788 30.254 C 49.065 30.267 46.965 29.781 45.469 29.389 C 45.221 30.718 44.378 32.314 43.233 32.715 C 43.227 31.854 43.493 29.605 44.378 28.938 C 43.513 28.37 42.26 26.993 41.803 25.276 C 41.181 26.601 40.32 27.906 38.457 28.35 C 39.642 29.403 40.477 31.42 40.143 32.887 C 35.091 28.905 32.414 30.203 31.125 30.5 C f 25.317 46.491 m 25.994 46.691 26.284 46.843 V 24.815 49.556 29.266 53.837 30.186 54.576 C 30.787 54.351 30.907 51.818 30.23 50.482 C 31.073 50.605 33.262 49.227 34.02 47.938 C 34.085 48.625 35.655 51.566 36.481 51.944 C 35.561 52.341 34.896 53.814 34.134 55.263 C 35.156 55.43 36.555 54.508 38.026 53.603 C 38.541 54.404 39.915 55.377 41.174 55.892 C 40.086 56.579 39.591 57.321 39.094 58.78 C 38.052 58.215 35.865 58.065 35.336 58.353 C 35.85 59.465 38.096 60.008 38.827 59.955 C 38.573 60.817 38.425 62.97 38.598 65.563 C 36.939 64.247 35.393 62.931 33.734 62.988 C 34.003 61.567 33.367 59.761 32.99 59.268 C 32.417 60.012 32.006 60.839 32.361 62.817 C 30.908 63.302 29.671 63.847 28.297 65.106 C 28.297 63.274 27.725 62.073 26.857 60.796 C 28.117 60.308 29.389 59.106 29.385 58.067 C 28.537 58.219 26.845 58.963 26.352 59.955 C 25.634 59.209 23.95 57.899 22.346 57.895 C 23.534 57.041 24.454 56.006 24.549 54.094 C 25.802 55.065 28.255 55.68 29.635 55.083 C 24.794 50.846 25.262 47.814 25.317 46.491 C f 12.412 78.151 m 11.887 77.68 11.691 77.418 V 14.182 75.601 11.928 69.774 11.415 68.711 C 10.776 68.655 9.369 71.396 9.405 72.894 C 8.273 72.138 6.608 72.259 5.006 72.545 C 5.578 71.458 5.177 69.512 4.376 68.711 C 5.378 68.747 6.729 68.032 8.038 67.052 C 7.203 66.231 5.376 66.393 3.46 67.052 C 3.46 65.678 2.638 63.941 1.801 62.759 C 3.117 62.817 4.262 62.13 5.12 61.1 C 5.785 62.669 7.819 63.781 8.725 63.732 C 8.742 62.367 7.169 60.277 6.147 59.878 C 6.747 59.209 7.766 57.678 8.725 55.263 C 9.524 57.189 10.694 58.431 11.927 59.364 C 10.785 60.925 10.959 61.796 11.358 63.274 C 12.101 62.734 13.132 62.301 13.303 60.298 C 15.02 60.584 16.156 60.512 17.653 59.612 C 17.198 61.273 17.195 62.874 17.515 64.574 C 15.665 64.434 14.105 64.648 13.075 66.136 C 13.905 66.363 16.165 66.422 17.039 65.49 C 17.366 66.472 18.261 67.878 19.707 68.572 C 18.267 68.832 17.282 69.931 16.373 71.617 C 15.66 70.202 13.433 68.536 11.93 68.482 C 13.933 72.545 13.933 75.464 12.412 78.151 C f 31.125 74.908 m 31.445 75.537 31.648 75.794 V 34.045 73.853 38.851 77.161 39.746 77.929 C 39.636 78.562 37.511 79.698 35.794 78.668 C 36.234 79.957 35.332 81.918 34.134 82.96 C 35.873 82.86 38.019 84.221 38.541 84.963 C 38.763 83.986 39.946 82.716 41.231 81.701 C 41.582 82.675 40.887 84.792 39.971 86.394 C 41.206 86.895 42.318 87.825 42.776 89.084 C 43.233 87.768 44.236 87.093 45.58 86.337 C 44.421 84.91 43.64 82.736 43.92 81.873 C 45.243 82.208 46.814 84.926 46.937 86.016 C 47.812 85.249 49.366 84.563 51.947 84.257 C 50.246 83.179 49.884 81.187 49.3 79.756 C 48.152 80.203 45.983 80.262 45.008 79.698 C 45.721 79.119 47.061 78.569 49.071 78.554 C 49.071 77.009 49.534 75.877 50.788 74.663 C 49.065 74.675 46.965 74.189 45.469 73.798 C 45.221 75.126 44.378 76.723 43.233 77.123 C 43.227 76.262 43.493 74.013 44.378 73.347 C 43.513 72.779 42.26 71.401 41.803 69.684 C 41.181 71.009 40.32 72.314 38.457 72.759 C 39.642 73.812 40.477 75.829 40.143 77.295 C 35.091 73.313 32.414 74.611 31.125 74.908 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots) (Polka dots) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 1 XR 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 0 XR 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 1 XR 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 0 XR 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 1 XR 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Random circles) (Random circles) 4.365 3.849 51.13 57.85 [ %AI3_Tile (0 O 0 R 0 0.1125 0.45 0 k 0 0.1125 0.45 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.365 3.849 m 4.365 57.85 L 51.13 57.85 L 51.13 3.849 L 4.365 3.849 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.4 0.7 1 0 k 0.4 0.7 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 45.429 36.274 m 45.843 36.991 45.598 37.908 44.88 38.323 c 44.163 38.737 43.245 38.491 42.831 37.774 c 42.417 37.056 42.663 36.139 43.38 35.725 c 44.098 35.31 45.015 35.556 45.429 36.274 c s 44.179 27.926 m 43.765 28.643 42.848 28.889 42.13 28.475 c 41.413 28.06 41.167 27.143 41.581 26.425 c 41.995 25.708 42.913 25.462 43.63 25.876 c 44.348 26.291 44.593 27.208 44.179 27.926 c s 35.929 41.024 m 35.515 41.741 34.598 41.987 33.88 41.573 c 33.163 41.158 32.917 40.241 33.331 39.524 c 33.745 38.806 34.663 38.56 35.38 38.975 c 36.098 39.389 36.343 40.306 35.929 41.024 c s 28.38 34.225 m 28.794 34.942 28.549 35.859 27.831 36.274 c 27.114 36.688 26.196 36.442 25.782 35.725 c 25.368 35.007 25.614 34.09 26.331 33.675 c 27.049 33.261 27.966 33.507 28.38 34.225 c s 31.179 28.024 m 30.765 28.741 29.848 28.987 29.13 28.573 c 28.413 28.158 28.167 27.241 28.581 26.524 c 28.995 25.806 29.913 25.56 30.63 25.975 c 31.348 26.389 31.593 27.306 31.179 28.024 c s 36.792 23.349 m 35.963 23.349 35.292 22.678 35.292 21.849 c 35.292 21.021 35.963 20.349 36.792 20.349 c 37.62 20.349 38.292 21.021 38.292 21.849 c 38.292 22.678 37.62 23.349 36.792 23.349 c s 10.888 34.175 m 10.474 34.893 10.72 35.81 11.437 36.225 c 12.155 36.639 13.072 36.393 13.486 35.675 c 13.901 34.958 13.655 34.041 12.937 33.626 c 12.22 33.212 11.303 33.458 10.888 34.175 c s 11.517 26.601 m 11.931 27.318 12.848 27.564 13.566 27.15 c 14.283 26.735 14.529 25.818 14.115 25.1 c 13.701 24.383 12.783 24.137 12.066 24.551 c 11.348 24.966 11.103 25.883 11.517 26.601 c s 16.782 41.426 m 17.196 42.143 18.114 42.389 18.831 41.975 c 19.549 41.56 19.794 40.643 19.38 39.926 c 18.966 39.208 18.049 38.962 17.331 39.377 c 16.614 39.791 16.368 40.708 16.782 41.426 c s 22.365 24.35 m 23.194 24.35 23.865 23.678 23.865 22.85 c 23.865 22.021 23.194 21.35 22.365 21.35 c 21.537 21.35 20.865 22.021 20.865 22.85 c 20.865 23.678 21.537 24.35 22.365 24.35 c s 45.385 7.849 m 44.971 7.132 44.053 6.886 43.336 7.3 c 42.619 7.714 42.373 8.632 42.787 9.349 c 43.201 10.067 44.119 10.312 44.836 9.898 c 45.553 9.484 45.799 8.567 45.385 7.849 c s 29.679 7.774 m 29.265 7.056 28.348 6.81 27.63 7.225 c 26.913 7.639 26.667 8.556 27.081 9.274 c 27.495 9.991 28.413 10.237 29.13 9.823 c 29.848 9.408 30.093 8.491 29.679 7.774 c s 35.542 11.349 m 34.713 11.349 34.042 12.021 34.042 12.849 c 34.042 13.678 34.713 14.349 35.542 14.349 c 36.37 14.349 37.042 13.678 37.042 12.849 c 37.042 12.021 36.37 11.349 35.542 11.349 c s 10.13 7.475 m 10.544 6.757 11.462 6.511 12.179 6.926 c 12.897 7.34 13.142 8.257 12.728 8.975 c 12.314 9.692 11.397 9.938 10.679 9.524 c 9.962 9.109 9.716 8.192 10.13 7.475 c s 20.203 13.349 m 21.031 13.349 21.703 14.021 21.703 14.849 c 21.703 15.678 21.031 16.349 20.203 16.349 c 19.375 16.349 18.703 15.678 18.703 14.849 c 18.703 14.021 19.375 13.349 20.203 13.349 c s 44.635 54.1 m 45.049 53.382 44.803 52.465 44.086 52.051 c 43.369 51.636 42.451 51.882 42.037 52.6 c 41.623 53.317 41.869 54.234 42.586 54.649 c 43.303 55.063 44.221 54.817 44.635 54.1 c s 36.841 48.1 m 36.427 47.382 35.509 47.136 34.792 47.551 c 34.074 47.965 33.828 48.882 34.243 49.6 c 34.657 50.317 35.574 50.563 36.292 50.149 c 37.009 49.734 37.255 48.817 36.841 48.1 c s 29.728 54.725 m 30.143 54.007 29.897 53.09 29.179 52.675 c 28.462 52.261 27.544 52.507 27.13 53.225 c 26.716 53.942 26.962 54.859 27.679 55.274 c 28.397 55.688 29.314 55.442 29.728 54.725 c s 10.86 54.1 m 10.446 53.382 10.691 52.465 11.409 52.051 c 12.126 51.636 13.044 51.882 13.458 52.6 c 13.872 53.317 13.626 54.234 12.909 54.649 c 12.191 55.063 11.274 54.817 10.86 54.1 c s 19.154 49.1 m 19.568 48.382 20.486 48.136 21.203 48.551 c 21.92 48.965 22.166 49.882 21.752 50.6 c 21.338 51.317 20.42 51.563 19.703 51.149 c 18.986 50.734 18.74 49.817 19.154 49.1 c s 51.88 38.85 m 51.052 38.85 50.38 39.521 50.38 40.35 c 50.38 41.178 51.052 41.85 51.88 41.85 c 52.709 41.85 53.38 41.178 53.38 40.35 c 53.38 39.521 52.709 38.85 51.88 38.85 c s 51.865 11.349 m 52.693 11.349 53.365 12.021 53.365 12.849 c 53.365 13.678 52.693 14.349 51.865 14.349 c 51.036 14.349 50.365 13.678 50.365 12.849 c 50.365 12.021 51.036 11.349 51.865 11.349 c s 30.179 18.524 m 29.765 19.241 28.848 19.487 28.13 19.073 c 27.413 18.658 27.167 17.741 27.581 17.024 c 27.995 16.306 28.913 16.06 29.63 16.475 c 30.348 16.889 30.593 17.806 30.179 18.524 c s 21.679 31.524 m 21.265 32.241 20.348 32.487 19.63 32.073 c 18.913 31.658 18.667 30.741 19.081 30.024 c 19.495 29.306 20.413 29.06 21.13 29.475 c 21.848 29.889 22.093 30.806 21.679 31.524 c s 37.914 33.399 m 37.5 34.116 36.583 34.362 35.865 33.948 c 35.148 33.533 34.902 32.616 35.316 31.899 c 35.73 31.181 36.648 30.935 37.365 31.35 c 38.083 31.764 38.328 32.681 37.914 33.399 c s 28.929 45.024 m 28.515 45.741 27.598 45.987 26.88 45.573 c 26.163 45.158 25.917 44.241 26.331 43.524 c 26.745 42.806 27.663 42.56 28.38 42.975 c 29.098 43.389 29.343 44.306 28.929 45.024 c s 12.429 45.524 m 12.015 46.241 11.098 46.487 10.38 46.073 c 9.663 45.658 9.417 44.741 9.831 44.024 c 10.245 43.306 11.163 43.06 11.88 43.475 c 12.598 43.889 12.843 44.806 12.429 45.524 c s 44.49 45.6 m 44.075 46.317 43.158 46.563 42.441 46.149 c 41.723 45.734 41.477 44.817 41.891 44.1 c 42.306 43.382 43.223 43.136 43.941 43.55 c 44.658 43.965 44.904 44.882 44.49 45.6 c s 12.679 18.524 m 12.265 19.241 11.348 19.487 10.63 19.073 c 9.913 18.658 9.667 17.741 10.081 17.024 c 10.495 16.306 11.413 16.06 12.13 16.475 c 12.848 16.889 13.093 17.806 12.679 18.524 c s 21.179 5.774 m 20.765 6.491 19.848 6.737 19.13 6.323 c 18.413 5.908 18.167 4.991 18.581 4.274 c 18.995 3.557 19.913 3.311 20.63 3.725 c 21.348 4.139 21.593 5.056 21.179 5.774 c s 38.929 5.274 m 38.515 5.991 37.598 6.237 36.88 5.823 c 36.163 5.408 35.917 4.491 36.331 3.774 c 36.745 3.057 37.663 2.811 38.38 3.225 c 39.098 3.639 39.343 4.556 38.929 5.274 c s 43.865 18.1 m 44.694 18.1 45.365 17.429 45.365 16.6 c 45.365 15.772 44.694 15.1 43.865 15.1 c 43.037 15.1 42.365 15.772 42.365 16.6 c 42.365 17.429 43.037 18.1 43.865 18.1 c s 51.13 4.6 m 50.302 4.6 49.63 3.928 49.63 3.1 c 49.63 2.272 50.302 1.6 51.13 1.6 c 51.959 1.6 52.63 2.272 52.63 3.1 c 52.63 3.928 51.959 4.6 51.13 4.6 c s 52.163 31.649 m 51.748 32.366 50.831 32.612 50.114 32.198 c 49.396 31.783 49.15 30.866 49.565 30.149 c 49.979 29.431 50.896 29.185 51.614 29.6 c 52.331 30.014 52.577 30.931 52.163 31.649 c s 51.85 51.35 m 51.021 51.35 50.35 50.678 50.35 49.85 c 50.35 49.021 51.021 48.35 51.85 48.35 c 52.678 48.35 53.35 49.021 53.35 49.85 c 53.35 50.678 52.678 51.35 51.85 51.35 c s 49.85 23.1 m 50.679 23.1 51.35 22.428 51.35 21.6 c 51.35 20.771 50.679 20.1 49.85 20.1 c 49.022 20.1 48.35 20.771 48.35 21.6 c 48.35 22.428 49.022 23.1 49.85 23.1 c s 5.13 38.85 m 4.302 38.85 3.63 39.521 3.63 40.35 c 3.63 41.178 4.302 41.85 5.13 41.85 c 5.959 41.85 6.63 41.178 6.63 40.35 c 6.63 39.521 5.959 38.85 5.13 38.85 c s 5.115 11.349 m 5.943 11.349 6.615 12.021 6.615 12.849 c 6.615 13.678 5.943 14.349 5.115 14.349 c 4.286 14.349 3.615 13.678 3.615 12.849 c 3.615 12.021 4.286 11.349 5.115 11.349 c s 4.38 4.6 m 3.552 4.6 2.88 3.928 2.88 3.1 c 2.88 2.272 3.552 1.6 4.38 1.6 c 5.209 1.6 5.88 2.272 5.88 3.1 c 5.88 3.928 5.209 4.6 4.38 4.6 c s 5.413 31.649 m 4.998 32.366 4.081 32.612 3.364 32.198 c 2.646 31.783 2.4 30.866 2.815 30.149 c 3.229 29.431 4.146 29.185 4.864 29.6 c 5.581 30.014 5.827 30.931 5.413 31.649 c s 5.1 51.35 m 4.271 51.35 3.6 50.678 3.6 49.85 c 3.6 49.021 4.271 48.35 5.1 48.35 c 5.928 48.35 6.6 49.021 6.6 49.85 c 6.6 50.678 5.928 51.35 5.1 51.35 c s 3.1 23.1 m 3.929 23.1 4.6 22.428 4.6 21.6 c 4.6 20.771 3.929 20.1 3.1 20.1 c 2.272 20.1 1.6 20.771 1.6 21.6 c 1.6 22.428 2.272 23.1 3.1 23.1 c s 21.194 59.775 m 20.78 60.492 19.863 60.738 19.145 60.324 c 18.428 59.909 18.182 58.992 18.596 58.275 c 19.01 57.558 19.928 57.312 20.645 57.726 c 21.363 58.14 21.608 59.057 21.194 59.775 c s 38.944 59.275 m 38.53 59.992 37.613 60.238 36.895 59.824 c 36.178 59.409 35.932 58.492 36.346 57.775 c 36.76 57.058 37.678 56.812 38.395 57.226 c 39.113 57.64 39.358 58.557 38.944 59.275 c s 51.145 58.601 m 50.317 58.601 49.645 57.929 49.645 57.101 c 49.645 56.273 50.317 55.601 51.145 55.601 c 51.974 55.601 52.645 56.273 52.645 57.101 c 52.645 57.929 51.974 58.601 51.145 58.601 c s 4.395 58.601 m 3.567 58.601 2.895 57.929 2.895 57.101 c 2.895 56.273 3.567 55.601 4.395 55.601 c 5.224 55.601 5.895 56.273 5.895 57.101 c 5.895 57.929 5.224 58.601 4.395 58.601 c s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Rope.side) (Rope.side) 1 4.6 60.9998 33.3999 [ %AI3_Tile (0 O 0 R 0 0 0 1 k 0 0 0 1 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 1 j 0.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 24.9999 7 m 15.6521 4.663 8.125 8.6981 1 14.1407 C S 36.9999 7 m 22.3477 3.337 12.168 15.3276 1 23.859 C S 48.9999 7 m 29.3464 2.0866 17.7386 25.3332 1 30.6213 C S 1 30.9999 m 24.9999 36.9999 36.9999 1 60.9998 7 C S 13 30.9999 m 32.6534 35.9133 44.2611 12.6667 60.9998 7.3786 C S 24.9999 30.9999 m 39.652 34.6629 49.8317 22.6722 60.9998 14.1407 C S 36.9999 30.9999 m 46.3476 33.3369 53.8749 29.3018 60.9998 23.859 C S 48.9999 30.9999 m 53.3464 32.0865 57.2978 31.7908 60.9998 30.6213 C S 13 7 m 8.6535 5.9134 4.7019 6.2091 1 7.3786 C S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Scales) (Scales) 1.6 9.3475 48.088 55.8355 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 9.3475 m 1.6 55.8355 L 48.088 55.8355 L 48.088 9.3475 L 1.6 9.3475 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 17.0956 9.3475 m 12.8162 9.3475 9.3475 5.8787 9.3475 1.6 C 9.3475 5.8787 5.8787 9.3475 1.6 9.3475 C 1.6 13.6262 5.0687 17.095 9.3475 17.095 c 13.6268 17.095 17.0956 13.6262 17.0956 9.3475 C s 32.5918 9.3475 m 28.3125 9.3475 24.8437 5.8787 24.8437 1.6 C 24.8437 5.8787 21.3743 9.3475 17.0956 9.3475 C 17.0956 13.6262 20.5644 17.095 24.8437 17.095 c 29.1224 17.095 32.5918 13.6262 32.5918 9.3475 C s 48.088 9.3475 m 43.8087 9.3475 40.3399 5.8787 40.3399 1.6 C 40.3399 5.8787 36.8705 9.3475 32.5918 9.3475 C 32.5918 13.6262 36.0606 17.095 40.3399 17.095 c 44.6186 17.095 48.088 13.6262 48.088 9.3475 C s 17.0956 40.3393 m 12.8162 40.3393 9.3475 36.8699 9.3475 32.5912 C 9.3475 36.8699 5.8787 40.3393 1.6 40.3393 C 1.6 44.6181 5.0687 48.0874 9.3475 48.0874 c 13.6268 48.0874 17.0956 44.6181 17.0956 40.3393 C s 17.0956 24.8431 m 12.8162 24.8431 9.3475 21.3743 9.3475 17.095 C 9.3475 21.3743 5.8787 24.8431 1.6 24.8431 C 1.6 29.1218 5.0687 32.5912 9.3475 32.5912 c 13.6268 32.5912 17.0956 29.1218 17.0956 24.8431 C s 32.5918 24.8431 m 28.3125 24.8431 24.8437 21.3743 24.8437 17.095 C 24.8437 21.3743 21.3743 24.8431 17.0956 24.8431 C 17.0956 29.1218 20.5644 32.5912 24.8437 32.5912 c 29.1224 32.5912 32.5918 29.1218 32.5918 24.8431 C s 48.088 24.8431 m 43.8087 24.8431 40.3399 21.3743 40.3399 17.095 C 40.3399 21.3743 36.8705 24.8431 32.5918 24.8431 C 32.5918 29.1218 36.0606 32.5912 40.3399 32.5912 c 44.6186 32.5912 48.088 29.1218 48.088 24.8431 C s 32.5918 40.3393 m 28.3125 40.3393 24.8437 36.8699 24.8437 32.5912 C 24.8437 36.8699 21.3743 40.3393 17.0956 40.3393 C 17.0956 44.6181 20.5644 48.0874 24.8437 48.0874 c 29.1224 48.0874 32.5918 44.6181 32.5918 40.3393 C s 48.088 40.3393 m 43.8087 40.3393 40.3399 36.8699 40.3399 32.5912 C 40.3399 36.8699 36.8705 40.3393 32.5918 40.3393 C 32.5918 44.6181 36.0606 48.0874 40.3399 48.0874 c 44.6186 48.0874 48.088 44.6181 48.088 40.3393 C s 17.0956 55.8355 m 12.8162 55.8355 9.3475 52.3662 9.3475 48.0874 C 9.3475 52.3662 5.8787 55.8355 1.6 55.8355 C 1.6 60.1143 5.0687 63.5836 9.3475 63.5836 c 13.6268 63.5836 17.0956 60.1143 17.0956 55.8355 C s 32.5918 55.8355 m 28.3125 55.8355 24.8437 52.3662 24.8437 48.0874 C 24.8437 52.3662 21.3743 55.8355 17.0956 55.8355 C 17.0956 60.1143 20.5644 63.5836 24.8437 63.5836 c 29.1224 63.5836 32.5918 60.1143 32.5918 55.8355 C s 48.088 55.8355 m 43.8087 55.8355 40.3399 52.3662 40.3399 48.0874 C 40.3399 52.3662 36.8705 55.8355 32.5918 55.8355 C 32.5918 60.1143 36.0606 63.5836 40.3399 63.5836 c 44.6186 63.5836 48.088 60.1143 48.088 55.8355 C s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (SolidStar.side) (SolidStar.side) 1 1 33.0117 33.0117 [ %AI3_Tile (0 O 0 R 0.05 0.2 0.95 0 k 0.05 0.2 0.95 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 7.9689 26.0458 m 14.5331 22.9874 l 17.0095 29.7904 L 19.4859 22.9874 l 26.0473 26.0458 l 22.9889 19.4815 l 29.792 17.0052 l 22.9889 14.5288 l 26.0473 7.9674 l 19.4859 11.0257 l 17.0095 4.2226 l 14.5305 11.0257 l 7.9689 7.9674 l 11.0273 14.5288 l 4.2242 17.0052 l 11.0273 19.4843 L 7.9689 26.0458 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars) (Stars) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 1 XR 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stripes) (Stripes) 8.45 4.6001 80.45 76.6001 [ %AI3_Tile (0 O 0 R 1 0.07 1 0 k 1 0.07 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 8.2 8.2 m 80.7 8.2 L S 8.2 22.6001 m 80.7 22.6001 L S 8.2 37.0002 m 80.7 37.0002 L S 8.2 51.4 m 80.7 51.4 L S 8.2 65.8001 m 80.7 65.8001 L S 8.2 15.4 m 80.7 15.4 L S 8.2 29.8001 m 80.7 29.8001 L S 8.2 44.2 m 80.7 44.2 L S 8.2 58.6001 m 80.7 58.6001 L S 8.2 73.0002 m 80.7 73.0002 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.outer) (TriBevel.outer) 1 1.0004 31.6124 31.6127 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6118 5.4917 m 27.1221 5.4917 L 27.1205 1.0011 L 27.8031 1.0011 L 27.8031 4.8091 L 31.6118 4.8091 L 31.6118 5.4917 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 9.5062 m 23.1111 9.5062 L 23.1111 1.0015 L 27.1205 1.0015 L 27.1205 5.493 L 31.6144 5.493 L 31.6149 9.5062 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 10.485 m 22.1297 10.485 L 22.1292 1.0015 L 23.1084 1.0015 L 23.1084 9.5049 L 31.6124 9.5049 L 31.6124 10.485 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6129 17.2066 m 15.4064 17.2085 L 15.4064 1 L 22.1301 1 L 22.1301 10.4868 L 31.6129 10.4868 L 31.6129 17.2066 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 18.3658 m 14.2517 18.3658 L 14.2515 1.0009 L 15.4043 1.0009 L 15.4043 17.2093 L 31.6149 17.2093 L 31.6149 18.3658 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 30.4755 m 2.1395 30.4755 L 2.1395 1.0015 L 14.249 1 L 14.249 18.366 L 31.6149 18.366 L 31.6124 30.4755 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.6 k 0 0 0 0.6 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.4066 16.847 m 14.2778 18.3257 l 15.4066 17.2057 l 15.4066 16.847 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 23.1095 9.1906 m 22.1759 10.4392 l 23.1082 9.505 l 23.1095 9.1906 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 27.8039 4.6026 m 27.1619 5.4533 l 27.8029 4.8093 l 27.8039 4.6026 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.side) (TriBevel.side) 1.0006 1 29.0006 31.6124 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29 4.8087 m 29 4.8087 L 29.0026 5.4927 L 1.0026 5.4927 L 1 4.8087 L 1 4.8087 L 29 4.8087 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0026 5.4927 m 29.0005 9.5045 L 1.0005 9.5045 L 1.0026 5.4927 L 29.0026 5.4927 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0005 9.5045 m 29.0011 10.4865 L 1.0011 10.4865 L 1.0005 9.5045 L 29.0005 9.5045 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0011 10.4865 m 29.003 17.209 L 1.003 17.209 L 1.0011 10.4865 L 29.0011 10.4865 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.003 17.209 m 29.0031 18.3656 L 1.0031 18.3656 L 1.003 17.209 L 29.003 17.209 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0031 18.3656 m 29.0006 30.4752 L 1.0006 30.4752 L 1.0031 18.3656 L 29.0031 18.3656 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Waves-scroll) (Waves-scroll) 17.926 10.516 68.663 69.012 [ %AI3_Tile (0 O 0 R 1 0 0.3 0 k 1 0 0.3 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 17.926 69.012 m 17.926 10.516 L 68.663 10.516 L 68.663 69.012 L 17.926 69.012 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.55 0 0 0 k 0.55 0 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.75 w 4 M []0 d %AI3_Note: 0 D 0 XR 65.335 70.465 m 65.881 68.746 67.444 68.168 68.663 69.012 C 67.538 69.668 68.011 71.255 69.686 70.933 c 72.124 70.464 71.894 67.213 70.53 65.589 c 68.561 63.245 64.565 60.995 53.241 71.117 C S 39.964 70.465 m 40.511 68.746 42.074 68.168 43.293 69.012 C 42.168 69.668 42.64 71.255 44.316 70.933 c 46.753 70.464 46.524 67.213 45.16 65.589 c 43.191 63.245 39.195 60.995 27.87 71.117 c S 14.594 70.465 m 15.141 68.746 16.704 68.168 17.923 69.012 C 16.798 69.668 17.27 71.255 18.945 70.933 c 21.382 70.464 21.153 67.213 19.789 65.589 c 17.821 63.245 13.825 60.995 2.5 71.117 c S 10.959 51.619 m 22.282 41.497 26.278 43.747 28.247 46.09 c 29.611 47.715 29.841 50.965 27.403 51.434 c 25.728 51.757 25.255 50.169 26.38 49.513 C 25.161 48.669 23.599 49.248 23.052 50.966 c 22.723 51.997 23.38 53.966 24.872 54.903 c 27.267 56.406 31.371 56.05 36.328 51.619 c 47.653 41.497 51.649 43.746 53.618 46.09 c 54.982 47.715 55.212 50.965 52.774 51.434 c 51.099 51.757 50.626 50.169 51.751 49.513 C 50.532 48.669 48.97 49.248 48.423 50.966 c 48.094 51.997 48.751 53.966 50.243 54.903 c 52.638 56.406 56.742 56.05 61.699 51.619 C 73.024 41.497 77.02 43.747 78.988 46.09 c S 70.156 32.12 m 65.199 36.551 61.095 36.907 58.7 35.404 c 57.208 34.468 56.552 32.499 56.88 31.468 c 57.427 29.749 58.99 29.171 60.208 30.015 C 59.083 30.671 59.556 32.258 61.231 31.936 c 63.669 31.467 63.439 28.216 62.075 26.592 c 60.106 24.248 56.11 21.998 44.786 32.12 C 39.829 36.551 35.725 36.907 33.33 35.404 c 31.838 34.468 31.182 32.499 31.51 31.468 c 32.056 29.749 33.619 29.171 34.838 30.015 C 33.713 30.671 34.186 32.258 35.861 31.936 c 38.299 31.467 38.069 28.216 36.705 26.592 c 34.737 24.248 30.74 21.998 19.415 32.12 c 14.458 36.551 10.354 36.907 7.96 35.404 c S 19.792 7.094 m 21.157 8.719 21.386 11.968 18.949 12.437 c 17.274 12.76 16.801 11.172 17.926 10.516 C 16.708 9.673 15.145 10.252 14.598 11.969 c 14.27 13 14.926 14.969 16.418 15.906 c 18.812 17.409 22.916 17.053 27.874 12.622 c 39.199 2.5 43.195 4.75 45.163 7.094 c 46.528 8.719 46.757 11.968 44.32 12.437 c 42.644 12.76 42.172 11.172 43.297 10.516 C 42.078 9.673 40.515 10.252 39.968 11.969 c 39.64 13 40.297 14.969 41.788 15.906 c 44.183 17.409 48.287 17.053 53.245 12.622 C 64.569 2.5 68.565 4.75 70.534 7.094 c 71.898 8.719 72.127 11.968 69.69 12.437 c 68.014 12.76 67.542 11.172 68.667 10.516 C 67.448 9.673 65.885 10.252 65.338 11.969 c 65.011 13 65.667 14.969 67.159 15.906 c 69.553 17.409 73.657 17.053 78.615 12.622 c S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI5_End_NonPrinting-- %AI5_Begin_NonPrinting Np 12 Bn %AI5_BeginGradient: (Black, White) (Black, White) 0 2 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Chrome) (Chrome) 0 6 Bd [ 0 < 464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B 3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130 3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272726262625 2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1B1B1B1B1A 1A1A1A1919191818181817171717161616151515151414141413131312121212111111101010100F 0F0F0F0E0E0E0D0D0D0D0C0C0C0C0B0B0B0A0A0A0A09090909080808070707070606060505050504 04040403030302020202010101010000 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 1F1E1E1E1E1E1E1E1E1E1D1D1D1D1D1D1D1D1C1C1C1C1C1C1C1C1B1B1B1B1B1B1B1B1B1A1A1A1A1A 1A1A1A19191919191919191818181818181818181717171717171717161616161616161615151515 15151515151414141414141414131313131313131312121212121212121211111111111111111010 1010101010100F0F0F0F0F0F0F0F0F0E0E0E0E0E0E0E0E0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C 0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A090909090909090909080808080808080807070707070707 07060606060606060606050505050505050504040404040404040303030303030303030202020202 02020201010101010101010000000000 > 1 %_Br 0 0.275 1 < 6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544 434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F > 1 %_Br 0 < 00000101010102020202030303040404040505050506060607070707080808090909090A0A0A0A0B 0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101011111112121212131313141414141515151516 161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021 212122222222232323232424242525252526262627272727282828282929292A2A2A2A2B2B2B2B2C 2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313132323233333333343434353535353636363637 373738383838393939393A3A3A3B3B3B3B3C3C3C3C3D3D3D3E3E3E3E3F3F3F404040404141414142 42424343434344444444454545464646 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 00000101020203030304040505050606070708080809090A0A0A0B0B0C0C0D0D0D0E0E0F0F101010 1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121 222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232 32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243 4344444445454646474747484849494A4A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354 54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5F5F5F606061616162626363646464 6565666666676768686969696A6A6B6B > 1 %_Br 1 0 %_Br < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141 414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535 35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929 292828282727272626262625252524242423232323222222212121202020201F1F1F1E1E1E1D1D1D 1D1C1C1C1B1B1B1A1A1A1A1919191818181717171716161615151514141414131313121212111111 111010100F0F0F0E0E0E0E0D0D0D0C0C0C0B0B0B0B0A0A0A09090908080808070707060606050505 05040404030303020202020101010000 > 0 0 1 %_Br [ 1 0 50 92 %_Bs 0 0.275 1 0.12 1 50 59 %_Bs 0 0.275 1 0.42 1 50 50 %_Bs 1 0 50 49 %_Bs 1 0 50 41 %_Bs 1 0.3 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Green, Blue) (Green, Blue) 0 2 Bd [ < 99999A9A9B9B9B9C9C9D9D9D9E9E9F9F9FA0A0A1A1A1A2A2A3A3A3A4A4A5A5A5A6A6A7A7A7A8A8A9 A9A9AAAAABABABACACADADADAEAEAFAFAFB0B0B1B1B1B2B2B3B3B3B4B4B5B5B5B6B6B7B7B7B8B8B9 B9B9BABABBBBBBBCBCBDBDBDBEBEBFBFBFC0C0C1C1C1C2C2C3C3C3C4C4C5C5C5C6C6C7C7C7C8C8C9 C9C9CACACBCBCBCCCCCDCDCDCECECFCFCFD0D0D1D1D1D2D2D3D3D3D4D4D5D5D5D6D6D7D7D7D8D8D9 D9D9DADADBDBDBDCDCDDDDDDDEDEDFDFDFE0E0E1E1E1E2E2E3E3E3E4E4E5E5E5E6E6E7E7E7E8E8E9 E9E9EAEAEBEBEBECECEDEDEDEEEEEFEFEFF0F0F1F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F9 F9F9FAFAFBFBFBFCFCFDFDFDFEFEFFFF > < 000102020304050506070808090A0B0B0C0D0E0E0F101111121314141516171718191A1A1B1C1D1D 1E1F20202122232324252626272829292A2B2C2C2D2E2F2F303132323334353536373838393A3B3B 3C3D3E3E3F404141424344444546474748494A4A4B4C4D4D4E4F5050515253535455565657585959 5A5B5C5C5D5E5F5F606162626364656566676868696A6B6B6C6D6E6E6F7071717273747475767777 78797A7A7B7C7D7D7E7F80808182828384858586878888898A8B8B8C8D8E8E8F9091919293949495 96979798999A9A9B9C9D9D9E9FA0A0A1A2A3A3A4A5A6A6A7A8A9A9AAABACACADAEAFAFB0B1B2B2B3 B4B5B5B6B7B8B8B9BABBBBBCBDBEBEBF > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br [ 1 0.75 0 0 1 50 100 %_Bs 0.6 0 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Orange, Green, Violet) (Orange, Green, Violet) 0 3 Bd [ < F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E4E4E4E3E3E3 E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADAD9D9D9D8D8D8D7D7D7D6D6D6 D5D5D5D4D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCCCCCBCBCBCACACAC9C9C9C8 C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBB BBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B2B1B1B1B0B0B0AFAFAFAEAE AEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A7A6A6A6A5A5A5A4A4A4A3A3A3A2A2A2A1A1A1 A0A0A0A09F9F9F9E9E9E9D9D9D9C9C9C > < 5455555657575859595A5A5B5C5C5D5E5E5F5F6061616263636465656666676868696A6A6B6B6C6D 6D6E6F6F707171727273747475767677777879797A7B7B7C7C7D7E7E7F8080818282838384858586 87878888898A8A8B8C8C8D8D8E8F8F909191929393949495969697989899999A9B9B9C9D9D9E9E9F A0A0A1A2A2A3A4A4A5A5A6A7A7A8A9A9AAAAABACACADAEAEAFB0B0B1B1B2B3B3B4B5B5B6B6B7B8B8 B9BABABBBBBCBDBDBEBFBFC0C1C1C2C2C3C4C4C5C6C6C7C7C8C9C9CACBCBCCCCCDCECECFD0D0D1D2 D2D3D3D4D5D5D6D7D7D8D8D9DADADBDCDCDDDDDEDFDFE0E1E1E2E3E3E4E4E5E6E6E7E8E8E9E9EAEB EBECEDEDEEEFEFF0F0F1F2F2F3F4F4F5 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020303030303 > 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0 > < A1A0A0A09F9F9F9E9E9E9D9D9D9D9C9C9C9B9B9B9A9A9A9999999898989797979696969595959594 94949393939292929191919090908F8F8F8E8E8E8E8D8D8D8C8C8C8B8B8B8A8A8A89898988888887 878787868686858585848484838383828282818181808080807F7F7F7E7E7E7D7D7D7C7C7C7B7B7B 7A7A7A79797978787878777777767676757575747474737373727272717171717070706F6F6F6E6E 6E6D6D6D6C6C6C6B6B6B6A6A6A6A6969696868686767676666666565656464646363636262626261 61616060605F5F5F5E5E5E5D5D5D5C5C5C5B5B5B5B5A5A5A59595958585857575756565655555554 54 > < F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD FDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF FF > 0 1 %_Br [ 0.61 0.96 0 0.01 1 50 100 %_Bs 0.94 0.33 1 0 1 50 50 %_Bs 0 0.63 0.96 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Pink, Yellow, Green ) (Pink, Yellow, Green ) 0 3 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4D4E4F50 5152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 > < 05050505050505050505050505050404040404040404040404040404040404040404040403030303 03030303030303030303030303030303030303020202020202020202020202020202020202020202 0201010101010101010101010101010101010101010101000000000000000000000000 > < CCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACACACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C8C8 C8C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C3C3C3C3 C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0C0C0C0BFBFBF > 0 1 %_Br < 0D0D0D0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0B 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A 0A0A0A09090909090909090909090909090909090909090808080808080808080808080808080808 08080807070707070707070707070707070707070706060606060606060606060606060606060605 05050505050505050505050505050505050404040404040404040404040404040404030303030303 03030303030303030303030202020202020202020202020202020201010101010101010101010101 010101000000000000000000 > < B2B2B2B2B1B1B1B0B0B0AFAFAEAEAEADADACACABABAAAAA9A9A8A8A7A7A6A6A5A5A4A4A3A3A2A2A1 A0A09F9F9E9E9D9D9C9B9B9A9A999898979796959594949392929190908F8F8E8D8D8C8B8B8A8989 88888786868584848382828180807F7E7D7D7C7B7B7A7979787777767575747372727170706F6E6D 6D6C6B6B6A69686867666565646363626160605F5E5D5D5C5B5A5A59585757565554545352515150 4F4E4D4D4C4B4A4A4948474646454443434241403F3F3E3D3C3B3B3A393837373635343333323130 2F2F2E2D2C2B2B2A2928272726252423222221201F1E1D1D1C1B1A1918181716151413131211100F 0E0E0D0C0B0A090908070605 > < 0000010101020202030304040505060607070808090A0A0B0B0C0C0D0E0E0F0F1011111213131415 151616171818191A1B1B1C1D1D1E1F1F202122222324242526272728292A2A2B2C2C2D2E2F303031 323333343536363738393A3A3B3C3D3E3E3F4041424243444546464748494A4B4B4C4D4E4F505051 5253545556565758595A5B5B5C5D5E5F6061626263646566676869696A6B6C6D6E6F707171727374 75767778797A7B7B7C7D7E7F80818283848586868788898A8B8C8D8E8F9091929394949596979899 9A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 C1C2C3C4C5C6C7C8C9CACBCC > 0 1 %_Br [ 0.45 0 0.75 0 1 50 100 %_Bs 0 0.02 0.8 0 1 50 64 %_Bs 0.05 0.7 0 0 1 57 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Purple, Red, Yellow) (Purple, Red, Yellow) 0 3 Bd [ 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A > < CCCCCCCDCDCDCDCDCECECECECECFCFCFCFD0D0D0D0D0D1D1D1D1D1D2D2D2D2D2D3D3D3D3D3D4D4D4 D4D5D5D5D5D5D6D6D6D6D6D7D7D7D7D7D8D8D8D8D8D9D9D9D9DADADADADADBDBDBDBDBDCDCDCDCDC DDDDDDDDDDDEDEDEDEDFDFDFDFDFE0E0E0E0E0E1E1E1E1E1E2E2E2E2E2E3E3E3E3E4E4E4E4E4E5E5 E5E5E5E6E6E6E6E6E7E7E7E7E7E8E8E8E8E9E9E9E9E9EAEAEAEAEAEBEBEBEBEBECECECECECEDEDED EDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F1F1F1F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5 F6F6F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFCFCFCFCFDFDFDFDFDFEFE FEFEFEFFFFFF > 0 1 %_Br < E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBE BDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A99989796 9594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E 6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A49484746 4544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E 1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100 > < E5E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9EAEAEAEA EAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEE EEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F3F3F3 F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7 F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFF > < 00010203040405060708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1D1E1F20212223 242525262728292A2B2C2D2D2E2F30313233343535363738393A3B3C3D3D3E3F4041424344454546 4748494A4B4C4D4E4E4F50515253545556565758595A5B5C5D5E5E5F60616263646566666768696A 6B6C6D6E6E6F70717273747576767778797A7B7C7D7E7F7F80818283848586878788898A8B8C8D8E 8F8F90919293949596979798999A9B9C9D9E9F9FA0A1A2A3A4A5A6A7A7A8A9AAABACADAEAFAFB0B1 B2B3B4B5B6B7B8B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C8C9CACBCC > 0 1 %_Br [ 0 0.04 1 0 1 50 100 %_Bs 0 1 0.8 0 1 50 50 %_Bs 0.9 0.9 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Rainbow) (Rainbow) 0 6 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 0 1 %_Br 1 < 0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E 7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 F7F8F9FAFBFCFDFEFF > 0 0 1 %_Br 1 < 00000000000000000000000000000000000001010101010101010101010101010101010101010101 01010101010101010101010101010202020202020202020202020202020202020202020202020202 02020202020202020202030303030303030303030303030303030303030303030303030303030303 03030303030304040404040404040404040404040404040404040404040404040404040404040404 04040505050505050505050505050505050505050505050505050505050505050505050505050606 06060606060606060606060606060606060606060606060606060606060606060606070707070707 07070707070707070707070707070707 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 1 %_Br [ 0 1 0 0 1 50 100 %_Bs 1 1 0 0 1 50 80 %_Bs 1 0.0279 0 0 1 50 60 %_Bs 1 0 1 0 1 50 40 %_Bs 0 0 1 0 1 50 20 %_Bs 0 1 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Steel Bar) (Steel Bar) 0 3 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 70 %_Bs 0 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (White & Red Radial) (White & Red Radial) 1 18 Bd [ 0 1 1 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br [ 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 12.5 %_Bs 0 0 0 0 1 50 12.5 %_Bs 0 0 0 0 1 50 25 %_Bs 0 1 1 0 1 50 25 %_Bs 0 1 1 0 1 50 37.5 %_Bs 0 0 0 0 1 50 37.5 %_Bs 0 0 0 0 1 50 50 %_Bs 0 1 1 0 1 50 50 %_Bs 0 1 1 0 1 50 62.5 %_Bs 0 0 0 0 1 50 62.5 %_Bs 0 0 0 0 1 50 75 %_Bs 0 1 1 0 1 50 75 %_Bs 0 1 1 0 1 50 87.5 %_Bs 0 0 0 0 1 50 87.5 %_Bs 0 0 0 0 1 50 100 %_Bs 0 1 1 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Orange Radial) (Yellow & Orange Radial) 1 2 Bd [ 0 < 0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122 232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748 494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F 707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C > < FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9 F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2 F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E5 > 0 1 %_Br [ 0 0 1 0 1 52 19 %_Bs 0 0.55 0.9 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Purple Radial) (Yellow & Purple Radial) 1 2 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738 393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D 5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182 83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7 A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0 F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF > < ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191 908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776 7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B 5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140 403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626 25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B 0A090908070706050504030302010100 > 0 1 %_Br [ 0 0.08 0.67 0 1 50 14 %_Bs 1 1 0 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow, Violet, Orange, Blue) (Yellow, Violet, Orange, Blue) 0 4 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < A1A1A1A1A2A2A2A2A3A3A3A3A4A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7A7A8A8A8A8A9A9A9A9AAAAAA AAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B0B1B1B1B1B2B2B2B2B3B3B3B3B4 B4B4B4B5B5B5B5B6B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABBBBBBBBBCBCBCBCBCBDBDBD BDBEBEBEBEBFBFBFBFC0C0C0C0C1C1C1C1C2C2C2C2C2C3C3C3C3C4C4C4C4C5C5C5C5C6C6C6C6C7C7 C7C7C8C8C8C8C8C9C9C9C9CACACACACBCBCBCBCCCCCCCCCDCDCDCDCECECECECECFCFCFCFD0D0D0D0 D1D1D1D1D2D2D2D2D3D3D3D3D4D4D4D4D4D5D5D5D5D6D6D6D6D7D7D7D7D8D8D8D8D9D9D9D9DADADA DADADBDBDBDBDCDCDCDCDDDDDDDDDEDE > < F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CF CECDCCCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B4B3B2B1B0AFAEADACABAAA9 A8A7A6A5A4A3A2A1A09F9E9D9C9C9B9A999897969594939291908F8E8D8C8B8A8988878685848483 8281807F7E7D7C7B7A797877767574737271706F6E6D6C6C6B6A696867666564636261605F5E5D5C 5B5A59585756555454535251504F4E4D4C4B4A494847464544434241403F3E3D3C3C3B3A39383736 3534333231302F2E2D2C2B2A29282726252424232221201F1E1D1C1B1A191817161514131211100F 0E0D0C0C0B0A09080706050403020100 > 0 1 %_Br < 9C9B9A9A9998989796969595949393929191908F8F8E8E8D8C8C8B8A8A8989888787868585848383 82828180807F7E7E7D7C7C7B7B7A797978777776757574747372727170706F6E6E6D6D6C6B6B6A69 6968676766666564646362626161605F5F5E5D5D5C5B5B5A5A595858575656555454535352515150 4F4F4E4D4D4C4C4B4A4A4948484746464545444343424141403F3F3E3E3D3C3C3B3A3A3939383737 36353534333332323130302F2E2E2D2C2C2B2B2A292928272726252524242322222120201F1E1E1D 1D1C1B1B1A191918171716161514141312121111100F0F0E0D0D0C0B0B0A0A090808070606050404 030302010100 > < F5F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEAEAEAE9E9E9E8E8E8E7 E7E7E6E6E6E5E5E5E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADA D9D9D9D8D8D8D7D7D7D6D6D6D5D5D5D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCC CCCBCBCBCACACAC9C9C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C0C0C0BFBFBFBE BEBEBDBDBCBCBCBBBBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B1B1B1B0 B0B0AFAFAFAEAEAEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A6A6A6A5A5A5A4A4A4A3A3A3 A2A2A2A1A1A1 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5 > < 03030303030202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020201010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000 > 1 %_Br < 0D0D0E0F0F10101111121313141415161617171819191A1A1B1C1C1D1D1E1E1F2020212122232324 2425262627272828292A2A2B2B2C2D2D2E2E2F30303131323333343435353637373838393A3A3B3B 3C3D3D3E3E3F3F404141424243444445454647474848494A4A4B4B4C4C4D4E4E4F4F505151525253 54545555565757585859595A5B5B5C5C5D5E5E5F5F60616162626363646565666667686869696A6B 6B6C6C6D6E6E6F6F70707172727373747575767677787879797A7B7B7C7C7D7D7E7F7F8080818282 8383848585868687878889898A8A8B8C8C8D8D8E8F8F90909192929393949495969697979899999A 9A9B9C > < 08090A0B0C0D0E0F0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F40404142434445464748494A4B4C4D4E4F505152535455 565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717172737475767778797A7B7C 7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A2A3 A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB CCCDCECFD0D1D2D3D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 F3F4F5 > < F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCB CAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3 A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B 7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A59585756555453 5251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B 2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403 020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020303 030303 > 1 %_Br [ 1 0.87 0 0 1 50 95 %_Bs 0 0.63 0.96 0 1 50 65 %_Bs 0.61 0.96 0 0.01 1 50 35 %_Bs 0.05 0.03 0.95 0 1 50 5 %_Bs BD %AI5_EndGradient %AI5_End_NonPrinting-- %AI5_BeginPalette 0 0 Pb 0 0 0 0 k (C=0 M=0 Y=0 K=0) Pc 0 0 0 1 k (C=0 M=0 Y=0 K=100) Pc 0 0.45 0.6 0 k (C=0 M=45 Y=60 K=0) Pc 0 0.5 0.05 0 k (C=0 M=50 Y=5 K=0) Pc 0 0.9 1 0 k (C=0 M=90 Y=100 K=0) Pc 1 0.2 1 0 k (C=100 M=20 Y=100 K=0) Pc 1 0.4 0.15 0 k (C=100 M=40 Y=15 K=0) Pc 0.2 0 1 0 k (C=20 M=0 Y=100 K=0) Pc 0.25 1 0.25 0 k (C=25 M=100 Y=25 K=0) Pc 0.4 0.4 0.4 0 k (C=40 M=40 Y=40 K=0) Pc 0.4 0.7 1 0 k (C=40 M=70 Y=100 K=0) Pc 0.75 0.9 0 0 k (C=75 M=90 Y=0 K=0) Pc 1 0 0.55 0 (Aqua) 0 x (Aqua) Pc 1 0.5 0 0 (Blue) 0 x (Blue) Pc 0.5 0.4 0.3 0 (Blue Gray) 0 x (Blue Gray) Pc 0.8 0.05 0 0 (Blue Sky) 0 x (Blue Sky) Pc 0.5 0.85 1 0 (Brown) 0 x (Brown) Pc 1 0.9 0.1 0 (Dark Blue) 0 x (Dark Blue) Pc 1 0.55 1 0 (Forest Green) 0 x (Forest Green) Pc 0.05 0.2 0.95 0 (Gold) 0 x (Gold) Pc 0.75 0.05 1 0 (Grass Green) 0 x (Grass Green) Pc 0 0.45 1 0 (Orange) 0 x (Orange) Pc 0.15 1 1 0 (Red) 0 x (Red) Pc 0.45 0.9 0 0 (Violet) 0 x (Violet) Pc Bb 2 (Black, White) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Black, White) Pc Bb 2 (Chrome) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Chrome) Pc Bb 2 (Green, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Green, Blue) Pc Bb 2 (Orange, Green, Violet) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Orange, Green, Violet) Pc Bb 2 (Pink, Yellow, Green ) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Pink, Yellow, Green ) Pc Bb 2 (Purple, Red, Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Purple, Red, Yellow) Pc Bb 2 (Rainbow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Rainbow) Pc Bb 2 (Steel Bar) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Steel Bar) Pc Bb 0 0 0 0 Bh 2 (White & Red Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (White & Red Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Orange Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Orange Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Purple Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Purple Radial) Pc Bb 2 (Yellow, Violet, Orange, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow, Violet, Orange, Blue) Pc (Arrow1.2.out/in) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.out/in) Pc (Arrow1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.side) Pc (Bricks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Bricks) Pc (Checks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Checks) Pc (Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Confetti) Pc (DblLine1.2.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.inner) Pc (DblLine1.2.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.outer) Pc (DblLine1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.side) Pc (Diamonds) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Diamonds) Pc (Hexagon) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Hexagon) Pc (Laurel.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.inner) Pc (Laurel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.outer) Pc (Laurel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.side) Pc (Leaves-fall) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Leaves-fall) Pc (Polka dots) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Polka dots) Pc (Random circles) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Random circles) Pc (Rope.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Rope.side) Pc (Scales) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Scales) Pc (SolidStar.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (SolidStar.side) Pc (Stars) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stars) Pc (Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stripes) Pc (TriBevel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.outer) Pc (TriBevel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.side) Pc (Waves-scroll) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Waves-scroll) Pc PB %AI5_EndPalette %AI5_BeginLayer 1 1 1 1 0 0 0 79 128 255 Lb (Layer 1) Ln 0 A u u 1 Ap 0 O 0 0 0 0 k 0 R 0 0 0 1 K 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 91.3333 366.9819 m 119.0601 366.9819 141.5379 374.2634 141.5379 383.2453 c 141.5379 392.2273 119.0601 399.5088 91.3333 399.5088 c 63.6065 399.5088 41.1288 392.2273 41.1288 383.2453 c 41.1288 374.2634 63.6065 366.9819 91.3333 366.9819 c b 0 To 1 0 0 1 91.3333 380.4213 0 Tp 0 Tv TP -25.4449 0 Td 0 Tr 0 0 0 1 k %_ 0 50 XQ /_Helvetica 10 9.31 -2.2499 Tf 0 Ts 100 100 Tz 0 Tt %_0 0 100 100 Xu %AI55J_GlyphSubst: GlyphSubstNone 1 TA %_ 0 XL 0 TY 0 TV 36 0 Xb XB 0 0 5 TC 100 100 200 TW 25 TG 0 0 0 Ti 1 Ta 0 0 2 2 3 Th 0 Tq 0 Tg 0 0 Tl 0 Tc 0 Tw (ret #F) Tx 1 80 Tk (ALSE) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 260.6667 366.9819 m 288.3935 366.9819 310.8712 374.2634 310.8712 383.2453 c 310.8712 392.2273 288.3935 399.5088 260.6667 399.5088 c 232.9398 399.5088 210.4621 392.2273 210.4621 383.2453 c 210.4621 374.2634 232.9398 366.9819 260.6667 366.9819 c b 0 To 1 0 0 1 260.6667 380.4213 0 Tp 0 Tv TP -23.4148 0 Td 0 Tr 0 0 0 1 k (ret #TR) Tx 1 40 Tk (UE) Tx 1 0 Tk (\r) TX TO U U 0 0 0 0 k 0 R 0 0 0 1 K [2 ]0 d 328 563.5 m 328 663 L 137 663 L 137 563.5 L 328 563.5 L b u u []0 d 263.625 576.4611 m 291.3518 576.4611 313.8296 583.7426 313.8296 592.7245 c 313.8296 601.7064 291.3518 608.988 263.625 608.988 c 235.8982 608.988 213.4204 601.7064 213.4204 592.7245 c 213.4204 583.7426 235.8982 576.4611 263.625 576.4611 c b 0 To 1 0 0 1 263.625 594.6505 0 Tp 0 Tv TP -20.8449 0 Td 0 Tr 0 0 0 1 k (ld [26], r1\r) Tx 1 0 Tk -0.555 -12 Td (jeq r1, #A) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 203.25 617.4573 m 230.9768 617.4573 253.4546 624.7388 253.4546 633.7207 c 253.4546 642.7027 230.9768 649.9842 203.25 649.9842 c 175.5232 649.9842 153.0454 642.7027 153.0454 633.7207 c 153.0454 624.7388 175.5232 617.4573 203.25 617.4573 c b u 0 To 1 0 0 1 205.25 639.1467 0 Tp 0 Tv TP -17.7182 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8.5 7.9135 -1.9124 Tf (lh [12], r0\r) Tx 1 0 Tk -29.3926 -10 Td (jeq r0, #ETHER) Tx 1 30 Tk (TYPE_IP) Tx 1 0 Tk (\r) TX TO U U U u 0 0 0 0 k 0 R 0 0 0 1 K [2 ]0 d 224.75 435.25 m 224.75 534.75 L 33.75 534.75 L 33.75 435.25 L 224.75 435.25 L b u u []0 d 160.375 448.2111 m 188.1018 448.2111 210.5796 455.4926 210.5796 464.4745 c 210.5796 473.4564 188.1018 480.738 160.375 480.738 c 132.6482 480.738 110.1704 473.4564 110.1704 464.4745 c 110.1704 455.4926 132.6482 448.2111 160.375 448.2111 c b 0 To 1 0 0 1 160.375 466.4005 0 Tp 0 Tv TP -20.8449 0 Td 0 Tr 0 0 0 1 k /_Helvetica 10 9.31 -2.2499 Tf (ld [26], r3\r) Tx 1 0 Tk -0.555 -12 Td (jeq r3, #B) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 100 489.2073 m 127.7268 489.2073 150.2046 496.4888 150.2046 505.4707 c 150.2046 514.4527 127.7268 521.7342 100 521.7342 c 72.2732 521.7342 49.7954 514.4527 49.7954 505.4707 c 49.7954 496.4888 72.2732 489.2073 100 489.2073 c b u 0 To 1 0 0 1 101.5 511.4259 0 Tp 0 Tv TP -17.7182 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8.5 7.9135 -1.9124 Tf (lh [12], r2\r) Tx 1 0 Tk -29.3926 -10 Td (jeq r2, #ETHER) Tx 1 30 Tk (TYPE_IP) Tx 1 0 Tk (\r) TX TO U U U U 0 Ap 0 R 0 0 0 1 K 239.625 622.5 m 259.875 611 l B 262.9485 609.2548 m 257.6188 609.9444 l 259.649 611.1286 l 259.626 613.4788 l 262.9485 609.2548 l f 0 R 0 0 0 1 K 138.9216 494.3934 m 159.1716 482.8934 l B 162.2451 481.1482 m 156.9154 481.8378 l 158.9456 483.022 l 158.9226 485.3723 l 162.2451 481.1482 l f u 0 R 0 0 0 1 K 70 492.6667 m 71.6667 402 l B 71.7369 398.4718 m 69.6133 403.4086 l 71.6671 402.2656 l 73.6773 403.4834 l 71.7369 398.4718 l f U u 0 R 0 0 0 1 K 143.3333 449 m 121.6667 401.3333 l B 120.2039 398.1158 m 120.4125 403.4859 l 121.7741 401.5701 l 124.1128 401.8038 l 120.2039 398.1158 l f U u 0 R 0 0 0 1 K 184.6667 450.3333 m 221.3333 398 l B 223.3627 395.1068 m 218.8435 398.0151 l 221.1854 398.2144 l 222.1724 400.3475 l 223.3627 395.1068 l f U u 0 R 0 0 0 1 K 289.3333 578.6667 m 276 403 l B 275.7328 399.4796 m 274.0829 404.5942 l 276.02 403.2631 l 278.1358 404.2865 l 275.7328 399.4796 l f U 0 To 1 0 0 1 201.5 609.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr /_Helvetica 9 8.379 -2.0249 Tf (1) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 260.5 359 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (6) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 90.75 359.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (5) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 160.25 440.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (4) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 99.5 481.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (3) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 264 568.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (2) Tx 1 0 Tk (\r) TX TO 0 0 0 0 k 0 R 0 0 0 1 K 239 578 m 190 482 l B 0 0 0 1 k 188.395 478.8554 m 188.8466 484.2105 l 190.12 482.2351 l 192.4668 482.3627 l 188.395 478.8554 l f u 0 R 0 0 0 1 K 163.5 624 m 84.5855 596.1477 -5 536 7.5 474.5 c 16.1477 431.9533 61.5 400.5 y S 0 O 0 0 0 1 k 64.1989 398.224 m 59.0856 399.8776 l 61.2982 400.6701 l 61.7059 402.9848 l 64.1989 398.224 l f U LB %AI5_EndLayer-- gsave annotatepage grestore showpage Adobe_Illustrator_AI5 /terminate get exec Adobe_ColorImage_AI6 /terminate get exec Adobe_typography_AI5 /terminate get exec Adobe_cshow /terminate get exec Adobe_level2_AI5 /terminate get exec %%EndDocument endTexFig 2585 2535 a Fv(Figure)f(4:)24 b Ft(Mo)o(ving)19 b(the)h(edges)o(.)2152 2710 y Fv(As)d(is)g(often)g(the)g(case)g(in)g(optimization)h (algorithms,)f(one)h(class)f(of)g(op-)2040 2793 y(timizations)29 b(will)f(e)o(xpose)j(opportunities)f(for)f(others.)54 b(Here,)31 b(the)f(edge)2040 2876 y(mo)o(v)o(ements)j(ha)o(v)o(e)g (caused)g(a)g(load)f(operation)i(to)e(become)h(redundant.)2040 2959 y(Since)28 b(the)g(in-de)o(gree)h(of)f Fm(N)2813 2967 y Fs(4)2876 2959 y Fv(is)f(reduced)i(to)f(one)h(after)f(the)g (dead)h(code)2040 3042 y(at)19 b Fm(N)2174 3050 y Fs(3)2227 3042 y Fv(is)g(eliminated,)g(we)g(kno)n(w)h(that)e Fm(N)3129 3050 y Fs(4)3183 3042 y Fv(and)i Fm(N)3371 3050 y Fs(2)3424 3042 y Fv(load)g(the)f(same)g(v)n(alue.)2040 3125 y(Thus,)24 b(the)f(second)h(load)g(at)e Fm(N)2865 3133 y Fs(4)2923 3125 y Fv(can)h(be)h(remo)o(v)o(ed.)36 b(Figure)23 b(5)g(sho)n(ws)g (the)2040 3208 y(\003o)n(w)c(graph)h(in)e(its)h(\002nal)f(form.)2260 3316 y 12255139 10656645 2697052 27233648 20721254 42823925 startTexFig 2260 3316 a %%BeginDocument: figure8a.eps %AI5_FileFormat 3 %AI3_ColorUsage: Black&White %AI3_IncludePlacedImages %AI7_ImageSettings: 1 %AI3_TemplateBox: 306 396 306 396 %AI3_TileBox: 13 13 599 780 %AI3_DocumentPreview: PC_ColorTIFF %AI5_ArtSize: 612 792 %AI5_RulerUnits: 2 %AI5_ArtFlags: 1 0 0 1 0 0 1 1 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI5_OpenToView: -54 720 2 1144 771 18 0 1 10 62 0 0 %AI5_OpenViewLayers: 7 %AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 userdict /Adobe_level2_AI5 25 dict dup begin put /packedarray where not { userdict begin /packedarray { array astore readonly } bind def /setpacking /pop load def /currentpacking false def end 0 } if pop userdict /defaultpacking currentpacking put true setpacking /initialize { Adobe_level2_AI5 begin } bind def /terminate { currentdict Adobe_level2_AI5 eq { end } if } bind def mark /setcustomcolor where not { /findcmykcustomcolor { 0 6 packedarray } bind def /findrgbcustomcolor { 1 5 packedarray } bind def /setcustomcolor { exch aload pop 0 eq { pop 4 { 4 index mul 4 1 roll } repeat 5 -1 roll pop setcmykcolor } { pop 3 { 1 exch sub 3 index mul 1 exch sub 3 1 roll } repeat 4 -1 roll pop setrgbcolor } ifelse } def } if /gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put userdict /level2? systemdict /languagelevel known dup { pop systemdict /languagelevel get 2 ge } if put /level2ScreenFreq { begin 60 HalftoneType 1 eq { pop Frequency } if HalftoneType 2 eq { pop GrayFrequency } if HalftoneType 5 eq { pop Default level2ScreenFreq } if end } bind def userdict /currentScreenFreq level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put level2? not { /setcmykcolor where not { /setcmykcolor { exch .11 mul add exch .59 mul add exch .3 mul add 1 exch sub setgray } def } if /currentcmykcolor where not { /currentcmykcolor { 0 0 0 1 currentgray sub } def } if /setoverprint where not { /setoverprint /pop load def } if /selectfont where not { /selectfont { exch findfont exch dup type /arraytype eq { makefont } { scalefont } ifelse setfont } bind def } if /cshow where not { /cshow { [ 0 0 5 -1 roll aload pop ] cvx bind forall } bind def } if } if cleartomark /anyColor? { add add add 0 ne } bind def /testColor { gsave setcmykcolor currentcmykcolor grestore } bind def /testCMYKColorThrough { testColor anyColor? } bind def userdict /composite? level2? { gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore add add add 4 eq } { 1 0 0 0 testCMYKColorThrough 0 1 0 0 testCMYKColorThrough 0 0 1 0 testCMYKColorThrough 0 0 0 1 testCMYKColorThrough and and and } ifelse put composite? not { userdict begin gsave /cyan? 1 0 0 0 testCMYKColorThrough def /magenta? 0 1 0 0 testCMYKColorThrough def /yellow? 0 0 1 0 testCMYKColorThrough def /black? 0 0 0 1 testCMYKColorThrough def grestore /isCMYKSep? cyan? magenta? yellow? black? or or or def /customColor? isCMYKSep? not def end } if end defaultpacking setpacking currentpacking true setpacking userdict /Adobe_typography_AI5 68 dict dup begin put /initialize { begin begin Adobe_typography_AI5 begin Adobe_typography_AI5 { dup xcheck { bind } if pop pop } forall end end end Adobe_typography_AI5 begin } def /terminate { currentdict Adobe_typography_AI5 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 /havefont { systemdict /languagelevel known { /Font resourcestatus dup { exch pop exch pop } if } { systemdict /FontDirectory get 1 index known { pop true } { systemdict /fileposition known { dup length 6 add exch Ss 6 250 getinterval cvs pop Ss exch 0 exch getinterval status { pop pop pop pop true } { false } ifelse } { pop false } ifelse } ifelse } ifelse } def /TE { StandardEncoding 256 array copy modifyEncoding /_nativeEncoding exch def } def /subststring { exch 2 index exch search { exch pop exch dup () eq { pop exch concatstring } { 3 -1 roll exch concatstring concatstring } ifelse exch pop true } { pop pop false } ifelse } def /concatstring { 1 index length 1 index length 1 index add string dup 0 5 index putinterval dup 2 index 4 index putinterval 4 1 roll pop pop pop } def % /TZ { dup type /arraytype eq { /_wv exch def } { /_wv 0 def } ifelse /_useNativeEncoding exch def 2 index havefont { 3 index 255 string cvs dup (_Symbol_) eq { pop 2 index findfont } { dup length 1 sub 1 exch getinterval cvn findfont } ifelse } { dup 1 eq { 2 index 64 string cvs dup (-90pv-RKSJ-) (-83pv-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop dup (-90ms-RKSJ-) (-Ext-RKSJ-) subststring { exch pop dup havefont { findfont false } { pop true } ifelse } { pop pop true } ifelse } ifelse { /Ryumin-Light-83pv-RKSJ-H havefont {/Ryumin-Light-83pv-RKSJ-H} {/Courier} ifelse findfont [1 0 0.5 1 0 0] makefont } if } { /Courier findfont } ifelse } ifelse _wv type /arraytype eq { _wv makeblendedfont } if dup length 10 add dict begin mark exch { 1 index /FID ne { def } if cleartomark mark } forall pop /FontScript exch def /FontDirection exch def /FontRequest exch def /FontName exch def counttomark 0 eq { 1 _useNativeEncoding eq { /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 /i1 { W N } 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 { iTe _ctm setmatrix newpath } def /Tp { pop _tm astore pop _ctm setmatrix _tDict begin /W { } def /h { } def } def /TP { end iTm 0 0 moveto } def /Tr { _render 3 le { currentpoint newpath moveto } if 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 _shift aload pop _lineorientation 1 eq { exch } if translate _scale aload pop _lineorientation 1 eq _yokoorientation 1 eq or { exch } if scale } def /Tm { _tm astore pop iTm 0 0 moveto } def /Td { _mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto } def /iTe { _render -1 eq { } { _renderEnd _render get dup null ne { load exec } { pop } ifelse } ifelse /_render -1 ddef } def /Ta { pop } def /Tf { 1 index type /nametype eq { dup 0.75 mul 1 index 0.25 mul neg } if /_fontDescent exch ddef /_fontAscent exch ddef /_fontSize exch ddef /_fontRotateAdjust _fontAscent _fontDescent add 2 div neg ddef /_fontHeight _fontSize ddef findfont _fontSize scalefont setfont } def /Tl { pop neg 0 exch _leading astore pop } def /Tt { pop } def /TW { 3 npop } def /Tw { /_cx exch ddef } def /TC { 3 npop } def /Tc { /_ax exch ddef } def /Ts { 0 exch _shift astore pop currentpoint iTm moveto } def /Ti { 3 npop } def /Tz { count 1 eq { 100 } if 100 div exch 100 div exch _scale astore pop iTm } def /TA { pop } def /Tq { pop } def /Tg { pop } def /TG { pop } def /Tv { /_lineorientation exch ddef } def /TV { /_charorientation exch ddef } def /Ty { dup /_yokoorientation exch ddef 1 sub neg Tv } def /TY { pop } def /T~ { Tx } def /Th { pop pop pop pop pop } def /TX { pop } def /Tk { _fontSize mul 1000 div _lineorientation 0 eq { neg 0 } { 0 exch } ifelse rmoveto pop } def /TK { 2 npop } def /T* { _leading aload pop _lineorientation 0 ne { exch } if Td } def /T*- { _leading aload pop _lineorientation 0 ne { exch } if exch neg exch neg Td } def /T- { _ax neg 0 rmoveto _lineorientation 1 eq _charorientation 0 eq and { 1 TV _hyphen Tx 0 TV } { _hyphen Tx } ifelse } def /T+ { } def /TR { _ctm currentmatrix pop _tm astore pop iTm 0 0 moveto } def /TS { currentfont 3 1 roll /_Symbol_ findfont _fontSize scalefont setfont 0 eq { Tx } { Tj } ifelse setfont } def /Xb { pop pop } def /Tb /Xb load def /Xe { pop pop pop pop } def /Te /Xe load def /XB { } def /TB /XB load def currentdict readonly pop end setpacking % /X^ { currentfont 5 1 roll dup havefont { findfont _fontSize scalefont setfont } { pop exch } ifelse 2 index 0 eq { Tx } { Tj } ifelse pop pop setfont } def /T^ /X^ load def userdict /Adobe_ColorImage_AI6 known not { userdict /Adobe_ColorImage_AI6 24 dict put } if userdict /Adobe_ColorImage_AI6 get begin /initialize { Adobe_ColorImage_AI6 begin Adobe_ColorImage_AI6 { dup type /arraytype eq { dup xcheck { bind } if } if pop pop } forall } def /terminate { end } def currentdict /Adobe_ColorImage_AI6_Vars known not { /Adobe_ColorImage_AI6_Vars 15 dict def } if Adobe_ColorImage_AI6_Vars begin /channelcount 0 def /sourcecount 0 def /sourcearray 4 array def /plateindex -1 def /XIMask 0 def /XIBinary 0 def /XIChannelCount 0 def /XIBitsPerPixel 0 def /XIImageHeight 0 def /XIImageWidth 0 def /XIImageMatrix null def /XIBuffer null def /XIDataProc null def /XIVersion 6 def end /WalkRGBString null def /WalkCMYKString null def /StuffRGBIntoGrayString null def /RGBToGrayImageProc null def /StuffCMYKIntoGrayString null def /CMYKToGrayImageProc null def /ColorImageCompositeEmulator null def /SeparateCMYKImageProc null def /FourEqual null def /TestPlateIndex null def currentdict /_colorimage known not { /colorimage where { /colorimage get /_colorimage exch def } { /_colorimage null def } ifelse } if /_currenttransfer systemdict /currenttransfer get def /colorimage null def /XI null def /WalkRGBString { 0 3 index dup length 1 sub 0 3 3 -1 roll { 3 getinterval { } forall 5 index exec 3 index } for 5 { pop } repeat } def /WalkCMYKString { 0 3 index dup length 1 sub 0 4 3 -1 roll { 4 getinterval { } forall 6 index exec 3 index } for 5 { pop } repeat } def /StuffRGBIntoGrayString { .11 mul exch .59 mul add exch .3 mul add cvi 3 copy put pop 1 add } def /RGBToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 3 idiv string dup 3 1 roll /StuffRGBIntoGrayString load exch WalkRGBString end } def /StuffCMYKIntoGrayString { exch .11 mul add exch .59 mul add exch .3 mul add dup 255 gt { pop 255 } if 255 exch sub cvi 3 copy put pop 1 add } def /CMYKToGrayImageProc { Adobe_ColorImage_AI6_Vars begin sourcearray 0 get exec dup length 4 idiv string dup 3 1 roll /StuffCMYKIntoGrayString load exch WalkCMYKString end } def /ColorImageCompositeEmulator { pop true eq { Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat } { Adobe_ColorImage_AI6_Vars /channelcount get 1 ne { Adobe_ColorImage_AI6_Vars begin sourcearray 0 3 -1 roll put channelcount 3 eq { /RGBToGrayImageProc } { /CMYKToGrayImageProc } ifelse load end } if image } ifelse } def /SeparateCMYKImageProc { Adobe_ColorImage_AI6_Vars begin sourcecount 0 ne { sourcearray plateindex get exec } { sourcearray 0 get exec dup length 4 idiv string 0 2 index plateindex 4 2 index length 1 sub { get 255 exch sub 3 copy put pop 1 add 2 index } for pop pop exch pop } ifelse end } def /FourEqual { 4 index ne { pop pop pop false } { 4 index ne { pop pop false } { 4 index ne { pop false } { 4 index eq } ifelse } ifelse } ifelse } def /TestPlateIndex { Adobe_ColorImage_AI6_Vars begin /plateindex -1 def /setcmykcolor where { pop gsave 1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub 0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub grestore 1 0 0 0 FourEqual { /plateindex 0 def } { 0 1 0 0 FourEqual { /plateindex 1 def } { 0 0 1 0 FourEqual { /plateindex 2 def } { 0 0 0 1 FourEqual { /plateindex 3 def } { 0 0 0 0 FourEqual { /plateindex 5 def } if } ifelse } ifelse } ifelse } ifelse pop pop pop pop } if plateindex end } def /colorimage { Adobe_ColorImage_AI6_Vars begin /channelcount 1 index def /sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def 4 sourcecount add index dup 8 eq exch 1 eq or not end { /_colorimage load null ne { _colorimage } { Adobe_ColorImage_AI6_Vars /sourcecount get 7 add { pop } repeat } ifelse } { dup 3 eq TestPlateIndex dup -1 eq exch 5 eq or or { /_colorimage load null eq { ColorImageCompositeEmulator } { dup 1 eq { pop pop image } { Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { gsave 0 _currenttransfer exec 1 _currenttransfer exec eq { 0 _currenttransfer exec 0.5 lt } { 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse { { pop 0 } } { { pop 1 } } ifelse systemdict /settransfer get exec } if _colorimage Adobe_ColorImage_AI6_Vars /plateindex get 5 eq { grestore } if } ifelse } ifelse } { dup 1 eq { pop pop image } { pop pop Adobe_ColorImage_AI6_Vars begin sourcecount -1 0 { exch sourcearray 3 1 roll put } for /SeparateCMYKImageProc load end systemdict /image get exec } ifelse } ifelse } ifelse } def /XG { pop pop } def /XF { 13 {pop} repeat } def /Xh { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIImageHeight exch def /XIImageWidth exch def /XIImageMatrix exch def 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if /XIVersion 7 def end } def /XH { Adobe_ColorImage_AI6_Vars begin /XIVersion 6 def grestore end } def /XI { Adobe_ColorImage_AI6_Vars begin gsave /XIMask exch 0 ne def /XIBinary exch 0 ne def pop pop /XIChannelCount exch def /XIBitsPerPixel exch def /XIImageHeight exch def /XIImageWidth exch def pop pop pop pop /XIImageMatrix exch def XIBitsPerPixel 1 eq { XIImageWidth 8 div ceiling cvi } { XIImageWidth XIChannelCount mul } ifelse /XIBuffer exch string def XIBinary { /XIDataProc { currentfile XIBuffer readstring pop } def XIVersion 6 le { currentfile 128 string readline pop pop } if } { /XIDataProc { currentfile XIBuffer readhexstring pop } def } ifelse XIVersion 6 le { 0 0 moveto XIImageMatrix concat XIImageWidth XIImageHeight scale XIMask { /_lp /null ddef _fc /_lp /imagemask ddef } if } if XIMask { XIImageWidth XIImageHeight false [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load imagemask } { XIImageWidth XIImageHeight XIBitsPerPixel [ XIImageWidth 0 0 XIImageHeight neg 0 0 ] /XIDataProc load XIChannelCount 1 eq { gsave 0 setgray image grestore } { false XIChannelCount colorimage } ifelse } ifelse grestore end } def end currentpacking true setpacking userdict /Adobe_Illustrator_AI5_vars 107 dict dup begin put /_eo false def /_lp /none def /_pf { } def /_ps { } def /_psf { } def /_pss { } def /_pjsf { } def /_pjss { } def /_pola 0 def /_doClip 0 def /cf currentflat def /_lineorientation 0 def /_charorientation 0 def /_yokoorientation 0 def /_tm matrix def /_renderStart [ /e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0 ] def /_renderEnd [ null null null null /i1 /i1 /i1 /i1 ] def /_render -1 def /_shift [0 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 /_fontSize 0 def /_fontAscent 0 def /_fontDescent 0 def /_fontHeight 0 def /_fontRotateAdjust 0 def /Ss 256 string def Ss 0 (fonts/) putinterval /_cnt 0 def /_scale [1 1] def /_nativeEncoding 0 def /_useNativeEncoding 0 def /_tempEncode 0 def /_pntr 0 def /_tDict 2 dict def /_hfname 100 string def /_hffound false def /Tx { } def /Tj { } def /CRender { } def /_AI3_savepage { } def /_gf null def /_cf 4 array def /_rgbf 3 array def /_if null def /_of false def /_fc { } def /_gs null def /_cs 4 array def /_rgbs 3 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 /_lobyte 0 def /_hibyte 0 def /_cproc null def /_cscript 0 def /_hvax 0 def /_hvay 0 def /_hvwb 0 def /_hvcx 0 def /_hvcy 0 def /_bitfont null def /_bitlobyte 0 def /_bithibyte 0 def /_bitkey null def /_bitdata null def /_bitindex 0 def /discardSave null def /buffer 256 string def /beginString null def /endString null def /endStringLength null def /layerCnt 1 def /layerCount 1 def /perCent (%) 0 get def /perCentSeen? false def /newBuff null def /newBuffButFirst null def /newBuffLast null def /clipForward? false def end userdict /Adobe_Illustrator_AI5 known not { userdict /Adobe_Illustrator_AI5 95 dict put } if userdict /Adobe_Illustrator_AI5 get begin /initialize { Adobe_Illustrator_AI5 dup begin Adobe_Illustrator_AI5_vars begin discardDict { bind pop pop } forall dup /nc get begin { dup xcheck 1 index type /operatortype ne and { bind } if pop pop } forall end newpath } def /terminate { end end } def /_ null def /ddef { Adobe_Illustrator_AI5_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 /hswj { dup stringwidth 3 2 roll { _hvwb eq { exch _hvcx add exch _hvcy add } if exch _hvax add exch _hvay add } cforall } def /vswj { 0 0 3 -1 roll { dup 255 le _charorientation 1 eq and { dup cstring stringwidth 5 2 roll _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub 4 -1 roll sub exch 3 -1 roll sub exch } { _hvwb eq { exch _hvcy sub exch _hvcx sub } if exch _hvay sub exch _hvax sub _fontHeight sub } ifelse } cforall } def /swj { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hswj } { vswj } ifelse } def /sw { 0 0 0 6 3 roll swj } def /vjss { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto gsave false charpath currentpoint 5 index setmatrix stroke grestore _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto gsave 2 index false charpath 6 index setmatrix stroke grestore moveto pop pop } ifelse } cforall 6 npop } def /hjss { 4 1 roll { dup cstring gsave false charpath currentpoint 5 index setmatrix stroke grestore moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jss { _lineorientation 0 eq { hjss } { vjss } ifelse } def /ss { 0 0 0 7 3 roll jss } def /vjsp { 4 1 roll { dup cstring dup length 1 eq _charorientation 1 eq and { -90 rotate currentpoint _fontRotateAdjust add moveto false charpath currentpoint _fontRotateAdjust sub moveto _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto 90 rotate } { currentpoint _fontHeight sub 5 index sub 3 index _sp eq { 9 index sub } if currentpoint exch 4 index stringwidth pop 2 div sub exch _fontAscent sub moveto 2 index false charpath moveto pop pop } ifelse } cforall 6 npop } def /hjsp { 4 1 roll { dup cstring false charpath _sp eq { 5 index 5 index rmoveto } if 2 copy rmoveto } cforall 6 npop } def /jsp { matrix currentmatrix _lineorientation 0 eq {hjsp} {vjsp} ifelse } def /sp { matrix currentmatrix 0 0 0 7 3 roll _lineorientation 0 eq {hjsp} {vjsp} ifelse } 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 /XR { 0 ne /_eo exch ddef } def /H { } def /h { closepath } def /N { _pola 0 eq { _doClip 1 eq { _eo {eoclip} {clip} ifelse /_doClip 0 ddef } if newpath } { /CRender { N } ddef } ifelse } def /n { N } def /F { _pola 0 eq { _doClip 1 eq { gsave _pf grestore _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 _eo {eoclip} {clip} ifelse 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 newpath } 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 clipForward? { nulldevice } if 6 1 roll 4 npop concat pop userdict begin /showpage { } def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where {pop false setstrokeadjust} if newpath 0 setgray false setoverprint } def /~ { end _i restore } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /Xa { _rgbf astore pop /_fc { _lp /fill ne { _of setoverprint _rgbf aload pop setrgbcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XA { _rgbs astore pop /_sc { _lp /stroke ne { _os setoverprint _rgbs aload pop setrgbcolor /_lp /stroke ddef } if } ddef /_ps { _sc stroke } ddef /_pss { _sc ss } ddef /_pjss { _sc jss } ddef /_lp /none ddef } def /_rgbtocmyk { 3 { 1 exch sub 3 1 roll } repeat 3 copy 1 4 1 roll 3 { 3 index 2 copy gt { exch } if pop 4 1 roll } repeat pop pop pop 4 1 roll 3 { 3 index sub 3 1 roll } repeat 4 -1 roll } def /Xx { exch /_gf exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_if exch ddef /_fc { _lp /fill ne { _of setoverprint _if _gf 1 exch sub setcustomcolor /_lp /fill ddef } if } ddef /_pf { _fc _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } ddef /_lp /none ddef } def /XX { exch /_gs exch ddef 0 eq { findcmykcustomcolor } { /findrgbcustomcolor where not { 4 1 roll _rgbtocmyk 5 -1 roll findcmykcustomcolor } { pop findrgbcustomcolor } ifelse } ifelse /_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 /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 _eo {eofill} {fill} ifelse } ddef /_psf { _fc hvashow } ddef /_pjsf { _fc hvawidthshow } 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 /A { pop } def /annotatepage { userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse } def /XT { pop pop } def /discard { save /discardSave exch store discardDict begin /endString exch store gt38? { 2 add } if load stopped pop end discardSave restore } bind def userdict /discardDict 7 dict dup begin put /pre38Initialize { /endStringLength endString length store /newBuff buffer 0 endStringLength getinterval store /newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store /newBuffLast newBuff endStringLength 1 sub 1 getinterval store } def /shiftBuffer { newBuff 0 newBuffButFirst putinterval newBuffLast 0 currentfile read not { stop } if put } def 0 { pre38Initialize mark currentfile newBuff readstring exch pop { { newBuff endString eq { cleartomark stop } if shiftBuffer } loop } { stop } ifelse } def 1 { pre38Initialize /beginString exch store mark currentfile newBuff readstring exch pop { { newBuff beginString eq { /layerCount dup load 1 add store } { newBuff endString eq { /layerCount dup load 1 sub store layerCount 0 eq { cleartomark stop } if } if } ifelse shiftBuffer } loop } if } def 2 { mark { currentfile buffer readline not { stop } if endString eq { cleartomark stop } if } loop } def 3 { /beginString exch store /layerCnt 1 store mark { currentfile buffer readline not { stop } if dup beginString eq { pop /layerCnt dup load 1 add store } { endString eq { layerCnt 1 eq { cleartomark stop } { /layerCnt dup load 1 sub store } ifelse } if } ifelse } loop } def end userdict /clipRenderOff 15 dict dup begin put { /n /N /s /S /f /F /b /B } { { _doClip 1 eq { /_doClip 0 ddef _eo {eoclip} {clip} ifelse } if newpath } def } forall /Tr /pop load def /Bb {} def /BB /pop load def /Bg {12 npop} def /Bm {6 npop} def /Bc /Bm load def /Bh {4 npop} def end /Lb { 4 npop 6 1 roll pop 4 1 roll pop pop pop 0 eq { 0 eq { (%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard } { /clipForward? true def /Tx /pop load def /Tj /pop load def currentdict end clipRenderOff begin begin } ifelse } { 0 eq { save /discardSave exch store } if } ifelse } bind def /LB { discardSave dup null ne { restore } { pop clipForward? { currentdict end end begin /clipForward? false ddef } if } ifelse } bind def /Pb { pop pop 0 (%AI5_EndPalette) discard } bind def /Np { 0 (%AI5_End_NonPrinting--) discard } bind def /Ln /pop load def /Ap /pop load def /Ar { 72 exch div 0 dtransform dup mul exch dup mul add sqrt dup 1 lt { pop 1 } if setflat } def /Mb { q } def /Md { } def /MB { Q } def /nc 4 dict def nc begin /setgray { pop } bind def /setcmykcolor { 4 npop } bind def /setrgbcolor { 3 npop } bind def /setcustomcolor { 2 npop } bind def currentdict readonly pop end end setpacking currentpacking true setpacking userdict /Adobe_cshow 14 dict dup begin put /initialize { Adobe_cshow begin Adobe_cshow { dup xcheck { bind } if pop pop } forall end Adobe_cshow begin } def /terminate { currentdict Adobe_cshow eq { end } if } def /cforall { /_lobyte 0 ddef /_hibyte 0 ddef /_cproc exch ddef /_cscript currentfont /FontScript known { currentfont /FontScript get } { -1 } ifelse ddef { /_lobyte exch ddef _hibyte 0 eq _cscript 1 eq _lobyte 129 ge _lobyte 159 le and _lobyte 224 ge _lobyte 252 le and or and _cscript 2 eq _lobyte 161 ge _lobyte 254 le and and _cscript 3 eq _lobyte 161 ge _lobyte 254 le and and _cscript 25 eq _lobyte 161 ge _lobyte 254 le and and _cscript -1 eq or or or or and { /_hibyte _lobyte ddef } { _hibyte 256 mul _lobyte add _cproc /_hibyte 0 ddef } ifelse } forall } def /cstring { dup 256 lt { (s) dup 0 4 3 roll put } { dup 256 idiv exch 256 mod (hl) dup dup 0 6 5 roll put 1 4 3 roll put } ifelse } def /clength { 0 exch { 256 lt { 1 } { 2 } ifelse add } cforall } def /hawidthshow { { dup cstring show _hvax _hvay rmoveto _hvwb eq { _hvcx _hvcy rmoveto } if } cforall } def /vawidthshow { { dup 255 le _charorientation 1 eq and { -90 rotate 0 _fontRotateAdjust rmoveto cstring _hvcx _hvcy _hvwb _hvax _hvay 6 -1 roll awidthshow 0 _fontRotateAdjust neg rmoveto 90 rotate } { currentpoint _fontHeight sub exch _hvay sub exch _hvax sub 2 index _hvwb eq { exch _hvcy sub exch _hvcx sub } if 3 2 roll cstring dup stringwidth pop 2 div neg _fontAscent neg rmoveto show moveto } ifelse } cforall } def /hvawidthshow { 6 1 roll /_hvay exch ddef /_hvax exch ddef /_hvwb exch ddef /_hvcy exch ddef /_hvcx exch ddef _lineorientation 0 eq { hawidthshow } { vawidthshow } ifelse } def /hvwidthshow { 0 0 3 -1 roll hvawidthshow } def /hvashow { 0 0 0 6 -3 roll hvawidthshow } def /hvshow { 0 0 0 0 0 6 -1 roll hvawidthshow } def currentdict readonly pop end setpacking Adobe_level2_AI5 /initialize get exec Adobe_cshow /initialize get exec Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec Adobe_ColorImage_AI6 /initialize get exec Adobe_Illustrator_AI5 /initialize get exec [ 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase/ellipsis /dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 145/quoteleft /quoteright/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark /scaron/guilsinglright/oe/dotlessi 159/Ydieresis 164/currency 166/brokenbar 168/dieresis/copyright/ordfeminine 172/logicalnot 174/registered/macron/ring /plusminus/twosuperior/threesuperior/acute/mu 183/periodcentered/cedilla /onesuperior/ordmasculine 188/onequarter/onehalf/threequarters 192/Agrave /Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute /Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde /Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute /acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex /edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute /ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis TE %AI55J_Tsume: None %AI3_BeginEncoding: _Helvetica Helvetica [/_Helvetica/Helvetica 0 0 1 TZ %AI3_EndEncoding AdobeType %AI5_Begin_NonPrinting Np %AI3_BeginPattern: (Arrow1.2.out/in) (Arrow1.2.out/in) 1 1 39.4039 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 33.9039 15.6187 m 39.4247 20.202 L 39.4247 20.202 L 33.8869 24.6252 L S 39.2997 20.202 m 24.5706 20.202 l 20.4039 20.4792 20.4039 16.8125 v 20.4039 13.1458 20.4039 12.5625 y S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Arrow1.2.side) (Arrow1.2.side) 1 1 39.404 39.4039 [ %AI3_Tile (0 O 0 R 0.75 0.75 0.375 0 k 0.75 0.75 0.375 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.202 20.202 m 39.404 20.202 l S 33.904 15.6187 m 39.4248 20.202 L 39.4248 20.202 L 33.887 24.6252 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Bricks) (Bricks) 1.6 1.6 73.6 73.6 [ %AI3_Tile (0 O 0 R 0.3 0.85 0.85 0 k 0.3 0.85 0.85 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 1.6 m 1.6 73.6 L 73.6 73.6 L 73.6 1.6 L 1.6 1.6 L f %AI6_EndPatternLayer ) & (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 70.01 m 73.6 70.01 l S 1.6 62.809 m 73.6 62.809 L S 1.6 55.609 m 73.6 55.609 L S 1.6 48.408 m 73.6 48.408 L S 1.6 41.208 m 73.6 41.208 L S 1.6 34.007 m 73.6 34.007 L S 1.6 26.807 m 73.6 26.807 L S 1.6 19.606 m 73.6 19.606 L S 1.6 12.406 m 73.6 12.406 L S 1.6 5.206 m 73.6 5.206 L S 70.01 70.01 m 70.01 62.822 l S 55.61 70.01 m 55.61 62.822 L S 41.21 70.01 m 41.21 62.822 L S 26.81 70.01 m 26.81 62.822 L S 12.41 70.01 m 12.41 62.822 L S 70.01 55.572 m 70.01 48.385 l S 55.61 55.572 m 55.61 48.385 L S 41.21 55.572 m 41.21 48.385 L S 26.81 55.572 m 26.81 48.385 L S 12.41 55.572 m 12.41 48.385 L S 70.01 41.197 m 70.01 34.01 l S 55.61 41.197 m 55.61 34.01 L S 41.21 41.197 m 41.21 34.01 L S 26.81 41.197 m 26.81 34.01 L S 12.41 41.197 m 12.41 34.01 L S 70.01 26.822 m 70.01 19.635 l S 55.61 26.822 m 55.61 19.635 L S 41.21 26.822 m 41.21 19.635 L S 26.81 26.822 m 26.81 19.635 L S 12.41 26.822 m 12.41 19.635 L S 70.01 12.385 m 70.01 5.197 l S 55.61 12.385 m 55.61 5.197 L S 41.21 12.385 m 41.21 5.197 L S 26.81 12.385 m 26.81 5.197 L S 12.41 12.385 m 12.41 5.197 L S 62.797 5.197 m 62.797 1.6 L S 48.397 5.197 m 48.397 1.6 L S 33.997 5.197 m 33.997 1.6 L S 19.597 5.197 m 19.597 1.6 L S 5.197 5.197 m 5.197 1.6 l S 62.797 19.635 m 62.797 12.447 L S 48.397 19.635 m 48.397 12.447 L S 33.997 19.635 m 33.997 12.447 L S 19.597 19.635 m 19.597 12.447 L S 5.197 19.635 m 5.197 12.447 l S 62.797 34.01 m 62.797 26.822 L S 48.397 34.01 m 48.397 26.822 L S 19.597 34.01 m 19.597 26.822 L S 5.197 34.01 m 5.197 26.822 l S 62.797 48.385 m 62.797 41.197 L S 48.397 48.385 m 48.397 41.197 L S 33.997 48.385 m 33.997 41.197 L S 19.597 48.385 m 19.597 41.197 L S 5.197 48.385 m 5.197 41.197 l S 62.797 62.822 m 62.797 55.635 L S 48.397 62.822 m 48.397 55.635 L S 33.997 62.822 m 33.997 55.635 L S 19.597 62.822 m 19.597 55.635 L S 5.197 62.822 m 5.197 55.635 l S 62.797 73.5589 m 62.797 70.072 L S 48.397 73.5589 m 48.397 70.072 L S 33.997 73.5589 m 33.997 70.072 L S 19.597 73.5589 m 19.597 70.072 L S 5.197 73.5589 m 5.197 70.072 l S 33.997 34.01 m 33.997 26.822 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Checks) (Checks) 1 1 31.3995 31.3995 [ %AI3_Tile (0 O 0 R 0 0.9 1 0 k 0 0.9 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.9995 4.8 m 27.5995 4.8 L 27.5995 12.3995 L 19.9995 12.3995 L 19.9995 4.8 L f 31.3995 27.5995 m 31.3995 31.3995 L 27.5995 31.3995 L 27.5995 27.5995 L 31.3995 27.5995 L f 19.9995 27.5995 m 19.9995 19.9995 L 27.5995 19.9995 L 27.5995 27.5995 L 19.9995 27.5995 L f 0 XR 12.3995 12.3995 m 19.9995 12.3995 L 19.9995 19.9995 L 12.3995 19.9995 L 12.3995 12.3995 L f 1 XR 12.3995 27.5995 m 4.8 27.5995 L 4.8 19.9995 L 12.3995 19.9995 L 12.3995 27.5995 L f 4.8 12.3995 m 4.8 4.8 L 12.3995 4.8 L 12.3995 12.3995 L 4.8 12.3995 L f 19.9995 27.5995 m 19.9995 31.3995 L 12.3995 31.3995 L 12.3995 27.5995 L 19.9995 27.5995 L f 12.3995 4.8 m 12.3995 1 L 19.9995 1 L 19.9995 4.8 L 12.3995 4.8 L f 4.8 19.9995 m 1 19.9995 L 1 12.3995 L 4.8 12.3995 L 4.8 19.9995 L f 27.5995 19.9995 m 27.5995 12.3995 L 31.3995 12.3995 L 31.3995 19.9995 L 27.5995 19.9995 L f 4.8 31.3995 m 1 31.3995 L 1 27.5995 L 4.8 27.5995 L 4.8 31.3995 L f 27.5995 1 m 31.3995 1 L 31.3995 4.8 L 27.5995 4.8 L 27.5995 1 L f 1 4.8 m 1 1 L 4.8 1 L 4.8 4.8 L 1 4.8 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.05 0.2 0 k 0 0.05 0.2 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 4.8 4.8 m 4.8 1 L 12.3995 1 L 12.3995 4.8 L 4.8 4.8 L f 4.8 12.3995 m 1 12.3995 L 1 4.8 L 4.8 4.8 L 4.8 12.3995 L f 19.9995 4.8 m 19.9995 1 L 27.5995 1 L 27.5995 4.8 L 19.9995 4.8 L f 12.3995 12.3995 m 12.3995 4.8 L 19.9995 4.8 L 19.9995 12.3995 L 12.3995 12.3995 L f 27.5995 4.8 m 31.3995 4.8 L 31.3995 12.3995 L 27.5995 12.3995 L 27.5995 4.8 L f 12.3995 19.9995 m 4.8 19.9995 L 4.8 12.3995 L 12.3995 12.3995 L 12.3995 19.9995 L f 4.8 27.5995 m 1 27.5995 L 1 19.9995 L 4.8 19.9995 L 4.8 27.5995 L f 19.9995 12.3995 m 27.5995 12.3995 L 27.5995 19.9995 L 19.9995 19.9995 L 19.9995 12.3995 L f 19.9995 19.9995 m 19.9995 27.5995 L 12.3995 27.5995 L 12.3995 19.9995 L 19.9995 19.9995 L f 27.5995 19.9995 m 31.3995 19.9995 L 31.3995 27.5995 L 27.5995 27.5995 L 27.5995 19.9995 L f 12.3995 27.5995 m 12.3995 31.3995 L 4.8 31.3995 L 4.8 27.5995 L 12.3995 27.5995 L f 27.5995 27.5995 m 27.5995 31.3995 L 19.9995 31.3995 L 19.9995 27.5995 L 27.5995 27.5995 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Confetti) (Confetti) 4.85 3.617 76.85 75.617 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.85 3.617 m 4.85 75.617 L 76.85 75.617 L 76.85 3.617 L 4.85 3.617 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.6 64.867 m 7.85 62.867 l S 9.1 8.617 m 6.85 6.867 l S 78.1 68.617 m 74.85 67.867 l S 76.85 56.867 m 74.35 55.117 l S 79.6 51.617 m 76.6 51.617 l S 76.35 44.117 m 73.6 45.867 l S 78.6 35.867 m 76.6 34.367 l S 76.1 23.867 m 73.35 26.117 l S 78.1 12.867 m 73.85 13.617 l S 68.35 14.617 m 66.1 12.867 l S 76.6 30.617 m 73.6 30.617 l S 62.85 58.117 m 60.956 60.941 l S 32.85 59.617 m 31.196 62.181 l S 47.891 64.061 m 49.744 66.742 l S 72.814 2.769 m 73.928 5.729 l S 67.976 2.633 m 67.35 5.909 l S 61.85 27.617 m 59.956 30.441 l S 53.504 56.053 m 51.85 58.617 l S 52.762 1.779 m 52.876 4.776 l S 45.391 5.311 m 47.244 7.992 l S 37.062 3.375 m 35.639 5.43 l S 55.165 34.828 m 57.518 37.491 l S 20.795 3.242 m 22.12 5.193 l S 14.097 4.747 m 15.008 8.965 l S 9.736 1.91 m 8.073 4.225 l S 31.891 5.573 m 32.005 8.571 l S 12.1 70.367 m 15.6 68.867 l S 9.35 54.867 m 9.6 58.117 l S 12.85 31.867 m 14.35 28.117 l S 10.1 37.367 m 12.35 41.117 l S 34.1 71.117 m 31.85 68.617 l S 38.35 71.117 m 41.6 68.367 l S 55.1 71.117 m 58.35 69.117 l S 57.35 65.117 m 55.35 61.867 l S 64.35 66.367 m 69.35 68.617 l S 71.85 62.867 m 69.35 61.117 l S 23.6 70.867 m 23.6 67.867 l S 20.6 65.867 m 17.35 65.367 l S 24.85 61.367 m 25.35 58.117 l S 25.85 65.867 m 29.35 66.617 l S 14.1 54.117 m 16.85 56.117 l S 12.35 11.617 m 12.6 15.617 l S 12.1 19.867 m 14.35 22.367 l S 26.1 9.867 m 23.6 13.367 l S 34.6 47.117 m 32.1 45.367 l S 62.6 41.867 m 59.85 43.367 l S 31.6 35.617 m 27.85 36.367 l S 36.35 26.117 m 34.35 24.617 l S 33.85 14.117 m 31.1 16.367 l S 37.1 9.867 m 35.1 11.117 l S 34.35 20.867 m 31.35 20.867 l S 44.6 56.617 m 42.1 54.867 l S 47.35 51.367 m 44.35 51.367 l S 44.1 43.867 m 41.35 45.617 l S 43.35 33.117 m 42.6 30.617 l S 43.85 23.617 m 41.1 25.867 l S 44.35 15.617 m 42.35 16.867 l S 67.823 31.1 m 64.823 31.1 l S 27.1 32.617 m 29.6 30.867 l S 31.85 55.117 m 34.85 55.117 l S 19.6 40.867 m 22.1 39.117 l S 16.85 35.617 m 19.85 35.617 l S 20.1 28.117 m 22.85 29.867 l S 52.1 42.617 m 54.484 44.178 l S 52.437 50.146 m 54.821 48.325 l S 59.572 54.133 m 59.35 51.117 l S 50.185 10.055 m 53.234 9.928 l S 51.187 15.896 m 53.571 14.075 l S 58.322 19.883 m 59.445 16.823 l S 53.1 32.117 m 50.6 30.367 l S 52.85 24.617 m 49.6 25.617 l S 61.85 9.117 m 59.1 10.867 l S 69.35 34.617 m 66.6 36.367 l S 67.1 23.617 m 65.1 22.117 l S 24.435 46.055 m 27.484 45.928 l S 25.437 51.896 m 27.821 50.075 l S 62.6 47.117 m 65.321 46.575 l S 19.85 19.867 m 20.35 16.617 l S 21.85 21.867 m 25.35 22.617 l S 37.6 62.867 m 41.6 62.117 l S 38.323 42.1 m 38.823 38.6 l S 69.35 52.617 m 66.85 53.867 l S 14.85 62.117 m 18.1 59.367 l S 9.6 46.117 m 7.1 44.367 l S 20.6 51.617 m 18.6 50.117 l S 46.141 70.811 m 47.994 73.492 l S 69.391 40.561 m 71.244 43.242 l S 38.641 49.311 m 39.35 52.117 l S 25.141 16.811 m 25.85 19.617 l S 36.6 32.867 m 34.6 31.367 l S 6.1 68.617 m 2.85 67.867 l S 4.85 56.867 m 2.35 55.117 l S 7.6 51.617 m 4.6 51.617 l S 6.6 35.867 m 4.6 34.367 l S 6.1 12.867 m 1.85 13.617 l S 4.6 30.617 m 1.6 30.617 l S 72.814 74.769 m 73.928 77.729 l S 67.976 74.633 m 67.35 77.909 l S 52.762 73.779 m 52.876 76.776 l S 37.062 75.375 m 35.639 77.43 l S 20.795 75.242 m 22.12 77.193 l S 9.736 73.91 m 8.073 76.225 l S 10.1 23.617 m 6.35 24.367 l S 73.217 18.276 m 71.323 21.1 l S 28.823 39.6 m 29.505 42.389 l S 49.6 38.617 m 47.6 37.117 l S 60.323 73.6 m 62.323 76.6 l S 60.323 1.6 m 62.323 4.6 l S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.inner) (DblLine1.2.inner) 1 1 39.2705 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2702 22.175 m 39.2702 13.6108 L 26.66 13.6108 L 26.66 1.0003 L 18.0958 1.0003 L 18.0948 22.175 L 18.0958 22.175 L 18.0958 22.1752 L 39.2702 22.175 L f 39.2708 24.6929 m 15.5779 24.6929 L 15.5779 1.0003 L 14.9037 1.0003 L 14.9032 25.3675 L 39.2708 25.3675 L 39.2708 24.6929 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.outer) (DblLine1.2.outer) 1 1.0003 39.2706 39.271 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2708 26.6602 m 13.6111 26.6602 L 13.6111 1.0005 L 22.1751 1 L 22.1751 18.096 L 39.2708 18.096 L 39.2708 26.6602 L f 39.2708 15.578 m 24.6928 15.578 L 24.6928 1 L 25.367 1 L 25.367 14.9038 L 39.2708 14.9038 L 39.2708 15.578 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (DblLine1.2.side) (DblLine1.2.side) 1 1 39.2706 39.2706 [ %AI3_Tile (0 O 0 R 1 0.14 0.09 0 k 1 0.14 0.09 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 39.2704 18.0958 m 39.2704 26.6598 L 1.0001 26.6598 L 1.0001 18.0958 L 39.2704 18.0958 L f 39.2704 14.9037 m 39.2704 15.5776 L 1.0001 15.5776 L 1.0001 14.9037 L 39.2704 14.9037 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Diamonds) (Diamonds) 1 1 37.1865 41.9411 [ %AI3_Tile (0 O 0 R 0.2 0 1 0 k 0.2 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.0002 1.0004 m 1.0002 41.9411 L 37.1865 41.9411 L 37.1865 1.0004 L 1.0002 1.0004 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 1 XR 19.0936 41.9408 m 19.0929 41.9408 L 19.0933 41.9402 L 19.0936 41.9408 L f 7.0311 41.9408 m 7.0304 41.9408 L 7.0308 41.9402 L 7.0311 41.9408 L f 31.1556 41.9408 m 31.1548 41.9408 L 31.1552 41.9402 L 31.1556 41.9408 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.75 0.9 0 0 k 0.75 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 1 XR 37.1865 1 m 37.1865 11.2349 L 31.1552 1 L 37.1865 1 L f 19.0933 1 m 31.1552 1 L 25.124 11.2349 L 19.0933 1 L f 7.0308 1 m 19.0933 1 L 13.062 11.2349 L 7.0308 1 L f 1 1 m 7.0308 1 L 1 11.2349 L 1 1 L f 37.1859 11.2349 m 37.1865 11.236 L 37.1865 31.7059 L 31.1552 21.4704 L 37.1859 11.2349 L f 19.0933 21.4704 m 25.124 11.2349 L 31.1552 21.4704 L 25.124 31.7059 L 19.0933 21.4704 L f 7.0308 21.4704 m 13.062 11.2349 L 19.0933 21.4704 L 13.062 31.7059 L 7.0308 21.4704 L f 1 31.7059 m 1 11.2349 L 7.0308 21.4704 L 1 31.7059 L f 37.1859 31.7059 m 37.1865 31.707 L 37.1865 41.9408 L 31.1556 41.9408 L 31.1552 41.9402 L 37.1859 31.7059 L f 25.124 31.7059 m 31.1552 41.9402 L 31.1548 41.9408 L 19.0936 41.9408 L 19.0933 41.9402 L 25.124 31.7059 L f 13.062 31.7059 m 19.0933 41.9402 L 19.0929 41.9408 L 7.0311 41.9408 L 7.0308 41.9402 L 13.062 31.7059 L f 7.0304 41.9408 m 1 41.9408 L 1 31.7059 L 7.0308 41.9402 L 7.0304 41.9408 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Hexagon) (Hexagon) 4 1.6 70.151 77.983 [ %AI3_Tile (0 O 0 R 0 1 0.35 0 k 0 1 0.35 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 70.151 77.983 m 70.151 1.6 L 4 1.6 L 4 77.983 L 70.151 77.983 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.9921 1 0 0 k 0.9921 1 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 20.538 30.244 m S 26.05 20.696 m 15.025 20.696 L 9.513 30.244 L 15.025 39.792 L 26.05 39.792 L 31.564 30.244 L 26.05 20.696 L s 20.537 11.148 m S 26.05 1.6 m 15.024 1.6 L 9.512 11.148 L 15.024 20.696 L 26.05 20.696 L 31.563 11.148 L 26.05 1.6 L s 53.614 30.244 m S 59.126 20.696 m 48.101 20.696 L 42.589 30.244 L 48.101 39.792 L 59.126 39.792 L 64.639 30.244 L 59.126 20.696 L s 53.614 11.148 m S 59.126 1.6 m 48.101 1.6 L 42.588 11.148 L 48.101 20.696 L 59.126 20.696 L 64.638 11.148 L 59.126 1.6 L s 20.538 68.436 m S 26.051 58.888 m 15.025 58.888 L 9.513 68.436 L 15.025 77.984 L 26.051 77.984 L 31.564 68.436 L 26.051 58.888 L s 20.538 49.34 m S 26.051 39.792 m 15.025 39.792 L 9.513 49.34 L 15.025 58.888 L 26.05 58.888 L 31.564 49.34 L 26.051 39.792 L s 53.614 68.436 m S 59.127 58.888 m 48.102 58.888 L 42.589 68.436 L 48.101 77.985 L 59.127 77.985 L 64.639 68.436 L 59.127 58.888 L s 53.614 49.34 m S 59.127 39.792 m 48.101 39.792 L 42.589 49.34 L 48.101 58.888 L 59.127 58.888 L 64.639 49.341 L 59.127 39.792 L s 4 20.696 m S 3.876 30.244 m 9.512 30.244 L 15.024 20.696 L 9.512 11.147 L 3.876 11.147 L S 37.075 20.696 m S 42.588 11.148 m 31.563 11.148 L 26.05 20.696 L 31.563 30.244 L 42.589 30.244 L 48.101 20.696 L 42.588 11.148 L s 37.076 58.888 m S 42.589 49.34 m 31.564 49.34 L 26.05 58.888 L 31.564 68.436 L 42.589 68.436 L 48.101 58.888 L 42.589 49.34 L s 70.151 20.696 m S 70.2094 11.147 m 64.639 11.147 L 59.127 20.696 L 64.639 30.244 L 70.2094 30.244 L S 70.152 58.888 m S 70.0427 49.34 m 64.639 49.34 L 59.127 58.888 L 64.639 68.436 L 70.0427 68.436 L S 4 58.888 m S 3.876 68.436 m 9.513 68.436 L 15.025 58.888 L 9.513 49.34 L 3.876 49.34 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.inner) (Laurel.inner) 1 1 28.5392 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 19.2768 15.3585 m 28.9144 15.3585 L 28.9144 14.2335 L 19.2768 14.2335 L 19.2768 15.3585 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.7461 18.9624 m 13.0264 17.8486 11.3273 14.4193 11.3273 10.0362 c 11.3273 5.6547 12.9768 2.1518 14.744 1.1112 C 14.7443 1.1112 L 16.4707 2.1518 18.1679 5.6547 18.1679 10.0362 c 18.1679 14.4143 16.432 17.8633 14.7461 18.9624 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.outer) (Laurel.outer) 1 1.3751 28.5393 28.9143 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 14.2395 10.6375 m 14.2395 1 L 15.3645 1 L 15.3645 10.6375 L 14.2395 10.6375 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 10.5769 15.124 m 11.6906 16.8438 15.1198 18.5429 19.503 18.5429 c 23.8844 18.5429 27.3874 16.8935 28.428 15.1262 C 28.428 15.1259 L 27.3874 13.3995 23.8844 11.7023 19.503 11.7023 c 15.1249 11.7023 11.676 13.4382 10.5769 15.124 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Laurel.side) (Laurel.side) 1.3972 1 28.9364 28.5392 [ %AI3_Tile (0 O 0 R 0 0.55 1 0.12 k 0 0.55 1 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.1571 15.2998 m 1 15.2998 L 1 14.1748 L 29.1571 14.1748 L 29.1571 15.2998 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 27.4787 m 1.5899 25.4751 2.8132 21.8488 5.9125 18.7494 c 9.0107 15.6513 12.654 14.3407 14.6395 14.8545 C 14.6398 14.8547 L 15.1246 16.8113 13.8478 20.4883 10.7496 23.5865 c 7.6538 26.6824 3.9876 27.8936 2.0183 27.4787 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 2.0183 2.0091 m 1.5899 4.0126 2.8132 7.6389 5.9125 10.7382 c 9.0107 13.8365 12.654 15.147 14.6395 14.6332 C 14.6398 14.633 L 15.1246 12.6765 13.8478 8.9993 10.7496 5.9011 c 7.6538 2.8054 3.9876 1.5941 2.0183 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.55 1 0.3 k 0 0.55 1 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 2.0091 m 15.3925 4.0126 16.6159 7.6389 19.7152 10.7382 c 22.8134 13.8365 26.4567 15.147 28.4422 14.6332 C 28.4424 14.633 L 28.9273 12.6765 27.6505 8.9993 24.5523 5.9011 c 21.4565 2.8054 17.7903 1.5941 15.821 2.0091 C f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.39 0.7 0.12 k 0 0.39 0.7 0.12 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.821 27.4787 m 15.3925 25.4751 16.6159 21.8488 19.7152 18.7494 c 22.8134 15.6513 26.4567 14.3407 28.4422 14.8545 C 28.4424 14.8547 L 28.9273 16.8113 27.6505 20.4883 24.5523 23.5865 c 21.4565 26.6824 17.7903 27.8936 15.821 27.4787 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Leaves-fall) (Leaves-fall) 1 1 52.733 89.816 [ %AI3_Tile (0 O 0 R 0.05 0.2 1 0 k 0.05 0.2 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 52.733 89.816 m 52.733 1 L 1 1 L 1 89.816 L 52.733 89.816 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.83 0 1 0 k 0.83 0 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 25.317 2.083 m 25.994 2.283 26.284 2.435 V 24.815 5.147 29.266 9.428 30.186 10.168 C 30.787 9.943 30.907 7.41 30.23 6.073 C 31.073 6.196 33.262 4.818 34.02 3.529 C 34.085 4.217 35.655 7.158 36.481 7.535 C 35.561 7.933 34.896 9.406 34.134 10.854 C 35.156 11.021 36.555 10.1 38.026 9.195 C 38.541 9.996 39.915 10.968 41.174 11.484 C 40.086 12.171 39.591 12.912 39.094 14.372 C 38.052 13.806 35.865 13.657 35.336 13.944 C 35.85 15.057 38.096 15.6 38.827 15.547 C 38.573 16.409 38.425 18.562 38.598 21.155 C 36.939 19.839 35.393 18.522 33.734 18.58 C 34.003 17.158 33.367 15.353 32.99 14.86 C 32.417 15.604 32.006 16.431 32.361 18.408 C 30.908 18.893 29.671 19.439 28.297 20.697 C 28.297 18.866 27.725 17.664 26.857 16.388 C 28.117 15.9 29.389 14.697 29.385 13.658 C 28.537 13.81 26.845 14.554 26.352 15.547 C 25.634 14.8 23.95 13.491 22.346 13.487 C 23.534 12.632 24.454 11.598 24.549 9.686 C 25.802 10.657 28.255 11.272 29.635 10.674 C 24.794 6.438 25.262 3.405 25.317 2.083 C f 12.412 33.743 m 11.887 33.272 11.691 33.01 V 14.182 31.192 11.928 25.366 11.415 24.303 C 10.776 24.247 9.369 26.988 9.405 28.486 C 8.273 27.73 6.608 27.851 5.006 28.137 C 5.578 27.049 5.177 25.104 4.376 24.303 C 5.378 24.339 6.729 23.624 8.038 22.643 C 7.203 21.823 5.376 21.984 3.46 22.643 C 3.46 21.27 2.638 19.533 1.801 18.351 C 3.117 18.408 4.262 17.722 5.12 16.691 C 5.785 18.26 7.819 19.373 8.725 19.324 C 8.742 17.959 7.169 15.869 6.147 15.47 C 6.747 14.801 7.766 13.27 8.725 10.854 C 9.524 12.78 10.694 14.022 11.927 14.955 C 10.785 16.517 10.959 17.388 11.358 18.866 C 12.101 18.325 13.132 17.893 13.303 15.89 C 15.02 16.176 16.156 16.104 17.653 15.203 C 17.198 16.865 17.195 18.466 17.515 20.166 C 15.665 20.026 14.105 20.239 13.075 21.728 C 13.905 21.955 16.165 22.014 17.039 21.082 C 17.366 22.064 18.261 23.47 19.707 24.164 C 18.267 24.424 17.282 25.523 16.373 27.209 C 15.66 25.793 13.433 24.128 11.93 24.073 C 13.933 28.137 13.933 31.055 12.412 33.743 C f 31.125 30.5 m 31.445 31.128 31.648 31.385 V 34.045 29.444 38.851 32.752 39.746 33.521 C 39.636 34.153 37.511 35.29 35.794 34.26 C 36.234 35.549 35.332 37.51 34.134 38.552 C 35.873 38.451 38.019 39.813 38.541 40.555 C 38.763 39.577 39.946 38.307 41.231 37.293 C 41.582 38.266 40.887 40.384 39.971 41.986 C 41.206 42.487 42.318 43.417 42.776 44.676 C 43.233 43.359 44.236 42.685 45.58 41.929 C 44.421 40.502 43.64 38.328 43.92 37.465 C 45.243 37.8 46.814 40.518 46.937 41.607 C 47.812 40.841 49.366 40.154 51.947 39.848 C 50.246 38.77 49.884 36.778 49.3 35.347 C 48.152 35.794 45.983 35.853 45.008 35.29 C 45.721 34.711 47.061 34.16 49.071 34.146 C 49.071 32.601 49.534 31.469 50.788 30.254 C 49.065 30.267 46.965 29.781 45.469 29.389 C 45.221 30.718 44.378 32.314 43.233 32.715 C 43.227 31.854 43.493 29.605 44.378 28.938 C 43.513 28.37 42.26 26.993 41.803 25.276 C 41.181 26.601 40.32 27.906 38.457 28.35 C 39.642 29.403 40.477 31.42 40.143 32.887 C 35.091 28.905 32.414 30.203 31.125 30.5 C f 25.317 46.491 m 25.994 46.691 26.284 46.843 V 24.815 49.556 29.266 53.837 30.186 54.576 C 30.787 54.351 30.907 51.818 30.23 50.482 C 31.073 50.605 33.262 49.227 34.02 47.938 C 34.085 48.625 35.655 51.566 36.481 51.944 C 35.561 52.341 34.896 53.814 34.134 55.263 C 35.156 55.43 36.555 54.508 38.026 53.603 C 38.541 54.404 39.915 55.377 41.174 55.892 C 40.086 56.579 39.591 57.321 39.094 58.78 C 38.052 58.215 35.865 58.065 35.336 58.353 C 35.85 59.465 38.096 60.008 38.827 59.955 C 38.573 60.817 38.425 62.97 38.598 65.563 C 36.939 64.247 35.393 62.931 33.734 62.988 C 34.003 61.567 33.367 59.761 32.99 59.268 C 32.417 60.012 32.006 60.839 32.361 62.817 C 30.908 63.302 29.671 63.847 28.297 65.106 C 28.297 63.274 27.725 62.073 26.857 60.796 C 28.117 60.308 29.389 59.106 29.385 58.067 C 28.537 58.219 26.845 58.963 26.352 59.955 C 25.634 59.209 23.95 57.899 22.346 57.895 C 23.534 57.041 24.454 56.006 24.549 54.094 C 25.802 55.065 28.255 55.68 29.635 55.083 C 24.794 50.846 25.262 47.814 25.317 46.491 C f 12.412 78.151 m 11.887 77.68 11.691 77.418 V 14.182 75.601 11.928 69.774 11.415 68.711 C 10.776 68.655 9.369 71.396 9.405 72.894 C 8.273 72.138 6.608 72.259 5.006 72.545 C 5.578 71.458 5.177 69.512 4.376 68.711 C 5.378 68.747 6.729 68.032 8.038 67.052 C 7.203 66.231 5.376 66.393 3.46 67.052 C 3.46 65.678 2.638 63.941 1.801 62.759 C 3.117 62.817 4.262 62.13 5.12 61.1 C 5.785 62.669 7.819 63.781 8.725 63.732 C 8.742 62.367 7.169 60.277 6.147 59.878 C 6.747 59.209 7.766 57.678 8.725 55.263 C 9.524 57.189 10.694 58.431 11.927 59.364 C 10.785 60.925 10.959 61.796 11.358 63.274 C 12.101 62.734 13.132 62.301 13.303 60.298 C 15.02 60.584 16.156 60.512 17.653 59.612 C 17.198 61.273 17.195 62.874 17.515 64.574 C 15.665 64.434 14.105 64.648 13.075 66.136 C 13.905 66.363 16.165 66.422 17.039 65.49 C 17.366 66.472 18.261 67.878 19.707 68.572 C 18.267 68.832 17.282 69.931 16.373 71.617 C 15.66 70.202 13.433 68.536 11.93 68.482 C 13.933 72.545 13.933 75.464 12.412 78.151 C f 31.125 74.908 m 31.445 75.537 31.648 75.794 V 34.045 73.853 38.851 77.161 39.746 77.929 C 39.636 78.562 37.511 79.698 35.794 78.668 C 36.234 79.957 35.332 81.918 34.134 82.96 C 35.873 82.86 38.019 84.221 38.541 84.963 C 38.763 83.986 39.946 82.716 41.231 81.701 C 41.582 82.675 40.887 84.792 39.971 86.394 C 41.206 86.895 42.318 87.825 42.776 89.084 C 43.233 87.768 44.236 87.093 45.58 86.337 C 44.421 84.91 43.64 82.736 43.92 81.873 C 45.243 82.208 46.814 84.926 46.937 86.016 C 47.812 85.249 49.366 84.563 51.947 84.257 C 50.246 83.179 49.884 81.187 49.3 79.756 C 48.152 80.203 45.983 80.262 45.008 79.698 C 45.721 79.119 47.061 78.569 49.071 78.554 C 49.071 77.009 49.534 75.877 50.788 74.663 C 49.065 74.675 46.965 74.189 45.469 73.798 C 45.221 75.126 44.378 76.723 43.233 77.123 C 43.227 76.262 43.493 74.013 44.378 73.347 C 43.513 72.779 42.26 71.401 41.803 69.684 C 41.181 71.009 40.32 72.314 38.457 72.759 C 39.642 73.812 40.477 75.829 40.143 77.295 C 35.091 73.313 32.414 74.611 31.125 74.908 C f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Polka dots) (Polka dots) 1 1 29.8 29.8 [ %AI3_Tile (0 O 0 R 0.45 0.9 0 0 k 0.45 0.9 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 29.8 L 29.8 29.8 L 29.8 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.09 0.18 0 0 k 0.09 0.18 0 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 11.08 8.2 m 11.08 9.791 9.79 11.08 8.2 11.08 c 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c f 11.08 22.6 m 11.08 24.191 9.79 25.48 8.2 25.48 c 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c f 18.28 15.4 m 18.28 16.991 16.99 18.28 15.4 18.28 c 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c f 25.48 8.2 m 25.48 9.791 24.19 11.08 22.6 11.08 c 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c f 25.48 22.6 m 25.48 24.191 24.19 25.48 22.6 25.48 c 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c f *U 26.92 1 m 29.8 1 L 29.8 3.88 L 28.209 3.88 26.92 2.591 26.92 1 C f 15.4 3.88 m 13.809 3.88 12.52 2.591 12.52 1 C 18.28 1 L 18.28 2.591 16.99 3.88 15.4 3.88 c f 1 3.88 m 1 1 L 3.88 1 L 3.88 2.591 2.59 3.88 1 3.88 C f 1 XR 26.92 15.4 m 26.92 13.81 28.209 12.52 29.8 12.52 C 29.8 18.28 L 28.209 18.28 26.92 16.991 26.92 15.4 c f 0 XR 15.4 18.28 m 13.809 18.28 12.52 16.991 12.52 15.4 c 12.52 13.81 13.809 12.52 15.4 12.52 c 16.99 12.52 18.28 13.81 18.28 15.4 c 18.28 16.991 16.99 18.28 15.4 18.28 c f 1 XR 3.88 15.4 m 3.88 16.991 2.59 18.28 1 18.28 C 1 12.52 L 2.59 12.52 3.88 13.81 3.88 15.4 c f 0 XR 29.8 26.92 m 29.8 29.8 L 26.92 29.8 L 26.92 28.21 28.209 26.92 29.8 26.92 C f 15.4 26.92 m 16.99 26.92 18.28 28.21 18.28 29.8 C 12.52 29.8 L 12.52 28.21 13.809 26.92 15.4 26.92 c f 3.88 29.8 m 1 29.8 L 1 26.92 L 2.59 26.92 3.88 28.21 3.88 29.8 C f 1 XR 8.2 11.08 m 6.609 11.08 5.32 9.791 5.32 8.2 c 5.32 6.61 6.609 5.32 8.2 5.32 c 9.79 5.32 11.08 6.61 11.08 8.2 c 11.08 9.791 9.79 11.08 8.2 11.08 c f 22.6 11.08 m 21.009 11.08 19.72 9.791 19.72 8.2 c 19.72 6.61 21.009 5.32 22.6 5.32 c 24.19 5.32 25.48 6.61 25.48 8.2 c 25.48 9.791 24.19 11.08 22.6 11.08 c f 8.2 25.48 m 6.609 25.48 5.32 24.191 5.32 22.6 c 5.32 21.01 6.609 19.72 8.2 19.72 c 9.79 19.72 11.08 21.01 11.08 22.6 c 11.08 24.191 9.79 25.48 8.2 25.48 c f 22.6 25.48 m 21.009 25.48 19.72 24.191 19.72 22.6 c 19.72 21.01 21.009 19.72 22.6 19.72 c 24.19 19.72 25.48 21.01 25.48 22.6 c 25.48 24.191 24.19 25.48 22.6 25.48 c f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Random circles) (Random circles) 4.365 3.849 51.13 57.85 [ %AI3_Tile (0 O 0 R 0 0.1125 0.45 0 k 0 0.1125 0.45 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 4.365 3.849 m 4.365 57.85 L 51.13 57.85 L 51.13 3.849 L 4.365 3.849 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.4 0.7 1 0 k 0.4 0.7 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 45.429 36.274 m 45.843 36.991 45.598 37.908 44.88 38.323 c 44.163 38.737 43.245 38.491 42.831 37.774 c 42.417 37.056 42.663 36.139 43.38 35.725 c 44.098 35.31 45.015 35.556 45.429 36.274 c s 44.179 27.926 m 43.765 28.643 42.848 28.889 42.13 28.475 c 41.413 28.06 41.167 27.143 41.581 26.425 c 41.995 25.708 42.913 25.462 43.63 25.876 c 44.348 26.291 44.593 27.208 44.179 27.926 c s 35.929 41.024 m 35.515 41.741 34.598 41.987 33.88 41.573 c 33.163 41.158 32.917 40.241 33.331 39.524 c 33.745 38.806 34.663 38.56 35.38 38.975 c 36.098 39.389 36.343 40.306 35.929 41.024 c s 28.38 34.225 m 28.794 34.942 28.549 35.859 27.831 36.274 c 27.114 36.688 26.196 36.442 25.782 35.725 c 25.368 35.007 25.614 34.09 26.331 33.675 c 27.049 33.261 27.966 33.507 28.38 34.225 c s 31.179 28.024 m 30.765 28.741 29.848 28.987 29.13 28.573 c 28.413 28.158 28.167 27.241 28.581 26.524 c 28.995 25.806 29.913 25.56 30.63 25.975 c 31.348 26.389 31.593 27.306 31.179 28.024 c s 36.792 23.349 m 35.963 23.349 35.292 22.678 35.292 21.849 c 35.292 21.021 35.963 20.349 36.792 20.349 c 37.62 20.349 38.292 21.021 38.292 21.849 c 38.292 22.678 37.62 23.349 36.792 23.349 c s 10.888 34.175 m 10.474 34.893 10.72 35.81 11.437 36.225 c 12.155 36.639 13.072 36.393 13.486 35.675 c 13.901 34.958 13.655 34.041 12.937 33.626 c 12.22 33.212 11.303 33.458 10.888 34.175 c s 11.517 26.601 m 11.931 27.318 12.848 27.564 13.566 27.15 c 14.283 26.735 14.529 25.818 14.115 25.1 c 13.701 24.383 12.783 24.137 12.066 24.551 c 11.348 24.966 11.103 25.883 11.517 26.601 c s 16.782 41.426 m 17.196 42.143 18.114 42.389 18.831 41.975 c 19.549 41.56 19.794 40.643 19.38 39.926 c 18.966 39.208 18.049 38.962 17.331 39.377 c 16.614 39.791 16.368 40.708 16.782 41.426 c s 22.365 24.35 m 23.194 24.35 23.865 23.678 23.865 22.85 c 23.865 22.021 23.194 21.35 22.365 21.35 c 21.537 21.35 20.865 22.021 20.865 22.85 c 20.865 23.678 21.537 24.35 22.365 24.35 c s 45.385 7.849 m 44.971 7.132 44.053 6.886 43.336 7.3 c 42.619 7.714 42.373 8.632 42.787 9.349 c 43.201 10.067 44.119 10.312 44.836 9.898 c 45.553 9.484 45.799 8.567 45.385 7.849 c s 29.679 7.774 m 29.265 7.056 28.348 6.81 27.63 7.225 c 26.913 7.639 26.667 8.556 27.081 9.274 c 27.495 9.991 28.413 10.237 29.13 9.823 c 29.848 9.408 30.093 8.491 29.679 7.774 c s 35.542 11.349 m 34.713 11.349 34.042 12.021 34.042 12.849 c 34.042 13.678 34.713 14.349 35.542 14.349 c 36.37 14.349 37.042 13.678 37.042 12.849 c 37.042 12.021 36.37 11.349 35.542 11.349 c s 10.13 7.475 m 10.544 6.757 11.462 6.511 12.179 6.926 c 12.897 7.34 13.142 8.257 12.728 8.975 c 12.314 9.692 11.397 9.938 10.679 9.524 c 9.962 9.109 9.716 8.192 10.13 7.475 c s 20.203 13.349 m 21.031 13.349 21.703 14.021 21.703 14.849 c 21.703 15.678 21.031 16.349 20.203 16.349 c 19.375 16.349 18.703 15.678 18.703 14.849 c 18.703 14.021 19.375 13.349 20.203 13.349 c s 44.635 54.1 m 45.049 53.382 44.803 52.465 44.086 52.051 c 43.369 51.636 42.451 51.882 42.037 52.6 c 41.623 53.317 41.869 54.234 42.586 54.649 c 43.303 55.063 44.221 54.817 44.635 54.1 c s 36.841 48.1 m 36.427 47.382 35.509 47.136 34.792 47.551 c 34.074 47.965 33.828 48.882 34.243 49.6 c 34.657 50.317 35.574 50.563 36.292 50.149 c 37.009 49.734 37.255 48.817 36.841 48.1 c s 29.728 54.725 m 30.143 54.007 29.897 53.09 29.179 52.675 c 28.462 52.261 27.544 52.507 27.13 53.225 c 26.716 53.942 26.962 54.859 27.679 55.274 c 28.397 55.688 29.314 55.442 29.728 54.725 c s 10.86 54.1 m 10.446 53.382 10.691 52.465 11.409 52.051 c 12.126 51.636 13.044 51.882 13.458 52.6 c 13.872 53.317 13.626 54.234 12.909 54.649 c 12.191 55.063 11.274 54.817 10.86 54.1 c s 19.154 49.1 m 19.568 48.382 20.486 48.136 21.203 48.551 c 21.92 48.965 22.166 49.882 21.752 50.6 c 21.338 51.317 20.42 51.563 19.703 51.149 c 18.986 50.734 18.74 49.817 19.154 49.1 c s 51.88 38.85 m 51.052 38.85 50.38 39.521 50.38 40.35 c 50.38 41.178 51.052 41.85 51.88 41.85 c 52.709 41.85 53.38 41.178 53.38 40.35 c 53.38 39.521 52.709 38.85 51.88 38.85 c s 51.865 11.349 m 52.693 11.349 53.365 12.021 53.365 12.849 c 53.365 13.678 52.693 14.349 51.865 14.349 c 51.036 14.349 50.365 13.678 50.365 12.849 c 50.365 12.021 51.036 11.349 51.865 11.349 c s 30.179 18.524 m 29.765 19.241 28.848 19.487 28.13 19.073 c 27.413 18.658 27.167 17.741 27.581 17.024 c 27.995 16.306 28.913 16.06 29.63 16.475 c 30.348 16.889 30.593 17.806 30.179 18.524 c s 21.679 31.524 m 21.265 32.241 20.348 32.487 19.63 32.073 c 18.913 31.658 18.667 30.741 19.081 30.024 c 19.495 29.306 20.413 29.06 21.13 29.475 c 21.848 29.889 22.093 30.806 21.679 31.524 c s 37.914 33.399 m 37.5 34.116 36.583 34.362 35.865 33.948 c 35.148 33.533 34.902 32.616 35.316 31.899 c 35.73 31.181 36.648 30.935 37.365 31.35 c 38.083 31.764 38.328 32.681 37.914 33.399 c s 28.929 45.024 m 28.515 45.741 27.598 45.987 26.88 45.573 c 26.163 45.158 25.917 44.241 26.331 43.524 c 26.745 42.806 27.663 42.56 28.38 42.975 c 29.098 43.389 29.343 44.306 28.929 45.024 c s 12.429 45.524 m 12.015 46.241 11.098 46.487 10.38 46.073 c 9.663 45.658 9.417 44.741 9.831 44.024 c 10.245 43.306 11.163 43.06 11.88 43.475 c 12.598 43.889 12.843 44.806 12.429 45.524 c s 44.49 45.6 m 44.075 46.317 43.158 46.563 42.441 46.149 c 41.723 45.734 41.477 44.817 41.891 44.1 c 42.306 43.382 43.223 43.136 43.941 43.55 c 44.658 43.965 44.904 44.882 44.49 45.6 c s 12.679 18.524 m 12.265 19.241 11.348 19.487 10.63 19.073 c 9.913 18.658 9.667 17.741 10.081 17.024 c 10.495 16.306 11.413 16.06 12.13 16.475 c 12.848 16.889 13.093 17.806 12.679 18.524 c s 21.179 5.774 m 20.765 6.491 19.848 6.737 19.13 6.323 c 18.413 5.908 18.167 4.991 18.581 4.274 c 18.995 3.557 19.913 3.311 20.63 3.725 c 21.348 4.139 21.593 5.056 21.179 5.774 c s 38.929 5.274 m 38.515 5.991 37.598 6.237 36.88 5.823 c 36.163 5.408 35.917 4.491 36.331 3.774 c 36.745 3.057 37.663 2.811 38.38 3.225 c 39.098 3.639 39.343 4.556 38.929 5.274 c s 43.865 18.1 m 44.694 18.1 45.365 17.429 45.365 16.6 c 45.365 15.772 44.694 15.1 43.865 15.1 c 43.037 15.1 42.365 15.772 42.365 16.6 c 42.365 17.429 43.037 18.1 43.865 18.1 c s 51.13 4.6 m 50.302 4.6 49.63 3.928 49.63 3.1 c 49.63 2.272 50.302 1.6 51.13 1.6 c 51.959 1.6 52.63 2.272 52.63 3.1 c 52.63 3.928 51.959 4.6 51.13 4.6 c s 52.163 31.649 m 51.748 32.366 50.831 32.612 50.114 32.198 c 49.396 31.783 49.15 30.866 49.565 30.149 c 49.979 29.431 50.896 29.185 51.614 29.6 c 52.331 30.014 52.577 30.931 52.163 31.649 c s 51.85 51.35 m 51.021 51.35 50.35 50.678 50.35 49.85 c 50.35 49.021 51.021 48.35 51.85 48.35 c 52.678 48.35 53.35 49.021 53.35 49.85 c 53.35 50.678 52.678 51.35 51.85 51.35 c s 49.85 23.1 m 50.679 23.1 51.35 22.428 51.35 21.6 c 51.35 20.771 50.679 20.1 49.85 20.1 c 49.022 20.1 48.35 20.771 48.35 21.6 c 48.35 22.428 49.022 23.1 49.85 23.1 c s 5.13 38.85 m 4.302 38.85 3.63 39.521 3.63 40.35 c 3.63 41.178 4.302 41.85 5.13 41.85 c 5.959 41.85 6.63 41.178 6.63 40.35 c 6.63 39.521 5.959 38.85 5.13 38.85 c s 5.115 11.349 m 5.943 11.349 6.615 12.021 6.615 12.849 c 6.615 13.678 5.943 14.349 5.115 14.349 c 4.286 14.349 3.615 13.678 3.615 12.849 c 3.615 12.021 4.286 11.349 5.115 11.349 c s 4.38 4.6 m 3.552 4.6 2.88 3.928 2.88 3.1 c 2.88 2.272 3.552 1.6 4.38 1.6 c 5.209 1.6 5.88 2.272 5.88 3.1 c 5.88 3.928 5.209 4.6 4.38 4.6 c s 5.413 31.649 m 4.998 32.366 4.081 32.612 3.364 32.198 c 2.646 31.783 2.4 30.866 2.815 30.149 c 3.229 29.431 4.146 29.185 4.864 29.6 c 5.581 30.014 5.827 30.931 5.413 31.649 c s 5.1 51.35 m 4.271 51.35 3.6 50.678 3.6 49.85 c 3.6 49.021 4.271 48.35 5.1 48.35 c 5.928 48.35 6.6 49.021 6.6 49.85 c 6.6 50.678 5.928 51.35 5.1 51.35 c s 3.1 23.1 m 3.929 23.1 4.6 22.428 4.6 21.6 c 4.6 20.771 3.929 20.1 3.1 20.1 c 2.272 20.1 1.6 20.771 1.6 21.6 c 1.6 22.428 2.272 23.1 3.1 23.1 c s 21.194 59.775 m 20.78 60.492 19.863 60.738 19.145 60.324 c 18.428 59.909 18.182 58.992 18.596 58.275 c 19.01 57.558 19.928 57.312 20.645 57.726 c 21.363 58.14 21.608 59.057 21.194 59.775 c s 38.944 59.275 m 38.53 59.992 37.613 60.238 36.895 59.824 c 36.178 59.409 35.932 58.492 36.346 57.775 c 36.76 57.058 37.678 56.812 38.395 57.226 c 39.113 57.64 39.358 58.557 38.944 59.275 c s 51.145 58.601 m 50.317 58.601 49.645 57.929 49.645 57.101 c 49.645 56.273 50.317 55.601 51.145 55.601 c 51.974 55.601 52.645 56.273 52.645 57.101 c 52.645 57.929 51.974 58.601 51.145 58.601 c s 4.395 58.601 m 3.567 58.601 2.895 57.929 2.895 57.101 c 2.895 56.273 3.567 55.601 4.395 55.601 c 5.224 55.601 5.895 56.273 5.895 57.101 c 5.895 57.929 5.224 58.601 4.395 58.601 c s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Rope.side) (Rope.side) 1 4.6 60.9998 33.3999 [ %AI3_Tile (0 O 0 R 0 0 0 1 k 0 0 0 1 K ) @ ( %AI6_BeginPatternLayer 800 Ar 1 J 1 j 0.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 24.9999 7 m 15.6521 4.663 8.125 8.6981 1 14.1407 C S 36.9999 7 m 22.3477 3.337 12.168 15.3276 1 23.859 C S 48.9999 7 m 29.3464 2.0866 17.7386 25.3332 1 30.6213 C S 1 30.9999 m 24.9999 36.9999 36.9999 1 60.9998 7 C S 13 30.9999 m 32.6534 35.9133 44.2611 12.6667 60.9998 7.3786 C S 24.9999 30.9999 m 39.652 34.6629 49.8317 22.6722 60.9998 14.1407 C S 36.9999 30.9999 m 46.3476 33.3369 53.8749 29.3018 60.9998 23.859 C S 48.9999 30.9999 m 53.3464 32.0865 57.2978 31.7908 60.9998 30.6213 C S 13 7 m 8.6535 5.9134 4.7019 6.2091 1 7.3786 C S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Scales) (Scales) 1.6 9.3475 48.088 55.8355 [ %AI3_Tile (0 O 0 R 1 g 1 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 1.6 9.3475 m 1.6 55.8355 L 48.088 55.8355 L 48.088 9.3475 L 1.6 9.3475 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 g 0 G ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 17.0956 9.3475 m 12.8162 9.3475 9.3475 5.8787 9.3475 1.6 C 9.3475 5.8787 5.8787 9.3475 1.6 9.3475 C 1.6 13.6262 5.0687 17.095 9.3475 17.095 c 13.6268 17.095 17.0956 13.6262 17.0956 9.3475 C s 32.5918 9.3475 m 28.3125 9.3475 24.8437 5.8787 24.8437 1.6 C 24.8437 5.8787 21.3743 9.3475 17.0956 9.3475 C 17.0956 13.6262 20.5644 17.095 24.8437 17.095 c 29.1224 17.095 32.5918 13.6262 32.5918 9.3475 C s 48.088 9.3475 m 43.8087 9.3475 40.3399 5.8787 40.3399 1.6 C 40.3399 5.8787 36.8705 9.3475 32.5918 9.3475 C 32.5918 13.6262 36.0606 17.095 40.3399 17.095 c 44.6186 17.095 48.088 13.6262 48.088 9.3475 C s 17.0956 40.3393 m 12.8162 40.3393 9.3475 36.8699 9.3475 32.5912 C 9.3475 36.8699 5.8787 40.3393 1.6 40.3393 C 1.6 44.6181 5.0687 48.0874 9.3475 48.0874 c 13.6268 48.0874 17.0956 44.6181 17.0956 40.3393 C s 17.0956 24.8431 m 12.8162 24.8431 9.3475 21.3743 9.3475 17.095 C 9.3475 21.3743 5.8787 24.8431 1.6 24.8431 C 1.6 29.1218 5.0687 32.5912 9.3475 32.5912 c 13.6268 32.5912 17.0956 29.1218 17.0956 24.8431 C s 32.5918 24.8431 m 28.3125 24.8431 24.8437 21.3743 24.8437 17.095 C 24.8437 21.3743 21.3743 24.8431 17.0956 24.8431 C 17.0956 29.1218 20.5644 32.5912 24.8437 32.5912 c 29.1224 32.5912 32.5918 29.1218 32.5918 24.8431 C s 48.088 24.8431 m 43.8087 24.8431 40.3399 21.3743 40.3399 17.095 C 40.3399 21.3743 36.8705 24.8431 32.5918 24.8431 C 32.5918 29.1218 36.0606 32.5912 40.3399 32.5912 c 44.6186 32.5912 48.088 29.1218 48.088 24.8431 C s 32.5918 40.3393 m 28.3125 40.3393 24.8437 36.8699 24.8437 32.5912 C 24.8437 36.8699 21.3743 40.3393 17.0956 40.3393 C 17.0956 44.6181 20.5644 48.0874 24.8437 48.0874 c 29.1224 48.0874 32.5918 44.6181 32.5918 40.3393 C s 48.088 40.3393 m 43.8087 40.3393 40.3399 36.8699 40.3399 32.5912 C 40.3399 36.8699 36.8705 40.3393 32.5918 40.3393 C 32.5918 44.6181 36.0606 48.0874 40.3399 48.0874 c 44.6186 48.0874 48.088 44.6181 48.088 40.3393 C s 17.0956 55.8355 m 12.8162 55.8355 9.3475 52.3662 9.3475 48.0874 C 9.3475 52.3662 5.8787 55.8355 1.6 55.8355 C 1.6 60.1143 5.0687 63.5836 9.3475 63.5836 c 13.6268 63.5836 17.0956 60.1143 17.0956 55.8355 C s 32.5918 55.8355 m 28.3125 55.8355 24.8437 52.3662 24.8437 48.0874 C 24.8437 52.3662 21.3743 55.8355 17.0956 55.8355 C 17.0956 60.1143 20.5644 63.5836 24.8437 63.5836 c 29.1224 63.5836 32.5918 60.1143 32.5918 55.8355 C s 48.088 55.8355 m 43.8087 55.8355 40.3399 52.3662 40.3399 48.0874 C 40.3399 52.3662 36.8705 55.8355 32.5918 55.8355 C 32.5918 60.1143 36.0606 63.5836 40.3399 63.5836 c 44.6186 63.5836 48.088 60.1143 48.088 55.8355 C s %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (SolidStar.side) (SolidStar.side) 1 1 33.0117 33.0117 [ %AI3_Tile (0 O 0 R 0.05 0.2 0.95 0 k 0.05 0.2 0.95 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 7.9689 26.0458 m 14.5331 22.9874 l 17.0095 29.7904 L 19.4859 22.9874 l 26.0473 26.0458 l 22.9889 19.4815 l 29.792 17.0052 l 22.9889 14.5288 l 26.0473 7.9674 l 19.4859 11.0257 l 17.0095 4.2226 l 14.5305 11.0257 l 7.9689 7.9674 l 11.0273 14.5288 l 4.2242 17.0052 l 11.0273 19.4843 L 7.9689 26.0458 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stars) (Stars) 1 1 63.384 84.766 [ %AI3_Tile (0 O 0 R 1 0.9 0.1 0 k 1 0.9 0.1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.3 w 4 M []0 d %AI3_Note: 0 D 0 XR 1 1 m 1 84.766 L 63.384 84.766 L 63.384 1 L 1 1 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0.25 1 0 k 0 0.25 1 0 K ) @ ( %AI6_BeginPatternLayer *u 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 37.668 67.113 m 43.924 62.567 L 41.535 55.213 L 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L f 16.596 59.757 m 22.851 55.212 L 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L f 20.462 20.683 m 26.719 25.229 L 18.985 25.229 L 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L f 38.447 34.271 m 36.058 41.625 L 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L f 51.657 20.683 m 57.914 25.229 L 50.18 25.229 L 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L f *U 1 XR 34.581 4.288 m 32.192 11.643 L 29.803 4.289 L 22.069 4.289 L 26.5962 1 L 37.7885 1 L 42.315 4.288 L 34.581 4.288 L f 53.261 4.289 m 57.7882 1 L 63.384 1 L 63.384 11.643 L 60.995 4.289 L 53.261 4.289 L f 4.866 41.625 m 11.123 46.171 L 3.389 46.171 L 1 53.526 L 1 38.816 L 7.255 34.271 L 4.866 41.625 L f 36.058 41.625 m 42.315 46.171 L 34.581 46.171 L 32.192 53.526 L 29.803 46.172 L 22.069 46.172 L 28.325 41.626 L 25.936 34.272 L 32.192 38.816 L 38.447 34.271 L 36.058 41.625 L f 53.261 46.172 m 59.517 41.626 L 57.128 34.272 L 63.384 38.816 L 63.384 53.526 L 60.995 46.172 L 53.261 46.172 L f 4.866 83.508 m 6.5974 84.766 L 1 84.766 L 1 80.699 L 7.255 76.154 L 4.866 83.508 L f 25.936 76.155 m 32.192 80.699 L 38.447 76.154 L 36.058 83.508 L 37.7895 84.766 L 26.5951 84.766 L 28.325 83.509 L 25.936 76.155 L f 22.851 55.212 m 20.462 62.566 L 26.719 67.112 L 18.985 67.112 L 16.596 74.467 L 14.207 67.113 L 6.473 67.113 L 12.729 62.567 L 10.34 55.213 L 16.596 59.757 L 22.851 55.212 L f 41.535 55.213 m 47.791 59.757 L 54.046 55.212 L 51.657 62.566 L 57.914 67.112 L 50.18 67.112 L 47.791 74.467 L 45.402 67.113 L 37.668 67.113 L 43.924 62.567 L 41.535 55.213 L f 50.18 25.229 m 47.791 32.584 L 45.402 25.23 L 37.668 25.23 L 43.924 20.684 L 41.535 13.33 L 47.791 17.874 L 54.046 13.329 L 51.657 20.683 L 57.914 25.229 L 50.18 25.229 L f 18.985 25.229 m 16.596 32.584 L 14.207 25.23 L 6.473 25.23 L 12.729 20.684 L 10.34 13.33 L 16.596 17.874 L 22.851 13.329 L 20.462 20.683 L 26.719 25.229 L 18.985 25.229 L f 3.388 4.289 m 1 11.643 L 1 1 L 6.5948 1 L 11.122 4.289 L 3.388 4.289 L f 57.128 76.154 m 63.384 80.699 L 63.384 84.766 L 57.7855 84.766 L 59.517 83.508 L 57.128 76.154 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Stripes) (Stripes) 8.45 4.6001 80.45 76.6001 [ %AI3_Tile (0 O 0 R 1 0.07 1 0 k 1 0.07 1 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 3.6 w 4 M []0 d %AI3_Note: 0 D 0 XR 8.2 8.2 m 80.7 8.2 L S 8.2 22.6001 m 80.7 22.6001 L S 8.2 37.0002 m 80.7 37.0002 L S 8.2 51.4 m 80.7 51.4 L S 8.2 65.8001 m 80.7 65.8001 L S 8.2 15.4 m 80.7 15.4 L S 8.2 29.8001 m 80.7 29.8001 L S 8.2 44.2 m 80.7 44.2 L S 8.2 58.6001 m 80.7 58.6001 L S 8.2 73.0002 m 80.7 73.0002 L S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.outer) (TriBevel.outer) 1 1.0004 31.6124 31.6127 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6118 5.4917 m 27.1221 5.4917 L 27.1205 1.0011 L 27.8031 1.0011 L 27.8031 4.8091 L 31.6118 4.8091 L 31.6118 5.4917 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 9.5062 m 23.1111 9.5062 L 23.1111 1.0015 L 27.1205 1.0015 L 27.1205 5.493 L 31.6144 5.493 L 31.6149 9.5062 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 10.485 m 22.1297 10.485 L 22.1292 1.0015 L 23.1084 1.0015 L 23.1084 9.5049 L 31.6124 9.5049 L 31.6124 10.485 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6129 17.2066 m 15.4064 17.2085 L 15.4064 1 L 22.1301 1 L 22.1301 10.4868 L 31.6129 10.4868 L 31.6129 17.2066 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6149 18.3658 m 14.2517 18.3658 L 14.2515 1.0009 L 15.4043 1.0009 L 15.4043 17.2093 L 31.6149 17.2093 L 31.6149 18.3658 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 31.6124 30.4755 m 2.1395 30.4755 L 2.1395 1.0015 L 14.249 1 L 14.249 18.366 L 31.6149 18.366 L 31.6124 30.4755 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.6 k 0 0 0 0.6 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 15.4066 16.847 m 14.2778 18.3257 l 15.4066 17.2057 l 15.4066 16.847 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 23.1095 9.1906 m 22.1759 10.4392 l 23.1082 9.505 l 23.1095 9.1906 l f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 27.8039 4.6026 m 27.1619 5.4533 l 27.8029 4.8093 l 27.8039 4.6026 l f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (TriBevel.side) (TriBevel.side) 1.0006 1 29.0006 31.6124 [ %AI3_Tile (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29 4.8087 m 29 4.8087 L 29.0026 5.4927 L 1.0026 5.4927 L 1 4.8087 L 1 4.8087 L 29 4.8087 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.2 k 0 0 0 0.2 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0026 5.4927 m 29.0005 9.5045 L 1.0005 9.5045 L 1.0026 5.4927 L 29.0026 5.4927 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0005 9.5045 m 29.0011 10.4865 L 1.0011 10.4865 L 1.0005 9.5045 L 29.0005 9.5045 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.3 k 0 0 0 0.3 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0011 10.4865 m 29.003 17.209 L 1.003 17.209 L 1.0011 10.4865 L 29.0011 10.4865 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.5 k 0 0 0 0.5 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.003 17.209 m 29.0031 18.3656 L 1.0031 18.3656 L 1.003 17.209 L 29.003 17.209 L f %AI6_EndPatternLayer ) & (0 O 0 R 0 0 0 0.4 k 0 0 0 0.4 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 29.0031 18.3656 m 29.0006 30.4752 L 1.0006 30.4752 L 1.0031 18.3656 L 29.0031 18.3656 L f %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI3_BeginPattern: (Waves-scroll) (Waves-scroll) 17.926 10.516 68.663 69.012 [ %AI3_Tile (0 O 0 R 1 0 0.3 0 k 1 0 0.3 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 1 D 0 XR 17.926 69.012 m 17.926 10.516 L 68.663 10.516 L 68.663 69.012 L 17.926 69.012 L f %AI6_EndPatternLayer ) & (0 O 0 R 0.55 0 0 0 k 0.55 0 0 0 K ) @ ( %AI6_BeginPatternLayer 800 Ar 0 J 0 j 0.75 w 4 M []0 d %AI3_Note: 0 D 0 XR 65.335 70.465 m 65.881 68.746 67.444 68.168 68.663 69.012 C 67.538 69.668 68.011 71.255 69.686 70.933 c 72.124 70.464 71.894 67.213 70.53 65.589 c 68.561 63.245 64.565 60.995 53.241 71.117 C S 39.964 70.465 m 40.511 68.746 42.074 68.168 43.293 69.012 C 42.168 69.668 42.64 71.255 44.316 70.933 c 46.753 70.464 46.524 67.213 45.16 65.589 c 43.191 63.245 39.195 60.995 27.87 71.117 c S 14.594 70.465 m 15.141 68.746 16.704 68.168 17.923 69.012 C 16.798 69.668 17.27 71.255 18.945 70.933 c 21.382 70.464 21.153 67.213 19.789 65.589 c 17.821 63.245 13.825 60.995 2.5 71.117 c S 10.959 51.619 m 22.282 41.497 26.278 43.747 28.247 46.09 c 29.611 47.715 29.841 50.965 27.403 51.434 c 25.728 51.757 25.255 50.169 26.38 49.513 C 25.161 48.669 23.599 49.248 23.052 50.966 c 22.723 51.997 23.38 53.966 24.872 54.903 c 27.267 56.406 31.371 56.05 36.328 51.619 c 47.653 41.497 51.649 43.746 53.618 46.09 c 54.982 47.715 55.212 50.965 52.774 51.434 c 51.099 51.757 50.626 50.169 51.751 49.513 C 50.532 48.669 48.97 49.248 48.423 50.966 c 48.094 51.997 48.751 53.966 50.243 54.903 c 52.638 56.406 56.742 56.05 61.699 51.619 C 73.024 41.497 77.02 43.747 78.988 46.09 c S 70.156 32.12 m 65.199 36.551 61.095 36.907 58.7 35.404 c 57.208 34.468 56.552 32.499 56.88 31.468 c 57.427 29.749 58.99 29.171 60.208 30.015 C 59.083 30.671 59.556 32.258 61.231 31.936 c 63.669 31.467 63.439 28.216 62.075 26.592 c 60.106 24.248 56.11 21.998 44.786 32.12 C 39.829 36.551 35.725 36.907 33.33 35.404 c 31.838 34.468 31.182 32.499 31.51 31.468 c 32.056 29.749 33.619 29.171 34.838 30.015 C 33.713 30.671 34.186 32.258 35.861 31.936 c 38.299 31.467 38.069 28.216 36.705 26.592 c 34.737 24.248 30.74 21.998 19.415 32.12 c 14.458 36.551 10.354 36.907 7.96 35.404 c S 19.792 7.094 m 21.157 8.719 21.386 11.968 18.949 12.437 c 17.274 12.76 16.801 11.172 17.926 10.516 C 16.708 9.673 15.145 10.252 14.598 11.969 c 14.27 13 14.926 14.969 16.418 15.906 c 18.812 17.409 22.916 17.053 27.874 12.622 c 39.199 2.5 43.195 4.75 45.163 7.094 c 46.528 8.719 46.757 11.968 44.32 12.437 c 42.644 12.76 42.172 11.172 43.297 10.516 C 42.078 9.673 40.515 10.252 39.968 11.969 c 39.64 13 40.297 14.969 41.788 15.906 c 44.183 17.409 48.287 17.053 53.245 12.622 C 64.569 2.5 68.565 4.75 70.534 7.094 c 71.898 8.719 72.127 11.968 69.69 12.437 c 68.014 12.76 67.542 11.172 68.667 10.516 C 67.448 9.673 65.885 10.252 65.338 11.969 c 65.011 13 65.667 14.969 67.159 15.906 c 69.553 17.409 73.657 17.053 78.615 12.622 c S %AI6_EndPatternLayer ) & ] E %AI3_EndPattern %AI5_End_NonPrinting-- %AI5_Begin_NonPrinting Np 12 Bn %AI5_BeginGradient: (Black, White) (Black, White) 0 2 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Chrome) (Chrome) 0 6 Bd [ 0 < 464646454545444444444343434342424241414141404040403F3F3F3E3E3E3E3D3D3D3C3C3C3C3B 3B3B3B3A3A3A39393939383838383737373636363635353535343434333333333232323131313130 3030302F2F2F2E2E2E2E2D2D2D2D2C2C2C2B2B2B2B2A2A2A2A292929282828282727272726262625 2525252424242323232322222222212121202020201F1F1F1F1E1E1E1D1D1D1D1C1C1C1B1B1B1B1A 1A1A1A1919191818181817171717161616151515151414141413131312121212111111101010100F 0F0F0F0E0E0E0D0D0D0D0C0C0C0C0B0B0B0A0A0A0A09090909080808070707070606060505050504 04040403030302020202010101010000 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 1F1E1E1E1E1E1E1E1E1E1D1D1D1D1D1D1D1D1C1C1C1C1C1C1C1C1B1B1B1B1B1B1B1B1B1A1A1A1A1A 1A1A1A19191919191919191818181818181818181717171717171717161616161616161615151515 15151515151414141414141414131313131313131312121212121212121211111111111111111010 1010101010100F0F0F0F0F0F0F0F0F0E0E0E0E0E0E0E0E0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C 0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A090909090909090909080808080808080807070707070707 07060606060606060606050505050505050504040404040404040303030303030303030202020202 02020201010101010101010000000000 > 1 %_Br 0 0.275 1 < 6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544 434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F > 1 %_Br 0 < 00000101010102020202030303040404040505050506060607070707080808090909090A0A0A0A0B 0B0B0C0C0C0C0D0D0D0D0E0E0E0F0F0F0F1010101011111112121212131313141414141515151516 161617171717181818181919191A1A1A1A1B1B1B1B1C1C1C1D1D1D1D1E1E1E1F1F1F1F2020202021 212122222222232323232424242525252526262627272727282828282929292A2A2A2A2B2B2B2B2C 2C2C2D2D2D2D2E2E2E2E2F2F2F303030303131313132323233333333343434353535353636363637 373738383838393939393A3A3A3B3B3B3B3C3C3C3C3D3D3D3E3E3E3E3F3F3F404040404141414142 42424343434344444444454545464646 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 00000101020203030304040505050606070708080809090A0A0A0B0B0C0C0D0D0D0E0E0F0F101010 1111121212131314141515151616171718181819191A1A1A1B1B1C1C1D1D1D1E1E1F1F1F20202121 222222232324242525252626272727282829292A2A2A2B2B2C2C2D2D2D2E2E2F2F2F303031313232 32333334343435353636373737383839393A3A3A3B3B3C3C3C3D3D3E3E3F3F3F4040414142424243 4344444445454646474747484849494A4A4A4B4B4C4C4C4D4D4E4E4F4F4F50505151515252535354 54545555565657575758585959595A5A5B5B5C5C5C5D5D5E5E5F5F5F606061616162626363646464 6565666666676768686969696A6A6B6B > 1 %_Br 1 0 %_Br < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 4D4C4C4C4B4B4B4A4A4A4A4949494848484747474746464645454544444444434343424242414141 414040403F3F3F3E3E3E3E3D3D3D3C3C3C3B3B3B3B3A3A3A39393938383838373737363636353535 35343434333333323232323131313030302F2F2F2F2E2E2E2D2D2D2C2C2C2C2B2B2B2A2A2A292929 292828282727272626262625252524242423232323222222212121202020201F1F1F1E1E1E1D1D1D 1D1C1C1C1B1B1B1A1A1A1A1919191818181717171716161615151514141414131313121212111111 111010100F0F0F0E0E0E0E0D0D0D0C0C0C0B0B0B0B0A0A0A09090908080808070707060606050505 05040404030303020202020101010000 > 0 0 1 %_Br [ 1 0 50 92 %_Bs 0 0.275 1 0.12 1 50 59 %_Bs 0 0.275 1 0.42 1 50 50 %_Bs 1 0 50 49 %_Bs 1 0 50 41 %_Bs 1 0.3 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Green, Blue) (Green, Blue) 0 2 Bd [ < 99999A9A9B9B9B9C9C9D9D9D9E9E9F9F9FA0A0A1A1A1A2A2A3A3A3A4A4A5A5A5A6A6A7A7A7A8A8A9 A9A9AAAAABABABACACADADADAEAEAFAFAFB0B0B1B1B1B2B2B3B3B3B4B4B5B5B5B6B6B7B7B7B8B8B9 B9B9BABABBBBBBBCBCBDBDBDBEBEBFBFBFC0C0C1C1C1C2C2C3C3C3C4C4C5C5C5C6C6C7C7C7C8C8C9 C9C9CACACBCBCBCCCCCDCDCDCECECFCFCFD0D0D1D1D1D2D2D3D3D3D4D4D5D5D5D6D6D7D7D7D8D8D9 D9D9DADADBDBDBDCDCDDDDDDDEDEDFDFDFE0E0E1E1E1E2E2E3E3E3E4E4E5E5E5E6E6E7E7E7E8E8E9 E9E9EAEAEBEBEBECECEDEDEDEEEEEFEFEFF0F0F1F1F1F2F2F3F3F3F4F4F5F5F5F6F6F7F7F7F8F8F9 F9F9FAFAFBFBFBFCFCFDFDFDFEFEFFFF > < 000102020304050506070808090A0B0B0C0D0E0E0F101111121314141516171718191A1A1B1C1D1D 1E1F20202122232324252626272829292A2B2C2C2D2E2F2F303132323334353536373838393A3B3B 3C3D3E3E3F404141424344444546474748494A4A4B4C4D4D4E4F5050515253535455565657585959 5A5B5C5C5D5E5F5F606162626364656566676868696A6B6B6C6D6E6E6F7071717273747475767777 78797A7A7B7C7D7D7E7F80808182828384858586878888898A8B8B8C8D8E8E8F9091919293949495 96979798999A9A9B9C9D9D9E9FA0A0A1A2A3A3A4A5A6A6A7A8A9A9AAABACACADAEAFAFB0B1B2B2B3 B4B5B5B6B7B8B8B9BABBBBBCBDBEBEBF > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br [ 1 0.75 0 0 1 50 100 %_Bs 0.6 0 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Orange, Green, Violet) (Orange, Green, Violet) 0 3 Bd [ < F0EFEFEFEEEEEEEDEDEDECECECEBEBEBEAEAEAE9E9E9E8E8E8E7E7E7E6E6E6E5E5E5E4E4E4E3E3E3 E3E2E2E2E1E1E1E0E0E0DFDFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADAD9D9D9D8D8D8D7D7D7D6D6D6 D5D5D5D4D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCCCCCBCBCBCACACAC9C9C9C8 C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C1C0C0C0BFBFBFBEBEBEBDBDBDBCBCBCBB BBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B2B1B1B1B0B0B0AFAFAFAEAE AEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A7A6A6A6A5A5A5A4A4A4A3A3A3A2A2A2A1A1A1 A0A0A0A09F9F9F9E9E9E9D9D9D9C9C9C > < 5455555657575859595A5A5B5C5C5D5E5E5F5F6061616263636465656666676868696A6A6B6B6C6D 6D6E6F6F707171727273747475767677777879797A7B7B7C7C7D7E7E7F8080818282838384858586 87878888898A8A8B8C8C8D8D8E8F8F909191929393949495969697989899999A9B9B9C9D9D9E9E9F A0A0A1A2A2A3A4A4A5A5A6A7A7A8A9A9AAAAABACACADAEAEAFB0B0B1B1B2B3B3B4B5B5B6B6B7B8B8 B9BABABBBBBCBDBDBEBFBFC0C1C1C2C2C3C4C4C5C6C6C7C7C8C9C9CACBCBCCCCCDCECECFD0D0D1D2 D2D3D3D4D5D5D6D7D7D8D8D9DADADBDCDCDDDDDEDFDFE0E1E1E2E3E3E4E4E5E6E6E7E8E8E9E9EAEB EBECEDEDEEEFEFF0F0F1F2F2F3F4F4F5 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020303030303 > 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0 > < A1A0A0A09F9F9F9E9E9E9D9D9D9D9C9C9C9B9B9B9A9A9A9999999898989797979696969595959594 94949393939292929191919090908F8F8F8E8E8E8E8D8D8D8C8C8C8B8B8B8A8A8A89898988888887 878787868686858585848484838383828282818181808080807F7F7F7E7E7E7D7D7D7C7C7C7B7B7B 7A7A7A79797978787878777777767676757575747474737373727272717171717070706F6F6F6E6E 6E6D6D6D6C6C6C6B6B6B6A6A6A6A6969696868686767676666666565656464646363636262626261 61616060605F5F5F5E5E5E5D5D5D5C5C5C5B5B5B5B5A5A5A59595958585857575756565655555554 54 > < F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6F6 F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8 F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFA FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFD FDFDFDFDFDFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFFFFFFFFFFFFFFFF FF > 0 1 %_Br [ 0.61 0.96 0 0.01 1 50 100 %_Bs 0.94 0.33 1 0 1 50 50 %_Bs 0 0.63 0.96 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Pink, Yellow, Green ) (Pink, Yellow, Green ) 0 3 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4D4E4F50 5152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273 > < 05050505050505050505050505050404040404040404040404040404040404040404040403030303 03030303030303030303030303030303030303020202020202020202020202020202020202020202 0201010101010101010101010101010101010101010101000000000000000000000000 > < CCCCCCCCCCCBCBCBCBCBCBCBCBCBCACACACACACACACACAC9C9C9C9C9C9C9C9C9C8C8C8C8C8C8C8C8 C8C7C7C7C7C7C7C7C7C7C6C6C6C6C6C6C6C6C6C5C5C5C5C5C5C5C5C5C4C4C4C4C4C4C4C4C3C3C3C3 C3C3C3C3C3C2C2C2C2C2C2C2C2C2C1C1C1C1C1C1C1C1C1C0C0C0C0C0C0C0C0C0BFBFBF > 0 1 %_Br < 0D0D0D0D0D0D0D0D0D0D0D0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0B 0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0B0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A 0A0A0A09090909090909090909090909090909090909090808080808080808080808080808080808 08080807070707070707070707070707070707070706060606060606060606060606060606060605 05050505050505050505050505050505050404040404040404040404040404040404030303030303 03030303030303030303030202020202020202020202020202020201010101010101010101010101 010101000000000000000000 > < B2B2B2B2B1B1B1B0B0B0AFAFAEAEAEADADACACABABAAAAA9A9A8A8A7A7A6A6A5A5A4A4A3A3A2A2A1 A0A09F9F9E9E9D9D9C9B9B9A9A999898979796959594949392929190908F8F8E8D8D8C8B8B8A8989 88888786868584848382828180807F7E7D7D7C7B7B7A7979787777767575747372727170706F6E6D 6D6C6B6B6A69686867666565646363626160605F5E5D5D5C5B5A5A59585757565554545352515150 4F4E4D4D4C4B4A4A4948474646454443434241403F3F3E3D3C3B3B3A393837373635343333323130 2F2F2E2D2C2B2B2A2928272726252423222221201F1E1D1D1C1B1A1918181716151413131211100F 0E0E0D0C0B0A090908070605 > < 0000010101020202030304040505060607070808090A0A0B0B0C0C0D0E0E0F0F1011111213131415 151616171818191A1B1B1C1D1D1E1F1F202122222324242526272728292A2A2B2C2C2D2E2F303031 323333343536363738393A3A3B3C3D3E3E3F4041424243444546464748494A4B4B4C4D4E4F505051 5253545556565758595A5B5B5C5D5E5F6061626263646566676869696A6B6C6D6E6F707171727374 75767778797A7B7B7C7D7E7F80818283848586868788898A8B8C8D8E8F9091929394949596979899 9A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAAAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0 C1C2C3C4C5C6C7C8C9CACBCC > 0 1 %_Br [ 0.45 0 0.75 0 1 50 100 %_Bs 0 0.02 0.8 0 1 50 64 %_Bs 0.05 0.7 0 0 1 57 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Purple, Red, Yellow) (Purple, Red, Yellow) 0 3 Bd [ 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A > < CCCCCCCDCDCDCDCDCECECECECECFCFCFCFD0D0D0D0D0D1D1D1D1D1D2D2D2D2D2D3D3D3D3D3D4D4D4 D4D5D5D5D5D5D6D6D6D6D6D7D7D7D7D7D8D8D8D8D8D9D9D9D9DADADADADADBDBDBDBDBDCDCDCDCDC DDDDDDDDDDDEDEDEDEDFDFDFDFDFE0E0E0E0E0E1E1E1E1E1E2E2E2E2E2E3E3E3E3E4E4E4E4E4E5E5 E5E5E5E6E6E6E6E6E7E7E7E7E7E8E8E8E8E9E9E9E9E9EAEAEAEAEAEBEBEBEBEBECECECECECEDEDED EDEEEEEEEEEEEFEFEFEFEFF0F0F0F0F0F1F1F1F1F1F2F2F2F2F3F3F3F3F3F4F4F4F4F4F5F5F5F5F5 F6F6F6F6F6F7F7F7F7F8F8F8F8F8F9F9F9F9F9FAFAFAFAFAFBFBFBFBFBFCFCFCFCFDFDFDFDFDFEFE FEFEFEFFFFFF > 0 1 %_Br < E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBE BDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A99989796 9594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E 6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A49484746 4544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E 1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100 > < E5E6E6E6E6E6E6E6E6E7E7E7E7E7E7E7E7E7E8E8E8E8E8E8E8E8E8E9E9E9E9E9E9E9E9E9EAEAEAEA EAEAEAEAEAEBEBEBEBEBEBEBEBEBECECECECECECECECECEDEDEDEDEDEDEDEDEDEEEEEEEEEEEEEEEE EEEFEFEFEFEFEFEFEFEFF0F0F0F0F0F0F0F0F0F1F1F1F1F1F1F1F1F1F2F2F2F2F2F2F2F2F2F3F3F3 F3F3F3F3F3F3F4F4F4F4F4F4F4F4F4F5F5F5F5F5F5F5F5F5F6F6F6F6F6F6F6F6F6F7F7F7F7F7F7F7 F7F7F8F8F8F8F8F8F8F8F8F9F9F9F9F9F9F9F9F9FAFAFAFAFAFAFAFAFAFBFBFBFBFBFBFBFBFBFCFC FCFCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFEFEFEFEFEFEFEFEFEFFFFFFFFFF > < 00010203040405060708090A0B0C0C0D0E0F10111213141415161718191A1B1C1D1D1E1F20212223 242525262728292A2B2C2D2D2E2F30313233343535363738393A3B3C3D3D3E3F4041424344454546 4748494A4B4C4D4E4E4F50515253545556565758595A5B5C5D5E5E5F60616263646566666768696A 6B6C6D6E6E6F70717273747576767778797A7B7C7D7E7F7F80818283848586878788898A8B8C8D8E 8F8F90919293949596979798999A9B9C9D9E9F9FA0A1A2A3A4A5A6A7A7A8A9AAABACADAEAFAFB0B1 B2B3B4B5B6B7B8B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C8C9CACBCC > 0 1 %_Br [ 0 0.04 1 0 1 50 100 %_Bs 0 1 0.8 0 1 50 50 %_Bs 0.9 0.9 0 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Rainbow) (Rainbow) 0 6 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 0 1 %_Br 1 < 0708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F50515253545556 5758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E 7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6 A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCE CFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6 F7F8F9FAFBFCFDFEFF > 0 0 1 %_Br 1 < 00000000000000000000000000000000000001010101010101010101010101010101010101010101 01010101010101010101010101010202020202020202020202020202020202020202020202020202 02020202020202020202030303030303030303030303030303030303030303030303030303030303 03030303030304040404040404040404040404040404040404040404040404040404040404040404 04040505050505050505050505050505050505050505050505050505050505050505050505050606 06060606060606060606060606060606060606060606060606060606060606060606070707070707 07070707070707070707070707070707 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 1 0 1 %_Br [ 0 1 0 0 1 50 100 %_Bs 1 1 0 0 1 50 80 %_Bs 1 0.0279 0 0 1 50 60 %_Bs 1 0 1 0 1 50 40 %_Bs 0 0 1 0 1 50 20 %_Bs 0 1 1 0 1 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Steel Bar) (Steel Bar) 0 3 Bd [ < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 %_Br < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 %_Br [ 0 0 50 100 %_Bs 1 0 50 70 %_Bs 0 0 50 0 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (White & Red Radial) (White & Red Radial) 1 18 Bd [ 0 1 1 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br 0 1 1 0 1 %_Br 0 < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > < FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8 D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0 AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A8988 87868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A69686766656463626160 5F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A3938 37363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A19181716151413121110 0F0E0D0C0B0A09080706050403020100 > 0 1 %_Br 1 0 %_Br 0 < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > 0 1 %_Br [ 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 0 %_Bs 0 1 1 0 1 50 12.5 %_Bs 0 0 0 0 1 50 12.5 %_Bs 0 0 0 0 1 50 25 %_Bs 0 1 1 0 1 50 25 %_Bs 0 1 1 0 1 50 37.5 %_Bs 0 0 0 0 1 50 37.5 %_Bs 0 0 0 0 1 50 50 %_Bs 0 1 1 0 1 50 50 %_Bs 0 1 1 0 1 50 62.5 %_Bs 0 0 0 0 1 50 62.5 %_Bs 0 0 0 0 1 50 75 %_Bs 0 1 1 0 1 50 75 %_Bs 0 1 1 0 1 50 87.5 %_Bs 0 0 0 0 1 50 87.5 %_Bs 0 0 0 0 1 50 100 %_Bs 0 1 1 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Orange Radial) (Yellow & Orange Radial) 1 2 Bd [ 0 < 0001010203040506060708090A0B0C0C0D0E0F10111213131415161718191A1B1C1D1D1E1F202122 232425262728292A2B2B2C2D2E2F303132333435363738393A3B3C3D3E3E3F404142434445464748 494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60606162636465666768696A6B6C6D6E6F 707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C > < FFFFFFFFFEFEFEFEFEFEFEFDFDFDFDFDFDFCFCFCFCFCFCFBFBFBFBFBFBFAFAFAFAFAFAF9F9F9F9F9 F9F8F8F8F8F8F8F7F7F7F7F7F7F6F6F6F6F6F6F5F5F5F5F5F5F4F4F4F4F4F3F3F3F3F3F3F2F2F2F2 F2F2F1F1F1F1F1F0F0F0F0F0F0EFEFEFEFEFEFEEEEEEEEEEEDEDEDEDEDEDECECECECECEBEBEBEBEB EBEAEAEAEAEAE9E9E9E9E9E9E8E8E8E8E8E8E7E7E7E7E7E6E6E6E6E6E5 > 0 1 %_Br [ 0 0 1 0 1 52 19 %_Bs 0 0.55 0.9 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow & Purple Radial) (Yellow & Purple Radial) 1 2 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < 1415161718191A1B1C1D1E1F1F202122232425262728292A2A2B2C2D2E2F30313233343536363738 393A3B3C3D3E3F40414142434445464748494A4B4C4D4D4E4F50515253545556575858595A5B5C5D 5E5F60616263646465666768696A6B6C6D6E6F6F707172737475767778797A7B7B7C7D7E7F808182 83848586868788898A8B8C8D8E8F90919292939495969798999A9B9C9D9D9E9FA0A1A2A3A4A5A6A7 A8A9A9AAABACADAEAFB0B1B2B3B4B4B5B6B7B8B9BABBBCBDBEBFC0C0C1C2C3C4C5C6C7C8C9CACBCB CCCDCECFD0D1D2D3D4D5D6D7D7D8D9DADBDCDDDEDFE0E1E2E2E3E4E5E6E7E8E9EAEBECEDEEEEEFF0 F1F2F3F4F5F6F7F8F9F9FAFBFCFDFEFF > < ABAAAAA9A8A7A7A6A5A5A4A3A3A2A1A1A09F9F9E9D9D9C9B9B9A9999989797969595949393929191 908F8F8E8D8D8C8B8B8A8989888787868585848383828181807F7F7E7D7D7C7B7B7A797978777776 7575747373727171706F6F6E6D6D6C6B6B6A6969686767666565646362626160605F5E5E5D5C5C5B 5A5A5958585756565554545352525150504F4E4E4D4C4C4B4A4A4948484746464544444342424140 403F3E3E3D3C3C3B3A3A3938383736363534343332323130302F2E2E2D2C2C2B2A2A292828272626 25242423222121201F1F1E1D1D1C1B1B1A1919181717161515141313121111100F0F0E0D0D0C0B0B 0A090908070706050504030302010100 > 0 1 %_Br [ 0 0.08 0.67 0 1 50 14 %_Bs 1 1 0 0 1 50 100 %_Bs BD %AI5_EndGradient %AI5_BeginGradient: (Yellow, Violet, Orange, Blue) (Yellow, Violet, Orange, Blue) 0 4 Bd [ < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF > < A1A1A1A1A2A2A2A2A3A3A3A3A4A4A4A4A4A5A5A5A5A6A6A6A6A7A7A7A7A8A8A8A8A9A9A9A9AAAAAA AAAAABABABABACACACACADADADADAEAEAEAEAFAFAFAFB0B0B0B0B0B1B1B1B1B2B2B2B2B3B3B3B3B4 B4B4B4B5B5B5B5B6B6B6B6B6B7B7B7B7B8B8B8B8B9B9B9B9BABABABABBBBBBBBBCBCBCBCBCBDBDBD BDBEBEBEBEBFBFBFBFC0C0C0C0C1C1C1C1C2C2C2C2C2C3C3C3C3C4C4C4C4C5C5C5C5C6C6C6C6C7C7 C7C7C8C8C8C8C8C9C9C9C9CACACACACBCBCBCBCCCCCCCCCDCDCDCDCECECECECECFCFCFCFD0D0D0D0 D1D1D1D1D2D2D2D2D3D3D3D3D4D4D4D4D4D5D5D5D5D6D6D6D6D7D7D7D7D8D8D8D8D9D9D9D9DADADA DADADBDBDBDBDCDCDCDCDDDDDDDDDEDE > < F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CF CECDCCCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B4B3B2B1B0AFAEADACABAAA9 A8A7A6A5A4A3A2A1A09F9E9D9C9C9B9A999897969594939291908F8E8D8C8B8A8988878685848483 8281807F7E7D7C7B7A797877767574737271706F6E6D6C6C6B6A696867666564636261605F5E5D5C 5B5A59585756555454535251504F4E4D4C4B4A494847464544434241403F3E3D3C3C3B3A39383736 3534333231302F2E2D2C2B2A29282726252424232221201F1E1D1C1B1A191817161514131211100F 0E0D0C0C0B0A09080706050403020100 > 0 1 %_Br < 9C9B9A9A9998989796969595949393929191908F8F8E8E8D8C8C8B8A8A8989888787868585848383 82828180807F7E7E7D7C7C7B7B7A797978777776757574747372727170706F6E6E6D6D6C6B6B6A69 6968676766666564646362626161605F5F5E5D5D5C5B5B5A5A595858575656555454535352515150 4F4F4E4D4D4C4C4B4A4A4948484746464545444343424141403F3F3E3E3D3C3C3B3A3A3939383737 36353534333332323130302F2E2E2D2C2C2B2B2A292928272726252524242322222120201F1E1E1D 1D1C1B1B1A191918171716161514141312121111100F0F0E0D0D0C0B0B0A0A090808070606050404 030302010100 > < F5F4F4F4F3F3F3F2F2F2F1F1F1F0F0F0EFEFEFEEEEEEEDEDEDECECECEBEBEAEAEAE9E9E9E8E8E8E7 E7E7E6E6E6E5E5E5E4E4E4E3E3E3E2E2E2E1E1E1E0E0E0DFDFDEDEDEDDDDDDDCDCDCDBDBDBDADADA D9D9D9D8D8D8D7D7D7D6D6D6D5D5D5D4D4D3D3D3D2D2D2D1D1D1D0D0D0CFCFCFCECECECDCDCDCCCC CCCBCBCBCACACAC9C9C8C8C8C7C7C7C6C6C6C5C5C5C4C4C4C3C3C3C2C2C2C1C1C1C0C0C0BFBFBFBE BEBEBDBDBCBCBCBBBBBBBABABAB9B9B9B8B8B8B7B7B7B6B6B6B5B5B5B4B4B4B3B3B3B2B2B1B1B1B0 B0B0AFAFAFAEAEAEADADADACACACABABABAAAAAAA9A9A9A8A8A8A7A7A6A6A6A5A5A5A4A4A4A3A3A3 A2A2A2A1A1A1 > < 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F2021222324252627 28292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F 505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F7071727374757677 78797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9F A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7 C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF F0F1F2F3F4F5 > < 03030303030202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020201010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000 > 1 %_Br < 0D0D0E0F0F10101111121313141415161617171819191A1A1B1C1C1D1D1E1E1F2020212122232324 2425262627272828292A2A2B2B2C2D2D2E2E2F30303131323333343435353637373838393A3A3B3B 3C3D3D3E3E3F3F404141424243444445454647474848494A4A4B4B4C4C4D4E4E4F4F505151525253 54545555565757585859595A5B5B5C5C5D5E5E5F5F60616162626363646565666667686869696A6B 6B6C6C6D6E6E6F6F70707172727373747575767677787879797A7B7B7C7C7D7D7E7F7F8080818282 8383848585868687878889898A8A8B8C8C8D8D8E8F8F90909192929393949495969697979899999A 9A9B9C > < 08090A0B0C0D0E0F0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E 2F303132333435363738393A3B3C3D3E3F40404142434445464748494A4B4C4D4E4F505152535455 565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717172737475767778797A7B7C 7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A2A3 A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACB CCCDCECFD0D1D2D3D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2 F3F4F5 > < F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCB CAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3 A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B 7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A59585756555453 5251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B 2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403 020100 > < 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101010101010101010202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020202020202020202020202020202020202020303 030303 > 1 %_Br [ 1 0.87 0 0 1 50 95 %_Bs 0 0.63 0.96 0 1 50 65 %_Bs 0.61 0.96 0 0.01 1 50 35 %_Bs 0.05 0.03 0.95 0 1 50 5 %_Bs BD %AI5_EndGradient %AI5_End_NonPrinting-- %AI5_BeginPalette 0 0 Pb 0 0 0 0 k (C=0 M=0 Y=0 K=0) Pc 0 0 0 1 k (C=0 M=0 Y=0 K=100) Pc 0 0.45 0.6 0 k (C=0 M=45 Y=60 K=0) Pc 0 0.5 0.05 0 k (C=0 M=50 Y=5 K=0) Pc 0 0.9 1 0 k (C=0 M=90 Y=100 K=0) Pc 1 0.2 1 0 k (C=100 M=20 Y=100 K=0) Pc 1 0.4 0.15 0 k (C=100 M=40 Y=15 K=0) Pc 0.2 0 1 0 k (C=20 M=0 Y=100 K=0) Pc 0.25 1 0.25 0 k (C=25 M=100 Y=25 K=0) Pc 0.4 0.4 0.4 0 k (C=40 M=40 Y=40 K=0) Pc 0.4 0.7 1 0 k (C=40 M=70 Y=100 K=0) Pc 0.75 0.9 0 0 k (C=75 M=90 Y=0 K=0) Pc 1 0 0.55 0 (Aqua) 0 x (Aqua) Pc 1 0.5 0 0 (Blue) 0 x (Blue) Pc 0.5 0.4 0.3 0 (Blue Gray) 0 x (Blue Gray) Pc 0.8 0.05 0 0 (Blue Sky) 0 x (Blue Sky) Pc 0.5 0.85 1 0 (Brown) 0 x (Brown) Pc 1 0.9 0.1 0 (Dark Blue) 0 x (Dark Blue) Pc 1 0.55 1 0 (Forest Green) 0 x (Forest Green) Pc 0.05 0.2 0.95 0 (Gold) 0 x (Gold) Pc 0.75 0.05 1 0 (Grass Green) 0 x (Grass Green) Pc 0 0.45 1 0 (Orange) 0 x (Orange) Pc 0.15 1 1 0 (Red) 0 x (Red) Pc 0.45 0.9 0 0 (Violet) 0 x (Violet) Pc Bb 2 (Black, White) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Black, White) Pc Bb 2 (Chrome) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Chrome) Pc Bb 2 (Green, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Green, Blue) Pc Bb 2 (Orange, Green, Violet) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Orange, Green, Violet) Pc Bb 2 (Pink, Yellow, Green ) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Pink, Yellow, Green ) Pc Bb 2 (Purple, Red, Yellow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Purple, Red, Yellow) Pc Bb 2 (Rainbow) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Rainbow) Pc Bb 2 (Steel Bar) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Steel Bar) Pc Bb 0 0 0 0 Bh 2 (White & Red Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (White & Red Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Orange Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Orange Radial) Pc Bb 0 0 0 0 Bh 2 (Yellow & Purple Radial) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow & Purple Radial) Pc Bb 2 (Yellow, Violet, Orange, Blue) -4014 4716 0 0 1 0 0 1 0 0 Bg 0 BB (Yellow, Violet, Orange, Blue) Pc (Arrow1.2.out/in) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.out/in) Pc (Arrow1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Arrow1.2.side) Pc (Bricks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Bricks) Pc (Checks) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Checks) Pc (Confetti) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Confetti) Pc (DblLine1.2.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.inner) Pc (DblLine1.2.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.outer) Pc (DblLine1.2.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (DblLine1.2.side) Pc (Diamonds) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Diamonds) Pc (Hexagon) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Hexagon) Pc (Laurel.inner) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.inner) Pc (Laurel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.outer) Pc (Laurel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Laurel.side) Pc (Leaves-fall) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Leaves-fall) Pc (Polka dots) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Polka dots) Pc (Random circles) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Random circles) Pc (Rope.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Rope.side) Pc (Scales) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Scales) Pc (SolidStar.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (SolidStar.side) Pc (Stars) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stars) Pc (Stripes) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Stripes) Pc (TriBevel.outer) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.outer) Pc (TriBevel.side) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (TriBevel.side) Pc (Waves-scroll) 0 0 1 1 0 0 0 0 0 [1 0 0 1 0 0] p (Waves-scroll) Pc PB %AI5_EndPalette %AI5_BeginLayer 1 1 1 1 0 0 0 79 128 255 Lb (Layer 1) Ln 0 A u u 1 Ap 0 O 0 0 0 0 k 0 R 0 0 0 1 K 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR 92 424.9819 m 119.7268 424.9819 142.2046 432.2634 142.2046 441.2453 c 142.2046 450.2273 119.7268 457.5088 92 457.5088 c 64.2732 457.5088 41.7954 450.2273 41.7954 441.2453 c 41.7954 432.2634 64.2732 424.9819 92 424.9819 c b 0 To 1 0 0 1 92 438.4213 0 Tp 0 Tv TP -25.4449 0 Td 0 Tr 0 0 0 1 k %_ 0 50 XQ /_Helvetica 10 9.31 -2.2499 Tf 0 Ts 100 100 Tz 0 Tt %_0 0 100 100 Xu %AI55J_GlyphSubst: GlyphSubstNone 1 TA %_ 0 XL 0 TY 0 TV 36 0 Xb XB 0 0 5 TC 100 100 200 TW 25 TG 0 0 0 Ti 1 Ta 0 0 2 2 3 Th 0 Tq 0 Tg 0 0 Tl 0 Tc 0 Tw (ret #F) Tx 1 80 Tk (ALSE) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 261.3333 424.9819 m 289.0601 424.9819 311.5379 432.2634 311.5379 441.2453 c 311.5379 450.2273 289.0601 457.5088 261.3333 457.5088 c 233.6065 457.5088 211.1287 450.2273 211.1287 441.2453 c 211.1287 432.2634 233.6065 424.9819 261.3333 424.9819 c b 0 To 1 0 0 1 261.3333 438.4213 0 Tp 0 Tv TP -23.4148 0 Td 0 Tr 0 0 0 1 k (ret #TR) Tx 1 40 Tk (UE) Tx 1 0 Tk (\r) TX TO U U u u 0 0 0 0 k 0 R 0 0 0 1 K 263.625 576.4611 m 291.3518 576.4611 313.8296 583.7426 313.8296 592.7245 c 313.8296 601.7064 291.3518 608.988 263.625 608.988 c 235.8982 608.988 213.4204 601.7064 213.4204 592.7245 c 213.4204 583.7426 235.8982 576.4611 263.625 576.4611 c b 0 To 1 0 0 1 263.625 594.6505 0 Tp 0 Tv TP -20.8449 0 Td 0 Tr 0 0 0 1 k (ld [26], r1\r) Tx 1 0 Tk -0.555 -12 Td (jeq r1, #A) Tx 1 0 Tk (\r) TX TO U u 0 0 0 0 k 0 R 0 0 0 1 K 203.25 617.4573 m 230.9768 617.4573 253.4546 624.7388 253.4546 633.7207 c 253.4546 642.7027 230.9768 649.9842 203.25 649.9842 c 175.5232 649.9842 153.0454 642.7027 153.0454 633.7207 c 153.0454 624.7388 175.5232 617.4573 203.25 617.4573 c b u 0 To 1 0 0 1 205.25 639.6467 0 Tp 0 Tv TP -17.7182 0 Td 0 Tr 0 0 0 1 k /_Helvetica 8.5 7.9135 -1.9124 Tf (lh [12], r0\r) Tx 1 0 Tk -29.3926 -10 Td (jeq r0, #ETHER) Tx 1 30 Tk (TYPE_IP) Tx 1 0 Tk (\r) TX TO U U U u 0 0 0 0 k 0 R 0 0 0 1 K 161.0417 506.2111 m 188.7685 506.2111 211.2462 513.4926 211.2462 522.4745 c 211.2462 531.4564 188.7685 538.738 161.0417 538.738 c 133.3148 538.738 110.8371 531.4564 110.8371 522.4745 c 110.8371 513.4926 133.3148 506.2111 161.0417 506.2111 c b 0 To 1 0 0 1 160.6667 518.6667 0 Tp 0 Tv TP -22.7898 0 Td 0 Tr 0 0 0 1 k /_Helvetica 10 9.31 -2.2499 Tf (jeq r1\017, #B) Tx 1 0 Tk (\r) TX TO U 0 Ap 0 R 0 0 0 1 K 239.625 622.5 m 259.875 611 l B 262.9485 609.2548 m 257.6188 609.9444 l 259.649 611.1286 l 259.626 613.4788 l 262.9485 609.2548 l f u 0 R 0 0 0 1 K 144 507 m 122.3333 459.3333 l B 120.8706 456.1158 m 121.0792 461.4859 l 122.4408 459.5701 l 124.7795 459.8038 l 120.8706 456.1158 l f U u 0 R 0 0 0 1 K 185.3333 508.3333 m 222 456 l B 224.0294 453.1068 m 219.5101 456.0151 l 221.852 456.2144 l 222.839 458.3475 l 224.0294 453.1068 l f U u u 0 R 0 0 0 1 K 289.3333 578.6667 m 264 461.3333 l B 263.2531 457.8788 m 262.3166 463.1707 l 264.0539 461.5878 l 266.2897 462.3129 l 263.2531 457.8788 l f U U 0 To 1 0 0 1 201.5 609.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr /_Helvetica 9 8.379 -2.0249 Tf (1) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 261.1667 417 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (6) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 91.4167 417.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (5) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 160.9167 498.176 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (4) Tx 1 0 Tk (\r) TX TO 0 To 1 0 0 1 264 568.5 0 Tp 0 Tv TP -2.502 0 Td 0 Tr (2) Tx 1 0 Tk (\r) TX TO u 0 0 0 0 k 0 R 0 0 0 1 K 239 578 m 186.5467 540.4316 l B 0 0 0 1 k 183.6764 538.3759 m 186.5377 542.9249 l 186.7612 540.5853 l 188.9044 539.6205 l 183.6764 538.3759 l f U u u u 0 R 0 0 0 1 K 163.5 624 m 126.6667 608.6667 102.6667 548 v 84.3014 501.5757 86.6667 461.3333 y S 0 O 0 0 0 1 k 86.8791 457.8106 m 84.5583 462.6578 l 86.6564 461.5985 l 88.616 462.8964 l 86.8791 457.8106 l f U U U LB %AI5_EndLayer-- gsave annotatepage grestore showpage Adobe_Illustrator_AI5 /terminate get exec Adobe_ColorImage_AI6 /terminate get exec Adobe_typography_AI5 /terminate get exec Adobe_cshow /terminate get exec Adobe_level2_AI5 /terminate get exec %%EndDocument endTexFig 2565 4832 a Fv(Figure)h(5:)k Ft(The)d(optimiz)o(ed)e(\002lter)l(.)2040 4995 y Fw(6.1)82 b(Redundant)27 b(Predicate)h(Elimination)2040 5129 y Fv(Redundant)d(predicate)g(elimination)f(is)f(an)h(optimization) h(used)f(to)g(deter)o(-)2040 5212 y(mine,)f(at)f(compile-time,)g(which) h(predicates)g(found)g(in)f(the)g(control-\003o)n(w)p 2040 5274 797 4 v 2112 5322 a Fq(6)2145 5347 y Fp(Let)14 b Fl(E)2286 5355 y Fk(ij)2353 5347 y Fp(denote)h(the)f(directed)h(edge) f(from)i Fl(N)3115 5355 y Fk(i)3155 5347 y Fp(to)f Fl(N)3268 5355 y Fk(j)3298 5347 y Fp(.)p eop %%Page: 7 7 7 6 bop -152 -69 a Fv(graph)27 b(may)f(be)h(bypassed)g(by)g(particular) e(\003o)n(w)h(edges.)45 b(This)25 b(optimiza-)-152 14 y(tion)e(is)g(composed)i(of)e(three)g(pieces:)33 b Fu(partial)23 b(r)m(edundancy)j(elimination)p Fv(,)-152 97 y(used)i(to)e(eliminate)g (redundant)j(computation)e(within)g(the)f(nodes)i(of)f(the)-152 180 y(control-\003o)n(w)j(graph;)35 b Fu(pr)m(edicate)c(assertion)f(pr) m(opa)o(gation)p Fv(,)k(a)c(data-\003o)n(w)-152 263 y(analysis)19 b(used)f(to)g(\003o)n(w)f(the)h(v)n(alues)h(of)e(determinable)i (predicates)f(through)-152 346 y(the)i(control-\003o)n(w)h(graph;)g (and)g Fu(static)e(pr)m(edicate)j(pr)m(ediction)p Fv(,)f(which)f(uses) -152 429 y(the)h(assertion)g(information)g(to)f(identify)h(statically)f (determinable)h(condi-)-152 512 y(tional)e(branches)h(and)g(bypass)g (them)f(whene)n(v)o(er)h(possible.)-152 705 y Fw(6.1.1)82 b(P)n(a)n(rtial)27 b(Redundancy)g(Elimination)-152 838 y Fv(Our)21 b(use)g(of)f(SSA)g(form,)g(combined)i(with)e(BPF+')l(s)g (ac)o(yclic)g(control-\003o)n(w)-152 921 y(graph,)i(enables)f(the)f (optimizer)g(to)h(identify)f(and)h(eliminate)f(a)g(signi\002cant)-152 1004 y(amount)30 b(of)e(redundant)i(computation.)53 b(In)28 b(the)g(code)i(from)e(our)h(simple)-152 1087 y(code)23 b(generator)m(,)h(most)e(redundancies)i(are)f(loads)f(from)h(pack)o(et) g(memory)-152 1170 y(and)d(oft-repeated)g(ALU)e(operations.)-40 1253 y(In)28 b(order)g(to)g(determine)g(which)h(computations)g(are)e (redundant,)32 b(we)-152 1336 y(\002rst)21 b(establish)h(a)g(metric)g (of)g(v)n(alue)g(equi)n(v)n(alence.)34 b(W)-6 b(e)21 b(use)i(a)f(v)n(alue)g(num-)-152 1419 y(bering)31 b(scheme)f(for)g (each)g(re)o(gister)g(to)f(indicate)h(its)f(source)i(de\002nition.)-152 1502 y(Each)21 b(de\002nition,)g(which)g(can)g(be)g(a)f(de\002ning)h (computation,)h(a)f(load)g(from)-152 1585 y(memory)-5 b(,)22 b(or)e(a)g(re)o(gister)o(-to-re)o(gister)g(cop)o(y)-5 b(,)21 b(is)f(identi\002ed)h(by)f(a)h(unique)g(ID)-152 1668 y(which)e(can)g(be)g(used)g(to)g(indicate)f(whether)h(tw)o(o)g(v)n (ariables)g(ha)o(v)o(e)g(the)f(same)-152 1751 y(de\002nition.)-40 1835 y(W)-6 b(e)20 b(compute)h(the)g Fu(node)g(dominator)g Fv(relation)g(o)o(v)o(er)f(the)g(control-\003o)n(w)-152 1918 y(graph)i(and)g(look)f(o)o(v)o(er)h(e)n(v)o(ery)g(re)o(gister')l (s)e(de\002nition.)30 b(This)20 b(relation)h(iden-)-152 2001 y(ti\002es)h(which)g(nodes)i(must)e(be)h(tra)o(v)o(ersed)f(in)g (order)h(to)f(go)h(from)f(the)g(entry)-152 2084 y(node)e(to)f(each)g (node)h(in)f(the)g(control-\003o)n(w)g(graph.)24 b(If)18 b(at)h(a)f(gi)n(v)o(en)i(node,)g(the)-152 2167 y(v)n(alue)j(assigned)g (to)e(a)h(re)o(gister)f(has)h(already)g(been)h(computed)g(in)f(a)f (domi-)-152 2250 y(nating)i(node,)h(the)f(second)h(de\002nition)e(is)g (redundant.)1284 2218 y Fs(7)1354 2250 y Fv(W)-6 b(e)22 b(then)h(replace)-152 2333 y(the)17 b(redundant)h(computation)g(with)e (a)g(re)o(gister)o(-to-re)o(gister)f(cop)o(y)j(from)f(the)-152 2416 y(dominating)23 b(de\002ning)e(re)o(gister)l(.)29 b(Afterw)o(ards,)22 b(using)f(cop)o(y)i(propagation,)-152 2499 y(we)18 b(replace)f(all)g(later)g(uses)h(of)f(the)h(second)g(re)o (gister)f(with)g(the)h(\002rst.)j(A)c(sub-)-152 2582 y(sequent)24 b(dead)f(store)f(elimination)h(phase)g(will)f(remo)o(v)o (e)h(the)f(no)n(w)h(useless)-152 2665 y(re)o(gister)c(and)h(the)f (corresponding)i(re)o(gister)o(-to-re)o(gister)d(cop)o(y)-5 b(.)-40 2748 y(This)18 b(implementation)g(only)g(achie)n(v)o(es)h (partial)e(redundanc)o(y)j(elimina-)-152 2831 y(tion,)c(ho)n(we)n(v)o (er)m(,)h(since)e(redundancies)j(may)d(only)h(be)g(identi\002ed)f(and)h (elided)-152 2914 y(when)i(found)h(in)e(dominating)i(relationships.)k (W)-6 b(e)17 b(shall)g(see)h(ho)n(w)g(the)f(ne)o(xt)-152 2997 y(tw)o(o)k(phases)g(of)g(redundant)h(predicate)f(elimination)f (can)h(impro)o(v)o(e)g(the)g(ef-)-152 3080 y(fecti)n(v)o(eness)f(of)e (this)h(optimization)g(if)f(we)g(apply)i(them)f(one)g(after)f(another)l (.)-152 3272 y Fw(6.1.2)82 b(Predicate)28 b(Assertion)e(Propagation) -152 3406 y Fv(The)20 b(e)o(xample)h(sho)n(wn)g(at)e(the)h(be)o (ginning)i(of)e(Section)f(6)h(assumes)h(a)f(priori)-152 3489 y(that)j(we)g(can)g(mak)o(e)h(certain)f(edge)h(mo)o(v)o(ements)g (without)f(compromising)-152 3572 y(the)d(semantics)f(of)h(the)f (program.)25 b(In)20 b(actuality)-5 b(,)19 b(we)g(must)h(be)f (analytically)-152 3655 y(precise)i(that)f(such)i(transformations)f (are)f(le)o(gitimate.)28 b(This)20 b(problem)h(can)-152 3738 y(be)f(solv)o(ed)f(through)h(a)f(global)h(data-\003o)n(w)f (analysis.)-40 3821 y(The)e(traditional)h(approach)g(to)f(global)h (data-\003o)n(w)f(problems)h(typically)-152 3904 y(in)m(v)o(olv)o(es)31 b(computing)h(set)f(relations)g(o)o(v)o(er)f(the)h(nodes)h(of)e(a)h (\003o)n(wgraph.)-152 3987 y(Ho)n(we)n(v)o(er)m(,)16 b(as)f(\002rst)e(seen)i(in)g(Cock)o(e)g(and)h(Schw)o(artz)e([4])h(and)g (later)f(e)o(xploited)-152 4070 y(by)27 b(Graham)f(and)g(W)-6 b(e)o(gman)26 b([8)q(],)g(applying)h(the)f(data-\003o)n(w)g(functions)h (to)-152 4153 y Fu(edg)o(es)h Fv(rather)e(than)g(nodes)i(can)e(ha)o(v)o (e)h(substantial)f(adv)n(antages.)47 b(This)26 b(is)-152 4236 y(indeed)20 b(the)f(case)g(for)g(BPF+)f(\003o)n(w)h(graphs.)-40 4319 y(First,)f(we)i(e)o(xtend)g(some)g(standard)g(node)h(terminology)f (to)f(edges:)26 b(An)-152 4402 y(edge)18 b Fm(E)63 4410 y Fj(ij)134 4402 y Fv(\(de\002ned)g(by)f(a)g(predecessor)h(node)g Fu(pr)m(ed\()p Fm(E)1283 4410 y Fj(ij)1338 4402 y Fu(\))f Fv(and)h(a)f(successor)-152 4485 y(node)g Fu(succ\()p Fm(E)223 4493 y Fj(ij)278 4485 y Fu(\)\))e(dominates)h Fv(another)h(edge)f Fm(E)1118 4494 y Fj(k)q(l)1176 4485 y Fv(,)f(written)g Fm(E)1494 4493 y Fj(ij)1564 4485 y Fu(dom)h Fm(E)1765 4494 y Fj(k)q(l)1822 4485 y Fv(,)-152 4568 y(if)f(e)n(v)o(ery)h(possible)g(e)o(x)o(ecution)g(path)g(from)f (the)g(entry)h(node)g(to)f Fm(E)1519 4577 y Fj(k)q(l)1592 4568 y Fv(includes)-152 4651 y Fm(E)-95 4659 y Fj(ij)-40 4651 y Fv(.)22 b(In)d(addition,)f(an)h(edge)g Fm(E)668 4659 y Fj(ij)741 4651 y Fv(immediately)f(dominates)i(another)f(edge) -152 4734 y Fm(E)-95 4743 y Fj(k)q(l)-37 4734 y Fv(,)h(if)g Fm(E)125 4742 y Fj(ij)200 4734 y Fv(dominates)h Fm(E)584 4743 y Fj(k)q(l)662 4734 y Fu(and)h Fv(there)e(is)g(no)h(edge)h Fm(E)1348 4743 y Fj(g)r(h)1440 4734 y Fv(such)f(that)g Fm(E)1787 4742 y Fj(ij)-152 4817 y Fv(dominates)f Fm(E)231 4826 y Fj(g)r(h)322 4817 y Fv(and)f Fm(E)505 4826 y Fj(g)r(h)596 4817 y Fv(dominates)h Fm(E)979 4826 y Fj(k)q(l)1036 4817 y Fv(.)-40 4900 y(Since)e(e)n(v)o(ery)g(basic)h(block)f(ends)h(with)e (a)h(predicate,)g(an)g(edge)h Fm(E)1649 4908 y Fj(ij)1721 4900 y Fv(rep-)-152 4983 y(resents)c(the)g(truth)f(v)n(alue)h Fu(sense\()p Fm(E)748 4991 y Fj(ij)803 4983 y Fu(\))f Fv(of)g(a)h(predicate)g Fu(pr)m(edicate\(pr)m(ed\()p Fm(E)1772 4991 y Fj(ij)1829 4983 y Fu(\)\))-152 5066 y Fv(\227)20 b(a)h Fu(true)f Fv(edge)h Fu(true\(pr)m(ed\()p Fm(E)658 5074 y Fj(ij)714 5066 y Fu(\)\))f Fv(is)g(tra)o(v)o(ersed)g (if)g(the)h(predecessor)h(node)p -152 5130 797 4 v -79 5178 a Fq(7)-47 5203 y Fp(Since)12 b(our)f(SSA)h(form)h(control-\003o)o (w)f(graph)g(is)f(ac)o(yclic,)h(and)f(each)g(re)o(gister)h(is)f(only)h (de\002ned)-152 5270 y(once,)17 b(we)g(do)g(not)g(ha)o(v)o(e)g(to)g (check)g(whether)g(the)g(re)o(gister')m(s)g(v)o(alue)f(might)i(ha)o(v)o (e)f(been)f(changed)-152 5336 y(before)f(the)g(second)f(de\002nition)h (is)f(reached.)2040 -69 y Fv(e)n(v)n(aluated)k(a)f(true)g(condition,)h (otherwise)g(the)f Fu(false)g Fv(edge)g Fu(false\(pr)m(ed\()p Fm(E)3952 -61 y Fj(ij)4008 -69 y Fu(\))2040 14 y Fv(is)23 b(tra)o(v)o(ersed.)37 b(Suppose)25 b(an)e(edge)i Fm(E)3032 22 y Fj(ij)3109 14 y Fv(dominates)g(an)f(edge)g Fm(E)3755 23 y Fj(k)q(l)3813 14 y Fv(.)36 b(If)23 b(the)2040 97 y(edge)18 b(predicate)f(of)g Fm(E)2624 105 y Fj(ij)2695 97 y Fv(is)g(equi)n(v)n(alent)h(to)f(the)g(predicate)g(of)g(the)g (successor)2040 180 y(node)k Fm(N)2266 189 y Fj(l)2310 180 y Fv(of)g Fm(E)2450 189 y Fj(k)q(l)2507 180 y Fv(,)f(then)g(we)g (kno)n(w)h(the)f(outcome)h(of)f Fm(N)3516 189 y Fj(l)3541 180 y Fv(,)g(when)g(tra)o(v)o(ersed)2040 263 y(from)k Fm(E)2266 272 y Fj(k)q(l)2324 263 y Fv(.)39 b(Hence,)26 b(we)e(can)h(delete)f Fm(E)3115 272 y Fj(k)q(l)3197 263 y Fv(and)g(insert)g(a)h(ne)n(w)f(edge)h(from)2040 346 y Fm(N)2101 355 y Fj(k)2140 346 y Fv(,)15 b(the)g(predecessor)h(of)f Fm(E)2781 355 y Fj(k)q(l)2839 346 y Fv(,)g(to)g(the)g(appropriate)h (child)f(of)g Fm(N)3709 355 y Fj(l)3734 346 y Fv(,)g(pro)o(vided)2040 429 y(no)k(con\003icting)h(inter)o(-block)f(data)g(dependencies)i(e)o (xist.)2152 512 y(W)-6 b(e)28 b(use)i(a)e(simple)h(data-\003o)n(w)g (algorithm)g(to)g(abstractly)g(de\002ne)g(the)2040 596 y(v)n(alue)g(of)e(each)i(predicate)f(in)g(the)f(control-\003o)n(w)h (graph.)51 b(If)27 b(a)h(predicate)2040 679 y(ends)f(up)h(with)e(a)g (statically)h(determinable)g(v)n(alue,)i(we)e(may)g(bypass)g(the)2040 762 y(predicate)17 b(with)g(a)f(ne)n(w)h(control-\003o)n(w)g(edge.)23 b(First,)16 b(we)g(compute)i(the)f(edge)2040 845 y(dominator)h (relationship)2716 813 y Fs(8)2768 845 y Fv(in)e(a)h(f)o(ashion)h (similar)e(to)h(the)g(node)g(dominators)2040 928 y(algorithm)25 b(gi)n(v)o(en)g(by)g(Aho,)h(Sethi,)f(and)g(Ullman)f([1)q(].)39 b(The)24 b(set)h(relation,)2040 1011 y(which)19 b(we)g(call)g Fu(edom)p Fv(,)g(is)f(gi)n(v)o(en)i(by)g(the)f(follo)n(wing)g (equation:)2379 1208 y Fi(edom)o(\()p Fm(E)t Fi(\))i(=)g Fr(f)p Fm(E)t Fr(g)c([)h(f)3150 1137 y Fh(\\)3042 1299 y Fj(P)8 b Fg(2)p Fs(pred)o(\()p Fj(E)s Fs(\))3357 1208 y Fi(edom)o(\()p Fm(P)j Fi(\))p Fr(g)2152 1455 y Fv(W)-6 b(e)19 b(then)g(use)g Fu(edom)h Fv(to)f(calculate)g Fu(idom)p Fv(;)2152 1609 y Fr(8)p Fm(E)25 b Fr(2)c Fi(edges)q Fm(;)2285 1692 y Fi(idom)o(\()p Fm(E)t Fi(\))g(=)g(edom)o(\()p Fm(E)t Fi(\))c Fr(\000)g(f)p Fm(E)t Fr(g)p Fm(;)2152 1775 y Fr(8)p Fm(E)25 b Fr(2)c Fi(edges)q Fm(;)2285 1858 y Fr(8)p Fm(F)32 b Fr(2)21 b Fi(idom)o(\()p Fm(E)t Fi(\))p Fm(;)2418 1941 y Fr(8)p Fm(G)g Fr(2)g Fi(idom\()p Fm(E)t Fi(\))16 b Fr(\000)h(f)p Fm(F)11 b Fr(g)p Fm(;)2550 2024 y Fi(if)56 b Fm(G)21 b Fr(2)h Fi(idom)o(\()p Fm(F)11 b Fi(\))2650 2107 y(idom)o(\()p Fm(E)t Fi(\))21 b(=)g(idom)o(\()p Fm(E)t Fi(\))c Fr(\000)g(f)p Fm(G)p Fr(g)2152 2230 y Fv(The)e(immediate)g(dominator)g(relation)g(forms)g(a)g(forest)f(of)h (trees,)g(where)2040 2313 y(each)21 b(edge)g(in)g(the)f(control-\003o)n (w)h(graph)g(is)f(a)h(node)g(in)g(a)f(tree.)27 b(The)21 b(prede-)2040 2396 y(cessor)i(of)g(each)g(node)h(is)e(its)g(immediate)h (dominator)h(and)f(its)f(successors)2040 2479 y(are)g(those)h(nodes)g (which)f(it)f(immediately)i(dominates.)33 b(W)-6 b(e)22 b(use)g(this)g(tree)2040 2562 y(in)d(the)g(ne)o(xt)g(phase)h(of)f (predicate)g(assertion)h(propagation.)2152 2645 y(F)o(or)k(each)g(edge) h(in)f(the)h(control-\003o)n(w)f(graph,)i(there)e(are)g(a)g(set)g(of)h (as-)2040 2728 y(sertions)f(that)g(we)f(can)h(mak)o(e)h(about)f(the)g (v)n(alues)g(of)g(the)g(predicates.)38 b(F)o(or)2040 2811 y(instance,)23 b(the)f(f)o(alse)g(edge)h(coming)g(out)f(of)g(a)f (node)i(that)f(tested)g(the)g(pred-)2040 2894 y(icate)i Fm(a)31 b Fi(=)g(6)24 b Fv(w)o(ould)h(contain)g(the)f(assertion)g(that) g Fm(a)31 b Fr(6)p Fi(=)g(6)p Fv(.)39 b(In)24 b(addition,)2040 2977 y(the)j(assertions)g(for)g(all)f(of)g(the)h(edge)h(dominators)f (of)g(a)g(particular)g(edge)2040 3061 y(also)d(hold)g(true)g(for)g (that)f(edge,)j(since)e(those)g(edge)h(dominators)f(must)g(be)2040 3144 y(tra)o(v)o(ersed)19 b(in)f(order)h(to)f(reach)h(it.)k(The)18 b(assertion)h(set)f(relation)h(is)f(gi)n(v)o(en)h(by:)2208 3324 y Fi(assertion)q(\()p Fm(E)t Fi(\))i(=)p Fr(f)p Fm(<)p Fi(predicate)q(\(pred)o(\()p Fm(E)t Fi(\)\))p Fm(;)12 b Fi(sense)q(\()p Fm(E)t Fi(\))p Fm(>)p Fr(g)2722 3407 y([)17 b Fi(assertion)r(\(idom)o(\()p Fm(E)t Fi(\)\))2152 3568 y Fv(Each)31 b(element)g(of)f(the)h(assertion)f(set)h(is)f(a)g (tuple)h(of)f(the)h(predicate)2040 3651 y(tested)d Fu (assertion\(E\).pr)m(edicate)h Fv(and)g(the)f(v)n(alue)g(of)g(the)g (pro)o(v)o(en)h(answer)2040 3734 y Fu(assertion\(E\).sense)p Fv(.)2040 3926 y Fw(6.1.3)82 b(Static)28 b(Predicate)f(Prediction)2040 4059 y Fv(No)n(w)22 b(that)g(we)g(ha)o(v)o(e)h(the)f(assertion)g(set)g (for)g(each)h(edge,)h(we)e(are)g(ready)g(to)2040 4142 y(use)27 b(this)g(information)g(to)f(predict)h(statically)g (determinable)g(predicates.)2040 4225 y(In)c(general,)i(the)e(problem)h (of)f(pro)o(ving)h(that)f(a)g(set)g(of)g(assertions)h(implies)2040 4309 y(a)29 b(certain)g(result)f(is)h(NP-complete,)i(ho)n(we)n(v)o(er)m (,)h(there)d(is)f(a)h(small)g(set)f(of)2040 4392 y(rules)18 b(that)f(we)g(can)h(use)g(in)g(practice)f(to)h(pro)o(v)o(e)g(man)o(y)g (assertions)g(about)g(the)2040 4475 y(predicates)f(typically)f(found)h (in)f(pack)o(et)h(\002lters.)k(The)16 b(rules)g(used)h(by)g(BPF+)2040 4558 y(are)i(sho)n(wn)h(in)f(T)-6 b(able)19 b(1.)2152 4641 y(Be)o(yond)j(these)g(fe)n(w)e(entries,)h(a)g(generalized)h (theorem)g(pro)o(v)o(er)g(w)o(ould)2040 4724 y(be)16 b(necessary)g(to)f(mak)o(e)i(more)e(in)m(v)o(olv)o(ed)h(implications)g (from)f(the)h(gi)n(v)o(en)g(set)2040 4807 y(of)i(assertions.)23 b(Ho)n(we)n(v)o(er)m(,)c(it)e(turns)i(out)f(that)g(the)g(most-used)h (implications)2040 4890 y(come)h(from)f(the)g Ff(jeq)f Fv(and)h Ff(jne)f Fv(entries)h(of)g(the)g(table.)2152 4973 y(F)o(or)k(a)g(particular)g(edge)h Fm(E)t Fv(,)f(if)f(the)i (assertions)f(in)g Fu(assertion\(E\))g Fv(stati-)2040 5056 y(cally)18 b(pro)o(v)o(e)h Fu(pr)m(edicate\(succ\(E\)\))g Fv(to)f(be)h(true)f(or)g(f)o(alse,)g(then)h(on)f(this)g(path,)2040 5139 y(edge)h Fm(E)i Fv(may)d(bypass)h(the)f(redundant)h(predicate)g (and)f(we)g(may)g(remap)g(the)p 2040 5201 V 2112 5249 a Fq(8)2145 5274 y Fp(The)12 b(f)o(act)h(that)f(BPF+)h(\003o)o(wgraphs) f(are)h(ac)o(yclic)f(allo)o(ws)g(us)g(to)h(compute)g(this)f(\003o)o(w)g (equation)2040 5340 y(in)j(O\()p Fe(j)p Fl(E)s Fe(j)p Fp(\))f(time.)p eop %%Page: 8 8 8 7 bop -31 -72 1753 4 v -33 -6 4 67 v 632 -25 a Fd(Input)p 1433 -6 V 1448 -6 V 725 w(Output)p 1719 -6 V -31 -2 1753 4 v -33 64 4 67 v 160 44 a Fc(Assertion)p 569 64 V 234 w(Sense)p 832 64 V 832 64 V 274 w(Pr)n(edicate)p 1433 64 V 1448 64 V 248 w(Sense)p 1719 64 V -31 67 1753 4 v -33 134 4 67 v 13 114 a Fp(jeq)90 b(#lv)o(al)g(#rv)o(al)p 569 134 V 118 w(TR)n(UE)p 832 134 V 112 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 134 V 1448 134 V 134 w(TR)n(UE)p 1719 134 V -33 200 V 13 180 a(jeq)h(#lv)o(al)g(#rv)o(al)p 569 200 V 118 w(TR)n(UE)p 832 200 V 112 w(jne)g(#lv)o(al)f(#rv)o(al)p 1433 200 V 1448 200 V 134 w(F)l(ALSE)p 1719 200 V -33 267 V 13 247 a(jeq)h(#lv)o(al)g(#rv)o(al)p 569 267 V 118 w(TR)n(UE)p 832 267 V 112 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 267 V 1448 267 V 134 w(F)l(ALSE)p 1719 267 V -33 333 V 13 313 a(jeq)h(#lv)o(al)g(#rv)o(al)p 569 333 V 118 w(TR)n(UE)p 832 333 V 112 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 333 V 1448 333 V 134 w(F)l(ALSE)p 1719 333 V -33 400 V 13 380 a(jeq)h(#lv)o(al)g(#rv)o(al)p 569 400 V 118 w(F)l(ALSE)p 832 400 V 89 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 400 V 1448 400 V 134 w(F)l(ALSE)p 1719 400 V -33 466 V 13 446 a(jeq)h(#lv)o(al)g(#rv)o(al)p 569 466 V 118 w(F)l(ALSE)p 832 466 V 89 w(jne)g(#lv)o(al)f(#rv)o(al)p 1433 466 V 1448 466 V 134 w(TR)n(UE)p 1719 466 V -33 532 V 13 512 a(jeq)h(#lv)o(al)g(#rv)o(al1)p 569 532 V 89 w(TR)n(UE)p 832 532 V 112 w(jeq)g(#lv)o(al)f(#rv)o(al2)p 1433 532 V 1448 532 V 105 w(F)l(ALSE)p 1719 532 V -31 536 1753 4 v -33 602 4 67 v 13 582 a(jne)h(#lv)o(al)g(#rv)o(al)p 569 602 V 118 w(TR)n(UE)p 832 602 V 112 w(jne)g(#lv)o(al)f(#rv)o(al)p 1433 602 V 1448 602 V 134 w(TR)n(UE)p 1719 602 V -33 669 V 13 649 a(jne)h(#lv)o(al)g(#rv)o(al)p 569 669 V 118 w(TR)n(UE)p 832 669 V 112 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 669 V 1448 669 V 134 w(F)l(ALSE)p 1719 669 V -33 735 V 13 715 a(jne)h(#lv)o(al)g(#rv)o(al)p 569 735 V 118 w(F)l(ALSE)p 832 735 V 89 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 735 V 1448 735 V 134 w(TR)n(UE)p 1719 735 V -33 801 V 13 781 a(jne)h(#lv)o(al)g(#rv)o(al)p 569 801 V 118 w(F)l(ALSE)p 832 801 V 89 w(jne)g(#lv)o(al)f(#rv)o(al)p 1433 801 V 1448 801 V 134 w(F)l(ALSE)p 1719 801 V -33 868 V 13 848 a(jne)h(#lv)o(al)g(#rv)o(al1)p 569 868 V 89 w(F)l(ALSE)p 832 868 V 89 w(jne)g(#lv)o(al)f(#rv)o(al2)p 1433 868 V 1448 868 V 105 w(TR)n(UE)p 1719 868 V -31 871 1753 4 v -33 938 4 67 v 13 918 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 938 V 118 w(TR)n(UE)p 832 938 V 112 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 938 V 1448 938 V 134 w(TR)n(UE)p 1719 938 V -33 1004 V 13 984 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 1004 V 118 w(TR)n(UE)p 832 1004 V 112 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 1004 V 1448 1004 V 134 w(F)l(ALSE)p 1719 1004 V -33 1070 V 13 1050 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 1070 V 118 w(TR)n(UE)p 832 1070 V 112 w(jge)g(#lv)o(al)f(#rv)o(al)p 1433 1070 V 1448 1070 V 134 w(F)l(ALSE)p 1719 1070 V -33 1137 V 13 1117 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 1137 V 118 w(TR)n(UE)p 832 1137 V 112 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 1137 V 1448 1137 V 134 w(F)l(ALSE)p 1719 1137 V -33 1203 V 13 1183 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 1203 V 118 w(F)l(ALSE)p 832 1203 V 89 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 1203 V 1448 1203 V 134 w(F)l(ALSE)p 1719 1203 V -33 1270 V 13 1250 a(jlt)113 b(#lv)o(al)90 b(#rv)o(al)p 569 1270 V 118 w(F)l(ALSE)p 832 1270 V 89 w(jge)g(#lv)o(al)f(#rv)o(al)p 1433 1270 V 1448 1270 V 134 w(TR)n(UE)p 1719 1270 V -31 1273 1753 4 v -33 1339 4 67 v 13 1319 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1339 V 118 w(TR)n(UE)p 832 1339 V 112 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 1339 V 1448 1339 V 134 w(TR)n(UE)p 1719 1339 V -33 1406 V 13 1386 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1406 V 118 w(TR)n(UE)p 832 1406 V 112 w(jeq)g(#lv)o(al)f(#rv)o(al)p 1433 1406 V 1448 1406 V 134 w(F)l(ALSE)p 1719 1406 V -33 1472 V 13 1452 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1472 V 118 w(TR)n(UE)p 832 1472 V 112 w(jle)103 b(#lv)o(al)89 b(#rv)o(al)p 1433 1472 V 1448 1472 V 134 w(F)l(ALSE)p 1719 1472 V -33 1539 V 13 1519 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1539 V 118 w(TR)n(UE)p 832 1539 V 112 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 1539 V 1448 1539 V 134 w(F)l(ALSE)p 1719 1539 V -33 1605 V 13 1585 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1605 V 118 w(F)l(ALSE)p 832 1605 V 89 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 1605 V 1448 1605 V 134 w(F)l(ALSE)p 1719 1605 V -33 1671 V 13 1652 a(jgt)100 b(#lv)o(al)90 b(#rv)o(al)p 569 1671 V 118 w(F)l(ALSE)p 832 1671 V 89 w(jle)103 b(#lv)o(al)89 b(#rv)o(al)p 1433 1671 V 1448 1671 V 134 w(TR)n(UE)p 1719 1671 V -31 1675 1753 4 v -33 1741 4 67 v 13 1721 a(jle)103 b(#lv)o(al)90 b(#rv)o(al)p 569 1741 V 118 w(TR)n(UE)p 832 1741 V 112 w(jle)103 b(#lv)o(al)89 b(#rv)o(al)p 1433 1741 V 1448 1741 V 134 w(TR)n(UE)p 1719 1741 V -33 1808 V 13 1788 a(jle)103 b(#lv)o(al)90 b(#rv)o(al)p 569 1808 V 118 w(TR)n(UE)p 832 1808 V 112 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 1808 V 1448 1808 V 134 w(F)l(ALSE)p 1719 1808 V -33 1874 V 13 1854 a(jle)103 b(#lv)o(al)90 b(#rv)o(al)p 569 1874 V 118 w(F)l(ALSE)p 832 1874 V 89 w(jle)103 b(#lv)o(al)89 b(#rv)o(al)p 1433 1874 V 1448 1874 V 134 w(F)l(ALSE)p 1719 1874 V -33 1940 V 13 1921 a(jle)103 b(#lv)o(al)90 b(#rv)o(al)p 569 1940 V 118 w(F)l(ALSE)p 832 1940 V 89 w(jgt)100 b(#lv)o(al)89 b(#rv)o(al)p 1433 1940 V 1448 1940 V 134 w(TR)n(UE)p 1719 1940 V -31 1944 1753 4 v -33 2010 4 67 v 13 1990 a(jge)h(#lv)o(al)g(#rv)o(al)p 569 2010 V 118 w(TR)n(UE)p 832 2010 V 112 w(jge)g(#lv)o(al)f(#rv)o(al)p 1433 2010 V 1448 2010 V 134 w(TR)n(UE)p 1719 2010 V -33 2077 V 13 2057 a(jge)h(#lv)o(al)g(#rv)o(al)p 569 2077 V 118 w(TR)n(UE)p 832 2077 V 112 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 2077 V 1448 2077 V 134 w(F)l(ALSE)p 1719 2077 V -33 2143 V 13 2123 a(jge)h(#lv)o(al)g(#rv)o(al)p 569 2143 V 118 w(F)l(ALSE)p 832 2143 V 89 w(jge)g(#lv)o(al)f(#rv)o(al)p 1433 2143 V 1448 2143 V 134 w(F)l(ALSE)p 1719 2143 V -33 2209 V 13 2190 a(jge)h(#lv)o(al)g(#rv)o(al)p 569 2209 V 118 w(F)l(ALSE)p 832 2209 V 89 w(jlt)113 b(#lv)o(al)89 b(#rv)o(al)p 1433 2209 V 1448 2209 V 134 w(TR)n(UE)p 1719 2209 V -31 2213 1753 4 v -33 2279 4 67 v 438 2259 a(All)15 b(other)g(inputs)f(return)i(\223unde\002ned\224)p 1719 2279 V -31 2283 1753 4 v 121 2428 a Fv(T)-6 b(able)19 b(1:)k Ft(Lookup)c(T)-9 b(ab)o(le)18 b(f)n(or)i(Predicate)e(Algebr)o (a.)-152 2616 y Fv(edge')l(s)j(successor)h(to)e(the)g(predicted)h (child)g(of)f Fu(succ\(E\))p Fv(.)g(W)-6 b(e)19 b(may)i(do)g(this)-152 2699 y(only)26 b(with)f(the)h(guarantee)g(that)g(the)f(edge)h(mo)o(v)o (ement)h(does)f(not)f(violate)-152 2782 y(data)i(dependencies)h(that)e (occur)h(later)f(on)g(in)h(the)f(\003o)n(w)g(graph.)45 b(Speci\002-)-152 2865 y(cally)-5 b(,)25 b(if)e(an)o(y)i(re)o(gisters)e (de\002ned)i(in)e(the)h(node)h(to)f(be)g(bypassed)h(are)f(used)-152 2948 y(by)c(an)o(y)f(other)h(node)g(on)f(the)h(predicted)f(path,)h(we)e (must)i(forbid)f(the)g(mo)o(v)o(e-)-152 3031 y(ment.)24 b(More)19 b(formally)-5 b(,)19 b(the)g(algorithm)g(looks)h(lik)o(e)f (this:)-40 3190 y Fr(8)p Fm(E)25 b Fr(2)d Fi(edges)p Fm(;)93 3273 y Fr(8)p Fi(\(pred)o Fm(;)13 b Fi(sense)q(\))21 b Fr(2)h Fi(assertion)q(\()p Fm(E)t Fi(\))p Fm(;)159 3356 y Fb(let)e Fm(N)30 b Fi(=)21 b(succ\()p Fm(E)t Fi(\))p Fm(;)259 3439 y(P)32 b Fi(=)21 b(predicate\()p Fm(N)8 b Fi(\))p Fm(;)159 3522 y Fb(in)259 3605 y(if)18 b Fm(tabl)q(e)p Fi(\(pred)o Fm(;)13 b Fi(sense)q Fm(;)g(P)e Fi(\))21 b(=)g(TR)n(UE)325 3688 y(succ)q(\()p Fm(E)t Fi(\))f(=)h(succ)q(\(true)o (\()p Fm(N)8 b Fi(\)\))259 3771 y Fb(if)18 b Fm(tabl)q(e)p Fi(\(pred)o Fm(;)13 b Fi(sense)q Fm(;)g(P)e Fi(\))21 b(=)g(F)-9 b(ALSE)325 3854 y(succ)q(\()p Fm(E)t Fi(\))20 b(=)h(succ)q(\(false)q(\()p Fm(N)8 b Fi(\)\))-40 3978 y Fv(The)26 b(combination)i(of)e(partial)g(redundanc)o(y)i (elimination,)g(predicate)-152 4061 y(assertion)i(propagation,)j(and)d (static)f(predicate)h(prediction)g(is)f(repeated)-152 4144 y(until)23 b(there)g(are)f(no)i(ne)n(w)f(changes.)36 b(Each)22 b(data-\003o)n(w)h(phase)h(remo)o(v)o(es)f(its)-152 4227 y(o)n(wn)i(redundancies,)j(and)d(in)f(doing)i(so,)g(e)o(xposes)f (ne)n(w)g(redundancies)i(to)-152 4310 y(be)c(remo)o(v)o(ed)h(by)g(the)e (ne)o(xt)i(phase.)35 b(P)o(artial)22 b(redundanc)o(y)j(elimination)e (re-)-152 4393 y(mo)o(v)o(es)c(data)g(dependencies)h(that)f(might)f (inhibit)g(edge)h(remo)o(v)n(al,)g(whereas)-152 4476 y(static)g(predicate)g(prediction)h(e)o(xposes)g(ne)n(wly)f(redundant)i (computation.)-152 4668 y Fw(6.2)83 b(P)n(eephole)27 b(Optimizations)-152 4802 y Fv(During)17 b(each)f(round)h(of)f(the)g (redundant)h(predicate)g(optimization,)f(we)g(per)o(-)-152 4885 y(form)k(peephole)i(optimizations)f(on)g(code)f(within)g(each)h (basic)g(block.)27 b(F)o(or)-152 4968 y(e)o(xample,)f(an)e(ALU)f (operation)i(with)f(an)g(identity)g(may)h(be)f(remo)o(v)o(ed.)39 b(A)-152 5051 y(load)29 b(from)g(a)f(scratch)h(memory)h(location)f (preceded)h(by)f(a)f(store)h(to)g(the)-152 5134 y(same)d(location)g (may)g(be)f(changed)i(into)f(a)f(cop)o(y)i(operation.)43 b(An)26 b(add)g(or)-152 5217 y(subtract)18 b(immediate)g(instruction)g (follo)n(wed)g(by)g(an)g(indirect)f(load)h(may)g(be)-152 5300 y(mer)o(ged)i(with)e(the)h(b)o(uilt-in)f(inde)o(x)i(calculation.) 2152 -69 y(Ne)o(xt,)25 b(we)e(use)h(cop)o(y)h(propagation)g(to)f(track) g(computations)h(on)f(con-)2040 14 y(stants)18 b(as)g(the)o(y)h(mo)o(v) o(e)g(through)g(the)f(control-\003o)n(w)h(graph.)24 b(When)18 b(we)g(ha)o(v)o(e)2040 97 y(re)o(gister)o(-re)o(gister)f(operations)h (in)g(which)g(one)g(of)f(the)h(re)o(gisters)f(is)h(a)f(kno)n(wn)2040 180 y(constant,)f(we)e(can)h(transform)g(the)g(operation)g(into)g(its)e (equi)n(v)n(alent)j(re)o(gister)o(-)2040 263 y(immediate)j(form)g (\(pro)o(vided)h(that)f(either)g(the)g(operation)h(is)e(commutati)n(v)o (e)2040 346 y(or)i(the)g(transformation)h(does)g(not)g(change)g(the)f (order)h(of)f(the)g(ar)o(guments\).)2040 429 y(When)f(both)f(v)n(alues) h(\(either)f(both)h(re)o(gisters)f(or)h(the)f(re)o(gister)g(in)g(a)g (re)o(gister)o(-)2040 512 y(immediate)k(instruction\))g(are)f(kno)n (wn,)i(we)e(may)h(perform)g(constant)g(fold-)2040 596 y(ing)16 b(to)h(turn)f(the)g(instruction)h(into)f(a)g(load)g(immediate) h(of)f(a)g(constant)h(v)n(alue.)2152 679 y(These)25 b(optimizations)g (play)g(an)g(important)g(role)g(in)f(minimizing)h(the)2040 762 y(computation)d(performed.)29 b(Consider)21 b(the)g(follo)n(wing)g (e)o(xample)h(of)e(unop-)2040 845 y(timized)f(BPF+)f(code)h(for)g(the)g (\002lter)f(\223tcp[13])i(&)e(7)i(!=)e(0\224:)2737 992 y Fp(lh)129 b([12],)15 b(r0)2737 1058 y(jne)103 b(r0,)14 b(#ETHER)m(TYPE)p 3352 1058 18 4 v 18 w(IP)-6 b(,)14 b(L19)2737 1125 y(lb)129 b([23],)15 b(r1)2737 1191 y(jne)103 b(r1,)14 b(#IPPR)n(O)n(T)o(O)p 3257 1191 V 21 w(TCP)-6 b(,)13 b(L19)2737 1258 y(lh)129 b([20],)15 b(r2)2737 1324 y(and)90 b(r2,)14 b(0x1f)o(f)o(f,)h(r3)2737 1390 y(jne)103 b(r3,)14 b(0x0,)g(L19)2538 1457 y(L7:)118 b(li)142 b(#13,)14 b(r4)2737 1523 y(lb)129 b([14],)15 b(r5)2737 1590 y(and)90 b(r5,)14 b(0xf,)h(r6)2737 1656 y(lsh)106 b(r6,)14 b(0x2,)g(r7)2538 1723 y(L11:)89 b(add)h(r4,)14 b(r7,)h(r8)2538 1789 y(L12:)89 b(lb)129 b([r8)15 b(+)f(14],)h(r9)2538 1855 y(L13:)89 b(li)142 b(#7,)14 b(r10)2737 1922 y(and)90 b(r9,)14 b(r10,)h(r11)2538 1988 y(L15:)89 b(li)142 b(#0,)14 b(r12)2538 2055 y(L16:)89 b(sub)k(r11,)14 b(r12,)h(r13)2737 2121 y(jeq)103 b(r13,)14 b(0x0,)g(L19)2737 2187 y(ret)113 b(#TR)n(UE)2538 2254 y(L19:)89 b(ret)113 b(#F)l(ALSE)2152 2410 y Fv(Line)19 b(L7)g(sho)n(ws)h(a)f Fu(load)h(immediate)g Fv(instruction)f(that)g(is)g(used)h(in)g(line)2040 2493 y(L11)i(to)f(load)h(the)g Fi(13)2600 2461 y Fs(th)2684 2493 y Fv(byte)g(of)f(the)h(TCP)e(header)l(.)32 b(Since)21 b Fu(add)h Fv(is)g(a)f(com-)2040 2576 y(mutati)n(v)o(e)h(operator)m(,)g (we)f(can)h(replace)g(the)f(reference)h(to)f Fm(r)r Fi(4)h Fv(with)e(the)i(im-)2040 2659 y(mediate)h(v)n(alue)g(13)f(and)h(change) h(the)e(instruction)h(to)f(an)h Fu(add)g(immediate)p Fv(.)2040 2742 y(Since)k(line)f(L11)h(is)f(follo)n(wed)i(by)f(a)f Fu(load)i(byte)f(indir)m(ect)g Fv(instruction)g(on)2040 2825 y(line)17 b(L12,)g(we)f(can)i(fold)e(in)h(the)g(immediate)g(13)g (into)g(the)g(inde)o(x)g(of)g(the)g Fu(load)2040 2908 y(byte)i(indir)m(ect)h Fv(\(to)e(get)h(27\))h(and)f(remo)o(v)o(e)h (line)e(L11)h(from)g(the)g(code.)2152 2991 y(On)i(line)g(L13,)g(we)f (notice)i(another)f Fu(load)h(immediate)e Fv(that)h(is)f(used)i(on)2040 3074 y(the)c(ne)o(xt)g(line.)23 b(Since)17 b Fu(and)i Fv(is)e(a)h(commutati)n(v)o(e)h(operator)m(,)f(we)g(can)g(perform)2040 3157 y(constant)26 b(propagation)h(again)f(and)g(replace)h(the)e (reference)h(to)g Fm(r)r Fi(10)g Fv(with)2040 3240 y(the)c(immediate)g (7.)32 b(On)22 b(line)g(L15,)g(there)g(is)f(a)h Fu(load)g(immediate)g Fv(that)g(may)2040 3323 y(be)d(remo)o(v)o(ed)g(by)g(constant)g (propagation.)25 b(But)18 b(after)g(its)g(substitution,)h(line)2040 3406 y(L16)26 b(becomes)h(a)f Fu(subtr)o(act)g(immediate)g Fv(instruction)g(\227)g(subtracting)g(the)2040 3489 y(constant)c(#0)g (from)f Fm(r)r Fi(11)p Fv(.)30 b(W)-6 b(e)21 b(notice)g(that)g(this)g (is)g(an)g(ALU)g(operation)h(by)2040 3572 y(an)h(identity)-5 b(,)23 b(and)h(therefore)f(can)g(be)g(remo)o(v)o(ed)g(completely)-5 b(.)36 b(Here)22 b(is)g(the)2040 3655 y(code)16 b(after)f(all)g(of)g (these)h(peephole)h(optimizations)f(ha)o(v)o(e)f(been)i(performed:)2737 3802 y Fp(lh)129 b([12],)15 b(r0)2737 3869 y(jne)103 b(r0,)14 b(#ETHER)m(TYPE)p 3352 3869 V 18 w(IP)-6 b(,)14 b(L14)2737 3935 y(lb)129 b([23],)15 b(r1)2737 4002 y(jne)103 b(r1,)14 b(#IPPR)n(O)n(T)o(O)p 3257 4002 V 21 w(TCP)-6 b(,)13 b(L14)2737 4068 y(lh)129 b([20],)15 b(r2)2737 4134 y(and)90 b(r2,)14 b(0x1f)o(f)o(f,)h(r3)2737 4201 y(jne)103 b(r3,)14 b(0x0,)g(L14)2737 4267 y(lb)129 b([14],)15 b(r5)2737 4334 y(and)90 b(r5,)14 b(0xf,)h(r6)2737 4400 y(lsh)106 b(r6,)14 b(0x2,)g(r7)2737 4466 y(lb)129 b([r7)15 b(+)f(27],)h(r9)2737 4533 y(and)90 b(r9,)14 b(0x7,)g(r11)2737 4599 y(jeq)103 b(r11,)14 b(0x0,)g(L14)2737 4666 y(ret)113 b(#TR)n(UE)2538 4732 y(L14:)89 b(ret)113 b(#F)l(ALSE)2040 4922 y Fw(6.3)82 b(Lo)r(okup)28 b(T)-7 b(able)28 b(Encapsulation)2040 5055 y Fv(The)21 b(e)o(xample)h(abo)o(v)o(e)g(sho)n(wed)g(ho)n(w)f (redundant)i(loads)e(can)h(be)f(remo)o(v)o(ed.)2040 5138 y(These)i(opportunities)i(arise)e(often)g(in)g(e)o(xpressions)h(that)f (check)h(a)f(pack)o(et)2040 5221 y(\002eld)18 b(against)h(a)f(set)h(of) f(possibilities,)h(as)f(in)h Fu(ip)f(sr)m(c)h(host)g(A)f(or)h(B)f(or)h (C)p Fv(.)e(The)2040 5304 y(code)j(generator)g(output)f(for)g(this)g(e) o(xpression)h(is:)p eop %%Page: 9 9 9 8 bop 552 -105 a Fp(lh)115 b([12],)15 b(r0)552 -39 y(jne)89 b(r0,)15 b(#ETHER)m(TYPE)p 1154 -39 18 4 v 18 w(IP)-6 b(,)14 b(L4)552 28 y(ld)115 b([26],)15 b(r1)552 94 y(jeq)89 b(r1,)15 b(#A,)f(L13)352 160 y(L4:)119 b(lh)c([12],)15 b(r2)552 227 y(jne)89 b(r2,)15 b(#ETHER)m(TYPE)p 1154 227 V 18 w(IP)-6 b(,)14 b(L8)552 293 y(ld)115 b([26],)15 b(r3)552 360 y(jeq)89 b(r3,)15 b(#B,)f(L13)352 426 y(L8:)119 b(lh)c([12],)15 b(r4)552 493 y(jne)89 b(r4,)15 b(#ETHER)m(TYPE)p 1154 493 V 18 w(IP)-6 b(,)14 b(L12)552 559 y(ld)115 b([26],)15 b(r5)552 625 y(jeq)89 b(r5,)15 b(#C,)f(L13)352 692 y(L12:)90 b(ret)99 b(#F)l(ALSE)352 758 y(L13:)90 b(ret)99 b(#TR)n(UE)-40 854 y Fv(After)14 b(peephole)i(optimization)f(and)g(redundanc)o(y)i (elimination)e(phases)-152 937 y(ha)o(v)o(e)k(completed,)h(the)f (\002lter)f(has)h(been)h(reduced)g(to)f(the)g(follo)n(wing:)552 1084 y Fp(lh)115 b([12],)15 b(r0)552 1151 y(jne)89 b(r0,)15 b(#ETHER)m(TYPE)p 1154 1151 V 18 w(IP)-6 b(,)14 b(L6)552 1217 y(ld)115 b([26],)15 b(r1)381 1283 y(L3:)90 b(jeq)f(r1,)15 b(#A,)f(L7)552 1350 y(jeq)89 b(r1,)15 b(#B,)f(L7)552 1416 y(jeq)89 b(r1,)15 b(#C,)f(L7)381 1483 y(L6:)90 b(ret)99 b(#F)l(ALSE)381 1549 y(L7:)90 b(ret)99 b(#TR)n(UE)-40 1645 y Fv(Note)33 b(the)f(contiguous)i(sequence)g(of)e(conditional)i (branches)f(start-)-152 1728 y(ing)c(at)e(line)h(L3.)50 b(W)-6 b(e)28 b(can)g(optimize)g(this)g(linear)g(chain)h(of)f (conditional)-152 1811 y(branches,)c(especially)f(when)f(the)g(chain)h (is)f(long,)h(by)f(arranging)h(it)f(into)g(a)-152 1894 y(lookup)29 b(table)e(instruction.)49 b(In)28 b(general,)i(to)d (identify)h(potential)f(lookup)-152 1977 y(tables,)34 b(we)d(tra)o(v)o(erse)g(the)g(control-\003o)n(w)h(graph)g(looking)g (for)f(chains)h(of)-152 2060 y(blocks)23 b(containing)g(only)f (conditional)h(branches.)32 b(Lookup)23 b(table)f(chains)-152 2143 y(ha)o(v)o(e)28 b(the)f(follo)n(wing)g(properties:)41 b(the)27 b(chain')l(s)g(backbone)i(is)e(link)o(ed)h(by)-152 2226 y(all)22 b(f)o(alse)g(or)h(all)e(true)h(branches;)j(all)d(of)g (the)h(other)f(branches)i(point)e(to)h(the)-152 2309 y(same)c(e)o(xit)e(node;)i(each)g(element)f(of)g(the)g(chain)h (dominates)g(the)f(rest)g(of)g(the)-152 2392 y(chain;)h(and)f(all)g(of) g(the)g(conditional)h(branches)g(in)e(the)h(chain)h(test)e(the)h(same) -152 2475 y(v)n(alue.)24 b(The)17 b(e)o(xample)h(code)h(after)e(lookup) i(table)e(enscapulation)j(is)d(sho)n(wn)-152 2558 y(belo)n(w:)499 2690 y Fp(lh)221 b([12],)15 b(r0)499 2756 y(jne)195 b(r0,)14 b(#ETHER)m(TYPE)p 1206 2756 V 18 w(IP)-6 b(,)15 b(L4)499 2823 y(ld)221 b([26],)15 b(r1)499 2889 y(or)g(table)90 b(r1,)14 b(#A,)g(#B,)g(#C,)g(L5)329 2956 y(L4:)89 b(ret)205 b(#F)l(ALSE)329 3022 y(L5:)89 b(ret)205 b(#TR)n(UE)-40 3118 y Fv(While)17 b(this)g(approach)h(\002nds)g(most)f(of)g(the)g (lookup)i(tables,)e(we)g(can)h(e)o(x-)-152 3201 y(pose)j(more)g(lookup) g(table)f(chains)h(by)f(reordering)i(the)e(constituent)h(nodes)-152 3284 y(of)h(a)g(more)g(general)h(chain.)32 b(Ho)n(we)n(v)o(er)m(,)23 b(we)f(may)g(only)g(reorder)h(a)e(node)i(if)-152 3367 y(there)h(are)g(no)h(data)f(dependencies)i(that)e(w)o(ould)h(be)f (altered.)38 b(W)-6 b(e)24 b(can)g(re-)-152 3450 y(quire)19 b(that)g(the)g(block)h(to)e(be)h(mo)o(v)o(ed)h(be)f(empty)h(of)f(all)f (computation,)i(sa)o(v)o(e)-152 3533 y(the)i(\002nal)f(conditional)i (branch.)32 b(This)21 b(is)g(not)h(as)f(restricti)n(v)o(e)g(as)h(it)f (sounds,)-152 3616 y(due)f(to)f(the)g(ef)n(fecti)n(v)o(eness)h(of)e (our)i(partial)e(redundanc)o(y)j(elimination.)-40 3699 y(Once)31 b(the)f(lookup)i(tables)e(ha)o(v)o(e)g(been)h(abstracted,)i (heuristics)e(\(de-)-152 3782 y(scribed)21 b(later\))f(can)h(turn)f (them)h(into)f(combinations)i(of)f(linear)f(search,)h(bi-)-152 3865 y(nary)26 b(search)f(and)g(hashtable)h(lookup.)41 b(Thus,)26 b(we)f(incorporate)h(the)e(core)-152 3948 y(design)17 b(structure)f(and)h(optimizations)f(of)g(P)o(athFinder)g (and)g(DPF)f(as)h(a)g(lo)n(w-)-152 4031 y(le)n(v)o(el)j(optimization)h (at)e(the)h(tail)g(end)g(of)g(our)g(optimization)h(frame)n(w)o(ork.) -152 4223 y Fw(6.4)83 b(Register)27 b(Allo)r(cation)g(and)h(Assignment) -152 4357 y Fv(Before)19 b(we)f(run)g(our)h(intermediate)g(code)g(on)f (the)h(BPF+)e(virtual)h(machine,)-152 4440 y(we)f(must)g(map)h(the)f (virtual)f(re)o(gisters)h(that)g(remain)g(in)g(the)g(optimized)h(code) -152 4523 y(into)h(the)g(32)h(real)e(re)o(gisters)h(a)o(v)n(ailable)g (in)g(the)g(virtual)g(machine.)-40 4606 y(W)-6 b(e)23 b(use)h(a)f(graph-b)o(uilding)i(algorithm)f(to)f(perform)h(this)f (task.)36 b(Each)-152 4689 y(re)o(gister)22 b(is)g(represented)i(by)e (a)h(node)g(in)f(a)g(graph.)35 b(F)o(or)21 b(each)i(re)o(gister)m(,)g (we)-152 4772 y(compute)i(a)e(li)n(v)o(eness)h(range)h(\(i.e.,)e(a)g (lifetime\),)h(which)g(is)f(the)g(list)g(of)g(ba-)-152 4855 y(sic)28 b(blocks)g(between)g(a)g(re)o(gister')l(s)f(de\002nition) g(and)h(its)f(last)g(use.)49 b(When)-152 4938 y(tw)o(o)17 b(re)o(gisters)g(ha)o(v)o(e)g(o)o(v)o(erlapping)i(lifetimes,)d(we)h (place)g(an)g(edge)h(between)-152 5021 y(them.)25 b(This)19 b(results)g(in)g(an)h Fu(interfer)m(ence)g(gr)o(aph)p Fv(.)26 b(The)19 b(re)o(gisters)h(in)f(a)g(con-)-152 5104 y(nected)29 b(subgraph)g(of)f(the)g(interference)g(graph)h(ha)o(v) o(e)f(lifetimes)f(that)h(in-)-152 5187 y(terfere)22 b(with)f(one)h (another)m(,)h(although)g(the)o(y)f(might)g(not)g(all)g(be)g(li)n(v)o (e)f(at)h(the)-152 5270 y(same)e(time.)2152 -69 y(Each)28 b(subgraph')l(s)h(virtual)e(re)o(gisters)g(may)h(be)g(mapped)h(to)e (physical)2040 14 y(re)o(gisters)f(independently)j(of)d(the)h(other)f (subgraphs)i(because)g(their)e(life-)2040 97 y(times)j(do)h(not)g (intersect.)54 b(T)-6 b(w)o(o)30 b(virtual)f(re)o(gisters)g(in)g(a)h (subgraph)h(may)2040 180 y(be)d(assigned)i(to)e(the)g(same)g(physical)h (re)o(gister)e(if)h(there)g(is)g(no)g(edge)h(be-)2040 263 y(tween)24 b(them.)40 b(W)-6 b(e)23 b(use)i(a)f(graph)h(coloring)g (scheme)g(to)f(perform)h(this)f(as-)2040 346 y(signment)c([3].)2152 429 y(W)-6 b(e)28 b(ha)o(v)o(e)g(little)g(w)o(orry)g(that)g(we)h(will)e (run)i(out)f(of)g(virtual)g(machine)2040 512 y(re)o(gisters)18 b(because)h(the)e(size)h(of)g(each)g(subgraph)i(is)d(typically)h(small) f(and)i(is)2040 596 y(generally)i(bounded)h(by)f(the)f(size)g(of)g(the) g(lar)o(gest)g(predicate.)27 b(In)20 b(addition,)2040 679 y(re)o(gisters)c(often)h(ha)o(v)o(e)g(short)g(lifetimes)f(because)h (after)f(optimization,)i(their)2040 762 y(predicates)g(are)f(computed)i (and)f(used)g(only)g(once.)24 b(In)17 b(f)o(act,)g(most)h(re)o(gisters) 2040 845 y(are)29 b(li)n(v)o(e)g(in)h(only)g(one)f(basic)h(block.)55 b(Those)30 b(that)f(li)n(v)o(e)g(longer)h(tend)f(to)2040 928 y(occur)c(in)f(OR)g(and)h(AND)f(chains)g(which)h(ha)o(v)o(e)f (already)h(been)g(collapsed)2040 1011 y(into)19 b(lookup)h(tables)f(by) h(the)f(lookup)h(table)f(encapsulation)h(phase.)2040 1211 y Fw(7)82 b(The)28 b(Back)e(End)2040 1372 y(7.1)82 b(Safet)n(y)28 b(V)n(eri\014er)2040 1505 y Fv(Since)19 b(the)g(BPF+)e(\002lter)h(code)i(interpreter)f(is)f(run)i(in)e(a)h (protected)h(domain,)2040 1588 y(the)i(v)n(alidity)h(of)f(the)g (program)h(must)g(be)f(check)o(ed.)35 b(A)22 b(user)g(task)h(must)f(be) 2040 1671 y(pre)n(v)o(ented)g(from)f(installing)g(a)f(program)i(that)f (w)o(ould)g(e)o(x)o(ecute)h(an)f(in\002nite)2040 1754 y(loop,)16 b(or)f(w)o(ould)h(cause)f(memory)h(f)o(aults)f(by)g (reading,)i(writing,)e(or)g(jumping)2040 1837 y(out)k(of)g(bounds.)2152 1920 y(In)25 b(a)g(program,)i(a)e(loop)h(is)f(represented)h(as)f(a)g (jump)g(to)g(a)g(pre)n(viously)2040 2003 y(e)o(x)o(ecuted)19 b(piece)g(of)f(code.)24 b(In)18 b(most)h(correct)f(programs,)h(each)g (iteration)f(of)2040 2086 y(the)g(loop)h(will)e(check)i(a)f(predicate)g (to)g(determine)h(whether)f(to)g(continue)h(or)2040 2169 y(e)o(xit)e(out)f(of)h(the)g(loop.)23 b(Ho)n(we)n(v)o(er)m(,)17 b(in)g(general,)g(the)g(v)n(alue)h(of)e(this)h(predicate)2040 2252 y(cannot)j(be)g(predicted)g(at)e(compile-time,)i(and)f(is)g(often) h(dependent)h(on)e(the)2040 2335 y(inputs)k(to)f(the)g(program.)34 b(Since)22 b(an)o(y)h(program)g(that)f(runs)g(in)g(a)h(protected)2040 2418 y(domain)d(must)g(terminate,)f(and)h(since)g(the)f(protected)h (domain)h(should)f(not)2040 2501 y(trust)25 b(user)g(code,)j(we)d(must) g(be)h(able)f(to)g(identify)h(which)f(programs)h(will)2040 2584 y(loop)18 b(fore)n(v)o(er)h(and)f(which)g(will)f(terminate.)22 b(Consequently)-5 b(,)20 b(the)e(protected)2040 2667 y(domain)g(must)g(solv)o(e)f(the)h Fu(halting)g(pr)m(oblem)f Fv(when)h(accepting)h(a)e(\002lter)f(pro-)2040 2750 y(gram.)33 b(In)23 b(general,)g(this)f(is)g(intractable,)h(b)o(ut)f(by)h(adopting) g(f)o(airly)f(benign)2040 2833 y(restrictions,)31 b(v)o(eri\002cation)d (can)h(be)g(made)g(tri)n(vial.)52 b(Namely)-5 b(,)31 b(\002lter)c(pro-)2040 2917 y(grams)19 b(must)g(be)h(ac)o(yclic,)e (with)h(all)f(branches)j(forw)o(ardly)e(directed.)3843 2885 y Fs(9)2152 3000 y Fv(Further)i(v)o(eri\002cation)g(entails)g (checking)i(that)e(all)f(opcodes)j(are)e(v)n(alid,)2040 3083 y(that)h(all)f(jumps)h(are)f(forw)o(ard)i(and)f(within)f(bounds,)j (that)d(the)h(terminating)2040 3166 y(operation)29 b(is)f(a)g(return)g (instruction,)j(and)e(that)f(all)g(reads)g(and)h(writes)e(to)2040 3249 y(memory)c(are)g(within)f(bounds.)36 b(If)22 b(a)g(malicious)h (\002lter)f(program)h(were)g(al-)2040 3332 y(lo)n(wed)k(to)f (indiscriminantly)h(read)f(or)h(write)e(data,)j(it)e(could)h(corrupt)f (the)2040 3415 y(protected)32 b(memory)h(space.)62 b(In)31 b(BPF+,)j(loads)e(and)g(stores)g(to)f(scratch)2040 3498 y(memory)f(are)e(inde)o(x)o(ed)i(by)g(an)f(immediate,)i(thus,)g(we)e (can)g(v)o(erify)g(their)2040 3581 y(v)n(alidity)c(during)g(this)g (phase.)41 b(Ho)n(we)n(v)o(er)m(,)26 b(since)f(we)g(cannot)g(pro)o(v)o (e)g(what)2040 3664 y(the)j(bounds)h(on)f(an)g(indirect)f(load)h(from)g (pack)o(et)g(memory)g(will)f(be,)j(we)2040 3747 y(emplo)o(y)e(runtime)e (bounds)j(checks)e(on)g(each)g(load)g(to)f(ensure)i(safety)-5 b(.)46 b(If)2040 3830 y(an)o(y)25 b(load)f(tries)g(to)g(read)h (out-of-bounds)h(memory)-5 b(,)26 b(the)e(\002lter)f(is)h(stopped)2040 3913 y(and)c(the)f(pack)o(et)h(is)e(discarded.)2040 4105 y Fw(7.2)82 b(JIT)27 b(Assembler)2040 4239 y Fv(Once)18 b(the)g(\002lter)f(program)h(has)g(passed)h(the)f(safety)g(v)o (eri\002er)m(,)f(it)g(may)h(be)g(run)2040 4322 y(in)23 b(the)g(BPF+)f(virtual)h(machine)h(or)f(may)h(be)f(JIT)g(assembled)h (into)f(nati)n(v)o(e)2040 4405 y(code.)j(The)19 b(speed)h(adv)n (antages)i(of)d(an)h(assembled)h(\002lter)d(program)i(should)2040 4488 y(be)f(clear)m(,)f(and)g(indeed,)h(our)g(results)f(sho)n(w)h(that) f(assembled)h(programs)g(run)2040 4571 y(up)h(to)g(6)f(times)h(f)o (aster)f(than)h(their)g(interpreted)g(counterparts)g(on)g(an)g(Ultra-) 2040 4654 y(SP)-7 b(ARC)18 b(IIi)g(processor)l(.)2152 4737 y(There)25 b(are)g(tw)o(o)g(phases)g(of)g(JIT)f(assembly)-5 b(.)42 b(First,)25 b(we)g(translate)f(the)2040 4820 y(lookup)f(tables)e (into)h(an)g(optimized)g(sequence)h(of)e(linear)m(,)h(binary)g(or)g (hash)2040 4903 y(checks)j(of)g(the)f(v)n(alues)h(inside.)40 b(Then,)25 b(since)g(the)f(tar)o(get)g(machine)h(often)2040 4986 y(has)k(tighter)g(re)o(gister)f(a)o(v)n(ailability)h(constraints)g (than)g(the)g(BPF+)f(virtual)2040 5069 y(machine,)20 b(we)e(perform)i(another)g(phase)f(of)g(re)o(gister)g(assignment.)p 2040 5131 797 4 v 2112 5179 a Fq(9)2145 5204 y Fp(An)o(y)14 b(ac)o(yclic)h(program)g(can)f(be)h(e)o(xpressed)e(using)i(only)g(forw) o(ard)h(jumps.)p eop %%Page: 10 10 10 9 bop -152 -69 a Fw(7.2.1)82 b(Lo)r(okup)28 b(T)-7 b(able)28 b(T)-7 b(ranslation)-152 65 y Fv(The)21 b(\002rst)f(stage)h (of)g(the)g(BPF+)f(assembler)i(translates)f(each)g(lookup)i(table)-152 148 y(instruction)e(into)g(an)g(optimized)g(sequence)h(of)f(nati)n(v)o (e)g(code)g(instructions.)-152 231 y(A)30 b(nai)n(v)o(e)h(approach)g (might)f(just)g(translate)g(the)g(table)g(into)g(a)g(linear)g(se-)-152 314 y(quence)18 b(of)e(predicates,)g(b)o(ut)g(this)g(is)f(no)i(better)e (than)i(what)f(we)f(started)h(with.)-152 397 y(When)23 b(there)g(are)g(more)g(than)g(se)n(v)o(eral)g(predicates,)h(the)f(o)o (v)o(erhead)h(causes)-152 480 y(the)19 b(lookup)i(to)d(slo)n(w)h(do)n (wn)h(linearly)f(with)g(the)g(number)h(of)e(predicates.)-40 563 y(Consequently)-5 b(,)18 b(we)c(may)h(turn)g(the)g(table)g(into)g (a)g(balanced)h(binary)f(tree.)-152 646 y(This)h(w)o(ould)g(ha)o(v)o(e) g(the)g(ef)n(fect)g(of)f(making)i(the)f(a)o(v)o(erage)g(case)g(lookup)h (equal)-152 729 y(to)22 b(the)g(w)o(orst)g(case)g(lookup.)34 b(The)21 b(o)o(v)o(erhead)j(of)e(the)g(lookup)h(w)o(ould)g(slo)n(w)-152 812 y(do)n(wn)d(as)f(the)g(log)g(of)g(the)g(number)h(of)f(predicates.) -40 895 y(As)27 b(a)g(third)g(alternati)n(v)o(e,)i(we)e(can)g(turn)g (this)g(table)g(into)g(a)g(hashtable)-152 978 y(with)g(a)g(perfect)g (hash)h(function)g(\(since)f(we)g(kno)n(w)h(all)f(of)g(the)g(entries)g (at)-152 1061 y(compile-time\))21 b(and)h(get)f(constant)h(time)e (access.)30 b(F)o(or)20 b(small)h(numbers)h(of)-152 1144 y(predicates,)27 b(the)e(o)o(v)o(erhead)h(in)m(v)o(olv)o(ed)f(in)g (computing)h(the)e(hash)i(function)-152 1227 y(may)20 b(be)f(too)g(great,)g(b)o(ut)f(for)h(lar)o(ger)g(tables,)g(this)f (approach)j(w)o(orks)e(well.)-40 1310 y(Ho)n(w)g(do)g(we)f(kno)n(w)h (which)g(one)g(to)f(pick?)24 b(Currently)-5 b(,)19 b(we)f(use)h(a)f (static)-152 1393 y(heuristic)28 b(based)g(on)g(an)g(e)n(v)n(aluation)g (of)g(ho)n(w)g(each)g(representation)g(per)o(-)-152 1476 y(forms)21 b(as)f(a)h(function)g(of)g(the)f(number)i(of)e(predicates.) 29 b(Recent)21 b(papers)g(by)-152 1559 y(Y)-7 b(ang,)20 b(Uh,)f(and)i(Whalle)o(y)e([21)q(,)g(23])h(suggest)g(the)g(use)g(of)f (a)h(pro\002le-dri)n(v)o(en)-152 1642 y(approach)30 b(to)e(determine)h (whether)g(to)f(implement)h(multiw)o(ay)f(branches)-152 1725 y(using)c(hash)f(lookup,)i(or)d(to)h(simply)g(reorder)g(the)f (branches)i(in)f(a)f(sequen-)-152 1808 y(tial)c(lookup)h(to)g(reduce)g (the)f(dynamic)i(number)f(of)f(branches)i(encountered)-152 1891 y(during)g(program)g(e)o(x)o(ecution.)-152 2084 y Fw(7.2.2)82 b(Register)27 b(Assignment)-152 2217 y Fv(The)i(nati)n(v)o(e)h(code)g(phase)g(of)f(re)o(gister)g(assignment)h (is)e(some)n(what)i(more)-152 2300 y(delicate)g(than)h(the)e(\002rst)g (phase,)k(due)e(to)e(the)h(greater)g(re)o(gister)g(pressure)-152 2383 y(found)23 b(in)f(most)g(architectures.)33 b(In)22 b(an)g(UltraSP)-7 b(ARC)20 b(with)h(re)o(gister)h(win-)-152 2466 y(do)n(ws,)d(our)f(simple)g(assignment)h(scheme)g(is)e (constricted)i(to)f(the)g(use)g(of)g(20)-152 2549 y(re)o(gisters.)23 b(An)c(assembler)h(for)e(an)i(x86)f(is)g(constrained)h(to)f(only)g (six.)-40 2632 y(If)j(there)g(are)g(enough)i(re)o(gisters)e(in)g(the)g (nati)n(v)o(e)h(code)f(to)g(run)h(a)f(partic-)-152 2715 y(ular)j(\002lter)e(directly)-5 b(,)25 b(we)f(skip)h(this)f(second)i (re)o(gister)e(assignment)h(phase.)-152 2798 y(Ho)n(we)n(v)o(er)m(,)20 b(when)f(we)g(must)g(compress)g(a)g(\002lter')l(s)f(use)h(of)g(re)o (gisters,)f(we)h(re-)-152 2881 y(run)f(the)f(re)o(gister)g(assignment)h (algorithm)g(used)g(before)g(with)f(one)h(change.)-152 2964 y(Instead)27 b(of)f(using)h(li)n(v)o(eness)g(ranges)g(that)f(are)g (sets)g(of)h(basic)f(blocks,)j(we)-152 3047 y(construct)24 b(a)f(re)o(gister')l(s)f(lifetime)g(as)h(the)g(set)f(of)h(pseudo)h (instructions)f(be-)-152 3130 y(tween)c(its)e(de\002nition)h(and)h (last)f(use.)23 b(This)18 b(\002ner)g(granularity)g(lets)g(us)g(reuse) -152 3213 y(re)o(gisters)g(within)g(a)g(basic)h(block,)f(thereby)h (minimizing)g(our)f(use)h(of)f(re)o(gis-)-152 3296 y(ters)h(subject)g (only)h(to)f(data)g(dependencies.)-40 3379 y(If)25 b(we)g(still)f (cannot)i(\002t)f(the)g(\002lter)f(in)h(the)g(speci\002ed)h(smaller)f (number)-152 3462 y(of)g(re)o(gisters,)g(we)g(must)f(tak)o(e)h(the)g (drastic)g(step)f(of)h(spilling)f(e)o(xtra)h(v)n(alues)-152 3545 y(to)g(memory)-5 b(.)40 b(W)-6 b(e)24 b(use)h(a)g(graph)g (coloring)g(algorithm)g(to)g(identify)f(where)-152 3628 y(spills)18 b(must)h(tak)o(e)f(place)h(and)g(add)g(in)f(the)h (auxiliary)f(code)h(for)g(spilling)f(and)-152 3711 y(restoring)i(the)f (data)g(v)n(alues.)-152 3912 y Fw(8)83 b(Evaluation)-152 4072 y Fv(T)-6 b(o)15 b(demonstrate)g(the)f(ef)n(\002cac)o(y)h(of)g (our)f(compiler)h(and)g(optimization)g(frame-)-152 4156 y(w)o(ork,)k(we)g(ha)o(v)o(e)g(b)o(uilt)e(all)i(of)f(the)h(components)h (described)g(herein,)f(culmi-)-152 4239 y(nating)27 b(in)f(a)g (comprehensi)n(v)o(e)i(implementation)f(of)f(the)g(BPF+)e(architec-) -152 4322 y(ture.)52 b(W)-6 b(e)28 b(measured)h(the)g(performance)g (characteristics)g(of)f(the)h(BPF+)-152 4405 y(compiler)23 b(\227)e(its)h(ability)f(to)h(generate)h(and)g(optimize)f(BPF+)f(byte)h (codes,)-152 4488 y(and)e(the)f(speedup)h(in)f(\002lter)e(e)o(x)o (ecution)j(attained)f(from)g(JIT)f(assembly)-5 b(.)24 b(W)-6 b(e)-152 4571 y(also)24 b(compared)h(the)e(ef)n(fecti)n(v)o (eness)i(of)e(our)h(global)g(data-\003o)n(w)f(optimiza-)-152 4654 y(tion)e(against)g(the)f(optimizations)h(performed)h(by)f(an)g (optimizing)g(C)f(com-)-152 4737 y(piler)l(.)31 b(W)-6 b(e)21 b(sho)n(w)i(that)e(for)h(the)f(pack)o(et)i(\002lter)e (application,)h(our)g(optimiza-)-152 4820 y(tions)d(are)g(f)o(ar)g (more)g(ef)n(fecti)n(v)o(e)h(than)f(those)g(utilized)g(by)h(the)f(C)f (compiler)l(.)-40 4903 y(Our)28 b(e)o(xperiments)g(illustrate)e(se)n(v) o(eral)i(performance)h(measures)f(that)-152 4986 y(we)19 b(think)g(ha)o(v)o(e)h(not)f(been)h(addressed)g(in)f(earlier)f(w)o (ork.)24 b(In)19 b(particular)m(,)g(we)-152 5069 y(dra)o(w)25 b(a)g(distinction)g(between)h(measurements)g(of)f(\002lters)e(that)i (use)g(inde-)-152 5152 y(pendent)f(high-le)n(v)o(el)e(predicates)h(and) f(measurements)i(of)e(\002lters)e(that)i(use)-152 5235 y(predicates)e(which)f(may)h(be)f(coalesced)h(into)f(a)g(lookup)h (table.)2152 -69 y(Our)d(e)o(xperiments)h(were)f(run)g(on)h(a)f(Sun)g (Ultra)f(10)i(w)o(orkstation)g(with)e(a)2040 14 y(300)21 b(Mhz)g(UltraSP)-7 b(ARC)18 b(IIi)h(processor)l(.)28 b(100,000)22 b(pack)o(ets)f(were)f(\002ltered)2040 97 y(in)15 b(each)i(e)o(xperiment;)2621 66 y Fs(10)2703 97 y Fv(the)e(running)i(time)e(for)g(each)h(\002lter)f(w)o(as)g (measured)2040 180 y(with)j(the)g(CPU)g(tick)g(re)o(gister)m(,)g (enabling)h(us)g(to)f(get)g(accurate)h(c)o(ycle)g(counts)2040 263 y(of)g(the)g(time)g(spent)g(on)g(each)h(indi)n(vidual)g(\002lter)l (.)2121 371 y 14445672 11840716 3881123 13222133 36114186 39469056 startTexFig 2121 371 a %%BeginDocument: table2.ps % MathWorks dictionary /MathWorks 150 dict begin % definition operators /bdef {bind def} bind def /ldef {load def} bind def /xdef {exch def} bdef /xstore {exch store} bdef % operator abbreviations /c /clip ldef /cc /concat ldef /cp /closepath ldef /gr /grestore ldef /gs /gsave ldef /mt /moveto ldef /np /newpath ldef /cm /currentmatrix ldef /sm /setmatrix ldef /rc {rectclip} bdef /rf {rectfill} bdef /rm /rmoveto ldef /rl /rlineto ldef /s /show ldef /sc {setcmykcolor} bdef /sr /setrgbcolor ldef /sg /setgray ldef /w /setlinewidth ldef /j /setlinejoin ldef /cap /setlinecap ldef % page state control /pgsv () def /bpage {/pgsv save def} bdef /epage {pgsv restore} bdef /bplot /gsave ldef /eplot {stroke grestore} bdef % orientation switch /portraitMode 0 def /landscapeMode 1 def % coordinate system mappings /dpi2point 0 def % font control /FontSize 0 def /FMS { /FontSize xstore %save size off stack findfont [FontSize 0 0 FontSize neg 0 0] makefont setfont }bdef /reencode { exch dup where {pop load} {pop StandardEncoding} ifelse exch dup 3 1 roll findfont dup length dict begin { 1 index /FID ne {def}{pop pop} ifelse } forall /Encoding exch def currentdict end definefont pop } bdef /isroman { findfont /CharStrings get /Agrave known } bdef /FMSR { 3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse exch FMS } bdef /csm { 1 dpi2point div -1 dpi2point div scale neg translate landscapeMode eq {90 rotate} if } bdef % line types: solid, dotted, dashed, dotdash /SO { [] 0 setdash } bdef /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef /DA { [6 dpi2point mul] 0 setdash } bdef /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 dpi2point mul] 0 setdash } bdef % macros for lines and objects /L { lineto stroke } bdef /MP { 3 1 roll moveto 1 sub {rlineto} repeat } bdef /AP { {rlineto} repeat } bdef /PP { closepath eofill } bdef /DP { closepath stroke } bdef /MR { 4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath } bdef /FR { MR stroke } bdef /PR { MR fill } bdef /L1i { { currentfile picstr readhexstring pop } image } bdef /tMatrix matrix def /MakeOval { newpath tMatrix currentmatrix pop translate scale 0 0 1 0 360 arc tMatrix setmatrix } bdef /FO { MakeOval stroke } bdef /PO { MakeOval fill } bdef /PD { currentlinecap 1 setlinecap 3 1 roll 2 copy moveto lineto stroke setlinecap } bdef /FA { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arc tMatrix setmatrix stroke } bdef /PA { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill } bdef /FAn { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke } bdef /PAn { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill } bdef currentdict end def MathWorks begin 0 cap end MathWorks begin bpage bplot /dpi2point 12 def portraitMode 0216 7344 csm 497 133 5879 4797 MR c np 88 dict begin %Colortable dictionary /c0 { 0 0 0 sr} bdef /c1 { 1 1 1 sr} bdef /c2 { 1 0 0 sr} bdef /c3 { 0 1 0 sr} bdef /c4 { 0 0 1 sr} bdef /c5 { 1 1 0 sr} bdef /c6 { 1 0 1 sr} bdef /c7 { 0 1 1 sr} bdef 1 j 1 sg 0 0 6912 5185 PR 6 w 0 4225 5356 0 0 -4225 898 4613 4 MP PP -5356 0 0 4225 5356 0 0 -4225 898 4613 5 MP stroke DO 4 w SO 6 w 0 sg 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L 898 4613 mt 6254 4613 L 898 4613 mt 898 388 L 898 4613 mt 898 4559 L 898 388 mt 898 442 L /Helvetica /ISOLatin1Encoding 120 FMSR 865 4759 mt (1) s 2237 4613 mt 2237 4559 L 2237 388 mt 2237 442 L 2204 4759 mt (2) s 3576 4613 mt 3576 4559 L 3576 388 mt 3576 442 L 3543 4759 mt (3) s 4915 4613 mt 4915 4559 L 4915 388 mt 4915 442 L 4882 4759 mt (4) s 6254 4613 mt 6254 4559 L 6254 388 mt 6254 442 L 6221 4759 mt (5) s 898 4613 mt 952 4613 L 6254 4613 mt 6200 4613 L 797 4657 mt (0) s 898 4229 mt 952 4229 L 6254 4229 mt 6200 4229 L 730 4273 mt (50) s 898 3845 mt 952 3845 L 6254 3845 mt 6200 3845 L 663 3889 mt (100) s 898 3461 mt 952 3461 L 6254 3461 mt 6200 3461 L 663 3505 mt (150) s 898 3077 mt 952 3077 L 6254 3077 mt 6200 3077 L 663 3121 mt (200) s 898 2693 mt 952 2693 L 6254 2693 mt 6200 2693 L 663 2737 mt (250) s 898 2308 mt 952 2308 L 6254 2308 mt 6200 2308 L 663 2352 mt (300) s 898 1924 mt 952 1924 L 6254 1924 mt 6200 1924 L 663 1968 mt (350) s 898 1540 mt 952 1540 L 6254 1540 mt 6200 1540 L 663 1584 mt (400) s 898 1156 mt 952 1156 L 6254 1156 mt 6200 1156 L 663 1200 mt (450) s 898 772 mt 952 772 L 6254 772 mt 6200 772 L 663 816 mt (500) s 898 388 mt 952 388 L 6254 388 mt 6200 388 L 663 432 mt (550) s 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L gs 898 388 5357 4226 MR c np 1339 -16 1339 123 1339 -276 1339 -92 898 2769 5 MP stroke gr 36 36 898 2769 FO 36 36 2237 2677 FO 36 36 3576 2401 FO 36 36 4915 2524 FO 36 36 6254 2508 FO gs 898 388 5357 4226 MR c np 1339 -1191 1339 -376 1339 -599 898 2915 4 MP stroke gr 873 2890 mt 923 2940 L 923 2890 mt 873 2940 L 2212 2291 mt 2262 2341 L 2262 2291 mt 2212 2341 L 3551 1915 mt 3601 1965 L 3601 1915 mt 3551 1965 L 4890 724 mt 4940 774 L 4940 724 mt 4890 774 L gs 898 388 5357 4226 MR c np 1339 -16 1339 108 1339 -292 1339 115 898 2593 5 MP stroke gr 0 j 36 47 -36 47 -36 -47 36 -47 898 2640 5 MP DP 36 47 -36 47 -36 -47 36 -47 2237 2755 5 MP DP 36 47 -36 47 -36 -47 36 -47 3576 2463 5 MP DP 36 47 -36 47 -36 -47 36 -47 4915 2571 5 MP DP 36 47 -36 47 -36 -47 36 -47 6254 2555 5 MP DP gs 898 388 5357 4226 MR c np DO 1339 -199 1339 -469 1339 -84 1339 -208 898 2977 5 MP stroke gr DO SO 862 2977 mt 934 2977 L 898 2941 mt 898 3013 L 873 2952 mt 923 3002 L 923 2952 mt 873 3002 L DO SO 2201 2769 mt 2273 2769 L 2237 2733 mt 2237 2805 L 2212 2744 mt 2262 2794 L 2262 2744 mt 2212 2794 L DO SO 3540 2685 mt 3612 2685 L 3576 2649 mt 3576 2721 L 3551 2660 mt 3601 2710 L 3601 2660 mt 3551 2710 L DO SO 4879 2216 mt 4951 2216 L 4915 2180 mt 4915 2252 L 4890 2191 mt 4940 2241 L 4940 2191 mt 4890 2241 L DO SO 6218 2017 mt 6290 2017 L 6254 1981 mt 6254 2053 L 6229 1992 mt 6279 2042 L 6279 1992 mt 6229 2042 L DO gs 898 388 5357 4226 MR c np 1339 -99 1339 -100 1339 7 1339 116 898 2915 5 MP stroke gr SO 862 2915 mt 934 2915 L 898 2879 mt 898 2951 L DO SO 2201 3031 mt 2273 3031 L 2237 2995 mt 2237 3067 L DO SO 3540 3038 mt 3612 3038 L 3576 3002 mt 3576 3074 L DO SO 4879 2938 mt 4951 2938 L 4915 2902 mt 4915 2974 L DO SO 6218 2839 mt 6290 2839 L 6254 2803 mt 6254 2875 L DO gs 898 388 5357 4226 MR c np 1339 -331 1339 -991 1339 -199 1339 -185 898 2593 5 MP stroke gr SO 0 -58 -58 0 0 58 58 0 869 2564 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 2208 2379 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 3547 2180 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 4886 1189 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 6225 858 5 MP DP DO gs 898 388 5357 4226 MR c np gr 2655 4901 mt (Number of Independent Predicates) s 608 2752 mt -90 rotate (Time \(ns\)) s 90 rotate SO 1 sg 0 1221 2313 0 0 -1221 3576 4486 4 MP PP -2313 0 0 1221 2313 0 0 -1221 3576 4486 5 MP stroke DO 4 w SO 6 w 0 sg 3576 4486 mt 5889 4486 L 3576 3265 mt 5889 3265 L 3576 4486 mt 3576 3265 L 5889 4486 mt 5889 3265 L 3576 4486 mt 5889 4486 L 3576 4486 mt 3576 3265 L 3576 4486 mt 5889 4486 L 3576 3265 mt 5889 3265 L 3576 4486 mt 3576 3265 L 5889 4486 mt 5889 3265 L 4379 3483 mt (Average AND Chain) s gs 3576 3265 2314 1222 MR c np 429 0 3683 3439 2 MP stroke gr 36 36 3683 3439 FO 36 36 4112 3439 FO gs 3576 3265 2314 1222 MR c np gr 4379 3658 mt (Accept AND Chain ) s gs 3576 3265 2314 1222 MR c np 429 0 3683 3614 2 MP stroke gr 3658 3589 mt 3708 3639 L 3708 3589 mt 3658 3639 L 4087 3589 mt 4137 3639 L 4137 3589 mt 4087 3639 L gs 3576 3265 2314 1222 MR c np gr 4379 3832 mt (Reject AND Chain ) s gs 3576 3265 2314 1222 MR c np 429 0 3683 3788 2 MP stroke gr 36 47 -36 47 -36 -47 36 -47 3683 3835 5 MP DP 36 47 -36 47 -36 -47 36 -47 4112 3835 5 MP DP gs 3576 3265 2314 1222 MR c np gr 4379 4007 mt (Average OR Chain ) s gs 3576 3265 2314 1222 MR c np DO 429 0 3683 3963 2 MP stroke gr DO SO 3647 3963 mt 3719 3963 L 3683 3927 mt 3683 3999 L 3658 3938 mt 3708 3988 L 3708 3938 mt 3658 3988 L DO SO 4076 3963 mt 4148 3963 L 4112 3927 mt 4112 3999 L 4087 3938 mt 4137 3988 L 4137 3938 mt 4087 3988 L DO gs 3576 3265 2314 1222 MR c np gr 4379 4181 mt (Accept OR Chain ) s gs 3576 3265 2314 1222 MR c np 429 0 3683 4137 2 MP stroke gr SO 3647 4137 mt 3719 4137 L 3683 4101 mt 3683 4173 L DO SO 4076 4137 mt 4148 4137 L 4112 4101 mt 4112 4173 L DO gs 3576 3265 2314 1222 MR c np gr 4379 4356 mt (Reject OR Chain ) s gs 3576 3265 2314 1222 MR c np 429 0 3683 4312 2 MP stroke gr SO 0 -58 -58 0 0 58 58 0 3654 4283 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 4083 4283 5 MP DP DO gs 3576 3265 2314 1222 MR c np gr SO end eplot epage end showpage %%EndDocument endTexFig 2040 2037 a Fv(Figure)i(6:)30 b Ft(A)m(v)n(er)o(age)23 b(times)g(to)h(recogniz)o(e)e(pac)o(k)o(ets)h(with)g(optimiz)o(ed)2040 2120 y(JIT)18 b(assemb)o(led)e(\002lters)i(ha)o(ving)e(v)n(ar)q(ious)h (n)o(umbers)h(of)f(independent)2040 2203 y(predicates)o(.)23 b(Lo)o(w)o(er)c(n)o(umbers)h(are)g(better)l(.)2152 2377 y Fv(In)h(Figure)g(6,)g(we)f(sho)n(w)i(the)e(speed)i(of)f(\002ltering)f (v)n(arious)i(numbers)f(of)2040 2460 y(independent)k(predicates)e(\227) f(TCP)-8 b(,)21 b(src)h(A,)g(dst)h(B,)f(port)g(C,)g(and)i(netw)o(ork) 2040 2543 y(D)19 b(connected)i(in)e(a)g(chain)h(by)g(either)f (\223and\224)h(or)f(\223or\224.)25 b(There)19 b(are)g(six)g(mea-)2040 2626 y(surements)30 b(of)g(the)f(optimized)i(JIT)d(assembled)j (\002lters,)g(three)e(sho)n(wing)2040 2709 y(the)23 b(a)o(v)o(erage,)h (accept)f(and)g(reject)g(times)f(for)h(the)g(chains)g(link)o(ed)h (together)2040 2792 y(by)g(\223and\224,)h(and)f(three)f(sho)n(wing)h (the)f(same)h(results)f(for)g(the)g(same)h(chains)2040 2875 y(link)o(ed)16 b(together)g(by)g(\223or\224.)22 b(As)16 b(e)o(xpected,)g(the)g(time)f(to)g(reject)g(an)h(OR)f(chain) 2040 2958 y(has)k(the)g(same)h(upw)o(ard)g(trend)f(as)g(the)g(time)f (to)h(accept)h(an)f(AND)f(chain.)3933 2926 y Fs(11)2152 3041 y Fv(In)24 b(contrast,)g(the)g(time)f(to)h(accept)g(an)g(OR)f (chain)h(stays)g(lo)n(w)f(because)2040 3124 y(the)i(earlier)f (predicates,)j(if)d(matched,)j(halt)e(the)f(\002lter)g(and)i(return)f (TR)m(UE)2040 3207 y(immediately)-5 b(.)54 b(The)29 b(a)o(v)o(erage)h (time)e(reported)i(for)f(both)h(AND)e(and)i(OR)2040 3290 y(chains)c(are)e(similar)h(and)g(ho)o(v)o(er)h(between)f(200)h(ns)f (and)h(300)f(ns.)41 b(This)25 b(is)2040 3373 y(comparable)20 b(to)f(\002lter)f(speeds)i(reported)g(in)e(the)h(literature.)2152 3456 y(In)d(Figure)f(7,)h(we)f(sho)n(w)-5 b(,)16 b(for)f (non-independent)k(predicates,)d(the)f(speed)2040 3539 y(of)31 b(\002ltering)g(when)h(a)f(lookup)h(table)g(is)e(implemented)j (by)e(a)g(linear)h(se-)2040 3622 y(quence)16 b(of)f(conditional)h (branches,)g(an)f(O\(1\))g(perfect)g(hash)g(function)h(\(each)2040 3705 y(hash)i(table)g(entry)f(has)h(one)g(conditional)h(branch)f(to)g (ensure)g(a)f(match\),)h(and)2040 3788 y(the)28 b(equi)n(v)n(alent)g (\002lter)f(coded)i(in)e(C)g(and)h(run)g(through)h(the)e(GCC)g(\(e)o (gcs-)2040 3871 y(2.91.60\))f(optimizer)g(at)f(its)g(highest)h (optimization)g(le)n(v)o(el.)3606 3840 y Fs(12)3714 3871 y Fv(BPF+)e(per)o(-)2040 3954 y(forms)e(better)g(than)g(C)f(in)h(both)h (cases,)f(primarily)g(due)g(to)g(BPF+')l(s)f(redun-)2040 4037 y(dant)c(predicate)h(elimination.)23 b(Since)16 b(redundant)j(predicates)e(do)h(not)f(often)2040 4120 y(occur)22 b(in)f(user)o(-le)n(v)o(el)g(C)g(code,)h(GCC)f(does)h(not)f (perform)h(the)f(elimination)2040 4203 y(optimization)k(that)g(BPF+)e (does.)41 b(In)24 b(addition,)j(the)d(translation)h(of)f(\002lter)2040 4286 y(code)c(into)f(nati)n(v)o(e)g(machine)h(code)f(has)g(lo)n(wered)h (the)f(penalty)g(that)g(we)g(pay)2040 4369 y(for)g(increased)h(numbers) g(of)f(conditional)h(branches)g(in)f(the)g(\002nal)f(\002lter)l(.)2152 4452 y(In)f(addition)h(to)f(these)h(measures,)g(we)f(e)o(xamine)h(the)f (speedup)i(attained)2040 4535 y(using)29 b(the)f(optimizations)h(found) g(in)f(BPF+.)49 b(In)28 b(Figures)g(8)h(and)f(9,)j(we)2040 4619 y(sho)n(w)23 b(the)g(\002lter)f(times)g(for)g(unoptimized)i (interpreted,)g(optimized)f(inter)o(-)2040 4702 y(preted,)i (unoptimized)g(JIT)e(assembled,)j(and)e(optimized)g(JIT)f(assembled) 2040 4785 y(pack)o(et)17 b(\002lters)e(for)h(both)h(independent)h(and)f (non-independent)i(predicates.)2152 4868 y(F)o(or)f(independent)j (predicates,)d(the)h(speedup)h(impro)o(v)o(es)f(signi\002cantly)2040 4951 y(\(from)24 b(3.5x)g(to)g(9x\))g(as)f(the)h(number)h(of)f (\002lters)e(increases,)k(which)e(sho)n(ws)p 2040 5010 797 4 v 2084 5058 a Fq(10)2145 5083 y Fp(The)10 b(pack)o(ets)h(are)g (from)h(normal)g(netw)o(ork)g(traf)o(\002c)f(in)g(the)g(UCB)g(computer) h(science)e(domain.)2084 5130 y Fq(11)2145 5155 y Fp(The)15 b(last)h(\223)-5 b(Accept)16 b(AND)g(chain\224)g(measurement)g(is)g (left)h(of)o(f)f(the)g(graph)h(because)e(the)h(par)o(-)2040 5221 y(ticular)f(e)o(xpression)f(w)o(as)h(ne)o(v)o(er)f(accepted.)2084 5268 y Fq(12)2145 5293 y Fp(Since)g(there)h(is)f(no)h(modern)f (implementation)i(of)f(the)f(original)h(1993)g(v)o(ersion)f(of)h(BPF)-5 b(,)15 b(we)2040 5359 y(do)g(not)g(include)f(it)h(in)g(these)f (measurements.)p eop %%Page: 11 11 11 10 bop -85 -152 a 14682486 11840716 3552215 13222133 36114186 39469056 startTexFig -85 -152 a %%BeginDocument: table1.ps % MathWorks dictionary /MathWorks 150 dict begin % definition operators /bdef {bind def} bind def /ldef {load def} bind def /xdef {exch def} bdef /xstore {exch store} bdef % operator abbreviations /c /clip ldef /cc /concat ldef /cp /closepath ldef /gr /grestore ldef /gs /gsave ldef /mt /moveto ldef /np /newpath ldef /cm /currentmatrix ldef /sm /setmatrix ldef /rc {rectclip} bdef /rf {rectfill} bdef /rm /rmoveto ldef /rl /rlineto ldef /s /show ldef /sc {setcmykcolor} bdef /sr /setrgbcolor ldef /sg /setgray ldef /w /setlinewidth ldef /j /setlinejoin ldef /cap /setlinecap ldef % page state control /pgsv () def /bpage {/pgsv save def} bdef /epage {pgsv restore} bdef /bplot /gsave ldef /eplot {stroke grestore} bdef % orientation switch /portraitMode 0 def /landscapeMode 1 def % coordinate system mappings /dpi2point 0 def % font control /FontSize 0 def /FMS { /FontSize xstore %save size off stack findfont [FontSize 0 0 FontSize neg 0 0] makefont setfont }bdef /reencode { exch dup where {pop load} {pop StandardEncoding} ifelse exch dup 3 1 roll findfont dup length dict begin { 1 index /FID ne {def}{pop pop} ifelse } forall /Encoding exch def currentdict end definefont pop } bdef /isroman { findfont /CharStrings get /Agrave known } bdef /FMSR { 3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse exch FMS } bdef /csm { 1 dpi2point div -1 dpi2point div scale neg translate landscapeMode eq {90 rotate} if } bdef % line types: solid, dotted, dashed, dotdash /SO { [] 0 setdash } bdef /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef /DA { [6 dpi2point mul] 0 setdash } bdef /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 dpi2point mul] 0 setdash } bdef % macros for lines and objects /L { lineto stroke } bdef /MP { 3 1 roll moveto 1 sub {rlineto} repeat } bdef /AP { {rlineto} repeat } bdef /PP { closepath eofill } bdef /DP { closepath stroke } bdef /MR { 4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath } bdef /FR { MR stroke } bdef /PR { MR fill } bdef /L1i { { currentfile picstr readhexstring pop } image } bdef /tMatrix matrix def /MakeOval { newpath tMatrix currentmatrix pop translate scale 0 0 1 0 360 arc tMatrix setmatrix } bdef /FO { MakeOval stroke } bdef /PO { MakeOval fill } bdef /PD { currentlinecap 1 setlinecap 3 1 roll 2 copy moveto lineto stroke setlinecap } bdef /FA { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arc tMatrix setmatrix stroke } bdef /PA { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill } bdef /FAn { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke } bdef /PAn { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill } bdef currentdict end def MathWorks begin 0 cap end MathWorks begin bpage bplot /dpi2point 12 def portraitMode 0216 7344 csm 432 133 5944 4797 MR c np 88 dict begin %Colortable dictionary /c0 { 0 0 0 sr} bdef /c1 { 1 1 1 sr} bdef /c2 { 1 0 0 sr} bdef /c3 { 0 1 0 sr} bdef /c4 { 0 0 1 sr} bdef /c5 { 1 1 0 sr} bdef /c6 { 1 0 1 sr} bdef /c7 { 0 1 1 sr} bdef 1 j 1 sg 0 0 6912 5185 PR 6 w 0 4225 5356 0 0 -4225 898 4613 4 MP PP -5356 0 0 4225 5356 0 0 -4225 898 4613 5 MP stroke DO 4 w SO 6 w 0 sg 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L 898 4613 mt 6254 4613 L 898 4613 mt 898 388 L 898 4613 mt 898 4559 L 898 388 mt 898 442 L /Helvetica /ISOLatin1Encoding 120 FMSR 865 4759 mt (1) s 1083 4613 mt 1083 4559 L 1083 388 mt 1083 442 L 1050 4759 mt (2) s 1267 4613 mt 1267 4559 L 1267 388 mt 1267 442 L 1234 4759 mt (3) s 1452 4613 mt 1452 4559 L 1452 388 mt 1452 442 L 1419 4759 mt (4) s 1637 4613 mt 1637 4559 L 1637 388 mt 1637 442 L 1604 4759 mt (5) s 1821 4613 mt 1821 4559 L 1821 388 mt 1821 442 L 1788 4759 mt (6) s 2006 4613 mt 2006 4559 L 2006 388 mt 2006 442 L 1973 4759 mt (7) s 2191 4613 mt 2191 4559 L 2191 388 mt 2191 442 L 2158 4759 mt (8) s 2376 4613 mt 2376 4559 L 2376 388 mt 2376 442 L 2343 4759 mt (9) s 2560 4613 mt 2560 4559 L 2560 388 mt 2560 442 L 2494 4759 mt (10) s 3484 4613 mt 3484 4559 L 3484 388 mt 3484 442 L 3418 4759 mt (15) s 4407 4613 mt 4407 4559 L 4407 388 mt 4407 442 L 4341 4759 mt (20) s 6254 4613 mt 6254 4559 L 6254 388 mt 6254 442 L 6188 4759 mt (30) s 898 4613 mt 952 4613 L 6254 4613 mt 6200 4613 L 797 4657 mt (0) s 898 3768 mt 952 3768 L 6254 3768 mt 6200 3768 L 663 3812 mt (500) s 898 2923 mt 952 2923 L 6254 2923 mt 6200 2923 L 597 2967 mt (1000) s 898 2078 mt 952 2078 L 6254 2078 mt 6200 2078 L 597 2122 mt (1500) s 898 1233 mt 952 1233 L 6254 1233 mt 6200 1233 L 597 1277 mt (2000) s 898 388 mt 952 388 L 6254 388 mt 6200 388 L 597 432 mt (2500) s 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L gs 898 388 5357 4226 MR c np 1847 -94 923 -24 924 -76 184 20 185 -10 185 -15 185 -22 184 3 185 -39 185 11 184 -39 185 -32 898 4212 13 MP stroke gr 36 36 898 4212 FO 36 36 1083 4180 FO 36 36 1267 4141 FO 36 36 1452 4152 FO 36 36 1637 4113 FO 36 36 1821 4116 FO 36 36 2006 4094 FO 36 36 2191 4079 FO 36 36 2376 4069 FO 36 36 2560 4089 FO 36 36 3484 4013 FO 36 36 4407 3989 FO 36 36 6254 3895 FO gs 898 388 5357 4226 MR c np DO 1847 -14 923 38 924 -44 184 -5 185 -7 185 -9 185 0 184 -5 185 4 185 28 184 -18 185 -91 898 4207 13 MP stroke gr DO SO 873 4182 mt 923 4232 L 923 4182 mt 873 4232 L DO SO 1058 4091 mt 1108 4141 L 1108 4091 mt 1058 4141 L DO SO 1242 4073 mt 1292 4123 L 1292 4073 mt 1242 4123 L DO SO 1427 4101 mt 1477 4151 L 1477 4101 mt 1427 4151 L DO SO 1612 4105 mt 1662 4155 L 1662 4105 mt 1612 4155 L DO SO 1796 4100 mt 1846 4150 L 1846 4100 mt 1796 4150 L DO SO 1981 4100 mt 2031 4150 L 2031 4100 mt 1981 4150 L DO SO 2166 4091 mt 2216 4141 L 2216 4091 mt 2166 4141 L DO SO 2351 4084 mt 2401 4134 L 2401 4084 mt 2351 4134 L DO SO 2535 4079 mt 2585 4129 L 2585 4079 mt 2535 4129 L DO SO 3459 4035 mt 3509 4085 L 3509 4035 mt 3459 4085 L DO SO 4382 4073 mt 4432 4123 L 4432 4073 mt 4382 4123 L DO SO 6229 4059 mt 6279 4109 L 6279 4059 mt 6229 4109 L DO gs 898 388 5357 4226 MR c np DD 2770 -1918 924 -499 923 -659 185 -159 185 -86 184 -138 185 -102 898 4233 8 MP stroke gr DD SO 0 j 36 47 -36 47 -36 -47 36 -47 898 4280 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 1083 4178 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 1267 4040 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 1452 3954 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 1637 3795 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 2560 3136 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 3484 2637 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 6254 719 5 MP DP DD gs 898 388 5357 4226 MR c np gr 2931 4901 mt (Number of Table Entries) s 543 2900 mt -90 rotate (Filter Time \(ns\)) s 90 rotate SO 1 sg 0 624 1769 0 0 -624 4416 1176 4 MP PP -1769 0 0 624 1769 0 0 -624 4416 1176 5 MP stroke DO 4 w SO 6 w 0 sg 4416 1176 mt 6185 1176 L 4416 552 mt 6185 552 L 4416 1176 mt 4416 552 L 6185 1176 mt 6185 552 L 4416 1176 mt 6185 1176 L 4416 1176 mt 4416 552 L 4416 1176 mt 6185 1176 L 4416 552 mt 6185 552 L 4416 1176 mt 4416 552 L 6185 1176 mt 6185 552 L 5219 752 mt (BPF+ Linear) s gs 4416 552 1770 625 MR c np 428 0 4523 708 2 MP stroke gr 36 36 4523 708 FO 36 36 4951 708 FO gs 4416 552 1770 625 MR c np gr 5219 908 mt (BPF+ Hash ) s gs 4416 552 1770 625 MR c np DO 428 0 4523 864 2 MP stroke gr DO SO 4498 839 mt 4548 889 L 4548 839 mt 4498 889 L DO SO 4926 839 mt 4976 889 L 4976 839 mt 4926 889 L DO gs 4416 552 1770 625 MR c np gr 5219 1064 mt (Optimized C) s gs 4416 552 1770 625 MR c np DD 428 0 4523 1020 2 MP stroke gr DD SO 36 47 -36 47 -36 -47 36 -47 4523 1067 5 MP DP DD SO 36 47 -36 47 -36 -47 36 -47 4951 1067 5 MP DP DD gs 4416 552 1770 625 MR c np gr SO end eplot epage end showpage %%EndDocument endTexFig -152 1514 a Fv(Figure)22 b(7:)30 b Ft(A)m(v)n(er)o(age)23 b(times)h(to)f(recogniz)o(e)g(TCP)g(pac)o(k)o(ets)g(with)g(v)n(ar)q(i-) -152 1597 y(ous)e(n)o(umbers)e(of)h(source)g(hosts)o(.)25 b(Lo)o(w)o(er)20 b(n)o(umbers)f(are)h(better)l(.)-48 1690 y 14090450 11840716 3486433 13222133 36114186 40521564 startTexFig -48 1690 a %%BeginDocument: table3.ps % MathWorks dictionary /MathWorks 150 dict begin % definition operators /bdef {bind def} bind def /ldef {load def} bind def /xdef {exch def} bdef /xstore {exch store} bdef % operator abbreviations /c /clip ldef /cc /concat ldef /cp /closepath ldef /gr /grestore ldef /gs /gsave ldef /mt /moveto ldef /np /newpath ldef /cm /currentmatrix ldef /sm /setmatrix ldef /rc {rectclip} bdef /rf {rectfill} bdef /rm /rmoveto ldef /rl /rlineto ldef /s /show ldef /sc {setcmykcolor} bdef /sr /setrgbcolor ldef /sg /setgray ldef /w /setlinewidth ldef /j /setlinejoin ldef /cap /setlinecap ldef % page state control /pgsv () def /bpage {/pgsv save def} bdef /epage {pgsv restore} bdef /bplot /gsave ldef /eplot {stroke grestore} bdef % orientation switch /portraitMode 0 def /landscapeMode 1 def % coordinate system mappings /dpi2point 0 def % font control /FontSize 0 def /FMS { /FontSize xstore %save size off stack findfont [FontSize 0 0 FontSize neg 0 0] makefont setfont }bdef /reencode { exch dup where {pop load} {pop StandardEncoding} ifelse exch dup 3 1 roll findfont dup length dict begin { 1 index /FID ne {def}{pop pop} ifelse } forall /Encoding exch def currentdict end definefont pop } bdef /isroman { findfont /CharStrings get /Agrave known } bdef /FMSR { 3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse exch FMS } bdef /csm { 1 dpi2point div -1 dpi2point div scale neg translate landscapeMode eq {90 rotate} if } bdef % line types: solid, dotted, dashed, dotdash /SO { [] 0 setdash } bdef /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef /DA { [6 dpi2point mul] 0 setdash } bdef /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 dpi2point mul] 0 setdash } bdef % macros for lines and objects /L { lineto stroke } bdef /MP { 3 1 roll moveto 1 sub {rlineto} repeat } bdef /AP { {rlineto} repeat } bdef /PP { closepath eofill } bdef /DP { closepath stroke } bdef /MR { 4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath } bdef /FR { MR stroke } bdef /PR { MR fill } bdef /L1i { { currentfile picstr readhexstring pop } image } bdef /tMatrix matrix def /MakeOval { newpath tMatrix currentmatrix pop translate scale 0 0 1 0 360 arc tMatrix setmatrix } bdef /FO { MakeOval stroke } bdef /PO { MakeOval fill } bdef /PD { currentlinecap 1 setlinecap 3 1 roll 2 copy moveto lineto stroke setlinecap } bdef /FA { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arc tMatrix setmatrix stroke } bdef /PA { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill } bdef /FAn { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke } bdef /PAn { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill } bdef currentdict end def MathWorks begin 0 cap end MathWorks begin bpage bplot /dpi2point 12 def portraitMode 0216 7344 csm 431 -48 5945 4978 MR c np 88 dict begin %Colortable dictionary /c0 { 0 0 0 sr} bdef /c1 { 1 1 1 sr} bdef /c2 { 1 0 0 sr} bdef /c3 { 0 1 0 sr} bdef /c4 { 0 0 1 sr} bdef /c5 { 1 1 0 sr} bdef /c6 { 1 0 1 sr} bdef /c7 { 0 1 1 sr} bdef 1 j 1 sg 0 0 6912 5185 PR 6 w 0 4225 5356 0 0 -4225 898 4613 4 MP PP -5356 0 0 4225 5356 0 0 -4225 898 4613 5 MP stroke DO 4 w SO 6 w 0 sg 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L 898 4613 mt 6254 4613 L 898 4613 mt 898 388 L 898 4613 mt 898 4559 L 898 388 mt 898 442 L /Helvetica /ISOLatin1Encoding 120 FMSR 865 4759 mt (1) s 2237 4613 mt 2237 4559 L 2237 388 mt 2237 442 L 2204 4759 mt (2) s 3576 4613 mt 3576 4559 L 3576 388 mt 3576 442 L 3543 4759 mt (3) s 4915 4613 mt 4915 4559 L 4915 388 mt 4915 442 L 4882 4759 mt (4) s 6254 4613 mt 6254 4559 L 6254 388 mt 6254 442 L 6221 4759 mt (5) s 898 4613 mt 952 4613 L 6254 4613 mt 6200 4613 L 797 4657 mt (0) s 898 4009 mt 952 4009 L 6254 4009 mt 6200 4009 L 663 4053 mt (500) s 898 3406 mt 952 3406 L 6254 3406 mt 6200 3406 L 597 3450 mt (1000) s 898 2802 mt 952 2802 L 6254 2802 mt 6200 2802 L 597 2846 mt (1500) s 898 2199 mt 952 2199 L 6254 2199 mt 6200 2199 L 597 2243 mt (2000) s 898 1595 mt 952 1595 L 6254 1595 mt 6200 1595 L 597 1639 mt (2500) s 898 992 mt 952 992 L 6254 992 mt 6200 992 L 597 1036 mt (3000) s 898 388 mt 952 388 L 6254 388 mt 6200 388 L 597 432 mt (3500) s 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L gs 898 388 5357 4226 MR c np 1339 -64 1339 -270 1339 434 1339 -948 898 3613 5 MP stroke gr 36 36 898 3613 FO 36 36 2237 2665 FO 36 36 3576 3099 FO 36 36 4915 2829 FO 36 36 6254 2765 FO gs 898 388 5357 4226 MR c np DO 1339 -682 1339 -1017 1339 -417 1339 -610 898 3613 5 MP stroke gr DO SO 36 36 898 3613 FO DO SO 36 36 2237 3003 FO DO SO 36 36 3576 2586 FO DO SO 36 36 4915 1569 FO DO SO 36 36 6254 887 FO DO gs 898 388 5357 4226 MR c np SO 1339 4 1339 -33 1339 237 1339 -279 898 3515 5 MP stroke gr SO 873 3490 mt 923 3540 L 923 3490 mt 873 3540 L 2212 3211 mt 2262 3261 L 2262 3211 mt 2212 3261 L 3551 3448 mt 3601 3498 L 3601 3448 mt 3551 3498 L 4890 3415 mt 4940 3465 L 4940 3415 mt 4890 3465 L 6229 3419 mt 6279 3469 L 6279 3419 mt 6229 3469 L gs 898 388 5357 4226 MR c np DO 1339 6 1339 -181 1339 -27 1339 -91 898 3515 5 MP stroke gr DO SO 873 3490 mt 923 3540 L 923 3490 mt 873 3540 L DO SO 2212 3399 mt 2262 3449 L 2262 3399 mt 2212 3449 L DO SO 3551 3372 mt 3601 3422 L 3601 3372 mt 3551 3422 L DO SO 4890 3191 mt 4940 3241 L 4940 3191 mt 4890 3241 L DO SO 6229 3197 mt 6279 3247 L 6279 3197 mt 6229 3247 L DO gs 898 388 5357 4226 MR c np SO 1339 15 1339 -5 1339 -12 1339 -84 898 4355 5 MP stroke gr SO 0 j 0 -58 -58 0 0 58 58 0 869 4326 5 MP DP 0 -58 -58 0 0 58 58 0 2208 4242 5 MP DP 0 -58 -58 0 0 58 58 0 3547 4230 5 MP DP 0 -58 -58 0 0 58 58 0 4886 4225 5 MP DP 0 -58 -58 0 0 58 58 0 6225 4240 5 MP DP gs 898 388 5357 4226 MR c np DO 1339 -98 1339 -93 1339 -55 1339 -59 898 4355 5 MP stroke gr DO SO 0 -58 -58 0 0 58 58 0 869 4326 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 2208 4267 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 3547 4212 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 4886 4119 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 6225 4021 5 MP DP DO gs 898 388 5357 4226 MR c np SO 1339 -3 1339 20 1339 -44 1339 -14 898 4323 5 MP stroke gr SO 36 47 -36 47 -36 -47 36 -47 898 4370 5 MP DP 36 47 -36 47 -36 -47 36 -47 2237 4356 5 MP DP 36 47 -36 47 -36 -47 36 -47 3576 4312 5 MP DP 36 47 -36 47 -36 -47 36 -47 4915 4332 5 MP DP 36 47 -36 47 -36 -47 36 -47 6254 4329 5 MP DP gs 898 388 5357 4226 MR c np DO 1339 -31 1339 -74 1339 -13 1339 0 898 4323 5 MP stroke gr DO SO 36 47 -36 47 -36 -47 36 -47 898 4370 5 MP DP DO SO 36 47 -36 47 -36 -47 36 -47 2237 4370 5 MP DP DO SO 36 47 -36 47 -36 -47 36 -47 3576 4357 5 MP DP DO SO 36 47 -36 47 -36 -47 36 -47 4915 4283 5 MP DP DO SO 36 47 -36 47 -36 -47 36 -47 6254 4252 5 MP DP DO gs 898 388 5357 4226 MR c np gr 2655 4901 mt (Number of Independent Predicates) s 542 2900 mt -90 rotate (Filter Time \(ns\)) s 90 rotate SO 1 sg 0 1619 3448 0 0 -1619 1036 2111 4 MP PP -3448 0 0 1619 3448 0 0 -1619 1036 2111 5 MP stroke DO 4 w SO 6 w 0 sg 1036 2111 mt 4484 2111 L 1036 492 mt 4484 492 L 1036 2111 mt 1036 492 L 4484 2111 mt 4484 492 L 1036 2111 mt 4484 2111 L 1036 2111 mt 1036 492 L 1036 2111 mt 4484 2111 L 1036 492 mt 4484 492 L 1036 2111 mt 1036 492 L 4484 2111 mt 4484 492 L 1839 716 mt (Unoptimized Interpreted AND Chain) s gs 1036 492 3449 1620 MR c np 429 0 1143 672 2 MP stroke gr 36 36 1143 672 FO 36 36 1572 672 FO gs 1036 492 3449 1620 MR c np gr 1839 896 mt (Unoptimized Interpreted OR Chain ) s gs 1036 492 3449 1620 MR c np DO 429 0 1143 852 2 MP stroke gr DO SO 36 36 1143 852 FO DO SO 36 36 1572 852 FO DO gs 1036 492 3449 1620 MR c np gr 1839 1076 mt (Optimized Interpreted AND Chain ) s gs 1036 492 3449 1620 MR c np SO 429 0 1143 1032 2 MP stroke gr SO 1118 1007 mt 1168 1057 L 1168 1007 mt 1118 1057 L 1547 1007 mt 1597 1057 L 1597 1007 mt 1547 1057 L gs 1036 492 3449 1620 MR c np gr 1839 1256 mt (Optimized Interpreted OR Chain ) s gs 1036 492 3449 1620 MR c np DO 429 0 1143 1212 2 MP stroke gr DO SO 1118 1187 mt 1168 1237 L 1168 1187 mt 1118 1237 L DO SO 1547 1187 mt 1597 1237 L 1597 1187 mt 1547 1237 L DO gs 1036 492 3449 1620 MR c np gr 1839 1435 mt (Unoptimized Assembled AND Chain ) s gs 1036 492 3449 1620 MR c np SO 429 0 1143 1391 2 MP stroke gr SO 0 -58 -58 0 0 58 58 0 1114 1362 5 MP DP 0 -58 -58 0 0 58 58 0 1543 1362 5 MP DP gs 1036 492 3449 1620 MR c np gr 1839 1615 mt (Unoptimized Assembled OR Chain ) s gs 1036 492 3449 1620 MR c np DO 429 0 1143 1571 2 MP stroke gr DO SO 0 -58 -58 0 0 58 58 0 1114 1542 5 MP DP DO SO 0 -58 -58 0 0 58 58 0 1543 1542 5 MP DP DO gs 1036 492 3449 1620 MR c np gr 1839 1795 mt (Optimized Assembled AND Chain ) s gs 1036 492 3449 1620 MR c np SO 429 0 1143 1751 2 MP stroke gr SO 36 47 -36 47 -36 -47 36 -47 1143 1798 5 MP DP 36 47 -36 47 -36 -47 36 -47 1572 1798 5 MP DP gs 1036 492 3449 1620 MR c np gr 1839 1975 mt (Optimized Assembled OR Chain ) s gs 1036 492 3449 1620 MR c np DO 429 0 1143 1931 2 MP stroke gr DO SO 36 47 -36 47 -36 -47 36 -47 1143 1978 5 MP DP DO SO 36 47 -36 47 -36 -47 36 -47 1572 1978 5 MP DP DO gs 1036 492 3449 1620 MR c np gr SO end eplot epage end showpage %%EndDocument endTexFig -152 3356 a Fv(Figure)i(8:)30 b Ft(A)m(v)n(er)o(age)23 b(times)h(to)f(recogniz)o(e)g(TCP)g(pac)o(k)o(ets)g(with)g(v)n(ar)q(i-) -152 3439 y(ous)d(n)o(umbers)e(of)i(independent)15 b(predicates)o(.)23 b(Lo)o(w)o(er)18 b(n)o(umbers)h(are)-152 3522 y(better)l(.)-152 3696 y Fv(the)f(ef)n(fecti)n(v)o(eness)g(of)f(our)h(optimization)f (algorithms)h(and)g(JIT)e(assembler)l(.)-152 3779 y(The)24 b(speedup)g(due)g(to)f(optimization)h(alone)g(v)n(aries)g(from)f(1.3x)h (to)f(2x)h(for)-152 3862 y(unoptimized)f(code,)h(and)e(from)g(zero)g (to)g(1.4x)g(for)g(optimized)g(code.)33 b(The)-152 3945 y(speedup)23 b(due)e(to)g(the)g(JIT)f(assembly)i(by)f(itself)f(v)n (aries)h(from)g(3.9x)g(to)g(6.6x)-152 4028 y(for)e(unoptimized)h(code,) g(and)f(from)g(3.3x)h(to)f(5x)g(for)g(optimized)g(code.)-40 4111 y(When)c(we)g(look)g(at)f(the)g(non-independent)k(predicates,)e (we)e(see)h(a)f(more)-152 4194 y(dramatic)24 b(story)-5 b(.)39 b(The)24 b(unoptimized,)i(interpreted)e(\002lter)f(sho)n(ws)i (striking)-152 4277 y(e)n(vidence)30 b(of)f(the)f(nai)n(v)o(e)h(code)g (generation')l(s)h(production)g(of)e(redundant)-152 4360 y(predicates.)50 b(The)27 b(optimized,)j(interpreted)e(\002lter)e (strips)h(out)h(almost)f(all)-152 4443 y(of)h(these)h(redundancies.)52 b(The)28 b(trends)g(for)g(both)h(assembled)g(\002lters)e(are)-152 4526 y(the)f(same)f(as)g(the)g(interpreted)h(\002lters,)f(b)o(ut)g(the) h(o)o(v)o(erall)f(running)h(time)f(is)-152 4609 y(much)19 b(impro)o(v)o(ed.)24 b(The)18 b(speedup)i(due)f(to)f(optimization)g(v)n (aries)h(from)f(1.1x)-152 4692 y(to)24 b(8.6x)h(for)e(interpreted)i (code,)g(and)g(from)f(1.2x)g(to)g(5.2x)h(for)f(assembled)-152 4775 y(code,)19 b(while)e(the)g(speedup)i(due)f(to)f(assembly)i(runs)e (from)h(4.1x)g(to)f(5.5x)h(for)-152 4858 y(unoptimized)j(code,)e(and)h (from)f(2.6x)g(to)g(4.9x)g(for)g(optimized)h(code.)-40 4941 y(Ev)o(en)k(though)h(the)f(impro)o(v)o(ement)h(for)e (non-independent)k(predicates)-152 5024 y(is)18 b(more)g(dramatic)g (than)g(for)g(independent)i(predicates,)f(their)e(use)i(in)e(com-)-152 5107 y(bination)i(more)g(accurately)g(re\003ects)f(the)h(type)f(of)h (\002lters)e(used)i(by)g(the)g(net-)-152 5190 y(w)o(ork)e(community)-5 b(.)24 b(F)o(or)16 b(e)o(xample,)h(on)g(tw)o(o)f(lar)o(ge)g(\(27)h(and) g(29)g(predicates\))-152 5273 y(\002lters)25 b(used)i(daily)g(by)f(V)-8 b(ern)26 b(P)o(axson)h(at)e(La)o(wrence)i(Berk)o(ele)o(y)g(National) -152 5356 y(Laboratory)-5 b(,)19 b(we)e(see)g(speedups)j(of)d(32x)h (and)g(36x)g(between)h(unoptimized,)2136 -152 y 14208858 11840716 3157524 13222133 36114186 40521564 startTexFig 2136 -152 a %%BeginDocument: table4.ps % MathWorks dictionary /MathWorks 150 dict begin % definition operators /bdef {bind def} bind def /ldef {load def} bind def /xdef {exch def} bdef /xstore {exch store} bdef % operator abbreviations /c /clip ldef /cc /concat ldef /cp /closepath ldef /gr /grestore ldef /gs /gsave ldef /mt /moveto ldef /np /newpath ldef /cm /currentmatrix ldef /sm /setmatrix ldef /rc {rectclip} bdef /rf {rectfill} bdef /rm /rmoveto ldef /rl /rlineto ldef /s /show ldef /sc {setcmykcolor} bdef /sr /setrgbcolor ldef /sg /setgray ldef /w /setlinewidth ldef /j /setlinejoin ldef /cap /setlinecap ldef % page state control /pgsv () def /bpage {/pgsv save def} bdef /epage {pgsv restore} bdef /bplot /gsave ldef /eplot {stroke grestore} bdef % orientation switch /portraitMode 0 def /landscapeMode 1 def % coordinate system mappings /dpi2point 0 def % font control /FontSize 0 def /FMS { /FontSize xstore %save size off stack findfont [FontSize 0 0 FontSize neg 0 0] makefont setfont }bdef /reencode { exch dup where {pop load} {pop StandardEncoding} ifelse exch dup 3 1 roll findfont dup length dict begin { 1 index /FID ne {def}{pop pop} ifelse } forall /Encoding exch def currentdict end definefont pop } bdef /isroman { findfont /CharStrings get /Agrave known } bdef /FMSR { 3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse exch FMS } bdef /csm { 1 dpi2point div -1 dpi2point div scale neg translate landscapeMode eq {90 rotate} if } bdef % line types: solid, dotted, dashed, dotdash /SO { [] 0 setdash } bdef /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef /DA { [6 dpi2point mul] 0 setdash } bdef /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 dpi2point mul] 0 setdash } bdef % macros for lines and objects /L { lineto stroke } bdef /MP { 3 1 roll moveto 1 sub {rlineto} repeat } bdef /AP { {rlineto} repeat } bdef /PP { closepath eofill } bdef /DP { closepath stroke } bdef /MR { 4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath } bdef /FR { MR stroke } bdef /PR { MR fill } bdef /L1i { { currentfile picstr readhexstring pop } image } bdef /tMatrix matrix def /MakeOval { newpath tMatrix currentmatrix pop translate scale 0 0 1 0 360 arc tMatrix setmatrix } bdef /FO { MakeOval stroke } bdef /PO { MakeOval fill } bdef /PD { currentlinecap 1 setlinecap 3 1 roll 2 copy moveto lineto stroke setlinecap } bdef /FA { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arc tMatrix setmatrix stroke } bdef /PA { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill } bdef /FAn { newpath tMatrix currentmatrix pop translate scale 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke } bdef /PAn { newpath tMatrix currentmatrix pop translate 0 0 moveto scale 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill } bdef currentdict end def MathWorks begin 0 cap end MathWorks begin bpage bplot /dpi2point 12 def portraitMode 0216 7344 csm 364 -48 6012 4978 MR c np 88 dict begin %Colortable dictionary /c0 { 0 0 0 sr} bdef /c1 { 1 1 1 sr} bdef /c2 { 1 0 0 sr} bdef /c3 { 0 1 0 sr} bdef /c4 { 0 0 1 sr} bdef /c5 { 1 1 0 sr} bdef /c6 { 1 0 1 sr} bdef /c7 { 0 1 1 sr} bdef 1 j 1 sg 0 0 6912 5185 PR 6 w 0 4225 5356 0 0 -4225 898 4613 4 MP PP -5356 0 0 4225 5356 0 0 -4225 898 4613 5 MP stroke DO 4 w SO 6 w 0 sg 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L 898 4613 mt 6254 4613 L 898 4613 mt 898 388 L 898 4613 mt 898 4559 L 898 388 mt 898 442 L /Helvetica /ISOLatin1Encoding 120 FMSR 865 4759 mt (1) s 1083 4613 mt 1083 4559 L 1083 388 mt 1083 442 L 1050 4759 mt (2) s 1267 4613 mt 1267 4559 L 1267 388 mt 1267 442 L 1234 4759 mt (3) s 1452 4613 mt 1452 4559 L 1452 388 mt 1452 442 L 1419 4759 mt (4) s 1637 4613 mt 1637 4559 L 1637 388 mt 1637 442 L 1604 4759 mt (5) s 1821 4613 mt 1821 4559 L 1821 388 mt 1821 442 L 1788 4759 mt (6) s 2006 4613 mt 2006 4559 L 2006 388 mt 2006 442 L 1973 4759 mt (7) s 2191 4613 mt 2191 4559 L 2191 388 mt 2191 442 L 2158 4759 mt (8) s 2376 4613 mt 2376 4559 L 2376 388 mt 2376 442 L 2343 4759 mt (9) s 2560 4613 mt 2560 4559 L 2560 388 mt 2560 442 L 2494 4759 mt (10) s 3484 4613 mt 3484 4559 L 3484 388 mt 3484 442 L 3418 4759 mt (15) s 4407 4613 mt 4407 4559 L 4407 388 mt 4407 442 L 4341 4759 mt (20) s 6254 4613 mt 6254 4559 L 6254 388 mt 6254 442 L 6188 4759 mt (30) s 898 4613 mt 952 4613 L 6254 4613 mt 6200 4613 L 797 4657 mt (0) s 898 3909 mt 952 3909 L 6254 3909 mt 6200 3909 L 597 3953 mt (2000) s 898 3205 mt 952 3205 L 6254 3205 mt 6200 3205 L 597 3249 mt (4000) s 898 2501 mt 952 2501 L 6254 2501 mt 6200 2501 L 597 2545 mt (6000) s 898 1796 mt 952 1796 L 6254 1796 mt 6200 1796 L 597 1840 mt (8000) s 898 1092 mt 952 1092 L 6254 1092 mt 6200 1092 L 530 1136 mt (10000) s 898 388 mt 952 388 L 6254 388 mt 6200 388 L 530 432 mt (12000) s 898 4613 mt 6254 4613 L 898 388 mt 6254 388 L 898 4613 mt 898 388 L 6254 4613 mt 6254 388 L gs 898 388 5357 4226 MR c np 1847 -1144 923 -609 924 -687 184 -111 185 -131 185 -98 185 -105 184 -143 185 -121 185 -59 184 -56 185 -264 898 4175 13 MP stroke gr 36 36 898 4175 FO 36 36 1083 3911 FO 36 36 1267 3855 FO 36 36 1452 3796 FO 36 36 1637 3675 FO 36 36 1821 3532 FO 36 36 2006 3427 FO 36 36 2191 3329 FO 36 36 2376 3198 FO 36 36 2560 3087 FO 36 36 3484 2400 FO 36 36 4407 1791 FO 36 36 6254 647 FO gs 898 388 5357 4226 MR c np DO 1847 -27 923 -26 924 -4 184 -10 185 31 185 -37 185 -3 184 8 185 -6 185 45 184 -58 185 31 898 4206 13 MP stroke gr DO SO 873 4181 mt 923 4231 L 923 4181 mt 873 4231 L DO SO 1058 4212 mt 1108 4262 L 1108 4212 mt 1058 4262 L DO SO 1242 4154 mt 1292 4204 L 1292 4154 mt 1242 4204 L DO SO 1427 4199 mt 1477 4249 L 1477 4199 mt 1427 4249 L DO SO 1612 4193 mt 1662 4243 L 1662 4193 mt 1612 4243 L DO SO 1796 4201 mt 1846 4251 L 1846 4201 mt 1796 4251 L DO SO 1981 4198 mt 2031 4248 L 2031 4198 mt 1981 4248 L DO SO 2166 4161 mt 2216 4211 L 2216 4161 mt 2166 4211 L DO SO 2351 4192 mt 2401 4242 L 2401 4192 mt 2351 4242 L DO SO 2535 4182 mt 2585 4232 L 2585 4182 mt 2535 4232 L DO SO 3459 4178 mt 3509 4228 L 3509 4178 mt 3459 4228 L DO SO 4382 4152 mt 4432 4202 L 4432 4152 mt 4382 4202 L DO SO 6229 4125 mt 6279 4175 L 6279 4125 mt 6229 4175 L DO gs 898 388 5357 4226 MR c np DA 1847 -238 923 -138 924 -112 184 -28 185 -19 185 -22 185 -20 184 -22 185 -18 185 40 184 -70 185 -30 898 4512 13 MP stroke gr DA SO 0 j 36 47 -36 47 -36 -47 36 -47 898 4559 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1083 4529 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1267 4459 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1452 4499 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1637 4481 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1821 4459 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 2006 4439 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 2191 4417 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 2376 4398 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 2560 4370 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 3484 4258 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 4407 4120 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 6254 3882 5 MP DP DA gs 898 388 5357 4226 MR c np DD 1847 -20 923 -5 924 -16 184 4 185 -2 185 -3 185 -4 184 0 185 -8 185 2 184 -8 185 -7 898 4530 13 MP stroke gr DD SO 0 -58 -58 0 0 58 58 0 869 4501 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1054 4494 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1238 4486 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1423 4488 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1608 4480 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1792 4480 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1977 4476 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 2162 4473 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 2347 4471 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 2531 4475 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 3455 4459 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 4378 4454 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 6225 4434 5 MP DP DD gs 898 388 5357 4226 MR c np gr 2931 4901 mt (Number of Table Entries) s 475 2899 mt -90 rotate (Filter Time \(ns\)) s 90 rotate SO 1 sg 0 823 2609 0 0 -823 1036 1315 4 MP PP -2609 0 0 823 2609 0 0 -823 1036 1315 5 MP stroke DO 4 w SO 6 w 0 sg 1036 1315 mt 3645 1315 L 1036 492 mt 3645 492 L 1036 1315 mt 1036 492 L 3645 1315 mt 3645 492 L 1036 1315 mt 3645 1315 L 1036 1315 mt 1036 492 L 1036 1315 mt 3645 1315 L 1036 492 mt 3645 492 L 1036 1315 mt 1036 492 L 3645 1315 mt 3645 492 L 1839 701 mt (Unoptimized Interpreted) s gs 1036 492 2610 824 MR c np 429 0 1143 657 2 MP stroke gr 36 36 1143 657 FO 36 36 1572 657 FO gs 1036 492 2610 824 MR c np gr 1839 865 mt (Optimized Interpreted ) s gs 1036 492 2610 824 MR c np DO 429 0 1143 821 2 MP stroke gr DO SO 1118 796 mt 1168 846 L 1168 796 mt 1118 846 L DO SO 1547 796 mt 1597 846 L 1597 796 mt 1547 846 L DO gs 1036 492 2610 824 MR c np gr 1839 1030 mt (Unoptimized Assembled ) s gs 1036 492 2610 824 MR c np DA 429 0 1143 986 2 MP stroke gr DA SO 36 47 -36 47 -36 -47 36 -47 1143 1033 5 MP DP DA SO 36 47 -36 47 -36 -47 36 -47 1572 1033 5 MP DP DA gs 1036 492 2610 824 MR c np gr 1839 1194 mt (Optimized Assembled ) s gs 1036 492 2610 824 MR c np DD 429 0 1143 1150 2 MP stroke gr DD SO 0 -58 -58 0 0 58 58 0 1114 1121 5 MP DP DD SO 0 -58 -58 0 0 58 58 0 1543 1121 5 MP DP DD gs 1036 492 2610 824 MR c np gr SO end eplot epage end showpage %%EndDocument endTexFig 2040 1514 a Fv(Figure)j(9:)30 b Ft(A)m(v)n(er)o(age)23 b(times)h(to)f(recogniz)o(e)f(TCP)i(pac)o(k)o(ets)f(with)g(v)n(ar)q(i-) 2040 1597 y(ous)d(n)o(umbers)g(of)g(source)g(hosts)o(.)25 b(Lo)o(w)o(er)19 b(n)o(umbers)h(are)g(better)l(.)2040 1831 y Fv(interpreted)f(code)h(and)g(optimized,)f(assembled)h(code.) 2152 1914 y(Ov)o(erall,)g(our)h(measurements)h(indicate)e(that)g (optimization)h(is)f(an)h(im-)2040 1997 y(portant)26 b(f)o(actor)g(in)f(pack)o(et)i(\002lter)d(performance,)k(especially)e (when)g(com-)2040 2080 y(piled)21 b(from)f(a)g(high-le)n(v)o(el)h (source)g(language)h(such)f(as)f(the)h(one)g(for)f(BPF+.)2040 2163 y(The)g(template-matching)g(heuristics)g(that)g(P)o(athFinder)f (and)h(DPF)e(use)i(are)2040 2246 y(ef)n(fecti)n(v)o(e)j(in)f(disco)o(v) o(ering)i(lookup)g(tables)f(when)g(\002lters)e(are)i(written)f(in)g(a) 2040 2329 y(lo)n(w-le)n(v)o(el)g(w)o(ay)-5 b(,)22 b(b)o(ut)f(the)o(y)h (will)f(not)h(w)o(ork)g(for)f(more)h(general)g(\002lters.)30 b(W)-6 b(e)2040 2412 y(had)24 b(hoped)g(to)f(compare)h(our)f(results)g (to)g(those)g(reported)h(by)f(the)g(current)2040 2495 y(state-of-the-art,)d(DPF)-6 b(,)19 b(b)o(ut)h(did)h(not)g(ha)o(v)o(e)f (access)h(to)g(their)f(e)o(xperimental)2040 2578 y(data)26 b(or)f(their)g(platform.)41 b(Ho)n(we)n(v)o(er)m(,)28 b(if)c(we)h(account)i(for)e(dif)n(ferences)g(in)2040 2661 y(processor)20 b(speed,)g(our)f(data)g(suggests)h(that)f(the)g (performance)h(is)e(similar)l(.)2040 2862 y Fw(9)82 b(F)n(uture)27 b(W)n(o)n(rk)f(and)i(Summa)n(ry)2040 3022 y Fv(There)22 b(are)f(se)n(v)o(eral)h(dif)n(ferent)g(directions)g(to)g(e)o(xplore)g (in)f(future)h(de)n(v)o(elop-)2040 3105 y(ment)17 b(of)h(BPF+.)j(W)-6 b(e)17 b(ha)o(v)o(e)g(chosen)h(to)f(use)h(a)f(high-le)n(v)o(el)h (functional)g(pred-)2040 3188 y(icate)f(language)h(based)f(on)h Fu(tcpdump)p Fv(;)g(we)e(could)i(add)f(primiti)n(v)o(es)g(that)f(side) 2040 3271 y(ef)n(fect)24 b(the)g(store)g(to)f(implement)h(user)o(-le)n (v)o(el)g(state)g(v)n(ariables)g(and)h(enable)2040 3354 y(user)o(-le)n(v)o(el)19 b(demultiple)o(xing.)25 b(W)-6 b(e)19 b(might)g(also)h(add)g(the)f(ability)g(to)g(specify)2040 3438 y(lar)o(ge)h(tables)f(of)h(pack)o(et)h(information)f(to)f(be)h (matched)h(in)e(a)h(\002lter)l(.)k(W)-6 b(e)19 b(did)2040 3521 y(not)d(optimize)g(our)h(implementation)f(for)g(f)o(ast)g (compilation;)h(thus,)g(BPF+')l(s)2040 3604 y(support)j(of)f(online)g (updates)h(to)f(pack)o(et)h(\002lters)e(is)g(limited.)2152 3687 y(In)24 b(the)g(BPF+)f(virtual)h(machine)h(instruction)g(set,)f (we)g(w)o(ould)h(lik)o(e)f(to)2040 3770 y(add)19 b(the)f(ability)f(to)h (use)h(backw)o(ard)g(branches,)g(in)f(order)g(to)g(allo)n(w)g(loops)g (in)2040 3853 y(the)23 b(code.)35 b(This)23 b(w)o(ould)g(pro)o(vide)h (the)f(ability)g(to)f(parse)h(IPv6)g(\223e)o(xtension)2040 3936 y(headers\224)29 b(as)e(well)g(as)h(the)f(ability)h(to)f (implement)h(other)m(,)i(more)e(general)2040 4019 y(control)23 b(structures.)34 b(Not)22 b(only)h(w)o(ould)h(this)e(change)i(ha)o(v)o (e)f(an)f(impact)h(on)2040 4102 y(the)29 b(implementation)h(of)f(our)g (optimization)h(algorithms,)i(b)o(ut)c(it)h(w)o(ould)2040 4185 y(also)20 b(impact)f(the)h(ability)f(of)g(the)h(safety)f(v)o (eri\002er)g(to)g(ensure)h(that)g(code)g(mi-)2040 4268 y(grated)d(across)g(the)g(protection)g(boundary)h(does)f(not)g(enter)g (into)f(an)h(in\002nite)2040 4351 y(loop.)27 b(Necula')l(s)20 b(proof-carrying)h(code)g(w)o(ork)f([18)q(])f(appears)i(to)f(be)g(a)g (suit-)2040 4434 y(able)h(frame)n(w)o(ork)g(in)g(which)g(to)f(de\002ne) h(and)g(enforce)g(a)g(semantics)g(for)f(the)2040 4517 y(protected)g(e)o(x)o(ecution)g(of)f(more)g(general)g(pack)o(et)h (\002lters.)2152 4600 y(BPF+)13 b(pack)o(et)j(\002lters)d(currently)i (return)g(a)f(boolean)i(true)e(or)h(f)o(alse)f(v)n(alue.)2040 4683 y(Some)26 b(users)g(ha)o(v)o(e)f(e)o(xpressed)i(interest)f(in)f(a) h(more)g(complicated)g(return)2040 4766 y(result)h(that)f(indicates)i (which)f(of)g(the)g(predicates)g(in)g(the)g(\002lter)e(matched)2040 4849 y(the)20 b(pack)o(et.)27 b(This)20 b(is)f(a)h(hard)h(problem)g (because)g(the)f(code)h(generator)g(cre-)2040 4932 y(ates)29 b(man)o(y)g(more)g(predicates)g(than)g(are)f(speci\002ed)h(by)g(the)g (user)l(.)52 b(After)2040 5015 y(passing)28 b(through)f(the)g (optimizer)m(,)i(there)d(may)h(not)g(e)n(v)o(en)h Fu(be)f Fv(a)f(mapping)2040 5098 y(from)f(the)g(resulting)g(predicate)h(e)o (xpression)g(back)g(to)f(the)g(user)o(-speci\002ed)2040 5181 y(e)o(xpression.)f(Ho)n(we)n(v)o(er)m(,)18 b(for)f(man)o(y)h (purposes,)h(just)e(kno)n(wing)i(selected)f(in-)2040 5264 y(formation)e(about)g(the)f(pack)o(et)i(may)f(suf)n(\002ce,)f (e.g.)22 b(in)16 b(an)f(intrusion)h(detector)2040 5347 y(that)h(uses)h(man)o(y)g(dif)n(ferent)g(w)o(ays)g(to)f(detect)h (intruders,)g(if)f(a)g(pack)o(et)i(source)p eop %%Page: 12 12 12 11 bop -152 -69 a Fv(matches)26 b(the)g(source)g(found)g(in)f(a)h (lar)o(ge)f(intruder)h(table,)g(we)f(might)h(just)-152 14 y(w)o(ant)e(to)f(kno)n(w)h(the)f(pack)o(et')l(s)h(source)f(address,) i(and)f(not)f(care)g(about)h(an)o(y)-152 97 y(of)19 b(the)g(other)g (predicates)h(that)f(may)g(ha)o(v)o(e)g(matched.)-40 180 y(Our)26 b(e)o(xperience)g(with)f(BPF+)g(has)g(sho)n(wn)i(that)e (you)h(can)g(start)f(with)-152 263 y(a)e(high-le)n(v)o(el)h(language)g (and)g(can)f(compile)g(and)h(optimize)f(pack)o(et)h(\002lters)-152 346 y(into)d(an)f(ef)n(\002cient)g(implementation.)29 b(Through)21 b(the)g(no)o(v)o(el)f(application)i(of)-152 429 y(the)29 b(\223redundant)h(predicate)f(elimination\224)f(global)h (data-\003o)n(w)f(optimiza-)-152 512 y(tion,)g(our)e(high-le)n(v)o(el)h (boolean)g(predicate)f(language)i(can)e(be)g(compiled,)-152 596 y(optimized,)j(and)e(JIT)f(assembled)h(into)g(code)g(that)f (performs)h(as)g(well)f(or)-152 679 y(better)19 b(than)g(the)g(current) h(state-of-the-art)e(pack)o(et)i(\002lter)e(packages.)-152 876 y Fw(10)83 b(Ackno)n(wledgements)-152 1036 y Fv(The)29 b(authors)g(thank)h(Jef)n(f)f(Mogul)g(and)h(our)f(anon)o(ymous)i(re)n (vie)n(wers)e(for)-152 1119 y(their)j(detailed)g(and)g(insightful)g (feedback.)62 b(The)32 b(original)f(BPF)g(archi-)-152 1202 y(tecture)c(and)g(optimization)g(frame)n(w)o(ork)g(bene\002ted)g (from)f(man)o(y)h(fruitful)-152 1285 y(design)34 b(discussions)g(with)e (V)-8 b(an)33 b(Jacobson,)k(V)-8 b(ern)33 b(P)o(axson,)j(and)e(Craig) -152 1368 y(Leres.)k(This)24 b(early)g(w)o(ork,)h(conducted)h(at)d(the) h(La)o(wrence)g(Berk)o(ele)o(y)h(Na-)-152 1451 y(tional)20 b(Laboratory)-5 b(,)20 b(w)o(as)g(supported)h(by)f(the)g(Director)m(,)f (Of)n(\002ce)g(of)g(Ener)o(gy)-152 1534 y(Research,)30 b(Scienti\002c)c(Computing)i(Staf)n(f,)f(of)g(the)h(U.S.)d(Department)j (of)-152 1617 y(Ener)o(gy)20 b(under)h(Contract)f(No.)26 b(DE-A)m(C03-76SF00098.)i(The)20 b(later)f(w)o(ork)-152 1701 y(w)o(as)h(supported)h(in)f(part)f(by)h(D)m(ARP)-7 b(A)19 b(contract)h(no.)25 b(F30602-95-C-0136,)-152 1784 y(by)15 b(NSF)f(Infrastructure)h(Grant)f(Nos.CD)m(A-9401156)j(and)e (EIA-9802069,)-152 1867 y(and)20 b(by)f(a)f(grant)h(from)f(Intel.)23 b(The)c(information)g(presented)g(here)g(does)g(not)-152 1950 y(necessarily)f(re\003ect)f(the)g(position)h(or)f(the)h(polic)o(y) f(of)g(the)h(Go)o(v)o(ernment)g(and)-152 2033 y(no)i(of)n(\002cial)e (endorsement)j(should)f(be)f(inferred.)-152 2230 y Fw(References)-114 2390 y Fv([1])37 b(Alfred)24 b(Aho,)i(Ra)o(vi)d(Sethi,)i(and)f(Jef)n (fre)o(y)h(D.)e(Ullman.)43 b Fu(Compiler)o(s:)10 2473 y(Principles,)17 b(T)-7 b(ec)o(hniques,)17 b(and)g(T)-7 b(ools)p Fv(.)22 b(Addison-W)-6 b(esle)o(y)h(,)17 b(Reading,)10 2556 y(MA,)i(1986.)-114 2691 y([2])37 b(Mary)17 b(L.)d(Baile)o(y)-5 b(,)16 b(Burra)g(Gopal,)g(Michael)h(A.)e(P)o(agels,)h(and)g(Larry)g(L.) 10 2774 y(Peterson.)28 b(P)n Fa(A)m(T)t(H)t Fv(F)t Fa(I)t(N)t(D)t(E)t (R)r Fv(:)18 b(A)g(pattern-based)i(pack)o(et)f(classi\002er)l(.)25 b(In)10 2857 y Fu(Pr)m(oceedings)k(of)e(the)h(F)m(ir)o(st)e(USENIX)h (Symposium)i(on)f(Oper)o(ating)10 2940 y(Systems)g(Design)f(and)i (Implementation)p Fv(,)g(pages)g(115\226123,)i(Mon-)10 3023 y(tere)o(y)-5 b(,)19 b(CA,)f(No)o(v)o(ember)i(1994.)-114 3158 y([3])37 b(G.)22 b(J.)h(Chaitin.)38 b(Re)o(gister)23 b(allocation)g(and)g(spilling)g(via)g(graph)h(col-)10 3241 y(oring.)34 b(In)21 b Fu(Pr)m(oceedings)h(of)e(the)h(A)n(CM)g (SIGPLAN)e('82)j(Symposium)10 3324 y(on)e(Compiler)f(Construction)p Fv(,)g(pages)h(98\226105,)g(1982.)-114 3459 y([4])37 b(J.)15 b(Cock)o(e)i(and)f(J.)f(Schw)o(artz.)k Fu(Pr)m(o)o(gr)o(amming) e(Langua)o(g)o(es)h(and)e(Their)10 3542 y(Compiler)o(s)p Fv(.)51 b(NYU,)26 b(Courant)h(Inst.,)h(TR.,)f(Second)g(Re)n(vised)g(V) -8 b(er)o(-)10 3625 y(sion,)19 b(April)f(1970.)-114 3759 y([5])37 b(J.)24 b(R.)g(B.)f(Cock)o(ett)i(and)g(J.)f(A.)f(Herrera.)44 b(Decision)25 b(tree)f(reduction.)10 3842 y Fu(J)n(ournal)c(of)f(the)g (A)n(CM)p Fv(,)f(37\(4\):815\226842,)k(October)d(1990.)-114 3977 y([6])37 b(Ron)19 b(Cytron,)g(Jeanne)h(Ferrante,)e(Barry)h(K.)f (Rosen,)h(Mark)h(K.)e(W)-6 b(e)o(g-)10 4060 y(man,)28 b(and)f(F)-6 b(.)25 b(K)n(enneth)i(Zadeck.)50 b(An)26 b(ef)n(\002cient)f(method)i(of)f(com-)10 4143 y(puting)i(static)e (single)h(assignment)g(form.)52 b(In)27 b Fu(16th)g(Annual)g(A)n(CM)10 4226 y(Symposium)22 b(on)e(Principles)h(of)f(Pr)m(o)o(gr)o(amming)h (Langua)o(g)o(es)p Fv(,)i(pages)10 4309 y(25\22635,)d(1989.)-114 4444 y([7])37 b(Da)o(wson)23 b(R.)e(Engler)h(and)g(M.)g(Frans)g (Kaashoek.)38 b(DPF:)20 b(F)o(ast,)i(\003e)o(x-)10 4527 y(ible)e(message)h(demultiple)o(xing)h(using)e(dynamic)i(code)f (generation.)10 4610 y(In)j Fu(Pr)m(oceedings)g(of)g(A)n(CM)e(SIGCOMM)i ('96)p Fv(,)h(pages)f(53\22659,)i(Stan-)10 4693 y(ford,)19 b(CA,)f(August)i(1996.)-114 4828 y([8])37 b(Susan)20 b(L.)f(Graham)i(and)f(Mark)h(W)-6 b(e)o(gman.)30 b(A)20 b(f)o(ast)g(and)g(usually)h(lin-)10 4911 y(ear)j(algorithm)g(for)g (global)g(\003o)n(w)f(analysis.)43 b Fu(J)n(ournal)25 b(of)f(the)g(A)n(CM)p Fv(,)10 4994 y(23\(1\):172\226202,)e(January)e (1976.)-114 5129 y([9])37 b(Norman)20 b(C.)e(Hutchinson)j(and)f(Larry)f (L.)f(Peterson.)28 b(The)19 b Fu(x)p Fv(-Kernel:)10 5212 y(An)27 b(architecture)f(for)h(implementing)g(netw)o(ork)g(protocols.) 52 b Fu(IEEE)10 5295 y(T)l(r)o(ansactions)21 b(on)f(Softwar)m(e)h (Engineering)p Fv(,)g(17\(1\):64\22676,)h(January)10 5378 y(1991.)2040 -69 y([10])38 b(L.)23 b(Hya\002l)g(and)i(R.)e(L.)g (Ri)n(v)o(est.)42 b(Constructing)25 b(optimal)f(binary)g(de-)2202 14 y(cision)d(trees)g(is)g(NP-complete.)33 b Fu(Information)22 b(Pr)m(ocessing)f(Letter)o(s)p Fv(,)2202 97 y(5\(1\):15\22617,)f(May)g (1976.)2040 237 y([11])38 b(V)-8 b(an)25 b(Jacobson,)k(Craig)c(Leres,)i (and)f(Ste)n(v)o(en)f(McCanne.)50 b Fu(pcap\(3\))p Fv(.)2202 320 y(A)-6 b(v)n(ailable)20 b(via)f(ftp)f(from)h Ff(ftp.ee.lbl.gov)p Fv(,)d(June)k(1989.)2040 460 y([12])38 b(V)-8 b(an)39 b(Jacobson,)46 b(Craig)39 b(Leres,)44 b(and)c(Ste)n(v)o(en)g(McCanne.) 93 b Fu(tcp-)2202 543 y(dump\(1\))p Fv(.)48 b(A)-6 b(v)n(ailable)26 b(via)f(ftp)g(from)g Ff(ftp.ee.lbl.gov)p Fv(,)f(June)2202 626 y(1989.)2040 766 y([13])38 b(Mahesh)24 b(Jayaram)g(and)g(Ron)f(K.)g (Cytron.)41 b(Ef)n(\002cient)22 b(demultiple)o(x-)2202 849 y(ing)e(of)f(netw)o(ork)i(pack)o(ets)g(by)f(automatic)g(parsing.)30 b(In)19 b Fu(Pr)m(oceedings)2202 932 y(of)29 b(the)h(W)-7 b(orkshop)31 b(on)f(Compiler)g(Support)h(for)e(System)h(Softwar)m(e) 2202 1015 y(\(WCSSS\))p Fv(,)19 b(T)m(ucson,)g(AZ,)f(February)i(1996.) 2040 1155 y([14])38 b(T)-6 b(.V)c(.)31 b(Lakshman)h(and)g(D.)f (Stiliadis.)65 b(High)32 b(speed)g(polic)o(y-based)2202 1238 y(pack)o(et)38 b(forw)o(arding)h(using)f(ef)n(\002cient)f (multi-dimensional)i(range)2202 1321 y(matching.)81 b(In)36 b Fu(Pr)m(oceedings)g(of)f(SIGCOMM)h('98)p Fv(,)k(September)2202 1404 y(1998.)2040 1544 y([15])e(Ste)n(v)o(en)24 b(McCanne)h(and)f(V)-8 b(an)23 b(Jacobson.)44 b(The)23 b(BSD)g(pack)o(et)i(\002lter:)2202 1627 y(A)19 b(ne)n(w)g(architecture)g(for)g(user)o(-le)n(v)o(el)g(pack) o(et)h(capture.)28 b(In)19 b Fu(Pr)m(oceed-)2202 1710 y(ings)e(of)g(the)g(1993)h(W)l(inter)f(USENIX)f(T)-7 b(ec)o(hnical)17 b(Confer)m(ence)p Fv(,)h(pages)2202 1793 y(259\226269,)j(San)e(Die)o(go,)f(CA,)h(January)h(1993.)2040 1932 y([16])38 b(Jef)n(fre)o(y)20 b(C.)f(Mogul,)h(Richard)g(F)-6 b(.)19 b(Rashid,)h(and)g(Michael)h(J.)e(Accetta.)2202 2015 y(The)k(pack)o(et)h(\002lter:)30 b(An)23 b(ef)n(\002cient)g (mechanism)h(for)f(user)o(-le)n(v)o(el)f(net-)2202 2099 y(w)o(ork)17 b(code.)k(In)16 b Fu(Pr)m(oceedings)h(of)f(11th)h(A)n(CM)e (Symposium)i(on)g(Oper)o(-)2202 2182 y(ating)23 b(Systems)g(Principles) p Fv(,)g(pages)h(39\22651,)h(Austin,)e(TX,)f(No)o(v)o(em-)2202 2265 y(ber)d(1987.)2040 2404 y([17])38 b(Frank)15 b(Mueller)h(and)g(Da) o(vid)f(B.)g(Whalle)o(y)-5 b(.)19 b(A)-6 b(v)o(oiding)17 b(unconditional)2202 2487 y(jumps)j(by)f(code)h(replication.)29 b(In)19 b Fu(A)n(CM)f(SIGPLAN)g(Confer)m(ence)j(on)2202 2570 y(Pr)m(o)o(gr)o(amming)28 b(Langua)o(g)o(e)i(Design)d(and)i (Implementation)p Fv(,)g(pages)2202 2653 y(322\226330,)21 b(June)e(1992.)2040 2793 y([18])38 b(Geor)o(ge)16 b(C.)g(Necula)h(and)g (Peter)e(Lee.)21 b(Safe)16 b(k)o(ernel)h(e)o(xtensions)g(with-)2202 2876 y(out)j(run-time)g(checking.)32 b(In)19 b Fu(Pr)m(oceedings)i(of)f (the)g(Second)i(Sympo-)2202 2959 y(sium)e(on)g(Oper)o(ating)g(System)g (Design)g(and)h(Implementation)p Fv(,)f(Seat-)2202 3042 y(tle,)e(W)-6 b(a.,)18 b(October)h(1996.)2040 3182 y([19])38 b(V)-8 b(ern)21 b(P)o(axson.)36 b(Bro:)28 b(A)21 b(system)h(for)f (detecting)i(netw)o(ork)f(intruders)2202 3265 y(in)e(real-time.)30 b(In)20 b Fu(Pr)m(oceedings)h(of)f(the)g(Se)o(venth)h(USENIX)e (Security)2202 3348 y(Symposium)p Fv(,)h(San)e(Antonio,)i(TX,)e (January)i(1998.)2040 3488 y([20])38 b(V)-10 b(.)34 b(Srini)n(v)n (asan,)k(Geor)o(ge)c(V)-8 b(ar)o(ghese,)38 b(Subash)d(Suri,)i(and)e (Marcel)2202 3571 y(W)-6 b(aldv)o(ogel.)29 b(F)o(ast)19 b(scalable)h(algorithms)g(for)f(le)n(v)o(el)h(four)f(switching.)2202 3654 y(In)g Fu(Pr)m(oceedings)h(of)f(SIGCOMM)g('98)p Fv(,)g(September)g(1998.)2040 3794 y([21])38 b(G.R.)17 b(Uh)h(and)h(D.)e(B.)g(Whalle)o(y)-5 b(.)25 b(Coalescing)19 b(conditional)g(branches)2202 3877 y(into)25 b(ef)n(\002cient)f (indirect)g(jumps.)46 b(In)24 b Fu(Pr)m(oceedings)i(of)e(the)h (Interna-)2202 3960 y(tional)18 b(Static)f(Analysis)g(Symposium)p Fv(,)i(pages)f(315\226329,)i(September)2202 4043 y(1997.)2040 4183 y([22])38 b(Mark)16 b(N.)g(W)-6 b(e)o(gman)16 b(and)g(K)n(enneth)h (Zadeck.)k(Constant)16 b(propagation)2202 4266 y(with)25 b(conditional)h(branches.)49 b Fu(A)n(CM)24 b(T)l(r)o(ansactions)i(on)g (Pr)m(o)o(gr)o(am-)2202 4349 y(ming)19 b(Langua)o(g)o(es)i(and)f (Systems)p Fv(,)f(13\(2\):181\226210,)i(April)e(1991.)2040 4489 y([23])38 b(Minghui)21 b(Y)-7 b(ang,)21 b(Gang-Ryung)h(Uh,)f(and)g (Da)o(vid)f(B.)f(Whalle)o(y)-5 b(.)32 b(Im-)2202 4572 y(pro)o(ving)27 b(performance)h(by)f(branch)g(reordering.)52 b(In)26 b Fu(Pr)m(oceedings)2202 4655 y(of)c(the)h(A)n(CM)f(SIGPLAN'98) f(Confer)m(ence)j(on)f(Pr)m(o)o(gr)o(amming)g(Lan-)2202 4738 y(gua)o(g)o(e)31 b(Design)e(and)h(Implementation)f(\(PLDI\))p Fv(,)f(pages)h(130\226141,)2202 4821 y(Montreal,)19 b(Canada,)h(June)f (1998.)2040 4960 y([24])38 b(Masanob)o(u)59 b(Y)-8 b(uhara,)66 b(Brian)57 b(Bershad,)67 b(Chris)56 b(Maeda,)68 b(and)2202 5043 y(J.)24 b(Eliot)g(B.)g(Moss.)46 b(Ef)n(\002cient)25 b(pack)o(et)g(demultiple)o(xing)h(for)f(multi-)2202 5126 y(ple)17 b(endpoints)i(and)f(lar)o(ge)f(messages.)25 b(In)17 b Fu(Pr)m(oceedings)h(of)g(the)f(1994)2202 5209 y(W)l(inter)27 b(USENIX)f(T)-7 b(ec)o(hnical)28 b(Confer)m(ence)p Fv(,)i(pages)e(153\226165,)j(San)2202 5293 y(Francisco,)19 b(CA,)f(January)i(1994.)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF