%!PS-Adobe-1.0 %%Creator: emory:vss (V.S.Sunderam,216 Fishburne,7275926,2974135) %%Title: stdin (ditroff) %%CreationDate: Tue Mar 19 21:26:23 1991 %%EndComments % Start of psdit.pro -- prolog for ditroff translator % Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved. % GOVERNMENT END USERS: See Notice file in TranScript library directory % -- probably /usr/lib/ps/Notice % RCS: $Header: psdit.pro,v 2.2 87/11/17 16:40:42 byron Rel $ /$DITroff 140 dict def $DITroff begin %% Psfig additions /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def % scaling for x /sy y ury lly sub div def % scaling for y sx sy scale % scale by (sx,sy) cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def } def % Args are llx lly urx ury (in figure coordinates) /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto } def % doclip, if called, will always be just after a `startfig' /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore } def /globalstart { % Push details about the enviornment on the stack. fontnum fontsize fontslant fontheight firstpage mh my resolution slotno currentpoint pagesave restore gsave } def /globalend { grestore moveto /slotno exch def /resolution exch def /my exch def /mh exch def /firstpage exch def /fontheight exch def /fontslant exch def /fontsize exch def /fontnum exch def F /pagesave save def } def %% end XMOD additions /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def /xi {0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F /pagesave save def}def /PB{save /psv exch def currentpoint translate resolution 72 div dup neg scale 0 0 moveto}def /PE{psv restore}def /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def /tan{dup sin exch cos div}bind def /point{resolution 72 div mul}bind def /dround {transform round exch round exch itransform}bind def /xT{/devname exch def}def /xr{/mh exch def /my exch def /resolution exch def}def /xp{}def /xs{docsave restore end}def /xt{}def /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not {fonts slotno fontname findfont put fontnames slotno fontname put}if}def /xH{/fontheight exch def F}bind def /xS{/fontslant exch def F}bind def /s{/fontsize exch def /fontheight fontsize def F}bind def /f{/fontnum exch def F}bind def /F{fontheight 0 le {/fontheight fontsize def}if fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}bind def /X{exch currentpoint exch pop moveto show}bind def /N{3 1 roll moveto show}bind def /Y{exch currentpoint pop exch moveto show}bind def /S /show load def /ditpush{}def/ditpop{}def /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}bind def /AN{4 2 roll moveto 0 exch ashow}bind def /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}bind def /AS{0 exch ashow}bind def /MX{currentpoint exch pop moveto}bind def /MY{currentpoint pop exch moveto}bind def /MXY /moveto load def /cb{pop}def % action on unknown char -- nothing for now /n{}def/w{}def /p{pop showpage pagesave restore /pagesave save def}def /abspoint{currentpoint exch pop add exch currentpoint pop add exch}def /dstroke{currentpoint stroke moveto}bind def /Dl{2 copy gsave rlineto stroke grestore rmoveto}bind def /arcellipse{oldmat currentmatrix pop currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def rad 0 rad -180 180 arc oldmat setmatrix}def /Dc{gsave dup /diamv exch def /diamh exch def arcellipse dstroke grestore diamh 0 rmoveto}def /De{gsave /diamv exch def /diamh exch def arcellipse dstroke grestore diamh 0 rmoveto}def /Da{currentpoint /by exch def /bx exch def /fy exch def /fx exch def /cy exch def /cx exch def /rad cx cx mul cy cy mul add sqrt def /ang1 cy neg cx neg atan def /ang2 fy fx atan def cx bx add cy by add 2 copy rad ang1 ang2 arcn stroke exch fx add exch fy add moveto}def /Barray 200 array def % 200 values in a wiggle /D~{mark}def /D~~{counttomark Barray exch 0 exch getinterval astore /Bcontrol exch def pop /Blen Bcontrol length def Blen 4 ge Blen 2 mod 0 eq and {Bcontrol 0 get Bcontrol 1 get abspoint /Ycont exch def /Xcont exch def Bcontrol 0 2 copy get 2 mul put Bcontrol 1 2 copy get 2 mul put Bcontrol Blen 2 sub 2 copy get 2 mul put Bcontrol Blen 1 sub 2 copy get 2 mul put /Ybi /Xbi currentpoint 3 1 roll def def 0 2 Blen 4 sub {/i exch def Bcontrol i get 3 div Bcontrol i 1 add get 3 div Bcontrol i get 3 mul Bcontrol i 2 add get add 6 div Bcontrol i 1 add get 3 mul Bcontrol i 3 add get add 6 div /Xbi Xcont Bcontrol i 2 add get 2 div add def /Ybi Ycont Bcontrol i 3 add get 2 div add def /Xcont Xcont Bcontrol i 2 add get add def /Ycont Ycont Bcontrol i 3 add get add def Xbi currentpoint pop sub Ybi currentpoint exch pop sub rcurveto }for dstroke}if}def end /ditstart{$DITroff begin /nfonts 60 def % NFONTS makedev/ditroff dependent! /fonts[nfonts{0}repeat]def /fontnames[nfonts{()}repeat]def /docsave save def }def % character outcalls /oc {/pswid exch def /cc exch def /name exch def /ditwid pswid fontsize mul resolution mul 72000 div def /ditsiz fontsize resolution mul 72 div def ocprocs name known{ocprocs name get exec}{name cb} ifelse}def /fractm [.65 0 0 .6 0 0] def /fraction {/fden exch def /fnum exch def gsave /cf currentfont def cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto fnum show rmoveto currentfont cf setfont(\244)show setfont fden show grestore ditwid 0 rmoveto} def /oce {grestore ditwid 0 rmoveto}def /dm {ditsiz mul}def /ocprocs 50 dict def ocprocs begin (14){(1)(4)fraction}def (12){(1)(2)fraction}def (34){(3)(4)fraction}def (13){(1)(3)fraction}def (23){(2)(3)fraction}def (18){(1)(8)fraction}def (38){(3)(8)fraction}def (58){(5)(8)fraction}def (78){(7)(8)fraction}def (sr){gsave .05 dm .16 dm rmoveto(\326)show oce}def (is){gsave 0 .15 dm rmoveto(\362)show oce}def (->){gsave 0 .02 dm rmoveto(\256)show oce}def (<-){gsave 0 .02 dm rmoveto(\254)show oce}def (==){gsave 0 .05 dm rmoveto(\272)show oce}def end % DIThacks fonts for some special chars 50 dict dup begin /FontType 3 def /FontName /DIThacks def /FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def /FontBBox [-220 -280 900 900] def% a lie but ... /Encoding 256 array def 0 1 255{Encoding exch /.notdef put}for Encoding dup 8#040/space put %space dup 8#110/rc put %right ceil dup 8#111/lt put %left top curl dup 8#112/bv put %bold vert dup 8#113/lk put %left mid curl dup 8#114/lb put %left bot curl dup 8#115/rt put %right top curl dup 8#116/rk put %right mid curl dup 8#117/rb put %right bot curl dup 8#120/rf put %right floor dup 8#121/lf put %left floor dup 8#122/lc put %left ceil dup 8#140/sq put %square dup 8#141/bx put %box dup 8#142/ci put %circle dup 8#143/br put %box rule dup 8#144/rn put %root extender dup 8#145/vr put %vertical rule dup 8#146/ob put %outline bullet dup 8#147/bu put %bullet dup 8#150/ru put %rule dup 8#151/ul put %underline pop /DITfd 100 dict def /BuildChar{0 begin /cc exch def /fd exch def /charname fd /Encoding get cc get def /charwid fd /Metrics get charname get def /charproc fd /CharProcs get charname get def charwid 0 fd /FontBBox get aload pop setcachedevice 40 setlinewidth newpath 0 0 moveto gsave charproc grestore end}def /BuildChar load 0 DITfd put %/UniqueID 5 def /CharProcs 50 dict def CharProcs begin /space{}def /.notdef{}def /ru{500 0 rls}def /rn{0 750 moveto 500 0 rls}def /vr{20 800 moveto 0 -770 rls}def /bv{20 800 moveto 0 -1000 rls}def /br{20 770 moveto 0 -1040 rls}def /ul{0 -250 moveto 500 0 rls}def /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def /sq{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def /bx{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def /ci{355 333 rmoveto currentpoint newpath 333 0 360 arc 50 setlinewidth stroke}def /lt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def /lb{20 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def /rt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def /rb{20 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def /lk{20 800 moveto 20 300 -280 300 s4 arcto pop pop 1000 sub currentpoint stroke moveto 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def /rk{20 800 moveto 20 300 320 300 s4 arcto pop pop 1000 sub currentpoint stroke moveto 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def /lf{20 800 moveto 0 -1000 rlineto s4 0 rls}def /rf{20 800 moveto 0 -1000 rlineto s4 neg 0 rls}def /lc{20 -200 moveto 0 1000 rlineto s4 0 rls}def /rc{20 -200 moveto 0 1000 rlineto s4 neg 0 rls}def end /Metrics 50 dict def Metrics begin /.notdef 0 def /space 500 def /ru 500 def /br 0 def /lt 250 def /lb 250 def /rt 250 def /rb 250 def /lk 250 def /rk 250 def /rc 250 def /lc 250 def /rf 250 def /lf 250 def /bv 250 def /ob 350 def /bu 350 def /ci 750 def /bx 750 def /sq 750 def /rn 500 def /ul 500 def /vr 0 def end DITfd begin /s2 500 def /s4 250 def /s3 333 def /a4p{arcto pop pop pop pop}def /2cx{2 copy exch}def /rls{rlineto stroke}def /currx{currentpoint pop}def /dround{transform round exch round exch itransform} def end end /DIThacks exch definefont pop ditstart (psc)xT 576 1 1 xr 1(Times-Roman)xf 1 f 2(Times-Italic)xf 2 f 3(Times-Bold)xf 3 f 4(Times-BoldItalic)xf 4 f 5(Helvetica)xf 5 f 6(Helvetica-Bold)xf 6 f 7(Courier)xf 7 f 8(Courier-Bold)xf 8 f 9(Symbol)xf 9 f 10(DIThacks)xf 10 f 10 s 1 f xi %%EndProlog %%Page: 1 1 10 s 10 xH 0 xS 1 f 12 s 3 f 1057 672(Network)N 1438(Based)X 1707(Concurrent)X 2211(Computing)X 2698(on)X 2823(the)X 2975(PVM)X 3218(System)X 1 f 10 s 3511(*)X 2 f 12 s 2090 864(G.)N 2207(A.)X 2314(Geist)X 1 f 1701 1056 0.2784(Mathematical)AN 2256(Sciences)X 2617(Section)X 1390 1152(Engineering)N 1885(Physics)X 2202(and)X 2365(Mathematics)X 2887(Division)X 1693 1248(Oak)N 1877(Ridge)X 2131(National)X 2487(Laboratory)X 1877 1344(Oak)N 2061(Ridge,)X 2339(TN)X 2491(37831)X 8 f 1666 1488 0.3929(geist@msr.epm.ornl.gov)AN 2 f 2008 1776(V.)N 2115(S.)X 2211(Sunderam)X 1 f 1495 1968(Department)N 1974(of)X 2078(Math)X 2305(&)X 2404(Computer)X 2813(Science)X 1958 2064(Emory)N 2244(University)X 1937 2160(Atlanta,)N 2269(GA)X 2431(30322)X 8 f 1724 2304 0.3947(vss@mathcs.emory.edu)AN 2 f 2141 2620(Abstract)N 1 f 776 2856(Concurrent)N 1240(computing)X 1684(environments)X 2240(based)X 2491(on)X 2619(loosely)X 2929(coupled)X 3266(networks)X 3650(have)X 776 2968(proven)N 1103(effective)X 1501(as)X 1641(resources)X 2064(for)X 2235(multiprocessing.)X 2933(Experiences)X 3463(with)X 3693(and)X 776 3080(enhancements)N 1358(to)X 3 f 9 s 1464(PVM)X 1 f 12 s 1665(\(Parallel)X 2029(Virtual)X 2339(Machine\))X 2745(are)X 2900(described)X 3306(in)X 3418(this)X 3594(paper.)X 3 f 9 s 776 3192(PVM)N 1 f 12 s 978(is)X 1080(a)X 1161(software)X 1530(system)X 1835(that)X 2018(allows)X 2307(the)X 2463(utilization)X 2892(of)X 3009(a)X 3089(heterogeneous)X 3682(net-)X 776 3304(work)N 999(of)X 1105(parallel)X 1421(and)X 1586(serial)X 1821(computers)X 2248(as)X 2354(a)X 2424(single)X 2681(computational)X 3260(resource.)X 3661(This)X 776 3416(report)N 1034(also)X 1217(describes)X 1603(an)X 1722(interactive)X 2158(graphical)X 2545(interface)X 2911(to)X 3 f 9 s 3007(PVM)X 1 f 12 s 3171(,)X 3222(and)X 3388(porting)X 3693(and)X 776 3528(performance)N 1287(results)X 1562(from)X 1773(production)X 2214(applications.)X 3 f 576 3872(1.)N 696(Introduction)X 1 f 776 4044(Concurrent)N 1251(computing)X 1705(environments)X 2271(based)X 2532(on)X 2670(networks)X 3064(of)X 3186(computers)X 3630(can)X 3807(be)X 3941(an)X 576 4188(effective,)N 972(viable,)X 1266(and)X 1439(economically)X 1993(attractive)X 2387(complement)X 2898(to)X 3007(hardware)X 3399(multiprocessors.)X 576 4332(A)N 671(case)X 863(in)X 964(point)X 1188(is)X 1278(the)X 1422(number)X 1742(\256eld)X 1939(sieve)X 2163(project)X 2458(of)X 2565(Lenstra)X 2881(and)X 3047(Manasse)X 3410([1],)X 3573(whose)X 3845(most)X 576 4476(recent)N 855(milestone)X 1273(is)X 1380(the)X 1541(factoring)X 1932(of)X 2054(the)X 2214(ninth)X 2454(Fermat)X 2769(number)X 3105(\(148)X 3323(digits\))X 3611(using)X 3861(over)X 576 4620(1,000)N 821(computers)X 1251(worldwide.)X 1715(Although)X 2107(such)X 2312(large)X 2534(scale)X 2756(use)X 2914(of)X 3024(network-based)X 3620(concurrent)X 576 4764(computing)N 1016(may)X 1210(be)X 1329(rare,)X 1531(there)X 1752(exist)X 1962(many)X 2204(examples)X 2596(of)X 2704(this)X 2871(mode)X 3113(of)X 3221(multicomputing)X 3865(on)X 3989(a)X 576 4908(smaller)N 888(scale.)X 1133(In)X 1241(all)X 1366(these)X 1592(cases,)X 1847(a)X 1918(collection)X 2327(of)X 2 f 2436(general)X 2759(purpose)X 1 f 3097(computer)X 3490(systems)X 3823(inter-)X 576 5052(connected)N 1012(by)X 2 f 1153(existing)X 1 f 1498(networks)X 1895(and)X 2079(support)X 2412(services)X 2767(have)X 2994(been)X 3221(successfully)X 3736(used)X 3957(to)X 576 5196(achieve)N 895(parallelism)X 1348(in)X 1447(applications.)X 10 s 10 f 576 5292(h)N 592(hhhhhhhhhhhhhh)X 8 s 1 f 656 5484(*)N 720(Research)X 974(performed)X 1261(at)X 1329(the)X 1429(Mathematical)X 1802(Sciences)X 2047(Section)X 2261(of)X 2336(Oak)X 2464(Ridge)X 2639(National)X 2881(Laboratory)X 3186(under)X 3353(the)X 3453(auspices)X 3691(of)X 576 5580(the)N 691(Faculty)X 920(Research)X 1190(Participation)X 1554(Program)X 1811(of)X 1900(Oak)X 2042(Ridge)X 2231(Associated)X 2547(Universities,)X 2908(and)X 3036(supported)X 3324(by)X 3424(the)X 3538(Applied)X 576 5676(Mathematical)N 952(Sciences)X 1201(subprogram)X 1532(of)X 1611(the)X 1715(Of\256ce)X 1900(of)X 1979(Energy)X 2189(Research,)X 2464(U.S.)X 2604(Department)X 2931(of)X 3010(Energy,)X 3236(under)X 3407(contract)X 3638(DE-)X 576 5772(AC05-84OR21400)N 1079(with)X 1209(Martin)X 1399(Marietta)X 1631(Energy)X 1831(Systems,)X 2077(Inc.)X 2 p %%Page: 2 2 8 s 8 xH 0 xS 1 f 12 s 2224 432(-)N 2280(2)X 2352(-)X 776 720(Some)N 1029(of)X 1143(these)X 1375(network-based)X 1975(concurrent)X 2421(computing)X 2867(environments)X 3426(are)X 3579(specialized,)X 576 864(in)N 685(that)X 864(they)X 1064(are)X 1216(either)X 1470(based)X 1723(upon)X 2 f 1949(distributed)X 2400(operating)X 2808(systems)X 1 f 3135(\(e.g.)X 3340(Locus)X 3609([2],)X 3779(the)X 3931(V-)X 576 1008(kernel)N 843([3]\),)X 1037(or)X 1143(they)X 1335(support)X 1649(special-purpose)X 2279(programming)X 2829(paradigms)X 3256(\(e.g.)X 3453(Linda)X 3704([21],)X 3914(the)X 576 1152(Camelot)N 935(transaction)X 1390(processing)X 1833(facility)X 2139([17]\).)X 2411(While)X 2679(these)X 2909(systems)X 3244(are)X 3393(highly)X 3670(effective,)X 576 1296(they)N 780(impose)X 1096(many)X 1348(constraints)X 1803(and)X 1980(requirements)X 2521(on)X 2655(application)X 3122(end-users)X 3528(and)X 3706(resource)X 576 1440(administrators)N 1162(that)X 1342(are)X 1495(often)X 1728(dif\256cult)X 2068(to)X 2178(meet.)X 2425(We)X 2594(are)X 2747(concerned)X 3178(in)X 3288(this)X 3461(paper)X 3709(with)X 3914(the)X 576 1584(other)N 802(class)X 1017(of)X 1125(distributed)X 1565(computing)X 2005(environments)X 2558(\320)X 2683(those)X 2915(that)X 3089(provide)X 3412(general-purpose)X 576 1728(programming)N 1131(environments)X 1686(and)X 1856(require)X 2160(underlying)X 2608(support)X 2927(from)X 3144(the)X 3292(machines)X 3686(and)X 3855(their)X 576 1872(operating)N 970(systems)X 1304(at)X 1404(levels)X 1659(that)X 1834(are)X 1982(normally)X 2360(considered)X 2807(``standard''.)X 3316(As)X 3453(examples,)X 3872(pro-)X 576 2016(gramming)N 1006(paradigms)X 1441(based)X 1694(on)X 1824(the)X 1976(imperative)X 2423(model)X 2697(with)X 2901(procedure-call)X 3491(access)X 3770(to)X 3878(sys-)X 576 2160(tem)N 747(facilities,)X 1130(operating)X 1520(system)X 1813(support)X 2127(for)X 2265(limited)X 2565(inter-process)X 3089(communication)X 3716(within)X 3989(a)X 576 2304(machine,)N 964(and)X 1140(network)X 1492(services)X 1839(that)X 2021(provide)X 2352(unreliable)X 2775(data)X 2973(delivery)X 3326(are)X 3480(characteristics)X 576 2448(that)N 757(such)X 969(a)X 1048(distributed)X 1496(computing)X 1944(system)X 2247(would)X 2523(assume.)X 2867(Several)X 3193(systems)X 3534(that)X 3716(fall)X 3882(into)X 576 2592(this)N 740(category)X 1097(have)X 1304(been)X 1511(described)X 1905(in)X 2005(the)X 2148(literature;)X 2549(representative)X 3115(examples)X 3503(may)X 3693(be)X 3808(found)X 576 2736(in)N 675([4,5].)X 776 2908(In)N 889(addition)X 1239(to)X 1348(utilizing)X 1704(available)X 2087(computing)X 2533(resources,)X 2954(network-based)X 3554(general)X 3872(pur-)X 576 3052(pose)N 782(computing)X 1224(environments)X 1778(offer)X 1995(several)X 2298(other)X 2526(bene\256ts.)X 2903(One)X 3092(of)X 3201(the)X 3348(most)X 3564(important)X 3968(is)X 576 3196(the)N 719(potential)X 1082(for)X 1219(partitioning)X 1694(a)X 1762(computing)X 2199(task)X 2379(along)X 2618(lines)X 2825(of)X 2931(service)X 3230(functions.)X 3638(Typically,)X 576 3340(networked)N 1015(computing)X 1460(environments)X 2017(possess)X 2337(a)X 2413(variety)X 2714(of)X 2827(capabilities;)X 3327(the)X 3478(ability)X 3758(to)X 3866(exe-)X 576 3484(cute)N 764(subtasks)X 1116(of)X 1223(a)X 1293(computation)X 1802(on)X 1925(the)X 2071(processor)X 2467(most)X 2682(suited)X 2940(to)X 3043(a)X 3114(particular)X 3512(function)X 3861(both)X 576 3628(enhances)N 955(performance)X 1468(and)X 1633(improves)X 2017(utilization.)X 2483(The)X 2659(Plan)X 2856(9)X 2930(distributed)X 3367(system)X 3659(from)X 3871(Bell)X 576 3772(Labs)N 796([6])X 941(is)X 1038(based)X 2 f 1290(entirely)X 1 f 1618(on)X 1747(this)X 1919(model,)X 2218(and)X 2391(initial)X 2651(results)X 2936(are)X 3088(very)X 3293(promising.)X 3741(But)X 3914(the)X 576 3916 0.2548(implementation)AN 1217(of)X 1331(Plan)X 1536(9)X 1618(appears)X 1946(to)X 2055(suffer)X 2313(from)X 2534(lack)X 2729(of)X 2843(\257exibility)X 3252(and)X 3425(special)X 3727(require-)X 576 4060(ments)N 833(in)X 935(terms)X 1176(of)X 1283(network)X 1626(characteristics)X 2206(and)X 2373(processing/storage)X 3117(elements.)X 3512(These)X 3770(factors)X 576 4204(imply)N 831(that)X 1006(widespread)X 1474(use)X 1632(of)X 1742(Plan)X 1943(9)X 2020(will)X 2199(be)X 2319(possible)X 2663(only)X 2863(with)X 3063(a)X 3135(long-term)X 3544(and)X 3712(substan-)X 576 4348(tial)N 739(commitment)X 1266(to)X 1380(the)X 1537(model)X 1817(and)X 1995(environment)X 2521(on)X 2656(the)X 2813(part)X 3003(of)X 3123(potential)X 3501(users,)X 3762(in)X 3877(turn)X 576 4492(implying)N 948(that)X 1117(ubiquitous)X 1547(use)X 1699(is)X 1787(unlikely)X 2127(in)X 2226(the)X 2368(near)X 2558(future.)X 776 4664(Another)N 1119(advantage)X 1538(in)X 1641(network-based)X 2235(concurrent)X 2675(computing)X 3115(is)X 3207(the)X 3354(ready)X 3597(availability)X 576 4808(of)N 688(development)X 1218(and)X 1389(debugging)X 1827(tools,)X 2070(and)X 2241(the)X 2391(potential)X 2761(fault)X 2970(tolerance)X 3356(of)X 3467(the)X 3616(network\(s\))X 576 4952(and)N 757(the)X 917(processing)X 1370(elements.)X 1779(Typically,)X 2215(systems)X 2561(that)X 2748(operate)X 3074(on)X 3213(loosely)X 3534(coupled)X 3882(net-)X 576 5096(works)N 848(permit)X 1138(the)X 1294(direct)X 1552(use)X 1718(of)X 1836(editors,)X 2160(compilers,)X 2602(and)X 2779(debuggers)X 3212(that)X 3395(are)X 3550(available)X 3936(on)X 576 5240(individual)N 1000(machines.)X 1421(These)X 1684(individual)X 2108(machines)X 2505(are)X 2657(quite)X 2884(stable,)X 3167(and)X 3340(substantial)X 3786(exper-)X 576 5384(tise)N 752(in)X 869(their)X 1088(use)X 1258(is)X 1364(readily)X 1674(available.)X 2089(To)X 2238(the)X 2398(user,)X 2624(these)X 2864(factors)X 3168(translate)X 3536(into)X 3727(reduced)X 576 5528(development)N 1125(and)X 1315(debugging)X 1772(time)X 1996(and)X 2187(effort,)X 2477(in)X 2604(addition)X 2972(to)X 3099(lowered)X 3461(contention)X 3920(for)X 576 5672(resources)N 977(and)X 1154(possibly)X 1512(more)X 1748(effective)X 2124(implementations)X 2805(of)X 2922(the)X 3077(application.)X 3567(Yet)X 3743(another)X 576 5816(attractive)N 965(feature)X 1262(of)X 1371(loosely)X 1679(coupled)X 2014(computing)X 2456(environments)X 3010(is)X 3104(the)X 3252(potential)X 3620(for)X 3762(user)X 3952(or)X 3 p %%Page: 3 3 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(3)X 2352(-)X 576 720(program)N 936(level)X 1158 0.2366(fault-tolerance)AX 1755(that)X 1934(can)X 2101(be)X 2225(implemented)X 2762(with)X 2966(little)X 3177(effort)X 3424(\320)X 3553(either)X 3806(in)X 3914(the)X 576 864(application)N 1038(or)X 1151(in)X 1259(the)X 1410(underlying)X 1860(operating)X 2258(system.)X 2583(Most)X 2814(multiprocessors)X 3457(do)X 3587(not)X 3744(support)X 576 1008(such)N 778(a)X 847(facility;)X 1174(hardware)X 1557(or)X 1662(software)X 2018(failures)X 2332(in)X 2432(one)X 2596(of)X 2701(the)X 2844(processing)X 3280(elements)X 3648(often)X 3871(lead)X 576 1152(to)N 675(a)X 742(complete)X 1120(crash.)X 776 1324(There)N 1031(are,)X 1203(however,)X 1588(many)X 1832(aspects)X 2140(relating)X 2465(to)X 2570(user)X 2760(interface,)X 3152(ef\256ciency,)X 3587(compatibil-)X 576 1468(ity,)N 732(and)X 901(administrative)X 1483(issues)X 1742(that)X 1917(play)X 2112(a)X 2184(signi\256cant)X 2614(role)X 2793(in)X 2897(the)X 3044(effectiveness)X 3576(of)X 3685(network-)X 576 1612(based)N 841(concurrent)X 1299(computing)X 1757(environments.)X 2375(In)X 2501(this)X 2686(paper,)X 2970(we)X 3128(analyze)X 3469(several)X 3788(of)X 3914(the)X 576 1756(design)N 860(features)X 1198(of)X 1311(the)X 3 f 9 s 1456(PVM)X 1 f 12 s 1652(\(Parallel)X 2011(Virtual)X 2316(Machine\))X 2717(system)X 3016(and)X 3187(report)X 3449(on)X 3577(experiences)X 576 1900(gained)N 859(with)X 1056(its)X 1173(use)X 1327(over)X 1524(time.)X 1746(An)X 1889(overview)X 2273(of)X 3 f 9 s 2373(PVM)X 1 f 12 s 2537(,)X 2587(followed)X 2955(by)X 3077(signi\256cant)X 3504(aspects)X 3808(of)X 3914(the)X 576 2044(user)N 783(interface)X 1167(and)X 1352 0.2548(implementation)AX 2004(strategies)X 2414(are)X 2578(presented)X 2993(in)X 3114(the)X 3278(following)X 3698(sections.)X 576 2188(Finally,)N 897(representative)X 1462(examples)X 1850(of)X 1954(porting)X 2256(and)X 2419(performance)X 2930(are)X 3072(described.)X 3 f 576 2476(2.)N 696(An)X 842(Overview)X 1262(of)X 1366(the)X 9 s 1512(PVM)X 12 s 1700(System)X 1 f 776 2648(The)N 3 f 9 s 946(PVM)X 1 f 12 s 1136(system)X 1429(is)X 1519(composed)X 1935(of)X 2041(a)X 2110(suite)X 2319(of)X 2426(user-interface)X 2983(primitives)X 3401(\(shown)X 3710(in)X 3812(Table)X 576 2792(2)N 649(in)X 749(the)X 891(Appendix\))X 1326(and)X 1489(supporting)X 1924(software)X 2279(that)X 2448(together)X 2788(enable)X 3064(concurrent)X 3500(computing)X 3936(on)X 576 2936(loosely)N 898(coupled)X 1247(networks)X 1643(of)X 1767(processing)X 2222(elements.)X 2633(Several)X 2966(design)X 3261(features)X 3610(distinguish)X 3 f 9 s 576 3080(PVM)N 1 f 12 s 768(from)X 983(other)X 1209(similar)X 1505(systems)X 1837(such)X 2041(as)X 2148(Cosmic)X 2469([7],)X 2632(Marionette)X 3082([4],)X 3245(ISIS)X 3442([22],)X 3653(and)X 3819(Dpup)X 576 3224([5].)N 746(Among)X 1069(these)X 1302(are)X 1455(the)X 1608(combination)X 2125(of)X 2240(heterogeneity,)X 2824(scalability,)X 3280(multilanguage)X 3867(sup-)X 576 3368(port,)N 791(provisions)X 1227(for)X 1375(fault)X 1588(tolerance,)X 2002(the)X 2156(use)X 2320(of)X 2436(multiprocessors)X 3081(and)X 3256(scalar)X 3517(machines,)X 3941(an)X 576 3512(interactive)N 1008(graphical)X 1391(front)X 1602(end,)X 1789(and)X 1952(support)X 2264(for)X 2400(pro\256ling,)X 2779(tracing,)X 3095(and)X 3258(visual)X 3512(analysis.)X 3 f 576 3800(2.1.)N 9 s 756(PVM)X 12 s 944(Architecture)X 9 s 776 3972(PVM)N 1 f 12 s 965(may)X 1156(be)X 1272(implemented)X 1802(on)X 1924(a)X 1993(hardware)X 2377(base)X 2574(consisting)X 2990(of)X 3096(different)X 3454(machine)X 3807(archi-)X 576 4116(tectures,)N 944(including)X 1352(single)X 1626(CPU)X 1856(systems,)X 2228(vector)X 2513(machines,)X 2944(and)X 3126(multiprocessors.)X 3802(These)X 576 4260(computing)N 1018(elements)X 1391(may)X 1587(be)X 1708(interconnected)X 2306(by)X 2432(one)X 2601(or)X 2711(more)X 2939(networks,)X 3345(which)X 3610(may)X 3807(them-)X 576 4404(selves)N 848(be)X 976(different)X 1344(\(e.g.)X 1551(one)X 1726 0.2548(implementation)AX 2368(of)X 3 f 9 s 2478(PVM)X 1 f 12 s 2678(operates)X 3035(on)X 3167(Ethernet,)X 3554(the)X 3708(Internet,)X 576 4548(and)N 743(a)X 814(\256ber)X 1018(optic)X 1239(network\).)X 1638(These)X 1896(computing)X 2337(elements)X 2709(are)X 2856(accessed)X 3222(by)X 3347(applications)X 3842(via)X 3989(a)X 576 4692(standard)N 930(interface)X 1296(that)X 1469(supports)X 1822(common)X 2186(concurrent)X 2625(processing)X 3063(paradigms)X 3491(in)X 3593(the)X 3738(form)X 3952(of)X 576 4836(well-de\256ned)N 1100(primitives)X 1534(that)X 1722(are)X 1883(embedded)X 2322(in)X 2440(procedural)X 2896(host)X 3100(languages.)X 3577(Application)X 576 4980(programs)N 974(are)X 1127(composed)X 1552(of)X 2 f 1667(components)X 1 f 2161(that)X 2341(are)X 2494(subtasks)X 2854(at)X 2958(a)X 3035(moderately)X 3503(large)X 3730(level)X 3952(of)X 576 5124(granularity.)N 1060(During)X 1369(execution,)X 1805(multiple)X 2 f 2164(instances)X 1 f 2559(of)X 2677(each)X 2892(component)X 3358(may)X 3562(be)X 3691(initiated.)X 576 5268(Figure)N 851(1)X 923(depicts)X 1220(a)X 1287(simpli\256ed)X 1696 0.2708(architectural)AX 2203(overview)X 2585(of)X 2689(the)X 3 f 9 s 2825(PVM)X 1 f 12 s 3013(system.)X 576 5440(Application)N 1061(programs)X 1455(view)X 1673(the)X 3 f 9 s 1816(PVM)X 1 f 12 s 2011(system)X 2309(as)X 2420(a)X 2494(general)X 2809(and)X 2979(\257exible)X 3299(parallel)X 3620(computing)X 576 5584(resource)N 931(that)X 1105(supports)X 1459(shared)X 1739(memory,)X 2113(message)X 2468(passing,)X 2808(and)X 2975(hybrid)X 3254(models)X 3560(of)X 3668(computa-)X 576 5728(tion.)N 787(This)X 995(resource)X 1358(may)X 1561(be)X 1689(accessed)X 2064(at)X 2172(three)X 2403(different)X 2773(levels:)X 3063(the)X 2 f 3219(transparent)X 1 f 3705(mode)X 3957(in)X 576 5872(which)N 847(component)X 1311(instances)X 1700(are)X 1854 0.2812(automatically)AX 2416(located)X 2730(at)X 2835(the)X 2988(most)X 3210(appropriate)X 3684(sites,)X 3914(the)X 4 p %%Page: 4 4 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(4)X 2352(-)X 10 s 576 720 MXY 3168 1526 0.00 0.00 396.00 190.80 startFig %! %%%Creator: vss@eclipse (V.S.Sunderam,216 Fishburne,7275926,2974135) %%%Title: f1 (xpic) %%%CreationDate: Thu Aug 23 10:25:42 1990 %%%Pages: 1 %%%BoundingBox: 0 0 396 190.8 %% (in inches) at 0 0, width 5.5, height 2.65 %%%EndComments %% Prolog for xpic to PostScript converter %% Author: Mark Moraes %% $Header: x2ps.pro,v 1.2 88/03/19 16:50:09 moraes Exp %% %d D - change style SOLID, DOTTED, SHORT-DASH, LONG-DASH, DOT-DASH %% %s F - change font to fontname %% %d S - change size (font size in points) %% (%s) rj %d t - text right just. (%d is TOPLINE, MIDLINE, BOTLINE) %% (%s) lj %d t - text left just. (%d is TOPLINE, MIDLINE, BOTLINE) %% (%s) ce %d t - text centered (%d is TOPLINE, MIDLINE, BOTLINE) %% %d %d l - lineto %% %d %d m - moveto %% %d %d s - spline segment %% x - flush line, spline %% b - box %% e - ellipse %% %d ss - setscale %% %d W - change linewidth %% getpagesize - gets the values of PAGEHEIGHT and PAGEWIDTH %% %d %d flip - translate by %d, PAGEHEIGHT - %d (this %% transforms to X windows coordinates) save 50 dict begin /xpic exch def /StartXpic {newpath 0 0 moveto [] 0 setdash 0 setgray 1 setlinecap} def %% Set defaults /fontname /Times-Roman def /ptsize 12 def %% halign has the values for MIDLINE, TOPLINE, BOTLINE /halign 3 array def /s {rcurveto} def /x {stroke} def /l {lineto} def /m {moveto} def /b { /ury exch def /urx exch def /lly exch def /llx exch def llx lly moveto urx lly lineto urx ury lineto llx ury lineto llx lly lineto stroke } def /mtrx matrix def /e { /yc exch def /xc exch def /yrad exch def /xrad exch def xc xrad add yc moveto /savematrix mtrx currentmatrix def xc yc translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix stroke } def %% The next three take the text string, and moveto the right horiz. position %% leaving the string on the stack. /lj {} def /rj {dup stringwidth pop neg 0 rmoveto} def /ce {dup stringwidth pop 2 div neg 0 rmoveto} def %% And this is invoked after one of the three above, and %% computes the vert. pos, and then displays the string. /t {halign exch get 0 exch rmoveto show newpath} def %% Store an array of patterns in /styles - a pattern is an array consisting %% of an array and an offset. Corresp to xpic patterns %% solid, dotted, short-dashed, long-dashed, dot-dashed /styles [ [] 0 ] [ [1 3] 0 ] [ [4 4] 0 ] [ [8 4] 0 ] [ [1 4 4 4] 0 ] 5 array astore def %% change style to arg. /D {stroke styles exch get aload pop setdash newpath} def /W {stroke 0.5 mul setlinewidth newpath} def %% fontbox takes a fontname off the stack, and returns an array %% containing the values of the bottom line of the bounding box, the %% mid line of the bounding box, and the top line of the bounding box %% of that font, taken from the baseline, scaled to a font of size 1 /fontbox { findfont dup /FontMatrix get /fm exch def /FontBBox get aload pop /ytop exch def pop /ybot exch def pop /ymid ytop ybot sub 2 div def 0 ybot fm dtransform exch pop % botline dup neg exch % midline - this works better than (ytop-ybot)/2! 0 ytop fm dtransform exch pop exch %topline % now in the order midline, topline, botline. 3 array astore } def %% select font /F { dup /fontname exch def fontbox /thisfontbox exch def SF } def %% set point size /S {/ptsize exch def SF} def %% actually set font /SF { fontname findfont ptsize curscale div scalefont setfont thisfontbox aload pop 1 1 3 { pop ptsize mul curscale div neg 3 1 roll } for halign astore pop } def %% sets the scale to 72 / n, where n is on the stack, and stores the value %% in curscale for font scaling /curscale 1 def /getpagesize{newpath clippath pathbbox /pageheight exch def /pagewidth exch def pop pop newpath} def /flip{pageheight exch sub translate} def /ss {/curscale exch 72 exch div dup dup scale def} def /land {90 rotate} def StartXpic %%%EndProlog 80 ss 0.5 W /Courier F 10 S 32 27 m (Sun) ce 0 t 2 D 0 59 160 19 b 96 27 m (Cube) ce 0 t 144 27 m (SMM) ce 0 t 264 27 m (Vax) ce 0 t 224 27 m (Sun) ce 0 t 424 3 m (Cray) ce 0 t 344 3 m (Butterfly) ce 0 t 144 187 m (Component instances) ce 0 t /Times-Italic F 240 3 m (LAN 2) ce 0 t 80 3 m (LAN 1) ce 0 t 360 171 m (Application 2) ce 0 t 144 203 m (Application 1) ce 0 t /Times-Bold F 12 S 224 107 m (PVM System) ce 0 t 0 D 8 8 392 147 e 8 8 368 147 e 8 8 336 147 e 8 8 304 147 e 256 51 272 35 b 216 51 240 35 b 136 51 152 35 b 64 51 120 35 b 16 51 48 35 b 1 D 280 163 416 131 b 2 D 200 59 280 19 b 0 D 0 99 m 0 0 4 4 12 12 s 8 8 18.6667 12 32 12 s 13.3333 0 22.6667 1.33333 28 4 s 5.33333 2.66667 37.3333 5.33333 96 8 s 58.6667 2.66667 97.3333 0 116 -8 s 18.6667 -8 48 -12 88 -12 s 40 0 61.3333 -5.33333 64 -16 s 2.66667 -10.6667 -20 -18.6667 -68 -24 s -48 -5.33333 -93.3333 -4 -136 4 s -42.6667 8 -86.6667 9.33333 -132 4 s -45.3333 -5.33333 -73.3333 -6.66667 -84 -4 s -10.6667 2.66667 -16 9.33333 -16 20 s x 1 D 40 195 232 155 b 0 D 8 8 208 171 e 8 8 184 171 e 8 8 160 171 e 8 8 136 171 e 8 8 112 171 e 8 8 88 171 e 8 8 64 171 e 64 163 m 64 123 l 0 D 68 132 m 64 123 l 61 132 l 0 D 64 123 m x 88 163 m 88 131 l 0 D 92 140 m 88 131 l 85 140 l 0 D 88 131 m x 112 163 m 112 131 l 0 D 116 140 m 112 131 l 109 140 l 0 D 112 131 m x 136 163 m 136 131 l 0 D 140 140 m 136 131 l 133 140 l 0 D 136 131 m x 160 163 m 160 131 l 0 D 164 140 m 160 131 l 157 140 l 0 D 160 131 m x 184 163 m 184 139 l 0 D 188 148 m 184 139 l 181 148 l 0 D 184 139 m x 208 163 m 208 139 l 0 D 212 148 m 208 139 l 205 148 l 0 D 208 139 m x 304 139 m 304 123 l 0 D 308 132 m 304 123 l 301 132 l 0 D 304 123 m x 336 139 m 336 115 l 0 D 340 124 m 336 115 l 333 124 l 0 D 336 115 m x 368 139 m 368 115 l 0 D 372 124 m 368 115 l 365 124 l 0 D 368 115 m x 392 139 m 392 115 l 0 D 396 124 m 392 115 l 389 124 l 0 D 392 115 m x 32 75 m 32 51 l x 96 51 m 96 83 l x 144 83 m 144 51 l x 224 75 m 224 51 l x 264 75 m 264 51 l x 320 35 376 19 b 408 51 432 19 b 376 75 m 360 59 l 368 59 l 344 35 l x 408 83 m 432 67 l 416 67 l 424 51 l x %%%Trailer showpage %% Trailer for xpic to PostScript converter %% $Header: x2ps.tra,v 1.1 88/08/31 23:48:01 moraes Exp $ xpic end restore endFig 12 s 1631 2534(Figure)N 1906(1:)X 3 f 9 s 2005(PVM)X 1 f 12 s 2193(Architectural)X 2726(Model)X 2 f 576 2822 0.1518(architecture-dependent)AN 1 f 1515(mode)X 1769(in)X 1884(which)X 2159(the)X 2317(user)X 2517(may)X 2723(indicate)X 3069(speci\256c)X 3403(architectures)X 3936(on)X 576 2966(which)N 837(particular)X 1232(components)X 1722(are)X 1865(to)X 1965(execute,)X 2309(and)X 2473(the)X 2 f 2616(low-level)X 1 f 2995(mode)X 3234(in)X 3334(which)X 3594(a)X 3662(particular)X 576 3110(machine)N 931(may)X 1125(be)X 1244(speci\256ed.)X 1638(Such)X 1858(layering)X 2202(permits)X 2519(\257exibility)X 2922(while)X 3164(retaining)X 3535(the)X 3681(ability)X 3957(to)X 576 3254(exploit)N 878(particular)X 1282(strengths)X 1663(of)X 1777(individual)X 2202(machines)X 2600(on)X 2730(the)X 2882(network.)X 3255(The)X 3 f 9 s 3433(PVM)X 1 f 12 s 3630(user)X 3823(inter-)X 576 3398(face)N 765(is)X 857(strongly)X 1200(typed;)X 1469(support)X 1786(for)X 1927(operating)X 2320(in)X 2424(a)X 2496(heterogeneous)X 3081(environment)X 3597(is)X 3690(provided)X 576 3542(in)N 707(the)X 881(form)X 1124(of)X 1260(special)X 1583(constructs)X 2028(that)X 2228(selectively)X 2696(perform)X 3061 0.2031(machine-dependent)AX 3871(data)X 576 3686(conversions)N 1065(where)X 1330(necessary.)X 1758(Inter-instance)X 2319(communication)X 2950(constructs)X 3371(include)X 3686(those)X 3920(for)X 576 3830(the)N 721(exchange)X 1112(of)X 1219(data)X 1407(structures)X 1808(as)X 1915(well)X 2108(as)X 2214(high-level)X 2631(primitives)X 3048(such)X 3250(as)X 3356(broadcast,)X 3775(barrier)X 576 3974(synchronization,)N 1239(mutual)X 1531(exclusion,)X 1948(global)X 2213(extrema,)X 2572(and)X 2735(rendezvous.)X 3 f 9 s 776 4146(PVM)N 1 f 12 s 980(supports)X 1345(two)X 1529(general)X 1854(parallel)X 2185(programming)X 2750(models)X 3069(\320)X 3206(tree)X 3392(computations)X 3952(as)X 576 4290(supported)N 982(by)X 1105(the)X 1250(DIB)X 1442([8])X 1580(and)X 1745(Schedule)X 2124([9])X 2262(packages,)X 2665(and)X 2830(crowd)X 3096(computations)X 3641([11].)X 3851(Sup-)X 576 4434(porting)N 891(both)X 1099(paradigms)X 1538(increases)X 1929(the)X 2085(\257exibility)X 2498(and)X 2675(power)X 2953(of)X 3071(the)X 3227(system)X 3532(signi\256cantly,)X 576 4578(especially)N 1003(since)X 1242(individual)X 1674(subtasks)X 2040(within)X 2327(either)X 2588(of)X 2709(these)X 2948(models)X 3267(may)X 3473(themselves)X 3941(be)X 576 4722(parallel)N 895(programs)X 1287(expressed)X 1695(in)X 1799(the)X 1946(other.)X 2197(At)X 2322(present,)X 2653(the)X 2800(model,)X 3094(individual)X 3514(subtasks,)X 3893(and)X 576 4866(their)N 779(interactions)X 1255(are)X 1399(described)X 1794(in)X 1895(procedural)X 2333(terms;)X 2600(work)X 2823(is)X 2912(in)X 3012(progress)X 3362(to)X 3462(provide)X 3781(graph-)X 576 5010(ical)N 740(speci\256cation.)X 776 5182(Application)N 1275(programs)X 1683(under)X 3 f 9 s 1941(PVM)X 1 f 12 s 2150(may)X 2361(possess)X 2693(arbitrary)X 3070(control)X 3388(and)X 3572(dependency)X 576 5326(structures.)N 1006(In)X 1118(other)X 1348(words,)X 1638(at)X 1740(any)X 1911(point)X 2141(in)X 2247(the)X 2396(execution)X 2802(of)X 2913(a)X 2987(concurrent)X 3430(application,)X 3914(the)X 576 5470(processes)N 974(in)X 1079(existence)X 1468(may)X 1664(have)X 1877(arbitrary)X 2240(relationships)X 2763(between)X 3115(each)X 3323(other)X 3552(and,)X 3746(further,)X 576 5614(any)N 762(process)X 1097(may)X 1310(communicate)X 1877(and/or)X 2170(synchronize)X 2682(with)X 2900(any)X 3086(other.)X 3354(This)X 3571(is)X 3681(the)X 3845(most)X 576 5758(unstructured)N 1096(form)X 1322(of)X 1441(crowd)X 1720(computation,)X 2265(but)X 2427(in)X 2541(practice)X 2886(a)X 2968(signi\256cant)X 3408(number)X 3741(of)X 3861(con-)X 576 5902(current)N 895(applications)X 1406(are)X 1569(more)X 1812(structured.)X 2266(Two)X 2487(typical)X 2795(structures)X 3214(are)X 3377(the)X 3540(tree)X 3730(and)X 3914(the)X 5 p %%Page: 5 5 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(5)X 2352(-)X 576 720(``regular)N 957(crowd'')X 1305(structure.)X 1710(We)X 1888(use)X 2060(the)X 2222(latter)X 2465(term)X 2686(to)X 2806(denote)X 3108(crowd)X 3393(computations)X 3957(in)X 576 864(which)N 848(each)X 1062(process)X 1387(is)X 1488(identical;)X 1884(frequently)X 2316(such)X 2528(applications)X 3030(also)X 3221(exhibit)X 3525(regular)X 3834(com-)X 576 1008(munication)N 1040(and)X 1209(synchronization)X 1854(patterns.)X 2213(Any)X 2408(speci\256c)X 2732(control)X 3035(and)X 3204(dependency)X 3695(structure)X 576 1152(may)N 767(be)X 883(implemented)X 1412(under)X 1656(the)X 3 f 9 s 1793(PVM)X 1 f 12 s 1982(system)X 2274(by)X 2394(appropriate)X 2857(use)X 3009(of)X 3 f 9 s 3107(PVM)X 1 f 12 s 3295(constructs)X 3709(and)X 3872(host)X 576 1296(language)N 948(control)X 1245(\257ow)X 1439(statements.)X 3 f 576 1584(2.2.)N 768(Heterogeneity)X 1370(Issues)X 1 f 776 1756(The)N 3 f 9 s 944(PVM)X 1 f 12 s 1132(system)X 1423(is)X 1511(heterogeneous)X 2091(in)X 2190(several)X 2487(respects:)X 10 f 576 1928(g)N 2 f 776(Applications)X 1 f 1263(:)X 1325(Heterogeneous)X 1937(applications)X 2438(are)X 2591(those)X 2830(that)X 3011(are)X 3165(composed)X 3591(of)X 3707(subtasks)X 776 2072(that)N 949(differ)X 1191(signi\256cantly)X 1695(from)X 1910(one)X 2077(another.)X 2418(Particularly)X 2896(in)X 2999(scienti\256c)X 3375(computing,)X 3839(there)X 776 2216(are)N 929(many)X 1178(such)X 1389(applications.)X 1938(The)X 2123(components)X 2623(of)X 2738(such)X 2949(applications)X 3450(exhibit)X 3754(diverse)X 776 2360(characteristics)N 1376(including)X 1788(vector)X 2077(processing,)X 2560(large-grained)X 3122(SIMD)X 3409(computing,)X 3893(and)X 776 2504(interactive)N 1212(2-D)X 1389(and)X 1556(3-D)X 1733(graphics.)X 2111(The)X 2289(traditional)X 2714(solution)X 3052(to)X 3155(this)X 3322(problem)X 3671(is)X 3763(to)X 3866(exe-)X 776 2648(cute)N 982(each)X 1204(component)X 1677(separately)X 2113(on)X 2254(the)X 2417(most)X 2649(suitable)X 2994(architecture)X 3495(and)X 3679(construct)X 776 2792(manual,)N 1108 0.1736(application-speci\256c)AX 1887(interfaces)X 2286(among)X 2572(them.)X 10 f 576 2964(g)N 2 f 776(Processing)X 1241(Elements)X 1 f 1594(:)X 1659(The)X 3 f 9 s 1841(PVM)X 1 f 12 s 2044(system)X 2350(is)X 2453(supported)X 2871(on)X 3006(various)X 3328(machine)X 3694(architec-)X 776 3108(tures)N 994(including)X 1389(shared-memory)X 2024(multiprocessors,)X 2688(hypercubes,)X 3181(and)X 3351(scalar)X 3607(computers.)X 776 3252(In)N 880(order)X 1107(to)X 1206(make)X 1439(the)X 1581(most)X 1792(effective)X 2154(use)X 2306(of)X 2410(any)X 2573(multiprocessors)X 3206(that)X 3376(may)X 3567(be)X 3683(available)X 776 3396(to)N 879(an)X 998(application,)X 1479(two)X 1651(options)X 1962(are)X 2108(provided.)X 2502(The)X 2680(\256rst)X 2857(is)X 2948(the)X 3093(ability)X 3367(to)X 3469(treat)X 3668(multipro-)X 776 3540(cessors)N 1083(as)X 1193(an)X 1314(atomic)X 1607(resource)X 1963(\320)X 2090(applications)X 2587(may)X 2784(execute)X 3110(programs)X 3504(that)X 3680(are)X 3829(hard-)X 776 3684(coded)N 1042(for)X 1190(speci\256c)X 1520(multiprocessors)X 2165(under)X 3 f 9 s 2414(PVM)X 1 f 12 s 2613(control;)X 2948(such)X 3159(components)X 3659(retain)X 3914(the)X 776 3828(ability)N 1060(to)X 1172(interact)X 1500(with)X 1709(other)X 1945(components)X 2448(executing)X 2861(elsewhere)X 3284(in)X 3397(the)X 3553(system.)X 3882(The)X 776 3972(second)N 1069(is)X 1159(the)X 1303(provision)X 1691(for)X 1828(dynamic)X 2185(incorporation)X 2729(of)X 2834(application)X 3288(modules)X 3639(in)X 3739(a)X 3807(selec-)X 776 4116(tive)N 956(manner,)X 1304(depending)X 1740(upon)X 1967(the)X 2120(architecture)X 2611(on)X 2742(which)X 3012(an)X 3139(application)X 3604(component)X 776 4260(executes.)N 1166(In)X 1280(the)X 1431(latter)X 1663(scheme,)X 2009(an)X 2133(application)X 2595(speci\256es)X 2959(several)X 3265(alternative)X 3706(modules)X 776 4404(to)N 891(perform)X 1241(a)X 1324(given)X 1578(function,)X 1963(each)X 2181(suitable)X 2522(for)X 2675(one)X 2855(of)X 2976(the)X 3135(different)X 3508(programming)X 776 4548(models)N 1089(supported.)X 1527(At)X 1658(execution)X 2068(time,)X 3 f 9 s 2293(PVM)X 1 f 12 s 2492(selects)X 2784(the)X 2937(most)X 3159(appropriate)X 3633(module)X 3957(to)X 776 4692(utilize,)N 1066(depending)X 1491(upon)X 1707(the)X 1849(actual)X 2104(machine\(s\))X 2556(on)X 2676(which)X 2935(the)X 3077(application)X 3530(will)X 3704(execute.)X 10 f 576 4864(g)N 2 f 776(Networks:)X 1 f 1198(Several)X 1514(different)X 1873(network)X 2215(architectures)X 2735(are)X 2880(supported)X 3286(by)X 3409(the)X 3 f 9 s 3549(PVM)X 1 f 12 s 3741(system,)X 776 5008(both)N 974(for)X 1113(reasons)X 1428(of)X 1534(wider)X 1779(applicability)X 2288(as)X 2394(well)X 2586(as)X 2692(to)X 2793(be)X 2910(better)X 3156(able)X 3343(to)X 3444(exploit)X 3738(speci\256c)X 776 5152(features)N 1113(of)X 1225(particular)X 1627(networks.)X 2059(For)X 2224(example,)X 2607(Internet)X 2939(protocols)X 3329(may)X 3528(be)X 3652(used)X 3861(both)X 776 5296(on)N 900(the)X 1046(DARPA)X 1398(Internetwork)X 1923(and)X 2089(on)X 2212(Ethernets.)X 2627(However,)X 3030(specialized)X 3486(low)X 3657(level)X 3872(pro-)X 776 5440(tocols)N 1040(on)X 1170(Ethernet)X 1532(signi\256cantly)X 2043(improve)X 2399(performance)X 2921(and)X 3095(ef\256ciency)X 3510(in)X 3620(distributed)X 776 5584(applications.)N 1312(The)X 3 f 9 s 1502(PVM)X 1 f 12 s 1712(system)X 2025(presently)X 2423(supports)X 2793(the)X 2956(Internet)X 3301(protocols[11],)X 3888(low)X 776 5728(level)N 988(Ethernet)X 1339(protocols)X 1721([12],)X 1929(and)X 2092(the)X 2234(IMCS)X 2492(interface)X 2854([13].)X 6 p %%Page: 6 6 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(6)X 2352(-)X 3 f 576 720(2.3.)N 768(Other)X 1038(Aspects)X 1 f 776 892(Multiprocessing)N 1437(on)X 1569(loosely)X 1883(coupled)X 2224(networks)X 2612(provides)X 2979(facilities)X 3348(that)X 3529(are)X 3684(normally)X 576 1036(not)N 735(available)X 1120(on)X 1252(tightly)X 1539(coupled)X 1879(multiprocessors.)X 2547(Debugging)X 3009(support,)X 3356(fault)X 3568(tolerance)X 3957(in)X 576 1180(the)N 725(form)X 943(of)X 1054(checkpoint-restart,)X 1805(uniprocessor)X 2328(level)X 2548(I/O)X 2708(facilities,)X 3097(and)X 3268(pro\256ling)X 3631(and)X 3802(moni-)X 576 1324(toring)N 830(to)X 929(identify)X 1253(hot-spots)X 1629(or)X 1733(load)X 1923(imbalances)X 2381(within)X 2651(an)X 2766(application)X 3219(are)X 3361(examples.)X 3773(On)X 3914(the)X 576 1468(other)N 815(hand,)X 1067(several)X 1381(obstacles)X 1775(and)X 1955(dif\256culties)X 2408(are)X 2567(also)X 2763(associated)X 3200(with)X 3413(networked)X 3861(con-)X 576 1612(current)N 875(computing.)X 1337(Among)X 1650(these)X 1873(are)X 2016(generating)X 2448(and)X 2612(maintaining)X 3098(multiple)X 3445(object)X 3706(modules)X 576 1756(for)N 714(different)X 1072(architectures,)X 1615(considerations)X 2197(of)X 2303(security)X 2634(and)X 2799(intrusion)X 3167(into)X 3343(personal)X 3696(worksta-)X 576 1900(tions,)N 823(and)X 998(a)X 1077(number)X 1407(of)X 1523(administrative)X 2111(and)X 2286(housekeeping)X 2850(functions.)X 3267(In)X 3382(its)X 3508(present)X 3821(form,)X 3 f 9 s 576 2044(PVM)N 1 f 12 s 774(supports)X 1133(two)X 1311(auxiliary)X 1688(components)X 2187(that)X 2366(provide)X 2694(some)X 2932(desirable)X 3315(features)X 3655(and)X 3829(over-)X 576 2188(come)N 821(several)X 1130(of)X 1246(the)X 1400(obstacles.)X 1813(First,)X 2049(the)X 2203(XPVM)X 2515(interface)X 2889(is)X 2989(a)X 3068(graphical)X 3463(tool)X 3649(that)X 3829(eases)X 576 2332(many)N 836(of)X 962(the)X 1126(application)X 1601(tasks)X 1839(of)X 1965(specifying)X 2412(components,)X 2947(handling)X 3331(input)X 3576(and)X 3762(output,)X 576 2476(interacting)N 1040(with)X 3 f 9 s 1256(PVM)X 1 f 12 s 1471(during)X 1773(execution,)X 2223(managing)X 2654(multiple)X 3027(objects,)X 3375(and)X 3565(providing)X 3989(a)X 576 2620(debugging)N 1014(interface.)X 1432(Second,)X 1771(the)X 1921(PICL)X 2161(library)X 2451([14])X 2644(supports)X 3002(portable)X 3351(parallel)X 3674(program-)X 576 2764(ming)N 798(and)X 961(pro\256ling.)X 1340(These)X 1594(components)X 2083(are)X 2225(discussed)X 2617(in)X 2716(the)X 2858(following)X 3256(sections.)X 776 2936(The)N 3 f 9 s 958(PVM)X 1 f 12 s 1160(support)X 1486(software)X 1855(\(a)X 1968(daemon)X 2311(process)X 2638(that)X 2822(executes)X 3193(on)X 3328(each)X 3544(participating)X 576 3080(host\))N 801(is)X 898(replicated)X 1312(for)X 1457(each)X 1667(user)X 1860(of)X 1973(the)X 2124(system.)X 2448(The)X 2631(\(small\))X 2936(overheads)X 3358(incurred)X 3711(are)X 3861(con-)X 576 3224(sidered)N 897(acceptable)X 1348(since)X 1589(this)X 1771(scheme)X 2104(eliminates)X 2545(many)X 2803(of)X 2927(the)X 3089(security)X 3438(and)X 3621(addressing)X 576 3368(issues)N 856(that)X 1052(are)X 1221(encountered)X 1743(when)X 2001(common)X 2388(support)X 2726(software)X 3107(caters)X 3382(to)X 3507(all)X 3654(users.)X 3925(To)X 576 3512(achieve)N 908(location)X 1256(transparency)X 1785(and)X 1962(fault)X 2177(tolerance,)X 2593(the)X 3 f 9 s 2743(PVM)X 1 f 12 s 2945(system)X 3250(uses)X 3453(the)X 3609(strategy)X 3952(of)X 576 3656(global)N 843(knowledge)X 1291(among)X 1579(the)X 1723(daemon)X 2054(processes)X 2448(and)X 2613(identi\256es)X 2992(component)X 3446(instances)X 3824(using)X 576 3800(symbolic)N 987(names)X 1291(and)X 1488(instance)X 1862(numbers.)X 2299(In)X 2437(the)X 2613(common)X 3008(daemon)X 3371(scheme,)X 3743(naming)X 576 3944(con\257icts)N 933(are)X 1082(possible,)X 1452(and)X 1622(further,)X 1939(hosts)X 2167(that)X 2343(are)X 2492(not)X 2646(used)X 2853(by)X 2980(a)X 3054(particular)X 3455(application)X 3914(are)X 576 4088(required)N 921(to)X 1020(participate)X 1452(in)X 1551(all)X 1672(events,)X 1966(leading)X 2274(to)X 2373(performance)X 2884(degradation)X 3363(and)X 3526(delays.)X 776 4260(The)N 3 f 9 s 952(PVM)X 1 f 12 s 1148(system)X 1447(supports)X 1804(a)X 1880(limited)X 2187(form)X 2407(of)X 2520(fault)X 2730(tolerance)X 3117(at)X 3220(several)X 3526(levels.)X 3832(First,)X 576 4404(since)N 818(individual)X 1253(component)X 1725(instances)X 2122(are)X 2283(independent)X 2797(processes)X 3208(\(usually)X 3561(on)X 3700(different)X 576 4548(machines\),)N 1023(failure)X 1302(of)X 1409(an)X 1527(instance)X 1870(does)X 2073(not)X 2223(affect)X 2470(others.)X 2756(The)X 3 f 9 s 2927(PVM)X 1 f 12 s 3119(system)X 3414(attempts)X 3769(to)X 3872(pro-)X 576 4692(vide)N 776(this)X 949(level)X 1171(of)X 1285(tolerance)X 1673(even)X 1889(on)X 2019(multiprocessors)X 2662(provided)X 3038(that)X 3217(the)X 3368(operating)X 3765(system)X 576 4836(facilities)N 933(permit)X 1209(partial)X 1480(degradation.)X 1983(In)X 2087(addition,)X 2451(individual)X 2866(instances)X 3244(that)X 3414(have)X 3621(failed)X 3866(may)X 576 4980(be)N 694(migrated)X 1063(or)X 1169(restarted)X 1527(if)X 1612(the)X 1756(application)X 2211(so)X 2322(desires,)X 2639(subject)X 2938(once)X 3146(again)X 3381(to)X 3482(host)X 3668(operating)X 576 5124(system)N 867(constraints.)X 776 5296(In)N 892(addition)X 1244(to)X 1355(the)X 1509(above,)X 1799(nearly)X 2076(all)X 2209(the)X 2363(user)X 2560(interface)X 2935(constructs)X 3362(provided)X 3741(by)X 3 f 9 s 3868(PVM)X 1 f 12 s 576 5440(contain)N 888(provisions)X 1316(for)X 1456(the)X 1601(detection)X 1982(and)X 2148(recovery)X 2512(from)X 2726(failures,)X 3066(a)X 3136(feature)X 3431(rarely)X 3683(available)X 576 5584(as)N 691(a)X 769(native)X 1040(facility)X 1349(in)X 1459(typical)X 1757(tightly)X 2044(coupled)X 2384(multiprocessors.)X 3052(For)X 3220(example,)X 3606(to)X 3716(preempt)X 576 5728(some)N 804(forms)X 1052(of)X 1156(deadlock,)X 1552(blocked)X 1881(message)X 2231(reception)X 2614(may)X 2804(be)X 2919(aborted)X 3232(either)X 3476(on)X 3596(timeouts)X 3952(or)X 576 5872(by)N 722(placing)X 1056(a)X 1149(limit)X 1382(on)X 1528(the)X 1696(number)X 2041(of)X 2172(alternative)X 2631(messages.)X 3093(Barrier)X 3417(synchronization)X 7 p %%Page: 7 7 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(7)X 2352(-)X 576 720(primitives)N 1007(permit)X 1299(the)X 1457(speci\256cation)X 1984(of)X 2103(a)X 2185(quorum)X 2523(of)X 2642(processes)X 3049(that)X 3233(are)X 3390(required;)X 3777(if)X 3875(it)X 3968(is)X 576 864(impossible)N 1043(to)X 1168(form)X 1406(such)X 1633(a)X 1727(quorum,)X 2101(processes)X 2520(that)X 2716(invoke)X 3029(barrier)X 3337(constructs)X 3778(are)X 3947(so)X 576 1008(noti\256ed.)N 932(Distributed)X 1403(locks)X 1644(may)X 1848(be)X 1977(speci\256ed)X 2357(as)X 2475(having)X 2774(a)X 2854(limited)X 3165(``lifetime'';)X 3658(if)X 3754(a)X 3834(com-)X 576 1152(ponent)N 867(instance)X 1212(aborts)X 1476(prematurely,)X 1995(any)X 2163(locks)X 2395(held)X 2590(by)X 2716(that)X 2891(process)X 3209(are)X 3357(forcibly)X 3692(released.)X 576 1296(While)N 842(some)X 1075(of)X 1185(these)X 1413(facilities)X 1776(must)X 1993(be)X 2114(used)X 2320(with)X 2521(caution,)X 2858(they)X 3053(are)X 3200(nevertheless)X 3705(valuable)X 576 1440(\320)N 709(essentially,)X 1177(the)X 3 f 9 s 1326(PVM)X 1 f 12 s 1527(system)X 1831(permits)X 2157(applications)X 2660(to)X 2773(incorporate)X 3250(signi\256cant)X 3689(levels)X 3952(of)X 576 1584(fault)N 777(tolerance)X 1155(when)X 1387(desired.)X 3 f 576 1872(3.)N 696(The)X 880(XPVM)X 1192(Interface)X 9 s 776 2044(PVM)N 1 f 12 s 971(supports)X 1327(a)X 1401(wide)X 1619(range)X 1864(of)X 1975(facilities)X 2339(including)X 2734(the)X 2883(ability)X 3161(to)X 3268(con\256gure)X 3663(the)X 3813(set)X 3952(of)X 576 2188(participating)N 1115(hosts)X 1363(dynamically,)X 1915(to)X 2041(debug)X 2327(selected)X 2689(component)X 3168(instances,)X 3596(to)X 3722(position)X 576 2332(speci\256c)N 902(processes,)X 1326(and)X 1497(to)X 1605(execute)X 1933(multiple)X 2288(processes)X 2689(that)X 2867(make)X 3109(up)X 3238(an)X 3362(application)X 3824(using)X 576 2476(several)N 883(different)X 1249(control)X 1556(structures.)X 1988(These)X 2252(features)X 2591(may)X 2791(be)X 2915(used)X 3124(under)X 3376(program)X 3735(control,)X 576 2620(augmented)N 1041(by)X 1179(manual)X 1505(execution)X 1922(of)X 2044(standard)X 2412(utilities)X 2744(available)X 3135(on)X 3273(most)X 3503(host)X 3706(environ-)X 576 2764(ments.)N 856(However,)X 1258(in)X 1359(order)X 1588(to)X 1689(exploit)X 1983(them)X 2202(fully)X 2410(in)X 2511(the)X 2655(most)X 2868(effective)X 3232(way,)X 3442(a)X 3511(user-friendly,)X 576 2908(interactive)N 1029(interface)X 1412(is)X 1521(desirable)X 1914(and)X 2098(necessary.)X 2541(The)X 2736(XPVM)X 3057(front-end)X 3460(is)X 3569(designed)X 3957(to)X 576 3052(enable)N 885(convenient)X 1365(access)X 1668(to)X 1800(the)X 3 f 9 s 1968(PVM)X 1 f 12 s 2188(facilities)X 2577(using)X 2841(a)X 2940(graphical)X 3355(interface,)X 3773(and)X 3968(is)X 576 3196(described)N 973(in)X 1076(this)X 1243(section.)X 1568(XPVM)X 1872(is)X 1965(still)X 2139(evolving,)X 2529(but)X 2681(suf\256cient)X 3068(functionality)X 3590(is)X 3683(available)X 576 3340(in)N 675(its)X 790(present)X 1092(form)X 1303(to)X 1402(allow)X 1640(a)X 1707(substantial)X 2143(number)X 2461(of)X 2565(operations)X 2990(to)X 3089(be)X 3204(performed.)X 776 3512(The)N 954(XPVM)X 1258(interface)X 1624(essentially)X 2059(sets)X 2231(up)X 2355(an)X 2474(interactive)X 2910(``session'')X 3344(with)X 3544(the)X 3 f 9 s 3685(PVM)X 1 f 12 s 3878(sys-)X 576 3656(tem)N 768(in)X 890(a)X 980(manner)X 1316(analogous)X 1752(to)X 1873(a)X 1962(login)X 2206(session.)X 2553(Sessions)X 2929(are)X 3093(on)X 3235(a)X 3324(``per-user'')X 3813(basis;)X 576 3800(indirectly,)N 1004(the)X 1156(XPVM)X 1466(interface)X 1838(permits)X 2161(multiple)X 2517(users)X 2748(to)X 2858(share)X 3096(simultaneously)X 3714(some)X 3952(of)X 576 3944(the)N 732(support)X 1058(functions)X 1454(provided)X 1834(by)X 3 f 9 s 1962(PVM)X 1 f 12 s 2126(.)X 2188(Interaction)X 2644(with)X 2853(XPVM)X 3166(is)X 3267(accomplished)X 3834(via)X 3989(a)X 576 4088(menu-driven)N 1103(interface.)X 1500(In)X 1615(the)X 1768(remainder)X 2195(of)X 2311(this)X 2486(section,)X 2819(the)X 2973(functions)X 3367(supported)X 3782(by)X 3914(the)X 576 4232(XPVM)N 876(system)X 1167(are)X 1309(described)X 1702(with)X 1897(illustrative)X 2334(examples)X 2722(extracted)X 3100(from)X 3311(an)X 3426(actual)X 3681(session.)X 3 f 576 4520(3.1.)N 768(Con\256guration)X 1367(Management)X 1 f 776 4692(The)N 960(XPVM)X 1270(interface)X 1642(consists)X 1980(of)X 2094(\256ve)X 2272(major)X 2531(components.)X 3054(The)X 3238(\256rst)X 3421(is)X 3519(con\256guration)X 576 4836(management)N 1097(and)X 1264(is)X 1356(responsible)X 1822(for)X 1962(managing)X 2370(the)X 2516(pool)X 2715(of)X 2822(hosts)X 3046(that)X 3218(are)X 3363(accessible)X 3781(during)X 576 4980(a)N 651(session.)X 984(Using)X 1245(this)X 1416(facility,)X 3 f 9 s 1740(PVM)X 1 f 12 s 1936(users)X 2165(may)X 2363(add)X 2534(to)X 2641(or)X 2754(delete)X 3018(from)X 3238(the)X 3389(pool)X 3593(of)X 3706(hosts)X 3936(on)X 576 5124(which)N 836(a)X 903(concurrent)X 1339(application)X 1792(is)X 1880(to)X 1979(execute.)X 2346(The)X 2520(con\256guration)X 3057(example)X 3408(shown)X 3682(in)X 3781(Figure)X 576 5268(2)N 655(is)X 750(a)X 824(snapshot)X 1191(at)X 1292(the)X 1441(moment)X 1788(immdeiately)X 2302(preceding)X 2713(the)X 2862(addition)X 3209(of)X 3321(a)X 3396(transputer)X 3813(based)X 576 5412(machine,)N 972(with)X 1188(hostname)X 1602(``cogent''.)X 2080(In)X 2205(addition,)X 2590(con\256guration)X 3148(management)X 3685(performs)X 576 5556 0.2356(authentication)AN 1164(functions)X 1563(and)X 1744(ensures)X 2074(that)X 2261(speci\256ed)X 2645(hosts)X 2884(are)X 3044(indeed)X 3343(accessible)X 3776(by)X 3914(the)X 576 5700(user.)N 3 f 9 s 792(PVM)X 1 f 12 s 994(daemons)X 1374(are)X 1530(started)X 1825(up)X 1959(on)X 2093(each)X 2308(host,)X 2530(and)X 2706(information)X 3198(regarding)X 3604(the)X 3759(current)X 576 5844(con\256guration)N 1115(is)X 1205(shared)X 1482(among)X 1771(the)X 1916(active)X 2174(daemons.)X 2567(In)X 2674(addition,)X 3041(the)X 3186(daemons)X 3555(cooperate)X 3957(to)X 8 p %%Page: 8 8 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(8)X 2352(-)X 576 720(assign)N 857(each)X 1075(host)X 1276(an)X 1408(identi\256cation)X 1958(number)X 2293(for)X 2446(use)X 2614(in)X 2729(the)X 2887(execution)X 3302(of)X 3422(distributed)X 3 f 9 s 3868(PVM)X 1 f 12 s 576 864(primitives)N 1003(such)X 1216(as)X 1333(broadcast,)X 1763(barrier)X 2057(synchronization)X 2709(and)X 2885(distributed)X 3334(mutual)X 3639(exclusion.)X 576 1008(During)N 885(this)X 1061(phase,)X 1341(the)X 3 f 9 s 1490(PVM)X 1 f 12 s 1691(system)X 1995(also)X 2187(attempts)X 2551(to)X 2663(classify)X 2994(hosts)X 3228(on)X 3361(the)X 3516(basis)X 3745(of)X 3861(geo-)X 576 1152(graphical)N 964(distance,)X 1333(relative)X 1652(computing)X 2093(power,)X 2386(and)X 2554(load)X 2749(conditions.)X 3203(These)X 3462(parameters)X 3914(are)X 576 1296(obtained)N 932(using)X 1164(a)X 1231(combination)X 1737(of)X 1841(statically)X 2214(de\256ned)X 2521(tables)X 2770(and)X 2933(instantaneous)X 3481(measurements)X 576 1440(and)N 749(are)X 901(used)X 1111(during)X 1396(execution)X 1805(time)X 2011(to)X 2120(select)X 2374(the)X 2527(con\256guration)X 3075(that)X 3255(is)X 3354(likely)X 3609(to)X 3719(be)X 3845(most)X 576 1584(effective)N 938(using)X 1170(simple)X 1451(heuristic)X 1807(rules.)X 776 1784(Error)N 1028(diagnostics)X 1510(are)X 1677(provided)X 2068(in)X 2192(the)X 2359(case)X 2574(of)X 2703 0.2356(authentication)AX 3299(failure)X 3601(or)X 3731(when)X 3989(a)X 576 1928(speci\256ed)N 946(machine)X 1301(or)X 1409(architecture)X 1893(type)X 2087(does)X 2291(not)X 2442(exist.)X 2676(It)X 2763(should)X 3046(be)X 3164(noted)X 3405(that)X 3577(additions)X 3957(to)X 576 2072(the)N 725(host)X 916(pool)X 1118(may)X 1315(be)X 1437(made)X 1677(while)X 1922(applications)X 2419(are)X 2568(executing;)X 3001(deleting)X 3343(a)X 3417(host)X 3609(with)X 3812(a)X 3887(live)X 576 2216(component)N 1028(instance)X 1368(causes)X 1643(the)X 1785(operation)X 2173(to)X 2272(be)X 2387(delayed)X 2711(until)X 2912(the)X 3054(instance)X 3394(has)X 3546(terminated.)X 3 f 576 2504(3.2.)N 768(Object)X 1070(Management)X 1 f 776 2676(One)N 969(of)X 1082(the)X 1233(most)X 1453(cumbersome)X 1978(aspects)X 2289(of)X 2402(concurrent)X 2847(computing)X 3292(in)X 3400(a)X 3476(heterogeneous)X 576 2820(network)N 921(is)X 1015(the)X 1163(management)X 1686(of)X 1796(multiple)X 2148(object)X 2414(modules)X 2770(for)X 2912(each)X 3119(component)X 3577(of)X 3687(an)X 3807(appli-)X 576 2964(cation)N 861(system.)X 1201(To)X 1357(assist)X 1614(the)X 1781(user)X 1990(in)X 2114(handling)X 2500(this)X 2688(issue,)X 2954(XPVM)X 3280(supports)X 3655(an)X 3796(object)X 576 3108(management)N 1097(interface.)X 1487(In)X 1595(its)X 1714(present)X 2020(form,)X 2259(this)X 2425(interface)X 2790(is)X 2881(somewhat)X 3298(limited.)X 3647(An)X 3791(exam-)X 576 3252(ple)N 718(scenario)X 1063(showing)X 1412(the)X 1554(present)X 1856(facilities)X 2213(in)X 2312(the)X 2454(object)X 2714(management)X 3231(interface)X 3593(is)X 3682(shown)X 3957(in)X 576 3396(Figure)N 877(2.)X 1023(Work)X 1292(is)X 1406(in)X 1531(progress)X 1906(to)X 2031(include)X 2365(dictionary)X 2806(facilities,)X 3213(version)X 3546(control,)X 3893(and)X 576 3540(automatic)N 981(object)X 1241(code)X 1447(generation)X 1878(to)X 1977(simplify)X 2322(the)X 2464(task)X 2643(of)X 2747(object)X 3007(maintenance.)X 3 f 576 3828(3.3.)N 768(Application)X 1272(Execution)X 1 f 776 4000(The)N 955(XPVM)X 1261(interface)X 1629(contains)X 1980(facilities)X 2343(for)X 2485(unstructured)X 2996(and)X 3165(regular)X 3468(crowd)X 3738(compu-)X 576 4144(tation)N 844(models.)X 1194(In)X 1321(addition,)X 1708(tree)X 1900(structured)X 2332(computations)X 2898(will)X 3095(be)X 3233(supported)X 3659(using)X 3914(the)X 576 4288(Schedule)N 975([9])X 1133(system.)X 1494(In)X 1621(the)X 1786(regular)X 2106(crowd)X 2393(model,)X 2705(the)X 2870(XPVM)X 3193(interface)X 3578(permits)X 3914(the)X 576 4432(speci\256cation)N 1090(of)X 1197(an)X 1315(object)X 1578(module)X 1894(and)X 2060(the)X 2205(number)X 2526(of)X 2632(instances)X 3011(that)X 3182(are)X 3326(to)X 3427(be)X 3544(initiated;)X 3914(the)X 576 4576(speci\256ed)N 968(number)X 1312(of)X 1442(processes)X 1860(are)X 2028(then)X 2245(executed)X 2639 0.2812(automatically)AX 3216(by)X 3363(the)X 3 f 9 s 3526(PVM)X 1 f 12 s 3741(system,)X 576 4720(thereby)N 891(avoiding)X 1254(the)X 1398(need)X 1606(for)X 1744(a)X 1813(user-written)X 2304(driver)X 2559(program.)X 2934(In)X 3039(the)X 3182(unstructured)X 3688(model,)X 3978(it)X 576 4864(is)N 677(assumed)X 1045(that)X 1227(a)X 1307(``host'')X 1632(program)X 1995(assumes)X 2352(responsibility)X 2913(for)X 3062(initiating)X 3448(the)X 3603(application)X 576 5008(component)N 1036(instances)X 1421(if)X 1512(any.)X 1707(The)X 1889(XPVM)X 2197(interface)X 2567(essentially)X 3006(enables)X 3327(the)X 3476(individual)X 3898(ini-)X 576 5152(tiation)N 852(of)X 961(separate)X 1306(programs)X 1698(\(each)X 1936(of)X 2046(which)X 2311(may)X 2507(subsequently)X 3039(spawn)X 3314(others\))X 3611(once)X 3823(again)X 576 5296(without)N 904(the)X 1056(need)X 1272(for)X 1417(a)X 1493(control)X 1799(or)X 1912(driver)X 2175(program.)X 2558(In)X 2671(addition,)X 3044(the)X 3195(application)X 3657(execution)X 576 5440(function)N 922(of)X 1027(XPVM)X 1328(permits)X 1642(the)X 1785(speci\256cation)X 2297(of)X 2402(command)X 2808(line)X 2979(arguments,)X 3430(as)X 3536(well)X 3728(as)X 3834(input)X 576 5584(and)N 747(output)X 1024(\256les)X 1215(and)X 1385(redirection,)X 1858(either)X 2109(for)X 2252(individual)X 2674(component)X 3133(instances)X 3517(or)X 3628(for)X 3771(groups)X 576 5728(of)N 680(processes.)X 1096(An)X 1237(example)X 1588(of)X 1692(the)X 1834(use)X 1986(of)X 2090(the)X 2232(``RUN'')X 2586(function)X 2931(is)X 3019(shown)X 3293(in)X 3392(Figure)X 3667(2.)X 9 p %%Page: 9 9 12 s 12 xH 0 xS 1 f 2224 432(-)N 2280(9)X 2352(-)X 10 s 576 720 MXY 3888 4104 40.00 144.00 526.00 657.00 startFig %! %% %% Xgrabsc Postscript dump of image 'fig2' %% %% %% run-length encoded. Savings = 48070 bytes %% %% /inch {72 mul} def /picstr 83 string def /rlebuffer 2 string def /plotimage {660 647 1 [660 0 0 -647 0 647] { currentfile rlebuffer readhexstring pop pop /nsamples rlebuffer 0 get 1 add store /lum rlebuffer 1 get store /samples nsamples string store 0 1 nsamples -1 add { samples exch lum put } for samples } image } def gsave 0.58 inch 1.9 inch translate 7.3 inch 7.2 inch scale plotimage 1f550054008829aa00a80488008d20aa0022295500560422002d007f1eff00fd001100bf28ff00f90411001d1fff00fa0044007f28ff00f40444004d007f1eff00fc008800bf28ff00f80488008d00f000011bff00fe0000003a00220078000025ff00fc000000760422002d007700fd00fe00fb00cf0007007b16ff00fe00ed00bd001100bb00fe00ff007d00e700bd008120ff00fd00db00790411001f00f400f500fe00fb00b700df007b16ff00fe00ed00ba0044017a00ff007d00db00bb00bf20ff00fd 00db0074044400400076006d00fe0073007b00df003b16ff00fe00ed00bc008800bb003600ff003900bd00b700bf20ff00fd00db00780488008d00f7002d00fe00ab007b00df005b16ff00fe000d00ba0022007b009600ff005500bd00af00bf20ff00fc001b00760422002d0077007d00fe00db007b00df006b16ff00fe00fd00bd001100bb00be00ff006d00bd009f008720ff00fd00fb00790411001d00f6009d00fe00db000300df007316ff00fe00fd00ba0044007b004e00ff006d008100af00bf20ff00fd 00fb00740444004d007600cd00fe00fb007b00df007b16ff00fe000100bc008800bb006600ff007d00bd00b700bf20ff00fc000300780488008d00f500e500fe00fb007b00df007b16ff00fe00ff00ba0022007a00f200ff007d00bd00bb00bf20ff00fd00ff00760422002d007700fd00fe00fb007b0007007b16ff00fe00ff00bd001100bb00fe00ff007d01bd008120ff00fd00ff00790411001d00f000011bff00fe0000003a00440078000025ff00fc000000740444004d007f1eff00fc008800bf28ff00f8 0488008d1fff00fa0022007f28ff00f60422002f007f1eff00fd001100bf28ff00f90411001f20aa004429550054044400471f550054008829aa00a80488008d00801e00000200220060010000201f00000801000008010000060422002d007f1eff00fd00110080280000090411001d1fff00fa0044005f28ff00f40444004d007f1eff00fc0088009f28ff00f80488008f1fff00fa0022005f28ff00f60422002f007f1eff00fd0011009f28ff00f90411001e1fff00fa0044005f28ff00f40444004d007f0dff 00be00c101be0cff00fc0088009f28ff00f80488008d0eff00be00de01be0cff00fa0022005f28ff00f60422002d007f0dff00dd00de00dd009c0cff00fd0011009f28ff00f90411001d0eff00eb00de00dd00aa0cff00fa0044005f28ff00f40444004d007f0dff00f700c100dd00b60cff00fc0088009f28ff00f80488008d0eff00eb00df00eb00b60cff00fa0022005f06ff00f00700000f06ff00e00700001f06ff00f60422002d007f0dff00dd00df00eb00be0cff00fd0011009f06ff00f707ff00ef06ff 00ef07ff00df06ff00f90411001d0eff00be00df00eb00be0cff00fa0044005f06ff00f707ff00ef06ff00ef07ff00df06ff00f40444004d007f0dff00be00df00f700be0cff00fc0088009f06ff00f707ff00ef06ff00ef07ff00df06ff00f80488008f1fff00fa0022005f06ff00f707ff00ef06ff00ef07ff00df06ff00f60422002f007f1eff00fd0011009f06ff00f707ff00ef06ff00ef07ff00df06ff00f90411001f1fff00fa0044005f06ff00f707ff00ef06ff00ef07ff00df06ff00f40444004d0040 1e0000040088009f06ff00f700ff00fe003000fd00060030007f00ff00ef06ff00ef00ff00fb00b100ba00ec006f01ff00df06ff00f80488008d1fff00fa0022005f06ff00f700ff00fd00d7017d00dd01ff00ef06ff00ef00ff00f9002e00ba00eb00af01ff00df06ff00f60422002d00401e0000050011009f06ff00f700ff00fd00d7017d00fd01ff00ef06ff00ef00ff00fa00ae009a00eb00af01ff00df06ff00f90411001d1fff00fa0044005f06ff00f700ff00fd00d000fd000d00fd01ff00ef06ff00ef 00ff00fb00a000aa00e8002f01ff00df06ff00f40444004d007f1eff00fc0088009f06ff00f700ff00fd00d7017d00fd01ff00ef06ff00ef00ff00fb00ae00b200eb00af01ff00df06ff00f80488008f1fff00fa0022005f06ff00f700ff00fd00d7005d007d00dd01ff00ef06ff00ef00ff00fb00ae00ba00eb00af01ff00df06ff00f60422002f007f1eff00fd0011009f06ff00f700ff00fe003000e30006003d01ff00ef06ff00ef00ff00fb00ae00bb001b00a001ff00df06ff00f9041100181fff00fa0044 005f06ff00f707ff00ef06ff00ef07ff00df06ff00f40444004f007f1eff00fc0088009f06ff00f707ff00ef06ff00ef07ff00df06ff00f8048800861fff00fa0022005f06ff00f707ff00ef06ff00ef07ff00df06ff00f604220026007f1eff00fd0011009f06ff00f707ff00ef06ff00ef07ff00df06ff00f9041100161fff00fa0044005f06ff00f707ff00ef06ff00ef07ff00df06ff00f40444004f007f1eff00fc0088009f06ff00f707ff00ef06ff00ef07ff00df06ff00f80488008f1fff00fa0022005f 06ff00f707ff00ef06ff00ef07ff00df06ff00f60422002f007f1eff00fd0011009f06ff00f00700000f06ff00e00700001f06ff00f9041100181fff00fa0044005f28ff00f404440047007f1eff00fc0088009f28ff00f80488008f1fff00fa0022005f28ff00f604220024007f1eff00fd0011009f28ff00f90411001f1fff00fa0044005f28ff00f40444004f007f1eff00fc0088009f28ff00f80488008c1fff00fa0022005f28ff00f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011 009f28ff00f90411001001ff00f80b00001f00ff00f80b00001f00ff00fa0044005f00f82600001f00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f00fb26ff00df00f80488008101ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb26ff00df00f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f00fb26ff00df00f90411001f01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f00fb26ff00df00f40444004f007f00ff00f8 0b00001f00ff00f80b00001f00ff00fc0088009f00fb26ff00df00f80488008701ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb00e125ff00df00f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f00fb00ee25ff00df00f90411001001ff00f80b00001f00ff00f80b00001f00ff00fa0044005f00fb00ee00a7001c006900c6005c20ff00df00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f00fb00e1009a00eb00a600fa00ac20ff 00df00f80488008f01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb00ef00be00eb00af00c200af20ff00df00f60422002c007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f00fb00ef00be00eb00af00ba00ac20ff00df00f90411001c01ff00f80000000100e100e2001300f300e100e2001300e300f00000001f00ff00f803000041000c0021003f0300001f00ff00fa0044005f00fb00ef00bf001c002f00c200ac20ff00df00f40444004c007f00ff00f80000000202120000 008202120100001f00ff00f8030000410012002200200300001f00ff00fc0088009f00fb02ff00bf22ff00df00f80488008f01ff00f8000001020013001200000082000201120100001f00ff00f8030000630021002400200300001f00ff00fa0022005f00fb01ff00fc007f22ff00df00f60422002f007f00ff00f8000001020012009200000082000201120100001f00ff00f8030000550021002800200300001f00ff00fd0011009f00fb26ff00df00f90411001f01ff00f8000001020012005300c000820002 001300e300c00000001f00ff00f80300004900210030003c0300001f00ff00fa0044005f00fb26ff00df00f404440047007f00ff00f80000010200120032000000820072001200820100001f00ff00f803000049003f002800200300001f00ff00fc0088009f00fb26ff00df00f80488008f01ff00f800000102011200000082011200420100001f00ff00f8030000410021002400200300001f00ff00fa0022005f00fb03ff00fb21ff00df00f60422002f007f00ff00f800000002021200000082003200120022 0100001f00ff00f8030000410021002200200300001f00ff00fd0011009f00fb03ff00fb21ff00df00f90411001f01ff00f80000000100e100e20012000300e100d100e2001300f00000001f00ff00f8030000410121003f0300001f00ff00fa0044005f00fb00e100ba005a007100c3001f20ff00df00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f00fb00ee00ba00a900ae00ba00ef20ff00df00f80488008d01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb 00ee00ba00ab00ae00ba001f20ff00df00f60422002d007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f00fb00ee00d600ab00ae00ba21ff00df00f90411001d01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f00fb00e100ee00ab00b100c3001f20ff00df00f40444004b007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f00fb00ef25ff00df00f80488008f01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb00ef25ff00df00f604220029007f00ff 00f80b00001f00ff00f80b00001f00ff00fd0011009f00fb26ff00df00f90411001f01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f00fb26ff00df00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f00fb26ff00df00f80488008001ff00f80b00001f00ff00f80b00001f00ff00fa0022005f00fb26ff00df00f60422002f007f1eff00fd0011009f00fb26ff00df00f9041100191fff00fa0044005f00fb26ff00df00f404440045007f1eff00fc0088009f00fb26ff 00df00f8048800871fff00fa0022005f00fb26ff00df00f60422002d007f1eff00fd0011009f00fb26ff00df00f90411001d1fff00fa0044005f00fb26ff00df00f40444004d007f1eff00fc0088009f00fb26ff00df00f80488008d1fff00fa0022005f00fb26ff00df00f60422002d007f1eff00fd0011009f00fb26ff00df00f90411001d1fff00fa0044005f00fb26ff00df00f40444004f007f1eff00fc0088009f00f82600001f00f8048800801fff00fa0022005f28ff00f60422002d007f1eff00fd0011 009f28ff00f90411001d1fff00fa0044005f28ff00f40444004d007f1eff00fc0088009f28ff00f80488008d1fff00fa0022005f28ff00f60422002d007f1eff00fd0011009f28ff00f90411001d1fff00fa0044005f28ff00f40444004d007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f28ff00f80488008d01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f28ff00f60422002d007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f28ff00f90411001f01ff00f80b00 001f00ff00f80b00001f00ff00fa0044005f28ff00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f28ff00f80488008701ff00f80b00001f00ff00f80b00001f00ff00fa0022005f28ff00f60422002d007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f28ff00f90411001d01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f28ff00f40444004d007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f28ff00f80488008d01ff00f80b00001f 00ff00f80b00001f00ff00fa0022005f01ff00f800dd008e003700e3000d00f0007f008d00df09ff00dd008c001f00e30076003800df008c003700c100fe0037007f05ff00f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f01ff00f7005d017700dd007500f700ff007500df09ff00dd0077007f00dd007500dd00df007500d700df00fd00d7007f05ff00f90411001f01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f01ff00f7005d017700dd007500f700ff007400d9 09ff00cd0077007f00dd007500dd00df007500d700df00fd00d3006705ff00f40444004e007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f01ff00f0005d0007007700c1000d00f000ff0075005909ff00d50077007f00c10074001d00df0004003700c300fd00d5006705ff00f80488008d01ff00f80300007c01420400001f00ff00f80100003f001f00bf0010008f000f001f009f0100001f00ff00fa0022005f01ff00f7006b017700dd007500f700ff0075009f09ff00d90077007f00dd00ad 00dd00df007500d700df00fd00d6007f05ff00f60422002d007f00ff00f8030002420400001f00ff00f801000010009000100390001000800000001f00ff00fd0011009f01ff00f7006b017700dd007500f700ff007500d909ff00dd0077007f00dd00ad00dd00df007500d700df00fd00d7006705ff00f90411001d01ff00f80300014200620400001f00ff00f801000010009000100190021000800000001f00ff00fa0044005f01ff00f7007700760030005d000c0010007f008d00d909ff00dd008f007f01dd 00d800c100740030004100fe0037006705ff00f40444004d007f00ff00f80300014200520400001f00ff00f801000010009000100190021000800000001f00ff00fc0088009f28ff00f80488008d01ff00f80300007c0042004a0400001f00ff00f801000010009e001f001000900010001e001f0100001f00ff00fa0022005f28ff00f60422002d007f00ff00f803000050004200460400001f00ff00f8010000100090001000900193009000140100001f00ff00fd0011009f28ff00f90411001d01ff00f80300 004801420400001f00ff00f80100001000900010039000120100001f00ff00fa0044005f28ff00f40444004d007f00ff00f80300004401420400001f00ff00f8010000100090001000900191009000110100001f00ff00fc0088009f28ff00f80488008d01ff00f803000042003c00420400001f00ff00f80100003f001f00bf000f000e008e009f009000800000001f00ff00fa0022005f130000ff130000f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f007f11ff00fe00ff007f 11ff00fe00f90411001f01ff00f80b00001f00ff00f80b00001f00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004f007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f007f11ff00fe00ff007f11ff00fe00f80488008d01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f007f11ff00fe00ff007f11ff00fe00f60422002d007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f007f11ff00fe00ff007f11ff00fe00f90411001d01ff00f80b00001f00ff 00f80b00001f00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004d007f00ff00f80b00001f00ff00f80b00001f00ff00fc0088009f007f11ff00fe00ff007f11ff00fe00f80488008d01ff00f80b00001f00ff00f80b00001f00ff00fa0022005f007f11ff00fe00ff007f11ff00fe00f60422002f007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f007c003800e3008f01ff00bf06ff00ef03ff00fe00ff007e0037005d008f00ff00fb08ff00bf02ff00fe00f90411001f01ff 00f80b00001f00ff00f80b00001f00ff00fa0044005f007d01dd007701ff00bf06ff00ef03ff00fe00ff007d00d7005d007700ff00fb08ff00bf02ff00fe00f404440048007f1eff00fc0088009f007d01dd007f00f100c2000b00b000ff0018006500ff001a006900ef00fc007100bb00ff00fe00ff007d00f7004d00f700e500c2005c002e00a700fc0061009700fc006900a700bf00f100c600ef00fe00f80488008f1fff00fa0022005f007c003d00dd008f00ee00bf00bb00af00fe00eb00aa00fe00e900a6 00ef00fb00ae00bb00ff00fe00ff007e0037005500cf00ea00ba00ab00ee009b00fb00ae00ab00fb00a6009b00bf00ee00ba00ef00fe00f604220026007f1eff00fd0011009f017d00dd00f700ee00c700ba00b100fe001b00aa00fe00eb00ee00ef00fb00ae00bb00ff00fe00ff007f00d7005900f700ea00ba00ac006e00bb00f8006e00ab00fb00af00bb00bf00ee00ba00ef00fe00f9041100161fff00fa0044005f007d00bd00dd007700ee00fb00ba00be00ce00fb00aa00ce00eb00ee00ef003b00ae00d7 00ff00fe00ff007d00d7005d007700ea00ba00af00ae00bb003b00ee00ab003b00af00bb00bc00ee00bb005f00fe00f404440046007f1eff00fc0088009f007d00d800e3008f00f0008700cd006100cf0018006a00cf001b00ee00ef003c003100ef00ff00fe00ff007e003800dd008f00ea00c200a8007100bb003c006100ab003c006f00bb00bc00f000c700bf00fe00f80488008f1fff00fa0022005f007f02ff00fe03ff00fb05ff00bf01ff00fe00ff007f08ff00ef04ff00fe01ff00fe00f60422002f007f 1eff00fd0011009f007f02ff00f103ff00fb04ff00fc007f01ff00fe00ff007f08ff00ef04ff00f101ff00fe00f90411001f1fff00fa0044005f007f11ff00fe00ff007f11ff00fe00f404440048007f1eff00fc0088009f007f11ff00fe00ff007f11ff00fe00f8048800871fff00fa0022005f130000ff130000f60422002f007f1eff00fd0011009f007f11ff00fe00ff007f11ff00fe00f9041100141fff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004f007f1eff00fc0088009f007f11ff 00fe00ff007f11ff00fe00f80488008f1fff00fa0022005f007f11ff00fe00ff007f11ff00fe00f60422002c007f1eff00fd0011009f007f11ff00fe00ff007f11ff00fe00f90411001f1fff00fa0044005f007f11ff00fe00ff007f11ff00fe00f404440040007f1eff00fc0088009f007f11ff00fe00ff007f11ff00fe00f80488008f1fff00fa0022005f007f11ff00fe00ff007f11ff00fe00f604220021007f00ff00f80b00001f00ff00f80b00001f00ff00fd0011009f007e0037005d00ef02ff00ef06ff 00bf02ff00fe00ff007e0030006301ff00fe00fc006f05ff00ef03ff00fe00f90411001f01ff00f80b00001f00ff00fb0bff00df00ff00fa0044005f007d00d7005d00cf02ff00ef06ff00bf02ff00fe00ff007d00d700dd01ff00fe00fb00af05ff00ef03ff00fe00f40444004f007f00ff00f80b00001f00ff00fb0bff00df00ff00fc0088009f007d00f7004d00af00f00087001a006e00bb00fc0061009700fc006900a700bf00f100c600ef00fe00ff007d00f700dd00ff00e500c2001b00ae00ff00180065 00ff001a006900ef00fc007100bb00ff00fe00f80488008f01ff00f80b00001f00ff00fb0bff00df00ff00fa0022005f007e00370055006f00ef00bb00e900ad00bb00fb00ae00ab00fb00a6009b00bf00ee00ba00ef00fe00ff007e003000dd00ff00ea00be00ec006d00fe00eb00aa00fe00e900a600ef00fb00ae00bb00ff00fe00f604220027007f00ff00f80b00001f00ff00fb0bff00df00ff00fd0011009f007f00d70059000700f100bb000b00e300bb00f8006e00ab00fb00af00bb00bf00ee00ba00ef 00fe00ff007f00d700d500ff00ea00c600eb00a300fe001b00aa00fe00eb00ee00ef00fb00ae00bb00ff00fe00f90411001f01ff00f80b00001f00ff00fb0bff00df00ff00fa0044005f007d00d7005d00ef00fe00ba00eb00ed00d7003b00ee00ab003b00af00bb00bc00ee00bb005f00fe00ff007d00d700db00ff00ea00fa00eb00ad00ce00fb00aa00ce00eb00ee00ef003b00ae00d700ff00fe00f404440040007f00ff00f80b00001f00ff00fb0bff00df00ff00fc0088009f007e003800dd00ef00e10087 000b00ee00ef003c006100ab003c006f00bb00bc00f000c700bf00fe00ff007e0030006500ff00ea0086001c006e00cf0018006a00cf001b00ee00ef003c003100ef00ff00fe00f80488008f01ff00f80b00001f00ff00fb0bff00df00ff00fa0022005f007f03ff00bf01ff00df00ff00ef04ff00fe01ff00fe00ff007f07ff00fb05ff00bf01ff00fe00f60422002f007f00ff00f80b00001f00ff00fb0bff00df00ff00fd0011009f007f03ff00bf01ff00bf00ff00ef04ff00f101ff00fe00ff007f07ff00fb 04ff00fc007f01ff00fe00f90411001c01ff00f80b00001f00ff00fb0bff00df00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004c007f00ff00f80b00001f00ff00fb0bff00df00ff00fc0088009f007f11ff00fe00ff007f11ff00fe00f80488008c01ff00f80b00001f00ff00fb0bff00df00ff00fa0022005f130000ff130000f60422002f007f00ff00f80b00001f00ff00fb0bff00df00ff00fd0011009f007f11ff00fe00ff007f11ff00fe00f90411001f01ff00f801000020008f0010 009f003f008f001f0200001f00ff00fb03ff000e00f6000c000703ff00df00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004f007f00ff00f8010000200190008400040010009000800100001f00ff00fb02ff00fe00f600f701bf03ff00df00ff00fc0088009f007f11ff00fe00ff007f11ff00fe00f80488008701ff00f80100003100900098008400040010009000800100001f00ff00fb02ff00fe00f600f701bf03ff00df00ff00fa0022005f007f11ff00fe00ff007f11ff00fe00f60422 002f007f00ff00f80100002a00900094008400040010009000800100001f00ff00fb02ff00fe00f600f701bf03ff00df00ff00fd0011009f007f11ff00fe00ff007f11ff00fe00f90411001f01ff00f80100002400900092008400040010009f0200001f00ff00fb02ff00fe00f600f701bf03ff00df00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f40444004f007f00ff00f8010000240090009100840004001000940200001f00ff00fb02ff00fe00f600f701bf03ff00df00ff00fc0088009f007f 11ff00fe00ff007f11ff00fe00f80488008f01ff00f801000020019000840004001000920200001f00ff00fb02ff00fe00b600f701bf03ff00df00ff00fa0022005f007f11ff00fe00ff007f11ff00fe00f60422002d007f00ff00f801000020019000840004001000910200001f00ff00fb02ff00fe00d600f701bf03ff00df00ff00fd0011009f007c003800e3008f01ff00fe04ff00fe00ef01ff00bf01ff00fe00ff007e00370043000707ff00bf05ff00fe00f90411001d01ff00f801000020008f0010009f 0004000f001000800100001f00ff00fb03ff000f000e000f00bf03ff00df00ff00fa0044005f007d01dd007701ff00fe00fb03ff00fe00ef01ff00bf01ff00fe00ff007d00d7005d007f07ff00bf05ff00fe00f40444004d007f00ff00f80b00001f00ff00fb03ff00f706ff00df00ff00fc0088009f007d01dd007f00f100bb0008003f00a700fc007000fe00e8002e00ff001c002e01ff00fe00ff007d00f7005d007f00e900bb00fc0061009700fc006900a700bf00f100c600ef02ff00fe00f80488008b01ff 00f80b00001f00ff00fb0bff00df00ff00fa0022005f007c003d00dd008f00fe00ba00fe00fb009b00fb00af00fe00ee00ed00fe00eb00ae01ff00fe00ff007d00f70043000f00e600d700fb00ae00ab00fb00a6009b00bf00ee00ba00ef02ff00fe00f60422002f007f00ff00f80b00001f00ff00fb0bff00df00ff00fd0011009f017d00dd00f700f000bb001e00fb00bb00fb00f100fe00ee00e300fe001b00ae01ff00fe00ff007d00f7005d007f01ef00f8006e00ab00fb00af00bb00bf00ee00ba00ef02ff 00fe00f90411001901ff00f80b00001f00ff00fb0bff00df00ff00fa0044005f007d00bd00dd007700ee00bb00ee00fb00bb003b00fe00ce00ee00ed00ce00fb00ae01ff00fe00ff007d00d7005d007f00ef00d7003b00ee00ab003b00af00bb00bc00ee00bb005f02ff00fe00f40444004f007f00ff00f80b00001f00ff00fb0bff00df00ff00fc0088009f007d00d800e3008f00f000c6001f003b00bb003c002100cf001f002e00cf001c003101ff00fe00ff007e003800c3000700ef00bb003c006100ab003c 006f00bb00bc00f000c700bf02ff00fe00f80488008f01ff00f80b00001f00ff00fb0bff00df00ff00fa0022005f007f11ff00fe00ff007f05ff00ef04ff00fe04ff00fe00f604220020007f00ff00f80b00001f00ff00fb0bff00df00ff00fd0011009f007f11ff00fe00ff007f05ff00ef04ff00f104ff00fe00f90411001f01ff00f80b00001f00ff00fb0bff00df00ff00fa0044005f007f11ff00fe00ff007f11ff00fe00f404440049007f00ff00f80b00001f00ff00fb0bff00df00ff00fc0088009f007f 11ff00fe00ff007f11ff00fe00f80488008501ff00f80b00001f00ff00f80b00001f00ff00fa0022005f007f11ff00fe00ff130000f604220027007f1eff00fd0011009f130000ff007f11ff00fe00f90411001d1fff00fa0044005f14ff007f11ff00fe00f40444004d007f1eff00fc0088009f14ff007f11ff00fe00f80488008d1fff00fa0022005f14ff007f11ff00fe00f60422002d007f1eff00fd0011009f14ff007f11ff00fe00f90411001d1fff00fa0044005f14ff007f11ff00fe00f40444004d007f 1eff00fc0088009f14ff007f11ff00fe00f80488008f1fff00fa0022005f14ff007f11ff00fe00f604220020007f04ff1855005700fd0011009f14ff007c003800e3008f09ff00ef03ff00fe00f90411001d04ff00fe18aa00af00fa0044005f14ff007d01dd007709ff00ef03ff00fe00f40444004d007f04ff007f17ff00f700fc0088009f14ff007d01dd007f00f1008200ea007100ff0018006500ff001a006900ef00fc007100bb00ff00fe00f80488008d04ff00fe18ff00ef00fa0022005f14ff007c003d 00dd008f00fe00f600e900ae00fe00eb00aa00fe00e900a600ef00fb00ae00bb00ff00fe00f60422002d007f04ff007f17ff00f700fd0011009f14ff017d00dd00f700f000c600eb00e100fe001b00aa00fe00eb00ee00ef00fb00ae00bb00ff00fe00f90411001d04ff00fe00f0000114ff00f8000000ef00fa0044005f14ff007d00bd00dd007700ee00de00eb00ef00ce00fb00aa00ce00eb00ee00ef003b00ae00d700ff00fe00f40444004d007f04ff007700fd00ff0187007b0003000700870dff00fb00b6 00f700fc0088009f14ff007d00d800e3008f00f00083001b00f100cf0018006a00cf001b00ee00ef003c003100ef00ff00fe00f80488008d04ff00fe00f400f500ff027b007f00df007b0dff00fb00b600ef00fa0022005f14ff007f07ff00fb05ff00bf01ff00fe00f60422002d007f04ff0076006d00ff007f007b003b007f00df007f0dff00fb00b600f700fd0011009f14ff007f07ff00fb04ff00fc007f01ff00fe00f90411001d04ff00fe00f7002d00ff007f007b005b007f00df007f0dff00f8003600ef 00fa0044005f14ff007f11ff00fe00f40444004f007f04ff0077007d00ff007f007b006b000f00df007f0dff00fb00f600f700fc0088009f14ff007f11ff00fe00f80488008f04ff00fe00f6009d00ff007f007b0073007f00df00630dff00fb00f600ef00fa0022005f14ff007f11ff00fe00f6042200270555007600cd00ff007f017b007f00df007b0dff00f8000600f500550011009f14ff130000f90411001d05aa00f500e500ff027b007f00df00730dff00fb00fe00ea00aa0044005f28ff00f40444004d 04880089007700fd00ff0187007b007f0007008b0dff00fb00fe00f00188009f28ff00f80488008d052200f0000114ff00f8000000ea0122005f28ff00f60422002d0511007f17ff00f10111009f28ff00f90411001f054418ff00ec0144005f28ff00f40444004f04880089007f17ff00f00188009f28ff00f80488008e052219aa0122005f28ff00f60422002d0511185500510111009f28ff00f90411001d054400a0010000200e000008010000080100000c0144295500540444004d04880089180000100188 29aa00a80488008d052200df17ff00ea3122002d0511001f17ff00f13111001d0544009f17ff00ec3144004d04880089001f17ff00f03188008d0522009f17ff00ea3122002d0511001f17ff00f13111001f0544009f17ff00ec3144004f04880089001f17ff00f03188008f0522009f17ff00ea3122002d0511001f17ff00f13111001d0544009f00ff00fe0700000101ff00800700007f00ff00ec3144004d04880089001f00ff00fe0700000101ff00bf07ff007f00ff00f03188008d0522009f00ff00fe0700 000101ff00bf07ff007f00ff00ea3122002d0511001f00ff00fe0700000101ff00bf07ff007f00ff00f13111001f0544009f00ff00fe0700000101ff00bf07ff007f00ff00ec3144004f04880089001f00ff00fe0700000101ff00bf07ff007f00ff00f032880522009f00ff00fe0700000101ff00bf07ff007f00ff00ea3122002f0511001f00ff00fe0200001c00f300c00100000101ff00bf00ff00e1008200f80020008301ff007f00ff00f1311100160544009f00ff00fe02000022004900200100000101ff 00bf00ff00f600be01fb00bf01ff007f00ff00ec3144004604880089001f00ff00fe02000022004900200100000101ff00bf00ff00f600be01fb00bf01ff007f00ff00f0318800860522009f00ff00fe0200003e004900200100000101ff00bf00ff00f6008600f8007b008701ff007f00ff00ea3122002f0511001f00ff00fe02000022004900200100000101ff00bf00ff00f600be01fb00bf01ff007f00ff00f13111001f0544009f00ff00fe02000022004900200100000101ff00bf00ff00f600be01fb00bf 01ff007f00ff00ec3144004f04880089001f00ff00fe0200002200f300c00100000101ff00bf00ff00e100820008003b008301ff007f00ff00f032880522009f00ff00fe0700000101ff00bf07ff007f00ff00ea312200270511001f00ff00fe0700000101ff00bf07ff007f00ff00f13111001f0544009f00ff00fe0700000101ff00bf07ff007f00ff00ec324404880089001f00ff00fe0700000101ff00bf07ff007f00ff00f03188008f0522009f00ff00fe0700000101ff00bf07ff007f00ff00ea31aa00af 0511001f00ff00fe0700000101ff00bf07ff007f00ff00f53155005c0544009f00ff00fe0700000101ff00bf07ff007f00ff00eb31ff00af04880089001f00ff00fe0700000101ff00800700007f00ff00f731ff00c00522009f17ff00eb31ff00af0511001f17ff00f70080000f2dff00e0000300d10544009f17ff00eb00bf00ef00f000380010003b00dc00380018003f25ff00ee00db00af04880089001f17ff00f700a700af00fb00db00fb02db00fb00df25ff00ee00db00cf0522009f17ff00eb00b3006f 00fb00db00fb01db01fb00df25ff00ee00db00af0511001f17ff00f700b9006f00fb00db00fb01db01fb00df25ff00e000db00d70544009f17ff00eb00bb00ef00fb00d80078003b00db00f80078003f25ff00ef00db00af04880089001f17ff00f700b400ef00fb00db00fb01db001b00fa26ff00ef00db00c00522009f170000eb00b6006f00fb00db00fb02db00fb007f25ff00e0001b00af0511001f007f15ff00fe00f700af002f00fb00db00fb01db009b00fb00bf25ff00ef00fb00df0544009f007f15ff 00fe00eb00bf00ef00f000380010013c0058001b00df25ff00ef00fb00ac04880089001f007f15ff00fe00f70080000f2dff00e0000300cc0522009f007f15ff00fe00eb31ff00ac0511001f007f08ff00fc007f03ff00f105ff00fe00f731ff00df0544009f007e003f00ff007f00fd01ff007f01ff00fd00dd00ff00f701ff00fd05ff00fe00eb31ff00af04880089001f007d00df00ff007f007d01ff007f01ff00fd00c900ff01f700ff00fd05ff00fe00f53155004f0522009f007d00d400e3000f00f00063 008c00170053008f00fd00d5008e003000ff004e003d00e704ff00fe00ea31aa00a70511001f007c0013005d0077007d00dd0177004d007700fd00dd00f500d70077003500dd00e704ff00fe00f4310000df0544009f007d00d700df0077007d00c3007f0077005f000f00fd00dd008500f700770074003d05ff00fe00eb31ff00af04880089001f007d00d700df0077007d00df007f0077005f007f00fd00dd007500f70077007500fd00e704ff00fe00f731ff00cf0522009f007d00d700e10077007e00630087 009800df008f00fd00dd0086001700770076003d00e704ff00fe00eb31ff00af0511001f007f08ff00fc007f03ff00f105ff00fe00f731ff00dd0544009f007f15ff00fe00eb31ff00ad04880089001f007f15ff00fe00f731ff00cd0522009f007f15ff00fe00eb31ff00ab0511001f007f15ff00fe00f705ff00f9003f03ff003f01ff00fe007f003f00fc007f009f00ff00f301ff009300c9000000ff00fc05ff00cf00ff00e306ff00c100e001ff00df0544009f007c001000dd0004001004ff007f04ff00fd 05ff00fe00eb05ff00f9003f03ff003f01ff00fc007f003f00f9003f009f00ff00f300fe007f009300c900e700ff00fc05ff00cf00ff00cf06ff009c00ce007f00ff00a904880089001f007f0077005d00dd00f7007f03ff007f04ff00fd05ff00fe00f705ff00f3003f02ff00fe007f01ff00f8007e007f00f3009f003f01ff00fe007f003300cf00e700ff00f905ff00cf00ff00cf06ff009c00ce007f00ff00cf0522009f007f0077005d00dd00f7007f008e003800e3004c001f00e3000c00bf00e3004d003d 00ff008e0037007f01ff00fe00eb05ff00f30003008300040070007e007000ce004000fa007e00670033009f003800180033000c001f003300c900e700c100f90081009e00410018011c000c001f008306ff009c00ce007f00ff00af0511001f007f007000dd00dc003000ff007500d7005d0037007f00dd0075005f00dd003400dd00ff007500d7007f01ff00fe00f705ff00e7013900330027003c00e6014e0072007c00e70033009e0073009300920066007e0070000900e7009c00f3009c009e004c03c901cf 06ff00c100e001ff00d00544009f007f007701dd00f500ff007d00d700430077007f00c30075005f00dd007d00dd00ff007500d7007f01ff00fe00eb05ff00e7013900330027003c00e300ce004e0066007c00e70033009e007300930092003e007e007300c900e7009f00f3009c01cc03c901cf06ff009c00ce007f00ff00af04880089001f007f007701dd00f600ff007d00d7005f0077007900df0075005900dd007d00dd00e7007500da02ff00fe00f705ff00cf013900330020003900f000ce004e00660079 00e70033009c00f300900013000e007c00f300c900e7009f00e7009c01cc02c900c8000f00cf06ff009c00ce007f00ff00c90522009f007f007700e300dc0017007f0086003800630077009900e3000d005900e3007d00dd00e70086003d02ff00fe00eb05ff00cf01390033002700f900fc014e0060003900e70033009c00f3009300f300c6007c00f300c900e7009c00e7009c00ed00cc03c900ff00cf06ff009c00ce007f00ff00a50511001f007f06ff007f02ff007f04ff00f703ff00fe00f705ff009f0139 00330027003300e6014e007e007300e7013900f3009300920066007900f300c900e7009c00cf009c00e100cc03c900cc00cf06ff009c00ce007f00ff00d70544009f007f05ff00f803ff007f04ff008f00ff00c101ff00fe00eb05ff009f0039008300330030007300f000e0004e007e007300f0003c007900f800180033000f001900f300c900e700c100cf008100f300cc00c900cc001c000c001c00cf06ff00c100e001ff00ad04880089001f007f15ff00fe00f714ff009f07ff009f12ff00cd0522009f007f 15ff00fe00eb13ff00f3009f07ff009f12ff00ad0511001f007f15ff00fe00f713ff00f8003f07ff009f12ff00dd0544009f007f15ff00fe00eb31ff00ad04880089001f007f15ff00fe00f731ff00cd0522009f007f15ff00fe00eb31ff00af0511001f007f15ff00fe00f731ff00d00544009f007f15ff00fe00eb31ff00ad04880089001f007f15ff00fe00f731ff00cd0522009f007f15ff00fe00e83000000100ad0511001f007f15ff00fe00f700ff00f72fff00dd0544009f007f15ff00fe00eb00ff00f7 2fff00ad04880089001f007f15ff00fe00f700ff00f72fff00cd0522009f007f15ff00fe00eb00ff00f72fff00ad0511001f170000f700ff00f70aff00df00ff00df00ff00f700ff007f00ff007f1bff00dd0544009f17ff00eb00ff00f70aff00df00ff009f00fd00e700fe007f00ff007f00ff00f719ff00ad04880089001f17ff00f700ff00f70aff00df00ff005f00ff00d700fd007f00ff007f1bff00cf0522009f17ff00eb00ff00f709ff00fe001800ff00df00f900f70007007f00d3000e003800e7008f 18ff00af0511001f170000f700ff00f709ff00fd00d7007f00df00fd00f700ff007f00cd007700d7017718ff00d70544009f007f15ff00fe00eb00ff00f709ff00fd00d7007f00df00fd00f700ff007f00dd0076001900f7009f18ff00ad04880089001f007f15ff00fe00f700ff00f709ff00fd00d7007f00df00fd00f70007007f00dd007500de00f700ef18ff00cd0522009f007f15ff00fe00eb00ff00f709ff00fd00d7007f00df00fd00f700ff007c00dd007500d7017718ff00ad0511001f007f15ff00fe 00f700ff00f709ff00fe001800ff000700f800c100fc001d00dd000e001800e3008f18ff00dd0544009f007f15ff00fe00eb00ff00f702ff00fe007f0bff00fb1dff00af04880089001f007f15ff00fe00f700ff00f702ff00fc003f2aff00cf0522009f007f15ff00fe00eb00ff00f702ff00f9009f2aff00ae0511001f007f15ff00fe00f700ff00f72fff00dd0544009f007c003800e3008f01ff00bf06ff00ef07ff00fe00eb00ff00f70cff00fd00ff007f02ff007f00df01ff00f717ff00ad04880089001f 007d01dd007701ff00bf06ff00ef07ff00fe00f700ff00f70cff00ed00ff007701ff00fb007f00dd01ff00f700ef16ff00cd0522009f007d01dd007f00f100c2000b00b000ff0018006500ff001a006900ef00fc007100bb04ff00fe00eb00ff00f70cff00fd00ff007f02ff007f00df01ff007700ef16ff00ad0511001f007c003d00dd008f00ee00bf00bb00af00fe00eb00aa00fe00e900a600ef00fb00ae00bb04ff00fe00f700ff00f70cff00cd00b80067008e00300073006e001900e3008f007600c3008c 003f14ff00dd0544009f017d00dd00f700ee00c700ba00b100fe001b00aa00fe00eb00ee00ef00fb00ae00bb04ff00fe00eb00ff00f70cff00ed017700f500df00fb005d00dd00fd0074001500ef007500df14ff00ad04880089001f007d00bd00dd007700ee00fb00ba00be00ce00fb00aa00ce00eb00ee00ef003b00ae00d704ff00fe00f700ff00f70cff00ec00f70077008500df00fb003d00dd00e10077007300ef007500df14ff00cd0522009f007d00d800e3008f00f0008700cd006100cf0018006a00cf 001b00ee00ef003c003100ef04ff00fe00eb00ff00f70cff00ed0177007500d0007b005d01dd0077007500ef007500df14ff00ad0511001f007f02ff00fe03ff00fb05ff00bf05ff00fe00f700ff00f70cff00ed00b700770076001f00fb006d01dd008700f600ed0074003f14ff00dd0544009f007f02ff00f103ff00fb04ff00fc007f05ff00fe00eb00ff00f70cff006d00d80063008700df00db0076001800e101f70073008d15ff00af04880089001f007f15ff00fe00f700ff00f70cff006f01ff00fd00df 00db02ff007701ff00fd15ff00cf0522009f007f15ff00fe00eb00ff00f70cff009f01ff00fe003f00e702ff008f01ff00fd15ff00af0511001f170000f700ff00f72fff00dd0544009f007f15ff00fe00eb00ff00f72fff00ad04880089001f007f15ff00fe00f700ff00f70cff007d00ff007f01ff00df007f00df01ff00f717ff00cd0522009f007f15ff00fe00eb00ff00f70cff007d00ff007701ff00df007f00dd01ff00f700ef16ff00ad0511001f007f15ff00fe00f700ff00f70cff007d00ff007f01ff 00df007f00df01ff007700ef16ff00dd0544009f007f15ff00fe00eb00ff00f703ff008f07ff006d00b80067008e0030005b006e001900e3008f007600c3008c003f14ff00af04880089001f007f15ff00fe00f700ff00f703ff007707ff005d017700f500df00d7005d00dd00fd0074001500ef007500df14ff00cf0522009f007f15ff00fe00eb00ff00f703ff007f07ff003c00f70077008500df00cf003d00dd00e10077007300ef007500df14ff00a80511001f007f15ff00fe00f700ff00f703ff007f07ff 005d0177007500d00057005d01dd0077007500ef007500df14ff00df0544009f007e0037005d00ef02ff00ef06ff00bf06ff00fe00eb00ff00f703ff007707ff006d00b700770076001f00db006d01dd008700f600ed0074003f14ff00a604880089001f007d00d7005d00cf02ff00ef06ff00bf06ff00fe00f700ff00f703ff008f07ff007500d80063008700df00dd0076001800e101f70073008d15ff00c60522009f007d00f7004d00af00f00087001a006e00bb00fc0061009700fc006900a700bf00f100c6 00ef03ff00fe00eb00ff00f70fff00fd00df03ff007701ff00fd15ff00a60511001f007e00370055006f00ef00bb00e900ad00bb00fb00ae00ab00fb00a6009b00bf00ee00ba00ef03ff00fe00f700ff00f70fff00fe003f03ff008f01ff00fd15ff00df0544009f007f00d70059000700f100bb000b00e300bb00f8006e00ab00fb00af00bb00bf00ee00ba00ef03ff00fe00eb00ff00f72fff00af04880089001f007d00d7005d00ef00fe00ba00eb00ed00d7003b00ee00ab003b00af00bb00bc00ee00bb005f 03ff00fe00f700ff00f72fff00cf0522009f007e003800dd00ef00e10087000b00ee00ef003c006100ab003c006f00bb00bc00f000c700bf03ff00fe00eb00ff00f70cff00f700ff00f7000701ff00fd00ff007f02ff007f00df01ff00f700fd10ff00a80511001f007f03ff00bf01ff00df00ff00ef04ff00fe05ff00fe00f700ff00f70cff00f700ff00e7007f00fd00ff00ed00ff007701ff00fb007f00dd01ff00f700fd00df0fff00d70544009f007f03ff00bf01ff00bf00ff00ef04ff00f105ff00fe00eb 00ff00f70cff00f700ff00d7007f01ff00fd00ff007f02ff007f00df01ff007700fd10ff00af04880089001f007f15ff00fe00f700ff00f70cff0086003f00f7004f00f900c100cd00b80067008e003f00f3006e001900e3008f007600e1009e00380eff00c40522009f007f15ff00fe00eb00ff00f70cff007500df00f7003700fd00ff00ed017700f500df00fb005d00dd00fd0074001500dd00df00d7007f0dff00af0511001f170000f700ff00f70cff007500df01f700fd00ff00ec00f70077008500df00fb 003d00dd00e10077007300dd00de0017007f0dff00df0544009f007f15ff00fe00eb00ff00f70cff007500df01f700fd00c100ed0177007500df00fb005d01dd0077007501dd00d7007f0dff00ac04880089001f007f15ff00fe00f700ff00f70cff007500df00f7007700fd00ff00ed00b700770076001c00fb006d01dd008700f601dd00d8007f0dff00cf0522009f007f15ff00fe00eb00ff00f70cff0086003f00c1008f00f800ff006d00d80063008700dd00db0076001800e101f70061008e001f007f0dff 00a00511001f007f15ff00fe00f700ff00f712ff006f01ff00fd01db02ff007702ff00f7007f0dff00df0544009f007f15ff00fe00eb00ff00f712ff009f01ff00fe003f00e702ff008f02ff00f80eff00a104880089001f007f15ff00fe00f700ff00f72fff00cf0522009f007f15ff00fe00eb00ff00f72fff00af0511001f007f15ff00fe00f700ff00f70eff00fd00ff00fd00c101ff00f719ff00df0544009f007e0037005d008f00ff00fb08ff00bf06ff00fe00eb00ff00f70eff00fd00ff00f900df00ff 00bf00e702ff00fe15ff00a704880089001f007d00d7005d007700ff00fb08ff00bf06ff00fe00f700ff00f70eff00fd00ff00f500df01ff00d702ff00fe15ff00cf0522009f007d00f7004d00f700e500c2005c002e00a700fc0061009700fc006900a700bf00f100c600ef03ff00fe00eb00ff00f70eff00e1008f00fd00d300ff0030007700fd003400cb008c003f14ff00a00511001f007e0037005500cf00ea00ba00ab00ee009b00fb00ae00ab00fb00a6009b00bf00ee00ba00ef03ff00fe00f700ff00f7 0eff00dd007700fd00cd00ff00bf00f700fc00d3005500f615ff00df0544009f007f00d7005900f700ea00ba00ac006e00bb00f8006e00ab00fb00af00bb00bf00ee00ba00ef03ff00fe00eb00ff00f70eff00dd007701fd00ff00bf00f700fd00d700d5008615ff00af04880089001f007d00d7005d007700ea00ba00af00ae00bb003b00ee00ab003b00af00bb00bc00ee00bb005f03ff00fe00f700ff00f70eff00dd007701fd00ff00b0007700fd00d700d5007615ff00cc0522009f007e003800dd008f00ea 00c200a8007100bb003c006100ab003c006f00bb00bc00f000c700bf03ff00fe00eb00ff00f70eff00dd007700fd00dd00ff00bf00f700cd00d700d5007600df14ff00ac0511001f007f08ff00ef04ff00fe05ff00fe00f700ff00f70eff00e1008f00f0006300fd00bf00c100dd00d700dd0087003f14ff00dc0544009f007f08ff00ef04ff00f105ff00fe00eb00ff00f712ff00fd00bf00ff00bf18ff00af04880089001f007f15ff00fe00f700ff00f712ff00fe007f1aff00cf0522009f007f15ff00fe00eb 00ff00f72fff00af0511001f170000f700ff00f72fff00d70544009f007f15ff00fe00eb00ff00f711ff00f300ff00bf00e700ef00fb03ff00bf00ff00df10ff00af04880089001f007f15ff00fe00f700ff00f710ff00fd00ed00ff007f00f700df00bd02ff00f700df00fb00df10ff00cf0522009f007f15ff00fe00eb00ff00f711ff00ef00ff007f00f700df00fd03ff00df00fb00df10ff00af0511001f007f15ff00fe00f700ff00f710ff00f900ef00fe00f400f700bf003e00ff008e001f00e700ef00f0 00d3008d003f0eff00df0544009f007f15ff00fe00eb00ff00f710ff00fd00c300fe00f3007700bf00be00ff007500df00f700ef00fb00cd007400df0eff00ad04880089001f007f15ff00fe00f700ff00f710ff00fd00ef00fe00f7007700bf00be00ff000500df00f700ef00fb00dd000500df0eff00cd0522009f007f15ff00fe00eb00ff00f710ff00fd00ef00ff017700df00bd00ff007d00df00f700df00fb00dd007d00df0eff00ad0511001f007f15ff00fe00f700ff00f710ff00fd00ef00ff017700df 00bd00f70076001d00f700df00fb005d007500df0eff00db0544009f007e0030006301ff00fe00fc006f05ff00ef07ff00fe00eb00ff00f710ff00f800ef00ff00b7006300ed00bb00e3008f00d800e300bf00fc00dd008d00df0eff00af04880089001f007d00d700dd01ff00fe00fb00af05ff00ef07ff00fe00f700ff00f715ff00fd00bf00f700ff00dd14ff00c90522009f007d00f700dd00ff00e500c2001b00ae00ff0018006500ff001a006900ef00fc007100bb04ff00fe00eb00ff00f715ff00fe007f 01ff00df14ff00af0511001f007e003000dd00ff00ea00be00ec006d00fe00eb00aa00fe00e900a600ef00fb00ae00bb04ff00fe00f700ff00f72eff00e100df0544009f007f00d700d500ff00ea00c600eb00a300fe001b00aa00fe00eb00ee00ef00fb00ae00bb04ff00fe00eb00ff00f72eff00e100a004880089001f007d00d700db00ff00ea00fa00eb00ad00ce00fb00aa00ce00eb00ee00ef003b00ae00d704ff00fe00f700ff00f716ff007e00e701ff00ef03ff00fd00fb009f01ff00bf00f701ff00bf 00ff00fe00ff007b00ff00e100cf0522009f007e0030006500ff00ea0086001c006e00cf0018006a00cf001b00ee00ef003c003100ef04ff00fe00eb00ff00f712ff00bf01ff00be007d00f700ff00fd00f700fe01ff00fe00f900f700df00ff00f700df00f700ff00bf007e00ff00ef007f007700ff00e100a90511001f007f07ff00fb05ff00bf05ff00fe00f700ff00f712ff00bf01ff00bd007d00f701ff00f700fe01ff00fe00f500f700df01ff00df007700ff00bf007f01ff007e00f700ff00e100d50544 009f007f07ff00fb04ff00fc007f05ff00fe00eb00ff00f712ff000e0037004b000f007b00f7007700f900fb0004003800dd002c003d00ef00dd00df00e700ef007000cb000e00fc00ff00cf00be00ef008c00a100a704880089001f007f15ff00fe00f700ff00f712ff00bf00d7005500bf007b00f7007700fd00fb00fe00ff005d005600fd00ef00dd00df00f700ec0017005500be00fe00ff00ef00bd00ef00f5004100cd0522009f007f15ff00fe00eb00ff00f712ff00be0017005500bf007b00f7007700fd 00fb00fe00f8005d005600fd00ef00dd00df00f700ef0077005500be00fe00ff00ef00bb00ef0085004100ad0511001f170000f700ff00f712ff00bd00d7005500bf007d00f700af00fd00f7000600f7005d005600fd00f700de00bf00f700df0077005500bf007e00ff00ef007b00f70075004100dd0544009f007f15ff00fe00eb00ff00f712ff00b500d6005500b7007d00f700af003d00f700fe00d70059005600dd00f700de00bc00f700df00f7005500b7007e00f300ef007700f70075004100ad04880089 001f007f15ff00fe00f600aa00b712ff00ce0019005d00cc001e00e300df007800ef00ff0038006500770030007b008f007d00e300bf00f000dd00cf00b600f7006e00f700fb008500c100cd0522009f007f15ff00fe00eb0055005718ff00fe08ff00fb04ff00f600ef006f02ff00e100ad0511001f007f15ff00fe00f600aa00b728ff00f900ff009f02ff00e100df0544009f007f15ff00fe00eb005500572fff00a004880089001f007f15ff00fe00f600aa00b72fff00cd0522009f007f15ff00fe00eb0055 005712ff00f700fc1aff00ad0511001f007f15ff00fe00f600aa00b712ff00f7007b007f19ff00dd0544009f007e00370043000707ff00bf09ff00fe00eb0055005712ff00f700fb1aff00ad04880089001f007d00d7005d007f07ff00bf09ff00fe00f600aa00b710ff00f800d30086007b1aff00cd0522009f007d00f7005d007f00e900bb00fc0061009700fc006900a700bf00f100c600ef06ff00fe00eb00ff00f710ff00f7004d007700701aff00ad0511001f007d00f70043000f00e600d700fb00ae00ab 00fb00a6009b00bf00ee00ba00ef06ff00fe00f700ff00f710ff00f0005d0077007b1aff00dd0544009f007d00f7005d007f01ef00f8006e00ab00fb00af00bb00bf00ee00ba00ef06ff00fe00eb00ff00f710ff00f700dd0077007b1aff00ad04880089001f007d00d7005d007f00ef00d7003b00ee00ab003b00af00bb00bc00ee00bb005f06ff00fe00f700ff00f710ff00f7005d0077007b1aff00cd0522009f007e003800c3000700ef00bb003c006100ab003c006f00bb00bc00f000c700bf06ff00fe00eb 00ff00f710ff00f800dd0086003b1aff00af0511001f007f05ff00ef04ff00fe08ff00fe00f700ff00f72fff00df0544009f007f05ff00ef04ff00f108ff00fe00eb00ff00f02e00000100a704880089001f007f15ff00fe00f700ff00f72fff00cd0522009f007f15ff00fe00eb00ff00f229aa00af04ff00ad0511001f170000f700ff00f52955005704ff00dd0544009f007f15ff00fe00eb00ff00f229aa00af04ff00ad04880089001f007f15ff00fe00f700ff00f52955005704ff00cf0522009f007f15ff 00fe00eb00ff00f229aa00af04ff00af0511001f007f15ff00fe00f700ff00f52955005704ff00de0544009f007f15ff00fe00eb00ff00f229aa00af04ff00ad04880089001f007f15ff00fe00f700ff00f52955005704ff00cd0522009f007f15ff00fe00eb00ff00f229aa00af01ff00e0000700ff00ad0511001f007f15ff00fe00f700ff00f52955005701ff00e0000700ff00dd0544009f007c003800e3008f01ff00fe04ff00fe00ef01ff00bf05ff00fe00eb00ff00f229aa00af01ff00e0000700ff00ad 04880089001f007d01dd007701ff00fe00fb03ff00fe00ef01ff00bf05ff00fe00f700ff00f52955005701ff00e0000700ff00cd0522009f007d01dd007f00f100bb0008003f00a700fc007000fe00e8002e00ff001c002e05ff00fe00eb00ff00f72cff00e0000700ff00ad0511001f007c003d00dd008f00fe00ba00fe00fb009b00fb00af00fe00ee00ed00fe00eb00ae05ff00fe00f43000000100dd0544009f017d00dd00f700f000bb001e00fb00bb00fb00f100fe00ee00e300fe001b00ae05ff00fe00eb 2eff00e0000700ff00ad04880089001f007d00bd00dd007700ee00bb00ee00fb00bb003b00fe00ce00ee00ed00ce00fb00ae05ff00fe00f72eff00e0000700ff00cf0522009f007d00d800e3008f00f000c6001f003b00bb003c002100cf001f002e00cf001c003105ff00fe00eb2eff00e0000700ff00af0511001f007f15ff00fe00f72eff00e0000700ff00df0544009f007f15ff00fe00eb31ff00ad04880089001f007f15ff00fe00f731ff00cd0522009f007f15ff00fe00eb31ff00ad0511001f170000f7 31ff00dd0544009f007f15ff00fe00eb31ff00ad04880089005f007f15ff00fe00f701ff000101ff00fc01ff00c707ff003f1fff00cf0522009f007f15ff00fe00eb01ff003c01ff00fc01ff009f06ff00e7003f1fff00af0511001f007f15ff00fe00f701ff003c01ff00fc01ff009f06ff00e720ff00d80544009f007f15ff00fe00eb01ff003c00c100c300c0009c00ff0006000c001f00f00066006000e000ce004100300060007f1dff00af04880089001f007f15ff00fe00f701ff0001009c0099019c00ff 009c00e4009f00e70026024e00670127003f1dff00c60522009f007f15ff00fe00eb01ff003c009c00f9009c00cc00ff009c00e400ff00e7003000ce004f00ce00670127003f1dff00a60511001f007f15ff00fe00f701ff003c008000c1009c00c900ff009c00e400ff00e0003900c0004f00ce00670127003f1dff00d60544009f007c003800e3008f09ff00ef07ff00fe00eb01ff003c009f0099009c00e900ff009c00e400ff00e700f000cf00ce004e00670127003f1dff00af04880089001f007d01dd0077 09ff00ef07ff00fe00f701ff003c009c0099009c00e100ff009c00e400ff00e70026024e00670127003f1dff00cf0522009f007d01dd007f00f1008200ea007100ff0018006500ff001a006900ef00fc007100bb04ff00fe00eb01ff003c00c100c400c000f300ff009e000c00ff00f00066006001e0007100300067003f1dff00af0511001f007c003d00dd008f00fe00f600e900ae00fe00eb00aa00fe00e900a600ef00fb00ae00bb04ff00fe00f705ff00f32aff00d80544009f017d00dd00f700f000c600eb 00e100fe001b00aa00fe00eb00ee00ef00fb00ae00bb04ff00fe00eb05ff00932aff00a704880089001f007d00bd00dd007700ee00de00eb00ef00ce00fb00aa00ce00eb00ee00ef003b00ae00d704ff00fe00f705ff00c72aff00cf0522009f007d00d800e3008f00f00083001b00f100cf0018006a00cf001b00ee00ef003c003100ef04ff00fe00eb31ff00a40511001f007f07ff00fb05ff00bf05ff00fe00f731ff00df0544009f007f07ff00fb04ff00fc007f05ff00fe00eb31ff00af04880089001f007f 15ff00fe00f731ff00cc0522009f007f15ff00fe00eb31ff00af0511001f007f15ff00fe00f731ff00d00544009f170000eb31ff00af04880089001f17ff00f731ff00c10522009f17ff00e83000000100af0511001f17ff00f731ff00df054418aa00ab31ff00af048800891855005731ff00c71e22002b31ff00af1e11001731ff00d01e44004b31ff00af0088008d1c55005731ff00cf01221caa00ab31ff00ac001100151cff00f731ff00dc004400431cff00fb31ff00ac0088008d1cff00f700ff00f00600 003f00ff0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00cf0022002300c000071aff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00af0011001500df00f700fc001d00ed00ef16ff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00df0044004300d300d700fd01ed00ef16ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f 05ff00fb00ff00f706ff00bf01ff00a70088008d00d900b700fd00ed00ec00ef16ff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cf0022002300dc00b700fd01ed006f16ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00af0011001500dd00f700fc001d00ed00af16ff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff 00bf01ff00df0044004300da007700fd007d00ed00cf16ff00fb00ff00f706ff00bf00ff007f02ff00fd01ff00fb00ff00f703ff00df01ff00bf00ff007f01ff00df02ff00fb00ff00f700ff00fb02ff00ef00ff00bf01ff00af0088008d00db003700fd00bd00ed00ef16ff00f700ff00f706ff00bf00ff007f02ff00fd01ff00fb00ff00f703ff00df01ff00bf00ff007f01ff00df02ff00fb00ff00f700ff00fb02ff00ef00ff00bf01ff00cd0022002300d7009700fd00dd00ed00ef16ff00fb00ff00f701ff 00d30075003f01ff00bf00ff007f00ff00f100c60098007f00ff00fb00ff00f700ff00fe009c006e008701ff00bf00ff007f00ff00f100870018007f00ff00fb00ff00f700fe003000e3000f00f800c300ff00bf01ff00ad0011001500df00f700fd00ee001d00ef16ff00f700ff00f701ff00cd007400df01ff00bf00ff007f00ff00ee00ba006d01ff00fb00ff00f700ff00fe006b00b500df01ff00bf00ff007f00ff00ee00de00eb00bf00ff00fb00ff00f700fd00db00dd007700ff006f00ff00bf01ff00dd 0044004300c000071aff00fb00ff00f701ff00df007500df01ff00bf00ff007f00ff00ef00ba00ed01ff00fb00ff00f700ff00fe00e8003b00df01ff00bf00ff007f00ff00f300de000b00bf00ff00fb00ff00f700fe007b00dd007700f8006f00ff00bf01ff00ab0088008d1cff00f700ff00f701ff00df007500df01ff00bf00ff007f00ff00ef00ba00ed01ff00fb00ff00f700ff00fe00eb00fb00df01ff00bf00ff007f00ff00fd00de00fb00bf00ff00fb00ff00f700ff00bb00dd007700f7006f00ff00bf 01ff00cf002200231cff00fb00ff00f701ff00df006500df01ff00bf00ff007f00ff00ee00ba00ed00bf00ff00fb00ff00f700ff00fe00eb00b500db01ff00bf00ff007f00ff00ee00da00e8007f00ff00fb00ff00f700fd00db005d000f00f7006d00ff00bf01ff00a9001100151cff00f700ff00f701ff00df009500df01ff00bf00ff007f00ff00f100c600ee007f00ff00fb00ff00f700ff00fe00ec006e00e701ff00bf00ff007f00ff00f100e7001b01ff00fb00ff00f700fe003c00e3007f00f8007300ff 00bf01ff00df004400421caa00ab00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f02ff00fb01ff00fb00ff00f702ff007f02ff00bf01ff00af0088008d1c55005700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f02ff00fb01ff00fb00ff00f702ff007f02ff00bf01ff00c001220080010000801800000b00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00af001100141c00000700ff00f706ff00bf00ff 007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00d900440043007f1bff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00a50088008c007f1bff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00c70122007f1bff00fb00ff00f00600003f00ff0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00ad00110014007f1bff00f7 31ff00dd00440042007f1bff00fb31ff00ad0088008c007f1bff00f731ff00cd0122007f1bff00fb31ff00ad00110014007f1bff00f731ff00dd00440042007f1bff00fb31ff00af0088008c007f1bff00f731ff00c00122007f0aff00f80f00000b31ff00ad00110014007f0aff00fb0fff00f731ff00dd00440042007f0aff00fb0fff00fb31ff00ad0088008c007f0aff00fb0fff00f700ff00f00600003f00ff0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00cd0122007f0aff00fb 0fff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ad00110014007f0aff00fb0fff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00dd00440042007f0aff00fb00e00e00000b00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ad0088008c007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff 00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cd0122007f0aff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ad00110014007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f00ff00bf00cf02ff00fb00ff00f701ff00df03ff00bf00ff007f05ff00fb00ff00f701ff00ef03ff00bf01ff00df00440042007f0aff00fb00ef0eff00fb00ff00f700ff00fb01ff00fd01ff00bf00ff007f00ff00bf00ef 00fd01ff00fb00ff00f701ff00df03ff00bf00ff007f05ff00fb00ff00f701ff00ef03ff00bf01ff00af0088008c007f0aff00fb00ef0eff00f700ff00f700ff00fb04ff00bf00ff007f00ff00bf00ef00fd01ff00fb00ff00f701ff00df03ff00bf00ff007f05ff00fb00ff00f701ff00ef03ff00bf01ff00c70122007f0aff00fb00ef00c700bf00ff00fb00ff00fe00ff001f01ff00bf03ff00fb00ff00f700fe003000e3000f00f900d300ff00bf00ff007f00fc003100ef0018007100ff00fb00ff00f700ff 00f70053008d003801ff00bf00ff007f01ff00ba001f01ff00fb00ff00f701ff000c006e00a701ff00bf01ff00ad00110014007f0aff00fb00ef00bb00bf00ff00fb00ff00fe00ff00bf01ff00bf03ff00f700ff00f700fd00db00dd007700fd00cd00ff00bf00ff007f00fb00ae00ee00ed00ee00ff00fb00ff00f700ff00f7004d007400d7007f00ff00bf00ff007f01ff00ba00ef01ff00fb00ff00f700ff00fe00eb00ae009b01ff00bf01ff00dd00440042007f0aff00fb00ef00be000c006900c3001a0070 00ff00ba006100ba000c03ff00fb00ff00f700fe007b00dd007700fd00dd00ff00bf00ff007f00fb00a000ee000d00e000ff00fb00ff00f700ff00f5005d000500f0007f00ff00bf00ff007f01ff00ba00ef01ff00fb00ff00f700ff00fe00eb00aa00bb01ff00bf01ff00ad0088008c007f00e00700001f00ff00fb00ef00c700bf00a600bb00e900ae00ff00b900ae00bb00bc03ff00f700ff00f700ff00bb00dd007700fd00dd00ff00bf00ff007f00fb00af00ee00fd00ef00ff00fb00ff00f700ff00f5005d 007d00f701ff00bf00ff007f01ff00ba00ef01ff00fb00ff00f700ff00fe00eb00aa00bb01ff00bf01ff00cd0122007f00e00700001f00ff00fb00ef00fb00bc002e00bb000b00ee00ff00bb00ae00bb00bf03ff00fb00ff00f700fd00db005d000f00fd00dd00ff00bf00ff007f00fb00ae00ee00ed00ae00ff00fb00ff00f700ff00f5005d007500f7007f00ff00bf00ff007f01ff00b2001f01ff00fb00ff00f700ff00fe00eb00aa00bb01ff00bf01ff00af00110014007f00e00700001f00ff00fb00ef01bb 00ae00ba00eb00ee00ff00bb00ae00bb00bc03ff00f700ff00f700fe003c00e3007f00f800dd00ff00bf00ff007f00fc003100c7001e007100ff00fb00ff00f700ff00fa00dd008d00f801ff00bf00ff007f01ff00ca02ff00fb00ff00f701ff000c007500bb01ff00bf01ff00df00440042007f00e00700001f00ff00fb00ef00c700cc002e00c3000b00f000ff001b00a100c700cc03ff00fb00ff00f702ff007f02ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f01ff00fe02ff00fb00ff00f706ff 00bf01ff00ae0088008c007f00e00700001f00ff00fb00ef07ff00ef05ff00f700ff00f702ff007f02ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f01ff00fe02ff00fb00ff00f706ff00bf01ff00cd0122007f00e00700001f00ff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ad00110014007f00e00700001f00ff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff 00fb00ff00f706ff00bf01ff00dd00440042007f00e00700001f00ff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ad0088008c007f00e00700001f00ff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cd0122007f00e00000001c00f300e7001c008900c00000001f00ff00fb00ef00fb00fe01ff009f00fb08ff00fb00ff00f00600003f00ff 0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00ad00110014007f00e000000022008800820022008a00200000001f00ff00fb00ef00fb00fe01ff006e00fb08ff00f731ff00dd00440042007f00e00000002200880082002200ca0100001f00ff00fb00ef00c30018003100ff007f00fb00c707ff00fb31ff00ad0088008c007f00e00000002200f00082002200a900c00000001f00ff00fb00ef00bb00ee01fe003e00fb00bb07ff00f731ff00cd0122007f00e000000022008000820022 009800200000001f00ff00fb00ef00bb000e00f000ff007e00fb008707ff00fb31ff00af00110014007f00e000000022008000820022008a00200000001f00ff00fb00ef00ba01ee00ff007e00fb00bf07ff00f731ff00df00440042007f00e00000001c00800087001c008900c00000001f00ff00fb00ef00c3000f003000ff007e00fb00c707ff00fb31ff00af0088008c007f00e00700001f00ff00fb00ef0eff00f731ff00cd0122007f00e00700001f00ff00fb00ef02ff00830aff00fb31ff00ad00110014 007f00e00700001f00ff00fb00ef0eff00f731ff00dd00440042007f00e00700001f00ff00fb00ef0eff00fb31ff00ad0088008c007f00e00700001f00ff00fb00ef0eff00f700ff00f00600003f00ff0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00cd0122007f00e00700001f00ff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00af00110014007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff 007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00df00440042007f0aff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00a80088008c007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cf0122007f0aff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb 00ff00f706ff00bf01ff00a600110014007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f701ff009f03ff00bf00ff007f00ff00f900ff003f01ff00fb00ff00f706ff00bf01ff00d600440042007f0aff00fb00ef0eff00fb00ff00f702ff00df00fb01ff00bf00ff007f01ff007f00ef00ff007f00fb00ff00f701ff006f03ff00bf00ff007f00ff00f600ef00bf01ff00fb00ff00f701ff007f00f702ff00bf01ff00a60088008c007f0aff00fb00ef0eff00f700ff00f703ff00fb 01ff00bf00ff007f02ff00ef00fd005f00fb00ff00f701ff007f03ff00bf00ff007f00ff00f700ff00bf01ff00fb00ff00f701ff007f00f702ff00bf01ff00cf0122007f0aff00fb00ef0eff00fb00ff00f700ff00f000d3009d003001ff00bf00ff007f00c3004e007400c300fc001f00fb00ff00f701ff007b00a900c701ff00bf00ff007f00ff00f700cf00bc007f00ff00fb00ff00f700ff00c6001c006100bb001f00ff00bf01ff00af00110014007f0aff00fb00ef0eff00f700ff00f700ff00f7004d00dc 00db01ff00bf00ff007f00dd00370073006f00fe003f00fb00ff00f700ff00fe001b00a600bb01ff00bf00ff007f00ff00e100ef00bb00bf00ff00fb00ff00f700ff00bb007f00b700ba00ef00ff00bf01ff00df00440042007f0aff00fb00ef0eff00fb00ff00f700ff00f7005f00dd00db01ff00bf00ff007f00dd007f0077006f00fc001f00fb00ff00f701ff007b00ae00bf01ff00bf00ff007f00ff00f700ef00b8003f00ff00fb00ff00f700ff00cf007c003700bb003f00ff00bf01ff00a80088008c007f 0aff00fb00e00e00000700ff00f700ff00f7005f00dd00db01ff00bf00ff007f00dd007f0077006f00fd005f00fb00ff00f701ff007b00ae00bf01ff00bf00ff007f00ff00f700ef00bb01ff00fb00ff00f700ff00f7007b00b700bb00df00ff00bf01ff00c70122007f0aff00fb0fff00fb00ff00f700ff00f000df00dd00db007f00ff00bf00ff007f00c3007f0077006d00ff007f00fb00ff00f701ff007b002e00bb01ff00bf00ff007f00ff00f700ef00bb00bf00ff00fb00ff00f700ff00bb006b00b600b2 00ef00ff00bf01ff00af00110014007f0aff00fb0fff00f700ff00f700ff00f700df008d00dc01ff00bf00ff007f00df007e0037007301ff00fb00ff00f701ff007c00ae00c701ff00bf00ff007f00ff00f700c7001c007f00ff00fb00ff00f700ff00c7009c003900cb001f00ff00bf01ff00d400440042007f0aff00fb0fff00fb00ff00f700ff00f704ff00bf00ff007f00df04ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00af0088008c007f0aff00fb00e00e00000700ff00f7 00ff00f704ff00bf00ff007f00df04ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cf0122007f0aff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00ac00110014007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00df00440042007f0aff00fb00ef0eff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f7 06ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00a00088008c007f0aff00fb00ef0eff00f700ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf00ff007f05ff00fb00ff00f706ff00bf01ff00cf0122007f0aff00fb00ef0eff00fb00ff00f00600003f00ff0600000300ff00f00600003f00ff0600000300ff00f00600003f01ff00a100110014007f0aff00fb00ef00c700bf00ff00fb00ff00fe00ff001f00fb00ff00fe03ff00f731ff00df00440042007f0aff00fb00ef00bb00bf00ff00fb 00ff01fe00ef00fb00ff00fe03ff00fb31ff00af0088008c007f0aff00fb00ef00be000c006900c3001a007000fe00eb00a0008600e8003302ff00f731ff00cf0122007f00e00700001f00ff00fb00ef00c700bf00a600bb00e900ae00fe00eb00bb00ba00ee00f302ff00fb31ff00a700110014007f00ef07ff00df00ff00fb00ef00fb00bc002e00bb000b00ee00fe00eb00bb00ba00ee03ff00f731ff00df00440042007f00ef07ff00df00ff00fb00ef01bb00ae00ba00eb00ee00fe00eb00bb00ba00ee00f3 02ff00fb2eff00e0000700ff00a00088008c007f00ef07ff00df00ff00fb00ef00c700cc002e00c3000b00f000ff001c007c0087001f003302ff00f72eff00e0000700ff00cf0122007f00ef07ff00df00ff00fb00ef08ff00bf04ff00fb2eff00e0000700ff00af00110014007f00ef07ff00df00ff00fb00ef0eff00f72eff00e0000700ff00dc00440042007f00ef07ff00df00ff00fb00ef0eff00fb2eff00e0000700ff00ac0088008c007f00ef07ff00df00ff00fb00ef0eff00f43000000100cc0122007f 00ef07ff00df00ff00fb00ef0eff00fa00aa00b72cff00e0000700ff00af00110014007f00ef01ff00ee00c70018003f01ff00df00ff00fb00ef01ff00f101ff00fb00ff00fe06ff00f7005500572cff00e0000700ff00df00440042007f00ef01ff00ee00ba00ee02ff00df00ff00fb00ef01ff00ee01ff00fb00ff00fe06ff00fa00aa00b72cff00e0000700ff00af0088008c007f00ef01ff00ee00ba00fe02ff00df00ff00fb00ef00a600ea006c00ff001b00a0008600e8003f05ff00f7005500572cff00e0 000700ff00c70122007f00ef01ff00e000bb001e02ff00df00ff00fb00ef009a00e900aa00fe00eb00bb00ba00ee06ff00fa00aa00b6001f00ff00fb04ff00bf00fc03ff00e720ff00af00110014007f00ef01ff00ee00bb00ee02ff00df00ff00fb00ef00be00eb00a600fe00eb00bb00ba00ee06ff00f70055005600ef00ff00fb00bf03ff00bf00fe00fb00ff00fe00ff00db02ff007e1cff00df00440042007f00ef01ff00ee00ba00ee02ff00df00ff00fb00ef00be00eb00ae00ce00eb00bb00ba00ee06ff 00fa00aa00b600ef00ff00fb04ff00bf00fe03ff00df02ff007f1cff00af0088008c007f00ef01ff00ee00c7001e02ff00df00ff00fb00ef00bf001b00b100cf001c007c0087001f003f05ff00f70055005600ec007100c3003a007100ff001b00a50087001e00f300c700fc00e900df001a006500c6001c00f100a71aff00cf0122007f00ef07ff00df00ff00fb00ef05ff00bf07ff00fa00aa00b6001b00be00bb00b900ae00fe00eb00aa00ba00ee00fb00bb00fe00e6008600e900aa00fb007e00ee009b1aff 00ad00110014007f00ef07ff00df00ff00fb00ef05ff00bf07ff00f70055005600b8003001bb00ae00ff003b00aa00ba00ee00fb00bf00fe00ee00de00eb00ea00c3007e00ee00bb1aff00dd00440042007f00ef07ff00df00ff00fb00ef0eff00fa00aa00b600db00ee01bb00ae00ff00db002a00ba00ee00fb00bf00fe00ee00de00eb00ea00bb007e00ee00bb1aff00ad0088008c007f00ef07ff00df00ff00fb00ef0eff00f70055005600eb00ae01bb00b000fe00ec00aa00ba00ee00fb00bb00fe00ee00de 00eb00ea00bb006e00ee00bb00be00fb18ff00cb0122007f00ef07ff00df00ff00fb00ef0eff00fa00aa00b600ec007000c3001b00be00ff001f00ae0087001c007100c700fc006e00df001b00ee00c3009c007100bb001c007118ff00af00110014007f00e00700001f00ff00fb00ef0eff00f70055005703ff00ee00ff00fb00bf0cff00be00fb18ff00d900440042007f0aff00fb00ef0eff00fa00aa00b703ff00f100ff00fc007f27ff00af0088008c007f0aff00fb00ef0eff00f7005500572fff00cf0122 007f0aff00fb00ef0eff00fa00aa00b72fff00a000110014007f0aff00fb00ef0eff00f700550056001f00ff00fb00ff007b008301ff00fe00ff00f324ff00df00440042007f0aff00fb00ef0eff00fa00aa00b600ef00ff00fb00ff007300bf01ff00fe00ff00fb24ff00a90088008c007f0aff00fb00ef0eff00f70055005600ef00ff00fb00fe006b00bf01ff00fe00ff00fb24ff00c50122007f0aff00fb00ef0eff00fa00aa00b600ec007100c300fd007b00a700fc006e0096001c007b00c723ff00a70011 0014007f0aff00fb00ef0eff00f700550056001b00be00bb00fd007b009b00fb00ae00aa00eb01bb23ff00dd00440042007f0aff00fb00ef0eff00fa00aa00b600b8003000bb00fb007b00fb00fc00ee00aa00eb00bb00cf23ff00ad0088008c007f0aff00fb00ef0eff00f70055005600db00ee00bb00f8003b00fb00ff006c00aa00eb00bb00f723ff00cd0122007f0aff00fb00e00e00000a00aa00b600eb00ae00bb00ff007b00bb00fb00b200aa00eb01bb23ff00ad00110014007f0aff00fb0fff00f70055 005600ec007000c300ff006000c700fc007e00ba001c007100c723ff00dd00440042007f0aff00fb0fff00fa00aa00b706ff00ee27ff00ad0088008c007f0aff00fb0fff00f70055005706ff00f127ff00cf0122007f0aff00fb00e00e00000a00aa00b72fff00a000110014007f0aff00fb00ef0eff00f7005500572fff00dd00440042007f0aff00fb00ef0eff00fa00aa00b700df00fe00bf00fd2bff00ad0088008c007f0aff00fb00ef0eff00f70055005700bf00fe00bf00fe2bff00cd0122007f0aff00fb 00ef0eff00fa00aa00b700bf00fe00bf00fe2bff00ad00110014007f0aff00fb00ef0eff00f700550057007b00b0008600ef007f2aff00dd00440042007f0aff00fb00ef00c703ff00fb08ff00fa00aa00b7007d006e00bb005f007f2aff00ad0088008c007f0aff00fb00ef00bb03ff00fb08ff00f700550057007e00ee00bb00bf007f2aff00cd0122007f0aff00fb00ef00ba009c006e0097001a006000c3003f06ff00fa00aa00b700be00ee00bb00be2bff00ad00110014007f00e00700001f00ff00fb00ef 0082006b00ae00aa00e900bb00bf003f06ff00f70055005700bd006e00bb005e2bff00dd00440042007f00ef07ff00df00ff00fb00ef00ba00fb00ae00aa001b00bb00c707ff00fa00aa00b700db00b0008600ed2bff00af0088008c007f00ef07ff00df00ff00fb00ef00ba00fb00ae00aa00fb00bb00fb003f06ff00f70055005704ff001f29ff00cf0122007f00ef07ff00df00ff00fb00ef00ba00fc003100ab001b00bc0087003f06ff00fa00aa00b703ff00fe001f29ff00a700110014007f00ef07ff00df 00ff00fb00ef01ff00bf0bff00f70055005703ff00fc00cf29ff00dd00440042007f00ef07ff00df00ff00fb00ef0eff00fa00aa00b72fff00ad0088008c007f00ef07ff00df00ff00fb00ef0eff00f7005500572fff00cd0122007f00ef07ff00df00ff00fb00ef0eff00fa00aa00b72fff00ad00110014007f00ef07ff00df00ff00fb00ef0eff00f7005500572fff00df00440042007f00ef01ff00ee00c60018003f01ff00df00ff00fb00ef00c700f8003100c70aff00fa00aa00b72fff00af0088008c007f 00ef01ff00ee00bb006b02ff00df00ff00fb00ef00bb00fb00ee00bb0aff00f731ff00ce0122007f00ef01ff00e600bb006b02ff00df00ff00fb00ef00bb00f8006c00b30aff00fb31ff00ad00110014007f00ef01ff00ea00bb0068007f01ff00df00ff00fb00ef00c700ff00aa00ab0aff00f701ff00f72aff00fe02ff00dd00440042007f00ef01ff00ec00bb006b02ff00df00ff00fb00ef00bb00ff00a6009b0aff00fa31aa00ad0088008c007f00ef01ff00ee00bb006b02ff00df00ff00fb00ef00bb00fb 00ae00bb0aff00f53155004d0122007f00ef01ff00ee00c60018003f01ff00df00ff00fb00ef00c700fc007100c711ff007700ea2922002d00110014007f00ef07ff00df00ff00fb00ef15ff007700f12911001d00440042007f00ef07ff00df00ff00fb00ef15ff007700ec2944004d0088008c007f00ef07ff00df00ff00fb00ef15ff007700f02988008d0122007f00ef07ff00df00ff00fb00ef15ff007700ea2922002d00110014007f00ef07ff00df00ff00fb00ef15ff007700f12911001f00440042007f 00e00700001f00ff00fb00ef15ff007700ec2944004f0088008d007f0aff00fb00ef15ff007700f02988008f0122007f0aff00fb00ef15ff007700ea2922002d00110014007f0aff00fb00ef15ff007700f12911001d00440042007f0aff00fb00ef15ff007700ec2944004d0088008c007f0aff00fb00ef15ff007700f02988008d0122007f0aff00fb00ef15ff007700ea2922002d00110014007f0aff00fb00ef15ff007700f12911001f00440042007f0aff00fb00ef15ff007700ec2944004f0088008c007f 0aff00fb00ef15ff007700f02a880122007f0aff00fb00ef15ff007700ea2922002f00110014007f0aff00fb00e01500007700f12911001600440042007f0aff00fb16ff00f700ec294400460088008c007f0aff00fb16ff00f700f0298800860122007f0aff00fb16ff00f700ea2922002f00110014007f0aff00f81600000700f12911001f00440042007f23ff00ec2944004f0088008c007f23ff00f02a880122007f23ff00ea2922002700110014007f23ff00f12911001f00440042007f23ff00ec2a440088 008c007f23ff00f02988008f0122007f23ff00ea2922002f00110014007f23ff00f12911001c0044004224aa00ac2944004f0088008d24550050298800805122002f5211 grestore showpage endFig 12 s 1664 5112(Figure)N 1939(2:)X 2038(Sample)X 2351(XPVM)X 2651(Session)X 3 f 576 5400(3.4.)N 768(Debugging)X 1234(and)X 1412(Monitoring)X 1 f 776 5572(One)N 962(of)X 1068(the)X 1212(most)X 1425(attractive)X 1811(features)X 2142(of)X 2248(the)X 3 f 9 s 2386(PVM)X 1 f 12 s 2576(system)X 2869(from)X 3082(the)X 3226(user)X 3412(viewpoint)X 3823(is)X 3914(the)X 576 5716(ability)N 851(to)X 954(execute)X 1277(selected,)X 1640(individual)X 2059(instances)X 2440(of)X 2548(a)X 2618(concurrent)X 3057(application)X 3513(under)X 3759(control)X 576 5860(of)N 696(a)X 780(debugger.)X 1203(This)X 1415(facility)X 1730(is)X 1835(rarely)X 2101(available)X 2491(on)X 2628(tightly)X 2921(coupled)X 3267(distributed-memory)X 10 p %%Page: 10 10 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(10)X 2376(-)X 576 720(multiprocessors,)N 1241(and)X 1412(its)X 1534(absence)X 1870(is)X 1965(a)X 2039(signi\256cant)X 2471(obstacle)X 2818(to)X 2924(rapid)X 3153(program)X 3510(development.)X 576 864(Given)N 867(this)X 1062(situation,)X 3 f 9 s 1468(PVM)X 1 f 12 s 1688(also)X 1899(becomes)X 2292(attractive)X 2708(as)X 2844(an)X 2991(emulator)X 3390(of)X 3527(a)X 3627(variety)X 3952(of)X 576 1008(distributed-memory)N 1383(multiprocessors,)X 2058(in)X 2175(addition)X 2533(to)X 2650(being)X 2905(useful)X 3181(in)X 3297(its)X 3429(own)X 3635(right.)X 3882(The)X 576 1152(XPVM)N 913(interface)X 1312(enables)X 1662(interactive)X 2131(debugging)X 2598(of)X 2740(selected)X 3113(application)X 3604(component)X 576 1296(instances)N 955(in)X 1056(a)X 1125(simple)X 1408(and)X 1573(straightforward)X 2192(manner.)X 2555(The)X 2731("DEBUG")X 3165(function)X 3512(in)X 3613(the)X 3756(XPVM)X 576 1440(front)N 790(end)X 956(permits)X 1272(the)X 1417(user)X 1604(to)X 1706(specify)X 2012(the)X 2158(component)X 2614(name)X 2851(and)X 3018(instance)X 3362(numbers)X 3721(of)X 3829(those)X 576 1584(processes)N 993(that)X 1187(are)X 1354(to)X 1478(be)X 1618(executed)X 2009(under)X 2276(control)X 2597(of)X 2725(a)X 2816(debugger.)X 3246(When)X 3524(the)X 3690(speci\256ed)X 576 1728(instances)N 956(are)X 1101(initiated,)X 1469(the)X 3 f 9 s 1608(PVM)X 1 f 12 s 1799(system)X 2093(executes)X 2452(them)X 2672(under)X 2919(debugger)X 3305(control.)X 3630(At)X 3754(present)X 576 1872(the)N 3 f 727(xdbx)X 1 f 962(debugger)X 1353(is)X 1450(used,)X 1682(and)X 1853(a)X 1928(separate)X 2276(window)X 2617(for)X 2761(each)X 2970(selected)X 3313(process)X 3633(is)X 3729(created.)X 576 2016(An)N 722(alternative)X 1159(debugging)X 1594(interface)X 1961(that)X 2135(will)X 2314(support)X 2631(debugging)X 3066(functions)X 3453(for)X 3594(all)X 3721(selected)X 576 2160(processes)N 983(using)X 1230(a)X 1312(single)X 1580(window)X 1927(is)X 2029(being)X 2281(investigated.)X 2809(Such)X 3039(an)X 3168(interface)X 3544(will)X 3732(be)X 3861(very)X 576 2304(valuable)N 932(for)X 1073(actions)X 1376(such)X 1582(as)X 1692(simultaneous)X 2230(single-step)X 2677(execution)X 3082(in)X 3187(all)X 3314(selected)X 3655(instances.)X 576 2448(An)N 717(example)X 1068(of)X 1172(the)X 1314(debugging)X 1744(interface)X 2106(that)X 2275(is)X 2363(available)X 2736(at)X 2830(present)X 3132(is)X 3220(shown)X 3494(in)X 3593(Figure)X 3868(2.)X 776 2620(In)N 904(addition)X 1268(to)X 1391(debugging)X 1846(individual)X 2286(component)X 2763(instances,)X 3189(the)X 3356(XPVM)X 3681(``MONI-)X 576 2764(TOR'')N 863(interface)X 1232(can)X 1396(monitor)X 1731(global)X 2002(events.)X 2326(This)X 2527(includes)X 2878(hardware)X 3266(status,)X 3539(link)X 3719(failures,)X 576 2908(synchronization)N 1234(between)X 1598(application)X 2070(instances,)X 2490(and)X 2672(communication)X 3316(delays.)X 3630(The)X 3824(PICL)X 576 3052(interface,)N 978(described)X 1387(in)X 1502(the)X 1660(following)X 2074(section,)X 2411(is)X 2515(a)X 2597(major)X 2861(component)X 3328(of)X 3447(the)X 3604(monitoring)X 576 3196(function.)N 952(Essentially,)X 1430(applications)X 1927(that)X 2103(are)X 2252(written)X 2556(in)X 2662(terms)X 2907(of)X 3018(this)X 3188(interface)X 3557(may)X 3754(option-)X 576 3340(ally)N 758(enable)X 1047(tracing,)X 1375(which)X 1646(globally)X 1998(logs)X 2194(all)X 2327(events)X 2609(including)X 3009(message)X 3371(transmission)X 3893(and)X 576 3484(reception,)N 1000(synchronization,)X 1680(and)X 1861(other)X 2101(distributed)X 2555(events.)X 2867(At)X 3005(present,)X 3349(these)X 3589(global)X 3872(logs)X 576 3628(may)N 788(be)X 924(analyzed)X 1312(visually)X 1662(using)X 1915(the)X 2078(ParaGraph)X 2534(tool)X 2729([15],)X 2958(which)X 3238(graphically)X 3717(displays)X 576 3772(events,)N 880(their)X 1091(relationships,)X 1641(and)X 1814(\(indirectly\))X 2282(parameters)X 2739(such)X 2949(as)X 3063(processor)X 3466(utilization)X 3893(and)X 576 3916(load)N 782(imbalances.)X 1280(The)X 1470(monitoring)X 1937(facility)X 2250(of)X 2369(the)X 2526(XPVM)X 2841(interface)X 3218(will)X 3407(soon)X 3627(be)X 3757(able)X 3957(to)X 576 4060(display)N 878(event)X 1111(information)X 1590(dynamically)X 2091(to)X 2190(assist)X 2422(in)X 2521(interactive)X 2953(debugging.)X 3 f 576 4348(4.)N 696(Portable)X 1073(Programming)X 1674(Using)X 1932(PICL)X 1 f 776 4520(PICL)N 1010(\(Portable)X 1389(Instrumented)X 1923(Communication)X 2570(Library\))X 2917(is)X 3007(a)X 3076(collection)X 3483(of)X 3589(library)X 3872(rou-)X 576 4664(tines)N 809(that)X 1005(facilitates)X 1432(portable)X 1798(development)X 2346(of)X 2476(multiprocessor)X 3098(programs.)X 3559(A)X 3678(complete)X 576 4808(description)N 1034(of)X 1144(the)X 1292(PICL)X 1530(primitives)X 1951(may)X 2148(be)X 2270(found)X 2525(in)X 2631([16].)X 2870(The)X 3051(PICL)X 3290(libraries)X 3637(have)X 3850(been)X 576 4952(ported)N 851(to)X 955(the)X 3 f 9 s 1096(PVM)X 1 f 12 s 1289(system)X 1585(in)X 1689(order)X 1921(to)X 2025(allow)X 2268(applications)X 2762(also)X 2945(to)X 3048(be)X 3167(portable)X 3511(to)X 3614(a)X 3685(network-)X 576 5096(based)N 842(multiprocessing)X 1504(system.)X 1842(The)X 2039(main)X 2280(issues)X 2557(in)X 2680(porting)X 3006(PICL)X 3262(to)X 3385(a)X 3476(heterogeneous)X 576 5240(environment)N 1087(are)X 1229(discussed)X 1621(in)X 1720(this)X 1883(section.)X 776 5412(The)N 971(PICL)X 1224(library)X 1526(contains)X 1892(a)X 1980(set)X 2132(of)X 2257(high-level)X 2693(communications)X 3375(routines)X 3730(such)X 3952(as)X 576 5556(broadcast,)N 996(barrier)X 1280(synchronization,)X 1946(and)X 2112(global)X 2380(extrema)X 2718(\256nding.)X 3041(The)X 3218(generic)X 3529(PICL)X 3764(release)X 576 5700(implements)N 1050(these)X 1272(in)X 1371(terms)X 1609(of)X 1713(low-level)X 2101(PICL)X 2334(routines,)X 2693(thereby)X 3007(achieving)X 3407(greater)X 3700(portabil-)X 576 5844(ity.)N 727(In)X 832(the)X 3 f 9 s 969(PVM)X 1 f 12 s 1158 0.2366(implementation,)AX 1813(it)X 1892(was)X 2065(found)X 2313(that)X 2482(better)X 2726(performance)X 3237(could)X 3475(be)X 3590(attained)X 3920(for)X 11 p %%Page: 11 11 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(11)X 2376(-)X 576 720(some)N 819(of)X 939(these)X 1177(high-level)X 1608(functions)X 2006(if)X 2105(they)X 2311(were)X 2539(translated)X 2955(directly)X 3291(into)X 3482(corresponding)X 3 f 9 s 576 864(PVM)N 1 f 12 s 764(primitives,)X 1203(and)X 1366(therefore)X 1738(this)X 1901(approach)X 2278(was)X 2451(adopted.)X 776 1036(One)N 960(of)X 1064(the)X 1206(most)X 1418(valuable)X 1770(features)X 2100(of)X 2205(the)X 2348(PICL)X 2581(library)X 2863(is)X 2952(the)X 3095(``trace'')X 3436(option)X 3707(that)X 3877(per-)X 576 1180(mits)N 777(all)X 909(communication)X 1544(and)X 1718(synchronization)X 2368(events)X 2649(to)X 2759(be)X 2885(logged.)X 3229(Effective)X 3617(use)X 3779(of)X 3893(this)X 576 1324(information)N 1061(for)X 1203(performance)X 1720(analysis,)X 2084(however,)X 2469(is)X 2563(dependent)X 2989(on)X 3115(synchronized)X 3659(clocks)X 3936(on)X 576 1468(all)N 714(processing)X 1166(elements.)X 1574(While)X 1851(clock)X 2101(synchronization)X 2757(is)X 2862(a)X 2946(problem)X 3308(even)X 3531(on)X 3668(machines)X 576 1612(such)N 790(as)X 908(commercial)X 1402(hypercubes,)X 1902(the)X 2059(granularity)X 2521(of)X 2640(synchronization)X 3294(attainable)X 3709(on)X 3844(local)X 576 1756(networks)N 959(is)X 1054(coarser)X 1363(than)X 1560(hypercubes)X 2029(and)X 2199(continues)X 2599(to)X 2705(be)X 2827(an)X 2949(issue)X 3172(of)X 3283(concern)X 3619(in)X 3725(the)X 3 f 9 s 3868(PVM)X 1 f 12 s 576 1900 0.2366(implementation.)AN 1231(At)X 1352(present,)X 1679(a)X 1747(combination)X 2254(of)X 2359(the)X 2502(network)X 2842(time)X 3039(protocol)X 3386([19])X 3572(and)X 3737(internal)X 3 f 9 s 576 2044(PVM)N 1 f 12 s 764(synchronization)X 1403(is)X 1491(used)X 1691(and)X 1854(is)X 1942(acceptable)X 2374(for)X 2510(short-running)X 3057(applications.)X 3 f 576 2332(4.1.)N 768(Portability)X 1236(in)X 1340(Heterogeneous)X 1973(Environments)X 1 f 776 2504(Two)N 980(important)X 1383(issues)X 1640(in)X 1743(programming)X 2295(for)X 2435(heterogeneous)X 3019(network)X 3362(environments)X 3914(are)X 576 2648(the)N 727(issue)X 952(of)X 1065(data)X 1259(representation)X 1838(and)X 2010(byte)X 2209(ordering.)X 2616(The)X 2799(options)X 3115(available)X 3497(are)X 3647(simple)X 3936(\320)X 576 2792(the)N 723(sending)X 1051(process)X 1368(either)X 1617(converts)X 1972(data)X 2162(to)X 2266(the)X 2413(format)X 2699(on)X 2824(the)X 2971(destination)X 3423(machine,)X 3804(or)X 3914(the)X 576 2936(sender)N 865(converts)X 1229(data)X 1428(into)X 1616(a)X 1696 0.1979(machine-independent)AX 2563(\(or)X 2712(network\))X 3096(format)X 3390(and)X 3566(the)X 3721(receiver)X 576 3080(converts)N 930(from)X 1146(this)X 1314(format)X 1600(to)X 1704(the)X 1851(local)X 2068(representation.)X 2667(Typically,)X 3090(existing)X 3424(systems)X 3757(use)X 3914(the)X 576 3224(latter)N 808(scheme)X 1130(\(e.g.)X 1333(Sun)X 1514(XDR)X 1748([18]\);)X 1999(although)X 2368(conversion)X 2822(is)X 2918(performed)X 3351(twice,)X 3616(senders)X 3936(do)X 576 3368(not)N 734(need)X 951(to)X 1061(know)X 1309(the)X 1462(architecture)X 1953(type)X 2154(of)X 2269(the)X 2422(destination)X 2880(processor,)X 3308(nor)X 3472(do)X 3604(representa-)X 576 3512(tions)N 787(for)X 923(every)X 1161(possible)X 1500(architecture)X 1980(have)X 2186(to)X 2285(be)X 2400(known)X 2685(at)X 2779(each)X 2980(sender.)X 776 3684(The)N 3 f 9 s 952(PVM)X 1 f 12 s 1148(system)X 1447(employs)X 1805(the)X 1955(following)X 2362(strategy)X 2700(\320)X 2829(the)X 2980(representation)X 3559(that)X 3737(is)X 3834(com-)X 576 3828(mon)N 776(to)X 880(a)X 952(majority)X 1308(of)X 1417(the)X 1564(hosts)X 1790(in)X 1894(the)X 2041(pool)X 2241(is)X 2333(chosen)X 2628(dynamically)X 3133(as)X 3241(the)X 3387(``standard'',)X 3893(and)X 576 3972(data)N 770(are)X 921(transmitted)X 1388(over)X 1592(the)X 1744(communications)X 2415(network)X 2764(in)X 2873(this)X 3046(format.)X 3361(Processors)X 3805(in)X 3914(the)X 576 4116(host)N 776(pool)X 987(that)X 1172(use)X 1340(different)X 1712(data)X 1913(representations)X 2535(or)X 2654(byte)X 2859(ordering)X 3224(perform)X 3573(conversions)X 576 4260(locally)N 867(on)X 991(both)X 1190(transmission)X 1705(and)X 1873(reception,)X 2285(thereby)X 2603(reducing)X 2969(overheads)X 3388(signi\256cantly)X 3893(and)X 576 4404(performing)N 1049(conversions)X 1548(only)X 1758(in)X 1872(a)X 1954(\(usually\))X 2335(small)X 2583(number)X 2916(of)X 3035(exchanges.)X 3499(However,)X 3914(the)X 576 4548(present)N 886 0.2548(implementation)AX 1524(performs)X 1903(conversions)X 2394(\(at)X 2528(each)X 2737(end\))X 2940(even)X 3154(when)X 3395(two)X 3572(``minority'')X 576 4692(processors)N 1009(with)X 1208(the)X 1354(same)X 1580(format)X 1865(exchange)X 2257(data;)X 2473(while)X 2715(this)X 2882(could)X 3124(be)X 3242(avoided,)X 3598(the)X 3743(amount)X 576 4836(of)N 686(housekeeping)X 1245(required)X 1596(in)X 1701(order)X 1934(to)X 2039(accomplish)X 2508(such)X 2714(an)X 2835(optimization)X 3353(is)X 3447(not)X 3600(believed)X 3957(to)X 576 4980(be)N 691(worth)X 939(the)X 1081(bene\256t.)X 776 5152(The)N 955(generic)X 1268(release)X 1565(of)X 1674(the)X 1821(PICL)X 2058(library)X 2344(is)X 2438(not)X 2591(strongly)X 2936(typed.)X 3204(Since)X 3448(the)X 3596(library)X 3883(was)X 576 5296(originally)N 976(intended)X 1333(only)X 1529(for)X 1666(homogeneous)X 2225(environments,)X 2798(all)X 2919(communication)X 3543(is)X 3631(performed)X 576 5440(on)N 712(untyped)X 1063(byte)X 1270(streams.)X 1629(The)X 1820(port)X 2016(of)X 2137(the)X 2296(PICL)X 2545(libraries)X 2902(to)X 3018(the)X 3 f 9 s 3171(PVM)X 1 f 12 s 3376(system)X 3684(therefore)X 576 5584(necessitated)N 1081(a)X 1163(few)X 1346(changes)X 1695(in)X 1809(both)X 2019(the)X 2176(PICL)X 2423(package)X 2778(and)X 2955(the)X 3 f 9 s 3105(PVM)X 1 f 12 s 3307(system.)X 3636(The)X 3824(PICL)X 576 5728(library)N 862(was)X 1040(expanded)X 1438(to)X 1542(include)X 1855(two)X 2028(new)X 2217(routines,)X 3 f 2580(pac0)X 1 f 2801(and)X 3 f 2970(unpac0)X 1 f 3298(that)X 3473(perform)X 3813(trans-)X 576 5872(lation)N 828(of)X 940(typed)X 1186(data)X 1379(to)X 1486(and)X 1657(from)X 1876(the)X 2026(``standard'')X 2512(format.)X 2849(This)X 3052(enhancement)X 3593(is)X 3689(a)X 3764(natural)X 12 p %%Page: 12 12 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(12)X 2376(-)X 576 720(extension)N 977(of)X 1089(the)X 1239(untyped)X 3 f 1581(send0)X 1 f 1847(and)X 3 f 2018(recv0)X 1 f 2275(constructs)X 2697(that)X 2874(exchange)X 3270(sequences)X 3692(of)X 3805(bytes.)X 576 864(In)N 693(order)X 933(to)X 1045(provide)X 1376(backward)X 1787(compatibility,)X 2363(the)X 3 f 9 s 2512(PVM)X 1 f 12 s 2713(system)X 3016(also)X 3207(supports)X 3568(the)X 3722(untyped)X 576 1008(send)N 777(and)X 941(receive)X 1245(primitives,)X 1685(with)X 1882(the)X 2026(understanding)X 2597(that)X 2768(knowledgeable)X 3377(users)X 3600(might)X 3851(wish)X 576 1152(to)N 675(execute)X 994(existing)X 1323(PICL)X 1555(programs)X 1942(on)X 3 f 9 s 2056(PVM)X 1 f 12 s 2244(in)X 2343(a)X 2410(homogeneous)X 2968(networked)X 3398(environment.)X 776 1324(Another)N 1121(issue)X 1343(in)X 1448(implementing)X 2014(the)X 2162(PICL)X 2400(library)X 2687(in)X 2792(a)X 2865(heterogeneous)X 3451(environment)X 3968(is)X 576 1468(the)N 721(handling)X 1084(of)X 1190(various)X 1499(machine)X 1852(dependent)X 2274(constants,)X 2682 0.2788(initialization)AX 3197(procedures,)X 3669(and)X 3834(other)X 576 1612(characteristics.)N 1178(For)X 1338(example,)X 1716(some)X 1946(message)X 2299(passing)X 2614(multiprocessors)X 3250(require)X 3550(that)X 3722(a)X 3792(subset)X 576 1756(of)N 692(the)X 846(processing)X 1293(elements)X 1672(be)X 1799(allocated)X 2183(in)X 2293(a)X 2371(dedicated)X 2776(fashion)X 3094(to)X 3204(an)X 3330(application,)X 3818(while)X 576 1900(others)N 845(employ)X 1168(the)X 1320(notion)X 1600(of)X 1714(processes)X 2116(``occupying'')X 2679(and)X 2852(``vacating'')X 3341(a)X 3418(CPU.)X 3663(Machine-)X 576 2044(dependent)N 1009(limits)X 1266(on)X 1399(the)X 1554(number)X 1885(of)X 2002(different)X 2370(message)X 2732(types)X 2971(allowed)X 3312(and)X 3487(the)X 3641(maximum)X 576 2188(length)N 856(of)X 975(each)X 1191(message)X 1556(are)X 1714(other)X 1952(attributes)X 2351(that)X 2536(must)X 2763(be)X 2894(handled.)X 3263(In)X 3383(addressing)X 3834(these)X 576 2332(issues,)N 857(the)X 1002(general)X 1313(philosophy)X 1767(adopted)X 2099(by)X 2222(the)X 3 f 9 s 2361(PVM)X 1 f 12 s 2552 0.2548(implementation)AX 3185(is)X 3276(to)X 3378(avoid)X 3619(limitations)X 576 2476(wherever)N 959(possible,)X 1323(or)X 1428(to)X 1528(use)X 1681(an)X 1797(encompassing)X 2367(strategy)X 2698(that)X 2869(is)X 2959(a)X 3028(superset)X 3369(of)X 3475(the)X 3619(limitations)X 576 2620(on)N 710(existing)X 1053(multiprocessors.)X 1724(For)X 1895(example,)X 2284(the)X 3 f 9 s 2434(PVM)X 1 f 12 s 2636(system)X 2941(does)X 3155(not)X 3316(constrain)X 3706(message)X 576 2764(lengths,)N 911(each)X 1122(\(virtual\))X 1472(processing)X 1917(element)X 2257(is)X 2355(considered)X 2806(capable)X 3135(of)X 3249(simultaneously)X 3866(exe-)X 576 2908(cuting)N 847(many)X 1091(component)X 1549(instances,)X 1956(and)X 2124(no)X 2249 0.2788(initialization)AX 2767(or)X 2876(processing)X 3316(element)X 3651(allocation)X 576 3052(is)N 684(necessary.)X 1150(Given)X 1429(the)X 1591(general)X 1920(nature)X 2206(of)X 2331(the)X 3 f 9 s 2488(PVM)X 1 f 12 s 2697(system)X 3009(and)X 3193(the)X 3356(operating)X 3765(system)X 576 3196(infrastructure)N 1122(on)X 1245(most)X 1459(machines)X 1850(on)X 1972(typical)X 2261(networks,)X 2663(most)X 2876(of)X 2982(these)X 3206(issues)X 3461(are)X 3605(resolved)X 3957(in)X 576 3340(a)N 643(straightforward)X 1260(manner.)X 3 f 576 3628(4.2.)N 768(Experiences)X 1289(with)X 1494(PICL)X 1747(on)X 1872(PVM)X 1 f 776 3800(In)N 896(order)X 1139(to)X 1254(test)X 1429(the)X 1588(PICL)X 1837 0.2548(implementation)AX 2484(on)X 3 f 9 s 2615(PVM)X 1 f 12 s 2779(,)X 2844(applications)X 3351(written)X 3665(using)X 3914(the)X 576 3944(PICL)N 816(primitives)X 1239(were)X 1458(ported)X 1736(and)X 1907(tested.)X 2188(The)X 2369(porting)X 2678(effort)X 2923(required)X 3275(no)X 3402(modi\256cations)X 3957(to)X 576 4088(the)N 721(original)X 1048(programs.)X 1462(Performance)X 1981(\256gures)X 2269(for)X 2408(these)X 2633(applications)X 3127(under)X 3 f 9 s 3368(PVM)X 1 f 12 s 3560(using)X 3796(native)X 576 4232(constructs)N 998(and)X 1169(PICL)X 1409(are)X 1559(compared)X 1971(in)X 2078(Table)X 2330(1,)X 2434(which)X 2701(shows)X 2972(that)X 3149(the)X 3299(introduction)X 3802(of)X 3914(the)X 576 4376(additional)N 986(PICL)X 1218(layer)X 1435(causes)X 1710(little)X 1912(or)X 2016(no)X 2136(signi\256cant)X 2561(overhead.)X 776 4548(As)N 906(important)X 1305(as)X 1409(this)X 1572(ready)X 1810(portability)X 2236(is)X 2324(the)X 2466(fact)X 2635(that)X 2804(tracing)X 3096(and)X 3259(performance)X 3770(visual-)X 576 4692(ization)N 865(tools)X 1078(can)X 1238(now)X 1429(be)X 1546(used)X 1748(with)X 1945(the)X 3 f 9 s 2083(PVM)X 1 f 12 s 2273(system.)X 2614(This)X 2810(facility)X 3109(is)X 3198(extremely)X 3609(useful,)X 3893(and)X 576 4836(efforts)N 855(are)X 1002(in)X 1106(progress)X 1460(to)X 1564(allow)X 1807(event)X 2045(logging)X 2368(from)X 2584(within)X 2859(native)X 3 f 9 s 3118(PVM)X 1 f 12 s 3311(constructs)X 3730(in)X 3834(addi-)X 576 4980(tion)N 763(to)X 875(its)X 1003(current)X 1313(availability)X 1785(via)X 1940(the)X 2095(PICL)X 2340(library.)X 2658(To)X 2802(illustrate)X 3177(a)X 3257(few)X 3438(of)X 3554(the)X 3708(kinds)X 3952(of)X 576 5124(postmortem)N 1065(analysis)X 1404(possible,)X 1772(displays)X 2116(from)X 2332(the)X 2479(use)X 2636(of)X 2746(the)X 2894(ParaGraph)X 3335(tool)X 3515(are)X 3663(presented)X 576 5268(below.)N 869(The)X 1053(application)X 1516(chosen)X 1817(is)X 1914(Cholesky)X 2310(factorization)X 2831(of)X 2944(a)X 3020(matrix)X 3305(using)X 3546(8)X 3627(processors)X 576 5412(and)N 741(a)X 810(100x100)X 1172(matrix.)X 1474(The)X 1650(experiment)X 2110(was)X 2285(run)X 2439(on)X 2561(an)X 2678(Intel)X 2881(iPSC/2)X 3179(hypercube)X 3606(and)X 3771(is)X 3861(con-)X 576 5556(trasted)N 858(to)X 958(a)X 1026(network)X 1366(of)X 1471(Sun4)X 1693(workstations)X 2209(in)X 2309(the)X 3 f 9 s 2446(PVM)X 1 f 12 s 2635(environment.)X 3171(It)X 3254(should)X 3534(be)X 3649(noted)X 3887(that)X 576 5700(the)N 719(granularity)X 1167(of)X 1272(this)X 1436(problem)X 1782(size)X 1957(is)X 2047(too)X 2196(\256ne)X 2366(to)X 2467(be)X 2584(effective)X 2948(in)X 3049(networked)X 3481(environments;)X 576 5844(it)N 655(was)X 829(deliberately)X 1310(chosen)X 1602(to)X 1702(highlight)X 2075(the)X 2218(value)X 2451(of)X 2555(the)X 2697(visualization)X 3214(tool)X 3388(in)X 3487(understanding)X 13 p %%Page: 13 13 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(13)X 2376(-)X 10 f 629 696(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 757 840(No.)N 922(of)X 1977(Problem)X 2327(size)X 2501(\(Order)X 2781(of)X 2885(Matrix\))X 677 984(processors)N 1378(100)X 1970(200)X 2658(500)X 3466(1000)X 10 f 629 1024(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 629 1040(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 879 1176(1)N 1226(2.0)X 1490(\(2.0\))X 1818(9.2)X 2082(\(9.0\))X 2410(140.6)X 2770(\(141.5\))X 3194(1046.6)X 3602(\(1040.2\))X 10 f 629 1224(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 879 1368(2)N 1226(2.8)X 1490(\(2.8\))X 1818(6.7)X 2082(\(6.6\))X 2458(76.3)X 2818(\(72.3\))X 3242(601.9)X 3650(\(603.8\))X 10 f 629 1416(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 879 1560(4)N 1226(3.6)X 1490(\(3.7\))X 1818(5.8)X 2082(\(5.7\))X 2458(61.5)X 2818(\(60.2\))X 3242(396.8)X 3650(\(390.5\))X 10 f 629 1608(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 879 1752(8)N 1226(3.8)X 1490(\(3.5\))X 1818(6.1)X 2082(\(6.1\))X 2458(50.8)X 2818(\(51.2\))X 3242(230.1)X 3650(\(228.9\))X 10 f 629 1800(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 831 1944(16)N 1226(5.2)X 1490(\(5.0\))X 1818(5.9)X 2082(\(5.7\))X 2458(31.6)X 2818(\(30.0\))X 3242(149.8)X 3650(\(145.1\))X 10 f 629 1992(i)N 666(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 629(c)X 1944(c)Y 1848(c)Y 1752(c)Y 1656(c)Y 1560(c)Y 1464(c)Y 1368(c)Y 1272(c)Y 1176(c)Y 1080(c)Y 984(c)Y 888(c)Y 792(c)Y 1154 1992(c)N 1944(c)Y 1848(c)Y 1752(c)Y 1656(c)Y 1560(c)Y 1464(c)Y 1368(c)Y 1272(c)Y 1176(c)Y 1080(c)Y 984(c)Y 888(c)Y 792(c)Y 1746 1992(c)N 1904(c)Y 1808(c)Y 1712(c)Y 1616(c)Y 1520(c)Y 1424(c)Y 1328(c)Y 1232(c)Y 1136(c)Y 2338 1992(c)N 1904(c)Y 1808(c)Y 1712(c)Y 1616(c)Y 1520(c)Y 1424(c)Y 1328(c)Y 1232(c)Y 1136(c)Y 3122 1992(c)N 1904(c)Y 1808(c)Y 1712(c)Y 1616(c)Y 1520(c)Y 1424(c)Y 1328(c)Y 1232(c)Y 1136(c)Y 3978 1992(c)N 1944(c)Y 1848(c)Y 1752(c)Y 1656(c)Y 1560(c)Y 1464(c)Y 1368(c)Y 1272(c)Y 1176(c)Y 1080(c)Y 984(c)Y 888(c)Y 792(c)Y 1 f 830 2184(Table)N 1074(1)X 1146(:)X 1197(Times)X 1462(\(in)X 1593(seconds\))X 1953(for)X 2089(Cholesky)X 2476 0.2452(factorization:)AX 3015(PICL)X 3247(\(native)X 3539(PVM\))X 576 2356(the)N 718(behavior)X 1079(of)X 1183(parallel)X 1497(programs)X 1884(executing)X 2283(on)X 3 f 9 s 2397(PVM)X 1 f 12 s 2561(.)X 776 2528(Figure)N 1052(3)X 1125(shows)X 1389(the)X 1532(Kiviat)X 1798(diagram)X 2140(at)X 2236(an)X 2353(advanced)X 2743(stage)X 2967(in)X 3068(the)X 3212(program's)X 3633(execution.)X 576 2672(This)N 782(display)X 1095(gives)X 1333(a)X 1411(geometric)X 1831(depiction)X 2224(of)X 2338(individual)X 2763(processor)X 3165(utilization)X 3591(and)X 3764(overall)X 576 2816(load)N 775(balance.)X 1127(The)X 1310(dark)X 1514(regions)X 1830(indicate)X 2169(recent)X 2439(utilization)X 2865(by)X 2995(shading)X 3328(a)X 3405(polygon)X 3754(formed)X 576 2960(by)N 701(connecting)X 1153(individual)X 1573(processor)X 1969(utilizations,)X 2450(with)X 2649(the)X 2795(center)X 3059(representing)X 3563(an)X 3682(idle)X 3855(state)X 576 3104(and)N 745(the)X 893 0.2552(circumference)AX 1475(100%)X 1729(utilization.)X 2176(The)X 2357(lighter)X 2640(region)X 2917(depicts)X 3221(``high-water'')X 3797(points)X 576 3248(in)N 675(an)X 790(analogous)X 1204(manner.)X 576 3420(The)N 750(diagram)X 1090(shown)X 1364(for)X 1500(the)X 1642(iPSC/2)X 1938(is)X 2026(typical)X 2313(for)X 2449(this)X 2612(application)X 3065(on)X 3185(a)X 3252(homogeneous,)X 3834(dedi-)X 576 3564(cated)N 808(distributed-memory)X 1601(multiprocessor.)X 2225(The)X 3 f 9 s 2396(PVM)X 1 f 12 s 2587(\256gure)X 2838(however,)X 3220(shows)X 3486(some)X 3716(interest-)X 576 3708(ing)N 739(aspects.)X 1081(First,)X 1321(the)X 1479(marked)X 1808(load)X 2014(imbalance)X 2452(is)X 2557(evident.)X 2906(Second,)X 3254(the)X 3413(high-water)X 3871(area)X 576 3852(shows)N 840(100%)X 1089(utilization)X 1506(for)X 2 f 1643(all)X 1 f 1770(processors)X 2200(\(not)X 2380(simultaneous\))X 2945(at)X 3040(some)X 3268(previous)X 3624(time.)X 3845(Both)X 576 3996(these)N 811(factors)X 1110(are)X 1265(a)X 1345(direct)X 1602(consequence)X 2131(of)X 2248(greatly)X 2553(increased)X 2954(asynchrony)X 3434(in)X 3546(a)X 3626(networked)X 576 4140(environment,)N 1124(and)X 1300(external)X 1648(loads)X 1888(on)X 2021(the)X 2176(workstations)X 2703(causing)X 3033(their)X 3246(effective)X 3620(computing)X 576 4284(capabilities)N 1040(to)X 1139(be)X 1254(different.)X 776 4456(The)N 964(Gantt)X 1216(chart)X 1447(shown)X 1735(in)X 1848(Figure)X 2137(4)X 2223(for)X 2373(the)X 3 f 9 s 2523(PVM)X 1 f 12 s 2725(experiment)X 3197(also)X 3390(shows)X 3667(the)X 3824(asyn-)X 576 4600(chrony,)N 896(as)X 1005(well)X 1200(as)X 1309(elongated)X 1713(busy)X 1923(and)X 2091(idle)X 2265(times)X 2503(in)X 2607(comparison)X 3084(to)X 3187(the)X 3333(iPSC/2)X 3633(run.)X 3813(Some)X 576 4744(of)N 703(this)X 889(difference)X 1327(is)X 1438(also)X 1640(attributable)X 2127(to)X 2249(the)X 2414(inherent)X 2777(difference)X 3215(in)X 3337(processor)X 3752(speeds,)X 576 4888(although)N 940(it)X 1021(is)X 1112(believed)X 1466(that)X 1638(the)X 1783(nature)X 2051(of)X 2158(the)X 2303(network)X 2645(and)X 2811(external)X 3149(factors)X 3438(are)X 3583(the)X 3727(primary)X 576 5032(causes.)N 884(Therefore,)X 1321(these)X 1552(two)X 1730(diagrams)X 2117(in)X 2226(particular)X 2630(must)X 2851(be)X 2976(interpreted)X 3428(carefully)X 3805(in)X 3914(the)X 3 f 9 s 576 5176(PVM)N 1 f 12 s 769(context,)X 1106(but)X 1258(they)X 1453(are)X 1600(nevertheless)X 2105(valuable)X 2461(for)X 2601(understanding)X 3174(program)X 3528(behavior)X 3893(and)X 576 5320(locating)N 911(errors)X 1159(particularly)X 1628(when)X 1860(the)X 2002(animation)X 2412(is)X 2500(viewed.)X 776 5492(The)N 956(Feynman)X 1344(diagram)X 1691(is)X 1786(a)X 1860(display)X 2169(that)X 2345(depicts)X 2649(interaction)X 3093(between)X 3445(processing)X 3887(ele-)X 576 5636(ments)N 846(as)X 966(a)X 1049(function)X 1410(of)X 1530(time.)X 1766(Processor)X 2179(activity)X 2509(is)X 2613(indicated)X 3007(by)X 3143(horizontal)X 3573(lines,)X 3818(while)X 576 5780(slanted)N 887(lines)X 1107(show)X 1347(message)X 1711(transmission)X 2235(and)X 2412(reception)X 2809(events.)X 3117(This)X 3326(view,)X 3576(observed)X 3962(at)X 14 p %%Page: 14 14 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(14)X 2376(-)X 10 s 576 720 MXY 3920 2192 65.00 266.00 555.00 540.00 startFig %! %% %% Xgrabsc Postscript dump of image 'f6' %% %% %% run-length encoded. Savings = 26552 bytes %% %% /inch {72 mul} def /picstr 76 string def /rlebuffer 2 string def /plotimage {606 340 1 [606 0 0 -340 0 340] { currentfile rlebuffer readhexstring pop pop /nsamples rlebuffer 0 get 1 add store /lum rlebuffer 1 get store /samples nsamples string store 0 1 nsamples -1 add { samples exch lum put } for samples } image } def gsave 0.88 inch 3.6 inch translate 6.7 inch 3.8 inch scale plotimage 4a1100104b884a220021245518440700000403440046000a23aa00b1001523550050009723ff00c8008a23aa00a8002f23ff00a2003723ff00d1005723ff00c4004f23ff00e6000f0000001f1fff00e0000300b1001723ff00d00097007f00df1fff00ee00db00c8008f0000001f1fff00f0000100e8002f004f005f00fd1eff00ee00db00a20037007f00df1fff00f7006d00d10057006600df1fff00ee00db00c4014f005f1fff00f7006d00e6000f007200df00f900f40178007f1aff00e000db00b10017 006600df1fff00f7006d00d00097007700df00fd00f301b700bf1aff00ef00db00c8008f007200df00f400770062007f1bff00f0006d00e8002f006900df00fd00f700b900f71bff00ef00db00a20037007700df00f300b7006d00bf1bff00f700ed00d10057006c00df00fd00f300be00771bff00e0001b00c4004f006900df00f700b7006d00bf1bff00f700ed00e6000f005e005f00fd00f4007700b700bf1aff00ef00fb00b10017006c00df00f300ba00ed00bf1bff00f0000d00d00097007f00df00f00077 00f80078007f1aff00ef00fb00c8008f005e005f00f4007a00ed00bf1bff00f700fd00e8002f0000001f00ff00f71dff00e0000300a20037007f00df00f700fd00ef00bf1bff00f700fd00d1005702ff00f71fff00c4004f0000001f00f71eff00f0000100e6000f23ff00b1001701ff00f720ff00d3009723ff00c8008f23ff00eb002a23aa00a2003723ff00d124550044004a23aa00a70008238800b1001523550050009423440048008c2344006b002a23aa0022003123550013005123550044004a23aa00a4 000a22ff00fe00b10011007f22ff0013009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff0013005100e000031fff0000001d0044004a00f000011fff0080000e00a7000a00ef00fb00fe00f71dff007600de00b10011007700fd00ff007b1dff00bb006f0013009500e900eb00fe00ef00bf00ff00bf00ff007f18ff007600dd0048008c00f400f500ff007700df00ff00df00ff00bf18ff00bb006e00eb002a00ec00db00fe00df03ff007f18ff007600de002200310076006d00ff006f 03ff00bf18ff00bb006f0013005100ee005b00fe00bf003e00ef003f000e000f18ff000600dd0044004a00f7002d00ff005f009f0077009f0087000718ff0083006e00a7000a00ee00fb00fe007f00be00ef00bf00f7007f18ff007e00de00b100110077007d00ff003f00df007700df00fb00bf18ff00bf006f0013009500ed003b00fe00bf00be00ef00bf0007007f18ff007e00dd0048008c00f6009d00ff005f00df007700df008300bf18ff00bf006e00eb002a00ed009b00fe00df00bf005f00be00f7007f 18ff000000de00220031007600cd00ff006f00df00af00df007b00bf18ff0080006f0013005100eb00cb00fe00ef00bf005f00be00e7007718ff007f00dd0044004a00f500e500ff007700df00af00df007300bb18ff00bf00ee00a6000a00ef00fb00fe00f6000f00be000f0017008f18ff007f00de00b10011007700fd00ff007b000700df0007008b00c718ff00bf00ef0013009500e000031fff0000001d0048008c00f000011fff0080000e00eb002a22ff00fe00220031007f22ff0013005122ff00fd0044 004a22ff00fe00a7000a22ff00fe00b10011007f22ff0013009523550048008c23aa00eb002a23aa0022003123550013005106ff00df1aff00fd0044004a06ff00ef1aff00fe00a7000a06ff00df1aff00fe00b10011007f05ff00ef1bff0013009506ff00df1aff00fd0048008c06ff00ef1aff00fe00eb002a06ff00df1aff00fe00220031007f05ff00ef1bff0013005106ff00df1aff00fd0044004a06ff00ef1aff00fe00a7000a06ff00df1aff00fe00b10011007f05ff00ef1bff0013009506ff00df1aff 00fd0048008c06ff00ef1aff00fe00e8002a06ff00df1aff00fe00220031007f05ff00ef1bff0012005106ff00df1aff00fd0044004a06ff00ef1aff00fe00a4000a00fd00ef04ff00df1aff00fe00b10011007e00f704ff00ef1bff0012009500fd00df007f00ff007f00fe00ff00df1aff00fd0048008c00fe00ef00bf00ff00bf00ff007f00ef1aff00fe00eb002a00fd00bf02ff00fe00ff00df1aff00fe00220031007e00df03ff007f00ef1bff0013005100fd007e007d00de007e001c001f00df1aff00fd 0044004a00fe00bf003e00ef003f000e000f00ef1aff00fe00a7000a00fc00ff007d00df007f00ee00ff00df1aff00fe00b10011007e007f00be00ef00bf00f7007f00ef1bff0012009500fd007f007d00df007e000e00ff00df1aff00fd0048008c00fe00bf00be00ef00bf0007007f00ef1aff00fe00eb002a00fd00bf007e00bf007d00ee00ff00df1aff00fe00220031007e00df00bf005f00be00f7007f00ef1bff0013005100fd00df007e00bf007d00ce00ef00df1aff00fd0044004a00fe00ef00bf005f 00be00e7007700ef1aff00fe00a7000a00fd00ec001f007c001e002f001f00df1aff00fe00b10011007e00f6000f00be000f0017008f00ef1bff0013009506ff00df1aff00fd0048008c06ff00ef1aff00fe00eb002a06ff00df1aff00fe00220031007f05ff00ef1bff0013005106ff00df1aff00fd0044004a06ff00ef1aff00fe00a6000a06ff00df1aff00fe00b10011007f05ff00ef1bff0011009506ff00df1aff00fd0048008c06ff00ef1aff00fe00eb002a06ff00df1aff00fe00220031007f05ff00ef 1bff001300510600001f1aff00fd0044004a00800500000f1aff00fe00a4000a10ff00fe007f0fff00fe00b10011007f10ff003f10ff0013009510ff00fd00bf0fff00fd0048008c10ff00fe00df0fff00fe00eb002a10ff00fb00df0fff00fe00220031007f0fff00fd00ef10ff0013005110ff00fb00df0fff00fd0044004a10ff00fd00ef0fff00fe00a7000a10ff00fb00df0fff00fe00b10011007f0fff00fd00ef10ff0013009510ff00fb00df0fff00fd0048008c10ff00fd00ef0fff00fe00eb002a10ff 00fb00df0fff00fe00220031007f0fff00fd00ef10ff0013005110ff00fd00bf0fff00fd0044004a10ff00fe00df0fff00fe00a7000a10ff00fe007f0fff00fe00b10011007f10ff003f10ff0013009522ff00fd0048008c22ff00fe00e8002a22ff00fe00220031007f22ff0012005122ff00fd0044004a22ff00fe00a7000a22ff00fe00b10011007f22ff0013009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff0011005122ff00fd0044004a22ff00fe00a7000a22ff00fe00b10011 007f22ff0013009522ff00fd0048008c22ff00fe00eb002a0fff00fc0100007f0eff00fe00220031007f0eff00fe0100003f0fff001300510eff00fc000300fe00ff0080007f0dff00fd0044004a0eff00fe000100ff007f00c0003f0dff00fe00a7000a0eff008300ff00fe01ff00830dff00fe00b10011007f0dff00c101ff007f00ff00c10eff001000950dff00f8007f00ff00fe01ff00fc003f0cff00fd0048008c0dff00fc003f01ff007f00ff00fe001f0cff00fe00ea002a0dff00c701ff00fe02ff00c7 0cff00fe00220031007f0cff00e305ff00e30dff001300510cff00fe003f01ff00fe02ff00f80cff00fd0044004a0dff001f01ff00ea00ab01ff00fc007f0bff00fe00a7000a0cff00f102ff00fe03ff001f0bff00fe00b10011007f0bff00f807ff008f0cff001300950cff00cf02ff00fe03ff00e70bff00fd0048008c0cff00e701ff00fe01aa00bf01ff00f30bff00fe00eb002a0bff00fe003f02ff00fe03ff00f80bff00fe00220031007f0bff001f07ff00fc007f0bff001300510bff00f903ff00fe04ff 003f0aff00fd0044004a0bff00fc02ff03aa02ff009f0aff00fe00a6000a0bff00e703ff00fe04ff00cf0aff00fe00b10011007f0aff00f309ff00e70bff001300950bff009f03ff00fe04ff00f30aff00fd0048008c0bff00cf01ff00ea03aa00ab01ff00f90aff00fe00eb002a0aff00fe007f03ff00fe04ff00fc0aff00fe00220031007f0aff003f09ff00fe007f0aff001100510aff00f904ff00fe05ff003f09ff00fd0044004a0aff00fc01ff00fa05aa00bf01ff009f09ff00fe00a7000a0aff00f704ff 00fe05ff00df09ff00fe00b10011007f09ff00fb0bff00ef0aff0010009506ff00f0003f01ff00cf04ff00fe05ff00e702ff007f05ff00fd0048008c06ff00f8001f01ff00e701ff07aa01ff00f302ff00bf05ff00fe00ea002a07ff00bf01ff003f04ff00fe05ff00f901ff00fe007f05ff00fe00220031007f06ff00df01ff009f0bff00fc02ff003f06ff0013005107ff007f00ff00fe05ff00fe05ff00fe01ff00fd007f05ff00fd0044004a07ff00bf01ff007f00ff00ea07aa00ab01ff007f00ff00fe00bf 05ff00fe00a4000a06ff00fe01ff00fd05ff00fe06ff007f01ff007f05ff00fe00b10011007f06ff007f00ff00fe0dff00bf01ff00bf06ff0010009506ff00fe01ff00f305ff00fe06ff009f01ff007f05ff00fd0048008c07ff007f00ff00f900ff00fa09aa00af00ff00cf01ff00bf05ff00fe00e9002a06ff00fd01ff00ef05ff00fe06ff00ef01ff007f05ff00fe00220031007f05ff00fe01ff00f70dff00f701ff00bf06ff0012005106ff00fd01ff00df05ff00fe06ff00f701ff007f05ff00fd0044004a 06ff00fe01ff00ef00fe0baa00ff00fb01ff00bf05ff00fe00a4000a06ff00fb01ff003f05ff00fe06ff00f901ff007f05ff00fe00b10011007f05ff00fd01ff009f0dff00fc01ff00bf06ff0010009506ff00fb00ff00fe06ff00fe06ff00fe00ff00fc001f05ff00fd0048008c06ff00fd01ff007f00ea0baa00ab00ff007f00fe000f05ff00fe00e9002a08ff00fd06ff00fe07ff007f07ff00fe00220031007f07ff00fe0fff00bf08ff0012005108ff00fb06ff00fe07ff00bf07ff00fd0044004a08ff00fd 00fa0daa00af00df07ff00fe00a4000a08ff00f706ff00fe07ff00df07ff00fe00b10011007f07ff00fb0fff00ef08ff0010009508ff00ef06ff00fe07ff00ef07ff00fd0048008c08ff00f60faa00f707ff00fe00e9002a08ff00df06ff00fe07ff00f707ff00fe00220031007f07ff00ef0fff00fb08ff0012005108ff00bf06ff00fe07ff00fb07ff00fd0044004a08ff10aa00a907ff00fe00a4000a08ff003f06ff00fe07ff00f907ff00fe00b10011007f18ff00fc08ff0010009507ff00fe00df06ff00fe 07ff00f607ff00fd0048008c08ff002a0faa00ab007f06ff00fe00e9002a07ff00fd00ef06ff00fe07ff00ef007f06ff00fe00220031007f06ff00fe11ff00bf07ff0012005107ff00fb00f706ff00fe07ff00df00bf06ff00fd0044004a07ff00fd10aa00af00df06ff00fe00a4000a07ff00f700fb06ff00fe07ff00bf00df06ff00fe00b10011007f06ff00fb11ff00ef07ff0010009507ff00ef00fd06ff00fe07ff007f00ef06ff00fd0048008c07ff00f610aa00ab00f706ff00fe00e9002a07ff00df00fe 06ff00fe06ff00fe00ff00f706ff00fe00220031007f06ff00ef11ff00fb07ff0012005107ff00bf00ff007f05ff00fe06ff00fd00ff00fb06ff00fd0044004a07ff00de10aa00ab00fd06ff00fe00a7000a07ff00bf00ff00bf05ff00fe08ff00fb06ff00fe00b10011007f06ff00df11ff00fd07ff0013009507ff007f00ff00df05ff00fe04ff00fd0055005700ff00fd06ff00fd0048008c07ff00be11aa00fe06ff00fe00e9002a06ff00fe01ff00ef05ff00fe08ff00fe06ff00fe00220031007f06ff007f 12ff007f06ff0013005106ff00fd01ff00f705ff00fe02ff00fd035501ff007f05ff00fd0044004a06ff00fe00fa11aa00ff00bf05ff00fe00a4000a06ff00fd01ff00fb05ff00fe09ff007f05ff00fe00b10011007f05ff00fe13ff00bf06ff0013009506ff00fb01ff00fd05ff00fe01ff055501ff00bf05ff00fd0048008c06ff00fd00fa11aa00bf00df05ff00fe00eb002a06ff00f701ff00fe05ff00fe09ff00df05ff00fe00220031007f05ff00fb13ff00ef06ff0010005106ff00ef02ff007f05ff0755 007f00ff00ef05ff00fd0044004a06ff00f700fa11aa00bf00f705ff00fe00a7000a06ff00ef02ff00bf0fff00ef05ff00fe00b10011007f05ff00f713ff00f706ff0013009506ff00df02ff00df05ff0755007f00ff00f705ff00fd0048008c06ff00ef00ea11aa00af00fb05ff00fe00eb002a06ff00df02ff00ef0fff00f705ff00fe00220031007f05ff00ef13ff00fb06ff0013005106ff00bf02ff00f705ff0755005f00ff00fb05ff00fd0044004a06ff00df00ea11aa00af00fd05ff00fe00a7000a06ff 007f02ff00fb0fff00fd05ff00fe00b10011007f05ff00bf13ff00fe06ff0013009506ff007f02ff00fd04ff00fd0755005f00ff00fd05ff00fd0048008c06ff00bf12aa00ab00fe05ff00fe00eb002a05ff00fe03ff00fe0fff00fe05ff00fe00220031007f05ff007f14ff007f05ff0013005105ff00fe04ff007f03ff00fd0755005700ff00fe05ff00fd0044004a06ff007f12aa00ab00ff007f04ff00fe00a7000a05ff00fd04ff00bf0fff007f04ff00fe00b10011007f04ff00fe15ff00bf05ff00130095 05ff00fd04ff00df03ff00fd0755005701ff007f04ff00fd0048008c05ff00fe00ff13aa00ff00bf04ff00fe00eb002a05ff00fb04ff00ef0fff00bf04ff00fe00220031007f04ff00fd15ff00df05ff0012005105ff00fb04ff00f703ff00fd085501ff00bf04ff00fd0044004a05ff00fd00fe13aa00ff00df04ff00fe00a7000a05ff00f704ff00fb0fff00df04ff00fe00b10011007f04ff00fb15ff00ef05ff0013009505ff00f704ff00fd03ff00fd085501ff00df04ff00fd0048008c05ff00fb00fe13aa 00ff00ef04ff00fe00eb002a05ff00ef04ff00fe0fff00ef04ff00fe00220031007f04ff00f715ff00f705ff0013005105ff00ef05ff007f02ff00f50855007f00ff00ef04ff00fd0044004a05ff00f700fe13aa00bf00f704ff00fe00a7000a05ff00ef05ff00bf0eff00ef04ff00fe00b10011007f04ff00f715ff00f705ff0013009505ff00df05ff00df02ff00f50855007f00ff00f704ff00fd0048008c05ff00ef00fa13aa00bf00fb04ff00fe00eb002a05ff00df05ff00ef02ff00fe0aff00f704ff00fe 00220031007f04ff00ef15ff00fb05ff0013005105ff00bf05ff00f701ff00f500540855005f00ff00fb04ff00fd0044004a05ff00df00fa13aa00af00fd04ff00fe00a7000a05ff00bf05ff00fb02ff00f80aff00fb04ff00fe00b10011007f04ff00df15ff00fd05ff0013009505ff00bf05ff01fd015500500855005f00ff00fb04ff00fd0048008c05ff00df00fa13aa00af00fd04ff00fe00eb002a05ff007f09ff00e0007f09ff00fd04ff00fe00220031007f04ff00bf15ff00fe05ff0013005105ff007f 06ff025500400855005700ff00fd04ff00fd0044004a05ff00bf00ea13aa00ab00fe04ff00fe00a7000a05ff007f09ff00c0007f09ff00fd04ff00fe00b10011007f04ff00bf15ff00fe05ff0010009504ff00fe06ff00fd0255000000150755005700ff00fe04ff00fd0048008c05ff007f00ea13aa00ab00ff007f03ff00fe00ea002a04ff00fe0aff0000003f09ff00fe04ff00fe00220031007f04ff007f16ff007f04ff0010005104ff00fe06ff00f50155005400000015085500ff00fe04ff00fd0044004a 05ff007f15aa00ff007f03ff00fe00a6000a04ff00fd09ff00fc0000001f0aff007f03ff00fe00b10011007f03ff00fe17ff00bf04ff0013009504ff00fd06ff00d50155005000000015085501ff007f03ff00fd0048008c04ff00fe00ff15aa00ff00bf03ff00fe00eb002a04ff00fd09ff00f00000001f0aff007f03ff00fe00220031007f03ff00fe17ff00bf04ff0013005104ff00fd06ff02550050000000150855007f00ff007f03ff00fd0044004a04ff00fe00ff15aa01bf03ff00fe00a6000a04ff00fb 09ff00e00000000f0aff00bf03ff00fe00b10011007f03ff00fd17ff00df04ff0013009504ff00fb06ff02550040000000050855007f00ff00bf03ff00fd0048008c04ff00fd00fe15aa00bf00df03ff00fe00eb002a04ff00fb09ff00800000000f0aff00bf03ff00fe00220031007f03ff00fd17ff00df04ff0013005104ff00fb05ff00fd0255010000050855007f00ff00bf03ff00fd0044004a04ff00fd00fe15aa00af00df03ff00fe00a7000a04ff00fb08ff00fe010000070aff00bf03ff00fe00b10011 007f03ff00fd17ff00df04ff0013009504ff00f705ff00f501550054010000050855005f00ff00df03ff00fd0048008c04ff00fb00fe15aa00af00ef03ff00fe00eb002a04ff00f708ff00fc010000070aff00df03ff00fe00220031007f03ff00fb09ff00000cff00ef04ff0012005104ff00f705ff00d501550054010000010855005f00ff00df03ff00fd0044004a04ff00fb00fa08aa008000000aaa00ab00ef03ff00fe00a5000a04ff00f708ff00f8010000030aff00df03ff00fe00b10011007f03ff00fb 09ff00c00000007f0aff00ef04ff0013009504ff00f705ff00d501550050010000010855005700ff00df03ff00fd0048008c04ff00fb00fa08aa00a00000002a09aa00ab00ef03ff00fe00eb002a04ff00f708ff00f0010000010aff00df03ff00fe00220031007f03ff00fb09ff00e00000007f0aff00ef04ff0010005104ff00f705ff02550050010000010855005700ff00df03ff00fd0044004a04ff00fb00fa08aa00a00000002a09aa00ab00ef03ff00fe00a7000a04ff00f708ff00f0010000010aff00df 03ff00fe00b10011007f03ff00fb09ff00f80000007f0aff00ef04ff0013009504ff00ef04ff00fd0255004001000001095500ff00ef03ff00fd0048008c04ff00f700ea08aa00a80000002a0aaa00f703ff00fe00eb002a04ff00ef08ff00e00200001f09ff00ef03ff00fe00220031007f03ff00f709ff00fc0000003f0aff00f704ff0013005104ff00ef04ff00f50255004002000001085500ff00ef03ff00fd0044004a04ff00f700ea09aa0000002a0aaa00f703ff00fe00a7000a04ff00ef08ff00c00300 003f08ff00ef03ff00fe00b10011007f03ff00f70aff0000003f0aff00f704ff0013009504ff00ef04ff00d502550040030000010755007f00ef03ff00fd0048008c04ff00f70aaa0080002a0aaa00b703ff00fe00eb002a04ff00ef08ff00800400007f07ff00ef03ff00fe00220031007f03ff00f70aff0080003f0aff00f704ff0013005104ff00ef04ff00d50255050000050655007f00ef03ff00fd0044004a04ff00f70aaa0080002a0aaa00b703ff00fe00a7000a04ff00ef08ff060007ff00ef03ff00fe 00b10011007f03ff00f70aff00e000010aff00f704ff0010009504ff00ef04ff0355060000050555005f00ef03ff00fd0048008c04ff00f70aaa00a00000000a09aa00a703ff00fe00ea002a04ff00e00300000302ff00fe0600000105ff00e0000f03ff00fe00220031007f0fff00f00100007f08ff00f704ff0013005103ff001f00ef04ff0355060000010555005f00ef00f8007f01ff00fd0044004a03ff008f00f20aaa00a00100002a08aa00a700fc003f01ff00fe00a7000a02ff00fe00ff00ef08ff0600 000106ff00ef00f700bf01ff00fe00b10011007f02ff007f00f70aff00e00100001f08ff00f700fb00df02ff0013009502ff00fd00ff00ef04ff0355060000010555007f00ef00f700bf01ff00fd0048008c02ff00fe00ff00f60aaa00800100000a08aa00b700fb00df01ff00fe00e9002a02ff00fd00ff00ef08ff00800500000306ff00ef00ff00bf01ff00fe00220031007f01ff00fe00ff00f70aff00800100000f08ff00f700ff00df02ff0013005102ff00fd001f00ef04ff0355004005000005055500ff 00ef00ff007f01ff00fd0044004a02ff00fe008f00f70aaa0200000208aa00f700ff00bf01ff00fe00a7000a02ff00fc01ef08ff00c00500000706ff00ef00fc02ff00fe00b10011007f01ff00fe007700f709ff00fe0200000308ff00f700fe007f02ff0013009502ff00fd01ef04ff0355004005000005055500ff00ef00fb02ff00fd0048008c02ff00fe01f700ea08aa00a8030007aa00ab00f700fd02ff00fe00eb002a02ff00fd01ef08ff00e00500000f06ff00ef00f702ff00fe00220031007f01ff00fe 01f709ff00f80200000108ff00f700fb03ff0013005102ff00fe001f00ef04ff03550040050000050455005700ff00ef00f0003f01ff00fd0044004a03ff000f00f700ea08aa00a0030007aa00af00f700f8001f01ff00fe00a4000a04ff00f708ff00f00500001f06ff00df03ff00fe00b10011007f03ff00fb09ff00f00300007f07ff00ef04ff0012009504ff00f704ff03550050050000150455005f00ff00df03ff00fd0048008c04ff00fb00fa08aa00a00300002a06aa00af00ef03ff00fe00eb002a04ff 00f708ff00f80500003f06ff00df03ff00fe00220031007f03ff00fb09ff00c00300003f07ff00ef04ff0013005104ff00f704ff03550050050000150455005f00ff00df03ff00fd0044004a04ff00fb00fa08aa0080000000800100000a06aa00bf00ef03ff00fe00a7000a04ff00f708ff00fc0500007f06ff00df03ff00fe00b10011007f03ff00fb09ff0000000700e00100000f07ff00ef04ff0013009504ff00f704ff0355005405000555007f00ff00df03ff00fd0048008c04ff00fb00fa08aa0000000a 00a00100000206aa00bf00ef03ff00fe00eb002a04ff00f708ff00fc0500007f06ff00df03ff00fe00220031007f03ff00fb08ff00fc0000007f00f80100000707ff00ef04ff0012005104ff00f704ff045505000555007f00ff00df03ff00fd0044004a04ff00fb00fe07aa00a8000001aa0100000206aa00ff00ef03ff00fe00a7000a04ff00fb09ff00e0040007ff00bf03ff00fe00b10011007f03ff00fd08ff00f0000701ff0100000107ff00df04ff0013009504ff00fb04ff0455005403000001055501ff 00bf03ff00fd0048008c04ff00fd00fe07aa00a0000a01aa0080010006aa00ff00df03ff00fe00e9002a04ff00fb0aff0300000107ff00bf03ff00fe00220031007f03ff00fd08ff00e0003f01ff00c0010007ff00df04ff0013005104ff00fb04ff05550040020000010455005701ff00bf03ff00fd0044004a04ff00fd00fe07aa008002aa00a00100002a05aa00ff00df03ff00fe00a4000a04ff00fb0aff00f80200000307ff00bf03ff00fe00b10011007f03ff00fd08ff008302ff00f80100003f06ff00df 04ff0012009504ff00fd04ff05550054020000010455005701ff007f03ff00fd0048008c04ff00fe00ff07aa000a02aa00a80100000a04aa00ab00ff00bf03ff00fe00eb002a04ff00fd0bff00f80100000707ff007f03ff00fe00220031007f03ff00fe07ff00fe003f02ff00fe0100001f06ff00bf04ff0010005104ff00fd04ff07550040000000050455005f01ff007f03ff00fd0044004a04ff00fe00ff06aa00a804aa0100000a04aa00ab00ff00bf03ff00fe00a4000a04ff00fd0dff0000000f07ff007f 03ff00fe00b10011007f03ff00fe07ff00fb04ff00800000000706ff00bf04ff0011009504ff00fe04ff0855005400050455007f00ff00fe04ff00fd0048008c05ff007f00ea0baa00a00000000204aa00ab00ff007f03ff00fe00ea002a04ff00fe16ff00fe04ff00fe00220031007f04ff007f0cff00f00000000306ff007f04ff0010005104ff00fe04ff0f55007f00ff00fe04ff00fd0044004a05ff007f00ea0baa00a8010004aa00af00ff007f03ff00fe00a4000a05ff007f15ff00fd04ff00fe00b10011 007f04ff00bf0cff00fc010005ff00fe05ff0011009505ff007f03ff0f5501ff00fd04ff00fd0048008c05ff00bf00ea0caa0100002a03aa00af00fe04ff00fe00ea002a05ff007f15ff00fd04ff00fe00220031007f04ff00bf0dff00800000007f04ff00fe05ff0010005105ff00bf03ff0e55005701ff00fb04ff00fd0044004a05ff00df00fa0caa00800000002a03aa00af00fd04ff00fe00a4000a05ff00bf15ff00fb04ff00fe00b10011007f04ff00df0dff00e00000001f04ff00fd05ff0011009505ff 00bf03ff0e55005701ff00fb04ff00fd0048008c05ff00df00fa0caa00a00000000a03aa00bf00fd04ff00fe00ea002a05ff00df15ff00f704ff00fe00220031007f04ff00ef0dff00fc0000000f04ff00fb05ff0010005105ff00df03ff00d50d55005f01ff00f704ff00fd0044004a05ff00ef00fa0daa0000000203aa00bf00fb04ff00fe00a4000a05ff00ef15ff00ef04ff00fe00b10011007f04ff00f70eff0000000304ff00f705ff0011009505ff00ef03ff00d50d55007f01ff00ef04ff00fd0048008c 05ff00f700fe0daa0080000003aa00bf00f704ff00fe00ea002a05ff00ef15ff00ef04ff00fe00220031007f04ff00f70eff00c0000104ff00f705ff0010005105ff00f703ff00d50d55007f01ff00df04ff00fd0044004a05ff00fb00fe0daa00a0000003aa00ff00ef04ff00fe00a4000a05ff00f715ff00df04ff00fe00b10011007f04ff00fb0eff00f80000007f03ff00ef05ff0011009505ff00fb03ff00d50d5502ff00bf04ff00fd0048008c05ff00fd00fe0daa00a80000002a02aa00ff00df04ff00fe 00ea002a05ff00fb15ff00bf04ff00fe00220031007f04ff00fd0eff00fe0000003f03ff00df05ff0013005105ff00fd03ff00d50d5502ff007f04ff00fd0044004a05ff00fe00ff0eaa0080000a01aa00ab00ff00bf04ff00fe00a7000a05ff00fd15ff007f04ff00fe00b10011007f04ff00fe0fff00c0000f03ff00bf05ff0011009505ff00fe03ff00d50c55005701ff00fe05ff00fd0048008c06ff007f0eaa00a0000201aa00ab00ff007f04ff00fe00eb002a05ff00fe14ff00fe05ff00fe00220031007f 05ff007f0eff00f0000703ff007f05ff0010005106ff007f02ff00d50c55005f01ff00fd05ff00fd0044004a06ff00bf00ea0daa00a8000201aa00ab00fe05ff00fe00a7000a06ff007f13ff00fd05ff00fe00b10011007f05ff00bf0eff00fe000102ff00fe06ff0013009506ff00bf02ff00d50c55005f01ff00fb05ff00fd0048008c06ff00df00ea0eaa000001aa00af00fd05ff00fe00e8002a06ff00df13ff00f705ff00fe00220031007f05ff00ef0fff008002ff00fb06ff0013005106ff00df02ff00d5 0c55007f01ff00f705ff00fd0044004a06ff00ef00ea0eaa0080002a00aa00af00fb05ff00fe00a7000a06ff00ef02ff00bf0fff00ef05ff00fe00b10011007f05ff00f70fff00e0003f01ff00f706ff0013009506ff00ef02ff007f0c55007f01ff00ef05ff00fd0048008c06ff00f700fa0eaa00a8000a00aa00af00f705ff00fe00eb002a06ff00f701ff00fe10ff00df05ff00fe00220031007f05ff00fb0fff00fc001f01ff00ef06ff0013005106ff00fb01ff00fd00ff00fd0b55007f01ff00bf05ff00fd 0044004a06ff00fd00fa0faa000a00aa00bf00df05ff00fe00a7000a06ff00fd01ff00fb10ff007f05ff00fe00b10011007f05ff00fe10ff000701ff00bf06ff0013009506ff00fd01ff00f701ff00f50a55005f01ff007f05ff00fd0048008c06ff00fe00fa0faa008200aa01bf05ff00fe00eb002a06ff00fe01ff00ef0dff00ef00ff00fe06ff00fe00220031007f06ff007f0fff00e301ff007f06ff0013005107ff007f00ff00df02ff00d50755005700ff00f700ff00fd06ff00fd0044004a07ff00be0faa 00a000aa00be06ff00fe00a7000a07ff00bf00ff00bf0dff00fb00ff00fb06ff00fe00b10011007f06ff00df0fff00f800ff00fd07ff0013009507ff00bf00ff007f03ff065502ff00fd00ff00fb06ff00fd0048008c07ff00de0faa00a8002a00fd06ff00fe00ea002a07ff00df00fe0eff00fe00ff00f706ff00fe00220031007f06ff00ef10ff007f00fb07ff0013005107ff00ef00fd04ff00fd0355005f04ff007f00ef06ff00fd0044004a07ff00f711aa00f706ff00fe00a7000a07ff00f700fb0fff00bf 00df06ff00fe00b10011007f06ff00fb10ff00df00ef07ff0013009507ff00fb00f705ff00f50055005706ff00df00bf06ff00fd0048008c07ff00fd11aa00df06ff00fe00eb002a07ff00fd00ef0fff00ef007f06ff00fe00220031007f06ff00fe11ff00bf07ff0013005107ff00fe00df06ff00d507ff00f607ff00fd0044004a08ff002a0faa00ab007f06ff00fe00a7000a08ff003f0fff00f907ff00fe00b10011007f18ff00fc08ff0013009508ff00bf06ff00fe07ff00fb07ff00fd0048008c08ff00da 0faa00ad07ff00fe00eb002a08ff00df06ff00fe07ff00f707ff00fe00220031007f07ff00ef0fff00fb08ff0013005108ff00ef06ff00fe07ff00ef07ff00fd0044004a08ff00f700ea0daa00ab00f707ff00fe00a7000a08ff00f706ff00fe07ff00df07ff00fe00b10011007f07ff00fb0fff00ef08ff0013009508ff00fb06ff00fe07ff00bf07ff00fd0048008c08ff00fd00fe0daa00bf00df07ff00fe00eb002a08ff00fd06ff00fe07ff007f07ff00fe00220031007f07ff00fe0fff00bf08ff00130051 06ff00f0003f00fe06ff00fe06ff00fe00ff00fc000f05ff00fd0044004a06ff00f8001f00ff007f00fa0baa00ab00ff007f00fe000705ff00fe00a4000a06ff00f701ff003f05ff00fe06ff00f901ff00ef05ff00fe00b10011007f05ff00fb01ff009f0dff00fc01ff00f706ff0012009506ff00f701ff00df05ff00fe06ff00f701ff00df05ff00fd0048008c06ff00fb01ff00ef00ff00ea0aaa00ff00fb01ff00ef05ff00fe00e8002a06ff00f4007f00ff00ef05ff00fe06ff00ef01ff00bf05ff00fe0022 0031007f05ff00fa003f00ff00f70dff00f701ff00df06ff0012005106ff00f300bf00ff00f305ff00fe06ff009f01ff001f05ff00fd0044004a06ff00f900df00ff00f900ff00fe09aa00af00ff00cf01ff008f05ff00fe00a7000a07ff00bf00ff00fd05ff00fe06ff007f01ff00ef05ff00fe00b10011007f06ff00df00ff00fe0dff00bf01ff00f706ff0013009507ff00bf00ff00fe05ff00fe05ff00fe02ff00ef05ff00fd0048008c07ff00df01ff007f00ff00fa08aa01ff007f01ff00f705ff00fe00eb 002a06ff00f700bf01ff003f04ff00fe05ff00f901ff00fd00ef05ff00fe00220031007f05ff00fb00df01ff009f0bff00fc01ff00fe00f706ff0012005106ff00f8007f01ff00cf04ff00fe05ff00e701ff00fe001f05ff00fd0044004a06ff00fc003f01ff00e701ff00ea06aa00bf00ff00f302ff000f05ff00fe00a7000a0aff00f704ff00fe05ff00df09ff00fe00b10011007f09ff00fb0bff00ef0aff001300950aff00f904ff00fe05ff003f09ff00fd0048008c0aff00fc01ff00fe05aa00ab01ff009f 09ff00fe00eb002a0aff00fe007f03ff00fe04ff00fc0aff00fe00220031007f0aff003f09ff00fe007f0aff001300510bff009f03ff00fe04ff00f30aff00fd0044004a0bff00cf01ff00fa04aa00bf00ff00f90aff00fe00a7000a0bff00e703ff00fe04ff00cf0aff00fe00b10011007f0aff00f309ff00e70bff001300950bff00f903ff00fe04ff003f0aff00fd0048008c0bff00fc02ff00ea02aa00af01ff009f0aff00fe00ea002a0bff00fe003f02ff00fe03ff00f80bff00fe00220031007f0bff001f 07ff00fc007f0bff001100510cff00cf02ff00fe03ff00e70bff00fd0044004a0cff00e701ff00fe02aa01ff00f30bff00fe00a7000a0cff00f102ff00fe03ff001f0bff00fe00b10011007f0bff00f807ff008f0cff001300950cff00fe003f01ff00fe02ff00f80cff00fd0048008c0dff001f01ff00ea00aa00bf00ff00fc007f0bff00fe00e8002a0dff00c701ff00fe02ff00c70cff00fe00220031007f0cff00e305ff00e30dff001300510dff00f8007f00ff00fe01ff00fc003f0cff00fd0044004a0dff 00fc003f00ff00fa00ab00ff00fe001f0cff00fe00a7000a0eff008300ff00fe01ff00830dff00fe00b10011007f0dff00c103ff00c10eff001300950eff00fc000300fe00ff0080007f0dff00fd0048008c0eff00fe000100fe00bf00c0003f0dff00fe00eb002a0fff00fc0100007f0eff00fe00220031007f0eff00fe0100003f0fff0013005122ff00fd0044004a22ff00fe00a7000a22ff00fe00b10011007f22ff0013009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff00130051 22ff00fd0044004a22ff00fe00a4000a22ff00fe00b10011007f22ff0012009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff0013005122ff00fd0044004a22ff00fe00a7000a11ff00bf0fff00fe00b10011007f10ff00df10ff0011009511ff003f0fff00fd0048008c11ff009f0fff00fe00eb002a10ff00fe00bf0fff00fe00220031007f10ff005f10ff0013005110ff00fd00bf0fff00fd0044004a10ff00fe00df0fff00fe00a7000a10ff00fb00bf0fff00fe00b10011007f0fff 00fd00df10ff0013009510ff00fb00bf0fff00fd0048008c10ff00fd00df0fff00fe00eb002a10ff00f8001f0fff00fe00220031007f0fff00fc000f10ff0010005111ff00bf0fff00fd0044004a11ff00df0fff00fe00a6000a11ff00bf0fff00fe00b10011007f10ff00df10ff0013009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff0013005122ff00fd0044004a22ff00fe00a7000a22ff00fe00b10011007f22ff0013009522ff00fd0048008c22ff00fe00ea002a22ff00fe0022 0031007f22ff0013005122ff00fd0044004a22ff00fe00a7000a22ff00fe00b10011007f22ff0011009522ff00fd0048008c22ff00fe00eb002a22ff00fe00220031007f22ff0010005122ff00fd0044004a22ff00fe00a6000a22ff00fe00b10011007f22ff0013009522ff00fd0048008c22ff00fe00e8002a22ff00fe00220031007f22ff0010005122ff00fd0044004a22ff00fe00a5000a22ff00fe00b10011007f22ff0012009522ff00fd0048008c22ff00fe00e8002a22ff00fe00220031007f22ff0010 005122ff00fd0044004a22ff00fe00a5000a22ff00fe00b10011007f22ff0012009522ff00fd0048008c22ff00fe00e8002a22ff00fe00220031007f22ff0010005122ff00fd0044004a22ff00fe00a5000a22ff00fe00b10011007f22ff0012009523550048008c23aa00e8002a23aa0022003123550010005223220044004a23aa00a50008238800b10015235500520095235500482588002a23aa00a2242200204a440045 grestore showpage endFig 12 s 919 3200(Figure)N 1194(3:)X 1293(Kiviat)X 1558(Diagrams)X 1956(for)X 2092(Cholesky)X 2479(Factorization)X 3012(\(100x100)X 3404(matrix\))X 576 3488(nearly)N 860(identical)X 1236(points)X 1514(on)X 1653(the)X 1814(iPSC/2)X 2129(and)X 3 f 9 s 2305(PVM)X 1 f 12 s 2469(,)X 2536(is)X 2643(shown)X 2936(in)X 3055(Figure)X 3350(5.)X 3490(This)X 3705(example)X 576 3632(clearly)N 877(displays)X 1230(the)X 1386(difference)X 1815(in)X 1928(communication)X 2566(speeds)X 2860(in)X 2972(the)X 3127(two)X 3308(environments,)X 3893(and)X 576 3776(also)N 758(shows)X 1024(the)X 1169(possible)X 1511(variation)X 1881(in)X 1983(communication)X 2610(rates)X 2819(between)X 3168(the)X 3314(same)X 3540(two)X 3712(process-)X 576 3920(ing)N 755(elements.)X 1178(Once)X 1437(again,)X 1726(this)X 1921(display)X 2255(is)X 2374(useful)X 2664(in)X 2794(locating)X 3160(bottlenecks,)X 3678(detecting)X 576 4064(deadlock,)N 972(and)X 1135(as)X 1239(a)X 1306(basis)X 1522(for)X 1658(\256ne)X 1826(tuning)X 2096(of)X 2200(the)X 2342(application.)X 3 f 576 4352(5.)N 696(Porting)X 1030(Two)X 1235(Scienti\256c)X 1633(Applications)X 2174(to)X 9 s 2272(PVM)X 1 f 12 s 776 4524(In)N 882(order)X 1111(to)X 1212(access)X 1484(the)X 1628 0.2841(practicality)AX 2089(and)X 2254(ease)X 2446(of)X 2552(use)X 2706(of)X 3 f 9 s 2806(PVM)X 1 f 12 s 2970(,)X 3020(two)X 3191(scienti\256c)X 3566(applications)X 576 4668(were)N 795(ported)X 1073(to)X 3 f 9 s 1174(PVM)X 1 f 12 s 1338(.)X 1394(Each)X 1619(application)X 2080(had)X 2251(been)X 2465 0.2898(parallelized)AX 2948(previously)X 3386(to)X 3493(run)X 3653(on)X 3781(hyper-)X 576 4812(cube)N 790(multiprocessors.)X 1479(The)X 1661(size)X 1843(of)X 1956(the)X 2107(codes,)X 2383(communication)X 3016(patterns,)X 3378(and)X 3550(communica-)X 576 4956(tion)N 750(volumes)X 1100(are)X 1242(very)X 1437(different)X 1793(between)X 2138(the)X 2280(two)X 2448(applications.)X 776 5128(Both)N 992(applications)X 1487(are)X 1634(written)X 1936(in)X 2041(Fortran.)X 2378(This)X 2579(required)X 2930(that)X 3105(a)X 3178(Fortran-to-C)X 3694(interface)X 576 5272(be)N 694(designed)X 1063(so)X 1175(that)X 1347(the)X 3 f 9 s 1486(PVM)X 1 f 12 s 1677(C)X 1768(functions)X 2153(could)X 2394(be)X 2511(called.)X 2816(A)X 2911(list)X 3055(of)X 3161(these)X 3385(Fortran)X 3694(interface)X 576 5416(routines)N 910(is)X 998(given)X 1236(in)X 1335(Table)X 1579(3)X 1651(in)X 1750(the)X 1892(Appendix.)X 576 5732(Several)N 897(problems)X 1287(arose)X 1522(during)X 1805(the)X 1955(development)X 2485(of)X 2597(this)X 2769(interface.)X 3164(The)X 3347(\256rst)X 3529(problem)X 3883(was)X 576 5876(the)N 723(different)X 1084(calling)X 1376(conventions)X 1870(of)X 1979(C)X 2072(from)X 2288(Fortran)X 2600(by)X 2725(different)X 3086(compilers.)X 3519(For)X 3681(example,)X 15 p %%Page: 15 15 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(15)X 2376(-)X 576 720 MXY 4000 4808 58.00 101.00 558.00 702.00 startFig %! %% %% Xgrabsc Postscript dump of image 'f7' %% %% %% run-length encoded. Savings = 59580 bytes %% %% /inch {72 mul} def /picstr 78 string def /rlebuffer 2 string def /plotimage {619 756 1 [619 0 0 -756 0 756] { currentfile rlebuffer readhexstring pop pop /nsamples rlebuffer 0 get 1 add store /lum rlebuffer 1 get store /samples nsamples string store 0 1 nsamples -1 add { samples exch lum put } for samples } image } def gsave 0.81 inch 1.3 inch translate 6.9 inch 8.4 inch scale plotimage 0035115500423822003f4baa00a8009f4b550054005f002f4aff00e1011f4aff00d2003f00af4aff00e8009f005e0000003f46ff00f0000100d4005f002e00ff00bf46ff00f7006d00e1001f001e009e00bf00fb45ff00f7006d00d2003f00ae00cd00bf46ff00f7006d00e8009f005e00e500bf00f300e801f042ff00f0006d00d4005f002e00ef00bf00fb00e7016f007f41ff00f700ed00e10015001e00d300bf00fb00ef007300ef42ff00f700ed00d2002a00ae00d900bf00fb00e7007c00ef42ff00f0 000d00e80082005e00bc00bf00fb00e800ef006f007f41ff00f700fd00d40048002e00ff00bf00e000ef01f042ff00f700fd00e10008001e0000003f00ff00ef44ff00f0000100d2002200af02ff00ef46ff00e80084005f4aff00d4004a002f4aff00e1001f00154a550052002a4baa00a8009f00514a110014004a00284a8800a1001f00154a550012003f00a24aaa00e8009f00554aff0014005f002b49ff00fe00a1001f00154aff0012003f00a300c0000746ff0080000e00e80095005500df00f700fe001f 44ff00bb006f0014005f002b00d300d700fd00ef00ff01fe41ff00bb006e00a1001f001500d900b700fd01ff01fe41ff00bb006f0012003f00a300dc00b700fd00fe001d011c001f40ff0083006e00e8009f005500dd00f700fd00ff00ec00ee00fe41ff00bf006f00140042002b00da007700fd008e000d00ee00fe41ff00bf006e00a1001f001500db003700fd01ed00ee00fe41ff0080006f0012003f00a300d7009700fd01cd01ee00ef40ff00bf00ee00e8008a005500df00f700fe002e002d00ef011f40ff 00bf00ef0014005f002b00c0000746ff0080000e00a1000a00154aff0012003f00a349ff00fe00e8008a00554aff0014005f002a4aaa00a1001f00154a550012003f00a349ff00fe00e8009f00554aff0014005f002b49ff00fe00a10014001522ff00f800e300740010007f22ff0012002000a322ff00f7005d0077007d22ff00fe00e8009f005522ff00f700dd0037007d23ff0014005f002b22ff00f700c10057007d22ff00fe00a10004001522ff00f6005d0067007d23ff0012003f00a322ff00f7005d0077 007d22ff00fe00e8009f005522ff00f800dd0077007d23ff0014005d002b49ff00fe00a1001f00154aff0012002000a349ff00fe00e8008000554aff00140047002b00ff00fc480000a1001f001500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012002000a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff 00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff00140053002b00ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a10007001500ff00fd02ff00fe0001 07ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012002700a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009f005500e000fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe 0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff00140046002b00fe00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a1001f001501fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012003f00a301fd02ff 00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009f005500fb00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff00140048002b00fb00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe03000001 02ff00fe00a1001f001500fb00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012003f00a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009b005500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe00000001 00ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0014005f002b00ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a1001f001500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe 00010eff00fe0000000103ff0012003f00a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009a005500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0014005a002b00ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff 00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a1001a001500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012003f00a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe0001 07ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0014005f002b00ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a1001f001500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe 0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012003f00a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00e80080005500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0014005f002b00ff 00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe0300000102ff00fe00a10014001500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0012002000a300ff00fd02ff00fe000107ff00fe0900000100ff00fe000101ff00fe000100fe0000000100fe0d0000010bff00fe 0300000102ff00fe00e8009c005500ff00fd02ff00fe000107ff00fe0000000100ff00fe0100000100ff00fe0000000100ff00fe000101ff00fe000100ff00fe000100fe0000000100fe0200000100fe0000000100fe0000000100fe00010eff00fe0000000103ff0014005f002b00ff00fc480000a1001f001500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff 00fe000104ff0012003900a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff00140048002b00ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300 000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a1001f001500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012003f00a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e80094005500f900fd 02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014005f002b00f700fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a10014001500ef00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe0001 00fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012003a00a300e100fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e8009d005500ee00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014005f 002b00ee00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a1001f001500f100fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012003f00a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff 00fe000100fe050000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014005f002b00ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a1001f001500ff00fd02ff00fe000101ff00fe 0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012003f00a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe 000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014005f002b00ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a1001f001500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012003f00a300ff00fd02ff00fe 000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e80095005500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014004a002b00ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe05000001 0bff00fe0300000102ff00fe00a10002001500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0012002800a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e80088005500ff00fd02ff00fe000101ff00fe0200000100fe03000001 03ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff00140042002b00ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00a10004001500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe 000000010dff00fe000100ff00fe000104ff0012002a00a300ff00fd02ff00fe000101ff00fe0200000100fe0300000101ff00fe0300000100fe0b00000100ff00fe000100fe050000010bff00fe0300000102ff00fe00e8009f005500ff00fd02ff00fe000101ff00fe0200000100fe0300000103ff00fe0100000100fe0200000100fe000100fe000100fe0200000100ff00fe000100ff00fe000100fe000000010dff00fe000100ff00fe000104ff0014004a002b00ff00fc480000a1001f001500ff00fc0001 01ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012002a00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e8009f005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ff00fc000101ff 00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1001f001500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012003f00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e8009f005500e000fc000101ff00fe0000000100fe 1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ef00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1011500e100fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012003f00a300fe00fc000101ff00fe0000000100fe16000001 04ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e8009f005500fe00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ee00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1001f001500f100fc000101ff00fe0000000100fe1100000100fe000107ff00fe 000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012002200a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e8009f005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe 000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1000a001500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012003f00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e8008a005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff 00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1000a001500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012003f00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe05000001 0bff00fe0300000100ff00fe000100fe00e8009f005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0014005f002b00ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00a1001f001500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe0000 00010bff00fe000100fe000105ff0012003f00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e80094005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff00140040002b00ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff 00fe000100fe00a1001f001500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe000105ff0012003f00a300ff00fc000101ff00fe0000000100fe1600000104ff00fe000100ff00fe000101ff00fe050000010bff00fe0300000100ff00fe000100fe00e80084005500ff00fc000101ff00fe0000000100fe1100000100fe000107ff00fe000100ff00fe000103ff00fe0000000100fe000000010bff00fe000100fe 000105ff0014005f002b00ff00fc480000a1001f001500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012003d00a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009f005500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff 00fe000101ff00140040002b00ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a10000001500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012002700a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009f005500fd00fc0300000100fe0400000100fe0100 00010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff00140040002b00f900fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a1001f001500f500fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012003300a300ed00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff 00fe060000010bff00fe0600000100fe00e80087005500e000fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff00140047002b00fd00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a1001f001500fd00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff 00fe000101ff0012002600a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009f005500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0014005f002b00ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a1001f001500ff00fc0300000100fe0400000100fe0100 00010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012002800a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009f005500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0014005f002b00ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff 00fe060000010bff00fe0600000100fe00a1001b001500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012003f00a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009f005500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff 00fe000101ff0014005f002b00ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a1001a001500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012003a00a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00e8009a005500ff00fc0300000100fe0400000100fe0100 00010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0014005f002b00ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff00fe060000010bff00fe0600000100fe00a1001f001500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0012003f00a300ff00fc0f00000102ff00fe0000000103ff00fe000100fe00010aff 00fe060000010bff00fe0600000100fe00e8009f005500ff00fc0300000100fe0400000100fe010000010aff00fe00010cff00fe0000000100fe000100ff00fe00010cff00fe0000000100fe000100ff00fe000101ff0014005f002b00ff00fc480000a10000001500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000 000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e80094005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff00140040002b00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1001c0015 00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e8009f005500f100fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe 000103ff00fe0200000100fe0000000100fe000102ff00140059002b00ee00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1001f001500fe00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012002800a300f900fd0dff00fe000101ff00fe0000000100ff00fe0001 05ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e8009f005500fe00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0014005f002b00ee00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a10014001500f100fd0dff00fe 000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e80094005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200 000100fe0000000100fe000102ff0014005a002b00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1001d001500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff 00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e8009f005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0014005f002b00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1001f001500ff00fd0dff00fe000101ff00fe0000 000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e8009f005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe00000001 00fe000102ff0014005f002b00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1001f001500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012003f00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe 0300000103ff00fe0200000100fe0900000100ff00fe00e8009f005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0014005f002b00ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00a1011500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff 00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff0012002a00a300ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe0300000103ff00fe0200000100fe0900000100ff00fe00e80082005500ff00fd0dff00fe000101ff00fe0000000100ff00fe000105ff00fe000103ff00fe000105ff00fe000100ff00fe000104ff00fe000103ff00fe0200000100fe0000000100fe000102ff00140048 002b00ff00fc480000a10008001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012002200a300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e80084005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe0001 00fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014004a002300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00a1001f001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012002a00a300ff 00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8009f005500f100fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014004a002300ee00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe 0d00000101ff00fe00a1001f001500fe00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a301fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8009f005500fb00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe 00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014005f002300f700fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00a1001f001500e000fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a300ff00fd 02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e80095005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014005f002300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00 000101ff00fe00a1001f001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8009f005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe 00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff00140042002300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00a1001f001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a300ff00fd 02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8008a005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014005f002b00ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00 000101ff00fe00a1000a001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a300ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8008a005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe 00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014005f002b00ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00a1001f001500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0012003f00a300ff00fd 02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0300000103ff00fe0d00000101ff00fe00e8009f005500ff00fd02ff00fe000106ff00fe000100fe000100fe000103ff00fe000101ff00fe000100fe00010dff00fe0000000107ff00fe0200000100fe0000000100fe000100fe0000000100fe000102ff0014005f002b00ff00fc480000a10014001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff 00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012002000a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009f005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0014005f002b00ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe0001 00fe0200000100fe0f00000104ff00fe00a10004001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012003f00a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009f005500fb00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe0001 00fe0200000100fe000100fe0000000100fe0200000105ff0014005d002b00f300fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00a1001f001500fb00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012002000a300fb00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200 000100fe0f00000104ff00fe00e80080005500fb00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff00140047002b00fb00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00a1001f001500f100fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200 000100fe000100fe0000000100fe0200000105ff0012002000a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009f005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff00140053002b00ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe 0f00000104ff00fe00a10007001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012002700a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009f005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe 000100fe0000000100fe0200000105ff00140046002b00ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00a1001f001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012003f00a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f000001 04ff00fe00e8009f005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff00140048002b00ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00a1001f001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe 0000000100fe0200000105ff0012003f00a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009b005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0014005f002b00ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe 00a1001f001500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe0000000100fe0200000105ff0012003f00a300ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0200000100fe0f00000104ff00fe00e8009a005500ff00fd02ff00fe00010bff00fe010000010eff00fe000100fe000101ff00fe000100fe0000000102ff00fe000100fe0200000100fe000100fe00000001 00fe0200000105ff0014005a002b00ff00fc480000a1001a001500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012003f00a300ff00fd29ff00fe000100fe1300000105ff00fe00e8009f005500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ff00fd29ff00fe000100fe1300000105ff00fe00a1001f001500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400 000106ff0012003f00a300ff00fd29ff00fe000100fe1300000105ff00fe00e80080005500f100fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ee00fd29ff00fe000100fe1300000105ff00fe00a10014001500ec00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012002000a300ea00fd29ff00fe000100fe1300000105ff00fe00e8009c005500e600fd29ff00fe000100fe000103ff00fe000100fe0200 000100fe000100fe0400000106ff0014005f002b00ee00fd29ff00fe000100fe1300000105ff00fe00a1001f001500f100fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012003900a300ff00fd29ff00fe000100fe1300000105ff00fe00e8009f005500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff00140048002b00ff00fd29ff00fe000100fe1300000105ff00fe00a1001f001500ff00fd29ff00fe000100fe0001 03ff00fe000100fe0200000100fe000100fe0400000106ff0012003f00a300ff00fd29ff00fe000100fe1300000105ff00fe00e80094005500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ff00fd29ff00fe000100fe1300000105ff00fe00a10014001500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012003a00a300ff00fd29ff00fe000100fe1300000105ff00fe00e8009d005500ff00fd 29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ff00fd29ff00fe000100fe1300000105ff00fe00a1001f001500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012003f00a300ff00fd29ff00fe000100fe1300000105ff00fe00e8009f005500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ff00fd29ff00fe000100fe1300000105ff00fe 00a1001f001500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0012003f00a300ff00fd29ff00fe000100fe1300000105ff00fe00e8009f005500ff00fd29ff00fe000100fe000103ff00fe000100fe0200000100fe000100fe0400000106ff0014005f002b00ff00fc480000a1001f00154aff0012003f00a349ff00fe00e80095005501ff00f100c7001f007f1cff00fe000c006e008318ff00fe003800f3008f06ff0014004a002b01ff00ee00ba00ee007f1dff 00be00e400bf18ff00fd00d7006f007705ff00fe00a10002001501ff00fe00b200cd007f1dff00be00ea00bf19ff00d6005f007706ff0012002800a301ff00fd00aa00ab007f1dff00be00ee008719ff00b50043008f05ff00fe00e80088005501ff00fb009a0068003f1dff00be00ee00bf19ff0073005d007706ff00140042002b01ff00f700ba00ef007f1dff00be00ee00bf18ff00fe00f7005d007705ff00fe00a10004001501ff00e000c7001f007f1dff00bc006e008318ff00fc001800e3008f06ff0012 002a00a349ff00fe00e8009f00554aff0014004a002b49ff00fe00a1001f00154aff0012002a00a349ff00fe00e8009f00554aff0014005f002b0fff00f8020000030dff00e00200000f0dff00800200003f0eff00fe00a1001f00150fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0012003f00a30fff00f8020000030dff00e00200000f0dff00bf02ff00bf0eff00fe00e8009f00550fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0014005f002b0fff00f8020000030dff 00e00200000f0dff00bf02ff00bf0eff00fe00a101150fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0012003f00a30fff00f8020000030dff00e00200000f0dff00bf02ff00bf0eff00fe00e8009f00550fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0014005f002b0fff00f8020000030dff00e00200000f0dff00bf02ff00bf0eff00fe00a1001f00150fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0012002200a30fff00f8020000030dff00e00200 000f0dff00bf02ff00bf0eff00fe00e8009f00550fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0014005f002b0fff00f8020000030dff00e00200000f0dff00bf02ff00bf0eff00fe00a1000a00150fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0012003f00a30fff00f8020000030dff00e00200000f0dff00bf02ff00bf0eff00fe00e8008a00550fff00f8020000030dff00ef02ff00ef0dff00bf02ff00bf0fff0014005f002b0fff00f8020000030dff00e00200000f 0dff00800200003f0eff00fe00a1000a00154aff0012003f00a349ff00fe00e8009f00554aff0014005f002b49ff00fe00a1001f00154aff0012003f00a349ff00fe00e8009400554aff00140040002b49ff00fe00a1001f001510ff008600ec006e0dff00f100ba0008006e00830018007f0cff00fc006100be000f10ff0012003f00a310ff00ba00eb00ae0dff00ee00ba00fb00ae00be00ed00bf0cff00fe00f600be10ff00fe00e80084005510ff00ba00eb00f50dff00ee00ba00fb00ae00be00ed00bf0cff 00fe00f600be11ff0014005f002b10ff008600ec007b0dff00ee00ba001800600086000d00bf0cff00fe00f600be001f0fff00fe00a1001f001510ff00ba00ef00bb0dff00ee00d600fa00ee00be00ed00bf0cff00fe00f600be11ff0012003d00a310ff00ba00eb00bb0dff00ee00d600fb006e00be00ed00bf0cff00fe00f600be10ff00fe00e8009f005510ff0087001c007b0dff00f100ee000b00ae008200e8007f0cff00fc00610082000f10ff00140040002b49ff00fe00a1000000154aff0012002700a3 49ff00fe00e8009f00554aff00140040002b49ff00fe00a1001f00154aff0012003300a349ff00fe00e800874b5500140047002a4aaa00a1001f00124a22001200264baa00a8009f4b550054005f4c11001f4c2200284c88009f4c44005f4c11001b4c22003f008a4baa009f00454b55005f00124bff009a00214bff007a008a4bff009a004500e0000347ff00c00007005f001200ef00fb47ff00dd00b7009f002100e900eb47ff00dd00b7007f008a00ec00db47ff00dd00b7009f004500ee005b00fe008e00ec 004f43ff00c100b7005f001200ee00fb00fe007600ed00b743ff00df00b70080002100ed003b00fe00f600ed00b743ff00df00b7007f008a00ed009b00fe0077005d00b743ff00c000370094004500eb00cb00fe008f005d00b743ff00df00f70040001200ef00fb00fe00ff00bd00f743ff00df00f7009c002100e0000300fe46ff00c00007007f008a01ff00fe48ff009f00454bff005900124bff009f00214b550068008a4baa009f00454b11005f00124b8800940021002a4aaa007f008a4a55005400940045 002f49ff00f9005a0012009f49ff00f4009d0021002f49ff00fa007f008a005e0000003f45ff00fc00000074009f0045002e00ff00bf00f044ff00fd00db0079005f0012019e00bf00ef007f00ff01f740ff00fd00db0074009f0021002e00cd00bf00ef01ff01f740ff00fd00db007a007f008a005e00e500bf00ef00f000e801e040ff00fc001b0074009f0045002e00ef00bf00ef00ff0067007700f740ff00fd00fb0079005f0012009e00d300bf00ec0070006f007700f740ff00fd00fb0074009f0021002e 00d900bf00ef016f007700f740ff00fc0003007a007f008a005e00bc00bf00ee006e006f0177007f3fff00fd00ff0074009f0045002e00ff00bf00f10071006f007800f840ff00fd00ff0079005f0012009e0000003f45ff00fc0000007400950021002f49ff00fa006a008a005f49ff00f400820045002f49ff00f90048001200954955005400880021002a4aaa0062008a005f49ff00f400840045002f49ff00f9004a0012009f49ff00f4009f0021002f22ff00c7001b00a0008322ff00fa006a008a005f22ff 00ba00eb00bb00ef22ff00f4009f0045002f22ff00be00e900bb00ef22ff00f9004a0012009f22ff00be000a00bb00ef22ff00f4009f0021002f22ff00b200eb003b00ef22ff00fa007f008a005f22ff00ba00eb00bb00ef22ff00f4009f0045002f22ff00c600eb00bb00ef22ff00f9005f0012009f49ff00f4009f0021002f49ff00fa007f008a005f49ff00f400950045002f49ff00f9005f0012009f00ff00e047000004009f0021002f00ff00e00700000f2fff00f00c00000f00fa007f008a005f00ff00e0 0800000f2dff00f00d00000f00f4009f0045002f00ff00e00700000f2fff00f00c00000f00f900420012009f00ff00e00800000f2dff00f00d00000f00f4009f0021002f00ff00e00700000f2fff00f00c00000f00fa007f008a005f00ff00e00800000f2dff00f00d00000f00f4008a0045002f000700e00700000f2fff00f00c00000f00f9005f0012009f00f700e00800000f2dff00f00d00000f00f4008a0021002f00ef00e00700000f2fff00f00c00000f00fa007f008a005f00ef00e00800000f2dff00f0 0d00000f00f4008a0045002f00df00e00700000f2fff00f00c00000f00f9005f0012009f00df00e00800000f2dff00f00d00000f00f4009f0021002f00df00e00700000f2fff00f00c00000f00fa007f008a005f00ff00e00800000f2dff00f00d00000f00f4009f0045002f00ff00e00700000f2fff00f00c00000f00f9005f0012009f00ff00e00800000f2dff00f00d00000f00f400940021002f00ff00e00700000f2fff00f00c00000f00fa0060008a005f00ff00e00800000f2dff00f00d00000f00f4009f 0045002f00ff00e00700000f2fff00f00c00000f00f9005f0012009f00ff00e00800000f2dff00f00d00000f00f400840021002f00ff00e00700000f2fff00f00c00000f00fa007f008a005f00ff00e00800000f2dff00f00d00000f00f4009f0045002f00ff00e00700000f2fff00f00c00000f00f9005d0012009f00ff00e00800000f2dff00f00d00000f00f4009f0021002f00ff00e00700000f2fff00f00c00000f00fa0060008a005f00ff00e00800000f2dff00f00d00000f00f400800045002f00ff00e0 0700000f2fff00f00c00000f00f900470012009f00ff00e00800000f2dff00f00d00000f00f4009f0021002f00ff00e00700000f2fff00f00c00000f00fa0060008a005f00ff00e00800000f2dff00f00d00000f00f4009f0045002f00ff00e00700000f2fff00f00c00000f00f900530012009f00ff00e04700000400870021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa0067008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0045002f00ff00ef00ff00f01800 000f1bff00f00b00000f01ff00f900460012009f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa007f008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0045002f00cf00ef00ff00f01800000f1bff00f00b00000f01ff00f900480012009f00bf00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0021002f007f00ef00ff00f01800000f1bff00f00b00000f01ff00fa007f008a005f 000f00ef00ff00f01800000f1bff00f00b00000f01ff00f4009b0045002f007700ef00ff00f01800000f1bff00f00b00000f01ff00f9005f0012009f007700ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0021002f008f00ef00ff00f01800000f1bff00f00b00000f01ff00fa007f008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009a0045002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f9005a0012009f00ff00ef00ff00f01800000f1bff00f00b00000f 01ff00f4009a0021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa007f008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0045002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f9005f0012009f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa007f008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f400800045002f00ff00ef00ff00f01800 000f1bff00f00b00000f01ff00f9005f0012009f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f400940021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa0060008a005f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009c0045002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f9005f0012009f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0021002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00fa0079008a005f 00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f4009f0045002f00ff00ef00ff00f01800000f1bff00f00b00000f01ff00f900480012009f00ff00e047000004009f0021002f00ff00e02300000f13ff00f00c00000f00fa007f008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f400940045002f00ff00e02300000f13ff00f00c00000f00f9005f0012009f00ff00e02400000f10ff00f0000f00f00c00000f00f400940021002f00ff00e02300000f13ff00f00c00000f00fa007a008a 005f00ff00e02400000f10ff00f0000f00f00c00000f00f4009d0045002f000700e02300000f13ff00f00c00000f00f9005f0012009f007f00e02400000f10ff00f0000f00f00c00000f00f4009f0021002f000f00e02300000f13ff00f00c00000f00fa007f008a005f00f700e02400000f10ff00f0000f00f00c00000f00f4009f0045002f00f700e02300000f13ff00f00c00000f00f9005f0012009f007700e02400000f10ff00f0000f00f00c00000f00f4009f0021002f008f00e02300000f13ff00f00c00 000f00fa007f008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f4009f0045002f00ff00e02300000f13ff00f00c00000f00f9005f0012009f00ff00e02400000f10ff00f0000f00f00c00000f00f4009f0021002f00ff00e02300000f13ff00f00c00000f00fa007f008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f400950045002f00ff00e02300000f13ff00f00c00000f00f9004a0012009f00ff00e02400000f10ff00f0000f00f00c00000f00f400820021002f00ff00e02300 000f13ff00f00c00000f00fa0068008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f400880045002f00ff00e02300000f13ff00f00c00000f00f900420012009f00ff00e02400000f10ff00f0000f00f00c00000f00f400840021002f00ff00e02300000f13ff00f00c00000f00fa006a008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f4009f0045002f00ff00e02300000f13ff00f00c00000f00f9004a0012009f00ff00e02400000f10ff00f0000f00f00c00000f00f4009f0021 002f00ff00e02300000f13ff00f00c00000f00fa006a008a005f00ff00e02400000f10ff00f0000f00f00c00000f00f4009f0045002f00ff00e02300000f13ff00f00c00000f00f9005f0012009f00ff00e047000004009f0021002f00ff00e01900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f4009f0045002f00ff00e01900000f1cff00f00100000f0bff00f9005f0012009f00ff00e01900000f1aff00f00300000f0bff00f400950021002f00ff00e0 1900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f4009f0045002f00ef00e01900000f1cff00f00100000f0bff00f9005f0012009f00cf00e01900000f1aff00f00300000f0bff00f4009f0021002f00af00e01900000f1cff00f00100000f0bff00fa0062008a005f006f00e01900000f1aff00f00300000f0bff00f4009f0045002f000700e01900000f1cff00f00100000f0bff00f9005f0012009f00ef00e01900000f1aff00f00300000f0bff00f4008a 0021002f00ef00e01900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f4008a0045002f00ff00e01900000f1cff00f00100000f0bff00f9005f0012009f00ff00e01900000f1aff00f00300000f0bff00f4008a0021002f00ff00e01900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f4009f0045002f00ff00e01900000f1cff00f00100000f0bff00f9005f0012009f00ff00e01900000f1aff00f00300 000f0bff00f4009f0021002f00ff00e01900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f400940045002f00ff00e01900000f1cff00f00100000f0bff00f900400012009f00ff00e01900000f1aff00f00300000f0bff00f4009f0021002f00ff00e01900000f1cff00f00100000f0bff00fa007f008a005f00ff00e01900000f1aff00f00300000f0bff00f400840045002f00ff00e01900000f1cff00f00100000f0bff00f9005f0012009f00ff00e01900 000f1aff00f00300000f0bff00f4009f0021002f00ff00e01900000f1cff00f00100000f0bff00fa007d008a005f00ff00e01900000f1aff00f00300000f0bff00f4009f0045002f00ff00e01900000f1cff00f00100000f0bff00f900400012009f00ff00e04700000400800021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa0067008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009f0045002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00f900400012009f 00ff00e03400000f00f0000f00ff00f0000f0cff00f4009f0021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa0073008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f400870045002f008f00e01f00000f00f01200000f02ff00f0000f0cff00f900470012009f007700e03400000f00f0000f00ff00f0000f0cff00f4009f0021002f00f700e01f00000f00f01200000f02ff00f0000f0cff00fa0066008a005f00cf00e03400000f00f0000f00ff00f0000f0cff00f4009f0045 002f00f700e01f00000f00f01200000f02ff00f0000f0cff00f9005f0012009f007700e03400000f00f0000f00ff00f0000f0cff00f4009f0021002f008f00e01f00000f00f01200000f02ff00f0000f0cff00fa0068008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009f0045002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00f9005f0012009f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009b0021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa 007f008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009f0045002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00f9005f0012009f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009a0021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa007a008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009a0045002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00f9005f0012009f00ff00e03400000f00f0000f00ff00f0000f0cff 00f4009f0021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa007f008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f4009f0045002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00f9005f0012009f00ff00e03400000f00f0000f00ff00f0000f0cff00f400800021002f00ff00e01f00000f00f01200000f02ff00f0000f0cff00fa007f008a005f00ff00e03400000f00f0000f00ff00f0000f0cff00f400940045002f00ff00e01f00000f00f01200000f02ff00f0 000f0cff00f900400012009f00ff00e047000004009c0021002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa007f008a005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0045002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f900590012001f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0021006f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa0068008a005f00ff00ef 00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0045006f008f00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9005f0012005f007700ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400940021006f00f700ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa007f008a005f01ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400940045006f00df00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9005a0012005f00bf 00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009d0021006f000700ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa007f008a005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0045006f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9005f0012005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0021006f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa007f008a 005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0045006f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9005f0012005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0021006f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa007f008a001f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f4009f0045002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9 005f0012009f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400950021002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00fa006a008a005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400820045002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f900480012009f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400880021002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00 000f00fa0062008a005f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f400840045002f00ff00ef00ff00f01700000f00f00200000f15ff00f00f00000f00f9004a0012009f00ff00e047000004009f0021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa006a008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0045002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9004a0012 009f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa007f008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0045002f00df00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012019f00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0021002f00df00ef00ff00f00d00000f03ff 00f01100000f0bff00f0000f10ff00fa007f008a005f00df00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f400950045002f00df00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012009f00df00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0021002f008f00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa007f008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff 00f4009f0045002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f900420012009f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa007f008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4008a0045002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012009f00ff00ef00ff00f0 0d00000f03ff00f01100000f0bff00f00000000f0fff00f4008a0021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa007f008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4008a0045002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012009f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff 00f0000f10ff00fa007f008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0045002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012009f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f400940021002f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00fa0060008a005f00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f00000000f0fff00f4009f0045002f 00ff00ef00ff00f00d00000f03ff00f01100000f0bff00f0000f10ff00f9005f0012009f00ff00e04700000400840021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa007f008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f9005d0012009f 00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa0060008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f400800045002f008f00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f900470012009f 007700e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0021002f006700e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa0060008a005f005700e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0045002f003700e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f900530012009f 007700e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f400870021002f008f00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa0067008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f900460012009f 00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa007f008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f900480012009f 00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa007f008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009b0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f9005f0012009f 00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa007f008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009a0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f9005a0012009f 00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009a0021002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00fa007f008a005f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f4009f0045002f00ff00e00200000f0dff00f00100000f00ff00f00000000f1aff00f00000000f02ff00f00600000f03ff00f9005f0012009f 00ff00e047000004009f0021002f49ff00fa007f008a005f49ff00f400800045002f01ff00ef00381eff00f000630074001f18ff00e000c700df06ff00f9005f0012009f01ff00ce00f7007f1dff00fd00f7002519ff00ef00bb009f06ff00f400940021002f01ff00ad00f6007f1dff00fd00f7005519ff00e100fb005f06ff00fa0060008a005f01ff006c0035007f1dff00fd00f70074003f18ff00fe00f600df06ff00f4009c0045002f01ff000500d3007f1dff00fd00f7007519ff00fe00ee000f06ff00f9 005f0012009f01ff00ed00d7007f1dff00fd00f7007519ff00ee01df06ff00f4009f0021002f01ff00ee00381eff00fd00e30074001f18ff00f1008300df06ff00fa0079008a005f49ff00f4009f0045002f49ff00f900480012009f49ff00f4009f0021002f49ff00fa007f008a005f49ff00f400940045002f49ff00f9005f0012009f0fff00c00200001f0dff0300007f0cff00fc020000010fff00f400940021002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00fa007a008a005f0fff 00c00200001f0dff0300007f0cff00fd02ff00fd0fff00f4009d0045002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00f9005f0012009f0fff00c00200001f0dff0300007f0cff00fd02ff00fd0fff00f4009f0021002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00fa007f008a005f0fff00c00200001f0dff0300007f0cff00fd02ff00fd0fff00f4009f0045002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00f9005f0012009f0fff00c0 0200001f0dff0300007f0cff00fd02ff00fd0fff00f4009f0021002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00fa007f008a005f0fff00c00200001f0dff0300007f0cff00fd02ff00fd0fff00f4009f0045002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00f9005f0012009f0fff00c00200001f0dff0300007f0cff00fd02ff00fd0fff00f4009f0021002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00fa007f008a005f0fff00c00200 001f0dff0300007f0cff00fd02ff00fd0fff00f400950045002f0fff00c00200001f0dff007f02ff007f0cff00fd02ff00fd0fff00f9004a0012009f0fff00c00200001f0dff0300007f0cff00fc020000010fff00f400820021002f49ff00fa0068008a005f49ff00f400880045002f49ff00f900420012009f49ff00f400840021002f49ff00fa006a008a005f49ff00f4009f0045002f49ff00f9004a0012009f49ff00f4009f0021002f0fff00fc0037006300770dff008d00d000430074001800c30dff00e3 000d00f0007f0fff00fa006a008a005f0fff00fd00d7005d00770dff007500d700dd007500f7006d0dff00f700b500f710ff00f4009f0045002f0fff00fd00d7005f00af0dff007500d700dd007500f7006d0dff00f700b500f710ff00f9005f0012009f0fff00fc0037006300df0dff007500d000c300040030006d0dff00f700b500f010ff00f4009f0021002f0fff00fd00d7007d00df0dff007600b700d7007500f7006d0dff00f700b500f710ff00fa007f008a005f0fff00fd00d7005d00df0dff007600b7 00db007500f7006d0dff00f700b500f710ff00f4009f0045002f0fff00fc003800e300df0dff008f0070005d0074001700430dff00e3000c0010007f0fff00f9005f00aa009f49ff00f400950055002f49ff00fa007f00fa005f49ff00f4009f00f5002f49ff00f9005f00fa009f49ff00f4009f0075002f49ff00fa0062007a005f49ff00f4009f0075002a49aa00a9005f007a009549550054008a00754b55007f007a4baa008a00744b44005f00794b11000a grestore showpage endFig 994 5816(Figure)N 1269(4:)X 1368(Gantt)X 1606(Charts)X 1881(for)X 2017(Cholesky)X 2404(Factorization)X 2937(\(100x100)X 3329(matrix\))X 16 p %%Page: 16 16 12 s 12 xH 0 xS 1 f 10 s 12 s 2200 432(-)N 2256(16)X 2376(-)X 576 720 MXY 4032 4288 58.00 130.00 562.00 666.00 startFig %! %% %% Xgrabsc Postscript dump of image 'f8' %% %% %% run-length encoded. Savings = 37726 bytes %% %% /inch {72 mul} def /picstr 77 string def /rlebuffer 2 string def /plotimage {613 679 1 [613 0 0 -679 0 679] { currentfile rlebuffer readhexstring pop pop /nsamples rlebuffer 0 get 1 add store /lum rlebuffer 1 get store /samples nsamples string store 0 1 nsamples -1 add { samples exch lum put } for samples } image } def gsave 0.85 inch 1.7 inch translate 6.8 inch 7.5 inch scale plotimage 12553844004100800a00000b04ff00fe382200240040040000080400000704ff00fd3888008a4baa00ac4b55005100af4aff00ec005f4aff00f200af4aff00ec005e0000003f46ff00f8000000f100ae00ff00bf46ff00fb00b600ec005e009e00bf00fb45ff00fb00b600f200ae00cd00bf46ff00fb00b600ec005e00e500bf00f300e801f042ff00f8003600f100ae00ef00bf00fb00e7016f007f41ff00fb00f600ec005e00d300bf00fb00ef007300ef42ff00fb00f600f200ae00d900bf00fb00e7007c 00ef42ff00f8000600ec005e00bc00bf00fb00e800ef006f007f41ff00fb00fe00f100ae00ff00bf00e000ef01f042ff00fb00fe00ec005e0000003f00ff00ef44ff00f8000000f200af02ff00ef46ff00ec005f4aff00f100af4aff00ec4b5500524baa00ac00520822070000023822003100ad4a55000c00524aaa00d200a54aff000c005349ff00fe00b100ad4aff000c005300c0000746ff0080000e00d200a500df00f700fc000f44ff00bb006f000c005300d300d700fd45ff00bb006e00b100ad00d900b7 00fd45ff00bb006f000c005300dc00b700fd00fe001d00ed0018009e001d001f3eff0083006e00d200a500dd00f700fc003d00ed00ec00eb006f00ec00ef3eff00bf006f000c005300da007700fd00fc000d00ed00eb006e000d00ef3eff00bf006e00b100ad00db003702fd00cd00eb006d00ed00ef3eff0080006f000c005300d7009701fd00fe002d00eb006d00cd00ef3eff00bf00ee00d500a500df00f700fd00fe001f00ed00eb00ee002d00ef3eff00bf00ef000a005300c0000701ff00fd00ef42ff0080 000e00b400ad03ff00fe001f44ff0009005349ff00fe00d100a54aff000f00524aaa00b700ad4a55000f005349ff00fe00d700a54aff000f005349ff00fe00b700ad1eff00fc0010005d007500d800dd00fc003800e3008c003800dd1fff000f00531eff00fd00f700dd00740097005d00fe01dd007500d700491eff00fe00d700a51eff00fd00f700eb00350057004d00fe01dd007d00d700551fff000800531eff00fc003000f7005500d0005500fe00dd00c1007c0030005d1eff00fe00b700ad1eff00fd01f7 006500d7005900fe01dd00650077005d1fff000f00531eff00fd01f7007500d7005d00fe01dd007500b7005d1eff00fe00d000a51eff00fd00f00077007500d7005d00fc003800dd008d00d7005d1fff000f005349ff00fe00b700ad4aff0008005349ff00fe00d700a54aff000f005349ff00fe00b000ad00ff00fc47000001000f005300ff00fd47ff00fe00d700a500ff00fd48ff000f005300ff00fd47ff00fe00b700ad00ff00fd48ff000f005300ff00fd47ff00fe00d000a500ff00fd48ff000f005300ff 00fd47ff00fe00b600ad00ff00fd48ff000f005300ff00fd47ff00fe00d000a500ff00fd48ff000f005300ff00fd47ff00fe00b700ad00ff00fd48ff0008005300ff00fd47ff00fe00d500a500ff00fd48ff000d005300ff00fd47ff00fe00b500ad00ff00fd48ff000d005300ff00fd47ff00fe00d500a500ff00fd48ff000f005300ff00fd47ff00fe00b700ad00ff00fd48ff000f005300e000fd47ff00fe00d100a500fe00fd02ff00fe000008fe0a0001fe000002fe000000fe010000fe0e000bff00fe0400 03ff000f005301fd02ff00fe00ff19fe00ff12fe007f0aff05fe02ff00fe00b700ad01fd02ff00fe00ff19fe00ff07fe00fc08fe00ff003f0aff05fe007f02ff000f005300fb00fd02ff00fe00ff19fe00ff07fe00fc08fe00ff001f0aff05fe007f01ff00fe00d700a500fb00fd02ff00fe00ff19fe00ff07fe00fc08fe00ff001f0aff05fe007f02ff000f005300fb00fd02ff00fe00ff19fe00ff07fe00fc08fe00ff008f0aff05fe007f01ff00fe00b000ad00ff00fd02ff00fe00ff19fe00ff07fe00fa08fe 00ff00870aff05fe003f02ff0008005300ff00fd02ff00fe00ff19fe00ff07fe00fa08fe00ff00830aff05fe003f01ff00fe00d700a500ff00fd02ff00fe007f19fe00ff07fe00fa08fe00ff00c10aff05fe003f02ff000f005300ff00fd02ff00fe007f19fe00ff07fe00fa08fe00ff00c00aff05fe003f01ff00fe00b700ad00ff00fd02ff00fe007f19fe00ff07fe00f608fe00ff00c0007f09ff05fe005f02ff000f005300ff00fd02ff00fe007f19fe00ff07fe00f608fe00ff00e0003f09ff05fe005f01ff 00fe00d700a500ff00fd02ff00fe007f19fe00ff07fe00f608fe00ff00e0003f09ff05fe009f02ff000f005300ff00fd02ff00fe007f19fe00ff07fe00f608fe00ff00e0001f09ff05fe009f01ff00fe00b700ad00ff00fd02ff00fe007f19fe00ff07fe00ee08fe00ff00f0000f09ff05fe00af02ff000f005300ff00fd02ff00fe007f19fe00ff07fe00ee08fe00ff00f0000709ff05fe00af01ff00fe00d700a500ff00fd02ff00fe007f19fe00ff07fe00ee08fe00ff00f1000309ff05fe00af02ff000f0053 00ff00fd02ff00fe007f19fe00ff07fe00de08fe00ff00f8000909ff05fe00b701ff00fe00b700ad00ff00fd02ff00fe007f19fe00ff07fe00de08fe00ff00f8008209ff05fe00b702ff000f005300ff00fd02ff00fe007f19fe00ff07fe00de08fe00ff00fa001009ff05fe00d701ff00fe00d1002500ff00fd02ff00fe007f19fe00ff07fe00de08fe00ff00fc0044007f08ff05fe00d702ff000c009300ff00fd02ff00fe007f19fe00ff07fe00be08fe00ff00fc0091003f08ff05fe00db01ff00fe00b2006d 00ff00fd02ff00fe007f19fe00ff07fe00be08fe00ff00fd0024009f08ff05fe00db02ff000c009300ff00fd02ff00fe00bf19fe00ff07fe00be08fe00ff00fe0049002f08ff05fe00db01ff00fe00d1006500ff00fd02ff00fe00bf19fe00ff07fe00be08fe00ff00fe0092009708ff05fe00db02ff000c009300ff00fd02ff00fe00bf19fe00ff07fe007e08fe00ff00fe00a5002b08ff05fe00dd01ff00fe00b2006d00ff00fd02ff00fe00bf19fe00ff07fe007e08fe01ff002a005508ff05fe00dd02ff000c 009300ff00fd02ff00fe00bf19fe00ff07fe007e08fe01ff005200a908ff05fe00ed01ff00fe00d1006500ff00fd02ff00fe00bf19fe00ff07fe007e08fe01ff0055005208ff05fe00ed02ff000c009300f900fd02ff00fe00bf19fe00ff11fe01ff00a90055007f07ff05fe00ee01ff00fe00b2006d00f700fc02ff00fe000002fe030000fe040002fe040000fe0c0001fe000000fe060000ff01aa00bf07ff00fe040000ee02ff000c009300ef00fd02ff00fe00bf2cfe007f00ff00ab0055005f07ff05fe00ee 01ff00fe00d1006500e100fd02ff00fe00bf1afe00fc10fe003f00ff00d5005500af07ff05fe006f007f01ff000c009300ee00fd02ff00fe00bf1afe00fc10fe001f00ff00d500aa00b707ff05fe006f007f00ff00fe00b2006d00ee00fd02ff00fe00bf0afe00fc0dfe01fc10fe001f00ff00da00ad005707ff05fe0077007f01ff000c009300f100fd02ff00fe00bf0afe00fc0dfe01fc10fe008f00ff00ea00d500ab07ff05fe0077007f00ff00fe00d1006500ff00fd02ff00fe00bf0afe00fc0dfe00fc00fa 10fe008700ff00eb005a00b507ff05fe003700bf01ff000c009300ff00fd02ff00fe00bf0afe00fc0dfe00fc00fa10fe008300ff00ed006b005a07ff05fe003700bf00ff00fe00b2006d00ff00fd02ff00fe00df0afe00fc0dfe00fc00fa10fe00c100ff00f500ad006b007f06ff05fe003700bf01ff000c009300ff00fd02ff00fe00df0afe00fc0dfe00fc00fa10fe00c000ff00f601b500bf06ff05fe003700bf00ff00fe00d1002500ff00fd02ff00fe00df0afe00fc0dfe00fc00f610fe00c0007f00f601d6 00df06ff05fe005700df01ff000c005300ff00fd02ff00fe00df0afe00fc0dfe00fc00f610fe00e8003f00fa00db005b006f06ff05fe005700df00ff00fe00b2002d00ff00fd02ff00fe00df0afe00fa0dfe00fa00f610fe00e0003f00fb006b006d00af06ff05fe009b00df01ff000c009300ff00fd02ff00fe00df0afe00fa0dfe00fa00f610fe00e4001f00fb006d00b600b706ff05fe009b00df00ff00fe00d1002500ff00fd02ff00fe00df0afe00fa0dfe00fa00ee10fe00f0000f00fd00b500b600db06ff 05fe00ab00ef01ff000c005300ff00fd02ff00fe00df0afe00fa0dfe00fa00ee10fe00f2000700fd00b600db006d06ff05fe00ab00ef00ff00fe00b2002d00ff00fd02ff00fe00df0afe00fa0dfe00fa00ee10fe00f3000300fd00b7006d00b606ff05fe00ab00ef01ff000c009300ff00fd02ff00fe00df0afe00fa0dfe00fa00de10fe00f9000900fe00db006d00bb007f05ff05fe00b300f700ff00fe00d1002500ff00fd02ff00fe00df0afe00fa0dfe00fa00de10fe00f9008200fe00db00b600db00bf05ff 05fe00b300f701ff000c005300ff00fd02ff00fe00df0afe00f60dfe00f600de10fe00fa009000fe00ed00b7006d00bf05ff05fe00d500f700ff00fe00b2002d00ff00fd02ff00fe00df0afe00f60dfe00f600de10fe00fc00c4007f006d00db007600df05ff05fe00d500f701ff000c009300ff00fd02ff00fe00df0afe00f60dfe00f600be10fe00fc00d1003f006e00dd00b7006f05ff05fe00d900fb00ff00fe00d1002500ff00fd02ff00fe00df0afe00f60dfe00f600be10fe00fd0064009f007600ed00db 00b705ff05fe00d900fb01ff000c005300ff00fd02ff00fe00ef0afe00f60dfe00f600be11fe0069002f00b7006e00dd00bb05ff05fe00d900fb00ff00fe00b2002d00ff00fd02ff00fe00ef0afe00f60dfe00f600be11fe00b2009700bb007600ee00dd05ff05fe00d900fb01ff000c009300ff00fd02ff00fe00ef0afe00f60dfe00f6007e11fe00b5002b00bb00b7007600ee05ff05fe00dd00fd00ff00fe00d1002500ff00fd02ff00fe00ef0afe00f60dfe00f6007e10fe00ff003a005500db00bb00b70077 007f04ff05fe00dd00fd01ff000c005300ff00fd02ff00fe00ef0afe00ee0dfe00ee007e10fe00ff005a00a900dd00db01bb007f04ff05fe00ec00fd00ff00fe00b5002d00ff00fd02ff00fe00ef0afe00ee0dfe00ee007e10fe00ff005d005202dd00db00bf04ff05fe00ec00fd01ff000a009300e000fd02ff00fe00ef0afe00ee0dfe00ee11fe00ff00ad0055006e00ed01dd00df04ff05fe00ee00fe00ff00fe00d4002500ef00fc000001ff00fe010000fe170000ee04fe000001fe000002fe060000ae00aa 00ae02ee00ef00ff00fe02ff00fe040000ee00fe000000ff0009005300e100fc00fe01ff00fe00ee0afe00ee02fc0afe00ee11fe007f00af0055004e00ef027700ff00fe02ff04fe007e00ee00fe00ff00fe00b1002d00fe00fc00fe01ff00fe00ee0afe00ec00fc01fa0afe00ec11fe007f00d7005500a7027700bb00ff00fe02ff04fe007e00ee007c01ff000f009300fe00fc00fe01ff00fe00ee0afe00ec01fa00f60afe00ec11fe003f00d700aa00b7007701bb00bd00ff00fe02ff04fe003e00ec007c00ff 00fe00d7002500ee00fc00fd01ff00fe00ee0afe00dc00fa00f600ee0afe00dc11fe001f00db00ad005701bb01dd00ff00fe02ff04fe003e00f4007c01ff000f005300f100fc00fd01ff00fe00ee0afe00dc00f600ee00de0afe00dc11fe001f00eb00d500ab00bb00dd00de00ee00ff00fe02ff04fe005e00f4007c00ff00fe00b7002d00ff00fc00fd01ff00fe00ee0afe00da00f600de00be0afe00da11fe000f00eb00da00b100bd00de00ee00f7007f00fe02ff04fe009e00f400ba01ff000f009300ff00fc 00fd01ff00fe00ee0afe00da00ee00be007e0afe00da11fe000700ed00eb005a00dd00ee00f7007b00bf00fe02ff04fe00ae00f400ba00ff00fe00d7002500ff01fd01ff00fe00f60afe00da00ee00bc0bfe00da11fe000700f500ed0069005e00ef007700bb00df00fe02ff03fe00fc00ae00f200ba01ff000f005300ff01fd01ff00fe00f60afe00da00de007a0bfe00da11fe000300f600f500b500ae00f7007b00dd00ef00fe02ff03fe00fc00b600f200ba00ff00fe00b7002d00ff01fd01ff00fe00f60afe 00d600de00f60bfe00d611fe000101f600d400cf007700bd00de00f700fe02ff03fe00fc00d600f200d601ff0008009300ff01fd01ff00fe00f60afe00d600bc00ee0bfe00d611fe000100fa00fb005a006f007b00dd00ef007b00fe02ff03fe00fc00da00f200d600ff00fe00d7002500ff00fd00fb01ff00fe00f60afe00b600ba00de0bfe00b611fe000000fb007b006c00a700bb00de00f700bb00fe02ff03fe00fc00da00fa00d601ff000f005300ff00fd00fb01ff00fe00f60afe00b6007a00be0bfe00b6 11fe0000007b007d00b600b700bd00ef007b00bd00fe02ff03fe00fc00dc00f200d600ff00fe00b0002d00ff00fd00fb01ff00fe00f60afe00ae0076007e0bfe00ae11fe0000007d00bd00b6005b00dd00ef007b00de00fe02ff03fe00fc00ec00f200ee01ff000f009300ff00fd00fb01ff00fe00f60afe00ae00ee0cfe00ae11fe0000003d00be00db006900de00f700bd00ef007e02ff03fe00fc00ee00f200ee00ff00fe00d7002500ff00fd00fb01ff00fe00f60afe00ac00dc0cfe00ae11fe0001001d00bf 006d003200df007b00de00f700be02ff03fe00fc00ee007200ee01ff0008005300ff00fd00fb01ff00fe00f60afe009c00ba0cfe009e11fe0010001e00df006d00b9006f007b00de00fb00de02ff03fe00fc00f6007200d600ff00fe00b7002d00ff00fd00fb01ff00fe00f60afe009a00b60cfe009e11fe0020008e00df00b6009900af00bd00ef007b00ee02ff03fe00fc00f600aa00d601ff000f009300ff00fd00f701ff00fe00f60afe005a006e0cfe005e11fe0042001600ef00b7002c00b700bd00f700bd 00ee02ff03fe00fc00f600ac00d600ff00fe00d0002500ff00fd00f701ff00fe00f60afe005600de0cfe005e11fe00440047006f00db005600d700de00f700de00f602ff03fe00fc00f600cc00d601ff000f005300ff00fd00f701ff00fe00f60afe003400be0cfe003e11fe00480093006f00dd0096006b00df007b00df007a02ff03fe00fc00fa00cc00ba00ff00fe00b7002d00ff00fd00f701ff00fe00f60afe002a007e0cfe003e11fe00490025007700ed00db003300ef007d00ef00bc02ff03fe00fc00fa 00ec00ba01ff000f009300ff00fd00f701ff00fe00fa0afe00280dfe003e11fe0092004900b700ee00cd003900ef00bd00f700be02ff03fe01fa00cc00ba00ff00fe00d7002500ff00fd00f701ff00fe00fa0afe00120dfe003e11fe019200bb00f600ee009d00f700be00fb00de007f01ff03fe01fa00d400ba01ff000f005300ff00fd00f701ff00fe00fa0afe00460dfe007e11fe009400a5003b00f7006600ae00f700df007b00ee00bf01ff03fe00fa00fc00d4007c00ff00fe00b0002d00ff00fd00f701ff 00fe00fa0afe000e0dfe007e11fe0095002a005b00fb00b70036007b00ef007d00f600df01ff03fe00fa00fc00d8007c01ff000f009300ff00fd00ef01ff00fe00fa0afe001e0dfe007e11fe00a50052009d00fb00b3009b007b00ef00be00fa00df01ff03fe00fa00fc00da007c00ff00fe00d6002500ff00fd00ef01ff00fe00fa0afe003e0dfe007e11fe00a90055005d00fd00d500db003d00f700df007a00ef01ff03fe00fa00fc00bc007c01ff000f005301fd00ef01ff00fe00fa0afe007e20fe00aa00a9 004e00fd00d900cd009d00f700df007c00f701ff03fe00fa00fe00bc00fe00ff00fe00b0002d00f900fc100003fe010004fe000000fe00000bfe070000aa00ae00fe00ea00ee00ae00fb00ee00be00fb01ff00fe070000ff000f009300f500fc00ee02fe00fb0efe00ff1cfe00aa002b004600ff007300670037007d00f600de007d01ff03fe00fa00fe00be00fe00ff00fe00d7002500ed00fc00ee00fe00fd00fe00fb0efe00ff1cfe00aa00550057007f00750077009b007d00f600de00be01ff03fe00fa00fe 00bd00fd01ff0008005300e000fc00ee01fd00fe00fb0efe00ff1cfe00ac001500a3007f00b900b3009d00be00fa00ee00bf007f00ff03fe00fa00fc007d00fd00ff00fe00b5002d00fd00fc00dd01fd00fe00fb0efe00ff1cfe00b4001a00a500bf00b900d900cd00be00fc00f600df007f00ff03fe00f800fc007d00fd01ff000d009300fd00fc00dd01fd00fe00fb0efe00ff1cfe00b4000a00d100bf00dc00da00ee00df007c00fa00ef00bf00ff03fe00f800fc007d00fb00ff00fe00d5002500ff00fc00dd 00fd00fb00fe00fb0efe00ff1cfe00b4000b005a00bf00de00ea00f7005f00be00fa00f700df00ff03fe00f800fc007b00fb01ff000d005300ff00fc00dd00fd00fb00fe00fb0efe00ff1cfe00b4000d006b005f00ee00f5007300af00be007c00fb00ef00ff03fe00f800fc007b00fb00ff00fe00b5002d00ff00fd00dd01fb00fe00fd0efe00ff1cfe00d6000500ad005f00ef007500bb00cf00de007e00fb00f700ff02fe00fc00f400fa00fb00f701ff000f009300ff00fd00dd01fb00fe00fd0efe00ff1cfe 00d6000600b500af00f7007a00d900e700de00be007d00fb00ff02fe00fc00f400fa00fb00f700ff00fe00d7002500ff00fd00dd00fb00f700fe00fd0efe00ff1cfe00d6000600d400cf00f7003c00dc00f700ee00de007e00fd00ff02fe00fc00f400fa01f701ff000f005300ff00fd00dd00fb00f700fe00fd0efe00ff1cfe00d6000200da004f00fb009c00ed007b00f600de00bf007e00ff02fe00fc00f400fa00f700ef00ff00fe00b1002d00ff00fd00bb00fb00f700fe00fd0efe00ff1cfe00da0003006a 006700fb009e007600bb00f600ee00df00be00ff02fe00fc00f200fa00f700ef01ff000f009300ff00fd00bb01f700fe00fd0efe00ff1cfe00da0001006c00b700fd00af007a00bd00fa00f600ef00bf007f02fe00fc00f200f400f700ef00ff00fe00d7002500ff00fd00bb00f700ef00fe00fd0efe00ff1cfe00da000100b5003300fd00cf003b005c00fa00f600ef00df00bf02fe00fc00f200f400ef00df01ff000f005300ff00fd00bb00f700ef00fe00fd0efe00ff1cfe00da000000b6005b00fe00d700bd 006e007c00fa00f700ef00df02fe00fc00f200f400ef00df00ff00fe00b7002d00ff00fd00bb00f700ef00fe00fd0efe00ff1cfe00da00010037006900ff005b009e0077003e00fc00fb00f700ef02fe00fc00f200f400ef00df01ff000f009300ff00fd00bb00f700df00fe00fd0efe00ff1cfe00da0010005b002d00ff006b00de00bb005e00fc01fb00f702fe00fc00f200f400df00bf00ff00fe00d0002500ff00fd00bb00ef00df00fe00fd0efe00ff1cfe00da0020009b00b400ff00ad00cf003b00ae007e 00fd01fb02fe00fc00f200ea00df00bf01ff0008005300ff00fd007700ef00df00fe00fd0efe00ff1cfe00dc0002002d00b6007f00ad00e7009d00ae017e00fd00fb02fe00fc00f600ea00df00bf00ff00fe00b7002d00ff00fd007700ef00df00fe00fd0efe00ff1cfe00dc0004004d00da007f00d600e700de00d600be007f007e00fd02fe00fc00f600ea00df007f01ff000f009300ff00fd007700ef00bf00fe00fd0efe00ff1cfe00dc0008000e00dc00bf00d7006b00cf005a00de00bf007f007e02fe00fc 00f600ea00bf007f00ff00fe00d7002500ff00fd007700ef00bf00fe00fd0efe00ff1cfe00dc0009002600cd005f00e7007500ef00ac00de00df01bf007e01fe00fc00f600ea00bf007f01ff000f005300ff00fd007700df00bf10fe00ff1cfe00ec00920007006e005f00eb00b500f700ae00ee01df00bf00be01fe00fa00e600d600be01ff00fe00b7002d00ff00fd007700df00bf10fe00ff1cfe00ec00920093006600af00f300ba00f300d6006e01ef00df00de01fe00fa00e600d600be02ff000f009300ff 00fd007700df007f10fe00ff1cfe00ec009400a300a7003700f300db007b00e600b600f701ef00ee01fe00fa00e600d6007e01ff00fe00d7002500ff00fd007700df007f10fe00ff1cfe00ec0095000b00b300b700f900eb007900f200da02f700f601fe00fa00e600d6007d02ff000f005300ff00fc00ef00df007f10fe00ff1cfe00ee0085005100d3009b00f900ed00bc00fa00da02fb00f601fe00fa00ee00d6007d01ff00fe00b7002d00ff00fc00ef00bf007f10fe00ff1cfe00ee00a9005500d500dd00fd 00f500dd007800ec01fd00fb00fa01fe00fa00ee00ae007d02ff000f009300f100fc00ef00be00ff10fe00ff1cfe00ee00aa00a800e900cd00fc00f600de007c00f402fd00fc01fe00fa00ee00ae00fb01ff00fe00d7002500ee00fc00ef00be00ff0bfe000002fe010001fe000006fe000004fe000006fe040000ee01aa00ea00ee030000fa0a0001ff000f005300fe00fc00ef00be00ff00fe00ff0efe00ff1cfe006e01aa006b0066007e007c00f600de007c02fe00fc01fe00fa00ee00ae00fb01ff00fe00b1 002d00f900fc00ef00bd00ff00fe00ff0efe00ff1cfe006e00ab005500750076007e007c00f600de003e00fe02fc01fe00fa00ee00ac00f702ff000c009300fe00fc00ef007d00ff00fe00ff0efe00ff1cfe002e00a50055003500b201be00fa00ee003e007e01fc00f801fe00fa00ee005c00f701ff00fe00d2002500ee00fd00df007d00ff00fe00ff0efe00ff1cfe000e0035005200b900ba00de00be00fc00f6005e007c00fc00fa00f801fe00fa00ce005c00f702ff000c005300f100fd00df007d00ff00fe 00ff0efe00ff1cfe000e0035006a009a00d801de007c00fa006e00bc00fc00fa00f401fe00fa00ce005c00ef01ff00fe00b1002d00ff00fd00df007b00ff00fe00ff0efe00ff1cfe000e003500ab001c00da00ee00de00be00fa00b600dc01fa00f201fe00fa00ce005a00ef02ff000c009300ff00fd00df007b00ff00fe00ff0efe00ff1cfe0006003500a9004c00ec00f600ee00be007c00ba00ec00fa00f600ea01fe00fa00ce005a00ef01ff00fe00d2002500ff00fd00de00fb00ff00fe00ff0efe00ff1cfe 0006005200b5008e006c007600ee00de007e00ba00f400fa00f600ea01fe00f600de00ba00df02ff000c005300ff00fd00de00fb00ff00fe00ff0efe00ff1cfe0022005200b400a60076007a00f600de00be003c00f800fa00ee00da01fe00f600de00ba00df01ff00fe00b1002d00ff00fd00de00f700ff00fe00ff0efe00ff1cfe0044005200d400c7007600bc00f600ee00de005e00fc00f600ee00d601fe00f600de00b600df02ff000c009300ff00fd00de00f700ff00fe00ff0efe00ff1cfe0040005200da 00cb003a00dc00fa00f600de009e007c00f600ee00b601fe00f600de00b600bf01ff00fe00d2002500ff00fd00be00f700ff00fe00ff0efe00ff1cfe0092009a00da006300ba005e00fa00f600ee00de00ba00f600de00b601fe00f6009e00b600bf02ff000c005300ff00fd00bd00f700ff00fe00ff0efe00ff1cfe00940019005a006500bc006e007c00fa00f600ce00ba007600de007601fe00f6009c007600bf01ff00fe00b1002d00ff00fd00bd00ef00ff00fe00ff0efe00ff1cfe00a00019006d003100dc 00ae007c00fa00f600ee00da00ae00be006e01fe00f6009c006e007f02ff000c009300ff00fd00bd00ef00ff00fe00ff0efe00ff1cfe00a20099006d003200de00b600be00fc00fa00e600ea00ce00be00ee01fe00f6009c006e007f01ff00fe00d2002500ff00fd00bd00ef00ff00fe00ff0efe00ff1cfe00a20019006d0033005e003a00de007e00fc00ea00f200ee00bc00ee01fe00f6009c006e007f02ff000c005300ff00fd00bd00df00ff00fe00ff0efe00ff1cfe00b4001900760099006e005a00de007e 00fc00f200fa00d6007c00de01fe00f6009c005e02ff00fe00b1002d00ff00fd00bb00df00ff00fe00ff0efe00ff1cfe00b4008a00b6009900ae009c00ee00be007e00f400fa00da007a00de01fe00f6009a00de03ff000c009300ff00fd007b00df00ff00fe00ff0efe00ff1cfe00d6009400b600ac00a600ac00f600be007e007600f400da00fa00de01fe00f6005a00de02ff00fe00d2002500ff00fd007b00df00ff00fe00ff0efe00ff1cfe00d600d400b7004c00d600ce00f600de00be017600dc00f600de 01fe00f6005a00dc03ff000c005300ff00fd007b00bf00ff00fe00ff0efe00ff1cfe00d200d800bb004e00d200ce007a01de00ba0076003e00f600be01fe00f6005a00bc02ff00fe00b1002d00ff00fd007b00bf00ff00fe00ff0efe00ff1cfe00d2004c00bb0056006200e6007c00ee00de00da00b600bc006e00be01fe00f6005a00bc03ff000c009300ff00fd007700bf00ff00fe00ff0efe00ff1cfe00da004d005b00a7006800e600bc01ee00da00d600bc00ae00be01fe00ee003400ba02ff00fe00d20025 00ff00fd007700bf00ff00fe00ff0efe00ff1cfe00da0084005b00ab003000f200be00f600ee00ea00e6009a00de00be01fe00ee003400ba03ff000c005300ff00fd0077007f00ff00fe00ff0efe00ff1cfe00d80085005d00ab00b200f200de007600f600f400e6006a00ce007e01fe00ee0034007a02ff00fe00b1002d00ff00fd0077007f00ff00fe00ff0efe00ff1cfe00d80089005d00d300b800fa00ee007a00fa00f400f6007200b6007e01fe00ee0034007603ff000c009300ff00fc00f7007f00ff00fe 00ff0efe00ff1cfe00e800ca001d00d500d8007800ee00ba00fa00f800ea007200b6007e01fe00ee00b4007602ff00fe00d2002500ff00fc00ef007f00ff00fe00ff0efe00ff1cfe00e800cc008d00d500dc007c00f600dc01fc00ec0072007a007e01fe00ee00aa007603ff000c005300f100fc00ee01ff00fe00ff0efe00ff1cfe00ea00ec008e00ea00ec00bc00f600dc01fc01ec007c02fe00ee00aa00ee02ff00fe00b1002d00ee00fc00ee01ff00fe000007fe000000fe000000fe000001fe00ff01fe0000 02fe000000fe00000efe040000ea00ee00ae00ea00ee0e0002ff000c009300fe00fc00ee01ff00fe00ff0efe00ff09fe01ff10fe006a00ee002600ea00ee003e007c00f601fe00ee00ec00fd02fe00ee00aa00ef02ff00fe00d2002500fd00fc00ed01ff00fe00ff0efe00ff09fe01ff10fe006a0066002700740076005e007c00f601fe00ed00dd00fd02fe00ee00a900df03ff000c005300fb00fc00dd01ff00fe00ff0efe00ff09fe01ff10fe002a0066009300740076009e00be00fa01fe00ed00d900fb02fe 00ee009500df02ff00fe00b1002d00f700fd00dd01ff00fe00ff0efe00ff09fe01ff10fe003200630015007400ba00ae00be00fc00fe00fc00dd00bb00fb02fe00ec009500df03ff000c009300e000fd00dd01ff00fe00ff0efe00ff09fe01ff10fe001200630055007a00ba00ce00de007c00fe00fc00dd00b300f702fe00ec009500bf02ff00fe00d2002500ff00fd00db01ff00fe00ff0efe00ff09fe01ff10fe001200a3005600ba00b800d600de00be00fe00fc00db00b300f702fe00ec009300bf03ff000c 005300ff00fd00db01ff00fe00ff0efe00ff09fe01ff10fe000200a50047003a00dc00e600ee00be007e00fc00db006700ef02fe00ec009300bf02ff00fe00b1002d00ff00fd00bb01ff00fe00ff0efe00ff09fe01ff10fe000400b5006b003c005c00ea00ee00de007e00fc00db006700ef02fe00dc002b007f03ff000c009300ff00fd00bb01ff00fe00ff0efe00ff09fe01ff10fe002400b6006300bc006e00f200f600de00be00fc00da00cf00df02fe00dc002b007f02ff00fe00d5002500ff00fd00b701ff 00fe00ff0efe00ff09fe01ff10fe004400d6006300dc006e007400f600ee00de00fc00d600cf00df02fe00dc0027007f03ff000a005300ff00fd00b701ff00fe00ff0efe00ff09fe01ff10fe004000d6006b00de00ae007800fa00f600de00fc00d600af00bf02fe00dc002603ff00fe00b4002d00ff00fd00b701ff00fe00ff0efe00ff09fe01ff10fe009000d3002b00ce00b6003a00fa00f600ee00fa00b5009f00bf02fe00da002604ff0009009300ff00fd007701ff00fe00ff0efe00ff09fe01ff10fe0090 00d3003500d600b6003c00fc00fa00f600fa00b5005f007f02fe00da005603ff00fe00d1002500ff00fd006f01ff00fe00ff0efe00ff09fe01ff10fe00a800e300b500e6005a009c007c00fa00f600fa00ab003f007f02fe00da004d04ff000f005300ff00fd006f01ff00fe00ff0efe00ff09fe01ff10fe00a800e300b400ea005a009e007e00fc01fa00aa00be00ff02fe00da004d03ff00fe00b7002d00ff00fd006f01ff00fe00ff0efe00ff09fe01ff10fe00a8006300b5006c005a009e017e00fc00fa00a9 00bd00ff02fe00da004d04ff000f009300ff00fd005f01ff00fe00ff0efe00ff09fe01ff10fe00b000730095007400ac00ce003e007e00fc00fa0095007d00ff02fe00da005b03ff00fe00d7002500ff00fc00df01ff00fe00ff0efe00ff09fe01ff10fe00b000b3009a00b600ac00ce01be007e00fa0093007b00ff02fe00da001b04ff000f005300ff00fc00df01ff00fe00ff0efe00ff09fe01ff10fe00d400b500ca00b6002e00e6009e00be007e0076004a00fb00ff02fe00d6001b03ff00fe00b7002d00ff 00fc00df01ff00fe00ff0efe00ff09fe01ff10fe00d400d500ca00d6005600e601de00be0076004600f700ff02fe00d6001704ff000f009300ff00fc00bf01ff00fe00ff0efe00ff09fe01ff10fe00d800d100ca00da009600ea00ce01de00b6002600f700ff02fe00d6003703ff00fe00d7002500ff00fc00bf01ff00fe00ff0efe00ff09fe01ff10fe00d8006100d200ea00d6007201ee00de00d6000d00ef00ff02fe00d6003704ff0008005300ff00fd00bf01ff00fe00ff0efe00ff09fe01ff10fe00d80069 00d5006a00ca007400e601ee00d6000d00ef00ff02fe00b4002f03ff00fe00b7002d00ff00fd00bf01ff00fe00ff0efe00ff09fe01ff10fe00d800b100d9007200ea00b801f600ee00e6001b00df00ff02fe00b4002f04ff000f009300ff00fd007f01ff00fe00ff0efe00ff09fe01ff10fe00dc00b100d9007400e200ba00f202f6001b00df00ff02fe00b4006f03ff00fe00d0002500ff00fd007f01ff00fe00ff0efe00ff09fe01ff10fe00dc00b900d9007800f400ba02fa00f6003b00bf00ff02fe00b4005f 04ff000f005300ff00fd007f01ff00fe00ff0efe00ff09fe01ff10fe00ec00d800ed007800f000dc007801fa00ea003700bf00ff02fe00ac005f03ff00fe00b7002d00ff00fd007f01ff00fe00ff0efe00ff09fe01ff10fe00ec00d800ec00bc00f400dc007c01fc00ec0077007f00ff02fe00aa005f04ff0008009300fb00fc02ff00fe00ff0efe00ff09fe01ff10fe00ee00e800ee00bc00f800ee00bc01fc00ec006f007f00ff02fe00aa00bf03ff00fe00d7002500f300fc02ff00fe00000cfe020009fe01ff 03fe000000fe000002fe000000fe030000fe100000bf04ff000f005300fb00fc02ff00fe00ff0bfe03ff09fe01ff10fe00ee00ea006e00be00fa00ee00be007f00fe00ee00ed01ff02fe00aa00bf03ff00fe00b0002d00fb00fd02ff00fe00ff0bfe03ff09fe01ff0ffe007e00ee0072006e00be007c00f600de007f00fe00ed00dd01ff02fe00a9007f04ff000f009300fb00fd02ff00fe00ff0bfe03ff09fe01ff0ffe007e00ee007200ae00de007c00f600de00bf00fe00ed00db01ff02fe00a5007f03ff00fe 00d7002500fb00fd02ff00fe00ff0bfe03ff09fe01ff0ffe007e00f6007a00b600de007c00fa00ee00bf00fe00dd00bb01ff02fe0095007f04ff000f005300f100fd02ff00fe00ff0bfe03ff09fe01ff0ffe007e00f6007a00d600de007c00fa00ee00df00fe00dd00b701ff02fe009404ff00fe00b7002d00ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00be00f600ba00d600de00ba00fa00f600df00fe00db00b701ff02fe009205ff000f009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00be00f6 00b800e600de00ba00fc00f600ef00fe00db006f01ff02fe009204ff00fe00d0002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00be00f600bc00e600ee00ba007c00fa00ef00fe00db006f01ff02fe004905ff000f005300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00be00f600bc00f600ee00ba007e00fa00f700fe00da00df01ff02fe004904ff00fe00b6002d00ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00de00f600dc00f600ee00d6007e00fc00f700fe00d600df01ff02fe004505ff 000f009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00de00f600dc00f200ee00d600be00fc00fb00fe00d600bf01ff02fe004304ff00fe00d0002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00de00fa00dc007a00ee00d600be007e00fb00fe00b500bf01ff02fe002305ff000f005300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00de00fa00dc007800f600d600be007e00fd00fe00b5007f01ff02fe001304ff00fe00b7002d00ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00ee00fa 00ec00b800f600ee00de00be007d00fe00ab007f01ff02fe000705ff0008009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00ee00fa00ec00ba00f600ee00de00be007e00fe00aa02ff02fe000704ff00fe00d5002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00ee00fa00ec00ba007600ee00de00be007f007e00a902ff02fe000705ff000d005300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00f600fa00f400da007600d600ee00de00bf007e009502ff02fe000f04ff00fe00b5002d00ff 00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00f600fa00f400da00ba00d600ee00de00bf00be009302ff02fe000f05ff000d009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00f600fc00f400ec00ba00d601ee00df00be004b02ff02fe000f04ff00fe00d5002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00f600fc00f400ec00da00d600f600ee00df00de004702ff02fe001f05ff000f005300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fa00fc00f800ec00da00ba00f600ee00ef00de 002702ff02fe001f04ff00fe00b7002d00ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fa00fc00f800f400ea00ba01f600ef00ee000f02ff02fe001f05ff000f009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fa00fc00fa00f400ec00ba00fa00f600f700ee000f02ff02fe003f04ff00fe00d1002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fa00fc00fa00f800f400ba01fa00f700f6001f02ff02fe003f05ff000f005300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe02fc00f8 00f4007c01fa00fb00f6001f02ff02fe003f04ff00fe00b7002d00ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe02fc01f8007c00fc00fa00fb00fa003f02ff02fe007f05ff000f009300ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fc00fe01fc00f8007c01fc00fd00fa003f02ff02fe007f04ff00fe00d7002500ff00fd02ff00fe00ff0bfe03ff09fe01ff0ffe00fc00fe02fc007c01fc00fd00fc007f02ff02fe007f05ff000f005300f100fd02ff00fe00ff0bfe03ff09fe01ff13fe00fc03fe00fc 007f02ff02fe05ff00fe00b0002d00ee00fd02ff00fe00ff0bfe03ff09fe01ff09fe000000fe140006ff0008009300ec00fd47ff00fe00d7002500ea00fd48ff000f005300e600fd47ff00fe00b7002d00ee00fd48ff000f009300f100fd47ff00fe00d7002500ff00fd48ff000f005300ff00fd47ff00fe00b7002d00ff00fd48ff000f009300ff00fd47ff00fe00d7002500ff00fd48ff000f005300ff00fd47ff00fe00b7002d00ff00fd48ff000f009300ff00fd47ff00fe00d1002500ff00fd48ff000c0053 00ff00fd47ff00fe00b2002d00ff00fd48ff000c009300ff00fd47ff00fe00d1002500ff00fd48ff000c005300ff00fd47ff00fe00b2002d00ff00fd48ff000c009300ff00fd47ff00fe00d1002500ff00fd48ff000c005300ff00fc480000b2002d4aff000c009349ff00fe00d1002501ff00f100c7001f007f1cff00fe000c006e008318ff00fe003800f3008f06ff000c005301ff00ee00ba00ee007f1dff00be00e400bf18ff00fd00d7006f007705ff00fe00b2002d01ff00fe00b200cd007f1dff00be00ea 00bf19ff00d6005f007706ff000c009301ff00fd00aa00ab007f1dff00be00ee008719ff00b50043008f05ff00fe00d1002501ff00fb009a0068003f1dff00be00ee00bf19ff0073005d007706ff000c005301ff00f700ba00ef007f1dff00be00ee00bf18ff00fe00f7005d007705ff00fe00b2002d01ff00e000c7001f007f1dff00bc006e008318ff00fc001800e3008f06ff000c009349ff00fe00d100254aff000c005349ff00fe00b2002d4aff000c009349ff00fe00d100254a55000c00524aaa00b20028 0c8800bf0aff00f83088008c00954a550051002a4aaa00ac4b4400424b2200244b8800894b1100144b4400424b2200244b8800894b1100144b44004500354a550052008a4aaa00ac00174aff00f9004f4aff00f900374bff008f0000001f47ff0000001f0017007f00df47ff007600df014f005f47ff007600df0037006600df47ff007600df008f007200df00f400770062007f43ff000600df0017007700df00f300b7006d00bf43ff007e00df004f006900df00f700b7006d00bf43ff007e00df0037006c00df 00f300ba00ed00bf43ff000000d8008f005e005f00f4007a00ed00bf43ff007f00df0017007f00df00f700fd00ef00bf43ff007f00df004f0000001f00f746ff00000018003701ff00f748ff008f4bff00174aff00f8004a4aaa00af00354a55005700894a1101104a88008f004b4a55004700344aaa00a70089007f49ff00d700104aff00af004b007f49ff00c0003400f0000146ff00e0000300a70089007700fd00ff000344ff00ee00db00d6001000f400f500ff007f44ff00ee00db00af004b0076006d00ff 007f44ff00ee00db00c0003400f7002d00ff007f0087007b00460027008700473eff00e000db00a700890077007d00ff000f017b003a00db00fb003b3eff00ef00db00d7001000f6009d00ff007f0003007b007a00db0083007b3eff00ef00db00a8004b007600cd00ff017f0073007a00db017b3eff00e0001b00c5003400f500e500ff017f008b007a00db0073007b3eff00ef00fb00a50089007700fd00ff007f008700fb007a00fb008b007b3eff00ef00fb00d5001000f0000102ff007b42ff00e0000300ad 004b007f03ff008744ff00c500344aff00a70089007f49ff00d700104aaa00af004b4a55004100344aff00a70089007f49ff00d700104aff00af004b007f1eff00040017005d00760037007f000e003800e3000e0037007f1eff00c700341fff007d00f7005d002500d7007f00b70077005d007500d2007f1eff00a70089007f1eff007d00fa00cd005500d3007f00b70077005f007500d5007f1eff00d000101fff000c003d00d500740015007f00b70070005f000c0017007f1eff00a8004b007f1eff007d00fd 00d9007500d6007f00b700770059005d00d7007f1eff00c700341fff007d00fd00dd007500d7007f00b70077005d006d00d7007f1eff00a70089007f1eff007c001d00dd007500d7007f000e00370063007500d7007f1eff00d700104aff00af004b007f49ff00c700344aff00a70089007f49ff00d700104aff00af004b007f00ff48000047003401ff007f47ff00a70089007f00ff007f47ff00d7001001ff007f47ff00af004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f00ff007f47ff00d2 001001ff007f47ff00ac004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f00ff007f47ff00d2001001ff007f47ff00ac004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f00ff007f47ff00d2001001ff007f47ff00ac004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f00ff007f47ff00d2001001ff007f47ff00ac004b007f00ff007f47ff00c1003400f8003f007f47ff00a40089007f00bf0900001f2cff00bf00800d00003f00d2001000ff017f000300bf05ff 008000032cff02bf00ff00870bff00ac004b017f000000ff00bf05ff00800000007f2bff02bf00ff00a00bff00c1003400fe00ff007f00ff00bf05ff008c0080000f2bff02bf00ff00bb001f0aff00a40089007e00ff007f00ff00bf05ff0087002000002bff009f00bf003f00ff00bd00e70aff00d2001000fe00ff007f00ff00bf05ff00930083000200072aff009f00bf003f00ff00be00780aff00ac004b007f00ff007f00ff00bf05ff00a100a300c00000003f29ff009f00bf003f00ff01bf001f09ff00c1 003401ff007f00ff00bf05ff00a800b900e4004000c129ff009f00bf003f00ff00bf00df00e709ff00a40089007f00ff007f00ff00bf05ff00aa00dc00710080000e000728ff009f013f00ff00bf00e700f809ff00d2001001ff007f00ff00bf05ff00ad005d001c0060008100f8003f27ff009f013f00ff00bf00fb00ff001f08ff00ac004b007f00ff007f00ff00bf05ff00b5001e004600390018003f00c127ff009f013f00ff00bf00fd00ff00e708ff00c1003401ff007f00ff00bf05ff00b6009f0031008e 0063000700fe000f26ff009f013f00ff00bf00fe007f00f808ff00a40089007f00ff007f00ff00bf05ff00b600cf00580047009c006000ff00f0007f25ff00af003e00bf00ff00bf00ff00bf00ff001f07ff00d2001001ff007f00ff00bf05ff00b7004f00ae001100e70084000f00ff008325ff00af003e00bf00ff00bf00ff00df00ff00e707ff00ac004b007f00ff007f00ff00bf05ff00bb004700af0080007900f8008000ff00fc001f24ff00af003e00bf00ff00bf00ff00e700ff00f807ff00c1003401ff 007f00ff00bf05ff00bb009300d700ea003e003f0010001f00ff00e024ff00af003e00bf00ff00bf00ff00fb01ff001f06ff00a40089007f00ff007f00ff00bf05ff00bb00d900eb00f0000f00cf00e2000101ff000723ff00af003e00bf00ff00bf00ff00fd01ff00e706ff00d2001001ff007f00ff00bf05ff00bd00da00eb00fc000700f300fc0040001f00ff00f8003f22ff00af003e00bf00ff00bf00ff00fe007f00ff00f806ff00ac004b007f00ff007f00ff00bf05ff00bd00cc00f500ff000100fc00ff 0080002101ff00c122ff00af003e00bf00ff00bf01ff00bf01ff001f05ff00c1003401ff007f00ff00bf05ff00bd00ce007600ff00d0007f003f00f80006003f00ff00fe000f21ff00b7003d00bf00ff00bf01ff00df01ff00e705ff00a40089007f00ff007f00ff00bf05ff00bd00d600bb007f00e4003f00cf00ff000000c301ff00f0007f20ff00b7003d00bf00ff00bf01ff00e701ff00f805ff00d5001001ff007f00ff00bf05ff00be00d7005d007f00f9000f00f300ff00e0001c003f01ff008320ff00b7 003d00bf00ff00bf01ff00fb02ff001f04ff00aa004b007f00ff007f00ff00bf05ff00be00db00ad00bf00fe008700fc00ff00fc000300c701ff00fc001f1fff00b7003d00bf00ff00bf01ff00fd02ff00e704ff00c4003401ff007f00ff00bf05ff00be00eb00ce00df00ff000100ff003f00ff00800038007f01ff00e0007f1eff00b600bd00bf00ff00bf01ff00fe007f01ff00f804ff00a10089007f00ff007f00ff00bf05ff00be00ed00d600ef00ff00c0007f00cf00ff00f80007008702ff00831eff00b6 00bd00bf00ff00bf02ff00bf02ff001f03ff00d1001001ff007f00ff00bf05ff00bf006d00eb006f00ff00f0003f00f301ff000000f8007f01ff00fc001f1dff00b600bd00bf00ff00bf02ff00df02ff00e703ff00af004b007f00ff007f00ff00bf05ff00bf006e00f500b700ff00fc008f00fc01ff00e0001f008f02ff00e01dff00b600bd00bf00ff00bf02ff00e702ff00f803ff00c7003401ff007f00ff00bf05ff00bf006e00fa00bb00ff00fe000700ff003f00ff00fc000300f003ff00071cff00ba00bb 00bf00ff00bf02ff00fb03ff001f02ff00a70089007f00ff007f00ff00bf05ff00bf006f007a00dd01ff009100ff00cf01ff0080007f000f02ff00f8003f1bff00ba00bb00bf00ff00bf02ff00fd03ff00e702ff00d7001000fe017f00ff00bf05ff00bf00af007d005d01ff00e0007f00f301ff00f8000f00f003ff00c11bff00ba00bb00bf00ff00bf02ff00fe007f02ff00f802ff00af004b007d00ff007f00ff00801800001f1aff00ba00800b00003f01ff00c7003400fb00ff007f00ff009f05ff00bf00af 00be00b7007f00ff00fc000f00ff009f01ff00e0003f00e103ff00811aff00ba00bb009f00ff00bf03ff00df03ff00bf01ff00a700890078017f00ff009f05ff00bf00cf00bf0037007f01ff000700ff00e701ff00fc000700fe001f02ff0092003f19ff00ba00bb009f00ff00bf03ff00e703ff00bf01ff00d7001000fb00bf007f00ff00af05ff00bf00cf00bf00bb00bf01ff008100ff00f902ff008000ff00e102ff009c00c319ff00ba00bb008f00ff00bf03ff00fb03ff00bf01ff00a8004b007b00bf007f 00ff00af05ff00bf00cf00bf00db00df01ff00a2007f00fe007f01ff00f0001f00fe003f01ff009f003c003f18ff009c00b7001700ff00bf03ff00fd03ff00bf01ff00c7003400fc017f00ff00b705ff00bf00cf00bf00dd00ef01ff00a000bf00ff009f01ff00fe000300ff00c301ff009f00cf00c718ff009c00b7001300ff00bf03ff00fe007f02ff00bf01ff00a70089007f00ff007f00ff00b705ff00bf00ef00bf00ce00ef01ff00a8004f00ff00e702ff00c0007f00fc003f00ff00af00e300f8007f17ff 009c00b7002b00ff00bf04ff00bf02ff00bf01ff00d0001001ff007f00ff00bb05ff00bf00ef00bf00d600f701ff00b4001700ff00f902ff00f8000f00ff00c700ff00af00f900ff008f17ff009c00b7002d00ff00bf04ff00df02ff00bf01ff00af004b007f00ff007f00ff00bb05ff00bf00e700bf00db007b01ff00d6000100ff00fe007f01ff00fe000000ff00f8007f00af00fe007f00f017ff009d0037002c00ff00bf04ff00e702ff00bf01ff00c7003401ff007f00ff00bd05ff00bf00e700bf00db007d 01ff00db0042007f00ff009f02ff00c0001f00ff008700af00ff009f00ff000f16ff009d0037002e007f00bf04ff00fb02ff00bf01ff00a00089007f00ff007f00ff00bd05ff00bf00f700bf00dd00bd01ff00db006400bf00ff00e702ff00f8000300ff00f8003700ff00e700ff00f116ff009d0137007f00bf04ff00fd02ff00bf01ff00d7001001ff007f00ff00be05ff00bf00f700bf01de01ff00db00bb004f00ff00f903ff0000007f00ff008700ff00f100ff00fe001f15ff009d0137003f00bf04ff00fe 007f01ff00bf01ff00af004b007f00ff007f00ff00be05ff00bf00f700bf00ee00df007f00ff00dd00dc009700ff00fe007f02ff00e0000f00ff00b000ff00fc007f00ff00e315ff00ac002e00b7009f00bf05ff00bf01ff00bf01ff00c0003401ff007f00ff00bf007f04ff00bf00f700bf00ef006f00bf00ff00dd00ee006101ff009f02ff00fc000100ff00b7000f00ff001f00ff00fc003f14ff00ac002e00b700cf00bf05ff00df01ff00bf01ff00a70089007f00ff007f00ff00bf007f04ff00bf00f300bf 00ef00af00bf00ff00de00ef0010007f00ff00e703ff0080003f00bb00f000ff00c701ff00c314ff00ac002e00bb00cf00bf05ff00e701ff00bf01ff00d7001001ff007f00ff01bf04ff00bf00f300bf00ef00d700df00ff00de00f700ac00bf00ff00f803ff00f0000700bb00ff001f00f301ff00fc007f13ff00ac002e00bb00e700bf05ff00fb01ff00bf01ff00af004b007f00ff007f00ff00bf00df04ff00bf00f300bf00ef00db00ef00ff00de00fb00d2000f01ff003f02ff00fe000000bb00ff00e100f8 02ff008713ff00ac002e00bb00f300bf05ff00fd01ff00bf01ff00c7003401ff007f00ff00bf00df04ff00bf00f500bf00ef00eb00ef00ff00df007b00ed008701ff00cf03ff00c0001d00ff00fe001e003f01ff00f813ff00ac002e00bd00f300bf05ff00fe007f00ff00bf01ff00a70089007f00ff007f00ff00bf00ef04ff00bf00f500bf00ef00f500f700ff00df007d00f6004101ff00f303ff00f8000101ff00e1008f02ff000f12ff00ac002e00bd00f900bf06ff00bf00ff00bf01ff00d0001001ff007f 00ff00bf00ef04ff00bf00f500bf00f700f500fb00ff00df00be00fb00b4007f00ff00fc04ff0000007f00ff00fe002302ff00f012ff00b5001d00bd00fc00bf06ff00df00ff00bf01ff00af004b007f00ff007f00ff00bf00f704ff00bf00f500bf00f700fa00fd00ff00df00bf007d00c8003f01ff003f03ff00a0000f01ff00c003ff001f11ff00b5001d00bd00fd003f06ff00e700ff00bf01ff00c6003401ff007f00ff00bf00f704ff00bf00f600bf00f700fd007d00ff00df00bf007e00f6008f01ff00cf 03ff00bc000101ff00fc003f02ff00e111ff00b5001d00be00fe003f06ff00fb00ff00bf01ff00a70089007f00ff007f00ff00bf00fb04ff00bf00f600bf00f700fe007e00ff01df00bf007b002701ff00f303ff00be0090003f01ff000702ff00fe003f10ff00b5001d00be00ff003f06ff00fd00ff00bf01ff00d0001001ff007f00ff00bf00fb04ff00bf00fa00bf00f700fe00bf007f00ef01df009c00c101ff00fc03ff00be00e2000301ff00c0007f02ff00c310ff00b2001d00be00ff001f06ff00fe007f 00bf01ff00af004b007f00ff007f00ff00bf00fd04ff00bf00fa00bf00f700ff003f00bf03ef0074007f01ff003f02ff00be00fc0040007f00ff00f1008702ff00fc003f0fff00b2001d00be00ff00af07ff01bf01ff00c7003401ff007f00ff00bf00fd04ff00bf00fb003f00f700ff009f00bf02ef00f70099003f01ff00cf02ff00bf007f0088000f00ff00fc0078007f02ff00c70fff00b2001d00bf007f008f07ff00df00bf01ff00a00089007f00ff007f00ff00bf00fe04ff00bf00fb003f00f700ff00cf 00df01ef00f700fb00ee00cf01ff00f302ff00bf007f00f1000100ff00fe001f008f02ff00f8007f0eff00b2001d00bf007f009707ff00e700bf01ff00d5001001ff007f00ff00bf00fe04ff00bf00fb003f00fb00ff00cf01ef00f700fb00fd00f3002701ff00fc02ff00bf007f00fe0020003f00ff008700f003ff008f0eff00ba00bb00bf007f00ab07ff00fb00bf01ff00ad004b007f00ff007f00ff00bf00ff007f03ff00bf00fb003f00fb00ff00e700f700ef00f700fd00fe00fd00d902ff003f01ff00bf 007f00ff00c4000700ff00e100ff000f02ff00f00eff00ba00bb00bf007f00b507ff00fd00bf01ff00c5003400f8003f007f00ff00bf00ff007f03ff00bf00fb00bf00fb00ff01f700ef00fb00fd00ff007e0066007f01ff00cf01ff01bf00ff00f8008800ff00f8007f00f003ff000f0dff00ba00bb01bf00b507ff00fe003f01ff00a50089007b00ff2500003f01ff00f10cff00bf0080003b00800c00003f00d5001000f8017f00ff00bf00ff00df03ff00bf00fb00bf00fb00ff00f900fd00ef00fb00ff007f 00df00cc008f01ff00fe007f00ff01bf01ff00e2002300ff000f01ff009f01ff00fe001f0bff00bf00ba00bb01bf00bd007f07ff00bf01ff00af004b007f00bf007f00ff00bf00ff00df03ff00bf00fb009f00fb00ff01fd00ef00fd00ff007f00ef00f7003702ff009f00ff00bf00df01ff00fc0004007f00c301ff00af02ff00e30bff00bf00ba00bb00bf00df00bd007f07ff00bf01ff00c7003400ff00bf007f00ff00bf00ff00ef03ff00bf00fb009f00fb00ff01fe00ef00fd00ff00bf00f700f9009902ff 00e700ff00bf00df02ff0088008f00f001ff00d702ff00fc003f0aff00bf00ba00bb00bf00df00be00bf07ff00bf01ff00a70089007b00bf007f00ff00bf00ff00ef03ff00bf00fb009f00fd00ff00fe00ff006f00fe00ff00df00fb00fe008e007f01ff00f900ff00bf00df02ff00b1001100fc003f00ff00d903ff00c30aff00bf00b8003700bf00df00bf005f07ff00bf01ff00d1001000fc017f00ff00bf00ff00f703ff00bf00fb00af00fd01ff007f00af00fe00ff00ef00fd00ff001300bf01ff00fe007f 00bf00df02ff00be0022003f004f00ff00dc03ff00fc007f09ff00bf00b8003700bf00df00bf006f07ff00bf01ff00af004b007f00ff007f00ff00bf00ff00f703ff00bf00fb00af00fd01ff00bf00af00fe00ff00ef00fe00ff009d00cf02ff009f00bf00ef02ff00bf00c40047009300ff00de007f03ff008709ff00bf00b8003700bf00ef00bf00af07ff00bf01ff00c7003401ff007f00ff00bf00ff00fb03ff00bf00fb00af00fd01ff00bf00cf00ff007f00f700ff007f008e007702ff00e700bf00ef02ff 00bf00f9008800e500ff00df003f03ff00f809ff00bf00b8003700bf00ef00bf00d707ff00bf01ff00a70089007f00ff007f00ff00bf00ff00fb03ff00bf00fd00b700fd01ff00df00e700ff007f00fb00ff009f00a3009902ff00f900bf00ef02ff00bf00fe00310008007f00ef009f04ff000f08ff00bf00b5003700bf00ef00bf00db07ff00bf01ff00d7001001ff007f00ff00bf00ff00fd03ff00bf00fd00b700fd01ff00cf00f700ff00bf00fd00ff00ef00ad00ee007f01ff00fe003f00ef02ff00bf00ff 00c60030001f01ef04ff00f008ff00bf00b5003700bf00ef00bf00ed07ff00bf01ff00af004b007f00ff007f00ff00bf00ff00fd03ff00bf00fd00b700fd01ff00e700f700ff00bf00fd00ff00f700ae007300bf02ff009f00f702ff00bf00ff00f800c6002700ef00f705ff001f07ff00bf00b5003700bf00f700bf00f507ff00bf01ff00c0003401ff007f00ff00bf00ff00fe03ff00bf00fd00bb00fd01ff00f700f300ff00bf00fe00ff00fb00af00bd00cf02ff00a700f702ff00bf01ff001800c100ef00f9 05ff00e107ff00bf00b5003700bf00f700bf00f607ff00bf01ff00a00089007f00ff007f00ff00bf00ff00fe03ff00bf00fd00bb00fe01ff00f300f500ff00df00ff007f00fd00af00ce007702ff00b900f702ff00bf01ff00e30010006f00fc05ff00fe003f06ff00bf00b4002f00bf00f700bf00fb007f06ff00bf01ff00d7001001ff007f00ff00bf01ff007f02ff00bf00fd00bb00fe01ff00f900f600ff00df00ff00bf00fe00b700f700b902ff00be007702ff00bf01ff00fc0060001700fe007f05ff00c3 06ff00bf00b4002f00bf00f700bf00fd00bf06ff00bf01ff00af004b007f00ff007f00ff00bf01ff007f02ff00bf00fd00bd00fe01ff00fa00f600ff00ef00ff00bf00ff003700f900ce007f01ff00bf009b02ff00bf02ff008c002300ff003f05ff00fc003f05ff00bf00b4002f00bf00fb00bf00fd00bf06ff00bf01ff00c7003401ff007f00ff00bf01ff00bf02ff00bf00fd00bd00fe01ff00fc00f7007f00ef00ff00df00ff00b700fe00f700bf01ff00bf00e302ff00bf02ff00f10080007f009f06ff00c7 05ff00bf00b4002f00bf00fb00bf00fe00df06ff00bf01ff00a70089007f00ff007f00ff00bf01ff00df02ff00bf00fd00bd00fe01ff00fe007700bf00ef00ff00ef00ff009700ff003900cf01ff00bf00f802ff00bf02ff00fe0020008f00cf06ff00f8007f04ff00bf00b4002f00bf00fb00bf00ff006f06ff00bf01ff00d7001001ff007f00ff00bf01ff00df02ff00bf00fd00be00fe01ff00fe00b700bf00f700ff00ef00ff00a700ff00de00f701ff00bf00fd003f01ff00bf03ff00c0003100e707ff008f 04ff00bf00b4002f00bf00fd00bf00ff006f06ff00bf01ff00af004b007f00ff007f00ff00bf01ff00ef02ff00bf00fd00be00fe02ff003700df00f700ff00f700ff00b300ff00e7003901ff00bf00fd00cf01ff00bf03ff00f80046003307ff00f004ff00bf00b4002f00bf00fd00bf00ff00b706ff00bf01ff00c7003401ff007f00ff00bf01ff00ef02ff00bf00fd00be00ff007f01ff005700ef00fb00ff00fb00ff00bb00ff00fb00de007f00ff00bf00fd00f301ff00bf03ff00fb001000c008ff000f03ff 00bf00b5001f00bf00fd00bf00ff00db06ff00bf01ff00a70089007f00ff007f00ff00bf01ff00f702ff00bf00fd00bf017f01ff00a700f700fb00ff00fd00ff00b900ff00fc00e700bf00ff00bf00fd00fc01ff00bf03ff00fb00e00018007f07ff00f103ff00bf00b5001f00bf00fd00bf00ff00dd06ff00bf01ff00d7001001ff007f00ff00bf01ff00f702ff00bf00fd00bf017f01ff00d700f700fb00ff00fd00ff00ba01ff007b00cf00ff00bf00fe00ff003f00ff00bf03ff00fb00f00022001f07ff00fe 001f02ff00bf00b5001f00bf00fe00bf00ff00ed06ff00bf01ff00af004b007f00ff007f00ff00bf01ff00fb02ff00bf00fd00bf017f01ff00d700fb00fd00ff00fe00ff00bb007f00ff00bc00f700ff00bf00fe00ff00cf00ff00bf03ff00fb00fc009c004308ff00e302ff00bf00b5001f00bf00fe00bf00ff00f606ff00bf01ff00c7003401ff007f00ff00bf01ff00fb02ff00bf00fe01bf007f01ff00eb01fd01ff007f00bd009f00ff00cf003900ff00bf00fe00ff00f300ff00bf03ff00fd00ff0023008c 003f07ff00fc003f01ff00bf00a8001f00bf00fe00bf00ff00f7007f05ff00bf01ff00a70089007f00ff007f00ff00bf01ff00fd02ff00bf00fe01bf007f01ff00e901fe01ff00bf00bd00ef00ff00f700de007f00bf00fe00ff00fc00ff00bf03ff00fd00ff00c8006100c708ff00c301ff00bf00a8001f00bf00fe00bf00ff00fb00bf05ff00bf01ff00d1001001ff007f00ff00bf01ff00fd02ff00bf00fe01bf007f01ff00f201fe01ff00bf00bd00f700ff00f900e701bf00ff007f00ff003f00bf03ff00fd 00ff00f60002003808ff00fc007f00ff00bf00a8001f00bf00ff003f00ff00fd00bf05ff00bf01ff00ac004b007f00ff007f00ff00bf01ff00fe02ff00bf00fe00bf00df007f01ff00fa00ff007e01ff00df00bd00fb00ff00fe00fb00cf00bf00ff007f00ff00cf00bf03ff00fd00ff00f9009000c7001f08ff008700ff00bf00a8001f00bf00ff003f00ff00fd00df05ff00bf01ff00c2003401ff007f00ff00bf01ff00fe02ff00bf00fe00bf00df00bf01ff00fb007f00bf007f00ff00ef00bd00fd01ff003c 00f700bf00ff007f00ff00f300bf03ff00fd00ff00fe0064003800e308ff00f800ff00bf00aa01bf00ff003f00ff00fe00ef05ff00bf01ff00a40089007f00ff007f00ff00bf02ff007f01ff00bf00fe00bf00df00bf01ff00f900bf00df007f00ff00f700be00fe01ff00df007900bf00ff007f00ff00fc00bf03ff00fe01ff00980087001c007f08ff000f00bf00aa01bf00ff003f01ff007705ff00bf01ff00d1001000ff017f00ff00bf02ff007f01ff00bf00fe00bf00ef00bf01ff00f900bf00df00bf00ff 00f700be00ff007f00ff00e7009e003f00ff00bf01ff003f03ff00fe01ff00e6005800e3008f08ff00f000bf00aa01bf00ff00bf01ff007705ff00bf01ff00ac004b007e007f1a00002f00bf00ff00bf01ff008703ff00fe01ff00fb00af001c007109ff0400003f01ff00bb05ff00bf01ff00c2003400fd017f00ff00bf02ff00bf01ff00bf00fe00bf00ef00bf01ff00fb006f00f700bf00ff00fd00be00ff00bf00ff00fc00f3008f00ff00bf01ff00b903ff00fe01ff00fc00c700e3008e003f08ff00bf00aa 01bf00ff009f01ff00dd05ff00bf01ff00a40089007b017f00ff00bf02ff00bf01ff00bf00fe00bf00f700bf01ff00fb007700f700bf00ff00fd00be00ff00bf01ff007d00b300ff00df01ff00be007f02ff00fe02ff002300fc007100c708ff00bf00aa01bf00ff009f01ff00dd05ff00bf01ff00d1001000f8003f007f00ff00bf02ff00bf01ff00bf00fe00bf00f700bf01ff00fb00b700fb009f00ff00fe00bf007f00bf01ff009e003800ff00df01ff00bf009f03ff007f01ff00c400ff008e003808ff00bf 00aa01bf00ff00af01ff00ee05ff00bf01ff00ac004b027f00ff00bf02ff00bf01ff00bf00fe00bf00f700df01ff00fb00bb00fd009f01ff003f007f009f01ff00ef00be003f00df01ff00bf00e703ff007f01ff00f2003f00f100c7001f07ff00bf00a2003f00bf00ff00af01ff00f7007f04ff00bf01ff00c2003400ff017f00ff00bf02ff00bf01ff00bf00fe00bf00fb00df01ff00fb00dd00fe009f01ff00bf007f009f01ff00f3008f009f00df01ff00bf00f903ff007f01ff00fd008f00fe003800e307ff 00bf00a2003f00bf00ff00b701ff00f700bf04ff00bf01ff00a40089007f00ff007f00ff00bf02ff00bf01ff00bf00fe00bf00fb00df01ff00fb00ed00fe009f01ff00bf007f009f01ff00fd00b700c700ef01ff00bf00fe007f02ff007f01ff00fe005300ff00c7001c007f06ff00bf00a2003f00bf00ff00b701ff00fb00bf04ff00bf01ff00d1001001ff007f00ff00bf02ff00bf01ff00bf00fe00bf00fb00df01ff00fb00ee00ff001f01ff009f007f009f01ff00fe00b900f100ef01ff00bf00ff009f02ff 007f02ff000d00ff00f900e3008f06ff00bf00a2003f00bf00ff00bb01ff00fd00df04ff00bf01ff00ac004b007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00fd00df01ff00fd00f7007f00af01ff00af00bf009f02ff003e0078006f01ff00bf00ff00e702ff00bf02ff0086007f00fe003c007006ff00bf0095007f00bf00ff00bb01ff00fd00ef04ff00bf01ff00c2003401ff007f00ff00bf02ff00bf01ff00bf00ff003f00fd00df01ff00fd00f700bf008f01ff00b700bf009f02ff009f00be000f 01ff00bf00ff00f902ff00bf02ff00e9009f00ff00c7008f001f05ff00bf0095007f00bf00ff00bd01ff00fe00f704ff00bf01ff00a40089007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00fd00df01ff00fd00fb00bf008f01ff00b700bf009f02ff00a700cf008701ff00bf00ff00fe007f01ff00bf02ff00f400e700ff00f800f100e305ff00bf0095007f00bf00ff00bd02ff007704ff00bf01ff00d1001001ff007f00ff00bf02ff00bf01ff00bf00ff003f00fe00df01ff01fd00df00af01ff00bb 00bf009f02ff00bb00f700c301ff00bf01ff009f01ff00bf02ff00fa003901ff001e003c007f04ff00bf0095007f00bf00ff00be02ff007b04ff00bf01ff00ac004b007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00fe00ef01ff01fd00ef00a701ff00bd00bf00af02ff00bc00f900f001ff00bf01ff00e701ff00bf02ff00fd008e007f00ff00e300c7008f04ff00bf0084007f00bf00ff00be02ff00bd04ff00bf01ff00c2003401ff007f00ff00bf02ff00bf01ff00bf00ff003f00fe00ef01ff00fd 00fe00f700b301ff00be00df00af02ff00bf007e00f0003f00ff00bf01ff00f901ff00df02ff00fe00d3009f00ff00fc007800f104ff00bf0084007f00bf00ff00bf007f01ff00de04ff00bf01ff00a40089007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff006f01ff00fd00fe00f700b301ff00be00df00af02ff00bf009f003a000f00ff00bf01ff00fe007f00ff00df03ff006c00e701ff008f001e003f03ff00bf0084007f00bf00ff00bf007f01ff00de04ff00bf01ff00d1001001ff007f00ff 00bf02ff00bf01ff00bf00ff003f00ff006f01ff00fd00ff007b00b501ff00bf005f00af02ff00bf00ef00db00a700ff00bf02ff008f00ff00df03ff00b7007b01ff00f100e300c703ff00bf0084007f00bf00ff01bf01ff00ef007f03ff00bf01ff00ac004b007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff006f01ff00fd00ff00bd00b601ff00bf009f00af02ff00bf00f300e300c100ff00bf02ff00f300ff00df03ff00db009c01ff00fe003c007803ff00bf0084007f00bf00ff00bf00df01ff 00f700bf03ff00bf01ff00c2003401ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff00af01ff00fd00ff00bd00b601ff00bf009f00af02ff00bf00fd00f900f4007f00bf02ff00fc00ff00df03ff00ed00e7003f01ff00c7008f001f02ff00bf0084007f00bf00ff00bf00df01ff00f700bf03ff00bf01ff00a40089007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff00af01ff00fd00ff00de00bb007f00ff00bf00cf00af02ff00bf00fe007c00f9001f00bf03ff003f00ef03ff00f600f900cf 01ff00f800f100e302ff00bf0084007f00bf00ff00bf00ef01ff00fb00df03ff00bf01ff00d1001001ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff00b701ff00fd00ff00df003b00bf00ff00bf00ef00b702ff00bf00ff00bd007e004700bf03ff00cf00ef03ff00fb003e007302ff001e003c007f01ff00bf0095007f00bf00ff00bf00ef01ff00fd00ef03ff00bf01ff00ac004b007f00ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff00d701ff00fd00ff00ef00bb00df00ff00bf00e700b702ff 00bf00ff00cd009f00a300bf03ff00f300ef03ff00fd00df00bc02ff00e300c7008f01ff00bf0095007f00bf00ff00bf00f701ff00fd00f703ff00bf01ff00c2003401ff007f00ff00bf02ff00bf01ff00bf00ff003f00ff00d701ff00fd00ff00f700bb00df00ff00bf00e700b702ff00bf00ff00f600ef00c800bf03ff00fc00ef03ff00fe00ef00cf003f01ff00fc007800f101ff00bf0095007f00bf00ff00bf00f701ff00fe00f703ff00bf01ff00a40089007f00ff007f00ff00bf02ff00bf01ff00bf00ff 003f00ff00d701ff00fd00ff00f7009b00ef00ff00bf00eb00b702ff00bf00ff00fa00f300f6003f04ff002f04ff007700f300df02ff009f001e003f00ff00bf0095007f00bf00ff00bf00fb02ff007b03ff00bf01ff00d1001001ff003f00ff00bf02ff00bf01ff00bf00ff00bf00ff00e701ff00fe00ff00fb00ad00f700ff00bf00f500b702ff00bf00ff01fc00f9000f04ff00c704ff009b00fc00e702ff01e300c300ff00bf008800ff00bf00ff00bf00fb02ff007d03ff00bf01ff00ac004b007f00ff003f 00ff00bf02ff00bf01ff00bf00ff00bf00ff00e701ff00fe00ff00fb00b500fb00ff00bf00f600b702ff00bf00ff00fe007f007e000304ff00f304ff00ed00ff003902ff00fc017c007f00bf008800ff00bf00ff00bf00fd02ff00be03ff00bf01ff00c2003401ff003f00ff00bf02ff00bf01ff00bf00ff00bf00ff00e701ff00fe00ff00fd00b500fb00ff00bf00f600b702ff00bf01ff001f009f00b104ff00f404ff00f600ff00de007f02ff028f00bf008800ff00bf00ff00bf00fd02ff00de03ff00bf01ff 00a40089007f00ff005f00ff00bf02ff00bf01ff00bf00ff00bf00ff00f701ff00fe00ff00fe00b900fd00ff00bf00f7003702ff00bf01ff006f00ef008c007f03ff00f7003f03ff00fb003f00e7009f02ff02f100bf008800ff00bf00ff00bf00fe02ff00df007f02ff00bf01ff00d1001001ff005f00ff00bf02ff00bf01ff00bf00ff00bf00ff00f301ff00fe00ff00fe00bd00fe00ff00bf00f700bb02ff00bf01ff007300f300b6001f03ff00f700cf03ff00fd00df00f900e702ff00fe013e003f00aa00ff 00bf00ff00bf00fe02ff00ef00bf02ff00bf01ff00ac004b007f00ff005f00ff00bf02ff00bf01ff00bf00ff00bf00ff00f301ff00fe01ff003c00ff007f00bf00fb009b02ff00bf01ff007d00fd00b9008703ff00fb00f303ff00fe00ef00fe007903ff01c7008700aa00ff00bf00ff00bf00ff007f01ff00f700df02ff00bf01ff00c2003400fc007f006f00ff00bf02ff00bf01ff00bf00ff00bf00ff00fb01ff00fe01ff003e00ff007f00bf00fb009b02ff00bf01ff00be007e003e006103ff00fb00fc04ff 007700ff009e007f02ff01f800b800aa00ff00bf00ff00bf00ff007f01ff00f700df02ff00bf01ff00a40089007b00bf3500003f0000002a00ff0080003f00bf00ff00bf01ff00fb00ef02ff00bf01ff00d1001000ff00bf006f00ff00bf02ff00bf03ff00bf00ff00fb01ff00fe01ff00be00bf00ff00bf00fb00b302ff00bf01ff00bf00ff00bf00fc003f02ff00fb05ff00dd00ff00f300cf03ff01bf00aa00ff00bf00ff00bf00ff00df01ff00fd00f702ff00bf01ff00ac004b007e007f007700ff00bf02ff 00bf03ff00bf00ff00f901ff00fe01ff00be00bf00ff00bf00fb00b302ff00bf01ff00df00ff00bf00ff000f02ff00fb05ff00ee00ff00fc00f303ff01bf00aa00ff00bf00ff00bf00ff00df01ff00fd00f702ff00bf01ff00c5003400ff00bf007700ff00bf02ff00bf03ff00bf00ff00f901ff00fe01ff00bf005f00ff00bf00fd00bb02ff00bf01ff00df00ff00bf00ff00c302ff00fd05ff00f7007f00ff003c03ff01bf00aa00ff00bf00ff00bf00ff00ef01ff00fe00fb02ff00bf01ff00a20089007b00bf 007700ff00bf02ff00bf03ff00bf00ff00fd01ff00fe01ff00bf006f00ff00bf00fd00bd02ff00bf01ff00df00ff00bf00ff00f402ff00fd05ff00fb009f00ff00cf003f02ff009f00bf002200ff00bf00ff00bf00ff00ef02ff007d02ff00bf01ff00d4001000fc007f007b00ff00bf02ff00bf03ff00bf00ff00fc01ff00fe01ff00bf006f00ff00bf00fd00bc02ff00bf01ff00df00ff00bf00ff00f9007f01ff00fd05ff00fd00ef00ff00f700cf02ff009f00bf002200ff00bf00ff00bf00ff00f702ff007e 02ff00bf01ff00a9004b007f00ff007b00ff00bf02ff00bf03ff00bf00ff00fc01ff00fe01ff00bf007700ff00bf00fd00bc02ff00bf01ff00ef00ff00bf00ff00fe001f01ff00fd05ff00fe00f700ff00f900f302ff009f00bf002200ff00bf00ff00bf00ff00f702ff00be02ff00bf01ff00c1003401ff007b00ff00bf02ff00bf03ff00bf00ff00fc01ff00fe01ff00bf007b00ff00bf00fd00bd007f01ff00bf01ff00ef00ff00bf01ff00a701ff00fd06ff007b00ff00fe007d02ff009f00bf002200ff00bf 00ff00bf00ff00fb02ff00df007f01ff00bf01ff00a70089007f00ff003d00ff00bf02ff00bf03ff00bf00ff00fd007f01ff007f00ff00bf00bd00ff00bf00fe00bd00bf01ff00bf01ff00ef00ff00bf01ff00c901ff00fe06ff009d01ff009e007f01ff009f00bf001500ff00bf00ff00bf00ff00fb02ff00df00bf01ff00bf01ff00d7001001ff003d00ff00bf02ff00bf03ff00bf00ff00fd007f01ff007f00ff00bf00bd00ff00bf00fe00bd00df01ff00bf01ff00ef00ff00bf01ff00f2007f00ff00fe06ff 00ee01ff00e7009f01ff009f00bf001500ff00bf00ff00bf00ff00fd02ff00ef00df01ff00bf01ff00af004b007f00ff003d00ff00bf02ff00bf03ff00bf00ff00fd007f01ff007f00ff00bf00be00ff00bf00fe00bd00df01ff00bf01ff00f700ff00bf01ff00fc00bf00ff00fe06ff00f7007f00ff00fb00e701ff009f00bf001500ff00bf00ff00bf00ff00fd02ff00f700df01ff00bf01ff00c7003401ff003e00ff00bf02ff00bf03ff00bf00ff00fd00bf01ff007f00ff01bf007f00bf00fe00bd00ef01ff 00bf01ff00f700ff00bf02ff004f00ff00fe06ff00fb009f00ff00fc00f901ff009f00bf001500ff00bf00ff00bf00ff00fe02ff00f700ef01ff00bf01ff00a70089007f00ff003e00ff00bf02ff00bf03ff00bf00ff00fe00bf01ff007f00ff03bf00fe00be00f701ff00bf01ff00f700ff00bf02ff009300ff00fe06ff00fd00ef01ff003e007f00ff00af00be008500ff00bf00ff00bf00ff00fe02ff00fb00f701ff00bf01ff00d7001001ff005e00ff00bf02ff00bf03ff00bf00ff00fe00bf01ff007f00ff 00bf00df01bf00ff003e00fb01ff00bf01ff00f700ff00bf02ff00e401ff007f05ff00fe00f701ff00cf009f00ff00af00be008500ff00bf00ff00bf01ff007f01ff00fd00fb01ff00bf01ff00af004b007f00ff005f007f00bf02ff00bf03ff00bf00ff00fe00df01ff007f00ff00bf01df00bf00ff003e00fb01ff00bf01ff00fb00ff00bf02ff00f9003f00ff007f06ff007b01ff00f300e700ff00af00be008500ff00bf00ff00bf01ff007f01ff00fd00fb01ff00bf01ff00c7003401ff005f007f00bf02ff 00bf03ff00bf00ff00fe00df01ff007f00ff00bf00df00ef00bf00ff003e00fd01ff00bf01ff00fb00ff00bf02ff00fe00df00ff007f06ff00bd01ff00fd00fb00ff00af00be008500ff00bf00ff00bf01ff00bf01ff00fe00fd01ff00bf01ff00a00089007f00ff005f007f00bf02ff00bf03ff00bf00ff00fe00df01ff007f00ff00bf00df00ef00bf00ff003e00fe01ff00bf01ff00fb00ff00bf03ff002700ff007f06ff00de01ff00fe007c00ff00af00be008500ff00bf00ff00bf01ff00df02ff007e01ff 00bf01ff00d7001001ff005f01bf02ff00bf03ff00bf00ff00fe00ef01ff007f00ff00bf00df00f700bf00ff003e00fe01ff00bf01ff00fd00ff00bf03ff00c900ff007f06ff00ef007f01ff009f003f00af00be008500ff00bf00ff00bf01ff00df02ff007e01ff00bf01ff00af004b007f00ff006f01bf02ff00bf03ff00bf00ff00fe00ef01ff007f00ff00bf00ef00fb00bf00ff00be00ff007f00ff00bf01ff00fd00ff00bf03ff00f2007f00bf06ff00f700bf01ff00e700cf00af00be008500ff00bf00ff 00bf01ff00ef02ff00bf007f00ff00bf01ff00c0003401ff006f01bf02ff00bf03ff00bf01ff006f01ff007f00ff00bf00ef00fd00bf00ff00bf007f00bf00ff00bf01ff00fd00ff00bf03ff00fd009f00bf06ff00fb00cf01ff00f900f300b700bd009500ff00bf00ff00bf01ff00ef02ff00df00bf00ff00bf01ff00a70089007f00ff006f00df00bf02ff00bf03ff00bf01ff007701ff007f00ff00bf00ef00fd00bf00ff00bf007f00df00ff00bf01ff00fd00ff00bf03ff00fe006f00bf06ff00fd00f701ff 00fe00fc00b700bd009500ff00bf00ff00bf01ff00f702ff01df00ff00bf01ff00d7001001ff006f00df00bf02ff00bf03ff00bf01ff007701ff007f00ff00bf00ef00fe00bf00ff00bf007f00df00ff00bf01ff00fe00ff00bf04ff009300bf06ff00fe00fb02ff003f003700bd009500ff00bf00ff00bf01ff00f702ff00ef00df00ff00bf01ff00a8004b007f00ff006f00df00bf02ff00bf03ff00bf01ff007701ff007f00ff00bf00ef00ff003f00ff00bf007f00ef00ff00bf01ff00fe00ff00bf04ff00ec 00bf07ff007d02ff00cf009700bd009500ff00bf00ff00bf01ff00fb02ff00f700ef00ff00bf01ff00c7003401ff007700ef00bf02ff00bf03ff00bf01ff007b01ff00bf00ff00bf00f700ff00bf00ff009f007f00f700ff00bf01ff00fe00ff00bf04ff00f3001f07ff009e02ff00f300a700bd008b00ff00bf00ff00bf01ff00fb02ff01f700ff00bf01ff00a70089007f00ff007700ef00bf02ff00bf03ff00bf01ff007b01ff00bf00ff00bf00f700ff00bf00ff009f007f00fb00ff00bf01ff00fe00ff00bf 04ff00fc00cf07ff00ef007f01ff00fc00b100bd008b00ff00bf00ff00bf01ff00fd02ff01fb00ff00bf01ff00d0001001ff007700ef00bf02ff00bf03ff00bf01ff007b01ff00bf00ff00bf00f700ff009f00ff009f007f00fb00ff00bf02ff007f00bf05ff001707ff00f700bf02ff0036003d008b00ff00bf00ff00bf01ff00fd02ff00fd00fb00ff00bf01ff00af004b007f00ff007700f700bf02ff00bf03ff00bf01ff007d01ff00bf00ff00bf00f700ff00af00ff009f007f00fd00ff00bf02ff007f00bf 05ff00d907ff00fb00cf02ff0097009d008b00ff00bf00ff00bf01ff00fe02ff01fd00ff00bf01ff00c7003401ff007700f700bf02ff00bf03ff00bf01ff00bd01ff00bf00ff00bf00f700ff00af00ff009f00bf00fe00ff00bf02ff007f00bf05ff00c6007f06ff00fd00f702ff01a300ab00ff00bf00ff00bf01ff00fe02ff01fe00ff00bf01ff00a70089007f00ff007b00f700bf02ff00bf03ff00bf01ff00bd01ff00bf00ff00bf00fb00ff00b700ff00af00bf00ff007f00bf02ff007f00bf05ff00e9009f 06ff00fe00fb02ff01b900ab00ff00bf00ff00bf02ff007f02ff017f00bf01ff00d7001000fc007f007b00fb00bf02ff00bf03ff00bf01ff00be01ff00bf00ff00bf00fb00ff00bb00ff00af00bf00ff007f00bf02ff01bf05ff00ee006707ff007d02ff00ba003a002b00ff00bf00ff00bf02ff007f02ff017f00bf01ff00af004b007b00bf007b00fb00801700003f00800200001f00bf05ff00ef00bb07ff00be02ff00bb00800f00003f00c0003400ff00bf007b00fb00bf02ff00bf03ff00bf01ff00fe03ff 00bf00fb00ff00bd00ff00af00bf01ff00bf02ff00a300bf05ff00ef00cc07ff00df007f01ff01bb00ab00ff00bf00ff00bf02ff00df04ff00bf01ff00a70089017f007b00fd00bf02ff00bf03ff00bf02ff007f02ff00bf00fb00ff00be00ff00af00bf01ff00bf02ff00bc003f05ff00ef00f3003f06ff00ef00bf01ff01bb00ab00ff00bf00ff00bf02ff00df04ff00bf01ff00d6001000fe00ff007d00fd00bf02ff00bf03ff00bf02ff007f02ff00bf00fd00ff00bf007f00b700bf01ff00bf02ff00bf008f 05ff00f700fc00cf06ff00f700df01ff01bb00ab00ff00bf00ff00bf02ff00ef04ff00bf01ff00af004b007d00ff007d00fd00bf02ff00bf03ff00bf02ff007f02ff00bf00fd00ff00bf007f00b700df01ff00bf02ff00bf00b105ff00f700ff007306ff00fb00e701ff00bd00b7002b00ff00bf00ff00bf02ff00ef04ff00bf01ff00c0003400f8003f007d00fe00bf02ff00bf03ff00bf02ff00bf02ff00bf00fd00ff01bf00b700df01ff00bf02ff00bf00be003f04ff00f700ff009d06ff00fd00fb01ff00bd 00b7002b00ff00bf00ff00bf02ff00f704ff00bf01ff00a70089007f00ff007d00fe00bf02ff00bf03ff00bf02ff00bf02ff00bf00fd00ff00bf00df00b700df01ff00bf02ff01bf00c704ff00f700ff00e6007f05ff00fe00fd01ff00bd00b7002b00ff00bf00ff00bf02ff00f704ff00bf01ff00d7001001ff007d00fe00bf02ff00bf03ff00bf02ff00bf02ff00bf00fd00ff00bf00ef00b700df01ff00bf02ff01bf00f804ff00f700ff00fb009f06ff007e01ff00bd00b7002b00ff00bf00ff00bf02ff00fb 04ff00bf01ff00a8004b007f00ff007e00ff003f02ff00bf03ff00bf02ff00df02ff00bf00fe00ff00bf00ef00bb00df01ff00bf02ff01bf00fe000f03ff00fb00ff00fc00e706ff009f007f00ff00bd00b7001700ff00bf00ff00bf02ff00fb04ff00bf01ff00c5003401ff007e00ff003f02ff00bf03ff00bf02ff00df02ff00bf00fe00ff00bf00f700bb00df01ff00bf02ff01bf00ff00c103ff00fb01ff003906ff00ef00bf00ff00bd00b7001700ff00bf00ff00bf02ff00fd04ff00bf01ff00a50089007f 00ff007e00ff003f02ff00bf03ff00bf02ff00df02ff00bf00fe00ff00bf00fb00bb00df01ff00bf02ff01bf00ff00f8003f02ff00fb01ff00ce06ff00f700df00ff00bd00b7001700ff00bf00ff00bf02ff00fd04ff00bf01ff00d5001001ff007e00ff00bf02ff00bf03ff00bf02ff00ef02ff00bf00fe00ff00bf00fd00bb00df01ff00bf02ff01bf01ff000702ff00fb01ff00f7003f05ff00fb00e700ff00bd00b7001700ff00bf00ff00bf02ff00fe04ff00bf01ff00ad004b007f00ff007e00ff00bf02ff 00bf03ff00bf02ff00ef02ff00bf00fe00ff00bf00fd00bb00ef01ff00bf02ff01bf01ff00e002ff00fb01ff00f900cf05ff00fd00fb00ff00be00ae009700ff00bf00ff00bf02ff00fe04ff00bf01ff00c5003401ff017f00bf02ff00bf03ff00bf02ff00ef02ff00bf00ff007f00bf00fe00bd00ef01ff00bf02ff01bf01ff00fc001f01ff00fd01ff00fe007305ff00fe00fd00ff00be00ae009700ff00bf00ff00bf03ff007f03ff00bf01ff00a70089007f00ff017f009f02ff00bf03ff00bf02ff00f702ff 00bf00ff007f00bf00ff003d00ef01ff00bf02ff01bf02ff008301ff00fd02ff009c06ff007e00ff00be00ae009700ff00bf00ff00bf03ff007f03ff00bf01ff00d7001001ff017f009f02ff00bf03ff00bf02ff00f702ff00bf00ff007f00bf00ff003d00ef01ff00bf02ff01bf02ff00f0007f00ff00fd02ff00ef007f05ff00bf007f00be00ae009700ff00bf00ff00bf03ff00bf03ff00bf01ff00af004b007f00ff017f009f02ff00bf03ff00bf02ff00f702ff00bf00ff007f00bf00ff00bd00ef01ff00bf 02ff01bf02ff00fe000f00ff00fd02ff00f3009f05ff00df00bf00be00ae009700ff00bf00ff00bf03ff00df03ff00bf01ff00c1003401ff017f00af02ff00bf03ff00bf02ff00fb02ff00bf00ff007f00bf00ff009d00ef01ff00bf02ff01bf03ff00c100ff00fd02ff00fc00e705ff00ef00df00be00ae009700ff00bf00ff00bf03ff00df03ff00bf01ff00a70089007f00ff007f00bf00af02ff00bf03ff00bf02ff00fb02ff00bf00ff01bf00ff00ae00ef01ff00bf02ff01bf03ff00f8003f00fe03ff0039 05ff00f700ef00be00ae009700ff00bf00ff00bf03ff00ef03ff00bf01ff00d7001001ff007f00bf00af02ff00bf03ff00bf02ff00fb02ff00bf00ff01bf00ff00ae00f701ff00bf02ff01bf04ff000700fe03ff00de007f04ff00fb00f300bf001d009700ff00bf00ff00bf03ff00ef03ff00bf01ff00af004b007f00ff007f00bf00b702ff00bf03ff00bf02ff00fd02ff00bf00ff01bf00ff00b600f701ff00bf02ff01bf04ff00e000fe03ff00e700bf04ff01fd00bf001d009700ff00bf00ff00bf03ff00f7 03ff00bf01ff00c7003401ff007f00bf00b702ff00bf03ff00bf02ff00fd02ff00bf00ff01bf00ff00ba00f701ff00bf02ff01bf04ff00fc001e03ff00f900cf04ff01fe00bf001d009700ff00bf00ff00bf03ff00f703ff00bf01ff00a70089007f00ff007f00bf00b702ff00bf03ff00bf02ff00fd02ff00bf00ff01bf00ff00ba00f701ff00bf02ff01bf05ff008203ff00fe00f305ff007f003f001d009700ff00bf00ff00bf03ff00fb03ff00bf01ff00d0001001ff007f00df00bb02ff00bf03ff00bf02ff 00fe02ff00bf00ff00df00bf00ff00bd007701ff00bf02ff01bf05ff00e0003f03ff003c05ff009f00bf001d00af00ff00bf00ff00bf03ff00fb03ff00bf01ff00a8004b007f00ff007f00df00bb02ff00bf03ff00bf02ff00fe02ff00bf00ff00df00bf00ff00be007701ff00bf02ff01bf05ff00fc004703ff00cf003f04ff00ef009f001d00af00ff00bf00ff00bf03ff00fd03ff00bf01ff00c7003401ff007f00df00bb02ff00bf03ff00bf02ff00fe02ff00bf00ff00df00bf00ff00bf007701ff00bf02ff 01bf06ff000803ff00f300df04ff00f700af001d00af00ff00bf00ff00bf03ff00fd03ff00bf01ff00a70089007f00ff007f00df00bd02ff00bf03ff00bf03ff007f01ff00bf00ff00df00bf00ff00bf007701ff00bf02ff01bf06ff0071001f02ff00fd00e704ff00fb00b3001d00af00ff00bf00ff00bf03ff00fe03ff00bf01ff00d7001001ff007f00df00bd02ff00bf03ff00bf03ff007f01ff00bf00ff00df00bf00ff00bf003b01ff00bf02ff01bf06ff007e002302ff00fe007904ff00fd00bd00bb00af 00ff00bf00ff00bf03ff00fe03ff00bf01ff00af004b007f00ff007f00ef00bd02ff00bf03ff00bf03ff007f01ff00bf00ff00ef00bf00ff00bf009b01ff00bf02ff01bf06ff00bf00c4007f02ff009e007f03ff00fe00be00bb00af00ff00bf00ff00bf04ff007f02ff00bf01ff00c7003400fe00ff007f00ef00be02ff00bf03ff00bf03ff00bf01ff00bf00ff00ef00bf00ff00bf00ab01ff00bf02ff01bf06ff00bf00f8008f02ff00e7009f04ff003f003b00af00ff00bf00ff00bf04ff007f02ff00bf01ff 00a70089007c00ff007f00ef00800d00003f00ff00bf00ff00ef00801100003f00ff001102ff00fb00ef04ff00800000002f00ff00bf00ff00bf04ff00bf02ff00bf01ff00d7001000fe00ff007f00ef00fe02ff00bf03ff00bf06ff00bf00ff00ef01ff00bf00f301ff00bf02ff00bf09ff00e2003f01ff00fc00f304ff00bf00bb00af00ff00bf00ff00bf04ff00df02ff00bf01ff00af004b007e00ff007f00ef00ff007f01ff00bf03ff00bf06ff00bf00ff00ef01ff00bf00fb01ff00bf02ff00bf09ff00fc 004702ff003c04ff00bf00bb00af00ff00bf00ff00bf04ff00df02ff00bf01ff00c7003400fe00ff007f00f700ff007f01ff00bf03ff00bf06ff00bf00ff00f701ff00bf00fb01ff00bf02ff00bf0aff008802ff00cf003f03ff00bf00bb00af00ff00bf00ff00bf04ff00ef02ff00bf01ff00a70089007e00ff007f00f700ff007f01ff00bf03ff00bf06ff00bf00ff00f701ff00bf00fd01ff00bf02ff00bf0aff00f1001f01ff00f700cf03ff00bf00b700af00ff00bf00ff00bf04ff00ef02ff00bf01ff00d7 001000fc017f00f700ff00bf01ff00bf03ff00bf06ff00bf00ff00f701ff00bf00fc01ff00bf02ff00bf0aff00fe002301ff00f900f703ff00bf00b700af00ff00bf00ff00bf04ff00f702ff00bf01ff00af004b007f00ff007f00f700ff00bf01ff00bf03ff00bf06ff00bf00ff00f701ff00bf00fd007f00ff00bf02ff00bf0bff00c4007f00ff00fe007903ff00bf00b700af00ff00bf00ff00bf04ff00f702ff00bf01ff00c1003401ff007f00f700ff00bf01ff00bf03ff00bf06ff00bf00ff00f701ff00bf 00fd007f00ff00bf02ff00bf0bff00f9008f01ff00be007f02ff00bf00b700af00ff00bf00ff00bf04ff00fb02ff00bf01ff00a40089007f00ff007f00fb00ff00df01ff00bf03ff00bf06ff00bf00ff00fb01ff00bf00fd00bf00ff00bf02ff00bf0bff00fe003001ff00cf009f02ff00bf00b7009f00ff00bf00ff00bf04ff00fb02ff00bf01ff00d2001001ff007f00fb00ff00df01ff00bf03ff00bf06ff00bf00ff00fb01ff00bf00fd00df00ff00bf02ff00bf0cff00c7001f00ff00f300e702ff00bf00b7 009f00ff00bf00ff00bf04ff00fd02ff00bf01ff00ac004b007f00ff007f00fb00ff00df01ff00bf03ff00bf06ff00bf00ff00fb01ff00bf00fd00ef00ff00bf02ff00bf0cff00f800e300ff00fc00fb02ff00bf00b7009f00ff00bf00ff00bf04ff00fd02ff00bf01ff00c1003401ff007f00fb00ff00ef01ff00bf03ff00bf06ff00bf00ff00fb01ff00bf00fd00ef00ff00bf02ff00bf0dff001c007f00ff007c02ff00bf00b7009f00ff00bf00ff00bf04ff00fe02ff00bf01ff00a40089007f00ff007f00fb 00ff00ef01ff00bf03ff00bf06ff00bf00ff00fb01ff00bf00fe00f700ff00bf02ff00bf0dff00e3008f00ff009f003f01ff00bf00af009f00ff00bf00ff00bf04ff00fe02ff00bf01ff00d2001001ff007f00fd00ff00ef01ff00bf03ff00bf06ff00bf00ff00fd01ff00bf00fe00fb00ff00bf02ff00bf0dff00fc007100ff00e700cf01ff00bf00af009f00ff00bf00ff00bf05ff007f01ff00bf01ff00ac004b007f00ff007f00fd00ff00f701ff00bf03ff00bf06ff00bf00ff00fd01ff00bf00fe00fb00ff 00bf02ff00bf0eff008e003f00f900f301ff00bf00af009f00ff00bf00ff00bf05ff007f01ff00bf01ff00c1003401ff007f00fd00ff00f701ff00bf03ff00bf06ff00bf00ff00fd01ff00bf00fe00fd00ff00bf02ff00bf0eff00f100c700fe00fd01ff00bf00af009f00ff00bf00ff00bf05ff00bf01ff00bf01ff00a40089007f00ff007f00fd00ff00f701ff00bf03ff00bf06ff00bf00ff00fd01ff00bf01fe00ff00bf02ff00bf0eff00fe003800ff003e007f00ff00bf00af009f00ff00bf00ff00bf05ff 00df01ff00bf01ff00d2001001ff007f00fd00ff00fb01ff00bf03ff00bf06ff00bf00ff00fd01ff00bf00fe00ff007f00bf02ff00bf0fff00c7001f00cf009f00ff00bf00af009f00ff00bf00ff00bf05ff00df01ff00bf01ff00ac004b007f00ff007f00fe00ff00fb01ff00bf03ff00bf06ff00bf00ff00fe01ff00bf00fe00ff007f00bf02ff00bf0fff00f800e300f300e700ff00bf00af009f00ff00bf00ff00bf05ff00ef01ff00bf01ff00c1003401ff007f00fe00ff00fb01ff00bf03ff00bf06ff00bf 00ff00fe01ff00bf00ff007f01bf02ff00bf10ff001c007d00f900ff00bf019f00ff00bf00ff00bf05ff00ef01ff00bf01ff00a40089007f00ff007f00fe00ff00fd01ff00bf03ff00bf06ff00bf00ff00fe01ff00bf00ff007f00df00bf02ff00bf10ff00e3008e007e00ff00bf019f00ff00bf00ff00bf05ff00f701ff00bf01ff00d2001001ff007f00fe00ff00fd01ff00bf03ff00bf06ff00bf00ff00fe01ff00bf00ff007f00df00bf02ff00bf10ff00fc0071009f003f00bf019f00ff00bf00ff00bf05ff 00f701ff00bf01ff00ac004b007f00ff007f00fe00ff00fd01ff00bf03ff00bf06ff00bf00ff00fe01ff00bf00ff007f00ef00bf02ff00bf11ff009e002f00cf00bf019f00ff00bf00ff00bf05ff00fb01ff00bf01ff00c1003401ff007f00ff007f00fe01ff00bf03ff00bf06ff00bf01ff007f00ff00bf00ff007f00f700bf02ff00bf11ff00e300c300f300bf009f00bf00ff00bf00ff00bf05ff00fb01ff00bf01ff00a40089007f00ff007f00ff007f00fe01ff00bf03ff00bf06ff00bf01ff007f00ff00bf 00ff007f00fb00bf02ff00bf11ff00fc017c00bf009f00bf00ff00bf00ff00bf05ff00fd01ff00bf01ff00d2001001ff007f00ff007f00fe01ff00bf03ff00bf06ff00bf01ff007f00ff00bf00ff007f00fb00bf02ff00bf12ff008f000f003f009f00bf00ff00bf00ff00bf05ff00fd01ff00bf01ff00ac004b007f00ff007f00ff007f00ff007f00ff00bf03ff00bf06ff00bf01ff007f00ff00bf00ff007f00fd00bf02ff00bf12ff00f100d1019f00bf00ff00bf00ff00bf05ff00fe01ff00bf01ff00c10034 01ff007f00ff007f00ff007f00ff00bf03ff00bf06ff00bf01ff007f00ff00bf00ff00bf00fe00bf02ff00bf12ff00fe0026002701bf00ff00bf00ff00bf05ff00fe01ff00bf01ff00a40089007f00ff007f00ff00bf00ff007f00ff00bf03ff00bf06ff00bf01ff00bf00ff00bf00ff00bf00ff003f02ff00bf13ff00c1008101bf00ff00bf00ff00bf06ff007f00ff00bf01ff00d2001000fc017f00ff00bf00ff00bf00ff00bf03ff00bf06ff00bf01ff00bf00ff00bf00ff00bf00ff003f02ff00bf13ff00f8 0038003f00bf00ff00bf00ff00bf06ff007f00ff00bf01ff00ac004b007b00bf0300003f00ff00bf03ff00bf06ff00800100003f00ff00800000003f00ff00bf02ff00bf14ff0100003f00ff00bf00ff00800600003f00ff00bf01ff00c1003400fb003f007f47ff00a40089007a00bf007f47ff00d2001000f900bf007f47ff00ac004b007b00bf007f47ff00c1003400fc017f47ff00a40089007f00ff007f47ff00d2001001ff007f47ff00ac004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f 00ff007f47ff00d2001001ff007f47ff00ac004b007f00ff007f47ff00c1003401ff007f47ff00a40089007f00ff007f47ff00d5001001ff007f47ff00aa004b007f00ff007f47ff00c4003401ff007f47ff00a10089007f00ff007f47ff00d1001001ff007f47ff00af004b007f00ff007f47ff00c7003401ff007f47ff00a70089007f00ff007f47ff00d7001001ff4800002f004b007f49ff00c700344aff00a70089007f01ff007900c71eff0083001b00a019ff0006003e07ff00d7001001ff00fe007700bb 1eff00ef00b9002f19ff007d00dc07ff00a8004b007f00ff00fd006f00b31eff00ef00ba00af19ff000f00da07ff00c7003401ff00fb006100ab1eff00ef00bb00a119ff00f700b607ff00a70089007f00ff00f8002e009b1eff00ef00bb00af19ff00f70070007f06ff00d0001002ff006e00bb1eff00ef00bb00af19ff007600fe07ff00af004b007f01ff007100c71eff00ef001b00a019ff008c001e07ff00c700344aff00a00089007f49ff00d700104aff00af004b007f49ff00c000344aff00a700894a55 005700104aaa00af004a4aaa00af00354a5500574c88 grestore showpage endFig 861 5296(Figure)N 1136(5:)X 1235(Feynman)X 1617(Diagrams)X 2015(for)X 2151(Cholesky)X 2538(Factorization)X 3071(\(100x100)X 3463(matrix\))X 576 5440(some)N 806(compilers)X 1213(prepend)X 1550(C)X 1641(routine)X 1941(names)X 2214(with)X 2412(underscores;)X 2926(others)X 3189(do)X 3313(not.)X 3512(This)X 3711(problem)X 576 5584(was)N 756(resolved)X 1113(by)X 1240(having)X 2 f 1533(ifdef's)X 1 f 1805(for)X 1948(each)X 2156(of)X 2267(the)X 2416(different)X 2779(calling)X 3073(conventions)X 3569(in)X 3675(the)X 3823(inter-)X 576 5728(face)N 763(routines.)X 1147(A)X 1242(second)X 1535(problem,)X 1906(common)X 2269(to)X 2370(Fortan-to-C)X 2850(interfaces,)X 3275(was)X 3450(correct)X 3744(passing)X 576 5872(of)N 689(arguments.)X 1147(Fortran)X 1463(passes)X 1741(arguments)X 2175(by)X 2303(reference)X 2694(and)X 2865(C)X 2961(passes)X 3238(arguments)X 3671(by)X 3799(value.)X 17 p %%Page: 17 17 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(17)X 2376(-)X 576 720(Because)N 929(of)X 1041(problems)X 1431(on)X 1559(some)X 1794(supported)X 2205(machines)X 2601(with)X 2805(passing)X 3126(values)X 3405(to)X 3513(Fortran)X 3829(func-)X 576 864(tions,)N 817(only)X 1017(subroutines)X 1489(are)X 1636(used)X 1841(in)X 1945(the)X 2092(interface.)X 2483(This)X 2683(causes)X 2963(the)X 3110(user)X 3299(interface)X 3666(to)X 3 f 9 s 3764(PVM)X 1 f 12 s 3957(to)X 576 1008(be)N 715(slightly)X 1052(different)X 1432(when)X 1688(programming)X 2260(in)X 2383(Fortran)X 2714(rather)X 2987(than)X 3201(C.)X 3362(A)X 3480(third)X 3711(problem)X 576 1152(encountered)N 1081(was)X 1263(string)X 1515(termination.)X 2017(Several)X 3 f 9 s 2333(PVM)X 1 f 12 s 2530(routines)X 2873(pass)X 3071(strings,)X 3384(such)X 3593(as)X 3706(program)X 576 1296(names)N 846(and)X 1009(signals.)X 1324(C)X 1413(terminates)X 1840(strings)X 2121(with)X 2317(NULLs,)X 2659(but)X 2807(this)X 2971(is)X 3060(not)X 3208(a)X 3276(requirement)X 3767(in)X 3867(For-)X 576 1440(tran)N 759(so)X 877(some)X 1112(Fortran)X 1427(compilers)X 1839(do)X 1967(not)X 2122(terminate)X 2519(strings.)X 2831(Instead,)X 3165(they)X 3363(keep)X 3577(track)X 3802(of)X 3914(the)X 576 1584(length)N 846(of)X 955(strings)X 1240(in)X 1344(an)X 1464(internal)X 1788(table.)X 2029(Sending)X 2373(a)X 2445(C)X 2538(routine)X 2840(a)X 2912(pointer)X 3214(to)X 3318(the)X 3465(beginning)X 3879(of)X 3989(a)X 576 1728(nonterminated)N 1171(string)X 1428(leads)X 1664(to)X 1776(nondeterministic)X 2461(behavior)X 2835(at)X 2942(best)X 3134(and)X 3310(a)X 3390(memory)X 3748(fault)X 3962(at)X 576 1872(worst.)N 853(The)X 1043(solution)X 1393(to)X 1508(this)X 1687(problem)X 2048(requires)X 2398(that)X 2583(Fortran)X 2906(programmers)X 3459(append)X 3777(all)X 3914(the)X 576 2016(string)N 852(arguments)X 1309(in)X 1440(their)X 1673(codes)X 1948(with)X 2175(\\0.)X 2354(For)X 2543(example,)X 2 f 2950(call)X 3151(\256nitiate\()X 3534('program\\0',)X 576 2160(instancenum)N 1086(\))X 1 f 1118(.)X 1190(The)X 1364(development)X 1886(of)X 1990(this)X 2153(Fortran-to-C)X 2663(interface)X 3025(was)X 3198(the)X 3340(most)X 3552(dif\256cult)X 3882(part)X 576 2304(of)N 680(porting)X 982(the)X 1124(two)X 1292(scienti\256c)X 1664(applications.)X 776 2476(The)N 958(\256rst)X 1139(application)X 1600(calculates)X 2013(the)X 2163(electronic)X 2576(structure)X 2945(of)X 3057(metallic)X 3401(alloys)X 3663(from)X 3883(\256rst)X 576 2620(principles)N 990(and)X 1162(is)X 1259(based)X 1511(on)X 1640(the)X 1791(KKR-CPA)X 2244(algorithm)X 2652([23].)X 2893(The)X 3076(algorithm)X 3484(is)X 3581 0.2898(parallelized)AX 576 2764(using)N 809(a)X 877(``Master/Slave'')X 1538(paradigm)X 1927(in)X 2027(which)X 2287(the)X 2430(host)X 2615(process)X 2928(initiates)X 3259(tasks)X 3477(to)X 3578(perform)X 3914(the)X 576 2908(majority)N 935(of)X 1047(the)X 1197(work.)X 1450(The)X 1632(host)X 1824(also)X 2011(coordinates)X 2487(the)X 2637(tasks)X 2861(to)X 2967(achieve)X 3293(good)X 3516(load)X 3713(balance.)X 576 3052(The)N 764(code)X 984(consists)X 1326(of)X 1444(16000)X 1722(lines)X 1942(of)X 2060(Fortran)X 2381(divided)X 2709(among)X 3010(127)X 3193(subroutines,)X 3699(but)X 3861(only)X 576 3196(about)N 814(20)X 934(subroutines)X 1401(are)X 1543(involved)X 1904(explicitly)X 2293(with)X 2488(the)X 2630(algorithm's)X 3098 0.2542(parallelization.)AX 776 3368(The)N 962(second)X 1265(application)X 1730(performs)X 2114(a)X 2194(molecular)X 2617(dynamics)X 3023(simulation)X 3467(and)X 3643(is)X 3744(used)X 3957(to)X 576 3512(study)N 813(the)X 960(interaction)X 1402(and)X 1570(vibration)X 1947(in)X 2051(molecules.)X 2494(The)X 2672(algorithm)X 3075(is)X 3167 0.2898(parallelized)AX 3646(by)X 3770(having)X 576 3656(multiple)N 933(copies)X 1214(of)X 1329(the)X 1482(code)X 1699(solve)X 1937(a)X 2015(PDE)X 2232(on)X 2364(different)X 2732(spatial)X 3020(regions)X 3339(of)X 3455(a)X 3534(3-D)X 3719(volume.)X 576 3800(Data)N 794(are)X 948(exchanged)X 1396(across)X 1672(the)X 1826(boundaries,)X 2308(and)X 2483(the)X 2637(solution)X 2982(is)X 3081(time)X 3288(stepped.)X 3665(The)X 3850(code)X 576 3944(consists)N 917(of)X 1034(only)X 1242(700)X 1423(lines)X 1642(of)X 1759(Fortran,)X 2103(but)X 2264(nearly)X 2543(every)X 2795(subroutine)X 3239(is)X 3341(involved)X 3716(in)X 3829(some)X 576 4088(aspect)N 841(of)X 945(the)X 1087(algorithm's)X 1555 0.2542(parallelization.)AX 776 4260(The)N 950(conversion)X 1396(of)X 1500(both)X 1695(applications)X 2185(to)X 2284(run)X 2436(under)X 3 f 9 s 2673(PVM)X 1 f 12 s 2861(was)X 3035(straightforward.)X 3701(Changes)X 576 4404(were)N 792(required)X 1142(in)X 1246(three)X 1468(areas.)X 1743(First,)X 1972(initiating)X 2349(tasks)X 2569(is)X 2661(different)X 3021(than)X 3215(in)X 3318(hypercubes.)X 3808(Tasks)X 576 4548(are)N 723(initiated)X 1069(and)X 1237(then)X 1432(must)X 1648(enroll)X 1902(with)X 3 f 9 s 2096(PVM)X 1 f 12 s 2260(.)X 2313(Care)X 2524(must)X 2740(also)X 2924(be)X 3044(taken)X 3282(to)X 3386(ensure)X 3666(that)X 3840(tasks)X 576 4692(have)N 789(enrolled)X 1136(before)X 1413(communicating)X 2044(with)X 2246(one)X 2416(another.)X 2783(If)X 2877(an)X 2998(enrolled)X 3344(task)X 3529(sends)X 3772(a)X 3845(mes-)X 576 4836(sage)N 778(to)X 884(a)X 958(task)X 1144(that)X 1320(has)X 1479(not)X 1633(yet)X 1782(enrolled,)X 2153(the)X 2302(message)X 2660(is)X 2756(lost.)X 2951(Constructs,)X 3418(such)X 3626(as)X 2 f 3738(waitun-)X 576 4980(til\(\))N 1 f 721(,)X 773(are)X 919(provided)X 1288(in)X 3 f 9 s 1384(PVM)X 1 f 12 s 1575(to)X 1677(ensure)X 1955(that)X 2127(tasks)X 2346(are)X 2491(ready.)X 2780(Second,)X 3114(in)X 3216(order)X 3446(to)X 3548 0.3472(facilitate)AX 3914(the)X 576 5124(use)N 736(of)X 848(heterogeneous)X 1436(architectures,)X 3 f 9 s 1979(PVM)X 1 f 12 s 2175(routines)X 2517(are)X 2667(called)X 2930(to)X 3037(convert)X 3358(all)X 3487(messages)X 3882(to)X 3989(a)X 576 5268(``standard'')N 1062(format)X 1351(before)X 1629(sending)X 1960(and)X 2131(to)X 2238(convert)X 2559(them)X 2784(to)X 2890(a)X 2964(machine-speci\256c)X 3648(format)X 3936(on)X 576 5412(receipt.)N 913(As)X 1045(discussed)X 1439(earlier,)X 1737(the)X 3 f 9 s 1876(PVM)X 1 f 12 s 2067(routines)X 2404(may)X 2597(not)X 2747(actually)X 3080(do)X 3203(a)X 3273(conversion)X 3722(depend-)X 576 5556(ing)N 733(on)X 863(the)X 1015(architectures)X 1542(of)X 1656(the)X 1808(sending)X 2141(task)X 2329(and)X 2501(receiving)X 2893(task.)X 3129(Third,)X 3400(sending)X 3732(of)X 3845(mes-)X 576 5700(sages)N 824(is)X 928(changed)X 1289(to)X 1404(account)X 1744(for)X 1896(the)X 2054(fact)X 2240(that)X 2426(the)X 2585(user)X 2786(often)X 3025(does)X 3242(not)X 3406(know)X 3660(on)X 3797(which)X 576 5844(machine)N 930(a)X 1000(task)X 1182(is)X 1273(running.)X 1623(A)X 1719(task)X 1900(\(or)X 2038(instance\))X 2412(is)X 2502(de\256ned)X 2811(by)X 2933(a)X 3002(process)X 3316(name)X 3551(and)X 3716(instance)X 18 p %%Page: 18 18 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(18)X 2376(-)X 576 720(number.)N 918(These)X 1172(two)X 1340(values)X 1610(are)X 1752(used)X 1952(to)X 2051(specify)X 2353(uniquely)X 2714(the)X 2856(message)X 3206(destination.)X 776 892(Having)N 1091(made)X 1332(these)X 1562(changes,)X 1929(these)X 2160(two)X 2337(applications)X 2836(were)X 3056(run)X 3217(on)X 3346(a)X 3422(network)X 3770(of)X 3883(Sun)X 576 1036(and)N 741(IBM)X 948(workstations)X 1465(connected)X 1882(by)X 2004(Ethernet.)X 2381(XPVM)X 2683(was)X 2858(used)X 3060(during)X 3337(these)X 3561(experiments)X 576 1180(to)N 677(relieve)X 966(the)X 1110(tedium)X 1404(of)X 1510(starting)X 3 f 9 s 1819(PVM)X 1 f 12 s 2009(on)X 2131(all)X 2254(the)X 2398(machines)X 2788(and)X 2954(in)X 3056(the)X 3201(case)X 3394(of)X 3501(the)X 3646(molecular)X 576 1324(dynamics)N 978(simulation,)X 1442(starting)X 1764(each)X 1974(copy)X 2194(of)X 2307(the)X 2457(application)X 2918(program.)X 3300(Results)X 3615(from)X 3834(these)X 576 1468(experiments)N 1071(are)X 1213(given)X 1451(in)X 1550(the)X 1692(next)X 1882(section.)X 3 f 576 1756(6.)N 696(Results)X 1 f 776 1928(The)N 965(electronic)X 1385(structure)X 1761(application)X 2229(is)X 2332(computationally)X 2998(intensive)X 3385(with)X 3595(only)X 3805(a)X 3888(few)X 576 2072(hundred)N 916(very)X 1112(large)X 1330(\(10KB)X 1616(-)X 1673(500KB\))X 2007(messages.)X 2419(Because)X 2765(the)X 2908(message)X 3259(traf\256c)X 3513(is)X 3601(small)X 3834(com-)X 576 2216(pared)N 820(to)X 926(the)X 1075(computation)X 1588(time,)X 1815(this)X 1985(application)X 2445(actually)X 2782(ran)X 2936(faster)X 3181(on)X 3308(a)X 3382(network)X 3728(of)X 3839(eight)X 576 2360(IBM)N 798(RS/6000)X 1174(workstations)X 1705(than)X 1911(on)X 2047(eight)X 2280(nodes)X 2544(of)X 2664(an)X 2795(Intel)X 3012(iPSC/860)X 3420(hypercube)X 3861(with)X 576 2504(dedicated)N 984(communication)X 1622(channels.)X 2021(The)X 2209(execution)X 2622(times)X 2869(for)X 3020(the)X 3177(test)X 3350(problem)X 3710(were)X 3936(33)X 576 2648(minutes)N 916(and)X 1090(40)X 1221(minutes)X 1561(respectively.)X 2086(All)X 2244(of)X 2359(this)X 2533(performance)X 3054(gain)X 3254(is)X 3352(due)X 3525(to)X 3634(the)X 3786(higher)X 576 2792(execution)N 976(rate)X 1146(of)X 1251(RS/6000)X 1612(versus)X 1882(the)X 2025(i860)X 2221(processors)X 2651(for)X 2788(this)X 2952(application.)X 3430(All)X 3579(128)X 3749(proces-)X 576 2936(sors)N 756(of)X 862(the)X 1006(Intel)X 1209(machine)X 1562(have)X 1770(been)X 1978(used)X 2180(during)X 2457(computational)X 3035(experiments)X 3532(on)X 3653(supercon-)X 576 3080(ductors)N 890(producing)X 1312(execution)X 1719(rates)X 1933(in)X 2040(excess)X 2323(of)X 2435(2.5)X 2587(G\257ops.)X 2898(The)X 3080(performance)X 3599(of)X 3711(compar-)X 576 3224(able)N 778(experiments)X 1289(on)X 1425(various)X 3 f 9 s 1742(PVM)X 1 f 12 s 1946(con\256gurations)X 2536(of)X 2656(RS/6000)X 3032(workstations)X 3563(is)X 3667(shown)X 3957(in)X 576 3368(Table)N 820(2.)X 10 f 1410 3488(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1657 3632(Model)N 1932(320)X 2580(model)X 2845(530)X 10 f 1410 3680(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1502 3824(nproc)N 10 f 1838 3840(c)N 3776(c)Y 1 f 1957 3824(M\257ops)N 2464(nproc)X 10 f 2800 3840(c)N 3776(c)Y 1 f 2875 3824(M\257ops)N 10 f 1410 3872(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1507 4016(serial)N 2008(18.2)X 2469(serial)X 2950(24.4)X 1587 4160(2)N 2008(31.3)X 2549(2)X 2950(45.9)X 1587 4304(4)N 2008(63.1)X 2549(4)X 2950(92.2)X 1529 4448(N/A)N 2045(---)X 10 f 2348 4464(c)N 4448(c)Y 4352(c)Y 4256(c)Y 4160(c)Y 4064(c)Y 3968(c)Y 3872(c)Y 3776(c)Y 3680(c)Y 3584(c)Y 1 f 2549 4448(7)N 2902(161.9)X 10 f 1410 4496(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1458 4640(6)N 1530(\(530's\))X 1831(+)X 1909(4)X 1981(\(320's\))X 2902(206.5)X 10 f 1410 4688(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1458 4832(7)N 1530(\(530's\))X 1831(+)X 1909(4)X 1981(\(320's\))X 2902(226.0)X 10 f 1410 4880(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1458 5024(1)N 1530(\(550\))X 1762(+)X 1840(8)X 1912(\(530's\))X 2213(+)X 2291(4)X 2363(\(320's\))X 2902(261.0)X 10 f 1410 5072(i)N 1421(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1410(c)X 5024(c)Y 4928(c)Y 4832(c)Y 4736(c)Y 4640(c)Y 4544(c)Y 4448(c)Y 4352(c)Y 4256(c)Y 4160(c)Y 4064(c)Y 3968(c)Y 3872(c)Y 3776(c)Y 3680(c)Y 3584(c)Y 3197 5072(c)N 5024(c)Y 4928(c)Y 4832(c)Y 4736(c)Y 4640(c)Y 4544(c)Y 4448(c)Y 4352(c)Y 4256(c)Y 4160(c)Y 4064(c)Y 3968(c)Y 3872(c)Y 3776(c)Y 3680(c)Y 3584(c)Y 1 f 1324 5264(Table)N 1568(2)X 1640(:)X 1691(Performance)X 2207(of)X 2311(electronic)X 2716(structure)X 3077(code)X 1521 5408(on)N 1641(various)X 1948(IBM)X 2153(RS/6000)X 2513(con\256gurations.)X 776 5608(The)N 966(results)X 1257(of)X 1377(the)X 1535(molecular)X 1961(dynamics)X 2370(application)X 2839(for)X 2991(a)X 3074(range)X 3328(of)X 3448(processors)X 3893(and)X 576 5752(problem)N 921(sizes)X 1132(are)X 1274(given)X 1512(in)X 1611(Table)X 1856(6.)X 1977(The)X 2152(table)X 2365(compares)X 2759(the)X 2902(execution)X 3302(times)X 3536(of)X 3 f 9 s 3635(PVM)X 1 f 12 s 3824(using)X 576 5896(a)N 665(network)X 1026(of)X 1151(RS/6000)X 1532(workstations)X 2068(and)X 2252(the)X 2415(iPSC/860)X 2828(hypercube.)X 3298(Again)X 3578(for)X 3735(a)X 3823(small)X 19 p %%Page: 19 19 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(19)X 2376(-)X 10 f 1424 648(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1675 760(Molecular)N 2095(Dynamics)X 2509(Simulation)X 10 f 1424 776(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1570 888(pvm)N 2310(Problem)X 2660(size)X 1552 1000(procs)N 1984(5x5x5)X 2368(8x8x8)X 2752(12x12x12)X 10 f 1424 1016(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1632 1128(1)N 2056(23)X 2416(146)X 2848(1030)X 1632 1240(2)N 2056(15)X 2464(91)X 2896(622)X 1632 1352(4)N 2056(12)X 2464(62)X 2896(340)X 1632 1464(8)N 2104(6)X 10 f 2296 1472(c)N 1384(c)Y 1288(c)Y 1192(c)Y 1096(c)Y 1000(c)Y 1 f 2464 1464(34)N 10 f 2680 1472(c)N 1384(c)Y 1288(c)Y 1192(c)Y 1096(c)Y 1000(c)Y 1 f 2896 1464(184)N 10 f 1424 1472(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1424 1488(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1472 1592(iPSC/860)N 1552 1704(procs)N 10 f 1424 1720(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1632 1832(1)N 2056(42)X 2416(202)X 2896(992)X 1632 1944(2)N 2056(22)X 2416(102)X 2896(500)X 1632 2056(4)N 2056(11)X 2464(52)X 2896(252)X 1632 2168(8)N 2104(6)X 2464(27)X 2896(129)X 10 f 1424 2184(i)N 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1424(c)X 2088(c)Y 1992(c)Y 1896(c)Y 1800(c)Y 1704(c)Y 1608(c)Y 1512(c)Y 1416(c)Y 1320(c)Y 1224(c)Y 1128(c)Y 1032(c)Y 936(c)Y 840(c)Y 744(c)Y 1912 2184(c)N 2120(c)Y 2024(c)Y 1928(c)Y 1832(c)Y 1736(c)Y 1640(c)Y 1544(c)Y 1448(c)Y 1352(c)Y 1256(c)Y 1160(c)Y 1064(c)Y 968(c)Y 872(c)Y 2296 2184(c)N 2104(c)Y 2008(c)Y 1912(c)Y 1816(c)Y 2680 2184(c)N 2104(c)Y 2008(c)Y 1912(c)Y 1816(c)Y 3184 2184(c)N 2088(c)Y 1992(c)Y 1896(c)Y 1800(c)Y 1704(c)Y 1608(c)Y 1512(c)Y 1416(c)Y 1320(c)Y 1224(c)Y 1128(c)Y 1032(c)Y 936(c)Y 840(c)Y 744(c)Y 1 f 786 2344(Table)N 1030(6:)X 1129(Comparing)X 1586(execution)X 1985(time)X 2181(\(secs\))X 2429(for)X 2565(molecular)X 2975(dynamics)X 3368(application.)X 576 2600(number)N 895(of)X 1000(processors,)X 3 f 9 s 1448(PVM)X 1 f 12 s 1637(over)X 1833(a)X 1901(1.2)X 2046(MB/sec)X 2371(Ethernet)X 2724(is)X 2814(quite)X 3033(competitive)X 3515(with)X 3712(a)X 3781(hyper-)X 576 2744(cube)N 786(with)X 985(dedicated)X 1383(2.8)X 1531(MB/sec)X 1858(channels.)X 2247(Load)X 2473(imbalances)X 2935(became)X 3258(worse)X 3515(on)X 3 f 9 s 3633(PVM)X 1 f 12 s 3824(when)X 576 2888(eight)N 804(processors)X 1244(were)X 1466(used)X 1677(because)X 2017(the)X 2170(workstations)X 2696(had)X 2870(different)X 3238(computational)X 3826(rates.)X 576 3032(With)N 804(an)X 930(even)X 1147(more)X 1380(heterogeneous)X 1971(mixture)X 2306(of)X 2421(machines,)X 2844(the)X 2997(load)X 3198(imbalances)X 3667(would)X 3941(be)X 576 3176(expected)N 957(to)X 1070(get)X 1226(much)X 1478(worse)X 1745(given)X 1997(this)X 2174(application's)X 2710(method)X 3037(of)X 3155 0.2542(parallelization.)AX 3770(\(These)X 576 3320(load)N 769(imbalances)X 1229(are)X 1373(not)X 1522(seen)X 1719(in)X 1820(the)X 1964(electronic)X 2371(structure)X 2734(application)X 3189(because)X 3520(its)X 3637(method)X 3952(of)X 576 3464 0.2723(parallelization)AN 1153(employs)X 1503(a)X 1570(dynamic)X 1926(load)X 2116(balancing)X 2515(scheme.\))X 776 3636(Overall)N 1097(the)X 1247(performance)X 1766(of)X 1878(these)X 2108(two)X 2284(applications)X 2782(show)X 3016(the)X 3166(viability)X 3520(of)X 3633(using)X 3 f 9 s 3868(PVM)X 1 f 12 s 576 3780(to)N 700(achieve)X 1044(supercomputer)X 1664(performance)X 2199(with)X 2418(existing)X 2771(hardware.)X 3225(Even)X 3471(higher)X 3765(perfor-)X 576 3924(mance)N 852(is)X 940(expected)X 1307(as)X 1411(faster)X 1649(networks)X 2025(become)X 2349(available.)X 3 f 576 4500(References)N 1 f 576 4672([1])N 776(A.)X 918(Lenstra,)X 1280(M.)X 1438(Manasse,)X 1847("The)X 2085(Number)X 2449(Field)X 2696(Sieve",)X 2 f 3022(Proc.)X 3282(Symposium)X 3768(on)X 3914(the)X 776 4816(Theory)N 1072(of)X 1171(Computing)X 1 f 1598(,)X 1646(Baltimore,)X 2104(May)X 2304(1990.)X 576 4988([2])N 776(G.)X 902(Popek,)X 1199(B.)X 1320(Walker,)X 1662("The)X 1885(LOCUS)X 2233(Distributed)X 2700(System)X 3017(Architecture",)X 2 f 3596(MIT)X 3795(Press)X 1 f 4008(,)X 776 5132(Cambridge,)N 1252(1985.)X 576 5304([3])N 776(D.)X 904(Cheriton,)X 1301("The)X 1526(V)X 1631(Distributed)X 2100(System",)X 2 f 2482(Comm.)X 2792(ACM)X 1 f 2995(,)X 3055(Vol.)X 3259(31,)X 3415(No.)X 3592(3,)X 3700(pp.)X 3856(314-)X 776 5448(333,)N 968(March)X 1243(1988.)X 576 5620([4])N 776(M.)X 911(Sullivan,)X 1282(D.)X 1402(Anderson,)X 1826("Marionette:)X 2342(A)X 2438(System)X 2748(for)X 2887(Parallel)X 3209(Distributed)X 3669(Program-)X 776 5764(ming)N 1037(Using)X 1329(the)X 1510(Master/Slave)X 2081(Model",)X 2 f 2458(Proc.)X 2732(9th)X 2918(Intl.)X 3139(Conf.)X 3436(on)X 3594(Distributed)X 20 p %%Page: 20 20 12 s 12 xH 0 xS 2 f 1 f 2200 432(-)N 2256(20)X 2376(-)X 2 f 776 720(Computing)N 1227(Systems)X 1 f (,)S 1579(pp.)X 1723(181-188,)X 2091(June)X 2291(1989.)X 576 892([5])N 776(T.J.)X 948(Gardner,)X 1315(et.al.,)X 1555("DPUP:)X 1893(A)X 1990(Distributed)X 2451(Processing)X 2895(Utilities)X 3235(Package",)X 2 f 3648(Computer)X 776 1036(Science)N 1095(technical)X 1473(report)X 1737(-)X 1793(University)X 2218(of)X 2317(Colorado)X 1 f 2685(,)X 2733(1986.)X 576 1208([6])N 776(R.)X 888(Pike,)X 1107(et.)X 1225(al.,)X 1367("Plan)X 1601(9)X 1673(from)X 1884(Bell)X 2069(Labs",)X 2 f 2343(Research)X 2725(Note)X 1 f 2907(,)X 2955(July)X 3139(1990.)X 576 1380([7])N 776(C.)X 903(Seitz,)X 1160(et.)X 1294(al.,)X 1452("The)X 1681(C)X 1785(Programmers)X 2343(Abbreviated)X 2859(Guide)X 3134(to)X 3249(Multicomputer)X 3867(Pro-)X 776 1524(gramming",)N 2 f 1259(Caltech)X 1583(Computer)X 1991(Science)X 2310(Report)X 2596(CS-TR-88-1)X 1 f 3060(,)X 3108(January)X 3431(1988.)X 576 1696([8])N 776(R.)X 888(Finkel,)X 1182(U.)X 1300(Manber,)X 1648("DIB)X 1877(-)X 1934(A)X 2028(Distributed)X 2486 0.2356(Implementation)AX 3122(of)X 3227(Backtracking",)X 2 f 3829(ACM)X 776 1840(Transactions)N 1306(on)X 1431(Programming)X 1998(Languages)X 2447(and)X 2619(Systems)X 1 f (,)S 2975(Vol.)X 3171(9,)X 3271(No.)X 3440(2,)X 3540(pp.)X 3688(235-256,)X 776 1984(April)N 1003(1987.)X 576 2156([9])N 776(J.)X 886(Dongarra,)X 1322(D.)X 1464(Sorenson,)X 1895("SCHEDULE:)X 2512(Tools)X 2781(for)X 2943(Developing)X 3442(and)X 3631(Analyzing)X 776 2300(Parallel)N 1118(Fortran)X 1448(Programs",)X 1926(in)X 2 f 2047(The)X 2237(Characteristics)X 2876(of)X 2997(Parallel)X 3359(Algorithms)X 1 f 3786(,)X 3856(MIT)X 776 2444(Press,)N 1026(Cambridge,)X 1502(1988.)X 576 2616([10])N 776(G.)X 896(Fox,)X 1096("Parallelism)X 1596(Comes)X 1890(of)X 1997(Age:)X 2211(Supercomputer)X 2826(Level)X 3073(Parallel)X 3395(Computations)X 3962(at)X 776 2760(Caltech",)N 2 f 1176(Concurrency:)X 1752(Practice)X 2121(&)X 2238(Experience)X 1 f 2672(,)X 2738(Vol.)X 2948(1,)X 3062(No.)X 3245(1,)X 3358(pp.)X 3519(63-104,)X 3856(Sep-)X 776 2904(tember)N 1068(1989.)X 576 3076([11])N 776(J.)X 868(Postel,)X 1158("User)X 1409(Datagram)X 1820(Protocol",)X 2 f 2241(Internet)X 2578(request)X 2893(for)X 3037(Comments)X 3474(RFC793)X 1 f 3800(,)X 3856(Sep-)X 776 3220(tember)N 1068(1981.)X 576 3392([12])N 776(V.)X 898(Sunderam,)X 1341("A)X 1479(Fast)X 1669(Transaction)X 2154(Oriented)X 2521(protocol)X 2872(for)X 3014(Distributed)X 3477(Applications",)X 2 f 776 3536(Proc.)N 1011(Winter)X 1297(Usenix)X 1588(Conference)X 1 f 2032(,)X 2080(pp.)X 2224(79-87,)X 2496(February)X 2867(1988.)X 576 3708([13])N 776(K.)X 893(Rader,)X 1171("IMCS)X 1468(Programmers)X 2010(Guide)X 2269(-)X 2325(Draft",)X 2 f 2615(IBM)X 2810(Corporation)X 1 f 3290(,)X 3338(June)X 3538(1990.)X 576 3880([14])N 776(G.)X 901(Geist,)X 1160(M.)X 1301(T.)X 1416(Heath,)X 1702(B.)X 1822(W.)X 1969(Peyton,)X 2292(and)X 2463(P.)X 2573(H.)X 2699(Worley,)X 3045("A)X 3186(Machine)X 3556(Independent)X 776 4024(Communications)N 1474(Library",)X 2 f 1866(Proc.)X 2117(of)X 2232(the)X 2390(Fourth)X 2697(Conference)X 3181(on)X 3317(Hypercubes,)X 3840(Con-)X 776 4168(current)N 1093(Computers,)X 1573(and)X 1752(Applications.)X 1 f 2263(ed.)X 2413(J.L.)X 2592(Gustafson,)X 3040(Golden)X 3358(Gate)X 3575(Enterprises,)X 776 4312(Los)N 944(Altos,)X 1200(CA,)X 1381(pp.)X 1525(565-568,)X 1893(1989.)X 576 4484([15])N 776(M.)X 929(Heath,)X 1227("Visual)X 1561(Animation)X 2017(of)X 2142(Parallel)X 2482(Algorithms)X 2965(for)X 3122(Matrix)X 3429(Computations",)X 2 f 776 4628(Proc.)N 1035(Fifth)X 1271(Distributed)X 1757(Memory)X 2125(Computing)X 2600(Conference)X 1 f 3044(,)X 3116(ed.)X 3279(D.)X 3420(Walker)X 3752(and)X 3939(Q.)X 776 4772(Stout,)N 1027(IEEE)X 1260(Computer)X 1669(Society)X 1982(Press,)X 2232(pp.)X 2376(1213-1222,)X 2840(April)X 3067(1990.)X 576 4944([16])N 776(G.)X 894(Geist,)X 1146(et.)X 1265(al.,)X 1408("A)X 1541(User's)X 1816(Guide)X 2076(to)X 2176(PICL:)X 2436(A)X 2530(Portable)X 2877(Instrumented)X 3411(Communication)X 776 5088(Library",)N 2 f 1152(Oak)X 1336(Ridge)X 1585(National)X 1946(Laboratory)X 2407(TM-11616)X 1 f 2812(,)X 2860(September)X 3296(1990.)X 576 5260([17])N 776(A.)X 903(Spector,)X 1255(et.)X 1383(al.,)X 1535(""Camelot:)X 2001(A)X 2104(Flexible)X 2454(Distributed)X 2921(Transaction)X 3411(Processing)X 3862(Sys-)X 776 5404(tem",)N 2 f 1021(Proc.)X 1269(Spring)X 1562(Compcon)X 1967(88)X 2100(-)X 2169(33rd)X 2387(IEEE)X 2632(CS)X 2780(Intl.)X 2974(Conf.)X 1 f 3185(,)X 3245(pp.)X 3401(432-437,)X 3781(March)X 776 5548(1988.)N 576 5720([18])N 776(Sun)X 949(Microsystems,)X 1536("XDR:)X 1828(External)X 2179(Data)X 2386(Representation)X 2989(Standard",)X 2 f 3419(Internet)X 3749(request)X 776 5864(for)N 912(Comments)X 1341(RFC1057)X 1 f 1715(,)X 1763(June)X 1963(1988.)X 21 p %%Page: 21 21 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(21)X 2376(-)X 576 720([19])N 776(D.)X 895(L.)X 1004(Mills,)X 1257("Network)X 1658(Time)X 1888(Protocal)X 2235(\(version)X 2576(2\))X 2683(speci\256cation)X 3197(and)X 3363 0.2083(implementation",)AX 2 f 776 864(DARPA)N 1105(Network)X 1455(Working)X 1810(Group)X 2084(Report)X 2370(RFC-1119)X 1 f 2776(,)X 2824(September)X 3260(1990.)X 576 1036([20])N 776(V.)X 947(Sunderam,)X 1439("PVM:)X 1790(A)X 1937(Framework)X 2459(for)X 2650(Parallel)X 3024(Distributed)X 3536(Computing",)X 776 1180 0.1743(Concurrency:Practice)AN 1635(&)X 1734(Experience)X 2192(Vol.)X 2384(2)X 2456(No.)X 2621(4,)X 2717(Dec.)X 2920(1990.)X 576 1352([21])N 776(M.)X 910(Arango,)X 1247(D.)X 1365(Berndt,)X 1676(N.)X 1794(Carriero,)X 2165(D.)X 2284(Galernter,)X 2698(and)X 2863(D.)X 2982(Gilmore,)X 3353("Adventures)X 3861(with)X 776 1496(Network)N 1136(Linda",)X 1448(Supercomputing)X 2108(Review,)X 2450(Vol.)X 2642(3)X 2714(No.)X 2879(10,)X 3023(Oct.)X 3210(1990.)X 576 1668([22])N 776(K.)X 900(Birman)X 1220(and)X 1390(K.)X 1514(Marzullo,)X 1922("ISIS)X 2163(and)X 2334(the)X 2484(META)X 2788(project",)X 3151(Sun)X 3332(Technology)X 3824(Sum-)X 776 1812(mer)N 950(1989,)X 1190(pp.)X 1334(90-104.)X 576 1984([23])N 776(G.)X 907(A.)X 1038(Geist,)X 1303(B.)X 1429(W.)X 1582(Peyton,)X 1912(W.)X 2066(A.)X 2198(Shelton,)X 2555(and)X 2733(G.)X 2865(M.)X 3013(Stocks.)X 3356("Modeling)X 3808(High-)X 776 2128(temperature)N 1282(Superconductors)X 1973(and)X 2157(Metallic)X 2523(Alloys)X 2823(on)X 2963(the)X 3125(Intel)X 3346(iPSC/860",)X 2 f 3821(Proc.)X 776 2272(Fifth)N 1010(Distributed)X 1494(Memory)X 1860(Computing)X 2333(Conference)X 1 f 2777(,)X 2847(ed.)X 3008(D.)X 3148(Walker)X 3479(and)X 3665(Q.)X 3805(Stout,)X 776 2416(IEEE)N 1009(Computer)X 1418(Society)X 1731(Press,)X 1981(pp.)X 2125(504-512,)X 2493(April)X 2720(1990.)X 22 p %%Page: 22 22 12 s 12 xH 0 xS 1 f 2200 432(-)N 2256(22)X 2376(-)X 1779 720(Table)N 2023(1:)X 3 f 9 s 2122(PVM)X 1 f 12 s 2310(user)X 2494(routines.)X 10 s 10 f 969 928(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 1024(void)N 1171 0.3295(barrier\(char)AX 1572(*barrier_name,)X 2081(int)X 2185(num\))X 1129 1120(blocks)N 1358(caller)X 1557(until)X 1723(num)X 1885(calls)X 2052(with)X 2214(same)X 2399(barrier)X 2634(name)X 2828(made.)X 10 f 969 1136(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 1232(void)N 1171(bcast\(char)X 1522(*component_name,)X 2172(int)X 2276(msgtype\))X 1129 1328(broadcasts)N 1488(message)X 1780(to)X 1862(all)X 1962(instances)X 2276(of)X 2363(component)X 2739(name.)X 10 f 969 1344(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 1440(int)N 1113(enroll\(char)X 1486(*component_name\))X 1129 1536(enrolls)N 1367(process)X 1628(in)X 1710(PVM)X 1903(and)X 2039(returns)X 2282(instance)X 2565(number.)X 10 f 969 1552(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 1648(void)N 1171(get[type]\([type])X 1700(*x\))X 1129 1744(extracts)N 1399(value)X 1593(of)X 1680(datatype)X 1972([type])X 2184(from)X 2360(received)X 2653(message)X 2945(and)X 3081(assigns)X 3332(it)X 3396(to)X 3478(x,)X 1129 1840(eg.)N 1245(get\257oat\()X 1532(x)X 1592(\).)X 1679([type])X 1891(must)X 2066(be)X 2162(int,)X 2286(\257oat,)X 2468(d\257oat,)X 2690(cplx,)X 2868(dcplx,)X 3086(string,)X 3308(or)X 3395(bytes.)X 10 f 969 1856(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 1952(int)N 1113(initiate\(char)X 1521(*object_\256le\))X 1129 2048(initiates)N 1402(a)X 1458(new)X 1612(process)X 1873(and)X 2009(returns)X 2252(instance)X 2535(number.)X 10 f 969 2064(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 2160(int)N 1113(initiateM\(char)X 1592(*object_\256le,)X 2010(char)X 2169(*arch)X 2368([,)X 2435(char)X 2594(*machine]\))X 1129 2256(initiate)N 1371(a)X 1427(process)X 1688(on)X 1788(the)X 1906(speci\256ed)X 2211(architecture)X 2611([machine].)X 10 f 969 2272(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 2368(void)N 1171(initsend\(int)X 1555(size\))X 1129 2464(initializes)N 1460(send)X 1627(buffer)X 1844(of)X 1931(speci\256ed)X 2236(length.)X 10 f 969 2480(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 2576(void)N 1171(leave\(char)X 1527(*component_name,)X 2177(int)X 2281(instance\))X 1129 2672(process)N 1390(exiting)X 1632(PVM.)X 10 f 969 2688(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 2784(int)N 1113(probe\(int)X 1427(msgtype\))X 1129 2880(probe)N 1332(for)X 1446(message)X 1738(arrival)X 1968(of)X 2055(speci\256ed)X 2360(type)X 2518(or)X 2605('any')X 2795(if)X 2864(msgtype=-1.)X 1129 2976(Returns)N 1398(message)X 1690(type)X 1848(or)X 1935(-1)X 2022(\(not)X 2171(arrived\).)X 10 f 969 2992(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 3088(int)N 1113(probemulti\(int)X 1595(num,)X 1777(int)X 1881(*msgtypes\))X 1129 3184(same)N 1314(as)X 1401(probe,)X 1624(but)X 1746(permits)X 2006(specifying)X 2360(an)X 2456(array)X 2642(of)X 2729(num)X 2891(message)X 3183(types.)X 10 f 969 3200(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 3296(void)N 1171(put[type]\([type])X 1704(x\))X 1129 3392(inserts)N 1358(x)X 1418(into)X 1562(send)X 1729(buffer)X 1946(in)X 2028(machine)X 2320(independent)X 2732(form.)X 1129 3488([type])N 1341(must)X 1516(be)X 1612(int,)X 1736(\257oat,)X 1918(d\257oat,)X 2140(cplx,)X 2318(dcplx,)X 2536(string,)X 2758(or)X 2845(bytes.)X 10 f 969 3504(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 3600(void)N 1171 0.3472(ready\(char)AX 1536(*event_name\))X 1129 3696(sends)N 1327(signal)X 1538(with)X 1700(speci\256ed)X 2005(\(abstract\))X 2329(name.)X 10 f 969 3712(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 3808(int)N 1113(rcv\(int)X 1347(msgtype\))X 1129 3904(receives)N 1413(a)X 1469(message)X 1761(of)X 1848(speci\256ed)X 2153(type)X 2311(or)X 2398('any')X 2588(if)X 2657(msgtype=-1)X 3060(\(Blocking\).)X 1129 4000(Returns)N 1398(actual)X 1610(message)X 1902(type.)X 10 f 969 4016(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 4112(int)N 1113(rcvmulti\(int)X 1515(num,)X 1697(int)X 1801(*msgtypes\))X 1129 4208(same)N 1314(as)X 1401(rcv,)X 1544(but)X 1666(permits)X 1926(specifying)X 2280(an)X 2376(array)X 2562(of)X 2649(num)X 2811(message)X 3103(types.)X 10 f 969 4224(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 4320(int)N 1113(rcvolim\(int)X 1493(msgtype,)X 1804(int)X 1908(num\))X 1129 4416(same)N 1314(as)X 1401(rcv,)X 1544(but)X 1666(limits)X 1867(the)X 1985(number)X 2250(of)X 2337(other)X 2522(messages)X 2845(that)X 2985(may)X 1129 4512(arrive)N 1337(in)X 1419(the)X 1537(interim.)X 10 f 969 4528(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 4624(int)N 1113(rcvtlim\(int)X 1475(msgtype,)X 1786(int)X 1890(seconds\))X 1129 4720(same)N 1314(as)X 1401(rcv,)X 1544(but)X 1666(blocking)X 1966(limited)X 2212(to)X 2294(seconds.)X 10 f 969 4736(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 4832(void)N 1171(rcvinfo\(int)X 1534(*bytes,)X 1783(int)X 1887(*msgtype,)X 2238(char)X 2397(*component,)X 2833(int)X 2937(*instance\))X 1129 4928(returns)N 1372(the)X 1490(length,)X 1730(type,)X 1908(and)X 2044(sender)X 2274(of)X 2361(last)X 2492(received)X 2785(message.)X 10 f 969 4944(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1009 5040(void)N 1171(snd\(char)X 1468(*component,)X 1904(int)X 2008(instance,)X 2311(int)X 2415(msgtype\))X 1129 5136(sends)N 1327(message)X 1619(in)X 1701(send)X 1868(buffer)X 2085(to)X 2167(the)X 2285(speci\256ed)X 2590(instance)X 2873(of)X 2960(component.)X 10 f 969 5152(i)N 999(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 969(c)X 5088(c)Y 5008(c)Y 4928(c)Y 4848(c)Y 4768(c)Y 4688(c)Y 4608(c)Y 4528(c)Y 4448(c)Y 4368(c)Y 4288(c)Y 4208(c)Y 4128(c)Y 4048(c)Y 3968(c)Y 3888(c)Y 3808(c)Y 3728(c)Y 3648(c)Y 3568(c)Y 3488(c)Y 3408(c)Y 3328(c)Y 3248(c)Y 3168(c)Y 3088(c)Y 3008(c)Y 2928(c)Y 2848(c)Y 2768(c)Y 2688(c)Y 2608(c)Y 2528(c)Y 2448(c)Y 2368(c)Y 2288(c)Y 2208(c)Y 2128(c)Y 2048(c)Y 1968(c)Y 1888(c)Y 1808(c)Y 1728(c)Y 1648(c)Y 1568(c)Y 1488(c)Y 1408(c)Y 1328(c)Y 1248(c)Y 1168(c)Y 1088(c)Y 1008(c)Y 3639 5152(c)N 5088(c)Y 5008(c)Y 4928(c)Y 4848(c)Y 4768(c)Y 4688(c)Y 4608(c)Y 4528(c)Y 4448(c)Y 4368(c)Y 4288(c)Y 4208(c)Y 4128(c)Y 4048(c)Y 3968(c)Y 3888(c)Y 3808(c)Y 3728(c)Y 3648(c)Y 3568(c)Y 3488(c)Y 3408(c)Y 3328(c)Y 3248(c)Y 3168(c)Y 3088(c)Y 3008(c)Y 2928(c)Y 2848(c)Y 2768(c)Y 2688(c)Y 2608(c)Y 2528(c)Y 2448(c)Y 2368(c)Y 2288(c)Y 2208(c)Y 2128(c)Y 2048(c)Y 1968(c)Y 1888(c)Y 1808(c)Y 1728(c)Y 1648(c)Y 1568(c)Y 1488(c)Y 1408(c)Y 1328(c)Y 1248(c)Y 1168(c)Y 1088(c)Y 1008(c)Y 23 p %%Page: 23 23 10 s 10 xH 0 xS 10 f 1 f 12 s 2200 384(-)N 2256(23)X 2376(-)X 10 s 10 f 817 592(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 688(void)N 1019(shmat_[type]\(char)X 1628(*key,)X 1824([type])X 2036(*ptr\))X 1039 784(attaches)N 1318(shared)X 1548(memory)X 1835(segment)X 2122(with)X 2284(name)X 2478(key)X 2614(to)X 2696(local)X 2872(address)X 3133(space)X 1039 880(at)N 1117(ptr)X 1226(for)X 1340(size)X 1485(units)X 1660(in)X 1742(typed)X 1940(form.)X 10 f 817 896(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 992(void)N 1019(shmdt_[type]\(char)X 1632(*key,)X 1828([type])X 2040(*ptr\))X 1039 1088(detaches)N 1336(shared)X 1566(memory)X 1853(segment)X 2140(with)X 2302(name)X 2496(key)X 2632(from)X 2808(local)X 2984(address)X 3245(space.)X 10 f 817 1104(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 1200(void)N 1019(shmget\(char)X 1436(*key,)X 1632(int)X 1736(bytes,)X 1945(char)X 2104(*\257ag\))X 1039 1296(creates)N 1283(shared)X 1513(memory)X 1800(segment)X 2087(with)X 2249(name)X 2443(key)X 2579(of)X 2666(size)X 2811(bytes.)X 3040(Flag)X 3202(=)X 3267(\(RO)X 3425(or)X 3512(RW\).)X 10 f 817 1312(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 1408(int)N 961(status\(char)X 1329(*component,)X 1765(int)X 1869(instance\))X 1039 1504(returns)N 1282(1)X 1342(if)X 1411(speci\256ed)X 1716(component)X 2092(is)X 2165(active,)X 2397(0)X 2457(otherwise.)X 10 f 817 1520(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 1616(void)N 1019(terminate\(char)X 1508(*component,)X 1944(int)X 2048(instance\))X 1039 1712(terminates)N 1393(a)X 1449(speci\256ed)X 1754(component.)X 10 f 817 1728(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 1824(int)N 961(uinitiate\(int)X 1354(argc,)X 1533(int)X 1637(*argv\))X 1039 1920(same)N 1224(as)X 1311(initiate,)X 1573(but)X 1695(argv)X 1858(contains)X 2145(object)X 2361(name,)X 2575(arch)X 2734(type,)X 1039 2016(machine)N 1331(name,)X 1545(and)X 1681(command)X 2017(line)X 2157(arguments.)X 10 f 817 2032(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 2128(int)N 961(vinitiate\(char)X 1409(*object_\256le,)X 1827(char)X 1986(*stdin,)X 2221(char)X 2380(*stdout,)X 2655(char)X 2814(*arglist\))X 1039 2224(same)N 1224(as)X 1311(initiate,)X 1573(but)X 1695(permits)X 1955(I/O)X 2082(redirection.)X 10 f 817 2240(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 2336(int)N 961(vinitiateM\(char)X 1480(*object_\256le,)X 1898(char)X 2057(*machine,)X 2409(char)X 2568(*stdin,)X 2803(char)X 2962(*stdout,)X 3237(char)X 3396(*arglist)X 3656(\))X 1039 2432(same)N 1224(as)X 1311(vinitiate,)X 1613(but)X 1735(speci\256es)X 2031(a)X 2087(speci\256c)X 2352(machine.)X 10 f 817 2448(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 2544(void)N 1019(waituntil\(char)X 1489(*event_name\))X 1039 2640(suspends)N 1348(caller)X 1547(until)X 1713(speci\256ed)X 2018(signal)X 2229(name)X 2423(occurs.)X 10 f 817 2656(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 857 2752(void)N 1019(whoami\(char)X 1463(*component,)X 1899(int)X 2003(*instance\))X 1039 2848(returns)N 1282(component)X 1658(name)X 1852(and)X 1988(instance)X 2271(number)X 2536(of)X 2623(caller.)X 10 f 817 2864(i)N 830(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 817(c)X 2832(c)Y 2752(c)Y 2672(c)Y 2592(c)Y 2512(c)Y 2432(c)Y 2352(c)Y 2272(c)Y 2192(c)Y 2112(c)Y 2032(c)Y 1952(c)Y 1872(c)Y 1792(c)Y 1712(c)Y 1632(c)Y 1552(c)Y 1472(c)Y 1392(c)Y 1312(c)Y 1232(c)Y 1152(c)Y 1072(c)Y 992(c)Y 912(c)Y 832(c)Y 752(c)Y 672(c)Y 3790 2864(c)N 2832(c)Y 2752(c)Y 2672(c)Y 2592(c)Y 2512(c)Y 2432(c)Y 2352(c)Y 2272(c)Y 2192(c)Y 2112(c)Y 2032(c)Y 1952(c)Y 1872(c)Y 1792(c)Y 1712(c)Y 1632(c)Y 1552(c)Y 1472(c)Y 1392(c)Y 1312(c)Y 1232(c)Y 1152(c)Y 1072(c)Y 992(c)Y 912(c)Y 832(c)Y 752(c)Y 672(c)Y 24 p %%Page: 24 24 10 s 10 xH 0 xS 10 f 1 f 12 s 2200 384(-)N 2256(24)X 2376(-)X 1414 720(Table)N 1658(3:)X 1757(Routines)X 2123(in)X 2222(Fortran-to-)X 3 f 9 s 2644(PVM)X 1 f 12 s 2832(interface.)X 10 s 10 f 1233 940(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1044(fbarrier\()N 1562(barrier_name,)X 2031(n)X 2091(\))X 10 f 1233 1068(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1172(fbcast\()N 1512(component_name,)X 2122(msg_id)X 2377(\))X 10 f 1233 1196(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1300(fenroll\()N 1534(component_name,)X 2144(instance_number)X 2712(\))X 10 f 1233 1324(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1428(fgetcplx\()N 1583(variable)X 1862(\))X 10 f 1233 1452(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1556(fgetdcplx\()N 1623(variable)X 1902(\))X 10 f 1233 1580(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1684(fgetd\257oat\()N 1627(variable)X 1906(\))X 10 f 1233 1708(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1812(fget\257oat\()N 1587(variable)X 1866(\))X 10 f 1233 1836(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 1940(fgetint\()N 1529(ivariable)X 1830(\))X 10 f 1233 1964(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2068(fgetstring\()N 1627(string)X 1829(\))X 10 f 1233 2092(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2196(fgetstringl\()N 1649(string,)X 1871(length)X 2091(\))X 10 f 1233 2220(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2324(\256nitiate\()N 1564(component_name,)X 2174(machine,)X 2486(instance_number)X 3054(\))X 10 f 1233 2348(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2452(\256nitsend\()N 1595(length)X 1815(\))X 10 f 1233 2476(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2580(\257eave\()N 1512(component_name,)X 2122(instance_number)X 2690(\))X 10 f 1233 2604(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2708(fpstatus\()N 1569(component_name,)X 2179(instance_number,)X 2767(istatus)X 2991(\))X 10 f 1233 2732(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2836(fputcplx\()N 1587(variable)X 1866(\))X 10 f 1233 2860(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 2964(fputdcplx\()N 1627(variable)X 1906(\))X 10 f 1233 2988(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3092(fputd\257oat\()N 1631(variable)X 1910(\))X 10 f 1233 3116(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3220(fput\257oat\()N 1591(variable)X 1870(\))X 10 f 1233 3244(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3348(fputint\()N 1533(ivariable)X 1834(\))X 10 f 1233 3372(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3476(fputstring\()N 1631(string)X 1833(\))X 10 f 1233 3500(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3604(fputstringl\()N 1653(string,)X 1875(length)X 2095(\))X 10 f 1233 3628(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3732(fready\()N 1526(event_name)X 1934(\))X 10 f 1233 3756(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3860(frecv\()N 1486(msg_id)X 1741(\))X 10 f 1233 3884(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 3988(frecv1\()N 1526(msg_id,)X 1801(other_ids)X 2119(\))X 10 f 1233 4012(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4116(frecvinfo\()N 1615(length,)X 1855(msg_id,)X 2130(component_name,)X 2740(instance_number)X 3308(\))X 10 f 1233 4140(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4244(fsend\()N 1494(component_name,)X 2104(instance_number,)X 2692(msg_id)X 2947(\))X 10 f 1233 4268(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4372(fshmat\()N 1538(key_name,)X 1908(char_buff,)X 2261(isize)X 2428(\))X 10 f 1233 4396(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4500(fshmat\257oat\()N 1680(key_name,)X 2050(real_buff,)X 2385(isize)X 2552(\))X 10 f 1233 4524(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4628(fshmatint\()N 1622(key_name,)X 1992(int_buff,)X 2290(isize)X 2457(\))X 10 f 1233 4652(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4756(fshmdt\()N 1542(key_name,)X 1912(char_buff)X 2245(\))X 10 f 1233 4780(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 4884(fshmdt\257oat\()N 1684(key_name,)X 2054(real_buff)X 2369(\))X 10 f 1233 4908(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 5012(fshmdtint\()N 1626(key_name,)X 1996(int_buff)X 2274(\))X 10 f 1233 5036(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 5140(fshmfree\()N 1606(key_name)X 1956(\))X 10 f 1233 5164(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 5268(fshmget\()N 1578(key_name,)X 1948(isize,)X 2135(\257ags)X 2306(\))X 10 f 1233 5292(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 5396(fterminate\()N 1650(process_name,)X 2145(instance_number)X 2713(\))X 10 f 1233 5420(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1 f 1273 5524(fwaituntil\()N 1631(event_name)X 2039(\))X 10 f 1233 5548(i)N 1255(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X 1233(c)X 5500(c)Y 5420(c)Y 5340(c)Y 5260(c)Y 5180(c)Y 5100(c)Y 5020(c)Y 4940(c)Y 4860(c)Y 4780(c)Y 4700(c)Y 4620(c)Y 4540(c)Y 4460(c)Y 4380(c)Y 4300(c)Y 4220(c)Y 4140(c)Y 4060(c)Y 3980(c)Y 3900(c)Y 3820(c)Y 3740(c)Y 3660(c)Y 3580(c)Y 3500(c)Y 3420(c)Y 3340(c)Y 3260(c)Y 3180(c)Y 3100(c)Y 3020(c)Y 2940(c)Y 2860(c)Y 2780(c)Y 2700(c)Y 2620(c)Y 2540(c)Y 2460(c)Y 2380(c)Y 2300(c)Y 2220(c)Y 2140(c)Y 2060(c)Y 1980(c)Y 1900(c)Y 1820(c)Y 1740(c)Y 1660(c)Y 1580(c)Y 1500(c)Y 1420(c)Y 1340(c)Y 1260(c)Y 1180(c)Y 1100(c)Y 1020(c)Y 3375 5548(c)N 5500(c)Y 5420(c)Y 5340(c)Y 5260(c)Y 5180(c)Y 5100(c)Y 5020(c)Y 4940(c)Y 4860(c)Y 4780(c)Y 4700(c)Y 4620(c)Y 4540(c)Y 4460(c)Y 4380(c)Y 4300(c)Y 4220(c)Y 4140(c)Y 4060(c)Y 3980(c)Y 3900(c)Y 3820(c)Y 3740(c)Y 3660(c)Y 3580(c)Y 3500(c)Y 3420(c)Y 3340(c)Y 3260(c)Y 3180(c)Y 3100(c)Y 3020(c)Y 2940(c)Y 2860(c)Y 2780(c)Y 2700(c)Y 2620(c)Y 2540(c)Y 2460(c)Y 2380(c)Y 2300(c)Y 2220(c)Y 2140(c)Y 2060(c)Y 1980(c)Y 1900(c)Y 1820(c)Y 1740(c)Y 1660(c)Y 1580(c)Y 1500(c)Y 1420(c)Y 1340(c)Y 1260(c)Y 1180(c)Y 1100(c)Y 1020(c)Y 25 p %%Page: 25 25 10 s 10 xH 0 xS 10 f 12 s 1 f 2200 432(-)N 2256(25)X 2376(-)X 25 p %%Trailer xt xs