From 10acef9e6f2d1f56a39c7f4b9ccf4b4be6f8bed7 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Wed, 1 Jun 2016 19:04:57 -0700 Subject: A bunch of chess-related papers. --- parallel/brockington96aphid.ps | 34409 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 34409 insertions(+) create mode 100755 parallel/brockington96aphid.ps (limited to 'parallel/brockington96aphid.ps') diff --git a/parallel/brockington96aphid.ps b/parallel/brockington96aphid.ps new file mode 100755 index 0000000..7709d3e --- /dev/null +++ b/parallel/brockington96aphid.ps @@ -0,0 +1,34409 @@ +%!PS-Adobe-2.0 +%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Title: aphid_tr.dvi +%%Pages: 24 +%%PageOrder: Ascend +%%BoundingBox: 0 0 612 792 +%%EndComments +%DVIPSCommandLine: dvips aphid_tr +%DVIPSParameters: dpi=300, compressed, comments removed +%DVIPSSource: TeX output 1996.08.20:2324 +%%BeginProcSet: texc.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]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N +/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id +gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp +add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add +/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ +dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 +adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 +idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string +putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval +adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} +{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ +adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 +chg nd}{pop nd}]dup{bind pop}forall N /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 +%%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 300 300 (aphid_tr.dvi) +@start /Fa 1 49 df<1204120EA2121CA31238A212301270A21260A212C0A2070F7F8F +0A>48 D E /Fb 59 123 df35 D38 D<13E01201EA0380EA0700120E5AA25AA25AA35AA912 +70A37EA27EA27E7EEA0380EA01E012000B217A9C16>40 D<12C07E12707E7E7EA27EA2EA +0380A3EA01C0A9EA0380A3EA0700A2120EA25A5A5A5A5A0A217B9C16>I +I<13E0A8B512E0A33800E000A813137F9516>I<1238127C127EA2123E120E121E121C12 +7812F01260070B798416>I<127012F8A312700505788416>46 D<12035AA25A5AB4FCA2 +12E71207AEEAFFF8A30D197B9816>49 DI<13E0487EA213B0A2EA03B8A31318EA071CA5EA0E0EA2EA0FFEA2487EEA +1C07A3387E0FC038FF1FE0387E0FC013197F9816>65 DI<3801F180EA07FBEA0FFFEA1F0FEA3C07EA38031270A200F0C7FC5AA77E +38700380A21238383C0700EA1F0FEA0FFE6C5AEA01F011197E9816>II<387FFFC0B5FC7EEA1C01A490C7FCA2131CA2EA1FFCA3EA1C1CA290 +C7FC14E0A5EA7FFFB5FC7E13197F9816>I<387FFFE0B5FC7EEA1C00A41400A2131CA2EA +1FFCA3EA1C1CA290C7FCA6EA7F80487E6C5A13197F9816>I<3801F180EA07FBEA0FFFEA +1F0FEA3C07EA38031270A200F0C7FC5AA4EB1FC014E014C038F00380127013071238123C +EA1E0FEA0FFFEA07FBEA01F313197F9816>I<387F07F038FF8FF8387F07F0381C01C0A7 +EA1FFFA3EA1C01A9387F07F038FF8FF8387F07F01519809816>II<387F0FE038FF8FF0387F0FE0381C0780 +EB0F00130E5B133C5B5B5BEA1DF0121F7F1338EA1E1C121C7FA27FA2EB0380387F07E038 +FF8FF0387F07E01419809816>75 DI<38FC07E0EAFE0FA2383A0B80EA3B1BA513BBEA39B3A413F3EA38E3A21303A538FE +0FE0A313197F9816>I<387E07F038FF0FF8387F07F0381D81C0A313C1121C13E1A21361 +1371A313311339A21319131D130DA3EA7F07EAFF87EA7F031519809816>III82 +DI<387FFFE0B5FCA2 +EAE0E0A400001300AFEA07FC487E6C5A13197F9816>I<387F07F038FF8FF8387F07F038 +1C01C0B0380E0380A23807070013FF6C5AEA00F81519809816>I<38FE0FE0A338380380 +EA3C07001C1300A3EA1E0FEA0E0EA46C5AA4EA031813B8A3EA01B013F0A26C5A13197F98 +16>I<387F1F80EB3FC0EB1F80380E1E00131C12075BEA03B813F012015B120012017F12 +0313B81207131C120FEA0E0EA2487E387E0FC038FF1FE0387E0FC013197F9816>88 +D<38FE0FE0EAFF1FEAFE0F381C0700A2EA0E0EA26C5AA3EA03B8A2EA01F0A26C5AA8EA03 +F8487E6C5A13197F9816>I<387FFF80B5FCA238E007005B131E131CEA003C5B137013F0 +485A5B1203485A90C7FC5A381E0380121C123C12781270B5FCA311197E9816>II +93 D97 D<12FCA3121CA4137CEA1DFEEA1FFFEB0780381E +03C0EA1C01EB00E0A6EB01C0EA1E03381F0780EBFF00EA1DFEEA0C7813197F9816>II<133FA31307A4EA03C7EA0FF748B4FCEA3C1F487EEA700712E0A6EA70 +0F12786C5A381FFFE0EA0FF7EA07C713197F9816>II<131E137F3801FF8013C7380383001380A2EA7FFFB5FCA2EA0380ACEA7FFC487E6C +5A11197F9816>I<3803E3C03807F7E0EA0FFF381C1CC038380E00A56C5AEA0FF8485AEA +1BE00038C7FC1218EA1FFC13FF481380387003C038E000E0A4387001C0EA7C07383FFF80 +380FFE00EA03F8131C7F9116>I<12FCA3121CA41378EA1DFCEA1FFE130FEA1E07121CAA +38FF8FE0139F138F13197F9816>I<1203EA0780A2EA0300C7FCA4EAFF80A31203ACEAFF +FC13FE13FC0F1A7C9916>I<127E12FE127E120EA4EB7FE0A3EB0F00131E5B5B5B120F7F +13BC131EEA0E0E7F1480387F87F0EAFFCFEA7F871419809816>107 +DI<38F9C38038FFEFC0EB +FFE0EA3C78A2EA3870AA38FE7CF8A31512809116>IIII<387F0FC038FF3FE0EA7F7F3807F040EBC0005BA290 +C7FCA8EA7FFC12FF127F13127F9116>114 DI<12035AA4EA7FFFB5FCA20007C7FCA75BEB0380A3EB8700EA03FE6C5A6C5A11177F96 +16>II<387F1FC038FF9F +E0387F1FC0381C0700A2EA0E0EA36C5AA4EA03B8A3EA01F0A26C5A13127F9116>I<38FF +1FE0A338380380A4EA39F3A20019130013B3A3EA1DB71317EA1F1FEA0F1EEA0E0E13127F +9116>I<387F1FC0133F131F380F1E006C5AEA03B813F012016C5A12017FEA03B8EA073C +131CEA0E0E387F1FC038FF3FE0387F1FC013127F9116>I<387F1FC038FF9FE0387F1FC0 +381C0700120E130EA212075BA2EA039CA21398EA01B8A2EA00F0A35BA3485A1279127BEA +7F8090C7FC123C131B7F9116>I<383FFFC05AA238700780EB0F00131EC65A5B485A485A +EA078048C7FC381E01C0123C1278B5FCA312127F9116>I E /Fc +2 101 df<13201360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA30B1D +7E9511>61 D<133C130C1318A41330EA07B0EA0C701210EA30601260A3EAC0C013C8A212 +41EA62D0EA3C700E147E9311>100 D E /Fd 7 56 df<1218127812981218AC12FF0810 +7D8F0F>49 D<121FEA6180EA40C0EA806012C01200A213C0EA0180EA030012065AEA1020 +1220EA7FC012FF0B107F8F0F>I<121FEA2180EA60C0A212001380EA0100121FEA008013 +40136012C0A2EA8040EA6080EA1F000B107F8F0F>III +I<1240EA7FF013E0EA8040A2EA0080EA01001202A212061204A2120CA50C117F900F>I +E /Fe 7 56 df<120C121C12EC120CAFEAFFC00A137D9211>49 D<121FEA60C01360EAF0 +7013301260EA0070A2136013C012011380EA02005AEA08101210EA2020EA7FE012FF0C13 +7E9211>II<136013E0A2EA016012021206120C120812 +101220126012C0EAFFFCEA0060A5EA03FC0E137F9211>I +II<1240EA7FFC13F8EA4010EA80301320EA00401380 +EA0100A25A12021206A2120EA512040E147E9311>I E /Ff 19 123 +df<90380FE02090387018603801C00439030003E000061301000E13004814605A152012 +78127000F01400A80070142012781238A26C14407E000614806CEB01003801C006380070 +18EB0FE01B1E7D9C21>67 D<39FFF00FF0390F0003C0150014025C5C5C1460148049C7FC +13021307497E1317EB23C0EB43E01381EB00F08014788080141F80EC078015C015E039FF +F01FF81D1C7D9B23>75 D80 D<007FB512C038700F010060130000401440A200C01420 +1280A300001400B1497E3803FFFC1B1C7D9B21>84 D<387FFFFC387C00781270006013F0 +EB01E01240EB03C0EB0780A238000F00131EA25B5BA25B485A1404EA03C0EA0780A2380F +000C001E1308A248131848133814F8B5FC161C7D9B1C>90 D<13201370A313B8A3EA011C +A2EA031EEA020EA2487EEA07FFEA040738080380A2001813C01301123838FC07F815157F +9419>97 D101 D103 D<38FF8FF8381C01C0A9EA1FFFEA1C01A938FF8FF815157F9419>II<38FF81F8381C01E01480140013025B5B5B13301370 +13B8EA1D1C121EEA1C0E7F14801303EB01C014E014F038FF83FC16157F941A>107 +D<38FC03F8381E00E014401217EA138013C01211EA10E01370A21338131CA2130E130714 +C0130313011300123800FE134015157F9419>110 DI114 D<38FF83F8381C00E014 +40AE000C13C0000E138038060100EA0386EA00FC15157F9419>117 +D<39FF07F87E393C01E03C0038EBC018391C02E010A3390E047020A33907083840A33903 +901C80A33901E00F00A33800C006A31F157F9423>119 D<38FF07F0381E03C0000E1300 +EA0F02EA0706EA038413C8EA01D0EA00F0A21370137813BCEA011C487EEA020F487E380C +0380000813C0003C13E038FE07F815157F9419>I<38FF80FE381E0038000E1320000F13 +606C13403803808013C03801C10013E212001374137C1338A848B4FC1715809419>II E /Fg 58 123 df11 D<13FCEA0782EA0E07121C13 +0290C7FCA4B5FCEA1C07AC387F1FC01217809614>I34 D<126012F0A212701210A21220A21240A2040A7D960A +>39 D<120112021204120C1218A21230A212701260A312E0AA1260A312701230A21218A2 +120C12041202120108227D980E>I<12801240122012301218A2120CA2120E1206A31207 +AA1206A3120E120CA21218A2123012201240128008227E980E>I<126012F0A212701210 +A21220A21240A2040A7D830A>44 DI<126012F0A2126004047D +830A>I<1206120E12FE120EB1EAFFE00B157D9412>49 DII54 D56 DI<13101338A3135CA313 +8EA3EA0107A238020380A33807FFC0EA0401A2380800E0A2001813F0123838FE03FE1717 +7F961A>65 DIIII73 DI<38FF80FE381C0078146014401480EB0100130613085B133813 +78139CEA1D0E121EEA1C07EB0380EB01C0A2EB00E014701478147C38FF80FF18177F961B +>I<00FEEB03F8001E14C000171305A338138009A23811C011A33810E021A2EB7041A3EB +3881A2EB1D01A2130EA2123839FE040FF81D177F9620>77 D<00FC13FE001E1338001F13 +101217EA1380EA11C0A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00F0 +14701430123800FE131017177F961A>I<13FCEA0303380E01C0381C00E0481370003013 +30007013380060131800E0131CA700701338A200301330003813706C13E0380E01C03803 +0300EA00FC16177E961B>II83 D<387FFFF83860381800401308A200801304A300001300AF3803FF8016177F +9619>I86 D<12FCA212C0B3AB12FCA2 +06217D980A>91 D +I<12FCA2120CB3AB12FCA2062180980A>I97 D<12F81238A8EA39F0EA3E0C +EA380613077F1480A414005B1306EA361CEA21F011177F9614>II<133E130EA8EA07CE +EA1C3EEA300E1270126012E0A412601270EA301EEA182E3807CF8011177F9614>IIII<12F81238A813F8EA3B1CEA3C0E1238AA +38FE3F8011177F9614>I<12301278A212301200A512F81238AC12FE07177F960A>I<12F8 +1238A8133E13381330134013801239EA3FC0EA39E0123813F01378133CA2EAFE7F10177F +9613>107 D<12F81238B3A312FE07177F960A>I<38F8F83E383B1CC7393C0F0380EA380E +AA39FE3F8FE01B0E7F8D1E>IIIIIII<1208A31218A21238EAFFC0EA3800A71340A4EA1C80EA0F000A147F930E>III<38FEFE7C383838381410133C00 +1C1320134C381E4E60380ECE401387000713801303A200031300EA0201160E7F8D19>I< +EAFE3FEA3C1CEA1C10EA0E20EA074013C0EA0380EA01C0EA02E0EA04F0EA0870EA1838EA +383CEAFC7F100E7F8D13>III +E /Fh 5 50 df0 D<0040132000C01360006013C03830018038 +180300EA0C066C5A6C5AEA01B0EA00E0A2EA01B0EA0318EA060C487E487E383001803860 +00C04813600040132013147A9320>2 D<1203A4EAC30CEAE31CEA7338EA1FE0EA0780A2 +EA1FE0EA7338EAE31CEAC30CEA0300A40E127D9215>I15 +D49 D E /Fi 56 123 df<903801F03C9038071C47010C +13C7EC19C690381C0180140313181338A2EC0700A20003B512F03900700700A3140EA213 +E0A35CA2EA01C0A35CA2EA0380A21430EB0070A248136038C630E038E638C038CC3180D8 +781EC7FC2025819C19>11 D<14FE90380301801306EB0C03EB1C0191C7FC13181338A438 +03FFFE3800700EA35CA213E0A25CA3EA01C01472A438038034141891C7FC90C8FCA25A12 +C612E65A12781925819C17>I<12E0A3127012301210121812080508749C15>18 +D<12031207120E121C1238126012C012800808729C15>I<133C0163133001C113703801 +8080000314201301D807031340EC0080390E00010014025CEBE01A380F1021000E1341EC +8080EA1A203839C10038300160387000E0A248EB0100A31402A200605B00705B00305B6C +1360380E0380D801FCC7FC1C1F7B9D20>38 D<1218123CA31204A21208A2121012201240 +1280060C779C0D>I<12181238127812381208A21210A212201240A21280050C7D830D> +44 DI52 D54 D<131FEB60C0EBC060EA018038030030 +A200061360120714C013803803C10013E6EA01FCEA0078EA01BCEA061E487E487E383003 +801220EA6001A238C00300A21306EA60045BEA3830EA0FC0141D7D9B15>56 +D<133E13E138018180380300C01206120E120C121CA213011238A31303001813801307EA +080B380C3300EA03C7EA0007130E130C131C1318EAE0305BEA80C0EAC180003EC7FC121D +7C9B15>I<1206120FA212061200AA1230127812F0126008127C910D>I<1418A21438A214 +78A214B8EB0138A2EB023C141C1304130C13081310A21320A2EB7FFCEBC01C1380EA0100 +141E0002130EA25A120C001C131EB4EBFFC01A1D7E9C1F>65 D<48B5FC39003C03809038 +3801C0EC00E0A35B1401A2EC03C001E01380EC0F00141EEBFFFC3801C00E801580A2EA03 +80A43907000F00140E141E5C000E13F0B512C01B1C7E9B1D>I<903803F02090381E0C60 +90383002E09038E003C03801C001EA038048C7FC000E1480121E121C123C15005AA35AA4 +1404A35C12705C6C5B00185B6C485AD80706C7FCEA01F81B1E7A9C1E>I<48B5FC39003C +03C090383800E0A21570A24913781538A215785BA4484813F0A315E03803800115C01403 +15803907000700140E5C5C000E13E0B512801D1C7E9B1F>I<48B512F038003C00013813 +301520A35BA214081500495AA21430EBFFF03801C020A439038040801400A2EC0100EA07 +005C14021406000E133CB512FC1C1C7E9B1C>I<3A01FFC3FF803A003C00780001381370 +A4495BA449485AA390B5FC3901C00380A4484848C7FCA43807000EA448131E39FFE1FFC0 +211C7E9B1F>72 DII<3801FFC038003C001338A45BA4 +5BA4485AA438038002A31404EA0700140C14181438000E13F0B5FC171C7E9B1A>76 +DI79 +D<3801FFFE39003C038090383801C0EC00E0A3EB7001A315C0EBE0031580EC0700141C38 +01FFF001C0C7FCA3485AA448C8FCA45AEAFFE01B1C7E9B1C>I<3801FFFE39003C078090 +383801C015E01400A2EB7001A3EC03C001E01380EC0700141CEBFFE03801C03080141CA2 +EA0380A43807003C1520A348144039FFE01E80C7EA0F001B1D7E9B1E>82 +DI<001FB512C0381C070138300E0000201480126012405B1280A2000014005B +A45BA45BA4485AA41203EA7FFE1A1C799B1E>I<39FF801FC0393C000700001C1304A25C +5CA25CA25C5CA26C48C7FCA213025BA25BA25B5B120F6C5AA25B90C8FCA21206A21A1D77 +9B1F>86 D<3AFF83FF07F03A3C007001C00038158002F01300A290380170025D13025D13 +045D13085D131001305B1320D81C405BA2D98071C7FCA2381D0072A2001E1374A2001C13 +38A20018133014201210241D779B29>I<39FFC00FE0391E000380000EEB02005C000F13 +0C6C13086D5A00035B5CEBC0C000015B01C1C7FC13E2EA00E413EC13F81370A25BA4485A +A4485AEA3FF81B1C789B1F>89 D97 D<123F1207A2120EA45AA4EA39E0EA3A +18EA3C0C12381270130EA3EAE01CA31318133813301360EA60C0EA3180EA1E000F1D7C9C +13>I<13F8EA0304120EEA1C0EEA181CEA30001270A25AA51304EA60081310EA3060EA0F +800F127C9113>II<13F8EA0704120CEA +1802EA38041230EA7008EA7FF0EAE000A5EA60041308EA30101360EA0F800F127C9113> +IIII +I107 +DI< +391C1E078039266318C0394683A0E0384703C0008E1380A2120EA2391C0701C0A3EC0380 +D8380E1388A2EC0708151039701C032039300C01C01D127C9122>II<13F8EA030CEA0E06487E1218123000701380A238E00700A3130EA25BEA6018 +5BEA30E0EA0F8011127C9115>I<380387803804C860EBD03013E0EA09C014381201A238 +038070A31460380700E014C0EB0180EB8300EA0E86137890C7FCA25AA45AB4FC151A8091 +15>IIII< +12035AA3120EA4EAFFE0EA1C00A35AA45AA4EAE080A2EAE100A2126612380B1A7C990E> +I<381C0180EA2E03124EA2388E0700A2121CA2EA380EA438301C80A3EA383C38184D00EA +0F8611127C9116>II<381E0183382703871247148338870701A2120E +A2381C0E02A31404EA180C131C1408EA1C1E380C26303807C3C018127C911C>I<380387 +80380CC840380870E012103820E0C014001200A2485AA4EA03811263EAE38212C5EA8584 +EA787813127E9113>I<381C0180EA2E03124EA2388E0700A2121CA2EA380EA4EA301CA3 +EA383CEA1878EA0FB8EA003813301370EAE0605BEA81800043C7FC123C111A7C9114>I< +EA01C1EA07E1EA0FF6EA081CEA1008EA0010132013401380EA010012025AEA08041210EA +2C0CEA73F8EA41F0EA80E010127E9111>I E /Fj 9 120 df<13F8EA030C380E0604EA1C +07383803080030138800701390A200E013A0A214C01480A3EA6007EB0B8838307190380F +80E016127E911B>11 DI<126012F0A2126004047C830C>58 +D<130113031306A3130CA31318A31330A31360A213C0A3EA0180A3EA0300A31206A25AA3 +5AA35AA35AA35AA210297E9E15>61 D100 D107 +DI< +EA3C1F384E6180384681C0EA4701128F128E120EA2381C0380A3EB070000381310A2130E +1420387006403830038014127E9119>110 D<001CEBC080392701C1C0124714C0398703 +8040A2120EA2391C070080A3EC0100EA1806A2381C0E02EB0F04380E13083803E1F01A12 +7E911E>119 D E /Fk 83 128 df2 D11 D<137E3801C180EA0301380703C0120EEB0180 +90C7FCA5B512C0EA0E01B0387F87F8151D809C17>II<90383F07E03901C09C18380380F0D8070113 +3C000E13E00100131892C7FCA5B612FC390E00E01CB03A7FC7FCFF80211D809C23>I<12 +0EA2121E1238127012E012800707779C15>19 D34 D<000F14C0EA18803930600380397038 +0700386027FB38E010065CA25CA25C5CEA602000705B38304180EA1881390F0303C03900 +060620EC0C1090380C1C08EB1818EC380413301360A213C0A2EA01803903001808141C00 +06EB0C1048EB06200004EB03C01E217E9E23>37 D<126012F012F812681208A31210A212 +2012401280050C7C9C0C>39 D<1380EA0100120212065AA25AA25AA35AA412E0AC1260A4 +7EA37EA27EA27E12027EEA0080092A7C9E10>I<7E12407E12307EA27EA27EA37EA41380 +AC1300A41206A35AA25AA25A12205A5A092A7E9E10>I<1306ADB612E0A2D80006C7FCAD +1B1C7E9720>43 D<126012F0A212701210A41220A212401280040C7C830C>II<126012F0A2126004047C830C>I<130113031306A3130CA31318A31330A3 +1360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA210297E9E15>II<5A1207123F12C71207B3A5EAFFF80D1C7C9B15>III<130CA2131C133C +A2135C13DC139CEA011C120312021204120C1208121012301220124012C0B512C038001C +00A73801FFC0121C7F9B15>II<13F0EA030CEA0404EA0C0EEA181E1230130CEA7000A21260EAE3E0EAE430EAE818 +EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C30EA03E0101D7E9B15 +>I<1240387FFF801400A2EA4002485AA25B485AA25B1360134013C0A212015BA21203A4 +1207A66CC7FC111D7E9B15>III<126012F0A212601200AA126012F0A2126004127C91 +0C>I<126012F0A212601200AA126012F0A212701210A41220A212401280041A7C910C>I< +007FB512C0B612E0C9FCA8B612E06C14C01B0C7E8F20>61 D<1306A3130FA3EB1780A2EB +37C01323A2EB43E01341A2EB80F0A338010078A2EBFFF83802003CA3487FA2000C131F80 +001E5BB4EBFFF01C1D7F9C1F>65 DI<90381F8080EB +E0613801801938070007000E13035A14015A00781300A2127000F01400A8007014801278 +A212386CEB0100A26C13026C5B380180083800E030EB1FC0191E7E9C1E>IIII<90381F +8080EBE0613801801938070007000E13035A14015A00781300A2127000F01400A6ECFFF0 +EC0F80007013071278A212387EA27E6C130B380180113800E06090381F80001C1E7E9C21 +>I<39FFF0FFF0390F000F00AC90B5FCEB000FAD39FFF0FFF01C1C7F9B1F>II<3807FF8038007C00133CB3127012F8A21338EA7078EA40 +70EA30E0EA0F80111D7F9B15>I<39FFF01FE0390F000780EC060014045C5C5C5C5C49C7 +FC13021306130FEB17801327EB43C0EB81E013016D7E1478A280143E141E80158015C039 +FFF03FF01C1C7F9B20>III +III82 D<3807E080EA1C19EA30051303EA600112E01300A36C13007E127CEA7FC0EA3F +F8EA1FFEEA07FFC61380130FEB07C0130313011280A300C01380A238E00300EAD002EACC +0CEA83F8121E7E9C17>I<007FB512C038700F010060130000401440A200C014201280A3 +00001400B1497E3803FFFC1B1C7F9B1E>I<39FFF01FF0390F000380EC0100B3A26C1302 +138000035BEA01C03800E018EB7060EB0F801C1D7F9B1F>I<39FFE00FF0391F0003C0EC +01806C1400A238078002A213C000035BA2EBE00C00011308A26C6C5AA213F8EB7820A26D +5AA36D5AA2131F6DC7FCA21306A31C1D7F9B1F>I<3AFFE1FFC0FF3A1F003E003C001E01 +3C13186C6D1310A32607801F1320A33A03C0278040A33A01E043C080A33A00F081E100A3 +9038F900F3017913F2A2017E137E013E137CA2013C133C011C1338A20118131801081310 +281D7F9B2B>I<39FFF003FC390F8001E00007EB00C06D13800003EB01006D5A00011302 +6C6C5A13F8EB7808EB7C18EB3C10EB3E20131F6D5A14C06D5AABEB7FF81E1C809B1F>89 +D<12FEA212C0B3B312FEA207297C9E0C>91 DI<12FEA21206B3B312FEA20729809E0C>I97 D<12FC121CAA137CEA1D87381E0180381C00C014E01460 +1470A6146014E014C0381E018038190700EA10FC141D7F9C17>IIII<13F8EA018CEA071E1206EA0E +0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C0D>II<12FC121CAA137C +1387EA1D03001E1380121CAD38FF9FF0141D7F9C17>I<1218123CA21218C7FCA712FC12 +1CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA00C01300A7EA07E01200B3A21260EAF0C0 +12F1EA6180EA3E000B25839C0D>I<12FC121CAAEB0FE0EB0780EB06005B13105B5B13E0 +121DEA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16>I<12FC121CB3A9 +EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE01C001C13C0AD3A +FF8FF8FF8021127F9124>IIII<3803E080 +EA0E19EA1805EA3807EA7003A212E0A61270A2EA38071218EA0E1BEA03E3EA0003A7EB1F +F0141A7F9116>III<1204A4120CA2121C123CEAFFE0EA1C00A91310A512 +0CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD1307120CEA0E1B3803E3F014127F +9117>I<38FF07E0383C0380381C0100A2EA0E02A2EA0F06EA0704A2EA0388A213C8EA01 +D0A2EA00E0A3134013127F9116>I<39FF3FC7E0393C0703C0001CEB01801500130B000E +1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030000013201B127F91 +1E>I<38FF0FE0381E0700EA1C06EA0E046C5AEA039013B0EA01E012007F12011338EA02 +1C1204EA0C0E487E003C138038FE1FF014127F9116>I<38FF07E0383C0380381C0100A2 +EA0E02A2EA0F06EA0704A2EA0388A213C8EA01D0A2EA00E0A31340A25BA212F000F1C7FC +12F312661238131A7F9116>III127 D E /Fl 38 121 +df<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49 +DII<140FA25C5C5C5C5BA2EB03 +BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8 +A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091 +C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218 +127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6 +22>II65 D<91387FE003903907FFFC07 +011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A16 +0F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C +14786CB4EB01F090397FF007C0011FB512800107EBFE009038007FF028297CA831>67 +DIII72 DI80 D +82 D<007FB71280A39039807F807FD87C00140F00781507A20070150300F016C0A24815 +01A5C791C7FCB3A490B612C0A32A287EA72F>84 D87 D<3803FF80000F13F038 +1F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA0FE0EA1F80EA3F00127E +5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B7E9A21>97 +D99 DI< +EB3FC03801FFF03803E07C380F803E001F7F130048EB0F80127E15C0A200FE1307A2B6FC +A248C8FCA3127EA2127F6CEB01C07E390F8003803907C007003803F01E3800FFFCEB3FE0 +1A1B7E9A1F>II<9038FF80F00003EBE3F8390FC1FE1C391F00 +7C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E6C137C380FC1F8380BFFE000 +18138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C14F0121F383C0007007CEB01 +F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB5120038007FF01E287E9A22>I< +EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EBE80701F813F013F0A213E0B0 +39FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FC +A7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I107 DI<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039 +C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC0 +7E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA320 +1B7D9A25>II<38FFE1FE9038EFFF809038FE0FE0390FF803F09038F001F8 +01E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038F807F09038FC0FE090 +38EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC1F0EBC7FCEBC63E38 +0FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA +3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6 +FCEB07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B +>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000AD1470A73807F0E00003 +13C03801FF8038007F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA20007131739 +03F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA3390FF000F0000714E07F00 +03EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D +5AA36D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB03 +80A201F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600FE1C5B15FE9039FF387E +3C017F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2EC800701075CA22E1B7F +9A31>I<39FFFC1FFEA33907F003803803F8079038FC0F003801FE1E00005BEB7F3814F8 +6D5A6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F803901E01FC0D803C013 +E0EB800F39FFF03FFFA3201B7F9A23>I E /Fm 1 1 df0 +D E /Fn 2 49 df<120CA2EACCC012EDEA7F80EA0C00EA7F80EAEDC012CCEA0C00A20A0B +7D8B10>3 D<1208121CA21238A312301270A21260A212C0A2060D7E8D09>48 +D E /Fo 3 101 df11 DI100 D E /Fp 7 117 df<1303497EA2497EA3EB1BE0A2EB3BF0 +1331A2EB60F8A2EBE0FCEBC07CA248487EEBFFFE487FEB001F4814800006130FA248EB07 +C039FF803FFCA21E1A7F9921>65 D97 D<12FCA2123CA713FE383F8780 +383E01C0003C13E0EB00F0A214F8A514F0A2EB01E0003E13C0383B07803830FE00151A7E +9919>II114 DI<1206A4120EA2121EEA3FF012FFEA1E +00A81318A5EA0F30EA03E00D187F9711>I E /Fq 47 123 df11 +D<126012F012F812681208A31210A212201240050B7D990B>39 D<1380EA010012025A12 +0C120812185AA35AA412E0AA1260A47EA37E1208120C12047E7EEA008009267D9B0F>I< +7E12407E7E12181208120C7EA37EA41380AA1300A41206A35A1208121812105A5A5A0926 +7E9B0F>I<126012F0A212701210A31220A21240A2040B7D830B>44 +DI<126012F0A2126004047D830B>I<12035AB4FC1207B3A2EA7F +F80D187D9713>49 DI54 +D<130CA3131EA2132F1327A2EB4380A3EB81C0A200017F1300A248B47E38020070A2487F +A3487FA2003C131EB4EBFFC01A1A7F991D>65 D67 DII71 +D<39FFE1FFC0390E001C00AB380FFFFC380E001CAC39FFE1FFC01A1A7F991D>II<137F3801C1C038070070000E7F487F003C131E0038 +130E0078130F00707F00F01480A80078EB0F00A20038130E003C131E001C131C6C5B6C5B +3801C1C0D8007FC7FC191A7E991E>79 DI83 D<007FB5FC38701C0700401301A200C0 +148000801300A300001400B13803FFE0191A7F991C>I<39FFE07FC0390E000E001404B2 +00065B12076C5B6C6C5A3800E0C0013FC7FC1A1A7F991D>I97 +D<12FC121CA913FCEA1D07381E0380381C01C0130014E0A6EB01C01480381E0300EA1906 +EA10F8131A809915>II<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C5A +EA1C373807C7E0131A7F9915>IIII<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF0141A809915>I<1218 +123CA212181200A612FC121CAE12FF081A80990A>I<12FC121CA9EB1FC0EB0F00130C5B +13205B13E0121DEA1E70EA1C7813387F131E7F148038FF9FE0131A809914>107 +D<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301 +AB39FF9FE7F81D107F8F20>I +IIIIII<1208A41218A21238EAFFC0 +EA3800A81320A41218EA1C40EA07800B177F960F>I<38FC1F80EA1C03AB1307120CEA0E +0B3803F3F01410808F15>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2 +EA01C0A36C5A11107F8F14>I<39FE7F1F8039381C0700003C1306381C0C04130E380E16 +081317A238072310149013A33803C1A014E0380180C0A319107F8F1C>I<38FE3F80383C +1E00EA1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC0 +12107F8F14>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C +5AA248C7FCA212E112E212E4127811177F8F14>II +E /Fr 16 118 df<127012F8A212F012E005057A840F>46 D<14FE903807018090381800 +60012013105B49130848C71204380201F03804070839080C04023810180290383003C238 +2060019038E00382EA40C01241A23983800704A4EC0E08A20081131EEC2E103980C04E20 +9038618E6039403E078090C8FC7EA26C14E0000CEB07800003EB7C003800FF801F2379A2 +25>64 D97 DI<137EEA01C138030180EA0703EA0E07121C003CC7 +FC12381278A35AA45B12701302EA300CEA1830EA0FC011157B9416>I<13F8EA0384EA0E +02121C123C1238EA7804EAF018EAFFE0EAF000A25AA41302A2EA6004EA7018EA3060EA0F +800F157A9416>101 D<13F0EA0FE01200A3485AA4485AA448C7FC131FEB2180EBC0C038 +0F00E0A2120EA2381C01C0A438380380A3EB070400701308130E1410130600E013203860 +03C016237DA219>104 D<14E01301A2EB00C01400A8131E1323EB43801383A2EA0103A2 +38000700A4130EA45BA45BA45BA3EA70E0EAF0C0EAF1800063C7FC123C132B82A00F> +106 D<13F0EA07E01200A3485AA4485AA448C7FCEB01E0EB0210EB0470380E08F01310EB +2060EB4000EA1D80001EC7FCEA1FC0EA1C70487EA27F142038703840A3EB188012E03860 +0F0014237DA216>II<38380F80384C30C0384E4060388E8070EA8F00128E +A24813E0A4383801C0A3EB03840070138814081307EB031012E0386001E016157B941B> +110 D<137EEA01C338038180380701C0120E001C13E0123C12381278A338F003C0A21480 +130700701300130E130CEA3018EA1870EA07C013157B9419>I114 +D<13FCEA018338020080EA0401EA0C03140090C7FC120F13F0EA07FC6C7EEA003E130F7F +1270EAF006A2EAE004EA4008EA2030EA1FC011157D9414>I<13C01201A4EA0380A4EA07 +00EAFFF8EA0700A2120EA45AA45AA31310EA7020A213401380EA3100121E0D1F7C9E10> +I<001E1360002313E0EA4380EB81C01283EA8701A238070380120EA3381C0700A31408EB +0E101218121CEB1E20EA0C263807C3C015157B941A>I E /Fs 27 +118 df<90381FC1F090387037189038C03E3C3801807C000313783907003800A9B612C0 +3907003800B2143C397FE1FFC01E2380A21C>11 D<127012F812FCA212741204A41208A2 +1210A212201240060F7C840E>44 D<127012F8A3127005057C840E>46 +D48 D<13801203120F12F31203B3 +A9EA07C0EAFFFE0F217CA018>II<137EEA01C138030080380601C0 +EA0C03121C381801800038C7FCA212781270A2EAF0F8EAF30CEAF4067F00F81380EB01C0 +12F014E0A51270A3003813C0A238180380001C1300EA0C06EA070CEA01F013227EA018> +54 D57 D<497EA3497EA3EB05E0A2EB09F01308A2EB1078A3497EA3497EA2 +EBC01F497EA248B51280EB0007A20002EB03C0A348EB01E0A348EB00F0121C003EEB01F8 +39FF800FFF20237EA225>65 DI<903807F00890383C0C18EBE00239 +01C001B839038000F848C71278481438121E15185AA2007C14081278A200F81400A7EC1F +FF0078EB00F81578127C123CA27EA27E7E6C6C13B86C7E3900E0031890383C0C08903807 +F00020247DA226>71 D<3803FFE038001F007FB3A6127012F8A2130EEAF01EEA401C6C5A +EA1870EA07C013237EA119>74 D77 D<3803F020380C0C60EA18 +02383001E0EA70000060136012E0A21420A36C1300A21278127FEA3FF0EA1FFE6C7E0003 +138038003FC0EB07E01301EB00F0A214707EA46C1360A26C13C07E38C8018038C60700EA +81FC14247DA21B>83 D97 +D99 D101 D<14703803F198380E1E18EA1C0E38380700A200781380A400381300 +A2EA1C0EEA1E1CEA33F00020C7FCA212301238EA3FFE381FFFC06C13E0383000F0481330 +481318A400601330A2003813E0380E03803803FE0015217F9518>103 +D<120E12FE121E120EABEB1F80EB60C0EB80E0380F0070A2120EAF38FFE7FF18237FA21B +>I<121C123EA3121CC7FCA8120E127E121E120EB1EAFFC00A227FA10E>I<120E12FE121E +120EABEB03FCEB01F014C01480EB02005B5B5B133813F8EA0F1CEA0E1E130E7F1480EB03 +C0130114E0EB00F014F838FFE3FE17237FA21A>107 D<380E1F8038FE60C0381E80E038 +0F0070A2120EAF38FFE7FF18157F941B>110 DI114 DI<1202A41206A312 +0E121E123EEAFFFCEA0E00AB1304A6EA07081203EA01F00E1F7F9E13>I<000E137038FE +07F0EA1E00000E1370AD14F0A238060170380382783800FC7F18157F941B>I +E /Ft 1 4 df<13C0A538E0C1C0EAF0C33838C700EA0EDCEA03F0EA00C0EA03F0EA0EDC +EA38C738F0C3C0EAE0C13800C000A512157D9619>3 D E /Fu 18 +117 df<1403A34A7EA24A7EA3EC17E01413A2EC23F01421A2EC40F8A3EC807CA2903801 +007E153EA20102133F81A2496D7EA3496D7EA2011880011FB5FCA29039200003F01501A2 +496D7EA349147CA20001157E90C8123EA248153F825AD81F80EC3F80D8FFE0903801FFFC +A22E327EB132>65 D68 D72 DI80 +D<90387F80203801FFE03907C07860380F001C001EEB06E0481303003813010078130012 +70156012F0A21520A37E1500127C127E7E13C0EA1FF86CB47E6C13F06C13FCC613FF010F +1380010013C0EC1FE01407EC03F01401140015F8A26C1478A57E15706C14F015E07E6CEB +01C000ECEB038000C7EB070038C1F01E38807FFCEB0FF01D337CB125>83 +D<007FB712E0A23A7E000F800700781501007015000060166000401620A200C01630A248 +1610A6C71500B3AC4A7E010FB57EA22C317EB030>I<13FE380303C0380C00E000101370 +80003C133C003E131C141EA21208C7FCA3EB0FFEEBFC1EEA03E0EA0F80EA1F00123E123C +127C481404A3143EA21278007C135E6CEB8F08390F0307F03903FC03E01E1F7D9E21>97 +D99 D101 D<15F090387F03083901C1C41C380380E83907007008 +48EB7800001E7FA2003E133EA6001E133CA26C5B6C13706D5A3809C1C0D8087FC7FC0018 +C8FCA5121C7E380FFFF86C13FF6C1480390E000FC00018EB01E048EB00F0007014704814 +38A500701470A26C14E06CEB01C00007EB07003801C01C38003FE01E2F7E9F21>103 +DI<120FEA1F80A4EA0F00C7FCABEA0780 +127FA2120F1207B3A6EA0FC0EAFFF8A20D307EAF12>I108 D<260780FEEB1FC03BFF83078060F0903A8C03C180 +783B0F9001E2003CD807A013E4DA00F47F01C013F8A2495BB3A2486C486C133F3CFFFC1F +FF83FFF0A2341F7E9E38>I111 +D<380783E038FF8418EB887CEA0F90EA07A01438EBC000A35BB3487EEAFFFEA2161F7E9E +19>114 D<1340A513C0A31201A212031207120F381FFFE0B5FC3803C000B01410A80001 +132013E000001340EB78C0EB1F00142C7FAB19>116 D E /Fv 62 +124 df<90380FF83F90397FFDFFC03A01F81FE3E03903E03F87EA07C0D80F801307ED03 +C06EC7FCA6B612FCA2260F801FC7FCB2397FF0FFF0A223237FA221>11 +DI<38380380387C07C038FE0FE000FF13F0A2EA7F0738 +3B03B038030030A300061360A24813C0EA1C010018138038700700EA200214117EA21D> +34 D<13181330136013C01201EA0380EA0700A2120E121E121C123CA35AA412F85AAB7E +1278A47EA3121C121E120E7EA2EA0380EA01C012001360133013180D317BA416>40 +D<12C012607E7E121C7E7EA2EA038013C0120113E0A3EA00F0A413F81378AB13F813F0A4 +EA01E0A313C012031380EA0700A2120E5A12185A5A5A0D317DA416>I45 D<1238127C12FEA3127C123807077C8610>I<13FE3807FFC0380F83E0381F01 +F0383E00F8A248137CA312FC147EAD007C137CA36C13F8A2381F01F0380F83E03807FFC0 +3800FE0017207E9F1C>48 D<13181378EA01F812FFA21201B3A7387FFFE0A213207C9F1C +>II<13FE3807FFC0380F07E0381E03F0123FEB81F8A3EA +1F0314F0120014E0EB07C0EB1F803801FE007F380007C0EB01F014F8EB00FCA2003C13FE +127EB4FCA314FCEA7E01007813F8381E07F0380FFFC03801FE0017207E9F1C>I<14E013 +011303A21307130F131FA21337137713E7EA01C71387EA03071207120E120C1218123812 +7012E0B6FCA2380007E0A790B5FCA218207E9F1C>I<00301320383E01E0383FFFC01480 +14005B13F8EA33C00030C7FCA4EA31FCEA37FF383E0FC0383807E0EA3003000013F0A214 +F8A21238127C12FEA200FC13F0A2387007E0003013C0383C1F80380FFF00EA03F815207D +9F1C>II<12601278387FFFFEA214FC14F8 +A214F038E0006014C038C00180EB0300A2EA00065B131C131813381378A25BA31201A312 +03A76C5A17227DA11C>I<13FE3803FFC0380703E0380E00F05A1478123C123E123F1380 +EBE0F0381FF9E0EBFFC06C13806C13C06C13E04813F0381E7FF8383C1FFCEA7807EB01FE +EAF000143E141EA36C131C007813387E001F13F0380FFFC00001130017207E9F1C>II<1470A214F8A3497EA2497EA3EB067FA2010C7F +143FA2496C7EA201307F140F01707FEB6007A201C07F90B5FC4880EB8001A2D803007F14 +004880000680A23AFFE007FFF8A225227EA12A>65 DIII70 DIII<48B51280A2390003F800B3A41218127E12FFA35C387E07E0387C0FC0381FFF +80D807FCC7FC192280A11D>IIII79 DI82 D<3801FE023807FF86381F01 +FE383C007E007C131E0078130EA200F81306A27E1400B4FC13E06CB4FC14C06C13F06C13 +F86C13FC000313FEEA003F1303EB007F143FA200C0131FA36C131EA26C133C12FCB413F8 +38C7FFE00080138018227DA11F>I<007FB61280A2397E03F80F00781407007014030060 +140100E015C0A200C01400A400001500B3A248B512F0A222227EA127>IIII<00041340000E13E038180180EA380300301300EA6006A2485AA338DC0DC038FE0FE0 +00FF13F0A2EA7F07383E03E0381C01C014117AA21D>92 D97 DIII<13FE3807FF80380F87C0381E01E0003E13F0EA7C0014F812FCA2 +B5FCA200FCC7FCA3127CA2127E003E13186C1330380FC0703803FFC0C6130015167E951A +>II<3801FE0F3907FFBF80380F87C7381F03E7391E01E000003E7FA500 +1E5BEA1F03380F87C0EBFF80D809FEC7FC0018C8FCA2121C381FFFE06C13F86C13FE001F +7F383C003F48EB0F80481307A40078EB0F006C131E001F137C6CB45A000113C019217F95 +1C>II<121C123E127FA3123E121CC7FCA7B4FCA2121FB2EAFFE0A20B247EA310>I107 DI<3AFF07F007F090391FFC1FFC3A1F303E303E01401340496C487EA20100 +1300AE3BFFE0FFE0FFE0A22B167E9530>I<38FF07E0EB1FF8381F307CEB403CEB803EA2 +1300AE39FFE1FFC0A21A167E951F>I<13FE3807FFC0380F83E0381E00F0003E13F84813 +7CA300FC137EA7007C137CA26C13F8381F01F0380F83E03807FFC03800FE0017167E951C +>I<38FF0FE0EB3FF8381FE07CEB803E497E1580A2EC0FC0A8EC1F80A29038803F00EBC0 +3EEBE0FCEB3FF8EB0FC090C8FCA8EAFFE0A21A207E951F>IIII<487EA41203A21207A2120F123FB5FCA2EA0F80ABEB8180A5EB8300EA07C3 +EA03FEEA00F811207F9F16>I<38FF01FEA2381F003EAF147E14FE380F81BE3907FF3FC0 +EA01FC1A167E951F>I<39FFE01FE0A2391F800700000F1306EBC00E0007130C13E00003 +5BA26C6C5AA26C6C5AA2EB7CC0A2137F6D5AA26DC7FCA2130EA21B167F951E>I<3AFFE3 +FF07F8A23A1F007800C09038807C01000F1580A23A07C07E030014DE5D3903E1DF06148F +D801F1138CEBF307A2D800FF13D8EBFE0315F890387C01F0A2013C5BEB3800A225167F95 +28>I<39FFE01FE0A2391F800700000F1306EBC00E0007130C13E000035BA26C6C5AA26C +6C5AA2EB7CC0A2137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC3813305BEA69C0EA7F +80001FC8FC1B207F951E>121 D123 D E +/Fw 2 13 df11 DI E /Fx 18 117 df<1578A215FCA34A7EA24A7EA24A7F +A34A7FEC0E7F021E7FEC1C3FA202387F151F02787FEC700FA202E07F1507010180ECC003 +A249486C7EA201078191C7FC498191B6FCA24981011CC7123F013C810138141FA2498116 +0F01F081491407A2484881486C1403B549B512FCA336317DB03D>65 +D68 D72 +DI80 D<90391FF8018090B51203000314C739 +07F007EF390F8000FF48C7127F003E141F150F5A150712FCA215037EA26C91C7FC13C0EA +7FF0EBFF806C13F8ECFF806C14F06C806C806C14FFC6FC013F1480010114C0D9001F13E0 +1401EC003FED1FF0150F1507126000E01403A316E07EA26CEC07C07EB4EC0F8001C0EB1F +00D8FBFC13FE00F1B512F8D8E03F5BD8C003138024317CB02D>83 +D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A3481603 +A5C792C7FCB3AA017FB6FCA331307DAF38>I97 D99 D101 D<90391FF007C09039FFFE3FE03A01F83F79F03907E00F +C3000F14E19039C007E0E0001FECF000A2003F80A5001F5CA2000F5CEBE00F00075C2603 +F83FC7FC3806FFFE380E1FF090C9FC121EA2121F7F90B57E6C14F015FC6C806C80168000 +0F15C0003FC7127F007EEC1FE0007C140F00FC1407A4007EEC0FC0003E1580003F141FD8 +0FC0EB7E003907F803FC0001B512F0D8001F90C7FC242F7E9F28>103 +DII108 D<2703F007F8EB1FE000FFD93FFEEBFFF8913A783F01E0FC +02C090388300FE280FF1801FC6137F2607F30013CC01F602F8148001FC5CA3495CB3B500 +C3B5380FFFFCA33E207D9F43>I111 D<3803F03F00FFEB7FC09038F1C3E01487390FF30FF0EA07F6A29038FC07E0EC03 +C091C7FCA25BB2B512E0A31C207E9F21>114 D<131CA5133CA3137CA213FC1201120312 +07381FFFFEB5FCA2D803FCC7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB07F019 +2E7FAD1F>116 D E end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 300dpi +TeXDict begin + +%%EndSetup +%%Page: 0 1 +0 0 bop 369 0 a + 19142492 4341596 7893811 20787036 27036303 25128632 startTexFig + 369 0 a +%%BeginDocument: uofatop.ps +/CanvasDict where not{/CanvasDict 250 dict def}{pop}ifelse +CanvasDict begin +systemdict/setpacking known{/origpack currentpacking def true setpacking}if +/bdf{bind def}bind def +/xdf{exch bind def}bdf +/min{2 copy gt{exch}if pop}bdf +/edf{exch def}bdf +/max{2 copy lt{exch}if pop}bdf +/cvmtx matrix def +/tpmx matrix def +/currot 0 def +/rotmtx matrix def +/origmtx matrix def +/cvangle{360 exch sub 90 add 360 mod}bdf +/setrot{/currot edf rotmtx currentmatrix pop 2 copy translate currot rotate neg exch neg exch translate}bdf +/endrot{rotmtx setmatrix}bdf +/i systemdict/image get def/T true def/F false def/dbg F def +/ncolors 0 def/st0 ()def/st1 ()def/proc0 {}def +/penh 1 def/penv 1 def/penv2 0 def/penh2 0 def/samplesize 0 def/width 0 def/height 0 def +/setcmykcolor where not{/setcmykcolor{/b edf 3{b add 1.0 exch sub 0.0 max 1.0 min 3 1 roll}repeat systemdict begin setrgbcolor end}bdf}{pop}ifelse +/doeoclip{closepath{eoclip}stopped{currentflat dup 2 mul setflat eoclip setflat}if}bdf +/SpaceExtra 0 def/LetterSpace 0 def/StringLength 0 def/NumSpaces 0 def/JustOffset 0 def +/f0/fill load def +/s0{1 setlinewidth cvmtx currentmatrix pop penh penv scale stroke cvmtx setmatrix}bdf +/f1{_bp _fp impat}def +/s1{cvmtx currentmatrix pop 1 setlinewidth penh penv scale +{strokepath}stopped{currentflat dup 2 mul setflat strokepath setflat}if +_bp +cvmtx setmatrix _fp impat}def +/filltype 0 def +/stroketype 0 def +/f{filltype 0 eq{f0}{f1}ifelse}bdf +/s{stroketype 0 eq{s0}{s1}ifelse}bdf +/_fp{}def +/_bp{}def +/_fg 1 def +/_pg 0 def +/_bkg 1 def +/_frg 0 def +/_frgb 3 array def +/_frrgb [0 0 0] def +/_fcmyk 4 array def +/_frcmyk [0 0 0 1] def +/_prgb 3 array def +/_pcmyk 4 array def +/_bkrgb [1 1 1] def +/_bkcmyk [0 0 0 0] def +/fg{/_fg exch def /filltype 0 def/fills{_fg setgray}def}def +/frgb{_frgb astore pop /filltype 0 def/fills{_frgb aload pop setrgbcolor}def}def +/fcmyk{_fcmyk astore pop /filltype 0 def/fills{_fcmyk aload pop setcmykcolor}def}def +/pg{/_pg exch def /stroketype 0 def/pens{_pg setgray}def}def +/prgb{_prgb astore pop /stroketype 0 def/pens{_prgb aload pop setrgbcolor}def}def +/pcmyk{_pcmyk astore pop /stroketype 0 def/pens{_pcmyk aload pop setcmykcolor}def}def +/fpat{/fstr edf/filltype 1 def/fills{/patstr fstr def}bdf}bdf +/ppat{/sstr edf/stroketype 1 def/pens{/patstr sstr def}bdf}bdf +/bkg{ /_bkg exch def /_bp{gsave _bkg setgray fill grestore}def}def +/bkrgb{_bkrgb astore pop/_bp{gsave _bkrgb aload pop setrgbcolor fill grestore}def}def +/bkcmyk{_bkcmyk astore pop/_bp{gsave _bkcmyk aload pop setcmykcolor fill grestore}def}def +/frg{ /_frg exch def /_fp{_frg setgray}def}def +/frrgb{_frrgb astore pop/_fp{_frrgb aload pop setrgbcolor}def}def +/frcmyk{_frcmyk astore pop/_fp{_frcmyk aload pop setcmykcolor}def}def +/icomp{/ncolors edf +ncolors 1 gt{/proc0 edf +dup dup 0 get ncolors div cvi exch 0 3 -1 roll put +4 -1 roll ncolors div cvi 4 1 roll{proc0 dup/st0 edf +0 exch ncolors exch length +dup ncolors sub exch ncolors div cvi string/st1 edf +{dup 0 exch dup 1 exch +2 add{st0 exch get add}bind for +3 div ncolors 4 eq{exch dup 3 1 roll 3 add st0 exch get add 255 exch sub dup 0 lt{pop 0}if}if cvi +dup 255 gt{pop 255}if +exch ncolors div cvi exch +st1 3 1 roll put}bind for +st1}}if i}bdf +/ci +{/colorimage where +{pop false exch colorimage} +{icomp} +ifelse}bdf +/impat +{/cnt 0 def +/MySave save def +currot 0 ne{currot neg rotate}if +clip +flattenpath +pathbbox +3 -1 roll +8 div floor 8 mul dup/starty edf +sub abs 8 div ceiling 8 mul cvi/height edf +exch 8 div floor 8 mul dup/startx edf +sub abs 8 div ceiling 8 mul cvi/width edf +startx starty translate +width height scale +/height height 8 mul def +/st0 width string def +width height T [width 0 0 height neg 0 height] +{patstr +cnt 8 mod +get/st1 edf +0 1 +st0 length 1 sub dup 0 le{pop 1}if +{st0 exch +st1 +put}bind for/cnt cnt 1 add def +st0}bind +imagemask +MySave restore +newpath}bdf +/cm{/ncolors edf +translate +scale/height edf/colorimage where +{pop} +{ncolors mul}ifelse/width edf +/tbitstr width string def +width height 8 [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +ncolors +dup 3 eq {ci}{icomp}ifelse}bdf +/im{translate +scale +/height edf +/width edf +/tbitstr width 7 add 8 div cvi string def +width height 1 [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +i}bdf +/imk{/invFlag edf +translate +scale +/height edf +/width edf +/tbitstr width 7 add 8 div cvi string def +width height invFlag [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +imagemask}bdf +/BeginEPSF +{/MySave save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap +1 setlinewidth 0 setlinejoin +10 setmiterlimit [] 0 setdash newpath +/languagelevel where +{pop languagelevel 1 ne{false setstrokeadjust false setoverprint}if}if +}bdf +/EndEPSF +{count op_count sub {pop}repeat +countdictstack dict_count sub {end}repeat +MySave restore}bdf +/rectpath {/cv_r edf/cv_b edf/cv_l edf/cv_t edf +cv_l cv_t moveto cv_r cv_t lineto cv_r cv_b lineto cv_l cv_b lineto cv_l cv_t lineto closepath}bdf +/setpen{/penh edf/penv edf/penv2 penv 2 div def/penh2 penh 2 div def}bdf +/dostroke{not pens 1.0 currentgray ne or {s}{newpath}ifelse}bdf +/dodashfill{not fills 1.0 currentgray ne or +{gsave f grestore gsave [] 0 setdash +stroketype/stroketype filltype def +s/stroketype edf grestore}{newpath}ifelse}bdf +/dofill{not fills 1.0 currentgray ne or {f}{newpath}ifelse}bdf +/dofillsave{not fills 1.0 currentgray ne or {gsave f grestore}if}bdf +/doline{not pens 1.0 currentgray ne or {filltype/filltype stroketype def f/filltype edf}{newpath}ifelse}bdf +/spx{SpaceExtra 0 32 4 -1 roll widthshow}bdf +/lsx{SpaceExtra 0 32 LetterSpace 0 6 -1 roll awidthshow}bdf +/Rjust{stringwidth pop JustOffset exch sub /JustOffset edf}bdf +/Cjust{stringwidth pop 2 div JustOffset exch sub /JustOffset edf}bdf +/adjfit{stringwidth pop LetterSpace StringLength 1 sub mul add SpaceExtra NumSpaces mul add dup /pw edf JustOffset exch +sub dup /wdif edf StringLength div dup abs 1.0 gt{pop 0}if LetterSpace add /LetterSpace edf}bdf +/ulb{currentpoint pop /underlinpt edf}bdf +/ule{gsave currentpoint newpath moveto currentfont dup /ft1 known{dup /ft1 get begin /FontMatrix get FontMatrix tpmx concatmatrix pop} +{begin FontMatrix tpmx copy pop}ifelse FontInfo begin UnderlinePosition UnderlineThickness end end dup tpmx +dtransform pop setlinewidth dup tpmx dtransform pop 0 exch rmoveto underlinpt currentpoint pop sub 0 rlineto stroke grestore}bdf +/fittext{ /SpaceExtra edf /LetterSpace edf /StringLength edf /NumSpaces edf /JustOffset edf not 1 currentgray ne or +{dup {ulb}if exch +dup adjfit +lsx {ule}if}{pop pop}ifelse}bdf +/cvRecFont{/encod edf FontDirectory 2 index known{cleartomark}{findfont dup length 1 add dict begin +{1 index/FID ne{def}{pop pop}ifelse}forall encod{/Encoding CVvec def}if +currentdict end definefont cleartomark}ifelse}bdf +/wrk1 ( ) def/wdict 16 dict def +/Work75 75 string def /Nmk{Work75 cvs dup}bdf /Npt{put cvn}bdf /dhOdh{Nmk 2 79 Npt}bdf /dhodh{Nmk 2 111 Npt}bdf /dhSdh{Nmk 2 83 Npt}bdf +/sfWidth{gsave 0 0 moveto 0 0 lineto 0 0 lineto 0 0 lineto closepath clip stringwidth grestore}bdf +/MakOF{dup dhodh FontDirectory 1 index known{exch pop}{exch findfont dup length 1 add dict begin +{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall +/PaintType 2 def +/StrokeWidth .24 1000 mul ftSize div dup 12 lt{pop 12}if def +dup currentdict end definefont pop}ifelse}bdf +/fts{dup/ftSize edf}def +/mkFT{/tempFT 11 dict def tempFT begin +/FontMatrix [1 0 0 1 0 0] def/FontType 3 def +FontDirectory 3 index get /Encoding get/Encoding exch def +/proc2 edf/ft2 exch findfont def/ft1 exch findfont def/FontBBox [0 0 1 1] def +/BuildChar{wdict begin/chr edf/ftdt edf/chrst wrk1 dup 0 chr put def ftdt/proc2 get exec end}def +end tempFT definefont pop}bdf +/OLFt{dup dhOdh FontDirectory 1 index known{exch pop} +{dup 3 -1 roll dup MakOF {outproc} mkFT}ifelse}bdf +/mshw{moveto show}bdf +/outproc{ftdt/ft1 get setfont gsave chrst sfWidth grestore setcharwidth dblsh}bdf +/dblsh{currentgray 1 setgray chrst 0 0 mshw setgray ftdt/ft2 get setfont chrst 0 0 mshw}bdf +/ShadChar{ftdt/ft1 get setfont gsave chrst sfWidth 1 index 0 ne{exch .05 add exch}if grestore setcharwidth +chrst .06 0 mshw 0 .05 translate dblsh}bdf +/ShFt{dup dhSdh FontDirectory 1 index known{exch pop} +{dup 3 -1 roll dup MakOF {ShadChar} mkFT}ifelse}bdf +/LswUnits{72 75 div dup scale}bdf +/erasefill{_bp}def +/CVvec 256 array def +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +CVvec 0 32 getinterval astore pop +CVvec 32/Times-Roman findfont/Encoding get +32 96 getinterval putinterval CVvec dup 39/quotesingle put 96/grave put +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +CVvec 128 128 getinterval astore pop +end +CanvasDict begin +0 setlinecap +0 setlinejoin +4 setmiterlimit +/currot 0 def +origmtx currentmatrix pop +[] 0 setdash +1 1 setpen +1 fg +0 pg +0 frg +1 bkg +newpath +/dbg F def +% ---- Object #1:5 Obj Type: 99 +% ---- Object #2:6 Obj Type: 4 +save /MySave edf +381 122 318 185 rectpath +doeoclip newpath +0 setgray +189 189 63 63 122 318 false imk +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFC1FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFF0C7FFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFF1C3FFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFE3E3FFCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FFC3E1FF8FFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF87FC7F1FE0FFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF81FC7F8F80FFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF807CFF8704FFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9038FFC41CFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9E01FFC07CFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9F01FFE0FCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FC1FFF1FCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FE3FFF1FCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FFFFFFFFCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FFFFFFFFCFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFF9FFFFFFFFC0001FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFC0001FFFFFFFFC0001FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFC0001FFFFFFFFC0001FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFE0001FFFFFFFFFFFE3FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFE3FFFFFFFFFFFFFFE3FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF1FFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF0FFFFFFFFFFFFFF8FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF8FFF8001C001FFF8FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF87FF80000001FFF1FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFC7FF1FF00FF8FFF1FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFE3F01FFC3FF80FE3FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFE3F01FFE7FF80FE3FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF1F01FFE7FF80FC7FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF1F01FFE7FF98FCFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFF0F19FFE7FF98F87FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFE0F19FFE7FF98FC1FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFC1F19FFE7FF98FC0FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF07F19FFE7FF98FF03FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFC1FF19FFE7FF98FFC0FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFF83FF19FFE7FF98FFF07FFFFFFFFFFFFFFF +FFFFFFFFFFFFFE0FFF19FFE7FF98FFF83FFFFFFFFFFFFFFF +FFFFFFFFFFFFFE1FFF1800C30018FFF07FFFFFFFFFFFFFFF +FFFFFFFFFFFFFE0FFF1800000018FFE0FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFF07FF187C007C18FFC1FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFF83FF1FFFC3FFF8FF83FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFE0FF1FC3E7C3F8FF07FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFF07F0000000000FE0FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFC3F0000000000FC1FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFE1F0000000000FC3FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFF00FFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FFDFFFFFE7FFFFFBFFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FF8FFFFFC3FFFFF1FFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FE03FFFF00FFFFC0FFE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3FC21FFFE107FFF847FE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3F871FFFC383FFF0C3FE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3F0F8FFFC7C1FFE1E1FE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3E1FC7FF8FE0FFC3F0FE3FFFFFFFFFFFFFF +FFFFFFFFFFFFC3C3FC3FF1FF07F87F87E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC387FE1FE1FF83F0FFC3E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC30FFF0FC3FFC1E1FFE1E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC21FFF8787FFE1C3FFF0E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC23FFFC30FFFF087FFF863FFFFFFFFFFFFFF +FFFFFFFFFFFFC07FFFE01FFFF80FFFFC23FFFFFFFFFFFFFF +FFFFFFFFFFFFC0FFFFF03FFFFC1FFFFE03FFFFFFFFFFFFFF +FFFFFFFFFFFFC0FF07F87F80FC3F803F03FFFFFFFFFFFFFF +FFFFFFFFFFFFC1F001FCFC003E7E000F83FFFFFFFFFFFFFF +FFFFFFFFFFFFC3E0007FF8000FFC0003C3FFFFFFFFFFFFFF +FFFFFFFFFFFFC380001FE00003F00001E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC300000FC00001E00000E3FFFFFFFFFFFFFF +FFFFFFFFFFFFC2000007800001C0000063FFFFFFFFFFFFFF +FFFFFFFFFFFFC200000000000000000023FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC000000000000000000003FFFFFFFFFFFFFF +FFFFFFFFFFFFC1FFFFFFFFFFFFFFFFFF83FFFF8FFFFFFFFF +FFFFFFF3FFFFC1FFFFFFFFFFFFFFFFFF83FFFF87FFFFFFFF +FFFFFFE3FFFFE1FFFFFFFFFFFFFFFFFF87FFFF83FFFFFFFF +FFFFFFC1FFFFE0FFEFFF7FEFFEFFF7FF87FFFF81FFFFFFFF +FFFFFF81FFFFE0FFE7FE7FEFFE7FE3FF87FFFF887FFFFFFF +FFFFFE11FFFFE0FEE6FE77C77C7EE2FF0FFFFF1C3FFFFFFF +FFFFFE39FFFFF0FEE6EE77C77476E2FF0FFFFE3E1FFFFFFF +FFFFF8783FFFF0FE64EE66C6726634FE0FFFF03F07FFFFFF +FFFFF0FE1FFFF0FE3CE7E67C71CF1CFE1FFFC1FFC3FFFFFF +FFFFE1FF07FFF8FE3CE3C638718F89FC1FFF03FFE3FFFFFF +FFFFC3FFC0FFF87F19F18F18F997C9FC1FFC0FFFF1FFFFFF +FFFF8FFFF07FF87F99F9979975B6EBFC3FF07F1FF8FFFFFF +FFFE1FF8FC1FFC3EDAEFB6DF77E67EF83FC1FC07F87FFFFF +FFFC3FE07E0FFC3EFCE7E67E73C63CF07FC3F803FE7FFFFF +FFFC7FC03F87FE1E7CE3C63C718F1CF07F8FF1E1FE7FFFFF +FFF8FF871FE3FE1E3CE38E38F98F08E0FF1FE3E0FE7FFFFF +FFF8FF078FF1FE0F19F19799FD9F89E0FE3FE3E07E7FFFFF +FFF8FE0FC7F8FE0F99F9B79B75BFC9C1FE3FC7E03C7FFFFF +FFFC7E07C3F8FF07DBEFE6FE77E7FFC1FC7F8FE2187FFFFF +FFFC7C47E1FCFF03FFE7E67C73C7F783FC7F1FC708FFFFFF +FFFE38E3F0FC7F83EFE38E38718FF703FC7E3F8781FFFFFF +FFFE10F1F8FC7FC1EFF19F18F91FF707FE387F8FC3FFFFFF +FFFF01F1FC7CFFC0EFF99799753FFE0FFE00FF1FE3FFFFFF +FFFF83F87E00FFE07FE5A65E71C7FC1FFF03FC3FF0FFFFFF +FFFF8FFC3F83FFF83FE7C67C718FF83FFFC7F87FF87FFFFF +FFFF1FFE1FC3FFF81FE38E38F90FF07FFFE3F8FFFC3FFFFF +FFFE3FFF0FC7FFFC0FF19F19F91FF0FFFFF1F1FFFE1FFFFF +FFFC7FFF878FFFFE07F9BE9B7D3FC1FFFFF8E3FFFF1FFFFF +FFF8FFFFC31FFFFF03FFFEFF7FFF81FFFFF843FFFF8FFFFF +FFF1FF03E03FFFFF81FEFE7E7EFF03FFFFFC0783FF8FFFFF +FFF1FE09F07FFFFFC0FEFE3C7EFE07FFFFFE0FC0FF8FFFFF +FFF1FE3EF87FFFFFE07EFF18FEFC0FFFFFFE1FC41F8FFFFF +FFF9FE7E7C7FFFFFF03FFF99FFF01FFFFFFC3FEE0F1FFFFF +FFF8FCFE7E3FFFFFFC0FFFDBFFE03FFFFFF87FE48F1FFFFF +FFFC7CFE7E1FFFFFFC03FFFFFF80FFFFFFE0F9F1FE3FFFFF +FFFC3EFC7F87FFFFFE00FFEFFE01FFFFFFC3F079FC7FFFFF +FFFE3EF877C3FFFFFF807FEFFC03FFFFFF87E479F8FFFFFF +FFFE1EF0E3E1FFFFFFC01FEFF80FFFFFFE0FC679F8FFFFFF +FFFF0E01C7F07FFFFFF003FFC03FFFFFFC3FC07DF1FFFFFF +FFFF870787FC0FFFFFFC003800FFFFFFF07CE007C3FFFFFF +FFFFE37F1FBF83FFFFFFC00003FFFFFFC3F9F8CF87FFFFFF +FFFFE1FE3F3FC0FFFFFFF8001FFFFFFF07E3F87F8FFFFFFF +FFFFF8FE7E7FF0FFFFFFFC007FFFFFFC0FE3FC7F1FFFFFFF +FFFFFCFE7EFFFC1FFFFFFF83FFFFFFF03FF13E7C3FFFFFFF +FFFFFC7F7CF8FE07FFFFFFFFFFFFFFC0FFB87FF87FFFFFFF +FFFFFE3F39F0FF01FFFFFFFFFFFFFE03FFB87FF0FFFFFFFF +FFFFFF0FC3C1FFE03FFFFFFFFFFFF81FFFBC77E1FFFFFFFF +FFFFFF87FF11FFF803FFFFFFFFFF807FE3BE07C3FFFFFFFF +FFFFFF83FE31F3FE01FFFFFFFFFE01FFE39F0F87FFFFFFFF +FFFFFFE1FEC3F0FFC01FFFFFFFE007FFF19F3F0FFFFFFFFF +FFFFFFF0FFE3E2FFFC003FFFF0007FFFF89FFC3FFFFFFFFF +FFFFFFF83FE3E7FFFF8000000007FFFFFC1FF87FFFFFFFFF +FFFFFFFC1FE3C7FFFFF00000003FFF3FFE1FF8FFFFFFFFFF +FFFFFFFF0FE7C1E03FFFF0001FFFFCFFFF1FE1FFFFFFFFFF +FFFFFFFF81F70C879DFFFFFFFFFF8CFFFFFF03FFFFFFFFFF +FFFFFFFFF0FF1F9FFDFFFFFFFFCFCC1FFFFC1FFFFFFFFFFF +FFFFFFFFF87F8F1FF9F3FFFF83CFCC3FFFF83FFFFFFFFFFF +FFFFFFFFFE1FE71FF9F39F3E79C7CE7FFFE0FFFFFFFFFFFF +FFFFFFFFFE07FF9FF9F79F3C7CE7CE7FFF83FFFFFFFFFFFF +FFFFFFFFFF81FF9FF1E70E3CFCE7CE37FE07FFFFFFFFFFFF +FFFFFFFFFFC0FFCFF1E70C38FCE7CE07FC1FFFFFFFFFFFFF +FFFFFFFFFFF01FE0F1EF4538FCE7CF3FF07FFFFFFFFFFFFF +FFFFFFFFFFFC07FFF1CF453CFCE3CFFFC1FFFFFFFFFFFFFF +FFFFFFFFFFFF01FFF9CE613CFCF19FFF03FFFFFFFFFFFFFF +FFFFFFFFFFFFC0FFFC1EE33C7DF03FFC07FFFFFFFFFFFFFF +FFFFFFFFFFFFF81FFFFEE33E31FFFFC03FFFFFFFFFFFFFFF +FFFFFFFFFFFFFE03FFFEF73F81FFFE00FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFF007FFFFFFFF9FFF803FFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFE007FFFFFFFDFF801FFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFE003FFFFFFFF001FFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFC0000000000007FFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +MySave restore +% ---- Object #3:7 Obj Type: 2 +save +0 setgray +mark /|___Times-Bold /Times-Bold T cvRecFont +24 fts /|___Times-Bold findfont exch scalefont setfont +0 setgray +190 344 moveto +(University of Alberta) +F F 217.2422 2 21 0 0 fittext +restore +origmtx setmatrix +systemdict /setpacking known {origpack setpacking} if end + +%%EndDocument + + endTexFig + 227 633 a Fx(The)27 b(APHID)g(P)n(arallel)e Fw(\013\014)31 +b Fx(Searc)n(h)26 b(Algorithm)945 991 y Fv(b)n(y)414 +1109 y(Mark)18 b(G.)h(Bro)r(c)n(kington)e(and)i(Jonathan)h(Sc)n +(hae\013er)636 2067 y(T)-5 b(ec)n(hnical)18 b(Rep)r(ort)g(TR)g(96{07) +821 2126 y(August)i(1996)379 2430 y + 18813584 3223306 8025374 21313290 26838958 24536596 startTexFig + 379 2430 a +%%BeginDocument: uofabot.ps +/CanvasDict where not{/CanvasDict 250 dict def}{pop}ifelse +CanvasDict begin +systemdict/setpacking known{/origpack currentpacking def true setpacking}if +/bdf{bind def}bind def +/xdf{exch bind def}bdf +/min{2 copy gt{exch}if pop}bdf +/edf{exch def}bdf +/max{2 copy lt{exch}if pop}bdf +/cvmtx matrix def +/tpmx matrix def +/currot 0 def +/rotmtx matrix def +/origmtx matrix def +/cvangle{360 exch sub 90 add 360 mod}bdf +/setrot{/currot edf rotmtx currentmatrix pop 2 copy translate currot rotate neg exch neg exch translate}bdf +/endrot{rotmtx setmatrix}bdf +/i systemdict/image get def/T true def/F false def/dbg F def +/ncolors 0 def/st0 ()def/st1 ()def/proc0 {}def +/penh 1 def/penv 1 def/penv2 0 def/penh2 0 def/samplesize 0 def/width 0 def/height 0 def +/setcmykcolor where not{/setcmykcolor{/b edf 3{b add 1.0 exch sub 0.0 max 1.0 min 3 1 roll}repeat systemdict begin setrgbcolor end}bdf}{pop}ifelse +/doeoclip{closepath{eoclip}stopped{currentflat dup 2 mul setflat eoclip setflat}if}bdf +/SpaceExtra 0 def/LetterSpace 0 def/StringLength 0 def/NumSpaces 0 def/JustOffset 0 def +/f0/fill load def +/s0{1 setlinewidth cvmtx currentmatrix pop penh penv scale stroke cvmtx setmatrix}bdf +/f1{_bp _fp impat}def +/s1{cvmtx currentmatrix pop 1 setlinewidth penh penv scale +{strokepath}stopped{currentflat dup 2 mul setflat strokepath setflat}if +_bp +cvmtx setmatrix _fp impat}def +/filltype 0 def +/stroketype 0 def +/f{filltype 0 eq{f0}{f1}ifelse}bdf +/s{stroketype 0 eq{s0}{s1}ifelse}bdf +/_fp{}def +/_bp{}def +/_fg 1 def +/_pg 0 def +/_bkg 1 def +/_frg 0 def +/_frgb 3 array def +/_frrgb [0 0 0] def +/_fcmyk 4 array def +/_frcmyk [0 0 0 1] def +/_prgb 3 array def +/_pcmyk 4 array def +/_bkrgb [1 1 1] def +/_bkcmyk [0 0 0 0] def +/fg{/_fg exch def /filltype 0 def/fills{_fg setgray}def}def +/frgb{_frgb astore pop /filltype 0 def/fills{_frgb aload pop setrgbcolor}def}def +/fcmyk{_fcmyk astore pop /filltype 0 def/fills{_fcmyk aload pop setcmykcolor}def}def +/pg{/_pg exch def /stroketype 0 def/pens{_pg setgray}def}def +/prgb{_prgb astore pop /stroketype 0 def/pens{_prgb aload pop setrgbcolor}def}def +/pcmyk{_pcmyk astore pop /stroketype 0 def/pens{_pcmyk aload pop setcmykcolor}def}def +/fpat{/fstr edf/filltype 1 def/fills{/patstr fstr def}bdf}bdf +/ppat{/sstr edf/stroketype 1 def/pens{/patstr sstr def}bdf}bdf +/bkg{ /_bkg exch def /_bp{gsave _bkg setgray fill grestore}def}def +/bkrgb{_bkrgb astore pop/_bp{gsave _bkrgb aload pop setrgbcolor fill grestore}def}def +/bkcmyk{_bkcmyk astore pop/_bp{gsave _bkcmyk aload pop setcmykcolor fill grestore}def}def +/frg{ /_frg exch def /_fp{_frg setgray}def}def +/frrgb{_frrgb astore pop/_fp{_frrgb aload pop setrgbcolor}def}def +/frcmyk{_frcmyk astore pop/_fp{_frcmyk aload pop setcmykcolor}def}def +/icomp{/ncolors edf +ncolors 1 gt{/proc0 edf +dup dup 0 get ncolors div cvi exch 0 3 -1 roll put +4 -1 roll ncolors div cvi 4 1 roll{proc0 dup/st0 edf +0 exch ncolors exch length +dup ncolors sub exch ncolors div cvi string/st1 edf +{dup 0 exch dup 1 exch +2 add{st0 exch get add}bind for +3 div ncolors 4 eq{exch dup 3 1 roll 3 add st0 exch get add 255 exch sub dup 0 lt{pop 0}if}if cvi +dup 255 gt{pop 255}if +exch ncolors div cvi exch +st1 3 1 roll put}bind for +st1}}if i}bdf +/ci +{/colorimage where +{pop false exch colorimage} +{icomp} +ifelse}bdf +/impat +{/cnt 0 def +/MySave save def +currot 0 ne{currot neg rotate}if +clip +flattenpath +pathbbox +3 -1 roll +8 div floor 8 mul dup/starty edf +sub abs 8 div ceiling 8 mul cvi/height edf +exch 8 div floor 8 mul dup/startx edf +sub abs 8 div ceiling 8 mul cvi/width edf +startx starty translate +width height scale +/height height 8 mul def +/st0 width string def +width height T [width 0 0 height neg 0 height] +{patstr +cnt 8 mod +get/st1 edf +0 1 +st0 length 1 sub dup 0 le{pop 1}if +{st0 exch +st1 +put}bind for/cnt cnt 1 add def +st0}bind +imagemask +MySave restore +newpath}bdf +/cm{/ncolors edf +translate +scale/height edf/colorimage where +{pop} +{ncolors mul}ifelse/width edf +/tbitstr width string def +width height 8 [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +ncolors +dup 3 eq {ci}{icomp}ifelse}bdf +/im{translate +scale +/height edf +/width edf +/tbitstr width 7 add 8 div cvi string def +width height 1 [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +i}bdf +/imk{/invFlag edf +translate +scale +/height edf +/width edf +/tbitstr width 7 add 8 div cvi string def +width height invFlag [width 0 0 height neg 0 height] +{currentfile tbitstr readhexstring pop}bind +imagemask}bdf +/BeginEPSF +{/MySave save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/showpage {} def +0 setgray 0 setlinecap +1 setlinewidth 0 setlinejoin +10 setmiterlimit [] 0 setdash newpath +/languagelevel where +{pop languagelevel 1 ne{false setstrokeadjust false setoverprint}if}if +}bdf +/EndEPSF +{count op_count sub {pop}repeat +countdictstack dict_count sub {end}repeat +MySave restore}bdf +/rectpath {/cv_r edf/cv_b edf/cv_l edf/cv_t edf +cv_l cv_t moveto cv_r cv_t lineto cv_r cv_b lineto cv_l cv_b lineto cv_l cv_t lineto closepath}bdf +/setpen{/penh edf/penv edf/penv2 penv 2 div def/penh2 penh 2 div def}bdf +/dostroke{not pens 1.0 currentgray ne or {s}{newpath}ifelse}bdf +/dodashfill{not fills 1.0 currentgray ne or +{gsave f grestore gsave [] 0 setdash +stroketype/stroketype filltype def +s/stroketype edf grestore}{newpath}ifelse}bdf +/dofill{not fills 1.0 currentgray ne or {f}{newpath}ifelse}bdf +/dofillsave{not fills 1.0 currentgray ne or {gsave f grestore}if}bdf +/doline{not pens 1.0 currentgray ne or {filltype/filltype stroketype def f/filltype edf}{newpath}ifelse}bdf +/spx{SpaceExtra 0 32 4 -1 roll widthshow}bdf +/lsx{SpaceExtra 0 32 LetterSpace 0 6 -1 roll awidthshow}bdf +/Rjust{stringwidth pop JustOffset exch sub /JustOffset edf}bdf +/Cjust{stringwidth pop 2 div JustOffset exch sub /JustOffset edf}bdf +/adjfit{stringwidth pop LetterSpace StringLength 1 sub mul add SpaceExtra NumSpaces mul add dup /pw edf JustOffset exch +sub dup /wdif edf StringLength div dup abs 1.0 gt{pop 0}if LetterSpace add /LetterSpace edf}bdf +/ulb{currentpoint pop /underlinpt edf}bdf +/ule{gsave currentpoint newpath moveto currentfont dup /ft1 known{dup /ft1 get begin /FontMatrix get FontMatrix tpmx concatmatrix pop} +{begin FontMatrix tpmx copy pop}ifelse FontInfo begin UnderlinePosition UnderlineThickness end end dup tpmx +dtransform pop setlinewidth dup tpmx dtransform pop 0 exch rmoveto underlinpt currentpoint pop sub 0 rlineto stroke grestore}bdf +/fittext{ /SpaceExtra edf /LetterSpace edf /StringLength edf /NumSpaces edf /JustOffset edf not 1 currentgray ne or +{dup {ulb}if exch +dup adjfit +lsx {ule}if}{pop pop}ifelse}bdf +/cvRecFont{/encod edf FontDirectory 2 index known{cleartomark}{findfont dup length 1 add dict begin +{1 index/FID ne{def}{pop pop}ifelse}forall encod{/Encoding CVvec def}if +currentdict end definefont cleartomark}ifelse}bdf +/wrk1 ( ) def/wdict 16 dict def +/Work75 75 string def /Nmk{Work75 cvs dup}bdf /Npt{put cvn}bdf /dhOdh{Nmk 2 79 Npt}bdf /dhodh{Nmk 2 111 Npt}bdf /dhSdh{Nmk 2 83 Npt}bdf +/sfWidth{gsave 0 0 moveto 0 0 lineto 0 0 lineto 0 0 lineto closepath clip stringwidth grestore}bdf +/MakOF{dup dhodh FontDirectory 1 index known{exch pop}{exch findfont dup length 1 add dict begin +{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall +/PaintType 2 def +/StrokeWidth .24 1000 mul ftSize div dup 12 lt{pop 12}if def +dup currentdict end definefont pop}ifelse}bdf +/fts{dup/ftSize edf}def +/mkFT{/tempFT 11 dict def tempFT begin +/FontMatrix [1 0 0 1 0 0] def/FontType 3 def +FontDirectory 3 index get /Encoding get/Encoding exch def +/proc2 edf/ft2 exch findfont def/ft1 exch findfont def/FontBBox [0 0 1 1] def +/BuildChar{wdict begin/chr edf/ftdt edf/chrst wrk1 dup 0 chr put def ftdt/proc2 get exec end}def +end tempFT definefont pop}bdf +/OLFt{dup dhOdh FontDirectory 1 index known{exch pop} +{dup 3 -1 roll dup MakOF {outproc} mkFT}ifelse}bdf +/mshw{moveto show}bdf +/outproc{ftdt/ft1 get setfont gsave chrst sfWidth grestore setcharwidth dblsh}bdf +/dblsh{currentgray 1 setgray chrst 0 0 mshw setgray ftdt/ft2 get setfont chrst 0 0 mshw}bdf +/ShadChar{ftdt/ft1 get setfont gsave chrst sfWidth 1 index 0 ne{exch .05 add exch}if grestore setcharwidth +chrst .06 0 mshw 0 .05 translate dblsh}bdf +/ShFt{dup dhSdh FontDirectory 1 index known{exch pop} +{dup 3 -1 roll dup MakOF {ShadChar} mkFT}ifelse}bdf +/LswUnits{72 75 div dup scale}bdf +/erasefill{_bp}def +/CVvec 256 array def +/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US +CVvec 0 32 getinterval astore pop +CVvec 32/Times-Roman findfont/Encoding get +32 96 getinterval putinterval CVvec dup 39/quotesingle put 96/grave put +/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute +/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave +/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute +/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis +/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls +/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash +/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation +/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash +/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft +/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe +/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge +/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl +/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute +/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex +/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde +/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron +CVvec 128 128 getinterval astore pop +end +CanvasDict begin +0 setlinecap +0 setlinejoin +4 setmiterlimit +/currot 0 def +origmtx currentmatrix pop +[] 0 setdash +1 1 setpen +1 fg +0 pg +0 frg +1 bkg +newpath +/dbg F def +% ---- Object #1:5 Obj Type: 99 +% ---- Object #2:6 Obj Type: 2 +save +0 setgray +mark /|___Times-Bold /Times-Bold T cvRecFont +14 fts /|___Times-Bold findfont exch scalefont setfont +0 setgray +125 360 moveto +(DEPARTMENT OF COMPUTING SCIENCE) +F F 280.3589 3 31 0 0 fittext +restore +% ---- Object #3:7 Obj Type: 2 +save +0 setgray +mark /|___Times-Bold /Times-Bold T cvRecFont +12 fts /|___Times-Bold findfont exch scalefont setfont +0 setgray +197 344 moveto +(The University of Alberta) +F F 131.6221 3 25 0 0 fittext +restore +% ---- Object #4:8 Obj Type: 2 +save +0 setgray +mark /|___Times-Bold /Times-Bold T cvRecFont +12 fts /|___Times-Bold findfont exch scalefont setfont +0 setgray +194 328 moveto +(Edmonton, Alberta, Canada) +F F 145.3213 2 25 0 0 fittext +restore +origmtx setmatrix +systemdict /setpacking known {origpack setpacking} if end + +%%EndDocument + + endTexFig + eop +%%Page: 0 2 +0 1 bop eop +%%Page: 1 3 +1 2 bop 350 50 a Fu(The)21 b(APHID)g(P)n(arallel)h Fw(\013\014)k +Fu(Searc)n(h)21 b(Algorithm)1600 24 y Ft(\003)516 170 +y Fs(Mark)16 b(G.)g(Bro)q(c)o(kington,)g Fr(br)n(o)n(ck@cs.ualb)n +(erta.c)n(a)504 228 y Fs(Jonathan)i(Sc)o(hae\013er,)d +Fr(jonathan@cs.ualb)n(erta.c)n(a)685 286 y Fq(Departmen)o(t)f(of)f +(Computing)h(Science)797 345 y(Univ)o(ersit)o(y)h(of)d(Alb)q(erta)727 +403 y(Edmon)o(ton,)i(Alb)q(erta)g(T6G)f(2H1)911 461 y(Canada)802 +558 y Fs(August)k(20,)f(1996)890 749 y Fp(Abstract)161 +814 y Fq(This)g(pap)q(er)h(in)o(tro)q(duces)g(the)e(APHID)g(\(Async)o +(hronous)j(P)o(arallel)f(Hierarc)o(hical)h(Iterativ)o(e)e(Deep)q +(ening\))i(game-)104 860 y(tree)11 b(searc)o(h)i(algorithm.)18 +b(An)12 b(APHID)f(searc)o(h)h(is)h(a)e(hierarc)o(hical)k(searc)o(h)d +(with)g(a)g(master)g(con)o(trolling)j(the)d(top)f(of)h(the)104 +905 y(tree)i(\()p Fo(d)217 889 y Fn(0)242 905 y Fq(ply\),)h(and)g(the)f +(sla)o(v)o(es)h(searc)o(hing)h(the)e(rest)g(of)g(the)g(tree)g(\()p +Fo(d)c Fm(\000)f Fo(d)1192 889 y Fn(0)1217 905 y Fq(ply\).)21 +b(The)14 b(sla)o(v)o(es)h(async)o(hronously)j(read)104 +951 y(w)o(ork)d(lists)h(from)f(the)h(master)f(and)h(return)g(score)f +(information)i(to)f(the)f(master.)24 b(The)15 b(master)g(uses)h(the)f +(returned)104 997 y(score)e(information)i(to)d(generate)i(appro)o +(ximate)h(minimax)f(v)n(alues,)g(un)o(til)h(all)f(of)e(the)h(required)h +(score)g(information)g(is)104 1042 y(a)o(v)n(ailable.)161 +1088 y(APHID)e(has)g(b)q(een)g(programmed)h(as)e(an)h(easy)g(to)g +(implemen)o(t,)h(game-indep)q(enden)o(t)h Fo(\013\014)f +Fq(library)m(.)18 b(This)12 b(has)g(b)q(een)104 1134 +y(demonstrated)g(b)o(y)f(parallelizi)q(ng)j(three)c(programs)i(\(c)o +(hess,)f(c)o(hec)o(k)o(ers)g(and)g(Othello\))h(on)f(a)g(net)o(w)o(ork)g +(of)f(w)o(orkstations,)104 1179 y(eac)o(h)j(with)h(less)f(than)h(a)f +(da)o(y's)g(w)o(orth)g(of)g(e\013ort.)0 1316 y Fl(1)67 +b(In)n(tro)r(duction)0 1407 y Fk(The)18 b(alpha-b)q(eta)f(\()p +Fj(\013\014)r Fk(\))h(minim)o(ax)c(tree)19 b(searc)o(h)f(algorithm)d +(has)j(pro)o(v)o(en)f(to)g(b)q(e)h(a)f(di\016cult)g(algorithm)e(to)i +(parallelize.)0 1457 y(Although)e(sim)o(ulations)e(predict)k(excellen)o +(t)f(parallel)f(p)q(erformance,)g(man)o(y)f(of)h(these)i(results)g(are) +f(based)h(on)e(an)h(unrea-)0 1507 y(sonable)c(set)h(of)e(assumptions.) +17 b(In)12 b(practice,)h(kno)o(wing)e(where)i(to)f(initiate)f(parallel) +g(activit)o(y)g(is)h(di\016cult)g(since)h(the)f(result)0 +1557 y(of)h(searc)o(hing)i(one)f(no)q(de)h(at)f(a)f(branc)o(h)i(ma)o(y) +d(ob)o(viate)i(the)g(parallel)f(w)o(ork)h(of)f(the)i(other)g(branc)o +(hes)g(\(a)f(so-called)g Fi(cut-o\013)p Fk(\).)0 1607 +y(In)g(real-w)o(orld)g(implemen)o(tatio)o(ns,)e(suc)o(h)j(as)f(for)g +(high-p)q(erformance)g(c)o(hess,)h(c)o(hec)o(k)o(ers)i(and)d(Othello)g +(game-pla)o(ying)d(pro-)0 1656 y(grams,)h(the)j(programs)d(su\013er)j +(from)d(three)k(ma)r(jor)c(sources)j(of)e(parallel)g(ine\016ciency)h +(\(a)g(similar)d(mo)q(del)i(is)g(presen)o(ted)j(in)0 +1706 y([18)o(]\):)62 1789 y Fh(\017)21 b Fi(Synchr)n(onization)15 +b(Overhe)n(ad)p Fk(:)i(The)d(searc)o(h)g(t)o(ypically)d(has)i(man)o(y)e +(sync)o(hronization)i(p)q(oin)o(ts)f(that)h(result)h(in)e(a)h(high)104 +1839 y(p)q(ercen)o(tage)i(of)f(pro)q(cessor)h(idle)f(time.)62 +1922 y Fh(\017)21 b Fi(Par)n(al)r(lelization)14 b(Overhe)n(ad)p +Fk(:)k(This)c(is)g(the)g(o)o(v)o(erhead)h(of)e(incorp)q(orating)g(the)i +(parallel)e(algorithm,)e(whic)o(h)i(includes)104 1972 +y(the)h(handling)f(of)g(comm)o(unication)e(and)i(main)o(taining)e +(structures)16 b(to)e(allo)o(w)e(for)i(allo)q(cation)e(of)h(w)o(ork.)62 +2055 y Fh(\017)21 b Fi(Se)n(ar)n(ch)c(Overhe)n(ad)p Fk(:)22 +b(Searc)o(h)16 b(trees)i(are)e(really)f(directed)i(graphs.)24 +b(W)m(ork)15 b(p)q(erformed)g(on)h(one)g(pro)q(cessor)h(ma)o(y)d(b)q(e) +104 2105 y(useful)d(to)g(the)g(computations)f(of)g(another)i(pro)q +(cessor.)18 b(If)11 b(this)g(information)d(is)j(not)g(a)o(v)n(ailable,) +e(unnecessary)k(searc)o(h)104 2155 y(ma)o(y)f(b)q(e)i(done.)0 +2238 y(These)h(o)o(v)o(erheads)f(are)g(not)f(indep)q(enden)o(t)i(of)d +(eac)o(h)i(other.)19 b(F)m(or)13 b(example,)f(increased)i(comm)o +(unication)c(can)k(help)f(reduce)0 2287 y(the)j(searc)o(h)h(o)o(v)o +(erhead.)23 b(Reducing)15 b(the)h(n)o(um)o(b)q(er)f(of)f(sync)o +(hronization)i(p)q(oin)o(ts)f(can)h(increase)g(the)g(searc)o(h)h(o)o(v) +o(erhead.)23 b(In)0 2337 y(practice,)14 b(the)h(righ)o(t)e(balance)h(b) +q(et)o(w)o(een)h(these)g(sources)h(of)d(program)f(ine\016ciency)i(is)g +(di\016cult)f(to)h(\014nd,)f(and)h(one)g(usually)0 2387 +y(p)q(erforms)f(man)o(y)f(exp)q(erimen)o(ts)j(to)e(\014nd)h(the)h(righ) +o(t)e(trade-o\013s)i(to)f(maxim)o(ize)d(p)q(erformance.)62 +2437 y(Man)o(y)17 b(parallel)f Fj(\013\014)k Fk(algorithms)15 +b(ha)o(v)o(e)i(app)q(eared)h(in)f(the)h(literature)g(\(see)g([1])e(for) +h(a)g(comprehensiv)o(e)h(list)f(of)f(algo-)0 2487 y(rithms\).)h(The)12 +b(PV-Split)g(algorithm)e(recognized)k(that)e(some)g(no)q(des)h(exist)g +(in)e(the)i(searc)o(h)h(tree)g(where,)f(ha)o(ving)e(searc)o(hed)0 +2537 y(the)k(\014rst)h(branc)o(h)f(sequen)o(tially)m(,)e(the)i +(remaining)e(branc)o(hes)j(can)f(b)q(e)g(searc)o(hed)h(in)e(parallel)g +([17)o(].)20 b(Initiating)13 b(parallelism)p 0 2573 780 +2 v 46 2600 a Fn(\003)64 2612 y Fg(A)g(part)f(of)h(this)f(pap)q(er)g(w) +o(as)h(presen)o(ted)e(at)h(the)h(Adv)n(ances)e(in)i(Computer)e(Chess)i +(VI)q(I)q(I)g(conference)d(in)j(Maastric)o(h)o(t,)e(June)h(1996)g([2].) +20 b(A)0 2651 y(di\013eren)o(t)8 b(p)q(ortion)h(w)o(as)i(accepted)d +(for)i(publication)d(at)j(the)g(8th)g(IEEE)h(Symp)q(osium)c(on)j(P)o +(arallel)f(and)h(Distributed)e(Pro)q(cessing)g(\(SPDP)i('96\),)0 +2691 y(New)i(Orleans,)f(Octob)q(er)f(1996)g([3].)965 +2790 y Fk(1)p eop +%%Page: 2 4 +2 3 bop 0 42 a Fk(along)13 b(the)i(b)q(est)h(line)e(of)f(pla)o(y)m(,)g +(the)i Fi(princip)n(al)g(variation)p Fk(,)f(w)o(as)g(e\013ectiv)o(e)i +(for)e(a)g(small)e(n)o(um)o(b)q(er)i(of)g(pro)q(cessors,)i(although)0 +91 y(v)n(ariations)d(on)g(this)h(sc)o(heme)g(seem)g(to)g(b)q(e)g +(limited)e(to)i(sp)q(eedups)i(of)d(less)h(than)g(8)g([24)o(].)62 +141 y(The)e(idea)f(can)h(b)q(e)g(generalized)g(to)g(other)g(no)q(des)g +(in)f(the)h(tree.)18 b(A)o(t)12 b(no)q(des)g(where)h(the)f(\014rst)g +(branc)o(h)g(has)g(b)q(een)g(searc)o(hed)0 191 y(and)17 +b(no)g(cut-o\013)h(o)q(ccurs,)h(the)e(rest)i(can)e(lik)o(ely)f(b)q(e)i +(searc)o(hed)h(in)e(parallel.)26 b(It)18 b(is)f(a)g(trade-o\013)g({)g +(increased)i(parallelism)0 241 y(v)o(ersus)14 b(additional)e(searc)o(h) +i(o)o(v)o(erhead,)f(since)h(one)g(of)e(these)j(parallel)d(tasks)i +(could)f(cause)h(a)f(cut-o\013.)18 b(This)13 b(idea)g(has)h(b)q(een)0 +291 y(tried)e(b)o(y)g(a)f(n)o(um)o(b)q(er)h(of)f(researc)o(hers)k([6)o +(,)c(7,)g(10].)17 b(The)12 b(b)q(est-kno)o(wn)g(instance)h(of)e(this)h +(t)o(yp)q(e)h(of)e(algorithm)e(is)j(called)f Fi(Y)m(oung)0 +340 y(Br)n(others)k(Wait)f Fk(\(YBW\))h(and)f(w)o(as)g(implemen)o(ted)e +(b)o(y)i(F)m(eldmann)e(in)i(the)h Ff(Zugzw)l(ang)f Fk(c)o(hess)i +(program)d([5)o(].)19 b(F)m(eldmann)0 390 y(ac)o(hiev)o(ed)12 +b(a)f(344-fold)e(sp)q(eedup)k(using)e(YBW)h(on)f(1024)f(pro)q(cessors.) +20 b(V)m(ariations)10 b(of)h(this)g(algorithm)e(ha)o(v)o(e)i(app)q +(eared)h(with)0 440 y(comparable)g(exp)q(erimen)o(tal)g(results,)i(suc) +o(h)g(as)f(Kuszmaul's)f(Jam)o(b)q(oree)h(searc)o(h)h([14)o(])f(and)f(W) +m(eill's)g(ABD)o(AD)o(A)h(algorithm)0 490 y([29)o(].)62 +540 y(This)20 b(class)f(of)g(algorithms)e(cannot)j(ac)o(hiev)o(e)g(a)f +(linear)g(sp)q(eedup)i(primarily)c(due)i(to)h(sync)o(hronization)f(o)o +(v)o(erhead;)0 589 y(the)c(searc)o(h)h(tree)g(ma)o(y)d(ha)o(v)o(e)i +(thousands)g(of)f(sync)o(hronization)h(p)q(oin)o(ts)g(and)f(there)j +(are)e(n)o(umerous)f(o)q(ccasions)h(where)h(the)0 639 +y(pro)q(cesses)i(are)e(starv)o(ed)h(for)e(w)o(ork.)23 +b(The)16 b(algorithms)e(ha)o(v)o(e)h(lo)o(w)g(searc)o(h)i(o)o(v)o +(erhead,)f(but)f(this)h(is)g(primarily)d(due)j(to)f(the)0 +689 y(implemen)o(tatio)o(n)c(of)j(a)f(globally)f(shared)j(transp)q +(osition)e(table)h(to)g(share)h(information)c(and)i(impro)o(v)o(e)f(mo) +o(v)o(e)h(ordering.)62 739 y(This)h(pap)q(er)h(in)o(tro)q(duces)h(the)f +(Async)o(hronous)g(P)o(arallel)e(Hierarc)o(hical)h(Iterativ)o(e)h(Deep) +q(ening)g(\(APHID)1723 724 y Fe(1)1742 739 y Fk(\))f(game-tree)0 +789 y(searc)o(h)i(algorithm.)k(The)c(algorithm)d(represen)o(ts)18 +b(a)d(departure)i(from)c(the)j(approac)o(hes)g(used)h(in)d(practice.)24 +b(In)15 b(con)o(trast)0 839 y(to)d(other)h(sc)o(hemes,)g(APHID)g +(de\014nes)h(a)e(fron)o(tier)h(\(a)f(\014xed)h(n)o(um)o(b)q(er)f(of)f +(mo)o(v)o(es)h(a)o(w)o(a)o(y)f(from)g(the)i(ro)q(ot)f(of)g(the)h(searc) +o(h)h(tree\),)0 888 y(and)d(all)g(no)q(des)h(at)f(the)h(fron)o(tier)g +(are)f(done)h(in)f(parallel.)16 b(Eac)o(h)c(w)o(ork)o(er)g(pro)q(cess)h +(is)e(assigned)h(an)f(equal)g(n)o(um)o(b)q(er)g(of)g(fron)o(tier)0 +938 y(no)q(des)i(to)f(searc)o(h.)19 b(The)13 b(w)o(ork)o(ers)g(con)o +(tin)o(ually)d(searc)o(h)k(these)g(no)q(des)f(deep)q(er)h(and)e(deep)q +(er,)i(nev)o(er)f(ha)o(ving)f(to)g(sync)o(hronize)0 988 +y(with)j(a)g(con)o(trolling)f(master)h(pro)q(cess.)24 +b(The)16 b(master)f(pro)q(cess)i(rep)q(eatedly)f(searc)o(hes)i(to)d +(the)h(fron)o(tier)f(to)g(get)h(the)g(latest)0 1038 y(searc)o(h)g +(results.)k(In)15 b(this)f(w)o(a)o(y)m(,)f(there)j(is)e(e\013ectiv)o +(ely)i(no)e(idle)g(time;)f(searc)o(h)i(ine\016ciencies)h(are)f +(primarily)d(due)j(to)f(searc)o(h)0 1088 y(o)o(v)o(erhead.)29 +b(APHID's)18 b(p)q(erformance)f(do)q(es)h(not)g(rely)f(on)h(the)g +(implemen)o(tati)o(on)d(of)i(a)g(global)f(shared)i(memory)m(,)d(whic)o +(h)0 1137 y(mak)o(es)f(the)i(algorithm)d(suitable)i(for)g(lo)q +(osely-coupled)f(arc)o(hitectures)k(\(suc)o(h)e(as)f(a)g(net)o(w)o(ork) +h(of)e(w)o(orkstations\),)h(as)h(w)o(ell)0 1187 y(as)e(tigh)o +(tly-coupled)f(arc)o(hitectures.)62 1237 y(Unlik)o(e)f(most)f(parallel) +g Fj(\013\014)k Fk(algorithms,)9 b(APHID)k(is)f(designed)h(to)f(\014t)g +(in)o(to)g(a)g(sequen)o(tial)g Fj(\013\014)j Fk(structure.)k(APHID)13 +b(has)0 1287 y(b)q(een)i(implemen)o(ted)e(as)h(a)g(game-indep)q(enden)o +(t)g(library)g(of)f(routines.)20 b(These,)c(com)o(bined)d(with)h +(application-dep)q(enden)o(t)0 1337 y(routines)d(that)f(the)g(user)h +(supplies,)g(allo)o(w)d(a)i(sequen)o(tial)g Fj(\013\014)j +Fk(program)8 b(to)i(b)q(e)h(easily)e(con)o(v)o(erted)i(to)f(a)g +(parallel)f Fj(\013\014)j Fk(program.)0 1386 y(Although)i(most)f +(parallel)g Fj(\013\014)j Fk(programs)d(tak)o(e)h(mon)o(ths)f(to)h(dev) +o(elop,)g(the)h(game-indep)q(enden)o(t)f(library)g(allo)o(ws)e(users)k +(to)0 1436 y(in)o(tegrate)e(parallelism)d(in)o(to)j(their)g +(application)e(with)i(only)f(a)h(few)g(hours)g(of)f(w)o(ork.)62 +1486 y(This)j(pap)q(er)h(discusses)i(the)e(APHID)f(algorithm,)e(its)i +(application-indep)q(enden)o(t)g(in)o(terface)h(and)f(the)h(p)q +(erformance)0 1536 y(of)12 b(the)h(APHID)g(algorithm.)i(The)f(pap)q(er) +f(is)g(organized)f(in)o(to)g(\014v)o(e)h(sections.)19 +b(Section)13 b(2)g(is)f(a)h(brief)f(summary)e(of)j(previous)0 +1586 y(w)o(ork)i(in)g(sequen)o(tial)h(and)f(parallel)g(game-tree)g +(searc)o(h.)24 b(Section)16 b(3)f(is)g(primarily)e(concerned)18 +b(with)d(the)h(details)f(of)g(ho)o(w)0 1636 y(the)j(APHID)f(algorithm)d +(op)q(erates,)19 b(and)e(ho)o(w)f(the)i(library)e(in)o(tegrates)i(with) +e(an)h(existing)g(sequen)o(tial)g Fj(\013\014)i Fk(algorithm.)0 +1685 y(Section)11 b(4)g(describ)q(es)i(the)e(results)h(of)f(in)o +(tegrating)f(the)h(library)g(in)o(to)f(three)i(di\013eren)o(t)g +(game-pla)o(ying)c(programs:)15 b Ff(Key)m(ano)0 1735 +y Fk(\(Othello\),)h Ff(TheTurk)h Fk(\(c)o(hess\),)i(and)d +Ff(Chinook)h Fk(\(c)o(hec)o(k)o(ers\).)28 b(Section)17 +b(5)f(describ)q(es)i(some)e(conclusions)g(that)h(can)f(b)q(e)0 +1785 y(dra)o(wn)f(from)e(the)i(exp)q(erimen)o(ts,)g(and)f(a)h(glimpse)e +(at)h(some)g(of)g(the)i(things)e(w)o(e)h(in)o(tend)g(on)f(impro)o(ving) +e(b)q(efore)k(APHID's)0 1835 y(general)e(release.)0 1972 +y Fl(2)67 b(Previous)23 b(W)-6 b(ork)0 2063 y Fk(This)14 +b(section)g(is)g(divided)g(in)o(to)f(t)o(w)o(o)g(subsections,)i +(discussing)g(sequen)o(tial)f(and)f(parallel)g(searc)o(h)i(metho)q(ds.) +0 2179 y Fv(2.1)56 b(Sequen)n(tial)17 b(Game-T)-5 b(ree)16 +b(Searc)n(h)0 2256 y Fk(Most)g(common)d(games)i(of)g(though)o(t)h +(\(suc)o(h)h(as)f(c)o(hec)o(k)o(ers,)i(c)o(hess,)f(Othello)f(and)g +(Go\))f(\014t)h(in)o(to)f(the)i(class)f(of)f(t)o(w)o(o-pla)o(y)o(er,)0 +2306 y(zero-sum)d(games)g(with)g(p)q(erfect)i(information.)h(Giv)o(en)d +(su\016cien)o(t)h(time)e(and)h(assuming)f(that)i(b)q(oth)f(pla)o(y)o +(ers)h(w)o(an)o(t)f(to)g(win)0 2355 y(the)i(game,)d(it)i(is)h(easy)f +(to)g(determine)h(a)f(b)q(est)h(mo)o(v)o(e)e(in)h(an)o(y)g(p)q +(osition,)f(and)h(determine)g(whether)i(or)e(not)h(an)o(y)e(p)q +(osition)h(is)0 2405 y(a)h(win,)f(loss)g(or)h(dra)o(w.)62 +2455 y(An)h(initial)d(p)q(osition)i(in)g(a)g(game,)e(and)i(all)f(of)h +(its)g(p)q(ossible)h(outcomes,)f(can)g(b)q(e)h(represen)o(ted)i(as)e(a) +f(game-tree.)19 b(Eac)o(h)0 2505 y(no)q(de)d(in)f(the)h(game-tree)f +(represen)o(ts)j(a)e(p)q(osition)f(within)f(the)i(game.)22 +b(Eac)o(h)16 b(arc)g(joining)e(a)h(no)q(de)h(at)f(lev)o(el)g +Fj(l)i Fk(to)e(a)h(no)q(de)0 2555 y(at)d(lev)o(el)g Fj(l)c +Fk(+)g(1)k(represen)o(ts)j(the)e(mo)o(v)o(e)d(required)j(to)g(reac)o(h) +g(the)g(successor)h(p)q(osition.)j(The)13 b(v)n(arious)g(lev)o(els)g +(in)g(the)h(tree)h(are)0 2604 y(called)g Fi(plies)h Fk(b)o(y)f +(game-tree)h(researc)o(hers,)i(where)f(ply)e(0)h(is)f(the)i(curren)o(t) +g(p)q(osition)e(in)g(the)i(game,)d(ply)h(1)g(consists)i(of)e(all)p +0 2639 780 2 v 46 2666 a Fd(1)64 2678 y Fg(An)c(aphid)f(is)i(a)f +(soft-b)q(o)q(died)e(insect)h(that)g(suc)o(ks)h(the)g(sap)g(from)f +(plan)o(ts.)965 2790 y Fk(2)p eop +%%Page: 3 5 +3 4 bop 177 0 a + 10988180 9472573 7433338 16642785 31838371 37627166 startTexFig + 177 0 a +%%BeginDocument: candid21.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Helvetica-Bold reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 4.98316 4.98316 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -30 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 130 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 209 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 209 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 23 -222 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -138 -222 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 261 -182 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 89 156 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 149 115 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 229 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 309 115 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 388 155 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 488 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +106 227 166 227 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +266 227 326 227 Line +%I 1 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 89 156 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 229 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -8 -112 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 217 -202 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -32 -97 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 396 163 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 488 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 201 -182 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +56 173 56 113 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 222 226 ] concat +%I +351 173 351 113 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +40 383 180 418 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +200 418 200 383 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +220 418 359 383 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +52 278 82 313 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +52 209 52 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +102 313 132 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +212 278 242 313 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +262 313 292 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +212 209 212 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +297 313 267 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +317 313 347 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +267 209 267 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +347 209 347 174 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 169 332 ] concat +%I +[ +(1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 249 437 ] concat +%I +[ +(-1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 329 332 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 409 437 ] concat +%I +[ +(-1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 488 332 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 568 332 ] concat +%I +[ +(1) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 1077 0 a + 10988180 9472573 7367557 16577003 31838371 37627166 startTexFig + 1077 0 a +%%BeginDocument: candid22.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Helvetica-Bold reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 4.98316 4.98316 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -30 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 130 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 209 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 209 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -314 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 23 -222 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -138 -222 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 261 -182 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 89 156 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 149 115 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 229 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 309 115 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 388 155 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t u + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 488 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +106 227 166 227 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +266 227 326 227 Line +%I 1 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -110 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 89 156 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -70 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -98 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -160 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 50 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 28 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 229 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -8 -112 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 217 -202 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -32 -97 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 396 163 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -104 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 289 -210 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 40 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 249 -105 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 221 -12 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 -105 ] concat + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 0 ] concat + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 483 100 433 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +100 433 100 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +120 483 120 423 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 463 140 463 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +80 443 140 443 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 290 326 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 83 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 62 113 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 325 ] concat +%I +105 338 8 7 Elli +End + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 248 345 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +End %I eop + +Begin %I Elli +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 488 155 ] concat +%I +105 338 8 7 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 201 -182 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +145 348 130 333 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 144 230 ] concat +%I +160 348 175 333 Line +%I 1 +End + +End %I eop + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 118 226 ] concat +%I +56 173 56 113 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 222 226 ] concat +%I +351 173 351 113 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 169 332 ] concat +%I +[ +(1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 249 437 ] concat +%I +[ +(-1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 329 332 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 409 437 ] concat +%I +[ +(-1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 488 332 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 568 332 ] concat +%I +[ +(1) +] Text +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +160 189 160 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +3 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +319 189 319 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +399 189 399 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +52 189 52 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +52 278 62 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +122 293 132 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +282 293 292 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +212 278 222 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +3 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +381 293 371 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +337 293 347 278 Line +%I 1 +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +148 398 148 383 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 169 437 ] concat +%I +[ +(1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 164 541 ] concat +%I +[ +(min\(1,-1\) = -1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 329 437 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 488 437 ] concat +%I +[ +(0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 568 437 ] concat +%I +[ +(1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 493 541 ] concat +%I +[ +(min\(0,1\) = 0) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 324 541 ] concat +%I +[ +(min\(0,-1\) = -1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 314 646 ] concat +%I +[ +(max\(-1,-1,0\) = 0) +] Text +End + +Begin %I Line +%I b 65535 +0 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +40 383 135 408 Line +%I 1 +End + +Begin %I Line +%I b 65535 +3 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +255 408 359 383 Line +%I 1 +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 286 691 a Fk(Figure)14 b(1:)j(\(a\))d(Tic-T)m(ac-T)m(o)q(e)f(Game-T)m +(ree,)g(\(b\))h(Game-T)m(ree)f(with)g(Minimax)e(V)m(alues)0 +826 y(successors)17 b(to)e(the)g(p)q(osition)e(at)i(ply)e(0,)h(and)h +(so)f(on.)19 b(A)o(t)c(the)g Fi(terminal)g(p)n(ositions)f +Fk(in)g(the)h(game-tree,)f(the)h(game)e(is)h(o)o(v)o(er)0 +876 y(and)f(a)h(v)n(alue)f(is)g(used)i(to)e(represen)o(t)j(the)e +(outcome)f(of)g(the)h(game.)j(F)m(or)c(example,)f(a)h(win)h(for)f(the)h +(pla)o(y)o(er)f(to)h(mo)o(v)o(e)e(w)o(ould)0 926 y(b)q(e)j(represen)o +(ted)i(as)d(1,)f(a)h(loss)g(as)g(-1,)f(and)h(a)g(dra)o(w)g(as)g(0.)19 +b(The)14 b(left)g(hand)g(tree)h(in)f(Figure)g(1)g(sho)o(ws)g(a)g(t)o +(ypical)f(game-tree)0 976 y(for)h(the)g(game)e(of)i(Tic-T)m(ac-T)m(o)q +(e.)62 1025 y(The)22 b(game-tree)e(represen)o(tation)i(allo)o(ws)e(us)h +(to)g(de\014ne)h(a)e(recursiv)o(e)i(depth-\014rst)h(tree)f(searc)o +(hing)f(algorithm)d(to)0 1075 y(determine)i(the)h Fi(minimax)f(value)g +Fk(of)g(eac)o(h)g(no)q(de)h(in)e(the)i(game-tree.)36 +b(The)20 b(minimax)c(v)n(alue)k(of)f(a)h(no)q(de)g(represen)o(ts)0 +1125 y(the)e(exp)q(ected)i(outcome)d(of)g(that)h(p)q(osition,)f(giv)o +(en)h(b)q(est)g(pla)o(y)f(b)o(y)h(b)q(oth)f(sides.)31 +b(The)18 b Fi(minimax)g(algorithm)f Fk(w)o(orks)h(b)o(y)0 +1175 y(searc)o(hing)c(the)g(tree)g(in)f(a)g(depth-\014rst)i(manner.)i +(W)m(e)c(tak)o(e)g(the)h(minim)n(um)9 b(of)j(all)h(the)g(v)n(alues)g +(for)g(successor)j(p)q(ositions)d(at)0 1225 y(o)q(dd-n)o(um)o(b)q(ered) +h(plies)g(in)g(the)h(tree,)g(since)g(this)g(is)f(where)h(the)g(opp)q +(onen)o(t)g(mo)o(v)o(es.)j(Con)o(v)o(ersely)m(,)13 b(w)o(e)i(tak)o(e)f +(the)h(maxim)n(um)0 1275 y(of)i(the)g(v)n(alues)g(of)g(successor)i(p)q +(ositions)e(at)g(ev)o(en-n)o(um)o(b)q(ered)h(plies)f(within)f(the)i +(game-tree.)28 b(The)17 b(righ)o(t)g(hand)g(tree)h(in)0 +1324 y(Figure)c(1)g(sho)o(ws)g(an)f(example)g(of)g(ho)o(w)h(to)g(deriv) +o(e)g(the)g(minima)o(x)d(v)n(alues)j(of)f(eac)o(h)h(no)q(de)h(in)e(the) +i(game-tree.)62 1374 y(A)f Fi(princip)n(al)f(variation)h +Fk(through)f(a)g(game-tree)g(is)g(a)g(series)i(of)d(mo)o(v)o(es)g(that) +i(yield)f(optimal)d(scores)15 b(for)e(b)q(oth)g(pla)o(y)o(ers.)0 +1424 y(F)m(or)k(example,)f(there)j(is)e(only)f(one)i(principal)e(v)n +(ariation)g(in)g(the)i(game)e(tree)i(giv)o(en)f(in)g(Figure)g(1,)g(sho) +o(wn)h(in)e(b)q(old.)28 b(In)0 1474 y(general,)15 b(once)h(the)g(tree)h +(is)e(completely)f(searc)o(hed,)j(an)e(\\optimal")d(mo)o(v)o(e)h(w)o +(ould)i(b)q(e)h(the)g(\014rst)g(mo)o(v)o(e)d(from)h(a)h(principal)0 +1524 y(v)n(ariation.)62 1573 y(F)m(or)d(games)f(suc)o(h)i(as)g(c)o +(hess,)g(some)f(game-trees)g(are)h(so)f(large,)g(the)h(determination)e +(of)g(a)h(minima)o(x)e(v)n(alue)h(for)h(the)h(ro)q(ot)0 +1623 y(is)h(e\013ectiv)o(ely)g(in)o(tractable.)k(Th)o(us,)c(a)g +(heuristic)g Fi(evaluation)i(function)e Fk(is)g(normally)d(used)k(to)f +(estimate)f(the)h(p)q(oten)o(tial)g(of)0 1673 y(winning)h(from)f(a)i(p) +q(osition)g(at)g(a)g(\014xed)g(ply)g(in)g(the)g(game-tree.)25 +b(These)17 b(are)g(the)g Fi(le)n(af)f(no)n(des)h Fk(of)f(the)g +(truncated)i(searc)o(h)0 1723 y(tree,)d(and)e(this)h(limit)d(is)j +(called)g(the)g Fi(horizon)g Fk(of)g(the)g(game-tree.)62 +1773 y(The)f Fi(alpha-b)n(eta)h Fk(\()p Fj(\013\014)r +Fk(\))f(algorithm)d(impro)o(v)o(es)h(the)j(minim)o(ax)c(algorithm)g(b)o +(y)i(prev)o(en)o(ting)h(exploration)f(of)g(mo)o(v)o(es)g(that)0 +1822 y(can)j(pro)o(v)n(ably)e(b)q(e)j(demonstrated)f(not)f(to)h +(a\013ect)h(the)f(minim)o(ax)d(v)n(alue)i(ab)q(o)o(v)o(e)g(the)i(giv)o +(en)e(no)q(de.)21 b(The)15 b(name)f(is)g(deriv)o(ed)0 +1872 y(from)f(the)i(t)o(w)o(o)f(b)q(ounds:)20 b Fj(\013)14 +b Fk(and)g Fj(\014)r Fk(,)h(whic)o(h)g(are)g(lo)o(w)o(er)f(and)g(upp)q +(er)i(b)q(ounds)f(on)f(the)h(minim)o(ax)d(v)n(alue)i(w)o(e)g(are)h(in)o +(terested)0 1922 y(in.)22 b(The)16 b(pair)f(of)g(b)q(ounds)h(is)g +(often)f(referred)j(to)d(as)h(the)g Fi(se)n(ar)n(ch)g(window)f +Fk(for)g(a)g(p)q(osition,)g(and)h(the)g Fj(\013\014)i +Fk(algorithm)12 b(will)0 1972 y(return)j(the)g(correct)g(minim)o(ax)c +(v)n(alue)i(if)g(the)i(ro)q(ot)f(is)f(searc)o(hed)j(with)d(the)i(windo) +o(w)e Fj(\013)e Fk(=)h Fh(\0001)i Fk(and)f Fj(\014)i +Fk(=)c(+)p Fh(1)p Fk(.)62 2022 y(An)17 b(example)e(of)h(ho)o(w)g(the)i +Fj(\013\014)h Fk(algorithm)13 b(w)o(ould)j(prune)i(a)e(tree)i(is)e(giv) +o(en)g(in)h(Figure)f(2.)26 b(W)m(e)16 b(kno)o(w)g(that)h(the)g(left)0 +2072 y(subtree)e(has)f(a)f(minim)o(ax)d(v)n(alue)j(of)g(4,)g(so)g(w)o +(e)h(set)g Fj(\013)d Fk(=)h(4)h(b)q(efore)i(w)o(e)e(searc)o(h)i(the)f +(righ)o(t)f(subtree.)20 b(Note)13 b(that)h(w)o(e)g(set)g +Fj(\013)f Fk(at)0 2121 y(ev)o(en)i(ply)m(,)f(and)g Fj(\014)j +Fk(at)e(o)q(dd)f(ply)h(from)d(the)k(ro)q(ot.)k(After)15 +b(lo)q(oking)e(at)i(the)g(\014rst)g(leaf)f(of)g(the)i(righ)o(t)e +(subtree,)i(w)o(e)f(kno)o(w)f(that)0 2171 y(the)g(minim)o(ax)c(v)n +(alue)i(of)g(the)i(righ)o(t)e(subtree)j(will)d(b)q(e)h(less)h(than)f +(1.)k(Since)d Fj(\013)d Fk(=)h(4,)g(w)o(e)i(do)e(not)h(searc)o(h)h(the) +g(other)g(mo)o(v)o(es)d(in)0 2221 y(the)j(righ)o(t)g(subtree.)62 +2271 y(If)j(w)o(e)g(searc)o(h)h(a)f(tree)h(of)e(depth)i +Fj(d)f Fk(whic)o(h)f(has)i Fj(w)f Fk(mo)o(v)o(es)f(from)f(an)o(y)i(p)q +(osition,)f(there)i(are)g(\002\()p Fj(w)1624 2256 y Fc(d)1643 +2271 y Fk(\))g(no)q(des)f(searc)o(hed)0 2321 y(with)d(the)h(minim)o(ax) +c(algorithm.)17 b(Ho)o(w)o(ev)o(er,)d(if)f(a)h(\\b)q(est")h(mo)o(v)o(e) +e(is)h(alw)o(a)o(ys)f(searc)o(hed)j(\014rst,)f Fj(\013\014)h +Fk(can)f(reduce)h(this)e(size)h(to)0 2370 y(\002\()p +Fj(w)79 2355 y Fc(d=)p Fe(2)132 2370 y Fk(\))g([13)o(].)k(The)c +(structure)i(of)d(the)h Fi(critic)n(al)f(tr)n(e)n(e)g +Fk(ev)n(aluated)g(in)g(the)i(optimal)11 b(case)1413 2355 +y Fe(2)1446 2370 y Fk(is)k(illustrated)f(in)g(in)g(Figure)h(3.)0 +2420 y(A)o(t)f Fb(ALL)g Fk(and)g Fb(PV)f Fk(\(Principal)h(V)m +(ariation\))f(no)q(des,)h(all)f(c)o(hildren)i(are)f(searc)o(hed,)i +(while)d(only)h(one)g(c)o(hild)g(of)f(eac)o(h)i Fb(CUT)f +Fk(no)q(de)0 2470 y(is)g(searc)o(hed.)19 b(Note)c(that)f(in)f +(practice,)i(y)o(ou)e(are)h(nev)o(er)h(certain)g(of)e(the)h(no)q(de's)h +(t)o(yp)q(e)f Fi(a)h(priori)p Fk(.)62 2520 y(If)d(a)f(p)q(osition)h(o)q +(ccurs)h(t)o(wice)f(within)f(the)i(tree,)g(w)o(e)f(can)g(sa)o(v)o(e)g +(the)h(w)o(ork)f(of)f(exploring)g(the)i(tree)g(underneath)g(the)g(no)q +(de)0 2570 y(through)f(the)h(use)g(of)e(a)h(large)g(hash)g(table)g +(whic)o(h)g(stores)h(previously)f(ev)n(aluated)g(p)q(ositions)g(and)g +(scores.)19 b(This)12 b(hash)g(table)p 0 2604 780 2 v +46 2631 a Fd(2)64 2643 y Fg(The)e(critical)e(tree)i(is)g(not)g +(necessarily)e(the)h(smallest)g(tree)g(that)h(can)f(b)q(e)h(searc)o +(hed)e(in)i(practice,)f(since)g(transp)q(osition)o(s)f(are)i(not)f(tak) +o(en)g(in)o(to)0 2682 y(accoun)o(t)g([21)o(].)965 2790 +y Fk(3)p eop +%%Page: 4 6 +4 5 bop 543 0 a + 13640505 7104430 9341009 26641612 30851645 37824512 startTexFig + 543 0 a +%%BeginDocument: candid23.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 52 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Helvetica reencodeISO def +/Helvetica-Bold reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 2.49158 2.49158 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 368 20 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 368 65 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 368 110 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 368 260 293 Line +%I 1 +End + +Begin %I Line +%I b 65520 +1 0 0 [12 4] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 368 304 293 Line +%I 1 +End + +Begin %I Line +%I b 65520 +1 0 0 [12 4] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 368 349 293 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 368 140 443 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +140 443 215 368 Line +%I 1 +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +20 293 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 293 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +110 293 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +170 293 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +215 293 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +260 293 14 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +65 368 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +215 368 15 15 Elli +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +140 443 15 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 237 601 ] concat +%I +[ +(4) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 192 526 ] concat +%I +[ +(4) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 236 526 ] concat +%I +[ +(5) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 282 527 ] concat +%I +[ +(6) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 341 526 ] concat +%I +[ +(1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 388 527 ] concat +%I +[ +(7) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 423 527 ] concat +%I +[ +(-12) +] Text +End + +Begin %I Line +%I b 65520 +1 0 0 [12 4] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 122 228 ] concat +%I +272 480 326 480 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 199 651 ] concat +%I +[ +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 359 653 ] concat +%I +[ +(alpha = 4) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 379 603 ] concat +%I +[ +(1<4) +] Text +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 122 230 ] concat +%I +257 328 297 338 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-* +Helvetica-Bold 14 SetF +%I t +[ 1 0 0 1 458 716 ] concat +%I +[ +(These branches) +(are never explored) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 648 541 a Fk(Figure)14 b(2:)k(Example)12 b(of)i(an)f +Fj(\013\014)k Fk(Cut-o\013)637 599 y + 10656645 7104430 5130977 18813583 31443681 36245749 startTexFig + 637 599 a +%%BeginDocument: candid24.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Helvetica reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 4.98316 4.98316 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +200 443 200 353 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +200 443 349 353 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +200 443 50 353 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +50 353 5 263 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +50 353 110 263 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 174 230 ] concat +%I +50 353 65 263 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +109 263 65 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +109 263 109 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +109 263 154 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +169 263 199 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +214 263 244 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 174 50 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 174 65 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 174 79 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 174 57 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 174 72 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +109 174 102 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +154 174 147 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +199 174 184 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +199 174 192 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +199 174 199 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +199 174 207 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +199 174 214 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +244 174 229 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +236 129 244 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +244 174 244 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +244 174 251 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +244 174 259 129 Line +%I 1 +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +304 443 15 15 Elli +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 150 0 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -90 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -45 -180 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -89 -269 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 46 -269 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 90 -269 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 263 274 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 263 319 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +304 263 364 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 189 230 ] concat +%I +304 174 349 263 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 189 230 ] concat +%I +349 263 349 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 189 230 ] concat +%I +349 263 394 174 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +274 174 274 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +319 174 319 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +364 174 364 136 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 85 230 ] concat +%I +364 136 364 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 241 230 ] concat +%I +252 174 252 136 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 241 230 ] concat +%I +297 174 297 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 241 230 ] concat +%I +252 136 252 129 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 0 0 1 241 230 ] concat +%I +342 174 342 129 Line +%I 1 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 224 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +148 353 163 263 Line +%I 1 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 165 -180 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 226 230 ] concat +%I +297 353 312 263 Line +%I 1 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 314 -180 ] concat + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +139 428 169 458 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 214 676 ] concat +%I +[ +(ALL) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 89 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 44 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 269 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 149 -180 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 104 -180 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 239 -90 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 388 -90 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 313 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 358 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 403 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 448 -269 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +1 SetP +%I t +[ 1 -0 -0 1 70 230 ] concat +%I +65 443 14 15 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 124 678 ] concat +%I +[ +(CUT) +] Text +End + +End %I eop + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 339 684 ] concat +%I +[ +(PV) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 189 594 ] concat +%I +[ +(PV) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 144 504 ] concat +%I +[ +(PV) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 100 415 ] concat +%I +[ +(PV) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 557 1141 a Fk(Figure)d(3:)k(Structure)e(of)d(the)i(Critical)e(Game-T)m +(ree)0 1273 y(is)h(kno)o(wn)f(as)h(a)g Fi(tr)n(ansp)n(osition)g(table)p +Fk(.)62 1323 y(Most)e(comp)q(etitiv)o(e)e(game-tree)h(programs)f(use)i +Fi(iter)n(ative)f(de)n(ep)n(ening)h Fk(to)g(searc)o(h)g(the)g(tree)g +([26)o(].)17 b(After)12 b(a)f Fj(k)q Fk(-ply)f(searc)o(h,)0 +1373 y(a)i Fj(k)c Fk(+)g(1-ply)j(searc)o(h)j(is)f(executed)h(on)f(the)g +(same)f(p)q(osition.)17 b(Although)12 b(this)h(seems)g(w)o(asteful,)f +(a)h(transp)q(osition)f(table)h(and)0 1423 y(other)j(mo)o(v)o(e)d +(ordering)j(tec)o(hniques)g(can)f(often)h(pro)o(vide)f(a)g(v)o(ery)g +(accurate)i(guess)f(at)f(what)g(the)h(b)q(est)g(mo)o(v)o(e)d(is,)i(and) +g(the)0 1472 y(tree)h(searc)o(hed)h(is)e(close)g(to)g(the)h(critical)f +(tree)h(in)e(size.)23 b(Exp)q(erience)17 b(sho)o(ws)e(that)g(the)h(b)q +(ene\014ts)g(gained)f(b)o(y)g(a)f Fj(k)q Fk(-ply)h(tree)0 +1522 y(as)f(a)g(prelude)g(to)g(searc)o(hing)g(a)g Fj(k)c +Fk(+)g(1-ply)j(tree)i(out)o(w)o(eigh)e(the)h(costs)h([27)o(].)0 +1638 y Fv(2.2)56 b(P)n(arallel)18 b(Game-T)-5 b(ree)16 +b(Searc)n(h)0 1715 y Fk(The)e(idea)g(b)q(ehind)g(the)g(PV-Split)g +(algorithm)d(has)j(pro)o(v)o(en)g(to)g(b)q(e)g(a)g(fundamen)o(tal)d +(building)i(blo)q(c)o(k)g(in)h(dev)o(eloping)f(high-)0 +1765 y(p)q(erformance)i(parallel)e(game-tree)h(algorithms)f([17)o(].)20 +b(Simply)12 b(stated,)k(the)f(\014rst)g(mo)o(v)o(e)f(at)g(a)h +(principal)e(v)n(ariation)h(no)q(de)0 1815 y(m)o(ust)19 +b(b)q(e)h(completely)f(ev)n(aluated)g(b)q(efore)i(the)f(subsequen)o(t)i +(mo)o(v)o(es)c(can)i(b)q(e)g(handed)h(out)e(to)h(other)g(pro)q(cessors) +i(and)0 1864 y(ev)n(aluated)13 b(in)h(parallel.)i(P)o(arallelism)c(o)q +(ccurs)j(only)e(at)g(the)h Fb(PV)g Fk(no)q(des,)g(and)f(the)h(nature)h +(of)e(the)h(algorithm)d(ensures)16 b(that)0 1914 y(an)10 +b(accurate)i(searc)o(h)g(windo)o(w)e(is)g(determined)h(b)q(efore)g +(allo)q(cating)e(w)o(ork)i(to)f(the)h(sla)o(v)o(es)g(in)f(parallel,)g +(whic)o(h)g(reduces)j(searc)o(h)0 1964 y(o)o(v)o(erhead.)18 +b(Although)c(it)f(is)h(easy)g(to)g(con)o(trol)f(the)i(PV-Split)e +(algorithm)e(since)k(only)e(one)h Fb(PV)f Fk(no)q(de)h(can)g(b)q(e)h +(ev)n(aluated)e(in)0 2014 y(parallel)h(at)g(a)h(giv)o(en)f(momen)o(t)e +(in)i(time,)f(a)i(di\013eren)o(t)h(approac)o(h)e(is)h(needed)h(if)e(y)o +(ou)g(ha)o(v)o(e)h(more)f(pro)q(cessors)j(than)d(mo)o(v)o(es)0 +2064 y(at)g(the)g(curren)o(t)i Fb(PV)d Fk(no)q(de.)62 +2114 y(Newb)q(orn's)k(UIDP)m(ABS)f(algorithm)d([19)o(])i(w)o(as)h(the)g +(\014rst)g(attempt)f(to)h(async)o(hronously)g(start)g(the)g(next)h(lev) +o(el)e(of)g(an)0 2163 y(iterativ)o(ely)e(deep)q(ened)k(searc)o(h)e +(instead)f(of)g(sync)o(hronizing)g(at)g(the)g(ro)q(ot)g(of)g(the)h +(game-tree.)j(The)c(mo)o(v)o(es)f(from)f(the)j(ro)q(ot)0 +2213 y(p)q(osition)d(are)h(partitioned)f(among)f(the)i(pro)q(cessors,)i +(and)d(the)i(pro)q(cessors)g(searc)o(h)g(their)f(o)o(wn)g(subset)h(of)e +(the)h(mo)o(v)o(es)e(with)0 2263 y(iterativ)o(e)k(deep)q(ening.)21 +b(Eac)o(h)15 b(pro)q(cessor)h(is)f(giv)o(en)f(the)h(same)f(initial)e +(windo)o(w,)i(but)h(some)e(of)h(the)i(pro)q(cessors)g(ma)o(y)d(ha)o(v)o +(e)0 2313 y(c)o(hanged)g(their)h(windo)o(ws,)e(based)i(on)f(the)g +(searc)o(h)i(results)f(of)e(their)i(mo)o(v)o(es.)i(The)e(UIDP)m(ABS)f +(algorithm)d(then)k(com)o(bines)0 2363 y(the)f(results)h(once)g(a)e +(predetermined)h(time)f(limit)e(has)j(b)q(een)h(reac)o(hed.)k(The)c +(APHID)f(algorithm)d(uses)j(the)h(basic)f(concept)0 2412 +y(of)g(ho)o(w)h(to)f(implemen)o(t)f(async)o(hronous)i(searc)o(h)h(from) +d(UIDP)m(ABS,)i(as)g(w)o(e)g(shall)f(see)i(in)f(Section)g(3.)62 +2462 y(Hsu's)g(family)c(of)i(algorithms)f([9)o(])i(are)g(similar)e(in)i +(design)g(to)g(the)g(APHID)h(algorithm.)h(A)e(host)g(pro)q(cessor)i(is) +e(resp)q(on-)0 2512 y(sible)i(for)g(main)o(taining)d(a)k(queue)g(of)f +(critical)g(tree)i(and)e(non-critical)g(tree)h(w)o(ork)g(to)f(do)g(for) +g(a)g Fj(d)1548 2497 y Fa(0)1575 2512 y Fk(ply)g(searc)o(h)i(tree.)24 +b(The)0 2562 y(sp)q(ecial-purp)q(ose)18 b(pro)q(cessors)h(are)e(resp)q +(onsible)h(for)f(the)g Fj(d)11 b Fh(\000)g Fj(d)1023 +2547 y Fa(0)1051 2562 y Fk(ply)16 b(at)h(the)g(b)q(ottom)f(of)g(the)h +(tree,)i(b)o(y)d(con)o(tin)o(ually)f(re-)0 2612 y(questing)e(pieces)g +(of)f(w)o(ork)g(from)f(the)i(t)o(w)o(o)f(queues.)18 b(As)13 +b(the)g(w)o(ork)f(is)h(completed)e(and)i(sen)o(t)g(bac)o(k)f(to)g(the)h +(main)e(pro)q(cessor,)0 2661 y(the)j(tree)h(is)e(incremen)o(tally)f(up) +q(dated)i(up)f(from)f(the)i(leaf)f(no)q(de,)g(and)g(new)h(w)o(ork)f(is) +h(added)f(to)h(the)g(non-critical)e(tree)j(list,)965 +2790 y(4)p eop +%%Page: 5 7 +5 6 bop 0 42 a Fk(as)15 b(necessary)m(.)21 b(Hsu)15 b(has)g(not)f +(published)h(results)h(with)e(the)h(v)o(ersion)g(of)e(Deep)j(Blue)f +(that)f(pla)o(y)o(ed)g(against)g(Kasparo)o(v)g(in)0 91 +y(F)m(ebruary)i(1996.)21 b(The)16 b(sim)o(ulation)d(results)j(presen)o +(ted)i(in)d(his)g(thesis)h(predict)h(a)e(sp)q(eedup)i(of)e(350)f(on)h +(1000)g(pro)q(cessors)0 141 y(although)e(these)i(results)g(ha)o(v)o(e)f +(not)g(b)q(een)h(b)q(orne)f(out)g(in)g(practice)h([8)o(].)62 +191 y(Although)h(APHID)g(is)g(similar)d(to)j(Hsu's)g(family)d(of)i +(algorithms,)f(there)j(are)g(imp)q(ortan)o(t)d(di\013erences)k(b)q(et)o +(w)o(een)f(the)0 241 y(t)o(w)o(o)j(approac)o(hes.)37 +b(It)20 b(is)g(imp)q(ortan)o(t)f(to)h(note)g(that)g(the)h +Fj(d)986 226 y Fa(0)1017 241 y Fk(ply)f(critical)f(tree)j(is)e(only)f +(generated)i(once,)h(and)e(then)0 291 y(incremen)o(tally)12 +b(c)o(hanged)i(as)g(results)h(come)e(in)g(from)f(the)j(pro)q(cessors.) +20 b(F)m(urthermore,)13 b(although)g(iterativ)o(e)g(deep)q(ening)i(is)0 +340 y(used)f(to)g(accomplish)e(the)i Fj(d)8 b Fh(\000)g +Fj(d)520 325 y Fa(0)545 340 y Fk(ply)13 b(searc)o(h)i(on)e(the)h(sp)q +(ecialized)g(pro)q(cessors,)i(there)e(is)g(no)f(concept)i(of)e(o)o +(wnership)g(of)g(a)0 390 y(subtree)j(b)o(y)e(a)g(pro)q(cessor)i(in)d +(Hsu's)i(algorithm.)h(Hsu's)e(original)f(design)h(did)g(not)g(include)g +(a)g(concept)h(of)f(a)g(m)o(ulti-tiered)0 440 y(hierarc)o(h)o(y)e(of)e +(pro)q(cessors.)20 b(Hsu's)11 b(w)o(ork)g(priorit)o(y)g(sc)o(heme)g(is) +h(sligh)o(tly)d(di\013eren)o(t)k(than)e(the)h(one)f(implemen)o(ted)e +(in)i(APHID.)0 490 y(Finally)m(,)f(Hsu's)i(algorithm)d(giv)o(es)j(no)g +(sp)q(eculativ)o(e)g(w)o(ork)g(to)f(the)i(sp)q(ecialized)f(pro)q +(cessors)i(in)e(when)g(the)h(t)o(w)o(o)e(w)o(ork)h(queues)0 +540 y(are)i(empt)o(y)m(.)62 589 y(The)f(Y)m(oung)f(Brothers)i(W)m(ait)c +(\(YBW\))j(algorithm)d(extends)k(PV-Split)d(to)h(state)i(that)e(the)h +(other)g(mo)o(v)o(es)e(\(the)i(\\y)o(oung)0 639 y(brothers"\))19 +b(can)e(b)q(e)h(searc)o(hed)h(in)e(parallel)f(only)g(if)h(the)h +(\014rst)g(mo)o(v)o(e)e(of)g(a)h(no)q(de)h(has)g(b)q(een)g(completely)e +(searc)o(hed)j(and)0 689 y(has)e(not)f(caused)h(the)g +Fj(\013\014)i Fk(searc)o(h)f(to)e(b)q(e)h(pruned)g([5].)25 +b(Assuming)15 b(w)o(e)h(start)i(with)e(an)g(in\014nite)g(searc)o(h)i +(windo)o(w)d(at)h(the)0 739 y(ro)q(ot)f(p)q(osition,)f(this)h(is)f(alw) +o(a)o(ys)g(true)i(at)f Fb(PV)f Fk(no)q(des,)i(and)e(is)h(generally)f +(true)i(at)f Fb(ALL)f Fk(no)q(des.)22 b(Th)o(us,)15 b(there)h(are)f(m)o +(ultiple)0 789 y(p)q(oten)o(tial)d(parallel)g(no)q(des)i(at)f(an)o(y)f +(giv)o(en)g(time)g(when)h(searc)o(hing)h(the)f(tree.)19 +b(Ho)o(w)o(ev)o(er,)13 b(the)h(searc)o(h)g(is)f(still)f(sync)o +(hronized)0 839 y(in)f(the)i(same)e(w)o(a)o(y)g(that)g(PV-Split)h(is)f +(sync)o(hronized.)19 b(Un)o(til)11 b(a)g(searc)o(h)i(of)e(all)g(c)o +(hildren)h(of)f(a)h(giv)o(en)f Fb(PV)g Fk(no)q(de)h(is)g(completed,)0 +888 y(the)i(other)h(c)o(hildren)f(of)f(the)i Fb(PV)e +Fk(no)q(de's)h(paren)o(t)h(cannot)f(b)q(e)g(searc)o(hed.)62 +938 y(Although)i(the)i Fi(synchr)n(onization)g(overhe)n(ad)f +Fk(in)f(YBW)h(is)g(a)f(lot)g(smaller)f(than)i(in)f(PV-Split,)h(w)o(ork) +o(ers)g(still)f(searc)o(h)0 988 y(for)e(a)h(pro)q(cessor)h(that)f(has)g +(w)o(ork)g(to)f(do)h(\(according)g(to)f(the)i(YBW)e(criterion\))i(b)o +(y)e(sending)h(a)g(message)f(to)h(a)f(pro)q(cessor)0 +1038 y(at)f(random.)j(This)e(dynamic)d(load-balancing)h(metho)q(d,)g +(\\w)o(ork-stealing")g([14)o(],)g(is)h(e\013ectiv)o(e)i(in)e(balancing) +f(the)i(share)h(of)0 1088 y(w)o(ork)f(done)g(on)f(eac)o(h)i(pro)q +(cessor,)g(but)f(p)q(erio)q(dically)f(imp)q(oses)g(a)h(hea)o(vy)g(comm) +o(unicati)o(on)d(load.)62 1137 y(In)h(the)g(implemen)o(tatio)o(n)d(of)i +Ff(Zugzw)l(ang)h Fk(presen)o(ted)i(in)d(F)m(eldmann's)e(thesis)k([5)o +(],)e(a)g(distributed)i(transp)q(osition)e(table)0 1187 +y(w)o(as)g(implemen)o(ted)e(with)j(message)f(passing)g(across)h(a)f +(series)i(of)e(T)m(ransputers)i(to)e(impro)o(v)o(e)f(the)i(results)g +(of)f(the)h(algorithm.)0 1237 y(On)j(a)g(system)f(where)i(only)e(a)h +(small)d(n)o(um)o(b)q(er)i(of)h(no)q(des)g(can)g(b)q(e)h(pro)q(cessed)h +(p)q(er)f(a)o(v)o(erage)e(message)h(latency)g(ratio,)f(this)0 +1287 y(t)o(yp)q(e)g(of)g(distributed)g(transp)q(osition)g(table)g(is)g +(practical)f(and)h(is)g(useful)g(in)f(con)o(trolling)g(the)h(searc)o(h) +h(o)o(v)o(erhead.)62 1337 y(An)i(alternativ)o(e)g(to)f(a)g(shared)i +(transp)q(osition)f(table)f(is)h(the)g(idea)f(of)g(recursiv)o(e)j +(iterativ)o(e)d(deep)q(ening)i(to)e(ac)o(hiev)o(e)h(a)0 +1386 y(b)q(etter)d(mo)o(v)o(e)c(ordering)i([14)o(].)17 +b(The)c(additional)d(searc)o(h)j(o)o(v)o(erhead)g(of)e(recursiv)o(e)j +(iterativ)o(e)e(deep)q(ening)h(in)f(a)g(w)o(ork-stealing)0 +1436 y(algorithm)j(with)j(only)e(lo)q(cal)h(transp)q(osition)h(tables)g +(is)g(strongly)f(dep)q(enden)o(t)j(on)d(the)i(branc)o(hing)e(factor)h +(of)f(the)h(trees)0 1486 y(b)q(eing)13 b(searc)o(hed.)19 +b(Although)12 b(he)h(did)f(not)h(in)o(v)o(en)o(t)f(the)i(idea)953 +1471 y Fe(3)972 1486 y Fk(,)e(Kuszmaul)g(ac)o(hiev)o(ed)h(reasonable)g +(success)i(with)d(recursiv)o(e)0 1536 y(iterativ)o(e)g(deep)q(ening)h +(in)e(the)i(StarT)m(ec)o(h)f(c)o(hess)h(program,)e(b)q(oth)h(in)f(the)i +(sequen)o(tial)f(program)e(with)h(a)h(lo)q(cal)f(transp)q(osition)0 +1586 y(table)j(and)g(the)g(parallel)f(program)f(with)i(a)f(shared)i +(transp)q(osition)f(table.)k(This)c(is)f(partially)g(due)h(to)g(the)g +(test)h(set)g(b)q(eing)0 1636 y(used:)k(Kaufman's)11 +b(test)j(set)g(of)e(tactical)h(p)q(ositions)g([11)o(,)g(12)o(])g +(yields)g(p)q(ositions)f(whic)o(h)h(ha)o(v)o(e)g(rapidly)f(c)o(hanging) +h(principal)0 1685 y(v)n(ariations,)i(and)h(is)g(more)f(susceptible)j +(to)e(sho)o(wing)f(the)i(adv)n(an)o(tages)f(of)f(recursiv)o(e)j +(iterativ)o(e)e(deep)q(ening.)26 b(It)16 b(remains)0 +1735 y(to)f(b)q(e)h(sho)o(wn)f(whether)i(recursiv)o(e)g(iterativ)o(e)e +(deep)q(ening)h(or)f(a)g(shared)h(transp)q(osition)f(table)h(b)o(y)f +(themselv)o(es)g(is)g(a)g(more)0 1785 y(e\013ectiv)o(e)g(heuristic)g +(in)e(sp)q(eeding)i(up)f(a)g(w)o(ork-stealing)f(algorithm)e(on)j(a)f +(\\fair")g(test)i(set.)62 1835 y(Da)o(vid's)k Fj(\013\014)r +Fh(\003)i Fk(framew)o(ork)e(uses)j(a)e(global)f(transp)q(osition)h +(table)h(to)f(con)o(trol)g(where)i(the)f(pro)q(cessors)i(should)d(b)q +(e)0 1885 y(searc)o(hing)g([4].)35 b(By)20 b(adding)f(a)h(\014eld)g(to) +g(the)g(global)f(transp)q(osition)g(table)h(to)g(indicate)g(the)g(n)o +(um)o(b)q(er)f(of)h(pro)q(cessors)0 1934 y(searc)o(hing)15 +b(that)f(no)q(de,)g(eac)o(h)g(pro)q(cessor)i(can)e(pretend)i(it)d(is)h +(searc)o(hing)h(the)f(tree)i(sequen)o(tially)m(,)c(and)i(mak)o(e)f +(decisions)h(on)0 1984 y(where)h(to)f(searc)o(h)h(based)f(on)g(the)g(n) +o(um)o(b)q(er)f(of)g(pro)q(cessors)j(searc)o(hing)e(the)h(c)o(hildren)f +(of)f(the)h(no)q(de.)19 b(When)14 b(an)o(y)f(pro)q(cessor)0 +2034 y(generates)j(a)e(v)n(alue)g(for)f(the)i(ro)q(ot)g(p)q(osition,)e +(the)i(searc)o(h)g(is)f(\014nished.)20 b(Unfortunately)m(,)13 +b(Da)o(vid's)g(metho)q(d)h(of)f(con)o(trolling)0 2084 +y(where)h(the)f(pro)q(cessors)i(should)e(b)q(e)h(searc)o(hing)f(w)o(as) +g(ine\016cien)o(t,)f(and)h(the)g(sc)o(heme)g(w)o(as)g(hamp)q(ered)g(b)o +(y)f(the)i(use)g(of)e(half)g(of)0 2134 y(the)h(T)m(ransputers)g(as)f +(transp)q(osition)g(table)g(storage)g(units,)g(limiting)d(the)j(sp)q +(eedup)i(rep)q(orted)f(to)f(6.5)f(on)h(16)f(T)m(ransputers.)0 +2183 y(Regrettably)m(,)i(no)h(w)o(ork)f(is)h(rep)q(orted)h(that)f +(addresses)i(these)g(shortcomings.)62 2233 y(W)m(eill)h([29)o(])g +(recognized)j(that)e(the)h(YBW)f(criterion)h(could)f(b)q(e)h(used)g(in) +f(conjunction)g(with)g(the)h Fj(\013\014)r Fh(\003)f +Fk(framew)o(ork.)0 2283 y(W)m(eill)c(sho)o(w)o(ed)h(the)h(com)o +(bination,)d(ABD)o(AD)o(A,)h(yields)i(comparable)e(p)q(erformance)h(to) +g(a)g(YBW)g(implemen)o(tation)d(on)j(a)0 2333 y(CM-5.)k(On)14 +b(16)g(pro)q(cessors,)i(ABD)o(AD)o(A)e(yielded)g(an)g(10-fold)f(sp)q +(eedup)j(for)e(a)g(c)o(hess)h(program,)d(while)i(YBW)h(generated)0 +2383 y(a)f(sp)q(eedup)h(of)e(just)h(under)h(8.)62 2433 +y(Unfortunately)m(,)k(neither)h(of)e(these)j(sc)o(heduling)e(metho)q +(ds)f(deal)h(adequately)g(with)f(arc)o(hitectures)j(that)e(ha)o(v)o(e)g +(can)0 2482 y(pro)q(cess)h(a)e(high)g(n)o(um)o(b)q(er)g(of)g(no)q(des)h +(p)q(er)h(a)o(v)o(erage)e(message)g(latency)m(,)h(suc)o(h)g(as)g(a)f +(net)o(w)o(ork)h(of)f(w)o(orkstations.)31 b(Using)0 2532 +y(YBW)12 b(on)f(a)h(system)f(with)h(only)e(transp)q(osition)i(tables)g +(lo)q(cal)f(to)g(eac)o(h)i(pro)q(cess)g(will)d(yield)i(large)f(searc)o +(h)i(o)o(v)o(erheads,)f(since)0 2582 y(there)18 b(is)f(no)f(guaran)o +(tee)h(of)f(where)i(a)f(giv)o(en)f(no)q(de)h(will)e(end)i(up)g(when)g +(w)o(e)g(use)h(the)f(c)o(haotic)g(w)o(ork-stealing)e(sc)o(heduler)p +0 2617 780 2 v 46 2643 a Fd(3)64 2655 y Fg(Kuszmaul)9 +b(states)i(that)f(b)q(oth)g(T)m(ruscott)h(and)f(Berliner)g(ha)o(v)o(e)h +(used)f(recursiv)o(e)f(iterativ)o(e)h(deep)q(ening)e(in)j(the)g(past.) +965 2790 y Fk(5)p eop +%%Page: 6 8 +6 7 bop 444 0 a + 16766447 9472573 9669918 31246336 22892052 38679674 startTexFig + 444 0 a +%%BeginDocument: draw1b.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 52 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Times-Roman reencodeISO def +/Helvetica reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 3 3 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +117 437 65 332 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +117 437 162 332 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 271 296 ] concat +%I +117 437 65 332 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 271 296 ] concat +%I +117 437 162 332 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-* +Times-Roman 12 SetF +%I t +[ 1 0 0 1 217 609 ] concat +%I +[ +(APHID) +] Text +End + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 26.5 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 30.5 123 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 33.5 123 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 37.5 123 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 42 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 45 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 49 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 52.5 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 56 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 60 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 22.5 123.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 159 96 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 162.5 104 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 166 110.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 170.5 118.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 174 126.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 177 134 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 181 141 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 185 149 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 188.5 156 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 191.5 164 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 156 88.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 151.5 80 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 148 72.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 192 149 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 195.5 149 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 198.5 149 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 191 135 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 195 135 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 199 135 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 203.5 135 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 187 141 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 190 141 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 181 126.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 185 126.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 189 127 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 188.5 118.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 192.5 118.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 196.5 118.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 204.5 118.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 178 110.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 199 110.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 213.5 111 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 184 96 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 208 95.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b 65535 +1 0 0 [] 0 SetB +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 194 156 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 272 76 268 Line +%I 1 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 -0 -0 1 122 296 ] concat +%I +72 268 76 272 Line +%I 1 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -36.5 92.5 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +100 84 116 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +116 100 132 84 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +132 84 148 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +148 116 164 84 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +164 84 180 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +180 116 196 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +196 100 212 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +212 116 228 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +228 116 244 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +244 100 260 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +260 116 276 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +276 100 292 84 Line +%I 2 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 112.5 93 ] concat + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +100 84 116 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +116 100 132 84 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +132 84 148 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +148 116 164 84 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +164 84 180 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +180 116 196 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +196 100 212 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +212 116 228 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +228 116 244 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +244 100 260 116 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +260 116 276 100 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 174 494 ] concat +%I +276 100 292 84 Line +%I 2 +End + +End %I eop + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 494 ] concat +%I +136 476 160 476 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 244 596 ] concat +%I +136 272 160 272 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 497 ] concat +%I +136 296 160 296 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 244 554 ] concat +%I +136 272 160 272 Line +%I 2 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 297 692 ] concat +%I +[ +(d) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 313.5 716 ] concat +%I +[ +(d') +] Text +End + +Begin %I Line +%I b 65535 +2 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 200 494 ] concat +%I +200 374 200 308 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 200 494 ] concat +%I +200 404 200 470 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 200 494 ] concat +%I +236 452 236 470 Line +%I 2 +End + +Begin %I Line +%I b 65535 +2 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 200 494 ] concat +%I +236 422 236 398 Line +%I 2 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-times-medium-r-normal-*-12-*-*-*-*-*-*-* +Times-Roman 12 SetF +%I t +[ 1 0 0 1 373 608 ] concat +%I +[ +(YBW) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 334 691 a Fk(Figure)14 b(4:)k(Lo)q(cation)13 b(of)h(P)o(arallelism)d +(in)i(T)o(ypical)g(APHID)h(and)g(YBW)g(Searc)o(h)0 824 +y(in)i(com)o(bination)e(with)i(iterativ)o(e)g(deep)q(ening.)26 +b(Using)16 b(ABD)o(AD)o(A)g(is)h(infeasible)e(since)i(the)g(system)f +(requires)i(a)e(shared)0 874 y(transp)q(osition)f(table,)h(whic)o(h)f +(w)o(ould)g(b)q(e)h(extremely)f(slo)o(w)g(on)g(a)g(parallel)g(arc)o +(hitecture)i(with)e(a)g(high)g(n)o(um)o(b)q(er)g(of)g(CPU)0 +924 y(cycles)g(p)q(er)g(a)o(v)o(erage)f(message)f(latency)m(.)0 +1061 y Fl(3)67 b(The)22 b(APHID)f(Algorithm)0 1152 y +Fk(Y)m(oung)c(Brothers)i(W)m(ait)e(and)g(other)i(parallel)d(searc)o(h)j +(algorithms)d(su\013er)j(from)d(three)j(serious)f(problems.)29 +b(First,)18 b(the)0 1202 y(n)o(umerous)g(sync)o(hronization)g(p)q(oin)o +(ts)g(result)i(in)e(idle)g(time.)30 b(This)18 b(suggests)i(that)e(a)g +(new)h(algorithm)d(m)o(ust)h(striv)o(e)i(to)0 1251 y(reduce)i(or)e +(eliminate)f(sync)o(hronization)h(altogether.)34 b(Second,)21 +b(the)f(c)o(haotic)f(nature)h(of)f(a)g(w)o(ork-stealing)f(sc)o(heduler) +0 1301 y(requires)12 b(algorithms)c(suc)o(h)k(as)f(YBW)g(and)f(Jam)o(b) +q(oree)h(to)f(use)i(a)e(shared)i(transp)q(osition)f(table)f(and/or)h +(recursiv)o(e)h(iterativ)o(e)0 1351 y(deep)q(ening)20 +b(to)f(ac)o(hiev)o(e)g(a)g(go)q(o)q(d)f(mo)o(v)o(e)g(ordering)h(and)f +(reasonable)i(p)q(erformance.)33 b(Algorithms)17 b(based)j(on)e(the)i +Fj(\013\014)r Fh(\003)0 1401 y Fk(framew)o(ork)14 b(cannot)h(w)o(ork)g +(without)g(a)g(shared)h(transp)q(osition)f(table.)22 +b(Third,)15 b(the)g(program)f(ma)o(y)f(initiate)i(parallelism)0 +1451 y(at)h(no)q(des)g(whic)o(h)g(are)g(b)q(etter)h(done)f(sequen)o +(tially)m(.)23 b(F)m(or)15 b(example,)f(ha)o(ving)h(searc)o(hed)i(the)f +(\014rst)h(branc)o(h)f(at)g(a)f(no)q(de)h(and)0 1500 +y(not)e(ac)o(hiev)o(ed)g(a)g(cut-o\013,)g(Y)m(oung)f(Brothers)j(W)m +(ait)c(\(in)i(its)g(simplest)f(form\))g(p)q(ermits)g(all)g(of)g(the)i +(remaining)d(branc)o(hes)j(to)0 1550 y(b)q(e)h(searc)o(hed)h(in)e +(parallel.)22 b(Ho)o(w)o(ev)o(er,)16 b(if)f(the)h(second)h(branc)o(h)f +(causes)h(a)e(cut-o\013,)h(then)g(all)f(the)h(parallel)e(w)o(ork)h +(done)h(on)0 1600 y(the)f(third)f(\(and)g(subsequen)o(t\))h(branc)o +(hes)h(has)e(b)q(een)h(w)o(asted.)k(This)14 b(suggests)h(parallelism)c +(should)j(only)f(b)q(e)i(initiated)e(at)0 1650 y(no)q(des)i(where)g +(there)g(is)f(a)f(v)o(ery)h(high)g(probabilit)o(y)e(that)i(all)f(branc) +o(hes)i(m)o(ust)e(b)q(e)h(considered.)62 1700 y(This)g(section)h(in)o +(tro)q(duces)g(the)f(Async)o(hronous)h(P)o(arallel)e(Hierarc)o(hical)h +(Iterativ)o(e)g(Deep)q(ening)h(\(APHID\))f(game-tree)0 +1750 y(searc)o(hing)i(algorithm.)21 b(APHID)15 b(has)h(b)q(een)h +(designed)f(to)g(address)h(the)f(ab)q(o)o(v)o(e)f(three)i(issues.)25 +b(The)16 b(algorithm)d(is)i(asyn-)0 1799 y(c)o(hronous)g(in)f(nature;)h +(it)e(remo)o(v)o(es)h(all)f(sync)o(hronization)i(p)q(oin)o(ts)f(from)e +(the)j Fj(\013\014)i Fk(searc)o(h)e(and)g(from)d(iterativ)o(e)i(deep)q +(ening.)0 1849 y(Also,)f(parallelism)e(is)j(only)f(applied)g(at)h(no)q +(des)g(that)g(ha)o(v)o(e)g(a)f(high)g(probabilit)o(y)g(of)g(needing)h +(parallelism.)h(The)f(top)g(plies)0 1899 y(of)k(a)g(game-tree)g(\(near) +g(the)h(ro)q(ot\))g(v)n(ary)f(infrequen)o(tly)g(b)q(et)o(w)o(een)h +(steps)h(of)e(iterativ)o(e)g(deep)q(ening)h([22)o(].)31 +b(This)18 b(relativ)o(e)0 1949 y(in)o(v)n(ariance)13 +b(of)g(the)i(top)f(p)q(ortion)f(of)h(the)g(game-tree)g(is)f(exploited)h +(b)o(y)g(the)g(APHID)g(algorithm.)62 1999 y(In)e(its)f(simplest)g +(form,)f(APHID)i(can)g(b)q(e)g(view)o(ed)g(as)f(a)h(master/sla)o(v)o(e) +e(program)g(although,)h(as)h(discussed)h(later,)e(it)h(can)0 +2048 y(b)q(e)k(generalized)g(to)g(a)f(hierarc)o(hical)g(pro)q(cessor)i +(tree.)24 b(F)m(or)15 b(a)g(depth)i Fj(d)e Fk(searc)o(h,)h(the)g +(master)f(is)g(resp)q(onsible)i(for)e(the)h(top)0 2098 +y Fj(d)22 2083 y Fa(0)47 2098 y Fk(ply)d(of)g(the)i(tree,)f(and)g(the)g +(remaining)e Fj(d)d Fh(\000)g Fj(d)770 2083 y Fa(0)795 +2098 y Fk(ply)k(are)h(searc)o(hed)i(in)d(parallel)f(b)o(y)i(the)g(sla)o +(v)o(es.)k(Figure)c(4)g(sho)o(ws)g(where)0 2148 y(parallel)f +(activities)g(o)q(ccur)j(in)d(APHID)h(and)g(YBW.)g(Eac)o(h)g(lo)q +(cation)f(mark)o(ed)g(with)g(an)h Fb(x)g Fk(sho)o(ws)g(where)h(the)g +(parallelism)0 2198 y(t)o(ypically)10 b(tak)o(es)i(place.)18 +b(Although)11 b(more)f(parallelism)f(could)j(b)q(e)g(generated)h(in)e +(YBW,)g(eac)o(h)h Fb(x)g Fk(represen)o(ts)i(a)d(p)q(oten)o(tially)0 +2248 y(costly)16 b(sync)o(hronization)g(p)q(oin)o(t.)23 +b(The)17 b(parallelism)c(is)j(more)f(constrained)h(in)g(APHID)g(and,)g +(hence,)h(is)f(more)f(lik)o(ely)f(to)0 2297 y(su\013er)h(from)d(load)h +(im)o(balances)g(than)g(other)i(dynamic)d(sc)o(heduling)i(routines)h +(\(suc)o(h)f(as)g(YBW,)g(Jam)o(b)q(oree,)f(or)h Fj(\013\014)r +Fh(\003)p Fk(\).)0 2414 y Fv(3.1)56 b(Op)r(eration)17 +b(of)i(the)f(Master)h(in)f(APHID)0 2490 y Fk(The)d(master)e(is)h(resp)q +(onsible)i(for)d(searc)o(hing)i(the)g(top)f Fj(d)892 +2475 y Fa(0)918 2490 y Fk(ply)f(of)h(the)h(tree.)20 b(It)14 +b(rep)q(eatedly)h(tra)o(v)o(erses)h(this)f(tree)g(un)o(til)e(the)0 +2540 y(correct)g(minim)o(ax)8 b(v)n(alue)j(has)g(b)q(een)i(determined.) +k(The)12 b(master)f(is)g(executing)h(a)f(normal)e Fj(\013\014)14 +b Fk(searc)o(h,)e(with)f(the)h(exception)0 2590 y(that)i(APHID)g +(enforces)h(an)f(arti\014cial)f(searc)o(h)i(horizon)f(at)f +Fj(d)967 2575 y Fa(0)992 2590 y Fk(ply)h(from)e(the)i(ro)q(ot.)62 +2640 y(Eac)o(h)i(leaf)e(no)q(de)i(in)f(the)h(master's)e +Fj(d)657 2625 y Fa(0)684 2640 y Fk(ply)h(game-tree)f(is)i(b)q(eing)f +(async)o(hronously)g(searc)o(hed)i(b)o(y)e(the)h(sla)o(v)o(es.)22 +b(Before)0 2690 y(describing)15 b(ho)o(w)e(the)i(master)f(kno)o(ws)f +(when)i(the)g Fj(d)e Fk(ply)h(searc)o(h)h(is)f(complete,)f(w)o(e)h(m)o +(ust)f(\014rst)i(describ)q(e)h(ho)o(w)e(the)g(master)965 +2790 y(6)p eop +%%Page: 7 9 +7 8 bop 0 42 a Fk(searc)o(hes)16 b(the)e Fj(d)254 26 +y Fa(0)279 42 y Fk(ply)g(tree.)62 91 y(When)j(the)g(master)f(reac)o +(hes)i(a)f(leaf)f(of)f(the)j Fj(d)810 76 y Fa(0)837 91 +y Fk(ply)e(tree,)i(it)f(uses)g(a)g(reliable)f(or)g(appro)o(ximate)f(v)n +(alue)h(for)g(the)h(leaf,)0 141 y(dep)q(ending)g(on)f(the)h +(information)d(a)o(v)n(ailable.)24 b(If)16 b(a)g Fj(d)10 +b Fh(\000)i Fj(d)938 126 y Fa(0)965 141 y Fk(ply)k(searc)o(h)i(result)f +(is)g(a)o(v)n(ailable)d(from)g(the)k(sla)o(v)o(e,)e(that)g(will)0 +191 y(b)q(e)g(used.)22 b(\(In)15 b(the)h(curren)o(t)g(implemen)o +(tation,)11 b(w)o(e)16 b(do)e(not)h(use)h(deep)q(er)h(ply)e(v)n(alues,) +f(ev)o(en)i(if)e(they)h(are)h(a)o(v)n(ailable.)j(This)0 +241 y(will)12 b(b)q(e)h(discussed)i(in)e(Section)g(4.\))18 +b(Ho)o(w)o(ev)o(er,)13 b(if)f(the)i Fj(d)7 b Fh(\000)h +Fj(d)949 226 y Fa(0)973 241 y Fk(ply)k(result)i(is)f(not)g(a)o(v)n +(ailable,)d(then)k(the)g(algorithm)c(uses)k(the)0 291 +y(\\b)q(est)h(a)o(v)n(ailable")d(ply)h(result)i(that)g(had)e(b)q(een)j +(returned)g(b)o(y)e(the)g(sla)o(v)o(e)g(to)g(generate)i(a)d(guessed)j +(minim)o(ax)11 b(v)n(alue)1826 276 y Fe(4)1844 291 y +Fk(.)19 b(An)o(y)0 340 y(no)q(de)14 b(where)h(w)o(e)f(are)h(forced)f +(to)g(guess)h(is)f(mark)o(ed)e(as)i Fi(unc)n(ertain)p +Fk(.)62 390 y(As)g(v)n(alues)g(get)g(bac)o(k)o(ed)g(up)f(the)h(tree,)h +(the)f(master)f(main)o(tains)e(a)j(coun)o(t)g(of)f(ho)o(w)g(man)o(y)f +(uncertain)i(no)q(des)g(ha)o(v)o(e)g(b)q(een)0 440 y(visited)d(in)f(a)h +(pass)h(of)e(the)i(tree.)18 b(As)11 b(long)g(as)g(the)g(score)h(at)f +(an)o(y)g(of)f(the)i(lea)o(v)o(es)f(is)g(uncertain,)h(the)f(master)g(m) +o(ust)f(do)h(another)0 490 y(pass)j(of)g(the)g(tree.)19 +b(Once)c(the)g(master)e(has)h(a)f(reliable)h(v)n(alue)f(for)g(all)g +(the)h(lea)o(v)o(es)g(in)g(its)g Fj(d)1423 475 y Fa(0)1448 +490 y Fk(ply)f(tree,)h(the)h(searc)o(h)g(of)e(the)h Fj(d)0 +540 y Fk(ply)h(tree)h(is)f(complete.)22 b(The)16 b(con)o(trolling)d +(program)h(w)o(ould)h(then)h(pro)q(ceed)g(to)f(the)h(next)g(iteration)f +(b)o(y)g(incremen)o(ting)f Fj(d)0 589 y Fk(and)g(asking)f(the)h(master) +g(to)g(searc)o(h)h(the)f(tree)h(again.)62 639 y(Note)e(that)f(this)g +(de\014nition)f(of)h(the)g(master)g(solv)o(es)g(one)g(of)g(the)g +(problems)f(that)h(some)f(algorithms)f(ha)o(v)o(e)i(with)g(resp)q(ect)0 +689 y(to)k(initializing)d(parallelism)g(to)q(o)j(quic)o(kly)f(at)g(a)h +(p)q(oten)o(tial)f Fb(CUT)g Fk(no)q(de.)24 b(By)17 b(using)e(the)i +(guessed)g(scores)g(when)g(accurate)0 739 y(information)9 +b(is)j(not)f(a)o(v)n(ailable,)f(the)i(APHID)g(algorithm)e +(automatically)e(determines)k(if)f(a)h(subsequen)o(t)i(c)o(hild)d(is)h +(lik)o(ely)e(to)0 789 y(generate)k(a)e(cut-o\013)h(at)f(a)g(failed)g +Fb(CUT)g Fk(no)q(de.)18 b(If)12 b(it)g(seems)g(lik)o(ely)g(that)g(a)g +(c)o(hild)g(will)f(generate)j(a)e(cut-o\013)h(based)g(on)f(guessed)0 +839 y(v)n(alues,)f(the)g(c)o(hildren)g(of)f(the)h(failed)e +Fb(CUT)h Fk(no)q(de)h(are)g(ev)n(aluated)g(sequen)o(tially)m(.)16 +b(If)10 b(it)g(seems)h(unlik)o(ely)e(that)i(the)g(no)q(de)g(will)e(b)q +(e)0 888 y(pruned)j(due)g(to)f(lo)o(w)f(minim)o(ax)e(v)n(alues,)j(the)h +(searc)o(h)g(w)o(ould)e(con)o(tin)o(ue)i(for)f(a)f(promising)f(no)q(de) +j(at)f(that)g(branc)o(h)h(in)f(parallel.)0 938 y(This)k(is)g(all)f +(handled)i(automatically)c(b)o(y)j(the)h Fj(\013\014)i +Fk(routine.)k(The)16 b(handling)e(of)h(a)g(h)o(yp)q(othesized)h +Fb(CUT)f Fk(no)q(de)h(is)f(stronger)0 988 y(than)g(the)g(equiv)n(alen)o +(t)f(scenario)i(in)e(the)h(YBW)g(algorithm,)d(whic)o(h)j(ignores)g +(previous)g(score)h(information)c(a)o(v)n(ailable)g(for)0 +1038 y(some)f(branc)o(hes)i(of)f(the)h(failed)e Fb(CUT)g +Fk(no)q(de.)18 b(In)12 b(the)h(full)d(v)o(ersion)j(of)e(YBW,)h +(application-dep)q(enden)o(t)g(information)d(is)j(used)0 +1088 y(to)i(do)f(what)h(APHID)g(handles)g(automatically)d(with)j(the)g +Fj(\013\014)i Fk(searc)o(h)f(windo)o(w.)62 1137 y(The)g(sla)o(v)o(es)g +(are)g(resp)q(onsible)g(for)f(setting)h(their)g(o)o(wn)f(searc)o(h)i +(windo)o(ws,)e(based)h(on)f(information)e(from)h(the)i(master.)0 +1187 y(Sometimes,)10 b(the)j(information)d(returned)k(b)o(y)e(the)h +(sla)o(v)o(e)f(ma)o(y)f(not)h(b)q(e)h(useful)g(to)f(the)h(master.)k(F)m +(or)12 b(example,)f(a)i(sla)o(v)o(e)f(can)0 1237 y(tell)h(the)i(master) +e(that)h(the)g(score)h(of)f(a)f(giv)o(en)g(no)q(de)i(is)e(less)i(than)f +(30,)e(but)i(the)h(master)e(ma)o(y)f(w)o(an)o(t)h(to)h(kno)o(w)f(if)g +(the)i(score)0 1287 y(is)e(in)g(b)q(et)o(w)o(een)i(-5)e(and)g(5.)18 +b(In)13 b(this)h(case,)g(a)f(\\bad)g(b)q(ound")h(searc)o(h)g(is)f +(generated,)i(and)e(the)h(searc)o(h)h(windo)o(w)d(parameters,)0 +1337 y Fj(\013)j Fk(and)f Fj(\014)r Fk(,)h(m)o(ust)f(b)q(e)i(comm)o +(unicated)c(to)j(the)h(sla)o(v)o(e)e(pro)q(cessor.)23 +b(An)o(y)15 b(no)q(des)g(where)h(w)o(e)f(are)h(w)o(aiting)d(for)i +(\\bad)f(b)q(ound")0 1386 y(information)g(to)j(b)q(e)h(up)q(dated)g(b)o +(y)f(the)h(sla)o(v)o(e)f(are)h(considered)g(as)g(uncertain)g(b)o(y)f +(the)g(master.)28 b(Ev)o(en)o(tually)m(,)16 b(the)i(sla)o(v)o(e)0 +1436 y(will)11 b(return)j(up)q(dated)f(information)c(that)k(is)f +(consisten)o(t)h(with)f(b)q(oth)h(the)g(original)e(information)e(and)j +(the)h(searc)o(h)h(windo)o(w)0 1486 y(requested)170 1471 +y Fe(5)191 1486 y Fk(.)0 1602 y Fv(3.2)56 b(The)18 b(APHID)h(T)-5 +b(able)0 1679 y Fk(If)15 b(a)f(leaf)h(no)q(de)g(is)g(visited)g(b)o(y)g +(the)g(master)g(for)g(the)g(\014rst)h(time,)d(it)i(is)g(statically)f +(allo)q(cated)h(to)f(a)h(sla)o(v)o(e)g(pro)q(cessor.)23 +b(This)0 1729 y(information)14 b(is)j(recorded)h(in)f(a)f(table,)i(the) +f Fi(APHID)h(table)p Fk(,)f(that)g(is)g(shared)h(b)o(y)e(all)g(pro)q +(cessors.)29 b(Figure)17 b(5)g(sho)o(ws)g(an)0 1779 y(example)c(of)g +(ho)o(w)g(the)i(APHID)f(table)g(w)o(ould)f(b)q(e)h(organized)g(at)g(a)f +(giv)o(en)h(p)q(oin)o(t)f(in)h(time.)62 1828 y(The)h(APHID)f(table)g +(is)g(partitioned)g(in)o(to)g(t)o(w)o(o)f(parts:)20 b(one)14 +b(whic)o(h)g(only)g(the)g(master)g(can)g(write)h(to,)f(and)g(one)g +(whic)o(h)0 1878 y(only)g(the)h(sla)o(v)o(e)g(that)f(has)h(b)q(een)h +(assigned)f(that)g(piece)h(of)e(w)o(ork)g(can)h(write)g(to.)21 +b(An)o(y)14 b(attempt)g(to)h(write)g(in)o(to)f(the)h(table)0 +1928 y(generates)k(a)e(message)g(that)g(informs)f(the)i(sla)o(v)o(e)f +(or)g(the)h(master)f(pro)q(cess)i(of)e(the)h(up)q(date)g(to)f(the)h +(information.)26 b(The)0 1978 y(master)13 b(and)f(sla)o(v)o(e)h(only)f +(read)i(their)f(lo)q(cal)f(copies)i(of)e(the)i(information;)c(there)k +(are)f(no)g(explicit)g(messages)g(sen)o(t)h(b)q(et)o(w)o(een)0 +2028 y(the)g(master)g(and)g(the)g(sla)o(v)o(e)g(asking)f(for)g +(information.)62 2077 y(The)g(master's)f(half)f(of)h(the)h(table)f(is)h +(illustrated)f(ab)q(o)o(v)o(e)g(the)h(dotted)g(line)f(in)g(Figure)g(5.) +17 b(F)m(or)12 b(eac)o(h)h(leaf)f(that)g(has)h(b)q(een)0 +2127 y(visited)h(b)o(y)f(the)h(master,)f(there)i(is)f(an)f(en)o(try)i +(in)e(the)h(APHID)g(table.)k(Information)11 b(main)o(tained)h(on)h(the) +i(lea)o(v)o(es)e(includes)0 2177 y(the)g(mo)o(v)o(es)e(required)j(to)e +(generate)i(the)f(leaf)f(p)q(ositions)g(from)f(the)i(ro)q(ot)g +Fb(R)p Fk(,)f(the)h(appro)o(ximate)e(lo)q(cation)g(of)h(the)h(leaf)f +(in)g(the)0 2227 y(tree)17 b(\(whic)o(h)e(is)h(used)g(b)o(y)f(the)h +(sla)o(v)o(e)f(to)h(prioritize)f(w)o(ork\),)g(whether)i(this)f(leaf)f +(w)o(as)g(visited)g(on)h(the)g(last)f(pass)h(that)f(the)0 +2277 y(master)e(executed,)j(and)d(the)i(n)o(um)o(b)q(er)e(of)g(the)i +(sla)o(v)o(e)e(that)h(the)h(leaf)e(w)o(as)h(allo)q(cated)f(to.)62 +2326 y(In)h(our)f(example,)f(w)o(e)i(can)g(see)g(that)g(the)g(same)f(n) +o(um)o(b)q(er)f(of)h(lea)o(v)o(es)h(ha)o(v)o(e)f(b)q(een)i(allo)q +(cated)e(to)g(eac)o(h)h(sla)o(v)o(e.)k(Note)c(that)0 +2376 y(there)i(is)f(an)g(additional)f(leaf,)g(8,)h(that)g(is)g(not)g +(represen)o(ted)j(in)c(the)i(master's)f Fj(d)1286 2361 +y Fa(0)1312 2376 y Fk(ply)f(searc)o(h)j(tree.)23 b(This)15 +b(leaf)f(no)q(de)i(has)0 2426 y(b)q(een)h(visited)e(on)g(a)g(previous)h +(pass)g(of)e(the)i Fj(d)731 2411 y Fa(0)758 2426 y Fk(ply)f(searc)o(h)h +(tree,)h(and)e(w)o(as)g(not)h(visited)f(on)g(the)h(latest)g(pass.)23 +b(Ho)o(w)o(ev)o(er,)p 0 2461 780 2 v 46 2488 a Fd(4)64 +2499 y Fg(Man)o(y)12 b(game-tree)f(searc)o(h)h(programs)e(exhibit)i(an) +g(e\013ect)g(based)g(on)h(the)g(parit)o(y)e(of)i(the)g(searc)o(h)f +(depth)f(\(o)q(dd)h(or)h(ev)o(en)f(n)o(um)o(b)q(er)g(of)g(ply\).)0 +2539 y(Scores)d(are)g(stable)g(when)h(y)o(ou)f(lo)q(ok)h(at)f(results)g +(from)g(the)h(o)q(dd)f(plies)g(only)m(,)h(or)g(ev)o(en)f(plies)g(only)m +(,)g(but)h(are)f(sometimes)f(unstable)g(when)i(y)o(ou)f(mix)0 +2578 y(the)i(t)o(w)o(o.)k(Th)o(us,)c(w)o(e)h(use)f(the)g(deep)q(est)f +(ply)g(v)n(alue)h(with)g(the)g(same)f(parit)o(y)m(,)g(instead)g(of)h +(alw)o(a)o(ys)g(using)f(the)h(deep)q(est)e(ply)i(v)n(alue)f(a)o(v)n +(ailable.)46 2606 y Fd(5)64 2618 y Fg(It)j(ma)o(y)g(happ)q(en)f(that)h +(the)g(original)f(searc)o(h)g(and)h(the)h(\\bad)e(b)q(ound")g(searc)o +(h)h(are)g(inconsisten)o(t)e(with)j(one)f(another,)f(through)g(the)h +(use)0 2657 y(of)h(searc)o(h)e(extensions)f(that)i(ma)o(y)g(or)h(ma)o +(y)f(not)g(b)q(e)g(triggered)f(based)g(on)i(the)f(searc)o(h)g(windo)o +(w)g(used.)22 b(In)13 b(this)h(case,)f(the)g(searc)o(h)g(explicitly)0 +2697 y(requested)c(b)o(y)i(the)g(master)f(o)o(v)o(errides)f(the)i +(informatio)o(n)e(that)h(had)h(b)q(een)f(previously)f(stored.)965 +2790 y Fk(7)p eop +%%Page: 8 10 +8 9 bop 489 0 a + 15345564 14208860 8420065 17234821 28417720 35653713 startTexFig + 489 0 a +%%BeginDocument: draw2.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Helvetica reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 6 6 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 5.99997 0 ] concat + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 342 674 ] concat +%I +[ +(Master) +] Text +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 8 26 ] concat + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 315 543.5 ] concat +%I +[ +(1) +] Text +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +80 224 12 12 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -4 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +128 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 339 543.5 ] concat +%I +[ +(2) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -10 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +164 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 357 544 ] concat +%I +[ +(3) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -16 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +200 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 375 544 ] concat +%I +[ +(4) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -22 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +236 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 393 544 ] concat +%I +[ +(5) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 104 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +32 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 291 543.5 ] concat +%I +[ +(7) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -28 26 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +272 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 411 544 ] concat +%I +[ +(6) +] Text +End + +End %I eop + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +68 260 164 452 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +68 260 272 260 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +164 452 272 260 Line +%I 2 +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -71.5 99 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +308 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 428.5 544 ] concat +%I +[ +(R) +] Text +End + +End %I eop + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 284 612.5 ] concat +%I +[ +(d') +] Text +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 395 ] concat +%I +148 518 100 518 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 395 ] concat +%I +148 326 100 326 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 395 ] concat +%I +124 446 124 506 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 226 395 ] concat +%I +124 410 124 338 Line +%I 2 +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 18 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +128 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 339 543.5 ] concat +%I +[ +(2) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 84 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +164 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 357 544 ] concat +%I +[ +(3) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -108 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +200 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 375 544 ] concat +%I +[ +(4) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 0 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +236 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 393 544 ] concat +%I +[ +(5) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 66 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +272 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 411 544 ] concat +%I +[ +(6) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -84 -24 ] concat + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 315 543.5 ] concat +%I +[ +(1) +] Text +End + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +80 224 12 12 Elli +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 12 -24 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +32 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 291 543.5 ] concat +%I +[ +(7) +] Text +End + +End %I eop + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.458861 0 0 0.489848 235.544 397.7 ] concat +%I +232 170 388 266 Rect +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.815325 0 0 0.489848 236.845 397.7 ] concat +%I +232 170 364 266 Rect +End + +Begin %I Line +%I b 65520 +1 0 0 [12 4] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1.21519 0 0 0.046875 83.0438 492.703 ] concat +%I +100 241 376 241 Line +%I 1 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 162 515 ] concat +%I +[ +(APHID) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 162 503 ] concat +%I +[ +(Table) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 222 497 ] concat +%I +[ +(-1/4) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 258 497 ] concat +%I +[ +(+2/3) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 297.5 497 ] concat +%I +[ +(?/0) +] Text +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 148 395 ] concat +%I +136 170 352 266 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 348 497 ] concat +%I +[ +(+5/5) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 468 497 ] concat +%I +[ +(+1/3) +] Text +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +140 331 98 217 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +140 331 170 235 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +98 217 110 229 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +110 229 116 217 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +116 217 122 247 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +122 247 140 235 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +140 235 146 247 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +146 247 152 229 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +152 229 158 247 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1 0 0 1 130 131 ] concat +%I +158 247 170 235 Line +%I 1 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +288 398 204 194 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +204 194 240 218 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +240 218 252 230 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +252 230 264 218 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +264 218 276 182 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +276 182 288 206 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +288 206 300 230 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +300 230 312 206 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +312 206 324 230 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +288 398 348 230 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 234 263 ] concat +%I +324 230 348 230 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +188 248 212 284 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +212 284 236 248 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +236 248 248 296 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +248 296 272 260 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +272 260 284 296 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +284 296 308 272 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +308 272 320 296 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +260 464 320 296 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 338 230 ] concat +%I +260 464 188 248 Line +%I 2 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 246 341 ] concat +%I +[ +(Slave 1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 354 341 ] concat +%I +[ +(Slave 2) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 444 341 ] concat +%I +[ +(Slave 3) +] Text +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 35.5 -97.5 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +128 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 339 543.5 ] concat +%I +[ +(2) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 54 -97 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +272 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 411 544 ] concat +%I +[ +(6) +] Text +End + +End %I eop + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 -24.5 -99 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 428 ] concat +%I +32 224 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 291 543.5 ] concat +%I +[ +(7) +] Text +End + +End %I eop + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 130 296 ] concat +%I +100 320 148 320 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 130 296 ] concat +%I +100 164 148 164 Line +%I 2 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 180.5 421.5 ] concat +%I +[ +(d-d') +] Text +End + +Begin %I Line +%I b 65535 +1 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 130 296 ] concat +%I +124 224 124 176 Line +%I 2 +End + +Begin %I Line +%I b 65535 +1 0 1 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 0 0 0.5 130 296 ] concat +%I +124 260 124 308 Line +%I 2 +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 384 497 ] concat +%I +[ +(+4/5) +] Text +End + +Begin %I Pict +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 1 0 0 1 60 -36 ] concat + +Begin %I Elli +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.5 -0 -0 0.5 278 362 ] concat +%I +356 380 12 12 Elli +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 453 555.5 ] concat +%I +[ +(8) +] Text +End + +End %I eop + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 504 497 ] concat +%I +[ +(-3/1) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-* +Helvetica 12 SetF +%I t +[ 1 0 0 1 432 497 ] concat +%I +[ +(<0/4) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 490 991 a Fk(Figure)14 b(5:)k(A)c(Snapshot)g(of)f(APHID)h(Searc)o(h)h +(in)e(Op)q(eration)0 1124 y(the)h(information)c(that)k(the)g(sla)o(v)o +(e)f(has)g(generated)i(ma)o(y)c(b)q(e)j(needed)h(in)e(a)g(later)g(pass) +h(of)f(the)h(tree)g(and)f(is)h(not)f(deleted)h(b)o(y)0 +1174 y(the)g(master.)k(Lea)o(v)o(es)c(are)g(initially)e(allo)q(cated)h +(to)h(the)g(sla)o(v)o(es)g(in)f(a)h(round-robin)f(manner,)f(and)i(ma)o +(y)e(mo)o(v)o(e)g(due)i(to)g(load)0 1224 y(balancing)g(\(as)h(describ)q +(ed)i(in)e(Section)h(3.4\).)k(Although)15 b(there)i(ma)o(y)c(b)q(e)i(b) +q(etter)i(metho)q(ds)e(of)f(allo)q(cating)g(lea)o(v)o(es,)h(it)g(has)0 +1273 y(b)q(een)f(found)f(that)h(this)f(is)g(a)g(reasonable)h(metho)q(d) +f(of)f(initially)f(balancing)h(the)i(load)f(on)g(a)g(small)e(n)o(um)o +(b)q(er)h(of)h(pro)q(cessors.)62 1323 y(The)j(sla)o(v)o(e's)e(part)h +(of)g(the)g(table,)g(illustrated)f(b)o(y)h(the)h(area)f(b)q(elo)o(w)f +(the)i(dotted)g(line,)e(con)o(tains)h(information)d(on)i(the)0 +1373 y(result)f(of)e(searc)o(hing)i(the)g(p)q(osition)e(to)h(v)n +(arious)f(depths)j(of)d(searc)o(h.)19 b(The)12 b(\\b)q(est")h +(information)c(and)j(the)h(ply)e(to)h(whic)o(h)g(the)0 +1423 y(leaf)j(w)o(as)g(examined)f(is)i(giv)o(en)f(underneath)h(eac)o(h) +g(leaf)f(no)q(de)h(in)f(the)h(tree.)24 b(F)m(or)15 b(leaf)g(1,)g(the)h +(score)h(returned)g(is)e(-1)g(with)0 1473 y(a)f(searc)o(h)h(depth)f(of) +g(4.)j(Leaf)d(3)g(illustrates)g(that)g(the)g(score)h(information)c +(returned)16 b(b)o(y)e(the)g(sla)o(v)o(e)g(is)f(not)h(necessarily)h(an) +0 1522 y(exact)h(n)o(um)o(b)q(er.)k(The)15 b(sla)o(v)o(es)g(main)o +(tain)d(an)j(upp)q(er)h(b)q(ound)e(and)h(a)g(lo)o(w)o(er)f(b)q(ound)h +(on)g(the)g(score)h(for)f(eac)o(h)g(ply)g(of)f(searc)o(h)0 +1572 y(depth.)19 b(The)14 b(score)h(is)f(kno)o(wn)f(to)h(b)q(e)h(exact) +f(when)h(the)f(upp)q(er)h(and)f(lo)o(w)o(er)f(b)q(ounds)i(are)f(the)g +(same.)0 1688 y Fv(3.3)56 b(Op)r(eration)17 b(of)i(Sla)n(v)n(e)g(in)f +(APHID)0 1765 y Fk(A)c(sla)o(v)o(e)f(pro)q(cess)i(essen)o(tially)e +(executes)j(the)e(same)e(co)q(de)j(that)e(a)g(sequen)o(tial)h +Fj(\013\014)i Fk(searc)o(her)f(w)o(ould.)i(The)d(pro)q(cess)h(simply)0 +1815 y(rep)q(eats)g(the)g(follo)o(wing)c(three)k(steps)h(un)o(til)d +(the)h(master)g(tells)f(it)h(that)g(the)g(searc)o(h)h(is)f(complete:)51 +1898 y(1.)20 b(Lo)q(ok)13 b(in)h(its)f(p)q(ortion)h(of)f(its)h(lo)q +(cal)f(cop)o(y)h(of)f(the)i(APHID)f(table,)f(and)h(\014nd)g(the)g +(highest)h(priorit)o(y)e(no)q(de)h(to)g(searc)o(h.)51 +1981 y(2.)20 b(Execute)15 b(the)g(searc)o(h.)51 2064 +y(3.)20 b(Rep)q(ort)14 b(the)g(result)h(bac)o(k)f(to)g(the)g(master)g +(\(getting)f(an)h(up)q(date)h(to)e(its)h(APHID)g(table)g(in)g +(return\).)62 2147 y(The)19 b(w)o(ork)e(selection)i(criterion)f(is)g +(primarily)d(based)k(on)f(the)g(depth)h(to)f(whic)o(h)f(the)i(sla)o(v)o +(e)f(has)g(already)f(searc)o(hed)0 2197 y(a)h(no)q(de.)31 +b(As)18 b(w)o(e)g(can)h(see)g(for)e(Sla)o(v)o(e)h(1)g(in)f(Figure)h(5,) +h(lea)o(v)o(es)f(1,)g(4)g(and)g(7)f(ha)o(v)o(e)h(b)q(een)h(searc)o(hed) +h(to)e(4,)g(3)g(and)g(0)f(ply)m(,)0 2247 y(resp)q(ectiv)o(ely)m(.)i(Th) +o(us,)14 b(Sla)o(v)o(e)f(1)g(is)h(attempting)e(to)i(searc)o(h)h(leaf)e +(7)h(to)f(1)h(ply)m(,)e(and)i(will)e(con)o(tin)o(ue)i(to)g(searc)o(h)h +(leaf)e(7)h(up)g(to)f(3)0 2296 y(ply)g(b)o(y)h(using)g(iterativ)o(e)f +(deep)q(ening,)i(if)e(no)h(new)g(w)o(ork)f(arriv)o(es)i(from)d(the)i +(master.)62 2346 y(The)c(secondary)h(criterion)f(is)g(the)g(lo)q +(cation)f(of)g(the)h(no)q(de)h(within)d(the)j(master's)e(game-tree.)16 +b(This)10 b(secondary)h(criterion)0 2396 y(is)f(necessary)i(since)f(it) +f(is)f(usually)h(b)q(ene\014cial)g(to)g(generate)h(the)g(results)g(in)f +(a)g(left-to-righ)o(t)f(order)h(for)g(the)h(master.)16 +b(Children)0 2446 y(of)e(no)q(des)h(are)g(usually)f(considered)h(in)g +(a)f(b)q(est-to-w)o(orst)h(ordering,)f(implying)e(that)i(the)h +(left-most)e(branc)o(hes)j(at)e(a)h(no)q(de)0 2496 y(ha)o(v)o(e)g(a)g +(higher)g(probabilit)o(y)e(of)i(b)q(eing)g(useful)g(than)g(the)h(righ)o +(t-most)d(ones.)22 b(F)m(or)15 b(Sla)o(v)o(e)f(2)h(in)g(Figure)g(5,)f +(lea)o(v)o(es)i(2)e(and)h(5)0 2545 y(ha)o(v)o(e)f(b)q(oth)h(b)q(een)g +(searc)o(hed)h(to)e(5)g(ply)m(,)f(but)h(leaf)g(2)g(is)g(b)q(eing)h +(searc)o(hed)g(in)f(the)h(sla)o(v)o(e)f(to)g(6)g(ply)g(since)h(it)f(is) +g(further)h(left)f(in)0 2595 y(the)g(tree)i(than)d(leaf)h(5.)62 +2645 y(A)g(no)q(de)h(that)f(has)g(a)f(priorit)o(y)h(of)f(zero)i(\(b)q +(ecause)h(it)d(is)h(no)g(longer)f(part)i(of)e(the)h(master's)g(tree\))h +(will)e(not)h(b)q(e)g(selected)0 2695 y(for)f(further)h(searc)o(h.)19 +b(F)m(or)13 b(Sla)o(v)o(e)g(3,)g(w)o(e)g(notice)h(that)f(Leaf)g(8)g(w)o +(ould)g(b)q(e)h(searc)o(hed)h(if)d(it)h(had)h(b)q(een)g(visited)f(b)o +(y)g(the)h(master)965 2790 y(8)p eop +%%Page: 9 11 +9 10 bop 0 42 a Fk(on)18 b(the)g(latest)g(pass.)30 b(Leaf)18 +b(8)f(is)h(ignored)f(b)o(y)h(the)g(sc)o(heduling)g(algorithm)d(b)q +(ecause)20 b(it)d(is)h(not)g(curren)o(tly)g(part)g(of)f(the)0 +91 y(master's)c(tree.)62 141 y(Before)19 b(a)f(searc)o(h)h(can)f(b)q(e) +h(executed,)h(an)e Fj(\013\014)i Fk(searc)o(h)f(windo)o(w)e(m)o(ust)g +(b)q(e)i(generated)g(b)o(y)f(the)g(sla)o(v)o(e.)30 b(The)18 +b(master)0 191 y(con)o(tin)o(ually)f(advises)j(the)f(sla)o(v)o(es)g(of) +g(the)g(leaf)s('s)f(lo)q(cation)h(within)f(the)h(master's)g(tree,)i +(and)d(the)i(h)o(yp)q(othetical)f(v)n(alue)0 241 y(of)e(the)g(ro)q(ot)h +(of)e(the)i(master's)f(tree.)29 b(Although)17 b(the)h(width)f(of)f(the) +i(searc)o(h)g(windo)o(w)f(is)g(application-dep)q(enden)o(t,)h(one)0 +291 y(normally)12 b(w)o(an)o(ts)i(to)g(cen)o(ter)i(the)f(windo)o(w)f +(around)g(this)h(h)o(yp)q(othesized)g(ro)q(ot)g(v)n(alue,)e(plus)h(or)h +(min)o(us)d(a)j(factor)f(to)g(re\015ect)0 340 y(the)g(uncertain)o(t)o +(y)h(in)e(it.)62 390 y(There)19 b(are)e(three)h(t)o(yp)q(es)g(of)f(up)q +(date)h(messages)f(that)g(a)g(sla)o(v)o(e)g(receiv)o(es)h(from)e(the)h +(master:)24 b(a)17 b(new)h(piece)g(of)e(w)o(ork)0 440 +y(has)g(b)q(een)h(added)f(to)f(the)i(sla)o(v)o(e)e(pro)q(cessor's)j +(APHID)e(table,)f(the)i(lo)q(cation)d(of)h(a)h(leaf)f(no)q(de)h(within) +f(the)i(master's)e(tree)0 490 y(has)g(c)o(hanged)h(\(c)o(hanging)e(the) +i(secondary)g(w)o(ork)e(sc)o(heduling)i(criterion\),)f(and)g(a)g +(noti\014cation)f(of)g(a)h(\\bad)g(b)q(ound")f(on)h(a)0 +540 y(no)q(de.)21 b(The)15 b(bad)g(b)q(ound)g(message)f(alerts)i(the)f +(sla)o(v)o(e)f(that)h(a)g(p)q(osition's)f(searc)o(h)i(information)c(is) +i(not)h(su\016cien)o(t)g(to)g(sa)o(v)o(e)0 589 y(the)g(no)q(de)h(from)d +(b)q(eing)h(uncertain.)22 b(In)15 b(this)g(case,)g(the)h(sla)o(v)o(e)e +(m)o(ust)g(re-searc)o(h)i(the)g(no)q(de)f(with)f(the)i +Fj(\013\014)h Fk(searc)o(h)f(windo)o(w)0 639 y(sen)o(t)f(b)o(y)e(the)i +(master)e(to)h(the)g(ply)g(requested.)62 689 y(As)19 +b(a)g(p)q(erformance)f(impro)o(v)o(emen)o(t,)f(w)o(e)i(w)o(an)o(t)f(to) +h(force)g(the)g(sla)o(v)o(e)f(to)h(alw)o(a)o(ys)f(w)o(ork)g(on)g(no)q +(des)i(for)e(the)h(curren)o(t)0 739 y(searc)o(h)c(depth)f(of)f(the)h +(master.)j(When)d(all)e(the)i(sla)o(v)o(e's)f(w)o(ork)h(has)f(b)q(een)i +(searc)o(hed)g(to)e(the)h(required)h(depth,)f(rather)g(than)0 +789 y(b)q(ecoming)h(idle,)g(it)g(starts)i(re-searc)o(hing)g(its)f(w)o +(ork)f(sp)q(eculativ)o(ely)h(an)g(additional)e(ply)h(deep)q(er,)i(in)f +(an)o(ticipation)e(of)h(the)0 839 y(next)g(iteration)f(\(depth)h +Fj(d)9 b Fk(+)h(1\).)20 b(When)14 b(sp)q(eculativ)o(e)h(searc)o(h)h(is) +e(running)g(on)g(a)h(pro)q(cessor,)g(the)g(sla)o(v)o(e)g(routinely)f(c) +o(hec)o(ks)0 888 y(the)j(comm)o(unicati)o(on)c(c)o(hannel)j(for)g +(messages)g(from)f(the)h(master.)24 b(If)16 b(the)h(sla)o(v)o(e)e +(receiv)o(es)j(a)e(new)g(piece)h(of)f(w)o(ork)f(to)h(do)0 +938 y(at)h Fj(d)11 b Fh(\000)h Fj(d)153 923 y Fa(0)181 +938 y Fk(ply)17 b(or)g(less,)h(the)g(sp)q(eculativ)o(e)f(searc)o(h)i +(is)e(imm)o(ediately)d(ab)q(orted)k(and)f(con)o(trol)g(is)g(returned)i +(to)e(the)g(sla)o(v)o(e's)0 988 y(sc)o(heduling)d(algorithm.)0 +1104 y Fv(3.4)56 b(Load)18 b(Balancing)0 1181 y Fk(Although)13 +b(the)h(master)e(attempts)h(to)h(giv)o(e)e(an)h(equal)g(amoun)o(t)f(of) +h(w)o(ork)g(to)g(eac)o(h)g(sla)o(v)o(e)g(in)g(APHID,)g(neither)i(the)e +(master)0 1231 y(nor)i(the)h(sla)o(v)o(e)e(can)i(predict)g(the)f(amoun) +o(t)f(of)g(e\013ort)i(required)g(to)f(complete)f(a)h +Fj(d)9 b Fh(\000)i Fj(d)1377 1216 y Fa(0)1403 1231 y +Fk(ply)j(searc)o(h)j(for)d(a)h(giv)o(en)g(piece)h(of)0 +1280 y(w)o(ork.)i(In)13 b(games)f(suc)o(h)i(as)f(c)o(hess,)i(there)f +(are)g(no)f(completely)f(reliable)h(indicators)g(of)g(the)h +(\\e\013ort")f(required)i(for)d(a)h(giv)o(en)0 1330 y(searc)o(h.)19 +b(Th)o(us,)14 b(load)f(im)o(balances)f(can)i(o)q(ccur)h(based)g(on)e +(the)i(allo)q(cation)d(of)h(w)o(ork)h(to)g(sla)o(v)o(es.)62 +1380 y(The)j(master)g(kno)o(ws)f(all)g(of)g(the)i(information)13 +b(ab)q(out)k(ho)o(w)g(man)o(y)d(uncertain)k(no)q(des)g(it)e(is)h(w)o +(aiting)e(for)h(from)f(eac)o(h)0 1430 y(sla)o(v)o(e.)24 +b(Th)o(us,)16 b(the)g(master)g(has)g(information)d(on)i(when)i(to)e(mo) +o(v)o(e)g(lea)o(v)o(es)h(from)e(the)i Fj(d)1405 1415 +y Fa(0)1432 1430 y Fk(ply)g(tree)h(from)d(an)i Fi(overworke)n(d)0 +1480 y(slave)f Fk(\(a)g(sla)o(v)o(e)g(with)g(a)g(large)h(n)o(um)o(b)q +(er)e(of)h(uncertain)h(no)q(des\))g(to)f(an)g Fi(underworke)n(d)i +(slave)e Fk(\(a)g(sla)o(v)o(e)g(with)g(no)g(uncertain)0 +1529 y(no)q(des\).)24 b(This)15 b(yields)g(a)g(tradeo\013)h(b)q(et)o(w) +o(een)h(faster)f(con)o(v)o(ergence)h(for)e(a)h(giv)o(en)f(ply)f(searc)o +(h)j(of)e(the)h(tree)h(and)e(additional)0 1579 y(searc)o(h)g(o)o(v)o +(erhead.)0 1695 y Fv(3.5)56 b(Implem)o(en)n(tation)0 +1772 y Fk(The)17 b(APHID)f(algorithm)e(has)j(b)q(een)g(written)g(as)g +(an)f(application-indep)q(enden)o(t)g(library)g(of)f(C)i(routines.)26 +b(The)17 b(library)0 1822 y(w)o(as)12 b(written)g(to)f(pro)o(vide)h +(minim)o(al)c(in)o(terv)o(en)o(tion)j(in)o(to)g(a)h(w)o(orking)e(v)o +(ersion)i(of)f(sequen)o(tial)h Fj(\013\014)i Fk(\(or)e(its)f(common)e +(v)n(arian)o(ts:)0 1872 y(NegaScout[20,)k(23)o(])g(and)g(Principal)g(V) +m(ariation)f(Searc)o(h)i(\(PVS\))g([17)o(]\).)k(Since)c(the)g(library)e +(is)i(application-indep)q(enden)o(t,)0 1922 y(a)c(p)q(oten)o(tial)g +(user)i(m)o(ust)e(write)g(a)h(few)f(application-dep)q(enden)o(t)h +(routines)g(\(suc)o(h)h(as)f(mo)o(v)o(e)d(format,)h(ho)o(w)i(to)f(mak)o +(e/unmak)o(e)0 1971 y(mo)o(v)o(es,)j(p)q(osition)i(format,)e(setting)i +(a)g(windo)o(w)f(for)g(a)h(sla)o(v)o(e's)f(searc)o(h,)i +Fi(etc)p Fk(.\).)21 b(APHID's)15 b(message)g(passing)g(w)o(as)f +(written)0 2021 y(using)g(PVM)g([28)o(])f(to)h(allo)o(w)e(for)i(the)g +(maxim)o(um)9 b(p)q(ortabilit)o(y)k(among)e(a)o(v)n(ailable)h(hardw)o +(are.)62 2071 y(T)m(o)h(parallelize)f(a)i(sequen)o(tial)f +Fj(\013\014)j Fk(program,)11 b(the)j(user)g(mo)q(di\014es)f(his)g(or)g +(her)h(searc)o(h)h(routine)f(as)f(sho)o(wn)g(in)g(Figure)h(6.)0 +2121 y(The)h(APHID)f(c)o(hanges)h(are)f(mark)o(ed)f(b)o(y)h(shading,)f +(and)h(easily)g(\014t)g(in)o(to)g(standard)g Fj(\013\014)j +Fk(framew)o(orks.)g(This)d(one)h(piece)g(of)0 2171 y(co)q(de)g +(functions)f(as)g(the)g(searc)o(h)h(algorithm)c(for)j(b)q(oth)g(the)g +(master)g(and)g(the)g(sla)o(v)o(e)g(pro)q(cesses.)62 +2220 y(There)i(are)f(a)g(few)f(additional)f(calls)i(that)f(ha)o(v)o(e)h +(to)f(b)q(e)i(added)f(to)f(the)i(iterativ)o(e)e(deep)q(ening)i(routine) +f(that)g(calls)f Fj(\013\014)r Fk(,)0 2270 y(outlined)f(in)h(Figure)g +(7.)62 2320 y(Initially)m(,)c(it)i(w)o(as)g(an)o(ticipated)g(that)h +(all)e(users)j(w)o(ould)d(w)o(an)o(t)h(to)h(searc)o(h)g(in)f(parallel)f +(from)g(the)i(ro)q(ot)f(of)g(the)h(game)e(tree.)0 2370 +y(Ho)o(w)o(ev)o(er,)i(there)i(are)e(some)f(programs)g(that)h(wish)g(to) +g(handle)g(the)h(ro)q(ot)f(of)f(the)i(game)d(tree)k(in)d(a)h +(di\013eren)o(t)h(w)o(a)o(y)e(than)h(the)0 2420 y(other)j(lea)o(v)o(es) +f(of)f(the)i(searc)o(h)g(tree)g(\(b)o(y)f(adding)f(calls)h(to)g(the)g +(time-con)o(trol)f(mec)o(hanism,)e(and)j(sp)q(ecial)g(handling)f(of)g +(the)0 2470 y Fj(\013\014)19 b Fk(searc)o(h)f(windo)o(w\).)25 +b(APHID)17 b(has)g(b)q(een)h(generalized)f(to)g(in)o(tegrate)g(with)f +(this)h(st)o(yle)g(of)f(searc)o(hing)h(the)g(game)e(tree;)0 +2519 y(Figure)e(8)f(illustrates)g(the)h(c)o(hanges)g(necessary)m(.)20 +b(The)12 b(only)g(signi\014can)o(t)g(c)o(hange)h(from)d(Figure)j(7)f +(is)g(the)h(addition)f(of)g(a)g(call)0 2569 y(to)i Fb(aphid)p +164 2569 14 2 v 14 w(intnode)p 332 2569 V 15 w(premove)p +Fk(.)62 2619 y(There)h(are)g(t)o(w)o(o)e(calls)g(that)h(are)h(inserted) +g(in)o(to)e(the)i(main)c(program,)h(whic)o(h)i(are)g(illustrated)g(in)f +(Figure)h(9.)965 2790 y(9)p eop +%%Page: 10 12 +10 11 bop 482 17 a + 15582380 33154007 1184071 3025960 24010342 51178209 startTexFig + 482 17 a +%%BeginDocument: code4.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Courier reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 6 6 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 0.99763 -0 -0 3.92857 18.0284 -414.643 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 0.99763 -0 -0 3.07143 18.0284 -128.357 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 477 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 -57 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 -27 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 177 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 219 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 18 81 ] concat +%I +12 231 432 243 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 957 ] concat +%I +[ +(int PVS\(p, alpha, beta, depth, plytogo\)) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 945 ] concat +%I +[ +(position p;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 933 ] concat +%I +[ +(int alpha, beta;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 921 ] concat +%I +[ +(int depth, plytogo;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 909 ] concat +%I +[ +({) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 873 ] concat +%I +[ +(int h_length; /* ply position previously searched to */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 897 ] concat +%I +[ +(char *p_hash; /* pointer to hash value */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 885 ] concat +%I +[ +(char *p_key; /* pointer to hash table "lock" */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 861 ] concat +%I +[ +(int h_score; /* score for h_length ply */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 849 ] concat +%I +[ +(int h_flag; /* VALID, LBOUND or UBOUND */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 837 ] concat +%I +[ +(move *h_move; /* recommended move for h_length ply */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 825 ] concat +%I +[ +(int width; /* number of moves in move list */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 813 ] concat +%I +[ +(int i; /* move counter */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 801 ] concat +%I +[ +(int value; /* score of child PVS call */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 783 ] concat +%I +[ +(/* Generate hash value and key for this position */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 771 ] concat +%I +[ +(generate_hash\(p, p_hash, p_key\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 759 ] concat +%I +[ +(/* Fetch information from local transposition table */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 747 ] concat +%I +[ +(retrieve\(p_hash, p_kley, h_length, h_score, h_flag, h_move\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 729 ] concat +%I +[ +(/* If we have searched position deep enough, use score info */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 705 ] concat +%I +[ +(if \(flag == VALID\) { return\(h_score\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 669 ] concat +%I +[ +(if \(alpha >= beta\) { return\(h_score\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 657 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 639 ] concat +%I +[ +(/* Evaluate position if at bottom of the tree */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 591 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 573 ] concat +%I +[ +(/* Generate move list, evaluate position if no moves */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 549 ] concat +%I +[ +(if \(width == 0\) { return\(evaluate\(p\)\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 501 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 681 ] concat +%I +[ +(if \(flag == UBOUND\) { beta = min\(beta,h_score\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 693 ] concat +%I +[ +(if \(flag == LBOUND\) { alpha = max\(alpha,h_score\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 483 ] concat +%I +[ +(score = -INFINITY;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 471 ] concat +%I +[ +(lower = alpha; upper = beta;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 441 ] concat +%I +[ +(/* Loop through moves in move list */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 429 ] concat +%I +[ +(for\(i=1; \(i <= width && score <= beta\); i++ \) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 405 ] concat +%I +[ +(make_move\(p, move[i]\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 387 ] concat +%I +[ +(value = -PVS\(p, -upper, -lower, depth+1, plytogo-1\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 375 ] concat +%I +[ +(if \(value > score && i > 1\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 120 363 ] concat +%I +[ +(value = -PVS\(p, -beta, -value, depth+1, plytogo-1\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 351 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 333 ] concat +%I +[ +(unmake_move\(p,move[i]\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 309 ] concat +%I +[ +(if \(value > score\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 120 297 ] concat +%I +[ +(score = value;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 120 285 ] concat +%I +[ +(move_opt = move[i];) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 273 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 255 ] concat +%I +[ +(/* Set bounds for next search */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 243 ] concat +%I +[ +(lower = max\(alpha, score\); upper = lower+1;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 231 ] concat +%I +[ +(} /* for all moves */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 195 ] concat +%I +[ +(/* Write information into local trans. table */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 171 ] concat +%I +[ +(h_flag = VALID;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 561 ] concat +%I +[ +(width = generate\(p, h_move\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 159 ] concat +%I +[ +(if \(score <= alpha\) { h_flag = UBOUND; }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 147 ] concat +%I +[ +(if \(score >= beta\) { h_flag = LBOUND; }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 135 ] concat +%I +[ +(if \(h_length <= plytogo\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 123 ] concat +%I +[ +(store\(p_hash, p_key, plytogo, score, h_flag, move_opt\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 111 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 99 ] concat +%I +[ +(return\(score\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 48 87 ] concat +%I +[ +(} /* function PVS */) +] Text +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 2 -0 -0 2 -190 -34 ] concat +%I +107 47 323 503 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 627 ] concat +%I +[ +(if \(plytogo <= 0\) { return\(evaluate\(p\)\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 717 ] concat +%I +[ +(if \(aphid_master\(\) == FALSE && h_length == plytogo\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 615 ] concat +%I +[ +(if \(aphid_horizon\(depth\)\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 537 ] concat +%I +[ +(if \(aphid_checkalarm\(\) != FALSE\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 459 ] concat +%I +[ +(aphid_intnode_start\(depth, p_hash, p_key\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 417 ] concat +%I +[ +(aphid_intnode_move\(depth, &\(move[i]\)\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 321 ] concat +%I +[ +(aphid_intnode_update\(depth, value\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 213 ] concat +%I +[ +(if \(score >= beta\) { aphid_intnode_fixbound\(depth\); }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 183 ] concat +%I +[ +(aphid_intnode_end\(depth, &score\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 525 ] concat +%I +[ +(terminate_search = TRUE;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 603 ] concat +%I +[ +(return\(aphid_eval_leaf\(alpha,beta,depth,p_hash,p_key\)\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 96 513 ] concat +%I +[ +(return\(0\); /* Should exit PVS quickly when alarm on */) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 395 2208 a Fk(Figure)14 b(6:)k(Ho)o(w)13 b(APHID)h(Mo)q(di\014es)g(a)g +(T)o(ypical)f(PVS)h(Implemen)o(tation)459 2284 y + 16292818 4736286 1184071 44665815 23615651 51178209 startTexFig + 459 +2284 a +%%BeginDocument: code5.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Courier reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 8 8 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 612 ] concat +%I +155 342 563 354 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 951 ] concat +%I +[ +(for\(plytogo=1;\(plytogo <= MAXDEPTH && done == FALSE\); plytogo++\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 939 ] concat +%I +[ +(/* Set up search */) +] Text +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1.00951 -0 -0 1.12603 -126.417 566.628 ] concat +%I +149 252 569 360 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 963 ] concat +%I +[ +(aphid_initsearch\(MAXDEPTH\);) +] Text +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 0 0 1 -125 596 ] concat +%I +155 294 563 318 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 0 0 1 -125 596 ] concat +%I +155 258 563 270 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 887 ] concat +%I +[ +(/* Print out results of search */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 875 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 911 ] concat +%I +[ +(/* Call to aphid_rootsearch replaces call to PVS */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 899 ] concat +%I +[ +(score = aphid_rootsearch\(0,plytogo,guess-eps,guess+eps\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 863 ] concat +%I +[ +(aphid_endsearch\(\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 61 925 ] concat +%I +[ +(/* Search at root around value \(guess\) with small error \(eps\) */) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 385 2675 a Fk(Figure)g(7:)k(Ho)o(w)c(APHID)g(Mo)q(di\014es)g(the)g +(Iterativ)o(e)h(Deep)q(ening)f(Routine)954 2790 y(10)p +eop +%%Page: 11 13 +11 12 bop 465 197 a + 16117604 19418804 1184071 24405032 23549870 51178209 startTexFig + 465 197 a +%%BeginDocument: code6.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Courier reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 8 8 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 559 ] concat +%I +155 173 563 197 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 559 ] concat +%I +155 209 563 221 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 559 ] concat +%I +155 323 563 335 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 612 ] concat +%I +155 342 563 354 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 951 ] concat +%I +[ +(for\(plytogo=1;\(plytogo <= MAXDEPTH && done == FALSE\); plytogo++\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 903 ] concat +%I +[ +(}) +] Text +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 1.00711 -0 -0 4.68604 -126.059 -714.975 ] concat +%I +149 252 569 360 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 915 ] concat +%I +[ +(/* Print out results of search */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 927 ] concat +%I +[ +(score = ROOT_PVS\(root_pos,guess-eps,guess+eps,0,plytogo\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 867 ] concat +%I +[ +(ROOT_PVS\(root_pos, alpha, beta, depth, plytogo\)) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 855 ] concat +%I +[ +(...) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 843 ] concat +%I +[ +({) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 831 ] concat +%I +[ +(...) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 819 ] concat +%I +[ +(/* Search PV Move */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 807 ] concat +%I +[ +(lower = alpha;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 789 ] concat +%I +[ +(search_best_move:) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 765 ] concat +%I +[ +(make_move\(p,bestmove\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 729 ] concat +%I +[ +(unmake_move\(p,bestmove\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 963 ] concat +%I +[ +(aphid_initsearch\(MAXDEPTH\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 891 ] concat +%I +[ +(aphid_endsearch\(\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 777 ] concat +%I +[ +(aphid_intnode_premove\(depth, &bestmove\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 753 ] concat +%I +[ +(/* aphid_rootsearch replaces typical call to PVS */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 939 ] concat +%I +[ +(/* Set up search with small window \(eps\) around guess */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 741 ] concat +%I +[ +(oldscore = -aphid_rootsearch\(depth+1,plytogo-1,-beta,-lower\);) +] Text +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 0 0 1 -125 437 ] concat +%I +155 159 563 183 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 0 0 1 -125 437 ] concat +%I +155 207 563 219 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 641 ] concat +%I +[ +(make_move\(p,move[i]\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 629 ] concat +%I +[ +(/* Check if move beats PV move by more than delta */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 581 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 539 ] concat +%I +[ +(bestmove = move[i];) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 527 ] concat +%I +[ +(lower = newscore;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 503 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 491 ] concat +%I +[ +(...) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 36 479 ] concat +%I +[ +(} /* function ROOT_PVS */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 653 ] concat +%I +[ +(aphid_intnode_premove\(depth,&move[i]\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 593 ] concat +%I +[ +(unmake_move\(p,move[i]\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 210 605 ] concat +%I +[ +(-oldscore-delta-1, -oldscore-delta\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 617 ] concat +%I +[ +(newscore = -aphid_rootsearch\(depth+1, plytogo-1,) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 515 ] concat +%I +[ +(if \(newscore < beta\) { goto search_best_move; }) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 84 551 ] concat +%I +[ +(/* set new best move and score and research \(if necc.\) */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 665 ] concat +%I +[ +(for\(i=2;\(i<=width && newscore <= oldscore+delta; i++\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 677 ] concat +%I +[ +(newscore = oldscore;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 563 ] concat +%I +[ +(if \(newscore > oldscore+delta\) {) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 60 711 ] concat +%I +[ +(/* Search other moves at root, and only switch if move beats */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 59 698 ] concat +%I +[ +(/* PV score \(oldscore\) by a small margin \(delta\) */) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 248 1518 a Fk(Figure)14 b(8:)j(Ho)o(w)d(APHID)g(Mo)q(di\014es)g(Sp)q +(ecial)g(Handling)f(of)g(the)i(Ro)q(ot)e(of)g(the)i(Game)d(T)m(ree)489 +1954 y + 15345567 7104430 1447198 41639854 22102671 51178209 startTexFig + 489 1954 a +%%BeginDocument: code7.ps + +/arrowHeight 10 def +/arrowWidth 5 def + +/IdrawDict 51 dict def +IdrawDict begin + +/reencodeISO { +dup dup findfont dup length dict begin +{ 1 index /FID ne { def }{ pop pop } ifelse } forall +/Encoding ISOLatin1Encoding def +currentdict end definefont +} def + +/ISOLatin1Encoding [ +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon +/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N +/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright +/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m +/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve +/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut +/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot +/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior +/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine +/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex +/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute +/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis +/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave +/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex +/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis +/yacute/thorn/ydieresis +] def +/Courier reencodeISO def + +/none null def +/numGraphicParameters 17 def +/stringLimit 65535 def + +/Begin { +save +numGraphicParameters dict begin +} def + +/End { +end +restore +} def + +/SetB { +dup type /nulltype eq { +pop +false /brushRightArrow idef +false /brushLeftArrow idef +true /brushNone idef +} { +/brushDashOffset idef +/brushDashArray idef +0 ne /brushRightArrow idef +0 ne /brushLeftArrow idef +/brushWidth idef +false /brushNone idef +} ifelse +} def + +/SetCFg { +/fgblue idef +/fggreen idef +/fgred idef +} def + +/SetCBg { +/bgblue idef +/bggreen idef +/bgred idef +} def + +/SetF { +/printSize idef +/printFont idef +} def + +/SetP { +dup type /nulltype eq { +pop true /patternNone idef +} { +dup -1 eq { +/patternGrayLevel idef +/patternString idef +} { +/patternGrayLevel idef +} ifelse +false /patternNone idef +} ifelse +} def + +/BSpl { +0 begin +storexyn +newpath +n 1 gt { +0 0 0 0 0 0 1 1 true subspline +n 2 gt { +0 0 0 0 1 1 2 2 false subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline +} if +n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Circ { +newpath +0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/CBSpl { +0 begin +dup 2 gt { +storexyn +newpath +n 1 sub dup 0 0 1 1 2 2 true subspline +1 1 n 3 sub { +/i exch def +i 1 sub dup i dup i 1 add dup i 2 add dup false subspline +} for +n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline +n 2 sub dup n 1 sub dup 0 0 1 1 false subspline +patternNone not { ifill } if +brushNone not { istroke } if +} { +Poly +} ifelse +end +} dup 0 4 dict put def + +/Elli { +0 begin +newpath +4 2 roll +translate +scale +0 0 1 0 360 arc +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 1 dict put def + +/Line { +0 begin +2 storexyn +newpath +x 0 get y 0 get moveto +x 1 get y 1 get lineto +brushNone not { istroke } if +0 0 1 1 leftarrow +0 0 1 1 rightarrow +end +} dup 0 4 dict put def + +/MLine { +0 begin +storexyn +newpath +n 1 gt { +x 0 get y 0 get moveto +1 1 n 1 sub { +/i exch def +x i get y i get lineto +} for +patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if +brushNone not { istroke } if +0 0 1 1 leftarrow +n 2 sub dup n 1 sub dup rightarrow +} if +end +} dup 0 4 dict put def + +/Poly { +3 1 roll +newpath +moveto +-1 add +{ lineto } repeat +closepath +patternNone not { ifill } if +brushNone not { istroke } if +} def + +/Rect { +0 begin +/t exch def +/r exch def +/b exch def +/l exch def +newpath +l b moveto +l t lineto +r t lineto +r b lineto +closepath +patternNone not { ifill } if +brushNone not { istroke } if +end +} dup 0 4 dict put def + +/Text { +ishow +} def + +/idef { +dup where { pop pop pop } { exch def } ifelse +} def + +/ifill { +0 begin +gsave +patternGrayLevel -1 ne { +fgred bgred fgred sub patternGrayLevel mul add +fggreen bggreen fggreen sub patternGrayLevel mul add +fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor +eofill +} { +eoclip +originalCTM setmatrix +pathbbox /t exch def /r exch def /b exch def /l exch def +/w r l sub ceiling cvi def +/h t b sub ceiling cvi def +/imageByteWidth w 8 div ceiling cvi def +/imageHeight h def +bgred bggreen bgblue setrgbcolor +eofill +fgred fggreen fgblue setrgbcolor +w 0 gt h 0 gt and { +l b translate w h scale +w h true [w 0 0 h neg 0 h] { patternproc } imagemask +} if +} ifelse +grestore +end +} dup 0 8 dict put def + +/istroke { +gsave +brushDashOffset -1 eq { +[] 0 setdash +1 setgray +} { +brushDashArray brushDashOffset setdash +fgred fggreen fgblue setrgbcolor +} ifelse +brushWidth setlinewidth +originalCTM setmatrix +stroke +grestore +} def + +/ishow { +0 begin +gsave +fgred fggreen fgblue setrgbcolor +/fontDict printFont printSize scalefont dup setfont def +/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end +transform exch pop def +/vertoffset 1 printSize sub descender sub def { +0 vertoffset moveto show +/vertoffset vertoffset printSize sub def +} forall +grestore +end +} dup 0 3 dict put def +/patternproc { +0 begin +/patternByteLength patternString length def +/patternHeight patternByteLength 8 mul sqrt cvi def +/patternWidth patternHeight def +/patternByteWidth patternWidth 8 idiv def +/imageByteMaxLength imageByteWidth imageHeight mul +stringLimit patternByteWidth sub min def +/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv +patternHeight mul patternHeight max def +/imageHeight imageHeight imageMaxHeight sub store +/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def +0 1 imageMaxHeight 1 sub { +/y exch def +/patternRow y patternByteWidth mul patternByteLength mod def +/patternRowString patternString patternRow patternByteWidth getinterval def +/imageRow y imageByteWidth mul def +0 patternByteWidth imageByteWidth 1 sub { +/x exch def +imageString imageRow x add patternRowString putinterval +} for +} for +imageString +end +} dup 0 12 dict put def + +/min { +dup 3 2 roll dup 4 3 roll lt { exch } if pop +} def + +/max { +dup 3 2 roll dup 4 3 roll gt { exch } if pop +} def + +/midpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 x1 add 2 div +y0 y1 add 2 div +end +} dup 0 4 dict put def + +/thirdpoint { +0 begin +/y1 exch def +/x1 exch def +/y0 exch def +/x0 exch def +x0 2 mul x1 add 3 div +y0 2 mul y1 add 3 div +end +} dup 0 4 dict put def + +/subspline { +0 begin +/movetoNeeded exch def +y exch get /y3 exch def +x exch get /x3 exch def +y exch get /y2 exch def +x exch get /x2 exch def +y exch get /y1 exch def +x exch get /x1 exch def +y exch get /y0 exch def +x exch get /x0 exch def +x1 y1 x2 y2 thirdpoint +/p1y exch def +/p1x exch def +x2 y2 x1 y1 thirdpoint +/p2y exch def +/p2x exch def +x1 y1 x0 y0 thirdpoint +p1x p1y midpoint +/p0y exch def +/p0x exch def +x2 y2 x3 y3 thirdpoint +p2x p2y midpoint +/p3y exch def +/p3x exch def +movetoNeeded { p0x p0y moveto } if +p1x p1y p2x p2y p3x p3y curveto +end +} dup 0 17 dict put def + +/storexyn { +/n exch def +/y n array def +/x n array def +n 1 sub -1 0 { +/i exch def +y i 3 2 roll put +x i 3 2 roll put +} for +} def + +/SSten { +fgred fggreen fgblue setrgbcolor +dup true exch 1 0 0 -1 0 6 -1 roll matrix astore +} def + +/FSten { +dup 3 -1 roll dup 4 1 roll exch +newpath +0 0 moveto +dup 0 exch lineto +exch dup 3 1 roll exch lineto +0 lineto +closepath +bgred bggreen bgblue setrgbcolor +eofill +SSten +} def + +/Rast { +exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore +} def + + +/arrowhead { +0 begin +transform originalCTM itransform +/taily exch def +/tailx exch def +transform originalCTM itransform +/tipy exch def +/tipx exch def +/dy tipy taily sub def +/dx tipx tailx sub def +/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def +gsave +originalCTM setmatrix +tipx tipy translate +angle rotate +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +patternNone not { +originalCTM setmatrix +/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul +arrowWidth div def +/padtail brushWidth 2 div def +tipx tipy translate +angle rotate +padtip 0 translate +arrowHeight padtip add padtail add arrowHeight div dup scale +arrowheadpath +ifill +} if +brushNone not { +originalCTM setmatrix +tipx tipy translate +angle rotate +arrowheadpath +istroke +} if +grestore +end +} dup 0 9 dict put def + +/arrowheadpath { +newpath +arrowHeight neg arrowWidth 2 div moveto +0 0 lineto +arrowHeight neg arrowWidth 2 div neg lineto +} def + +/leftarrow { +0 begin +y exch get /taily exch def +x exch get /tailx exch def +y exch get /tipy exch def +x exch get /tipx exch def +brushLeftArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + +/rightarrow { +0 begin +y exch get /tipy exch def +x exch get /tipx exch def +y exch get /taily exch def +x exch get /tailx exch def +brushRightArrow { tipx tipy tailx taily arrowhead } if +end +} dup 0 4 dict put def + + +%I Idraw 10 Grid 8 8 + + +Begin +%I b u +%I cfg u +%I cbg u +%I f u +%I p u +%I t +[ 0.799705 0 0 0.799705 0 0 ] concat +/originalCTM matrix currentmatrix def + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 612 ] concat +%I +161 216 539 228 Rect +End + +Begin %I Rect +none SetB %I b n +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +%I p +0.95 SetP +%I t +[ 1 -0 -0 1 -125 612 ] concat +%I +161 276 539 288 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 963 ] concat +%I +[ +(int main\(argc, argv\)) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 951 ] concat +%I +[ +(int argc;) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 939 ] concat +%I +[ +(char *argv[];) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 927 ] concat +%I +[ +({) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 915 ] concat +%I +[ +(/* Initialization required by any process in system */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 867 ] concat +%I +[ +(/* Initialization required only by the master process */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 825 ] concat +%I +[ +(exit\(0\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 42 813 ] concat +%I +[ +(}) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 855 ] concat +%I +[ +(/* Play game */) +] Text +End + +Begin %I Rect +%I b 65535 +1 0 0 [] 0 SetB +%I cfg Black +0 0 0 SetCFg +%I cbg White +1 1 1 SetCBg +none SetP %I p n +%I t +[ 0.997449 -0 -0 0.962766 -124.605 625.404 ] concat +%I +155 174 545 360 Rect +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 885 ] concat +%I +[ +(/* Only the absolute master process gets here */) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 897 ] concat +%I +[ +(aphid_startup\(argv\);) +] Text +End + +Begin %I Text +%I cfg Black +0 0 0 SetCFg +%I f -*-courier-medium-r-normal-*-10-*-*-*-*-*-*-* +Courier 10 SetF +%I t +[ 1 0 0 1 72 837 ] concat +%I +[ +(aphid_exit\(\);) +] Text +End + +End %I eop + +showpage + + +end +%%EndDocument + + endTexFig + 510 2495 a Fk(Figure)i(9:)k(Ho)o(w)13 b(APHID)h(Mo)q(di\014es)h(the)f +(Main)f(Program)954 2790 y(11)p eop +%%Page: 12 14 +12 13 bop 62 42 a Fk(A)18 b(brief)g(explanation)f(of)g(the)i +(parameters)f(and)g(function)f(of)h(eac)o(h)g(of)g(these)h +Fb(aphid)p 1461 42 14 2 v 33 w Fk(routines)f(can)g(b)q(e)h(found)e(in)0 +91 y(App)q(endix)d(A.)62 141 y(Along)h(with)g(the)i(additional)c(calls) +j(added)g(to)f(PVS,)h(the)g(iterativ)o(e)f(deep)q(ening)i(routine,)f +(and)f(the)i(main)c(program,)0 191 y(roughly)d(100)f(lines)h(of)g +(application-dep)q(enden)o(t)h(co)q(de)g(ha)o(v)o(e)f(to)g(b)q(e)h +(de\014ned)h(for)e(the)h Fb(aphid)p 1432 191 V 14 w(stub)p +1534 191 V 26 w Fk(routines.)17 b(The)11 b(APHID)0 241 +y(library)i(is)h(game-indep)q(enden)o(t,)g(but)g(it)g(needs)h(to)f(kno) +o(w)g(some)f(game-dep)q(enden)o(t)h(prop)q(erties)i(suc)o(h)e(as)g +(what)g(the)h(name)0 291 y(of)f(the)h(ev)n(aluation)e(function)h(is,)g +(what)g(the)h(name)e(of)h(the)h(searc)o(h)g(routine)g(is,)f(ho)o(w)g +(to)g(mak)o(e)f(and)h(unmak)o(e)f(mo)o(v)o(es,)f Fi(etc)p +Fk(.)0 340 y(The)i Fb(aphid)p 198 340 V 15 w(stub)p 301 +340 V 29 w Fk(routines)g(are)g(also)g(brie\015y)g(describ)q(ed)i(in)d +(App)q(endix)h(A.)0 478 y Fl(4)67 b(Exp)r(erimen)n(ts)0 +569 y Fk(The)20 b(APHID)g(game-indep)q(enden)o(t)f(library)g(has)h(b)q +(een)g(inserted)h(in)o(to)e(three)i(di\013eren)o(t)g(programs)d(o)o(v)o +(er)i(the)g(last)f(six)0 618 y(mon)o(ths.)e(F)m(or)c(this)h(initial)d +(exp)q(erimen)o(t,)i(eac)o(h)i(of)e(the)h(programs)e(c)o(hosen)j(w)o +(ere)f(written)h(at)e(the)h(Univ)o(ersit)o(y)g(of)f(Alb)q(erta,)0 +668 y(and)g(the)h(authors)g(of)f(the)h(program)e(w)o(ere)j(assisted)f +(in)f(implemen)o(ting)d(the)15 b(APHID)e(library)g(in)o(to)g(their)h +(programs.)j(The)0 718 y(\014rst)g(program)f(w)o(as)g +Ff(Key)m(ano)p Fk(,)j(an)e(Othello)f(program)f(written)i(b)o(y)g(Mark)f +(Bro)q(c)o(kington.)27 b(The)17 b(second)h(program)d(w)o(as)0 +768 y Ff(TheTurk)p Fk(,)i(a)e(c)o(hess)i(program)e(written)h(b)o(y)g +(Yngvi)f(Bjornsson)h(and)g(Andreas)h(Junghanns.)24 b(The)17 +b(\014nal)e(program)f(w)o(as)0 818 y(the)k(curren)o(t)i(Man-Mac)o(hine) +d(w)o(orld)h(c)o(hampion)d(c)o(hec)o(k)o(ers)20 b(program,)d +Ff(Chinook)p Fk(,)i(written)g(b)o(y)e(a)h(team)f(that)g(includes)0 +867 y(Martin)d(Bry)o(an)o(t,)f(Rob)g(Lak)o(e,)h(P)o(aul)f(Lu,)g +(Jonathan)h(Sc)o(hae\013er,)h(and)f(Norman)e(T)m(reloar)i([25)o(].)62 +917 y(P)o(arallel)h(tests)i(w)o(ere)g(run)f(on)f(up)h(to)g(16)f(w)o +(orkstations)h(on)f(a)g(net)o(w)o(ork)h(of)g(SparcStation)f(IPC)h +(computers)g(with)f(12)0 967 y(MB)h(of)f(RAM,)g(running)g(the)h(SunOS)g +(4.1.4)e(op)q(erating)h(system.)23 b(The)16 b(SparcStations)g(are)g +(link)o(ed)f(with)g(1)g(segmen)o(t)h(of)0 1017 y(10)e(base)g(2)g +(\(thin)g(net\))h(Ethernet.)20 b(One)15 b(w)o(orkstation)e(in)h(eac)o +(h)g(exp)q(erimen)o(t)g(w)o(as)g(completely)f(o)q(ccupied)i(b)o(y)f +(the)g(master)0 1067 y(pro)q(cess,)h(while)f(the)g(other)h(w)o +(orkstations)e(eac)o(h)i(ran)f(a)f(single)h(sla)o(v)o(e)f(pro)q(cess.) +62 1117 y(More)18 b(sp)q(eci\014c)g(details)f(will)f(follo)o(w)f(in)h +(the)i(subsequen)o(t)h(sections)f(ab)q(out)f(the)g(exp)q(erimen)o(ts)h +(with)e(eac)o(h)i(program.)0 1166 y(Ho)o(w)o(ev)o(er,)j(w)o(e)f(m)o +(ust)f(discuss)i(the)f(general)g(metho)q(dology)e(used)i(for)g(ev)n +(aluating)e(the)j(p)q(erformance)e(of)g(the)i(APHID)0 +1216 y(algorithm.)62 1266 y(P)o(arallel)16 b(and)h(sequen)o(tial)g +(algorithms)d(often)j(do)g(not)f(agree)i(with)e(eac)o(h)i(other)f(ab)q +(out)g(minim)o(ax)d(v)n(alues)i(and)h(b)q(est)0 1316 +y(mo)o(v)o(es)10 b(when)h(the)g(full)f(v)o(ersion)h(of)f(the)h(program) +e(is)i(used)h([15)o(].)k(F)m(or)11 b(example,)e(di\013eren)o(t)j(searc) +o(h)g(windo)o(ws)e(cause)i(di\013eren)o(t)0 1366 y(searc)o(h)k +(extensions)h(to)e(b)q(e)h(turned)g(on,)f(causing)g(di\013eren)o(t)h +(alpha-b)q(eta)f(results.)24 b(Th)o(us,)15 b(all)f(searc)o(h)j +(extensions,)f(searc)o(h)0 1415 y(reductions)h(and)f(n)o(ull)g(mo)o(v)o +(e)e(searc)o(hing)j(w)o(ere)g(turned)g(o\013)f(for)g(the)h(purp)q(oses) +h(of)d(this)h(exp)q(erimen)o(t.)25 b(Since)17 b(some)e(w)o(ork)0 +1465 y(could)g(b)q(e)g(ev)n(aluated)f(to)h Fj(d)9 b Fk(+)h(1-ply)k(b)q +(efore)h(the)h Fj(d)p Fk(-ply)d(result)j(is)e(\014nished,)h(w)o(e)g +(also)f(forced)i(the)f(transp)q(osition)g(table)f(to)0 +1515 y(rep)q(ort)g(only)f(transp)q(osition)g(table)g(scores)i(that)e +(had)g(b)q(een)i(searc)o(hed)f(to)g(the)f(exact)h(depth)g(\(as)g(in)e +(Figure)i(6\).)j(Although)0 1565 y(a)12 b(\014xed)h(depth)h(is)e +(enforced)i(on)e(the)h(programs,)f(quiescence)i(searc)o(h)g(w)o(as)f +(left)f(in)g Ff(TheTurk)h Fk(and)g Ff(Chinook)h Fk(to)e(prev)o(en)o(t)0 +1615 y(the)h(ev)n(aluations)e(from)g(b)q(eing)i(signi\014can)o(tly)e +(unstable.)18 b(This)12 b(forced)h(the)g(parallel)f(and)g(sequen)o +(tial)g(programs)f(to)i(return)0 1664 y(iden)o(tical)g(minima)o(x)e(v)n +(alues,)i(allo)o(wing)f(for)h(a)h(fair)f(comparison.)62 +1714 y(A)k(suitable)f(b)q(enc)o(hmark)g(set)h(w)o(as)f(c)o(hosen)h(for) +f(eac)o(h)h(program)e(\(see)i(appropriate)g(section\).)26 +b(Eac)o(h)16 b(game)f(also)h(has)0 1764 y(di\013eren)o(t)g(time)e +(constrain)o(ts)i(in)f(t)o(ypical)f(p)q(ositions.)22 +b(F)m(or)15 b(example,)f(an)h(Othello)f(program)g(should)h(tak)o(e)g +(an)g(a)o(v)o(erage)h(of)0 1814 y(90)f(seconds)j(to)e(mak)o(e)e(a)i(mo) +o(v)o(e)e(for)i(a)f(midgam)o(e)f(searc)o(h,)j(and)f(a)f(c)o(hess)j +(program)c(should)i(tak)o(e)g(ab)q(out)g(150)f(seconds)i(to)0 +1864 y(complete)c(a)h(searc)o(h.)19 b(The)14 b(searc)o(h)h(depth)g(w)o +(as)f(c)o(hosen)g(so)g(that)g(the)h(a)o(v)o(erage)e(of)h(the)g +(parallel)f(results)i(on)e(16)h(pro)q(cessors)0 1914 +y(did)f(not)h(exceed)i(this)e(time)e(constrain)o(t.)62 +1963 y(The)j Fi(sp)n(e)n(e)n(dup)f Fk(giv)o(en)g(in)g(this)g(section)h +(compares)e(the)i(\014xed)f(depth)h(v)o(ersion)f(of)g(the)g(sequen)o +(tial)h(program)d(v)o(ersus)j(the)0 2013 y(time)e(required)h(to)g +(\014nd)g(the)h(result)f(in)g(parallel:)728 2124 y(sp)q(eedup)f(=)935 +2096 y(sequen)o(tial)d(time)p 935 2114 271 2 v 958 2152 +a(parallel)e(time)1210 2124 y Fj(:)0 2235 y Fk(It)17 +b(is)f(imp)q(ortan)o(t)f(to)h(note)h(that)f(neither)h(the)g(sequen)o +(tial)g(nor)f(the)h(parallel)f(algorithm)d(b)q(eing)k(tested)h(is)e +(the)h(one)g(that)0 2285 y(w)o(ould)11 b(b)q(e)i(used)g(under)f +(tournamen)o(t)f(conditions,)h(b)q(ecause)i(the)e(searc)o(h)h +(extension/reduction)g(algorithms)d(w)o(ere)j(turned)0 +2334 y(o\013.)k(F)m(or)9 b(the)i(purp)q(oses)h(of)d(the)i(exp)q(erimen) +o(t,)f(the)h(parallel)e(and)h(sequen)o(tial)g(times)f(for)h(eac)o(h)h +(searc)o(h)g(are)g(summed)d(together)0 2384 y(to)14 b(determine)g(the)g +(aggregate)g(sp)q(eedup.)62 2434 y(The)f(aggregate)f(sp)q(eedups)i +(will)d(b)q(e)i(illustrated)f(in)f(t)o(w)o(o)h(graphs.)18 +b(The)12 b(\014rst)h(graph)f(will)f(sho)o(w)h(the)h(breakdo)o(wn)f(of)f +(the)0 2484 y(aggregate)i(sp)q(eedup)h(at)f(the)g(p)q(oin)o(t)f(where)i +(the)f(depth)h Fj(d)e Fk(searc)o(h)i(has)e(b)q(een)i(completed.)j(The)c +(second)h(graph)f(divides)f(the)0 2534 y(test)k(set)g(in)o(to)f(three)h +(or)f(four)g(disjoin)o(t)f(subsets)j(\(based)f(on)f(size)h(of)f(the)h +(sequen)o(tial)f(searc)o(h\),)h(and)f(giv)o(es)g(the)h(aggregate)0 +2584 y(sp)q(eedup)g(for)d(eac)o(h)i(subset.)k(F)m(or)14 +b(ev)o(ery)g(program)f(tested,)i(b)q(oth)f(graphs)g(illustrate)g(that)g +(larger)g(searc)o(hes)i(yield)d(greater)0 2633 y(parallelism)e(than)i +(smaller)f(searc)o(hes.)20 b(The)14 b(second)h(graph)f(also)e +(illustrates)i(some)f(of)g(the)h(v)n(ariance)f(to)h(b)q(e)g(found)f(in) +g(the)0 2683 y(aggregate)h(sp)q(eedup.)954 2790 y(12)p +eop +%%Page: 13 15 +13 14 bop 62 42 a Fk(The)14 b(o)o(v)o(erheads)f(in)g(the)g(algorithm)d +(will)i(b)q(e)h(illustrated)g(in)g(a)f(third)h(graph.)18 +b(The)13 b(third)g(graph)g(represen)o(ts)i(the)f(same)0 +91 y(scale)h(across)h(all)e(programs.)19 b(F)m(or)14 +b Ff(Key)m(ano)j Fk(and)e Ff(TheTurk)p Fk(,)g(a)g(fourth)f(graph)h(is)g +(giv)o(en)f(to)g(illustrate)h(the)g(same)f(data)0 141 +y(on)g(a)f(magni\014ed)f(scale.)62 191 y(The)g Fi(total)g(overhe)n(ad)g +Fk(represen)o(ts)i(the)d(additional)f(computing)f(time)h(required)i(b)o +(y)f(the)h(parallel)e(algorithm)f(to)i(ac)o(hiev)o(e)0 +241 y(the)j(same)f(result:)480 343 y(total)c(o)o(v)o(erhead)j(=)796 +315 y(\(parallel)c(time)17 b Fh(\002)i Fk(n\))9 b Fh(\000)h +Fk(sequen)o(tial)f(time)p 796 334 670 2 v 995 372 a(sequen)o(tial)g +(time)0 452 y(where)14 b Fj(n)f Fk(is)f(the)i(n)o(um)o(b)q(er)e(of)g +(pro)q(cessors.)20 b(The)13 b(total)f(o)o(v)o(erhead)h(can)g(also)g(b)q +(e)g(computed)f(b)o(y)h(examining)d(the)k(o)o(v)o(erheads.)0 +502 y(The)19 b(three)i(main)16 b(o)o(v)o(erheads)k(are)f(using)g(a)f +(pro)q(cessor)j(exclusiv)o(ely)e(as)g(a)g(master,)g(the)g(e\013ectiv)o +(e)i(decrease)g(in)d(no)q(des)0 551 y(p)q(er)e(second)h(examined,)d +(and)h(the)h(additional)e(n)o(um)o(b)q(er)g(of)h(no)q(des)h(searc)o +(hed)h(b)o(y)e(the)h(parallel)f(algorithm.)k(There)e(is)e(no)0 +601 y(sync)o(hronization)c(o)o(v)o(erhead)h(in)f(the)h(APHID)g +(algorithm,)c(since)13 b(the)f(algorithm)c(op)q(erates)13 +b(in)e(an)g(async)o(hronous)h(manner.)0 651 y(This)i(can)g(b)q(e)g +(expressed)j(in)c(the)i(follo)o(wing)c(form)o(ula)850 +636 y Fe(6)880 651 y Fk(for)i(total)g(o)o(v)o(erhead:)302 +740 y(total)8 b(o)o(v)o(erhead)42 b(=)g(\(1)9 b(+)h(master)e(o)o(v)o +(erhead)q(\))h Fh(\002)h Fk(\(1)f(+)g(parallelization)f(o)o(v)o +(erhead\))681 802 y Fh(\002)i Fk(\(1)f(+)g(searc)o(h)i(o)o(v)o(erhead)e +(+)h(sp)q(eculativ)o(e)g(searc)o(h)q(\))p Fj(:)62 891 +y Fk(The)17 b Fi(master)f(overhe)n(ad)h Fk(is)f(the)g(appro)o(ximate)e +(p)q(enalt)o(y)i(incurred)h(b)o(y)f(ha)o(ving)f(a)h(single)g(pro)q +(cessor)h(b)q(eing)f(allo)q(cated)0 941 y(completely)e(to)h(the)h +(handling)e(of)h(the)h(master.)22 b(This)15 b(is)h(simply)d(1)p +Fj(=)p Fk(\()p Fj(n)d Fh(\000)g Fk(1\),)15 b(the)h(b)q(ene\014t)h(of)e +(adding)f(another)i(sla)o(v)o(e)f(to)0 991 y(the)f(other)h +Fj(n)9 b Fh(\000)h Fk(1)j(sla)o(v)o(es.)62 1041 y(The)18 +b Fi(p)n(ar)n(al)r(lelization)e(overhe)n(ad)i Fk(is)f(the)g(p)q(enalt)o +(y)g(incurred)h(b)o(y)f(the)g(APHID-library)g(on)f(the)i(sp)q(eed)g(of) +f(the)g(sla)o(v)o(es.)0 1090 y(The)12 b(di\013erence)i(b)q(et)o(w)o +(een)f(the)g(rate)f(at)g(whic)o(h)g(the)g(parallel)f(sla)o(v)o(es)h +(explore)g(no)q(des)h(and)f(the)g(sequen)o(tial)g(program's)f(no)q(de)0 +1140 y(rate)17 b(is)f(assumed)g(to)g(b)q(e)h(the)g(parallelization)e(o) +o(v)o(erhead.)25 b(This)17 b(parallelization)d(o)o(v)o(erhead)j(is)f +(deriv)o(ed)h(partially)e(from)0 1190 y(the)h(o)o(v)o(erhead)f(of)f +(using)h(PVM,)g(and)f(partially)g(from)f(the)i(w)o(ork-sc)o(heduling)g +(algorithm)d(on)j(eac)o(h)h(sla)o(v)o(e.)k(In)15 b(e\013ect)i(this)0 +1240 y(includes)f(sync)o(hronization)g(o)o(v)o(erhead,)g(complexit)o(y) +d(o)o(v)o(erhead)j(and)g(comm)o(unicatio)o(n)d(o)o(v)o(erhead,)j(as)g +(used)g(in)g(previous)0 1290 y(parallel)d Fj(\013\014)j +Fk(mo)q(dels)d([15)o(,)g(18,)g(24)o(].)62 1339 y(The)i +Fi(se)n(ar)n(ch)g(overhe)n(ad)g Fk(represen)o(ts)i(the)f(additional)c +(no)q(des)j(searc)o(hed)i(to)d(ac)o(hiev)o(e)h(the)g +Fj(d)f Fk(ply)g(minim)o(ax)d(v)n(alue.)19 b(This)0 1389 +y(can)e(b)q(e)h(computed)e(b)o(y)h(dividing)e(the)j(no)q(des)f(searc)o +(hed)i(to)e(generate)h Fj(d)e Fk(ply)h(searc)o(h)h(results)g(in)e(the)i +(parallel)e(program)0 1439 y(b)o(y)g(the)h(no)q(des)g(searc)o(hed)h(b)o +(y)e(the)h(sequen)o(tial)f(program.)24 b(Most)16 b(of)g(the)h(searc)o +(h)g(o)o(v)o(erhead)g(is)f(incurred)h(b)o(y)f(attempting)0 +1489 y(to)f(do)g(searc)o(hes)j(b)q(efore)e(the)g(correct)h(searc)o(h)f +(windo)o(w)f(is)g(a)o(v)n(ailable.)20 b(Th)o(us,)15 b(the)h(sla)o(v)o +(es)g(use)g Fj(\013\014)i Fk(searc)o(h)e(windo)o(ws)f(that)0 +1539 y(are)j(larger)g(than)g(those)h(in)e(the)i(sequen)o(tial)e +(program.)29 b(Most)18 b(of)f(the)i(increase)g(in)e(searc)o(h)i(o)o(v)o +(erhead)g(as)f(w)o(e)g(increase)0 1589 y(the)c(n)o(um)o(b)q(er)f(of)f +(pro)q(cessors)k(can)d(b)q(e)h(attributed)g(to)f(information)e +(de\014ciency)m(,)j(since)g(there)g(is)f(no)h(common)c(shared)k(data)0 +1638 y(b)q(et)o(w)o(een)h(the)g(pro)q(cesses)h(\(suc)o(h)f(as)f(a)g +(shared)g(transp)q(osition)g(table\).)62 1688 y(Since)e(w)o(e)g(only)f +(searc)o(h)h(eac)o(h)g(p)q(osition)f(to)h Fj(d)f Fk(ply)m(,)f(the)i +(async)o(hronous)g(nature)h(of)e(the)h(sla)o(v)o(es)f(will)f(result)j +(in)e(some)f(w)o(ork)0 1738 y(b)q(eing)j(done)f(at)h +Fj(d)7 b Fk(+)g(1)k(ply)h(\(or)h(more\).)j(The)d Fi(sp)n(e)n(culative)h +(se)n(ar)n(ch)e Fk(represen)o(ts)k(the)d(amoun)o(t)d(of)i(additional)f +(searc)o(h)j(b)q(ey)o(ond)0 1788 y(what)k(the)g(sequen)o(tial)g +(algorithm)d(w)o(ould)i(ha)o(v)o(e)h(done.)30 b(The)18 +b(sp)q(eculativ)o(e)h(searc)o(h)g(can)f(b)q(e)g(computed)g(b)o(y)f +(taking)g(the)0 1838 y(n)o(um)o(b)q(er)d(of)g(sp)q(eculativ)o(e)h(no)q +(des)g(searc)o(hed)i(and)d(dividing)f(that)i(b)o(y)f(the)h(n)o(um)o(b)q +(er)f(of)g(no)q(des)h(searc)o(hed)i(in)d(the)h(sequen)o(tial)0 +1887 y(case.)k(In)12 b(our)h(exp)q(erimen)o(ts,)g(the)g(sp)q(eculativ)o +(e)g(searc)o(h)h(results)g(w)o(ere)g(not)e(used)i(so)f(that)f(the)i +(parallel)d(program)g(pro)q(duces)0 1937 y(the)17 b(iden)o(tical)e +(results)i(as)f(the)g(sequen)o(tial)g(v)o(ersion,)h(v)o(erifying)d +(APHID's)i(correctness.)27 b(In)16 b(a)g(real)g(tournamen)o(t)f(game,)0 +1987 y(this)f(sp)q(eculativ)o(e)g(searc)o(h)h(could)f(b)q(e)g(used)h +(to)f(lo)q(ok)f(an)g(extra)i(mo)o(v)o(e)d(ahead)i(on)f(some)g(k)o(ey)h +(v)n(ariations,)e(since)j(it)e(is)h(highly)0 2037 y(lik)o(ely)f(that)h +(the)h(mo)o(v)o(es)e(extended)j(a)e(ply)f(ahead)i(w)o(ould)e(b)q(e)i +(in)f(the)g(left-most)f(branc)o(hes)j(of)d(the)i(tree.)20 +b(Note)15 b(that)f(other)0 2087 y(algorithms,)f(suc)o(h)k(as)f(Y)m +(oung)f(Brothers)i(W)m(ait,)d(ha)o(v)o(e)i(pro)q(cessors)i(go)d(idle)g +(when)i(there)g(is)e(no)h(w)o(ork)f(left)h(to)f(do)h(on)f(the)0 +2136 y(curren)o(t)g(iteration.)0 2252 y Fv(4.1)56 b(Key)n(ano)18 +b(\(F)-5 b(ebruary)19 b(1996\))0 2329 y Fk(The)13 b(\014rst)g(program)e +(that)i(the)g(APHID)f(library)g(w)o(as)g(implemen)o(ted)e(in)i(w)o(as)h +Ff(Key)m(ano)p Fk(,)h(an)e(Othello)h(program)d(whic)o(h)j(has)0 +2379 y(comp)q(eted)h(in)f(in)o(ternational)g(Othello)h(tournamen)o(ts)f +(for)h(the)g(last)g(three)h(y)o(ears.)62 2429 y(APHID)k(did)e(not)h(ha) +o(v)o(e)g(load)f(balancing)g(at)h(the)h(time)e(the)h(algorithm)e(w)o +(as)i(originally)e(b)q(enc)o(hmark)o(ed;)j(the)g(load)0 +2478 y(balancing)13 b(w)o(as)h(in)o(tro)q(duced)h(to)e(the)i(ev)o +(olving)e(APHID)h(library)f(in)h(Marc)o(h.)k(T)m(o)13 +b(b)q(e)i(consisten)o(t)g(with)f(results)h(presen)o(ted)0 +2528 y(elsewhere)h([3)o(],)d(the)i(F)m(ebruary)f(1996)f(results)i(are)f +(giv)o(en)f(here.)62 2578 y(T)m(o)g(test)h(the)g(algorithm,)c(Key)o +(ano)j(w)o(as)h(programmed)c(to)k(searc)o(h)g(with)f(its)g(midgam)o(e)e +(searc)o(h)k(algorithm)10 b(to)j(a)g(depth)0 2628 y(of)g +Fj(d)e Fk(=)h(12)i(ply)m(,)e(with)i(the)g(master)f(con)o(trolling)g +(the)h(top)g Fj(d)934 2613 y Fa(0)957 2628 y Fk(=)e(4)h(ply)h(of)f(the) +i(tree.)p 0 2661 780 2 v 46 2688 a Fd(6)64 2700 y Fg(This)c(form)o(ula) +e(is)j(not)f(the)f(same)h(as)g(the)g(form)o(ula)e(presen)o(ted)g(in)j +(earlier)d(v)o(ersions)h(of)h(this)g(pap)q(er.)954 2790 +y Fk(13)p eop +%%Page: 14 16 +14 15 bop 38 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 38 0 a +%%BeginDocument: graph2.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(d=7) Rshow +6570 4626 M +252 0 V +2066 610 M +1226 55 V +5743 605 L +6654 4626 D +2066 610 D +3292 665 D +5743 605 D +LT2 +6486 4486 M +(d=8) Rshow +6570 4486 M +252 0 V +2066 785 M +3292 993 L +5743 868 L +6654 4486 A +2066 785 A +3292 993 A +5743 868 A +LT3 +6486 4346 M +(d=9) Rshow +6570 4346 M +252 0 V +2066 1048 M +1226 554 V +2451 0 V +6654 4346 B +2066 1048 B +3292 1602 B +5743 1602 B +LT4 +6486 4206 M +(d=10) Rshow +6570 4206 M +252 0 V +2066 1159 M +1226 804 V +2451 600 V +6654 4206 C +2066 1159 C +3292 1963 C +5743 2563 C +LT5 +6486 4066 M +(d=11) Rshow +6570 4066 M +252 0 V +2066 1298 M +1226 909 V +5743 3681 L +6654 4066 T +2066 1298 T +3292 2207 T +5743 3681 T +LT6 +6486 3926 M +(d=12) Rshow +6570 3926 M +252 0 V +2066 1307 M +3292 2420 L +5743 4235 L +6654 3926 S +2066 1307 S +3292 2420 S +5743 4235 S +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 975 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 975 0 a +%%BeginDocument: graph3.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(Quartile 1) Rshow +6570 4626 M +252 0 V +2066 1159 M +1226 818 V +2451 748 V +6654 4626 D +2066 1159 D +3292 1977 D +5743 2725 D +LT2 +6486 4486 M +(Quartile 2) Rshow +6570 4486 M +252 0 V +2066 1270 M +3292 2332 L +5743 3953 L +6654 4486 A +2066 1270 A +3292 2332 A +5743 3953 A +LT3 +6486 4346 M +(Quartile 3) Rshow +6570 4346 M +252 0 V +2066 1284 M +3292 2420 L +5743 4110 L +6654 4346 B +2066 1284 B +3292 2420 B +5743 4110 B +LT4 +6486 4206 M +(Quartile 4) Rshow +6570 4206 M +252 0 V +2066 1312 M +3292 2415 L +5743 4475 L +6654 4206 C +2066 1312 C +3292 2415 C +5743 4475 C +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 277 751 a Fk(Figure)14 b(10:)j Ff(Key)m(ano)f Fk(-)e(Sp)q(eedups)i(b)o +(y)d(Depth)i(of)e(Searc)o(h)i(and)e(Sequen)o(tial)h(T)m(ree)g(Size)38 +809 y + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 38 809 a +%%BeginDocument: graph1.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 928 M +63 0 V +6066 0 R +-63 0 V +756 928 M +(50) Rshow +840 1506 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(100) Rshow +840 2083 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(150) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(200) Rshow +840 3237 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(250) Rshow +840 3815 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(300) Rshow +840 4392 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(350) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(400) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Percent Overhead) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Search Overhead) Rshow +6570 4766 M +252 0 V +2066 597 M +1226 28 V +2451 32 V +6654 4766 D +2066 597 D +3292 625 D +5743 657 D +LT1 +6486 4626 M +(Speculative Search) Rshow +6570 4626 M +252 0 V +2066 413 M +1226 75 V +5743 658 L +6654 4626 A +2066 413 A +3292 488 A +5743 658 A +LT2 +6486 4486 M +(Parallelization Overhead) Rshow +6570 4486 M +252 0 V +2066 516 M +1226 12 V +2451 13 V +6654 4486 B +2066 516 B +3292 528 B +5743 541 B +LT3 +6486 4346 M +(Master Overhead) Rshow +6570 4346 M +252 0 V +2066 735 M +3292 515 L +5743 428 L +6654 4346 C +2066 735 C +3292 515 C +5743 428 C +LT4 +6486 4206 M +(Total Overhead) Rshow +6570 4206 M +252 0 V +2066 1427 M +3292 1258 L +2451 134 V +6654 4206 T +2066 1427 T +3292 1258 T +5743 1392 T +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 975 809 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 975 809 a +%%BeginDocument: graph1c.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 1121 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(20) Rshow +840 1890 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(40) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(60) Rshow +840 3430 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(80) Rshow +840 4199 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(100) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(120) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Percent Overhead) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Search Overhead) Rshow +6570 4766 M +252 0 V +2066 1171 M +1226 92 V +2451 108 V +6654 4766 D +2066 1171 D +3292 1263 D +5743 1371 D +LT1 +6486 4626 M +(Speculative Search) Rshow +6570 4626 M +252 0 V +2066 559 M +3292 809 L +2451 566 V +6654 4626 A +2066 559 A +3292 809 A +5743 1375 A +LT2 +6486 4486 M +(Parallelization Overhead) Rshow +6570 4486 M +252 0 V +2066 901 M +1226 39 V +2451 46 V +6654 4486 B +2066 901 B +3292 940 B +5743 986 B +LT3 +6486 4346 M +(Master Overhead) Rshow +6570 4346 M +252 0 V +2066 1632 M +3292 897 L +5743 609 L +6654 4346 C +2066 1632 C +3292 897 C +5743 609 C +LT4 +6486 4206 M +(Total Overhead) Rshow +6570 4206 M +252 0 V +2066 3938 M +3292 3376 L +2451 446 V +6654 4206 T +2066 3938 T +3292 3376 T +5743 3822 T +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 365 1561 a Fk(Figure)g(11:)j Ff(Key)m(ano)f Fk(-)e(Ov)o(erheads)h(and) +f(Magni\014ed)g(View)f(of)h(Ov)o(erheads)62 1693 y(The)k(74)f(p)q +(ositions)g(examined)f(w)o(ere)j(the)f(p)q(ositions)f(from)e(mo)o(v)o +(e)h(2)h(to)g(mo)o(v)o(e)f(38)h(in)g(the)h(t)o(w)o(o)f(games)f(of)h +(the)h(1994)0 1743 y(W)m(orld)13 b(Championship)e(\014nal)j(b)q(et)o(w) +o(een)h(Da)o(vid)d(Shaman)h(and)g(Emman)o(uel)e(Caspard)1384 +1728 y Fe(7)1403 1743 y Fk(.)62 1793 y(In)j(Figure)g(10,)f(w)o(e)i(see) +g(the)g(graph)e(on)h(the)h(left)f(con)o(tains)f(the)i(sp)q(eedups)h +(brok)o(en)e(do)o(wn)g(b)o(y)g(ply)m(.)j(The)e(graph)f(on)f(the)0 +1843 y(righ)o(t)h(con)o(tains)h(the)h(12)e(ply)g(results)i(brok)o(en)g +(do)o(wn)e(in)o(to)g(four)h(quartiles.)21 b(The)15 b(\014rst)h +(quartile)e(represen)o(ts)k(the)d(smallest)0 1892 y(sequen)o(tial)f +(searc)o(hes,)h(while)f(the)g(fourth)g(quartile)f(represen)o(ts)k(the)e +(largest)f(sequen)o(tial)g(searc)o(hes.)62 1942 y(In)h(Figure)g(11,)f +(w)o(e)h(see)h(the)f(relativ)o(e)g(size)g(of)g(eac)o(h)g(of)f(the)h(o)o +(v)o(erheads)h(describ)q(ed)g(earlier.)21 b(The)16 b(results)g(for)e +(Key)o(ano)0 1992 y(are,)g(in)f(man)o(y)f(w)o(a)o(ys,)h(the)i(most)e +(encouraging)g(of)h(the)g(three)h(programs)e(tested.)62 +2042 y(There)19 b(is)e(a)g(lo)o(w)f(searc)o(h)i(o)o(v)o(erhead)g(whic)o +(h)f(increases)i(sligh)o(tly)d(as)h(w)o(e)g(go)g(from)e(4)i(to)g(16)g +(pro)q(cessors.)30 b(The)18 b(paral-)0 2092 y(lelization)e(o)o(v)o +(erhead)h(is)g(not)g(large.)27 b(Key)o(ano)17 b(w)o(en)o(t)h(from)d(in) +o(v)o(estigating)h(8700)g(no)q(des)i(p)q(er)f(second)i(in)d(the)i +(sequen)o(tial)0 2141 y(program)11 b(to)h(in)o(v)o(estigating)f(b)q(et) +o(w)o(een)j(7400)e(to)g(7600)f(no)q(des)j(p)q(er)f(second)g(in)f(the)h +(APHID)g(v)o(ersion)g(of)f(the)h(program.)j(The)0 2191 +y(only)f(o)o(v)o(erhead)h(that)f(increases)i(rapidly)e(is)h(the)g(sp)q +(eculativ)o(e)g(searc)o(h)h(o)o(v)o(erhead,)e(but)h(this)g(is)f(not)h +(a)f(concern)i(during)e(a)0 2241 y(tournamen)o(t)e(game)f(\(as)i +(previously)g(stated\).)62 2291 y(W)m(eill)g(tested)k(YBW)e(and)f(ABD)o +(AD)o(A)h(on)f(a)h(CM-5)f(using)h(a)f(di\013eren)o(t)i(Othello)f +(program)e([29)o(].)23 b(YBW)16 b(ac)o(hiev)o(ed)g(a)0 +2341 y(9.5-fold)c(sp)q(eedup)17 b(and)d(ABD)o(AD)o(A)h(ac)o(hiev)o(ed)f +(a)h(11-fold)e(sp)q(eedup)j(on)e(16)g(pro)q(cessors.)23 +b(Although)14 b(the)h(APHID)g(results)0 2391 y(are)d(not)f(as)h(go)q(o) +q(d,)f(they)h(w)o(ere)h(ac)o(hiev)o(ed)f(without)f(a)g(shared)i(transp) +q(osition)e(table.)17 b(Both)12 b(ABD)o(AD)o(A)f(and)h(YBW)g(will)e +(get)0 2440 y(p)q(o)q(or)16 b(p)q(erformance)f(on)h(a)f(net)o(w)o(ork)h +(of)f(w)o(orkstations,)g(since)i(the)f(shared)g(transp)q(osition)g +(table)f(is)h(critical)f(to)h(e\013ectiv)o(e)0 2490 y(mo)o(v)o +(e-ordering)c(and)i(limiting)c(the)15 b(searc)o(h)g(o)o(v)o(erhead.)p +0 2525 780 2 v 46 2552 a Fd(7)64 2563 y Fg(Bey)o(ond)d(mo)o(v)o(e)h +(38,)h(Key)o(ano)f(w)o(ould)h(attempt)e(endgame)g(searc)o(hes)g(b)q +(efore)h(completing)e(a)j(12-ply)e(sequen)o(tial)g(searc)o(h.)22 +b(Mo)o(v)o(e)14 b(1)g(in)g(an)0 2603 y(Othello)c(game)h(is)g +(completely)d(symmetric,)h(and)i(Key)o(ano)f(do)q(es)h(not)f(searc)o(h) +g(for)h(the)g(\014rst)g(mo)o(v)o(e)f(in)h(the)g(game.)954 +2790 y Fk(14)p eop +%%Page: 15 17 +15 16 bop 38 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 38 0 a +%%BeginDocument: graph5.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(d=5) Rshow +6570 4626 M +252 0 V +2066 702 M +3292 854 L +1225 33 V +1226 60 V +6654 4626 D +2066 702 D +3292 854 D +4517 887 D +5743 947 D +LT2 +6486 4486 M +(d=6) Rshow +6570 4486 M +252 0 V +2066 924 M +1226 374 V +1225 212 V +1226 240 V +6654 4486 A +2066 924 A +3292 1298 A +4517 1510 A +5743 1750 A +LT3 +6486 4346 M +(d=7) Rshow +6570 4346 M +252 0 V +2066 914 M +1226 531 V +1225 393 V +1226 439 V +6654 4346 B +2066 914 B +3292 1445 B +4517 1838 B +5743 2277 B +LT4 +6486 4206 M +(d=8) Rshow +6570 4206 M +252 0 V +2066 1011 M +1226 804 V +1225 702 V +1226 614 V +6654 4206 C +2066 1011 C +3292 1815 C +4517 2517 C +5743 3131 C +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 975 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 975 0 a +%%BeginDocument: graph6.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(Small) Rshow +6570 4626 M +252 0 V +2066 979 M +1226 637 V +1225 559 V +1226 513 V +6654 4626 D +2066 979 D +3292 1616 D +4517 2175 D +5743 2688 D +LT2 +6486 4486 M +(Medium) Rshow +6570 4486 M +252 0 V +2066 951 M +1226 836 V +1225 545 V +1226 647 V +6654 4486 A +2066 951 A +3292 1787 A +4517 2332 A +5743 2979 A +LT3 +6486 4346 M +(Large) Rshow +6570 4346 M +252 0 V +2066 1058 M +1226 803 V +1225 827 V +1226 605 V +6654 4346 B +2066 1058 B +3292 1861 B +4517 2688 B +5743 3293 B +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 261 751 a Fk(Figure)14 b(12:)j Ff(TheTurk)e Fk(-)e(Sp)q(eedups)j(b)o +(y)e(Depth)g(of)f(Searc)o(h)i(and)f(Sequen)o(tial)f(T)m(ree)i(Size)38 +809 y + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 38 809 a +%%BeginDocument: graph4.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 928 M +63 0 V +6066 0 R +-63 0 V +756 928 M +(50) Rshow +840 1506 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(100) Rshow +840 2083 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(150) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(200) Rshow +840 3237 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(250) Rshow +840 3815 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(300) Rshow +840 4392 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(350) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(400) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Percent Overhead) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Search Overhead) Rshow +6570 4766 M +252 0 V +2066 1367 M +1226 91 V +1225 72 V +1226 69 V +6654 4766 D +2066 1367 D +3292 1458 D +4517 1530 D +5743 1599 D +LT1 +6486 4626 M +(Speculative Search) Rshow +6570 4626 M +252 0 V +2066 515 M +1226 24 V +1225 53 V +1226 66 V +6654 4626 A +2066 515 A +3292 539 A +4517 592 A +5743 658 A +LT2 +6486 4486 M +(Parallelization Overhead) Rshow +6570 4486 M +252 0 V +2066 387 M +1226 9 V +1225 15 V +1226 10 V +6654 4486 B +2066 387 B +3292 396 B +4517 411 B +5743 421 B +LT3 +6486 4346 M +(Master Overhead) Rshow +6570 4346 M +252 0 V +2066 735 M +3292 516 L +4517 456 L +5743 428 L +6654 4346 C +2066 735 C +3292 516 C +4517 456 C +5743 428 C +LT4 +6486 4206 M +(Total Overhead) Rshow +6570 4206 M +252 0 V +2066 2416 M +3292 2107 L +1225 45 V +1226 113 V +6654 4206 T +2066 2416 T +3292 2107 T +4517 2152 T +5743 2265 T +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 975 809 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 975 809 a +%%BeginDocument: graph4c.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 771 M +63 0 V +6066 0 R +-63 0 V +756 771 M +(20) Rshow +840 1191 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(40) Rshow +840 1610 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(60) Rshow +840 2030 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(80) Rshow +840 2450 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(100) Rshow +840 2870 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(120) Rshow +840 3290 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(140) Rshow +840 3710 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(160) Rshow +840 4129 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(180) Rshow +840 4549 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(200) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(220) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Percent Overhead) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Search Overhead) Rshow +6570 4766 M +252 0 V +2066 2198 M +1226 166 V +1225 130 V +1226 126 V +6654 4766 D +2066 2198 D +3292 2364 D +4517 2494 D +5743 2620 D +LT1 +6486 4626 M +(Speculative Search) Rshow +6570 4626 M +252 0 V +2066 649 M +1226 44 V +1225 97 V +5743 909 L +6654 4626 A +2066 649 A +3292 693 A +4517 790 A +5743 909 A +LT2 +6486 4486 M +(Parallelization Overhead) Rshow +6570 4486 M +252 0 V +2066 416 M +1226 17 V +1225 27 V +1226 19 V +6654 4486 B +2066 416 B +3292 433 B +4517 460 B +5743 479 B +LT3 +6486 4346 M +(Master Overhead) Rshow +6570 4346 M +252 0 V +2066 1050 M +3292 651 L +4517 542 L +5743 492 L +6654 4346 C +2066 1050 C +3292 651 C +4517 542 C +5743 492 C +LT4 +6486 4206 M +(Total Overhead) Rshow +6570 4206 M +252 0 V +2066 4106 M +3292 3544 L +1225 82 V +1226 205 V +6654 4206 T +2066 4106 T +3292 3544 T +4517 3626 T +5743 3831 T +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 349 1561 a Fk(Figure)f(13:)j Ff(TheTurk)e Fk(-)e(Ov)o(erheads)j(and)d +(Magni\014ed)h(View)g(of)f(Ov)o(erheads)0 1693 y Fv(4.2)56 +b(TheT)-5 b(urk)18 b(\(April)g(1996\))0 1770 y Fk(The)13 +b(exp)q(erimen)o(ts)g(with)g Ff(TheTurk)p Fk(,)g(the)g(c)o(hess)h +(program)e(b)o(y)g(Andreas)i(Junghanns)f(and)g(Yngvi)f(Bjornsson,)h(w)o +(ere)h(run)0 1820 y(so)q(on)i(after)f(the)i(load)d(balancing)h(w)o(as)g +(inserted)i(in)o(to)e(the)h(APHID)g(library)m(.)22 b(Although)15 +b(it)g(w)o(as)h(unclear)g(whether)h(load)0 1869 y(balancing)10 +b(w)o(ould)g(b)q(e)i(necessary)h(with)e(the)g(APHID)g(library)g(when)g +(testing)h(the)f(program)f(with)h Ff(Key)m(ano)p Fk(,)i(the)e(necessit) +o(y)0 1919 y(for)j(load)e(balancing)h(in)h(other)g(games)f(suc)o(h)i +(as)f(c)o(hess)h(w)o(as)f(clear)g(to)g(the)g(authors.)62 +1969 y(T)m(o)d(test)j(the)e(program,)e(the)j(24)f(Bratk)o(o-Kop)q(ec)h +(p)q(ositions)e(w)o(ere)i(used.)18 b(Although)12 b(there)h(are)g(kno)o +(wn)e(problems)g(with)0 2019 y(these)18 b(p)q(ositions,)e(using)h(this) +f(test)i(set)g(allo)o(ws)d(for)h(comparison)f(with)i(other)g(w)o(ork.) +26 b(Eac)o(h)16 b(p)q(osition)g(w)o(as)h(searc)o(hed)h(to)0 +2069 y(depth)e Fj(d)c Fk(=)i(8,)g(while)h(the)g(master)g(con)o(trolled) +f(the)i(top)e Fj(d)928 2054 y Fa(0)953 2069 y Fk(=)f(3)i(ply)f(of)h +(the)g(tree,)h(since)g Fj(d)1447 2054 y Fa(0)1471 2069 +y Fk(=)e(4)g(w)o(as)h(not)g(feasible)f(giv)o(en)0 2118 +y(the)i(amoun)o(t)f(of)g(memory)e(on)j(the)g(SparcStations.)25 +b(Figure)16 b(12)f(represen)o(ts)k(the)d(sp)q(eedups)i(generated)f(b)o +(y)f Ff(TheTurk)p Fk(,)0 2168 y(while)d(Figure)h(13)g(giv)o(es)f(the)i +(o)o(v)o(erheads)g(in)e(the)h(parallel)f(program.)62 +2218 y(Although)d(the)h(results)g(presen)o(ted)h(here)g(for)e(c)o(hess) +h(are)g(promising,)d(w)o(e)j(b)q(eliev)o(e)f(that)h(b)q(etter)g +(results)h(can)e(b)q(e)h(ac)o(hiev)o(ed.)0 2268 y(The)16 +b(main)e(di\013erence)j(b)q(et)o(w)o(een)g(the)f(results)h(for)e +Ff(Key)m(ano)j Fk(and)e Ff(TheTurk)g Fk(rev)o(olv)o(e)f(around)h(the)g +(size)h(of)e(the)h(searc)o(h)0 2318 y(o)o(v)o(erhead.)62 +2368 y(W)m(e)e(ha)o(v)o(e)h(come)e(up)i(with)f(three)i(p)q(ossible)f(h) +o(yp)q(otheses)h(for)e(this)g(di\013erence.)22 b(The)15 +b(\014rst)g(is)g(that)f Ff(Key)m(ano)j Fk(do)q(es)e(not)0 +2417 y(use)g(quiescen)o(t)g(searc)o(h.)20 b(As)15 b(a)f(consequence,)i +(the)f(sizes)g(of)e(the)i(v)n(arious)f(pieces)h(of)f(w)o(ork)f(are)i +(more)e(predictable)i(in)f(size,)0 2467 y(and)h(Key)o(ano's)g(results)i +(did)e(not)g(need)h(load)e(balancing.)21 b(Load)15 b(balancing)f +(causes)j(searc)o(h)f(o)o(v)o(erhead)g(since)g(it)f(forces)h(a)0 +2517 y(new)11 b(pro)q(cessor)i(to)e(rep)q(eat)h(searc)o(hes)h(done)e(b) +o(y)g(a)g(di\013eren)o(t)h(pro)q(cessor.)19 b(The)11 +b(load)f(balancing)g(is)h(partially)e(resp)q(onsible)j(for)0 +2567 y(the)h(di\013erence)g(in)f(searc)o(h)h(o)o(v)o(erhead.)18 +b(The)12 b(second)h(p)q(ossible)g(reason)f(is)g(that)g(the)h(searc)o(h) +g(windo)o(ws)e(in)h(the)g(sla)o(v)o(es)g(can,)g(in)0 +2617 y(some)f(cases,)i(b)q(e)f(larger)f(than)h(the)g(minim)o(al)c +(windo)o(w)j(used)h(in)f(the)h(sequen)o(tial)g(program.)k(Although)11 +b(this)g(larger)h(windo)o(w)0 2666 y(is)i(common)d(to)j(b)q(oth)h +(parallel)e(implem)o(en)o(tations,)e(it)j(has)g(a)g(m)o(uc)o(h)f +(larger)h(e\013ect)i(on)e(the)h(size)g(of)e(the)i(trees)h(searc)o(hed)f +(in)954 2790 y(15)p eop +%%Page: 16 18 +16 17 bop 38 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 38 0 a +%%BeginDocument: graph8.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(d=11) Rshow +6570 4626 M +252 0 V +2066 577 M +1226 28 V +1225 -5 V +1226 -4 V +6654 4626 D +2066 577 D +3292 605 D +4517 600 D +5743 596 D +LT2 +6486 4486 M +(d=13) Rshow +6570 4486 M +252 0 V +2066 739 M +3292 854 L +1225 10 V +5743 850 L +6654 4486 A +2066 739 A +3292 854 A +4517 864 A +5743 850 A +LT3 +6486 4346 M +(d=15) Rshow +6570 4346 M +252 0 V +2066 905 M +1226 291 V +1225 92 V +1226 107 V +6654 4346 B +2066 905 B +3292 1196 B +4517 1288 B +5743 1395 B +LT4 +6486 4206 M +(d=17) Rshow +6570 4206 M +252 0 V +2066 1034 M +1226 453 V +1225 277 V +1226 328 V +6654 4206 C +2066 1034 C +3292 1487 C +4517 1764 C +5743 2092 C +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 975 0 a + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 975 0 a +%%BeginDocument: graph9.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 813 M +63 0 V +6066 0 R +-63 0 V +756 813 M +(1) Rshow +840 1275 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(2) Rshow +840 1736 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(3) Rshow +840 2198 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(4) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(5) Rshow +840 3122 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(6) Rshow +840 3584 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(7) Rshow +840 4045 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(8) Rshow +840 4507 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(9) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(10) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Speedup) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Linear) Rshow +6570 4766 M +252 0 V +840 351 M +2066 2198 L +3292 4045 L +613 924 V +LT1 +6486 4626 M +(Small) Rshow +6570 4626 M +252 0 V +2066 434 M +3292 559 L +4517 790 L +1226 392 V +6654 4626 D +2066 434 D +3292 559 D +4517 790 D +5743 1182 D +LT2 +6486 4486 M +(Medium) Rshow +6570 4486 M +252 0 V +2066 683 M +3292 854 L +1225 407 V +1226 563 V +6654 4486 A +2066 683 A +3292 854 A +4517 1261 A +5743 1824 A +LT3 +6486 4346 M +(Large) Rshow +6570 4346 M +252 0 V +2066 605 M +3292 965 L +1225 665 V +1226 730 V +6654 4346 B +2066 605 B +3292 965 B +4517 1630 B +5743 2360 B +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 268 751 a Fk(Figure)14 b(14:)k Ff(Chinook)d Fk(-)f(Sp)q(eedups)h(b)o +(y)f(Depth)g(of)f(Searc)o(h)i(and)f(Sequen)o(tial)g(T)m(ree)g(Size)506 +809 y + 14796136 10419816 3289088 3289088 50651955 36443095 startTexFig + 506 809 a +%%BeginDocument: graph7.ps +/gnudict 40 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/vshift -46 def +/dl {10 mul} def +/hpt 31.5 def +/vpt 31.5 def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke gnulinewidth 2 mul setlinewidth } def +/AL { stroke gnulinewidth 2 div setlinewidth } def +/PL { stroke gnulinewidth setlinewidth } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 0 1 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 0 1 DL } def +/LT2 { PL [2 dl 3 dl] 1 0 0 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/P { stroke [] 0 setdash + currentlinewidth 2 div sub M + 0 currentlinewidth V stroke } def +/D { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + P } def +/A { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + P } def +/C { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + P } def +/S { 2 copy A C} def +end +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +0 setgray +/Helvetica findfont 140 scalefont setfont +newpath +LTa +840 351 M +6129 0 V +840 351 M +0 4618 V +LTb +840 351 M +63 0 V +6066 0 R +-63 0 V +756 351 M +(0) Rshow +840 928 M +63 0 V +6066 0 R +-63 0 V +756 928 M +(50) Rshow +840 1506 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(100) Rshow +840 2083 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(150) Rshow +840 2660 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(200) Rshow +840 3237 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(250) Rshow +840 3815 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(300) Rshow +840 4392 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(350) Rshow +840 4969 M +63 0 V +6066 0 R +-63 0 V +-6150 0 R +(400) Rshow +840 351 M +0 63 V +0 4555 R +0 -63 V +840 211 M +(0) Cshow +2372 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(5) Cshow +3905 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(10) Cshow +5437 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(15) Cshow +6969 351 M +0 63 V +0 4555 R +0 -63 V +0 -4695 R +(20) Cshow +840 351 M +6129 0 V +0 4618 V +-6129 0 V +840 351 L +392 2660 M +currentpoint gsave translate 90 rotate 0 0 M +(Percent Overhead) Cshow +grestore +3904 -69 M +(Number of Processors) Cshow +LT0 +6486 4766 M +(Search Overhead) Rshow +6570 4766 M +252 0 V +2066 1260 M +1226 407 V +1225 366 V +1226 29 V +6654 4766 D +2066 1260 D +3292 1667 D +4517 2033 D +5743 2062 D +LT1 +6486 4626 M +(Speculative Search) Rshow +6570 4626 M +252 0 V +2066 485 M +3292 948 L +1225 411 V +1226 347 V +6654 4626 A +2066 485 A +3292 948 A +4517 1359 A +5743 1706 A +LT2 +6486 4486 M +(Parallelization Overhead) Rshow +6570 4486 M +252 0 V +2066 425 M +1226 8 V +1225 9 V +1226 9 V +6654 4486 B +2066 425 B +3292 433 B +4517 442 B +5743 451 B +LT3 +6486 4346 M +(Master Overhead) Rshow +6570 4346 M +252 0 V +2066 735 M +3292 516 L +4517 456 L +5743 428 L +6654 4346 C +2066 735 C +3292 516 C +4517 456 C +5743 428 C +LT4 +6486 4206 M +(Total Overhead) Rshow +6570 4206 M +252 0 V +2066 2314 M +1226 636 V +1225 772 V +1226 371 V +6654 4206 T +2066 2314 T +3292 2950 T +4517 3722 T +5743 4093 T +stroke +grestore +end +showpage +%%EndDocument + + endTexFig + 671 1561 a Fk(Figure)g(15:)j Ff(Chinook)e Fk(-)f(Ov)o(erheads)0 +1693 y Ff(TheTurk)i Fk(than)f(in)g Ff(Key)m(ano)p Fk(.)25 +b(The)15 b(third)h(h)o(yp)q(othesis)g(is)f(that)g(the)h(game)e(of)h(c)o +(hess)i(has)e(more)f(transp)q(ositions)i(than)0 1743 +y(the)f(game)e(of)g(Othello.)19 b(Th)o(us,)14 b(the)h(information)d +(de\014ciency)j(caused)h(b)o(y)e(doing)f(the)i(searc)o(h)h(on)e(m)o +(ultiple)e(pro)q(cessors)k(is)0 1793 y(greater)f(in)e(c)o(hess)j(than)e +(in)f(Othello.)62 1843 y(Other)f(results)f(for)f(parallel)f(searc)o(h)j +(algorithms)c(on)i(a)g(net)o(w)o(ork)h(of)e(w)o(orkstations)h(ha)o(v)o +(e)h(b)q(een)g(presen)o(ted)i(for)d(the)g(game)0 1892 +y(of)k(c)o(hess)h([24].)j(A)d(distributed)g(transp)q(osition)f(table)g +(w)o(as)g(used)h(to)g(impro)o(v)o(e)d(the)j(p)q(erformance)f(of)g(the)h +Ff(P)l(araPhoenix)0 1942 y Fk(c)o(hess)c(searc)o(hes,)h(and)e(a)f(sp)q +(eedup)j(of)d(7)g(w)o(as)h(ac)o(hiev)o(ed)g(on)f(16)h(pro)q(cessors.)19 +b(Although)9 b(these)i(results)g(are)f(marginally)c(b)q(etter)0 +1992 y(than)14 b(the)g(results)h(presen)o(ted)h(here,)e(the)h +(scalabilit)o(y)d(of)h(the)h(algorithm)e(w)o(as)h(extrap)q(olated)h(to) +g(a)f(sp)q(eedup)j(of)d(at)h(most)e(8)0 2042 y(on)g(32)f(pro)q +(cessors.)20 b(Based)13 b(on)f(the)g(graphs)h(presen)o(ted)h(earlier)e +(in)g(this)g(section,)h(w)o(e)f(b)q(eliev)o(e)g(the)h(APHID)f +(algorithm)d(will)0 2092 y(outp)q(erform)16 b(on)g(a)g(larger)h(n)o(um) +o(b)q(er)f(of)g(pro)q(cessors.)28 b(The)17 b(b)q(ene\014cial)g +(e\013ects)i(of)d(the)h(distributed)h(transp)q(osition)e(table)0 +2141 y(are)i(deriv)o(ed)g(primarily)d(in)j(the)g(top)g(plies)f(of)g +(the)i(searc)o(h)g(tree,)g(and)f(these)h(b)q(ene\014ts)g(are)f +(duplicated)g(in)f(APHID)h(b)o(y)0 2191 y(main)o(taining)10 +b(the)15 b(top)f Fj(d)397 2176 y Fa(0)422 2191 y Fk(ply)f(exclusiv)o +(ely)h(on)g(the)g(master)g(pro)q(cessor.)0 2307 y Fv(4.3)56 +b(Chino)r(ok)18 b(\(June)g(1996\))0 2384 y Fk(Due)10 +b(to)g(resource)i(limitations,)c(w)o(e)i(could)g(not)g(run)g(the)h(exp) +q(erimen)o(ts)f(with)g Ff(Chinook)h Fk(un)o(til)e(late)h(June.)18 +b(The)10 b(b)q(enc)o(hmark)0 2434 y(p)q(ositions)g(used)h(are)f(a)g +(series)h(of)f(p)q(ositions)f(whic)o(h)h Ff(Chinook)i +Fk(has)e(misev)n(aluated)e(in)i(previous)g(tournamen)o(t)f(games.)16 +b(Eac)o(h)0 2484 y(of)d(these)j(p)q(ositions)d(w)o(as)h(searc)o(hed)i +(to)d Fj(d)e Fk(=)h(17)i(ply)m(,)e(while)h(the)i(master)e(con)o +(trolled)h(the)g(top)g Fj(d)1513 2469 y Fa(0)1536 2484 +y Fk(=)e(6)h(ply)h(of)f(the)i(tree.)62 2534 y(Figures)g(14)e(and)h(15)f +(sho)o(w)h(the)g(sp)q(eedups)i(and)e(o)o(v)o(erheads)h(for)e +(parallelism)e(in)j Ff(Chinook)p Fk(.)62 2583 y(This)f(o)o(v)o(erhead)h +(mo)q(del)d(hea)o(vily)i(relies)g(on)g(the)h(fact)f(that)g(the)h(a)o(v) +o(erage)f(no)q(de)h(cost)f(is)g(constan)o(t)h(o)o(v)o(er)f(the)h(en)o +(tire)g(test)0 2633 y(set.)19 b(F)m(or)12 b Ff(Key)m(ano)j +Fk(and)e Ff(TheTurk)p Fk(,)g(this)g(is)g(generally)f(true;)i(the)f(n)o +(um)o(b)q(er)f(of)h(no)q(des)g(p)q(er)h(second)g(visited)f(v)n(aries)g +(b)o(y)f(no)0 2683 y(more)g(than)h(5\045.)j(Ho)o(w)o(ev)o(er,)d(this)g +(is)g(not)g(true)g(for)g Ff(Chinook)p Fk(.)19 b(The)13 +b(n)o(um)o(b)q(er)f(of)g(no)q(des)i(p)q(er)f(second)h(visited)f(v)n +(aries)g(b)o(y)f(at)954 2790 y(16)p eop +%%Page: 17 19 +17 18 bop 0 42 a Fk(least)13 b(30\045,)e(due)i(to)f(n)o(umerous)f +(time-sa)o(ving)f(tric)o(ks)j(in)f(the)h(co)q(de.)18 +b(Th)o(us,)13 b(the)g(analysis)e(of)h(the)h(o)o(v)o(erheads)g(for)f +Ff(Chinook)0 91 y Fk(is)i(not)g(as)g(reliable)f(as)h(it)f(is)h(for)g +(the)g(other)h(programs)d(giv)o(en)i(in)f(this)h(tec)o(hnical)g(rep)q +(ort.)62 141 y(In)i(an)o(y)f(case,)i(there)g(are)g(ob)o(vious)e +(problems)f(with)i(the)g(parallelization)e(in)i Ff(Chinook)p +Fk(.)25 b(Unlik)o(e)15 b(the)h(previous)g(t)o(w)o(o)0 +191 y(programs,)d(w)o(e)h(see)i(that)e(the)h(APHID)g(algorithm)c(in)j +Ff(Chinook)i Fk(incurs)f(a)f(lot)g(of)f(additional)g(sp)q(eculativ)o(e) +i(searc)o(h,)g(and)0 241 y(a)e(rapidly)g(increasing)h(searc)o(h)h(o)o +(v)o(erhead.)k(The)14 b(n)o(um)o(b)q(er)f(of)g(pieces)i(of)e(w)o(ork)h +(at)f(depth)i Fj(d)1429 226 y Fa(0)1452 241 y Fk(=)d(6)h(w)o(as)h +(insu\016cien)o(t)g(to)f(k)o(eep)0 291 y(a)j(large)g(n)o(um)o(b)q(er)f +(of)g(sla)o(v)o(es)h(busy)m(.)25 b(Ho)o(w)o(ev)o(er,)16 +b(when)h(testing)f Fj(d)1032 276 y Fa(0)1059 291 y Fk(=)f(8)h(ply)m(,)f +(w)o(e)h(disco)o(v)o(ered)h(that)f(serious)h(in\015exibilities)0 +340 y(w)o(ere)h(encoun)o(tered,)i(prev)o(en)o(ting)e(us)f(from)f +(running)h(a)g(full)f(test)i(set)h(without)e(remo)o(ving)e(the)j +(transp)q(osition)f(table)g(in)0 390 y Ff(Chinook)p Fk(.)26 +b(As)16 b(w)o(ell,)g(the)g(impact)f(of)g(transp)q(ositions)i(in)e(the)i +(game)e(of)g(c)o(hec)o(k)o(ers)j(is)e(m)o(uc)o(h)f(more)g(imp)q(ortan)o +(t)f(than)i(in)0 440 y(either)e(c)o(hess)g(or)e(Othello.)18 +b(This)12 b(causes)i(the)g(searc)o(h)f(o)o(v)o(erhead)g(to)g(increase)h +(at)e(a)h(m)o(uc)o(h)e(faster)j(rate)f(for)f Ff(Chinook)i +Fk(than)0 490 y(either)h(of)e(the)h(previous)h(test)g(programs.)62 +540 y(Although)d(the)i(sp)q(eedups)h(are)e(v)o(ery)g(lo)o(w)f(in)g +(magnitude,)f(parallelizing)g(a)h(high-p)q(erformance)g(c)o(hec)o(k)o +(ers)j(programs)c(is)0 589 y(a)h(v)o(ery)i(di\016cult)e(task.)17 +b(P)o(aul)c(Lu)f(sp)q(en)o(t)i(o)o(v)o(er)f(a)f(y)o(ear)h(w)o(orking)f +(on)g(the)i(tournamen)o(t)e(v)o(ersion)g(of)h(parallel)e +Ff(Chinook)j Fk(and)0 639 y(ac)o(hiev)o(ed)g(sp)q(eedups)i(of)d(3.32)f +(using)i(a)f(shared-memory)f(system)i(with)f(16)g(pro)q(cessors)j([16)o +(].)i(The)c(v)o(ery)g(thin)f(game)f(trees)0 689 y(of)i(c)o(hec)o(k)o +(ers)j(do)e(not)g(yield)f(easily)h(to)g(parallelism)d(based)k(on)f(the) +g(critical)g(tree.)23 b(The)15 b(authors)g(b)q(eliev)o(e)h(that)f(when) +g(the)0 739 y(APHID)f(library)f(is)h(mo)q(di\014ed)e(to)i(address)h +(these)h(problems,)c(the)j(APHID)f(library)f(should)g(yield)h(a)f(b)q +(etter)j(sp)q(eedup)f(for)0 789 y(Chino)q(ok.)0 926 y +Fl(5)67 b(Conclusions)22 b(and)h(F)-6 b(uture)24 b(W)-6 +b(ork)0 1017 y Fk(The)14 b(APHID)f(algorithm)e(yields)i(go)q(o)q(d)g +(sp)q(eedups)i(on)e(a)g(net)o(w)o(ork)g(of)g(w)o(orkstations)g(without) +g(the)h(necessit)o(y)g(of)f(a)g(shared)0 1067 y(transp)q(osition)g +(table.)18 b(Although)13 b(the)i(authors)f(are)g(pleased)g(with)f +(these)i(preliminary)c(results,)k(a)e(lot)g(of)g(w)o(ork)g(is)h(left)f +(to)0 1117 y(b)q(e)i(done.)62 1166 y(As)d(men)o(tioned)e(in)h(Section)h +(4.3,)e(the)i(secondary)g(in)o(terface)g(and)f(underlying)g(co)q(de)h +(within)e(the)i(APHID)f(library)g(m)o(ust)0 1216 y(b)q(e)k(\014xed)f +(to)g(allo)o(w)e(for)h(greater)i(parallelism.)62 1266 +y(Our)e(curren)o(t)h(implemen)o(tation)9 b(of)j(APHID)g(uses)i(a)e +(\014xed-depth)h(horizon)g(for)f(the)h(master's)e(tree.)19 +b(As)13 b(men)o(tioned)e(in)0 1316 y(our)i(discussion)h(of)f(load)f +(balancing,)g(all)g(p)q(ositions)h(are)h(not)f(equal)g(in)g(the)h +(amoun)o(t)e(of)h(searc)o(h)h(e\013ort)g(they)g(require)g(for)f(a)0 +1366 y(\014xed)h(depth)h(of)e(searc)o(h.)19 b(APHID)14 +b(will)f(b)q(e)h(generalized)h(to)f(supp)q(ort)g(a)g(more)f(dynamic)f +(searc)o(h)j(horizon)f(in)f(the)i(master.)62 1415 y(Instead)f(of)e +(basing)h(the)g(results)i(of)d(the)i(algorithm)c(on)j(the)g(sp)q +(eedup,)i(w)o(e)e(are)g(also)g(in)o(terested)h(in)f(the)g(qualit)o(y)f +(of)g(the)0 1465 y(results)g(returned)g(b)o(y)e(the)h(algorithm.)j +(This)d(will)e(b)q(e)i(necessary)i(when)e(the)g(algorithm)d(is)i +(tested)i(b)q(ey)o(ond)f(the)g(\014xed-depth)0 1515 y(limitations)f +(giv)o(en)i(here.)18 b(The)13 b(b)q(ene\014ts)i(and)d(disadv)n(an)o +(tages)g(of)g(these)i(alternativ)o(e)f(views)g(of)f(parallel)f(p)q +(erformance)i(are)0 1565 y(curren)o(tly)i(b)q(eing)f(explored.)62 +1615 y(The)h(results)g(rep)q(orted)h(here)f(are)g(based)g(on)e(a)h +(simple)f(master/sla)o(v)o(e)g(relationship.)18 b(As)d(the)g(n)o(um)o +(b)q(er)e(of)h(pro)q(cessors)0 1664 y(increases,)f(the)f(master)f +(increasingly)h(b)q(ecomes)f(a)h(b)q(ottlenec)o(k.)18 +b(APHID)11 b(has)h(b)q(een)h(generalized)f(to)f(w)o(ork)h(in)f(a)g +(hierarc)o(hi-)0 1714 y(cal)j(pro)q(cess)j(tree,)e(although)f(this)h +(asp)q(ect)h(of)e(the)h(algorithm)d(has)j(not)f(b)q(een)i(tested)g +(here.)22 b(Mid-lev)o(el)13 b(pro)q(cesses)18 b(w)o(ould)0 +1764 y(b)q(eha)o(v)o(e)c(as)f(a)g(sla)o(v)o(e)g(to)o(w)o(ard)g(their)h +(master,)e(and)i(as)f(a)g(master)g(to)o(w)o(ard)g(their)h(sla)o(v)o +(es.)j(The)d(scalabilit)o(y)e(of)h(the)h(algorithm)0 +1814 y(has)g(y)o(et)h(to)f(b)q(e)h(demonstrated)f(on)g(arc)o +(hitectures)i(of)e(more)f(than)h(16)g(pro)q(cessors,)i(due)f(to)f +(resource)i(limitations)11 b(during)0 1864 y(the)j(academic)f(y)o(ear.) +62 1914 y(P)o(erhaps)i(the)e(biggest)h(con)o(tribution)f(of)f(APHID)i +(is)f(that)g(it)g(easily)g(\014ts)h(in)f(to)g(an)g(existing)g(sequen)o +(tial)g Fj(\013\014)j Fk(program.)0 1963 y(Although)e(the)h(\014rst)h +(stage)f(of)f(the)h(exp)q(erimen)o(t)f(uses)i(programs)d(written)j(at)e +(the)h(Univ)o(ersit)o(y)g(of)f(Alb)q(erta,)g(the)i(authors)0 +2013 y(b)q(eliev)o(e)e(that)h(the)f(same)g(ease)h(of)e(in)o(tegration)h +(will)e(b)q(e)j(demonstrated)f(in)g(the)h(second)g(stage)g(of)e(the)i +(exp)q(erimen)o(t,)e(when)0 2063 y(the)h(APHID)h(library)e(is)g(giv)o +(en)h(to)g(b)q(eta-testers)i(outside)e(of)f(the)i(Univ)o(ersit)o(y)f +(of)f(Alb)q(erta.)0 2200 y Fl(6)67 b(Ac)n(kno)n(wledgemen)n(ts)0 +2291 y Fk(Man)o(y)10 b(p)q(eople)h(ha)o(v)o(e)f(con)o(tributed)h(to)f +(the)h(success)i(of)d(this)h(pro)r(ject.)18 b(W)m(e)10 +b(w)o(ould)f(lik)o(e)h(to)g(thank)g(the)h(other)g(mem)o(b)q(ers)f(of)f +(the)0 2341 y(Univ)o(ersit)o(y)k(of)f(Alb)q(erta)h(GAMES)g(group)f(for) +h(n)o(umerous)f(discussions)h(and)g(impro)o(v)o(emen)o(ts)d(to)j(the)g +(presen)o(tation)h(of)e(this)0 2391 y(pap)q(er)h(and)f(the)h(library:)k +(Yngvi)12 b(Bjornsson,)h(Y)m(ao)q(qing)e(Gao,)g(Andreas)i(Junghanns,)g +(T)m(on)o(y)e(Marsland)i(and)f(Ask)o(e)h(Plaat.)0 2441 +y(W)m(e)i(w)o(ould)f(also)g(lik)o(e)h(to)g(thank)g(P)o(aul)f(Lu)h(for)g +(his)g(commen)o(ts)e(on)i(the)h(APHID)f(library)m(,)f(and)h(the)h +(Computing)d(Science)0 2490 y(Instructional)20 b(Supp)q(ort)h(Group)f +(at)h(the)g(Univ)o(ersit)o(y)f(of)g(Alb)q(erta)g(for)g(giving)f(us)i +(the)g(computer)f(time)f(for)h(running)0 2540 y(the)f(exp)q(erimen)o +(ts.)32 b(W)m(e)19 b(w)o(ould)e(also)h(lik)o(e)g(to)g(thank)h(the)g +(anon)o(ymous)e(referees)j(that)f(ha)o(v)o(e)f(help)q(ed)i(us)f(impro)o +(v)o(e)d(the)0 2590 y(presen)o(tation)f(of)e(p)q(ortions)h(of)f(this)h +(do)q(cumen)o(t.)62 2640 y(This)g(w)o(ork)g(w)o(as)f(supp)q(orted)j(b)o +(y)d(the)i(Natural)e(Sciences)j(and)e(Engineering)g(Researc)o(h)h +(Council)e(of)g(Canada.)954 2790 y(17)p eop +%%Page: 18 20 +18 19 bop 0 42 a Fl(References)21 124 y Fk([1])19 b(M.)f(G.)f(Bro)q(c)o +(kington.)30 b(A)19 b(Taxonom)o(y)c(of)j(Parallel)f(Game-Tree)g(Searc)o +(h)i(Algorithms.)28 b Fi(ICCA)18 b(Journal)p Fk(,)h(19\(3\),)85 +166 y(1996.)e(In)d(press.)21 240 y([2])19 b(M.)13 b(G.)f(Bro)q(c)o +(kington)h(and)f(J.)h(Sc)o(hae\013er.)18 b(APHID)13 b(Game)e(Tree)j +(Searc)o(h.)j(In)c Fi(A)n(dvanc)n(es)i(in)f(Computer)g(Chess)g(VIII)p +Fk(,)85 282 y(Maastric)o(h)o(t,)g(The)g(Netherlands,)h(June)g(1996.)i +(In)c(press.)21 357 y([3])19 b(M.)11 b(G.)g(Bro)q(c)o(kington)g(and)h +(J.)f(Sc)o(hae\013er.)16 b(The)c(APHID)f(Parallel)g Fj(\013\014)j +Fk(Searc)o(h)e(Algorithm.)g(In)f Fi(Pr)n(o)n(c)n(e)n(e)n(dings)i(of)g +(IEEE)85 398 y(SPDP)j('96)p Fk(,)e(New)g(Orleans,)g(Louisiana,)e(Octob) +q(er)k(1996.)h(In)d(press.)21 473 y([4])19 b(V.)12 b(Da)o(vid.)h +Fi(A)o(lgorithmique)f(p)n(ar)n(al)r(l)o(\022)-20 b(ele)12 +b(sur)h(les)g(arbr)n(es)f(de)i(d)o(\023)-20 b(ecision)13 +b(et)g(r)n(aisonnement)g(en)h(temps)f(c)n(ontr)n(aint)g(-)f(Etude)85 +514 y(et)j(applic)n(ation)g(au)h(minimax)p Fk(.)i(PhD)13 +b(thesis,)i(ENSAE,)f(T)m(oulouse,)f(F)m(rance,)h(1993.)21 +589 y([5])19 b(R.)34 b(F)m(eldmann.)78 b Fi(Spielb)n(aumsuche)35 +b(mit)e(massiv)h(p)n(ar)n(al)r(lelen)g(Systemen)p Fk(.)80 +b(PhD)35 b(thesis,)40 b(Univ)o(ersit\177)-21 b(at-)85 +631 y(Gesam)o(tho)q(c)o(hsc)o(h)o(ule)13 b(P)o(aderb)q(orn,)h(P)o +(aderb)q(orn,)g(German)o(y)m(,)c(Ma)o(y)j(1993.)j(In)d(German)f({)h +(English)g(translation)f(a)o(v)n(ail-)85 672 y(able.)21 +747 y([6])19 b(E.)f(W.)e(F)m(elten)i(and)f(S.)h(W.)e(Otto.)29 +b(Chess)19 b(on)f(a)f(Hyp)q(ercub)q(e.)31 b(In)17 b(G.)g(F)m(o)o(x,)g +(editor,)h Fi(Pr)n(o)n(c)n(e)n(e)n(dings)g(of)h(The)f(Thir)n(d)85 +788 y(Confer)n(enc)n(e)13 b(on)g(Hyp)n(er)n(cub)n(e)f(Concurr)n(ent)h +(Computers)f(and)h(Applic)n(ations)p Fk(,)e(v)o(olume)f(I)q +(I-Applications,)h(pages)g(1329{)85 830 y(1341,)i(P)o(assadena,)h(CA,)f +(1988.)21 905 y([7])19 b(C.)c(F)m(erguson)h(and)g(R.)f(E.)g(Korf.)23 +b(Distributed)16 b(T)m(ree)g(Searc)o(h)h(and)e(its)h(Application)f(to)g +(Alpha-Beta)h(Pruning.)23 b(In)85 946 y Fi(Pr)n(o)n(c)n(e)n(e)n(dings) +15 b(of)g(AAAI-88)p Fk(,)e(pages)h(128{132,)e(Sain)o(t)h(P)o(aul,)g +(MN,)h(August)g(1988.)21 1021 y([8])19 b(F.)14 b(Hsu.)k(Priv)n(ate)c +(comm)o(unication,)c(1996.)21 1095 y([9])19 b(F.-h.)c(Hsu.)22 +b Fi(L)n(ar)n(ge)16 b(Sc)n(ale)g(Par)n(al)r(lelization)f(of)h(A)o +(lpha-Beta)h(Se)n(ar)n(ch:)k(A)o(n)c(A)o(lgorithmic)d(and)j(A)o(r)n +(chite)n(ctur)n(al)e(Study)p Fk(.)85 1137 y(PhD)g(thesis,)h(Carnegie)g +(Mellon)e(Univ)o(ersit)o(y)m(,)g(Pittsburgh,)i(U.S.A.,)e(1990.)20 +b(Also)15 b(T)m(ec)o(h.)g(Rept.)g(CMU-CS-90-108,)85 1179 +y(Carnegie)f(Mellon)g(Univ)o(ersit)o(y)m(,)f(F)m(eb.)g(1990.)0 +1253 y([10])19 b(R.)11 b(M.)h(Hy)o(att,)g(B.)g(W.)f(Suter,)i(and)e(H.)h +(L.)f(Nelson.)16 b(A)c(P)o(arallel)f(Alpha/Beta)h(T)m(ree)g(Searc)o +(hing)g(Algorithm.)h Fi(Par)n(al)r(lel)85 1295 y(Computing)p +Fk(,)h(10\(3\):299{308,)d(1989.)0 1369 y([11])19 b(L.)d(Kaufman.)24 +b(Rate)16 b(Your)h(Own)g(Computer.)24 b Fi(Computer)17 +b(Chess)h(R)n(ep)n(orts)p Fk(,)e(3\(1\):17{19,)f(1992.)24 +b(\(Published)17 b(b)o(y)85 1411 y(ICD,)c(21)h(W)m(alt)e(Whitman)g +(Rd.,)g(Hun)o(tington)i(Station,)f(NY)h(11746.\).)0 1486 +y([12])19 b(L.)14 b(Kaufman.)i(Rate)e(Your)g(Own)g(Computer)f(-)h(Part) +g(I)q(I.)k Fi(Computer)c(Chess)h(R)n(ep)n(orts)p Fk(,)e(3\(2\):13{15,)f +(1993.)0 1560 y([13])19 b(D.)10 b(E.)g(Kn)o(uth)g(and)g(R.)g(W.)f(Mo)q +(ore.)j(An)f(Analysis)e(of)h(Alpha-Beta)g(Pruning.)i +Fi(A)o(rti\014cial)f(Intel)r(ligenc)n(e)p Fk(,)f(6\(3\):293{326,)85 +1602 y(1975.)0 1677 y([14])19 b(B.)14 b(C.)g(Kuszmaul.)k +Fi(Synchr)n(onize)n(d)e(MIMD)g(Computing)p Fk(.)k(PhD)14 +b(thesis,)h(Massac)o(h)o(usetts)h(Institute)f(of)f(T)m(ec)o(hnology)m +(,)85 1718 y(Cam)o(bridge,)e(MA,)i(1994.)0 1793 y([15])19 +b(C.-P)m(.)11 b(P)m(.)g(Lu.)j(P)o(arallel)d(Searc)o(h)h(of)f(Narro)o(w) +h(Game)e(Trees.)16 b(Master's)d(thesis,)f(Departmen)o(t)f(of)g +(Computing)f(Science,)85 1834 y(Univ)o(ersit)o(y)k(of)f(Alb)q(erta,)h +(Edmon)o(ton,)e(Canada,)h(1993.)0 1909 y([16])19 b(P)m(.)13 +b(Lu.)18 b(Priv)n(ate)c(comm)o(unication,)c(1996.)0 1984 +y([17])19 b(T.)11 b(A.)f(Marsland)h(and)g(M.)f(S.)h(Campb)q(ell.)g +(Parallel)f(Searc)o(h)i(of)e(Strongly)g(Ordered)j(Game)c(Trees.)15 +b Fi(A)o(CM)d(Computing)85 2025 y(Surveys)p Fk(,)i(14\(4\):533{551,)d +(1982.)0 2100 y([18])19 b(T.)c(A.)g(Marsland,)g(M.)g(Olafsson,)g(and)g +(J.)g(Sc)o(hae\013er.)24 b(Multipro)q(cessor)17 b(Tree-Searc)o(h)g(Exp) +q(erimen)o(ts.)22 b(In)16 b(D.)e(Beal,)85 2142 y(editor,)g +Fi(A)n(dvanc)n(es)h(in)g(Computer)g(Chess)g(4)p Fk(,)e(pages)i(37{51.)d +(P)o(ermagon)g(Press,)j(Oxford,)f(1985.)0 2216 y([19])19 +b(M.)14 b(M.)f(Newb)q(orn.)20 b(Unsync)o(hronized)15 +b(Iterativ)o(e)g(Deep)q(ening)f(P)o(arallel)f(Alpha-Beta)h(Searc)o(h.) +20 b Fi(IEEE)15 b(T)m(r)n(ansactions)85 2258 y(on)h(Pattern)e(A)o +(nalysis)h(and)h(Machine)g(Intel)r(ligenc)n(e)p Fk(,)d(P)m +(AMI-10\(5\):687{694,)d(1988.)0 2333 y([20])19 b(J.)c(P)o(earl.)21 +b(Asymptotic)14 b(Prop)q(erties)j(of)d(Minimax)e(Trees)17 +b(and)d(Game-Searc)o(hing)g(Pro)q(cedures.)23 b Fi(A)o(rti\014cial)15 +b(Intel)r(li-)85 2374 y(genc)n(e)p Fk(,)f(14:113{138,)d(1980.)0 +2449 y([21])19 b(A.)14 b(Plaat.)j Fi(R)n(ese)n(ar)n(ch)e(R)n(e:)7 +b(se)n(ar)n(ch)15 b(&)g(R)n(e-se)n(ar)n(ch)p Fk(.)i(PhD)d(thesis,)h +(Erasm)o(us)e(Univ)o(ersit)o(y)m(,)g(Rotterdam,)f(NL,)h(1996.)0 +2523 y([22])19 b(A.)f(Plaat,)g(J.)g(Sc)o(hae\013er,)i(W.)d(Pijls,)h +(and)f(A.)h(de)g(Bruin.)31 b(Exploiting)16 b(Graph)i(Prop)q(erties)i +(of)d(Game)f(Trees.)32 b(In)85 2565 y Fi(Pr)n(o)n(c)n(e)n(e)n(dings)15 +b(of)g(AAAI)f('96)p Fk(,)g(v)o(olume)e(1,)h(pages)h(234{239,)e(P)o +(ortland,)h(Oregon,)h(August)g(1996.)0 2640 y([23])19 +b(A.)14 b(Reinefeld.)k(An)c(Impro)o(v)o(emen)o(t)d(to)j(the)g(Scout)h +(Tree-Searc)o(h)g(Algorithm.)h Fi(ICCA)e(Journal)p Fk(,)g(6\(4\):4{14,) +d(1983.)954 2790 y(18)p eop +%%Page: 19 21 +19 20 bop 0 42 a Fk([24])19 b(J.)11 b(Sc)o(hae\013er.)k(Distributed)d +(Game-T)m(ree)e(Searc)o(hing.)j Fi(Journal)g(of)f(Par)n(al)r(lel)f(and) +i(Distribute)n(d)f(Computing)p Fk(,)f(6\(2\):90{)85 83 +y(114,)i(1989.)0 158 y([25])19 b(J.)11 b(Sc)o(hae\013er,)i(J.)d(Culb)q +(erson,)i(N.)e(T)m(reloar,)h(B.)g(Knigh)o(t,)f(P)m(.)g(Lu,)h(and)g(D.)f +(Szafron.)j(A)e(W)m(orld)f(Championship)e(Calib)q(er)85 +199 y(Chec)o(k)o(ers)16 b(Program.)g Fi(A)o(rti\014cial)e(Intel)r +(ligenc)n(e)p Fk(,)f(53\(2-3\):273{290,)e(1992.)0 274 +y([26])19 b(J.)d(J.)f(Scott.)24 b(A)16 b(Chess-Pla)o(ying)f(Program.)22 +b(In)16 b(B.)f(Meltzer)i(and)f(D.)f(Mic)o(hie,)g(editors,)h +Fi(Machine)i(Intel)r(ligenc)n(e)e(4)p Fk(,)85 315 y(pages)f(255{265.)c +(Edin)o(burgh)j(Univ)o(ersit)o(y)g(Press,)h(1969.)0 390 +y([27])k(D.)c(J.)g(Slate)g(and)h(L.)e(R.)h(A)o(tkin.)22 +b(Chess)16 b(4.5)f(-)g(The)h(North)o(w)o(estern)h(Univ)o(ersit)o(y)e +(Chess)i(Program.)j(In)c(P)m(.W.)e(F)m(rey)m(,)85 432 +y(editor,)g Fi(Chess)h(Skil)r(l)f(in)h(Man)h(and)f(Machine)p +Fk(,)g(pages)f(82{118.)e(Springer-V)m(erlag,)h(New)h(Y)m(ork,)f(1977.)0 +506 y([28])19 b(V.)e(Sunderam.)28 b(PVM:)17 b(A)h(F)m(ramew)o(ork)d +(for)i(P)o(arallel)g(Distributed)g(Computing.)26 b Fi(Concurr)n(ency:)g +(Pr)n(actic)n(e)17 b(and)85 548 y(Exp)n(erienc)n(e)p +Fk(,)d(2\(4\):315{339,)d(Decem)o(b)q(er)j(1990.)0 623 +y([29])19 b(J.-C.)25 b(W)m(eill.)51 b Fi(Pr)n(o)n(gr)n(ammes)25 +b(d')o(\023)-20 b(eche)n(cs)26 b(de)g(championnat:)41 +b(ar)n(chite)n(ctur)n(e)25 b(lo)n(giciel)r(le)f(synth)o(\022)-20 +b(ese)27 b(de)f(fonctions)85 664 y(d')o(\023)-20 b(evaluations,)15 +b(p)n(ar)n(al)r(l)o(\023)-20 b(elisme)14 b(de)h(r)n(e)n(cher)n(che)p +Fk(.)j(PhD)13 b(thesis,)i(Univ)o(ersit)o(\023)-20 b(e)14 +b(P)o(aris)g(8,)f(Jan)o(uary)h(1995.)954 2790 y(19)p +eop +%%Page: 20 22 +20 21 bop 0 42 a Fl(A)67 b(Description)23 b(of)f(APHID)f(In)n(terface)0 +141 y Fv(A.1)56 b(T)n(yp)r(es)18 b(of)h(Pro)r(cesses)f(within)g(APHID) +62 209 y Fh(\017)j Fb(absolute)f(master)p Fk(:)25 b(The)18 +b(single)g(pro)q(cess)h(whic)o(h)f(in)o(v)o(ok)o(es)g(all)e(other)j +(pro)q(cesses)h(within)e(the)g(APHID)g(pro)q(cess)104 +251 y(hierarc)o(h)o(y)m(,)13 b(whic)o(h)h(o)q(ccupies)h(the)f(highest)h +(lev)o(el)e(in)h(the)g(pro)q(cess)i(hierarc)o(h)o(y)m(.)62 +325 y Fh(\017)21 b Fb(slave)p Fk(:)g(An)o(y)16 b(pro)q(cess)i(that)e(m) +o(ust)f(rep)q(ort)i(its)f(searc)o(h)h(results)g(to)f(a)g(pro)q(cess)i +(ab)q(o)o(v)o(e)d(it)h(in)g(the)g(hierarc)o(h)o(y)m(.)25 +b(With)104 367 y(this)14 b(de\014nition,)f(a)g(pro)q(cess)j(is)e +(either)h(the)f(absolute)g(master)f(or)h(a)g(sla)o(v)o(e,)f(and)h +(cannot)g(b)q(e)g(b)q(oth.)62 442 y Fh(\017)21 b Fb(master)p +Fk(:)e(An)o(y)14 b(pro)q(cess)j(that)e(has)g(pro)q(cesses)j(underneath) +e(it)e(in)h(the)g(hierarc)o(h)o(y)m(.)21 b(Note)15 b(that)g(it)g(is)g +(p)q(ossible)g(for)f(a)104 483 y(pro)q(cess)h(to)f(b)q(e)h(b)q(oth)f(a) +f(master)h(and)f(a)h(sla)o(v)o(e)g(if)f(the)h(pro)q(cess)i(hierarc)o(h) +o(y)e(has)g(m)o(ultiple)e(lev)o(els.)0 599 y Fv(A.2)56 +b(Constan)n(ts)20 b(T)-5 b(o)19 b(Be)f(De\014ned)0 668 +y Fk(Since)c(the)h(library)e(is)h(application-indep)q(enden)o(t,)f +(some)g(de\014nitions)h(of)f(ho)o(w)g(things)h(are)h(implem)o(en)o(ted) +d(m)o(ust)h(b)q(e)h(giv)o(en)0 709 y(to)g(the)g(APHID)g(library)m(.)62 +792 y Fh(\017)21 b Fb(APHID)p 217 792 14 2 v 14 w(HASHTYPESIZE)p +Fk(:)11 b(The)k(size)f(\(in)g(b)o(ytes\))h(of)e(the)h(hash)g(v)n(alue)g +(used)h(in)e(y)o(our)h(program.)62 867 y Fh(\017)21 b +Fb(APHID)p 217 867 V 14 w(HASHKEYSIZE)p Fk(:)10 b(The)i(size)h(\(in)f +(b)o(ytes\))h(of)f(the)h(\\lo)q(c)o(k")e(used)i(to)f(guaran)o(tee)h +(that)f(t)o(w)o(o)g(p)q(ositions)f(sharing)h(the)104 +908 y(same)h(hash)h(v)n(alue)f(are)h(the)h(same.)62 983 +y Fh(\017)21 b Fb(APHID)p 217 983 V 14 w(MOVESIZE)p Fk(:)12 +b(The)i(size)h(\(in)f(b)o(ytes\))g(of)g(the)g(represen)o(tation)i(of)d +(a)h(mo)o(v)o(e)e(in)h(the)i(application.)62 1058 y Fh(\017)21 +b Fb(APHID)p 217 1058 V 14 w(MINUSINF)15 b Fk(and)h Fb(APHID)p +615 1058 V 15 w(PLUSINF)p Fk(:)e(Sp)q(eci\014cations)j(of)e(v)n(alues)h +(smaller)f(than)h(the)h(minim)n(um)o(,)c(and)j(larger)104 +1099 y(than)e(the)g(maxim)n(um)o(,)c(that)k(the)h(\\ev)n(aluation")d +(could)i(p)q(ossibly)f(return,)i(resp)q(ectiv)o(ely)m(.)62 +1174 y Fh(\017)21 b Fb(APHID)p 217 1174 V 14 w(INVALIDSCORE)p +Fk(:)13 b(A)j(v)n(alue)g(that)g(is)g(outside)g(the)g(range)h(represen)o +(ted)h(b)o(y)e(the)h(minim)n(um)11 b(and)16 b(maxim)n(um)104 +1215 y(v)n(alues)d(sp)q(eci\014ed)j(previously)m(.)62 +1290 y Fh(\017)21 b Fb(APHID)p 217 1290 V 14 w(LOG2)p +319 1290 V 15 w(TABSIZE)p Fk(:)16 b(The)j(size)g(of)e(the)i(APHID)f +(table)g(that)g(y)o(ou)g(in)o(tend)g(on)g(using)g(to)g(share)h(b)q(et)o +(w)o(een)g(the)104 1332 y(master)c(and)h(the)g(sla)o(v)o(es,)g(tak)o +(en)f(to)h(a)f(base)i(2)e(logarithm.)21 b(F)m(or)15 b(example,)g(a)g(v) +n(alue)g(of)g(14)g(indicates)h(an)g(APHID)104 1378 y(table)e(with)f(2) +323 1363 y Fe(14)370 1378 y Fk(=)e(16384)i(en)o(tries.)62 +1452 y Fh(\017)21 b Fb(APHID)p 217 1452 V 14 w(MAXSLAVEPLYSEARCH)p +Fk(:)7 b(The)j(maxim)o(um)c("plytogo")i(v)n(alue)i(that)g(y)o(ou)g +(could)g(p)q(ossibly)g(exp)q(ect)i(to)e(hand)g(to)g(a)104 +1494 y(sla)o(v)o(e)g(to)g(searc)o(h.)18 b(Note)10 b(that)g(this)h(v)n +(alue)e(should)h(not)g(b)q(e)h(excessiv)o(ely)g(large,)g(since)g(this)f +(and)g Fb(APHID)p 1683 1494 V 15 w(LOG2)p 1786 1494 V +14 w(TABSIZE)104 1535 y Fk(are)k(the)h(leading)e(determinan)o(ts)g(in)h +(the)g(amoun)o(t)e(of)h(memory)f(used)j(b)o(y)e(the)i(APHID)f(library)m +(.)62 1610 y Fh(\017)21 b Fb(APHID)p 217 1610 V 14 w +(MAXMASTERPLYSEARCH)p Fk(:)10 b(The)k(maxim)o(um)9 b(depth)15 +b(that)f(w)o(e)g(exp)q(ect)h(the)g(master)e(should)h(reac)o(h.)62 +1685 y Fh(\017)21 b Fb(APHID)p 217 1685 V 14 w(SLAVENODESTOCOMM)p +Fk(:)15 b(This)j(should)g(b)q(e)g(set)h(to)f(the)h(n)o(um)o(b)q(er)e +(of)h(no)q(des)h(that)f(the)g(sequen)o(tial)h(program)104 +1726 y(visits)13 b(on)h(the)h(t)o(yp)q(e)f(of)f(pro)q(cessor)j(b)q +(eing)e(used,)g(divided)g(b)o(y)f(10.)0 1843 y Fv(A.3)56 +b(Standard)19 b(V)-5 b(ariables)19 b(Used)62 1911 y Fh(\017)i +Fb(argv)p Fk(:)e(Standard)c(argumen)o(t)e(list.)20 b(Used)c(to)f +(instan)o(tiate)f(the)h(sla)o(v)o(es)g(with)g(the)g(same)f(parameters)h +(as)g(the)g(initial)104 1952 y(program.)62 2027 y Fh(\017)21 +b Fb(depth)p Fk(:)c(The)d(n)o(um)o(b)q(er)f(of)g(ply)h(the)g(curren)o +(t)i(no)q(de)e(is)g(a)o(w)o(a)o(y)f(from)f(the)i(ro)q(ot)g(of)f(the)i +(game)d(tree.)62 2102 y Fh(\017)21 b Fb(plytogo)p Fk(:)15 +b(The)c(n)o(um)o(b)q(er)f(of)g(ply)h(un)o(til)f(w)o(e)h(reac)o(h)g(the) +h(b)q(ottom)d(of)h(the)i(game)d(tree.)18 b(In)11 b(a)g(searc)o(h)h +(with)e(no)h(extensions)104 2143 y(or)j(forw)o(ard)f(pruning,)g +Fb(plytogo)21 b(+)g(depth)13 b Fk(should)h(b)q(e)g(constan)o(t.)62 +2218 y Fh(\017)21 b Fb(&move[i])10 b Fk(or)i Fb(&bestmove)p +Fk(:)j(A)d(p)q(oin)o(ter)g(to)f(an)h(area)g(of)f Fb(APHID)p +1098 2218 V 15 w(MOVESIZE)f Fk(b)o(ytes)i(whic)o(h)g(sp)q(eci\014es)h +(the)g(mo)o(v)o(e)d(b)q(eing)104 2260 y(pla)o(y)o(ed.)62 +2334 y Fh(\017)21 b Fb(p)p 129 2334 V 15 w(hash)p Fk(:)c(A)d(p)q(oin)o +(ter)g(to)g(an)g(area)g(of)f Fb(APHID)p 805 2334 V 15 +w(HASHTYPESIZE)e Fk(b)o(ytes)k(that)f(con)o(tains)g(the)g(curren)o(t)h +(hash)g(v)n(alue.)62 2409 y Fh(\017)21 b Fb(p)p 129 2409 +V 15 w(key)p Fk(:)c(A)c(p)q(oin)o(ter)g(to)f(an)g(area)h +Fb(APHID)p 729 2409 V 15 w(HASHKEYSIZE)d Fk(b)o(ytes)k(that)e(con)o +(tains)h(a)f(lo)q(c)o(k)g(whic)o(h)h(can)g(\\guaran)o(tee")f(the)104 +2451 y(b)q(oard)i(stored)h(in)e(the)h(lo)q(cation)f(of)h(the)g(hash)g +(table)g(is)g(correct.)62 2525 y Fh(\017)21 b Fb(alpha)13 +b Fk(and)g Fb(beta)p Fk(:)k(Searc)o(h)e(windo)o(w)e(used)i(b)o(y)f +Fj(\013\014)i Fk(implemen)o(tatio)o(n;)11 b(they)j(are)g(exp)q(ected)i +(to)e(b)q(e)h(32-bit)e(in)o(tegers.)62 2600 y Fh(\017)21 +b Fb(value)13 b Fk(and)g Fb(score)p Fk(:)k(V)m(alues)d(of)f(leaf)g(no)q +(des;)i(they)f(are)g(exp)q(ected)i(to)e(b)q(e)h(32-bit)e(in)o(tegers)h +(for)g(this)g(library)m(.)954 2790 y(20)p eop +%%Page: 21 23 +21 22 bop 0 42 a Fv(A.4)56 b(Stubs)19 b(T)-5 b(o)19 b(Be)f(W)-5 +b(ritten)62 110 y Fh(\017)21 b Fb(int)g(aphid)p 304 110 +14 2 v 15 w(stub)p 407 110 V 14 w(encodeinit\(char)e(*msg\))p +Fk(:)k(Pro)o(vides)17 b(the)g(absolute)g(master)f(with)h(a)f(4000-b)o +(yte)g(bu\013er)i(to)104 151 y(store)g(all)e(p)q(ertinen)o(t)j +(information)14 b(ab)q(out)j(the)h(ro)q(ot)g(of)e(the)i(game)e(tree,)j +(suc)o(h)f(as)g(the)g(p)q(osition)e(and)h(the)h(game)104 +193 y(history)d(\(if)g(this)h(is)f(relev)n(an)o(t)h(to)f(the)h(searc)o +(h)h(algorithm\).)k(The)16 b(return)g(v)n(alue)f(is)h(the)g(n)o(um)o(b) +q(er)f(of)g(b)o(ytes)h(used)g(in)104 234 y(the)e(string)g +Fb(msg)p Fk(.)62 309 y Fh(\017)21 b Fb(int)g(aphid)p +304 309 V 15 w(stub)p 407 309 V 14 w(decodeinit\(int)e(msg)p +814 309 V 15 w(ln,)j(char)f(*msg\))p Fk(:)15 b(All)9 +b(other)i(pro)q(cesses)j(in)c(the)h(system,)f(aside)h(from)104 +351 y(the)i(absolute)f(master,)g(receiv)o(e)i(the)f(message)f(length)g +(and)g(the)h(message)f(enco)q(ded)i(b)o(y)e Fb(aphid)p +1606 351 V 15 w(stub)p 1709 351 V 15 w(encodeinit)p Fk(,)104 +392 y(and)h(should)h(set)h(the)f(ro)q(ot)g(of)g(their)g(game)e(tree,)j +(accordingly)m(.)62 467 y Fh(\017)21 b Fb(void)g(aphid)p +326 467 V 14 w(stub)p 428 467 V 15 w(movedownpath\(int)e(num)p +880 467 V 15 w(moves,)h(char)h(*movepath\))p Fk(:)15 +b(Called)10 b(b)o(y)h(the)h(sla)o(v)o(es,)f(a)g(series)i(of)104 +508 y Fb(num)p 173 508 V 15 w(moves)d Fk(mo)o(v)o(es)h(is)g(giv)o(en)h +(in)f Fb(movepath)p Fk(,)f(with)h(eac)o(h)h(mo)o(v)o(e)e(b)q(eing)i +Fb(APHID)p 1328 508 V 15 w(MOVESIZE)e Fk(b)o(ytes)i(long.)17 +b(The)12 b(routine)104 550 y(should)h(pla)o(y)g(through)h(the)h(mo)o(v) +o(es)d(giv)o(en)i(in)f Fb(movepath)f Fk(from)h(the)h(ro)q(ot)g(of)f +(the)i(game)d(tree.)62 625 y Fh(\017)21 b Fb(void)g(aphid)p +326 625 V 14 w(stub)p 428 625 V 15 w(moveuppath\(int)e(num)p +836 625 V 15 w(moves,)i(char)g(*movepath\))p Fk(:)14 +b(Called)d(b)o(y)g(the)h(sla)o(v)o(es,)f(should)g(com-)104 +666 y(pletely)j(undo)f(an)o(y)h(c)o(hanges)g(made)f(b)o(y)h +Fb(aphid)p 856 666 V 14 w(stub)p 958 666 V 15 w(movedownpath)p +Fk(.)62 741 y Fh(\017)21 b Fb(int)g(aphid)p 304 741 V +15 w(stub)p 407 741 V 14 w(iterativedeepening\(i)o(nt)e(depth,)h(int)h +(last,)g(int)g(max\))p Fk(:)d(Called)13 b(b)o(y)h(the)h(sla)o(v)o(es,)f +(this)104 782 y(routine)i(should)f(return)i(the)g(searc)o(h)g(depth)f +(for)g(the)g(subsequen)o(t)i(searc)o(h)f(of)e(a)h(leaf)f(no)q(de.)24 +b(F)m(or)16 b(most)e(programs)104 824 y(that)g(do)f(iterativ)o(e)h +(deep)q(ening)h(in)f(1)f(ply)g(steps,)i(this)f(should)g(simply)e +(return)j Fb(last)21 b(+)g(1)p Fk(.)62 899 y Fh(\017)g +Fb(void)g(aphid)p 326 899 V 14 w(stub)p 428 899 V 15 +w(preparesearch\(int)e(depth,)h(int)h(plytogo,)f(int)i(winstats[],)d +(int)i(*alpha,)104 940 y(int)g(*beta\))p Fk(:)16 b(Called)10 +b(b)o(y)i(the)g(sla)o(v)o(es,)f(this)h(routine)g(sets)g(the)g(initial)e +(windo)o(w)h(searc)o(hed)i(b)o(y)e(the)h(sla)o(v)o(es.)17 +b(Statistics)104 982 y(on)12 b(previous)h(searc)o(hes)h(and)f(the)g +(curren)o(t)h(guessed)g(score)g(at)e(the)h(ro)q(ot)g(are)f(passed)i(in) +e(via)g(the)h Fb(winstats[])d Fk(arra)o(y)m(.)104 1023 +y(The)j(routine)f(should)h(set)g Fb(*alpha)e Fk(and)h +Fb(*beta)g Fk(b)q(efore)h(terminating.)j(F)m(urthermore,)c(this)g +(routine)h(should)f(ensure)104 1065 y(that)i(an)o(y)f(global)f +(\\alarm")g(states)j(ha)o(v)o(e)e(b)q(een)i(turned)g(o\013.)62 +1139 y Fh(\017)21 b Fb(int)g(aphid)p 304 1139 V 15 w(stub)p +407 1139 V 14 w(alphabeta\(int)f(depth,)g(int)h(plytogo,)f(int)i +(alpha,)e(int)h(beta\))p Fk(:)c(Called)c(b)o(y)h(b)q(oth)104 +1181 y(the)f(master)e(and)h(the)h(sla)o(v)o(es,)f(this)g(routine)g +(should)g(call)g(y)o(our)g(implem)o(en)o(tation)d(of)j +Fj(\013\014)r Fk(,)g(and)g(return)h(the)g(minim)o(ax)104 +1222 y(v)n(alue)g(bac)o(k)h(to)g(the)g(APHID)g(library)m(.)62 +1297 y Fh(\017)21 b Fb(int)g(aphid)p 304 1297 V 15 w(stub)p +407 1297 V 14 w(evaluate\(int)f(depth,)g(int)i(alpha,)e(int)h(beta\))p +Fk(:)c(Called)c(b)o(y)g(the)h(master)f(the)h(\014rst)g(time)104 +1339 y(it)g(visits)h(a)f(leaf)g(of)g(its)h(tree,)g(this)g(routine)g +(should)f(simply)f(call)h(y)o(our)g(ev)n(aluation)f(routine)i(and)g +(return)g(the)h(score)104 1380 y(for)d(the)i(p)q(osition)e(reac)o(hed)i +(at)f Fb(depth)f Fk(ply)g(within)g(the)i(tree.)62 1455 +y Fh(\017)21 b Fb(int)g(aphid)p 304 1455 V 15 w(stub)p +407 1455 V 14 w(stopsearch\(int)e(pass)p 836 1455 V 15 +w(stats[]\))p Fk(:)j(Called)16 b(only)f(b)o(y)i(the)g(absolute)f +(master)g(pro)q(cess,)j(this)104 1496 y(routine)12 b(should)g(c)o(hec)o +(k)h(y)o(our)f(timer)f(and)g(determine)h(if)f(y)o(our)h(time)f(limit)e +(has)j(b)q(een)i(exceeded)g(for)d(a)h(searc)o(h.)19 b(If)11 +b(the)104 1538 y(time)i(limit)e(has)j(b)q(een)i(exceeded,)g(this)e +(routine)g(should)g(return)h(1;)f(otherwise,)h(0.)j(A)c(n)o(um)o(b)q +(er)g(of)f(parameters)i(are)104 1579 y(passed)h(in)e(to)g(this)h +(routine)g(via)f(the)h(pass)p 782 1579 13 2 v 16 w(stats)g(arra)o(y)m +(,)f(suc)o(h)h(as)g(the)g(n)o(um)o(b)q(er)f(of)g(uncertain)i(no)q(des)f +(outstanding)104 1621 y(for)e(a)h(giv)o(en)f(searc)o(h,)i(to)f(mak)o(e) +e(the)i(decision)h(to)e(terminate)g(a)h(searc)o(h)h(more)e(robust.)62 +1696 y Fh(\017)21 b Fb(int)g(aphid)p 304 1696 14 2 v +15 w(stub)p 407 1696 V 14 w(visited\(\))p Fk(:)c(Called)d(b)o(y)g(the)g +(sla)o(v)o(es,)g(this)g(should)g(return)i(a)e(global)e(coun)o(t)j(of)e +(the)i(n)o(um)o(b)q(er)f(of)104 1737 y(no)q(des)g(visited)g(b)o(y)g +(the)g(pro)q(cess.)0 1853 y Fv(A.5)56 b(In)n(terface)18 +b(Calls)h(Used)f(b)n(y)h(Master)g(and)g(Sla)n(v)n(e)62 +1922 y Fh(\017)i Fb(void)g(aphid)p 326 1922 V 14 w(startup\(argv\))p +Fk(:)k(In)19 b(the)g(\014rst)h(pro)q(cess)g(run,)g(PVM)f(is)g(spa)o +(wned)g(on)g(the)g(mac)o(hines)f(sp)q(eci\014ed,)104 +1963 y(and)c(a)f(sla)o(v)o(e)h(pro)q(cess)i(is)e(spa)o(wned)g(with)g +(the)h(same)e(argumen)o(t)g(list)g Fb(\(argv\))g Fk(as)h(the)h(master,) +e(as)h(sp)q(eci\014ed)i(b)o(y)d(the)104 2005 y Fb(aphid.config)e +Fk(\014le.)18 b(In)c(a)g(spa)o(wned)g(pro)q(cess,)h(the)g(APHID)f +(library)f(nev)o(er)i(exits)f(this)g(function)g(call.)62 +2079 y Fh(\017)21 b Fb(void)g(aphid)p 326 2079 V 14 w(exit\(\))p +Fk(:)j(This)17 b(routine)h(remo)o(v)o(es)e(a)h(pro)q(cess)j(from)15 +b(the)j(PVM)g(group,)f(and)g(it)g(should)g(b)q(e)h(called)104 +2121 y(b)q(efore)e(an)o(y)f(pro)q(cess)j(exits)e(\(due)g(to)g(errors)h +(or)e(normal)f(completion\).)21 b(If)16 b(the)g(pro)q(cess)h(is)f(the)g +(absolute)g(master,)104 2162 y(completion)11 b(of)i(this)h(routine)f +(ensures)j(that)d(all)f(of)h(the)h(spa)o(wned)g(pro)q(cesses)i(ha)o(v)o +(e)d(b)q(een)i(sh)o(ut)f(do)o(wn)f(successfully)m(.)62 +2237 y Fh(\017)21 b Fb(int)g(aphid)p 304 2237 V 15 w(master\(\))p +Fk(:)16 b(Returns)f(1)e(if)g(the)i(pro)q(cess)h(is)d(a)h(master)f(in)h +(the)g(hierarc)o(h)o(y)m(,)g(and)f(0)h(otherwise.)62 +2312 y Fh(\017)21 b Fb(int)g(aphid)p 304 2312 V 15 w(slave\(\))p +Fk(:)14 b(Returns)d(1)f(if)g(the)h(pro)q(cess)h(w)o(as)e(spa)o(wned,)h +(returns)h(0)e(if)f(it)h(is)g(the)h(absolute)f(master)g(pro)q(cess)104 +2353 y(whic)o(h)k(spa)o(wned)h(the)g(other)g(pro)q(cesses.)23 +b(Note)15 b(that)f(a)h(pro)q(cess)h(can)f(b)q(e)g(b)q(oth)f(a)h(sla)o +(v)o(e)f(and)g(a)g(master)g(dep)q(ending)104 2395 y(on)f(the)i(hierarc) +o(h)o(y)f(sp)q(eci\014ed)i(in)d Fb(aphid.config)p Fk(.)954 +2790 y(21)p eop +%%Page: 22 24 +22 23 bop 0 42 a Fv(A.6)56 b(In)n(terface)18 b(Calls)h(Used)f(b)n(y)h +(Masters)g(Only)62 110 y Fh(\017)i Fb(void)g(aphid)p +326 110 14 2 v 14 w(initserach\(int)e(maxdepth\))p Fk(:)d(Called)d(b)o +(y)h(the)g(absolute)g(master)g(pro)q(cess,)h(this)f(pro)q(cedure)h +(pre-)104 151 y(pares)i(to)g(start)g(a)f(searc)o(h)i(in)e(parallel.)26 +b(This)16 b(routine)h(calls)f Fb(aphid)p 1212 151 V 15 +w(stub)p 1315 151 V 15 w(encodeinit)p Fk(,)f(and)h(then)h(informs)e +(all)104 193 y(of)e(the)i(other)g(pro)q(cesses)i(of)c(the)i(curren)o(t) +h(state)f(of)e(the)i(game.)i(The)e(parameter)f(indicates)g(the)h(maxim) +n(um)10 b(depth)104 234 y(that)k(an)o(y)f(pro)q(cess)j(is)e(nominall)o +(y)d(allo)o(w)o(ed)i(to)g(searc)o(h,)i Fi(not)g(including)h(se)n(ar)n +(ch)e(extensions)p Fk(.)62 309 y Fh(\017)21 b Fb(int)g(aphid)p +304 309 V 15 w(rootsearch\(int)e(depth,)h(int)h(plytogo,)f(int)i +(alpha,)e(int)h(beta\))p Fk(:)26 b(This)18 b(routine)h(is)f(called)104 +350 y(b)o(y)d(the)h(absolute)g(master,)e(instead)i(of)f(calling)f(the)i +(t)o(ypical)f Fj(\013\014)i Fk(implemen)o(taiton.)i(It)d(allo)o(ws)e(a) +h(master)g(pro)q(cess)104 392 y(to)i(do)g(m)o(ultiple)e(passes)k(of)e +(the)h(tree)g(un)o(til)f(the)h(searc)o(h)g(is)g(completed,)f(or)g(the)h +(alarm)d(has)j(b)q(een)g(signalled)f(via)104 433 y Fb(aphid)p +217 433 V 14 w(stub)p 319 433 V 15 w(stopsearch)p Fk(.)f(If)e(the)g +(searc)o(h)i(is)d(allo)o(w)o(ed)g(to)h(complete,)f(this)h(routine)g +(returns)h(the)g(minim)o(ax)c(v)n(alue)104 475 y(of)i(the)i(tree)g +(that)f(it)f(has)h(b)q(een)h(ask)o(ed)f(to)g(searc)o(h.)62 +549 y Fh(\017)21 b Fb(int)g(aphid)p 304 549 V 15 w(intnode)p +473 549 V 14 w(premove\(int)e(depth,)i(char)g(*moveptr\))p +Fk(:)15 b(Called)d(b)o(y)h(the)g(absolute)g(master,)e(this)i(rou-)104 +591 y(tine)h(stores)h(mo)o(v)o(es)e(made)f(b)q(efore)j(a)f(call)f(to)g +Fb(aphid)p 938 591 V 15 w(rootsearch)f Fk(in)h(the)i(mo)o(v)o(e)d +(list.)62 665 y Fh(\017)21 b Fb(void)g(aphid)p 326 665 +V 14 w(endsearch\(\))p Fk(:)15 b(The)e(absolute)f(master)g(should)g +(call)f(this)i(routine)f(when)h(it)f(is)g(\014nished)h(searc)o(hing)f +(a)104 707 y(tree)i(that)e(has)h(b)q(een)h(called)e(;)h(it)f(stops)h +(the)g(sla)o(v)o(es)g(from)e(w)o(orking)g(on)i(the)g(lea)o(v)o(es)g(of) +f(the)h(game)e(tree)j(and)e(prepares)104 748 y(the)i(sla)o(v)o(es)g(to) +g(receiv)o(e)h(a)f(new)g(ro)q(ot)g(p)q(osition.)62 823 +y Fh(\017)21 b Fb(void)g(aphid)p 326 823 V 14 w(horizon\(int)f(depth\)) +p Fk(:)f(A)14 b(master)h(pro)q(cess)h(calls)f(this)g(routine)g(to)f +(determine)h(if)f(it)h(has)g(reac)o(hed)104 864 y(its)f(arti\014cial)f +(horizon.)62 939 y Fh(\017)21 b Fb(void)g(aphid)p 326 +939 V 14 w(eval)p 428 939 V 15 w(leaf\(int)f(alpha,)h(int)g(beta,)g +(int)g(depth,)g(char)g(*p)p 1403 939 V 15 w(hash,)g(char)g(*p)p +1702 939 V 15 w(key\))p Fk(:)104 980 y(This)10 b(routine)h(determines)g +(a)f(score)i(v)n(alue)d(for)h(the)i(leaf,)e(based)h(on)f(the)h(b)q(est) +h(information)7 b(a)o(v)n(ailable)h(to)j(the)g(master.)104 +1022 y Fb(p)p 129 1022 V 15 w(hash)i Fk(and)h Fb(p)p +348 1022 V 15 w(key)g Fk(are)g(required)h(to)f(determine)f(if)g(this)h +(no)q(de)h(has)f(b)q(een)h(previously)e(visited.)62 1096 +y Fh(\017)21 b Fb(void)g(aphid)p 326 1096 V 14 w(intnode)p +494 1096 V 15 w(start\(int)f(depth,)g(char)h(*p)p 1032 +1096 V 15 w(hash,)g(char)g(*p)p 1331 1096 V 15 w(key\))p +Fk(:)16 b(Called)11 b(b)o(y)g(a)h(master)f(pro)q(cess,)104 +1138 y(this)j(routine)g(initializes)e(b)q(ound)i(gathering)g +(information)d(for)i(an)h(in)o(terior)f(no)q(de)h(within)f(the)i(game)d +(tree.)19 b Fb(p)p 1850 1138 V 16 w(hash)104 1179 y Fk(and)13 +b Fb(p)p 209 1179 V 16 w(key)g Fk(are)h(required)h(to)f(determine)g(if) +f(this)h(no)q(de)g(has)g(b)q(een)h(previously)f(visited.)62 +1254 y Fh(\017)21 b Fb(void)g(aphid)p 326 1254 V 14 w(intnode)p +494 1254 V 15 w(move\(int)f(depth,)g(char)h(*moveptr\))p +Fk(:)k(Called)18 b(b)o(y)g(a)g(master)g(pro)q(cess,)i(this)f(routine) +104 1295 y(inserts)c(the)f(mo)o(v)o(e)e(p)q(oin)o(ted)i(to)f(b)o(y)h +Fb(moveptr)e Fk(in)o(to)h(a)h(hidden)g(mo)o(v)o(e)e(list)h(that)h(will) +e(ev)o(en)o(tually)h(b)q(e)i(sen)o(t)f(to)g(a)f(sla)o(v)o(e)104 +1337 y(in)g Fb(aphid)p 265 1337 V 15 w(eval)p 368 1337 +V 15 w(leaf)p Fk(.)62 1411 y Fh(\017)21 b Fb(void)g(aphid)p +326 1411 V 14 w(intnode)p 494 1411 V 15 w(update\(int)e(depth,)i(int)g +(value\))p Fk(:)27 b(Called)19 b(b)o(y)f(the)i(master)f(pro)q(cess,)j +(this)d(routine)104 1453 y(tak)o(es)d(the)g(v)n(alue)f(returned)j(b)o +(y)d(the)i(c)o(hild)e Fj(\013\014)j Fk(call)d(and)h(uses)h(it)e(to)h +(up)q(date)g(the)h(hidden)e(\\b)q(ound")h(information)104 +1494 y(gathered)f(for)e(ev)o(ery)i(no)q(de)f(in)f(the)i(master's)e +(tree.)62 1569 y Fh(\017)21 b Fb(void)g(aphid)p 326 1569 +V 14 w(intnode)p 494 1569 V 15 w(fixbound\(int)e(depth\))p +Fk(:)f(In)d(the)g(case)h(of)e(a)g(cut-o\013,)h(this)g(routine)g(will)e +(\014x)h(the)i(hidden)104 1610 y(b)q(ound)e(information)d(when)j(not)g +(all)f(mo)o(v)o(es)f(ha)o(v)o(e)i(b)q(een)h(fully)d(explored.)62 +1685 y Fh(\017)21 b Fb(void)g(aphid)p 326 1685 V 14 w(intnode)p +494 1685 V 15 w(end\(int)f(depth,)h(int)g(*score\))p +Fk(;)12 b(This)j(routine)f(is)g(called)g(b)o(y)h(a)f(master)f(for)h(ev) +o(ery)i(in-)104 1726 y(ternal)d(no)q(de)g(within)f(the)i(tree,)g(and)e +(ensures)j(that)e(the)g(score)i(returned)f(is)f(consisten)o(t)h(with)e +(previously)h(gathered)104 1768 y(information)e(ab)q(out)j(the)g(no)q +(de.)0 1884 y Fv(A.7)56 b(In)n(terface)18 b(Calls)h(Used)f(b)n(y)h(Sla) +n(v)n(es)g(Only)62 1952 y Fh(\017)i Fb(int)g(aphid)p +304 1952 V 15 w(checkalarm\(\))p Fk(:)e(This)d(routine)h(c)o(hec)o(ks)g +(to)f(see)h(if)f(a)f(searc)o(h)j(should)e(b)q(e)g(terminated.)24 +b(If)16 b(the)h(v)n(alue)104 1994 y(returned)f(is)e(equal)f(to)h(0,)g +(the)h(searc)o(h)g(should)f(con)o(tin)o(ue.)19 b(If)13 +b(the)i(v)n(alue)f(returned)h(is)f(not)h(equal)e(to)h(0,)g(the)g +(curren)o(t)104 2035 y(searc)o(h)h(has)f(b)q(een)h(in)o(terrupted,)g +(and)e(w)o(e)h(should)g(terminate)f(it)h(in)f(a)h(\\nice")g(w)o(a)o(y)m +(.)0 2151 y Fv(A.8)56 b(The)18 b(\\aphid.con\014g")h(File)e +(Description)62 2220 y Fh(\017)k Fk(The)15 b(\014rst)g(line)f(con)o +(tains)h(t)o(w)o(o)f(in)o(tegers:)21 b(The)15 b(n)o(um)o(b)q(er)f(of)g +(lev)o(els)g(in)g(the)i(pro)q(cess)g(hierarc)o(h)o(y)m(,)e(and)h(the)g +(minim)n(um)104 2261 y(depth)f(of)g(w)o(ork)f(that)h(can)g(b)q(e)h +(handed)f(out)g(to)g(a)f(sla)o(v)o(e.)62 2336 y Fh(\017)21 +b Fk(The)d(next)g(lines)g(eac)o(h)g(con)o(tain)g(one)g(in)o(teger,)g +(eac)o(h)g(in)o(teger)h(represen)o(ting)g(the)f(v)n(alue)g(of)f +Fj(d)1607 2321 y Fa(0)1636 2336 y Fk(for)g(a)h(lev)o(el)f(in)g(the)104 +2377 y(pro)q(cess)e(hierarc)o(h)o(y)m(.)62 2452 y Fh(\017)21 +b Fk(The)14 b(last)g(lines)g(indicate)h(what)f(mac)o(hines)f(the)i(pro) +q(cesses)i(should)c(b)q(e)i(spa)o(wned)g(on,)f(and)g(what)g(executable) +h(is)f(to)104 2493 y(b)q(e)j(run,)g(one)g(line)f(p)q(er)i(pro)q(cess)g +(to)f(b)q(e)g(spa)o(wned.)27 b(By)17 b(default,)f(APHID)h(will)e(spa)o +(wn)i(an)f(executable)i(with)e(the)104 2535 y(same)d(program)f(name)h +(as)h(the)h(original)d(program)g(unless)j(a)f Fb(#)f +Fk(c)o(haracter)j(app)q(ears)e(on)g(the)h(line,)e(whic)o(h)h(indicates) +104 2576 y(a)h(separation)h(b)q(et)o(w)o(een)h(the)f(mac)o(hine)e(name) +g(and)i(the)g(program)e(name.)22 b(The)16 b(absolute)f(master)g(pro)q +(cess)j(is)d(not)104 2618 y(listed)c(in)f(this)h(hierarc)o(h)o(y)m(.)17 +b(A)10 b(pro)q(cess)j(hierarc)o(h)o(y)e(can)g(b)q(e)g(sp)q(eci\014ed)i +(using)d(tabs)h(to)g(mo)o(v)o(e)e(the)i(start)h(of)e(the)h(mac)o(hine) +104 2659 y(name)h(o)o(v)o(er)i(in)g(the)g(\014le.)954 +2790 y(22)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF -- cgit v1.3