%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: MTree.dvi %%CreationDate: Tue Dec 19 18:45:50 2000 %%Pages: 24 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: DVIPS.EXE MTree %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2000.12.19:1845 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet TeXDict begin 39158280 55380996 1000 600 600 (MTree.dvi) @start %DVIPSBitmapFont: Fa cmsy8 8 1 /Fa 1 1 df0 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmbx12 14.4 15 /Fb 15 116 df46 D<913803FFC0023F13FC91B6FC010315C0010F018113F0903A1FFC003FF84948 6D7E49486D7E49486D7E48496D138048496D13C0A24817E04890C813F0A34817F8A24817 FC49157FA3007F17FEA600FF17FFB3A5007F17FEA6003F17FCA26D15FFA26C17F8A36C17 F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913006D6C495AD91FFCEB3FF8903A0F FF81FFF06D90B55A01011580D9003F01FCC7FC020313C0384F7BCD43>48 D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600 7FB712FEA52F4E76CD43>II<91380FFFC091B512FC 0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D8 07FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005F A24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113 F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8 487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A13 80D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F 1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D 5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C 5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E 127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>III<121F7F7FEBFF8091B81280A45A1900606060A2606060485F0180C86CC7FC 007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A15 0F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA3 14FFA55BAC6D5BA2EC3FC06E5A395279D043>I<913807FFC0027F13FC0103B67E010F15 E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717 C04980120F18E0177FA2121F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313 009238F007FE6C02F85B9238FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D8101 0F15E06D81010115FC010781011F81491680EBFFE748018115C048D9007F14E04848011F 14F048487F48481303030014F8484880161F4848020713FC1601824848157F173FA2171F A2170FA218F8A27F007F17F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C 010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F 13C0364F7ACD43>I<91380FFF8091B512F8010314FE010F6E7E4901037F90267FF8007F 4948EB3FF048496D7E484980486F7E484980824817805A91C714C05A7013E0A218F0B5FC A318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C7F6C6D137B6C6D13F390387FF80301 1FB512E36D14C30103028313F89039007FFE03EC00401500A218F05EA3D801F816E0487E 486C16C0487E486D491380A218005E5F4C5A91C7FC6C484A5A494A5A49495B6C48495BD8 03FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F06D14C0010F49C8FC010013F0364F7A CD43>I<932601FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA80 3F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9 FC4901F8824949824949824949824949824990CA7E494883A2484983485B1B7F485B481A 3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F 6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D 6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF8020390 3AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC525479D2 61>67 D97 D108 D<903903FFF00F013FEB FE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27F A27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F15 80010F15C01300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E 17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14 E0D8F807148048C601F8C7FC2C387CB635>115 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmtt10 10 25 /Fc 25 127 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF E0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D 14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C1307 5C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B12 3F90C9FC5A127E12FE5AA25A127821417BB92C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0 EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C> 58 D77 D79 D<3801FFF0000713FE001F6D7E15E048809038C01FF81407 EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA 7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F 3A003FF007FC27247CA32C>97 DI<903803FFE0011F13F8017F13FE48B5FC488048 48C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F80 6C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA3 2C>III104 D<1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2 EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C>I<140EEC3F80A2EC7FC0A3EC3F 80A2EC0E0091C7FCA748B512804814C0A37EC7120FB3B3A2141F003C1480007E133FB414 005CEB01FEEBFFFC6C5B5C001F5B000790C7FC1A467CB32C>I<387FFFE0B57EA37EEA00 03B3B3A5007FB61280B712C0A36C158022337BB22C>108 D<3A7F83F007E09039CFFC1F F83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E0 13C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D 2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC0 1F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I< EB07FCEB1FFF017F13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F 158090C7121F007EEC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C 6CEB7F006D5B6C6C485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA3 2C>I<397FF01FE039FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091 380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07 F0150F9138801FE09138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFF E0B57EA36C5B27367FA32C>I<90387FF8700003B512F8120F5A5A387FC00F387E000348 13015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113 FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC 15F815E000F8148039701FFC0020247AA32C>115 D<131E133FA9007FB6FCB71280A36C 1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D 13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB000FB3A315 1FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE07130029247FA32C>I< D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801 F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F 13FFA21480A2013F5B90381F007C29247FA32C>119 D<3A3FFF03FFF048018713F8A36C 010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB 03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01 F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247E A32C>I<01F81370D803FE13F8380FFF0148138748EBCFF0397F9FFFE0D8FF0F13C0D8FC 07138039F803FE00387000F81D0A79B22C>126 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmr10 10 36 /Fd 36 123 df11 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA212075B120F90C7FC A25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E 1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40 D<12C07E12707E7E7E12 0F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03 E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A25BA2485A485AA2485A48 C7FC120E5A5A5A5A5A13527CBD20>I<121C127FEAFF80A213C0A3127F121C1200A41201 1380A2120313005A1206120E5A5A5A12600A19798817>44 D<121C127FEAFF80A5EA7F00 121C0909798817>46 D48 D50 DI57 D<121C127FEAFF80A5EA7F00121CC7 FCB2121C127FEAFF80A5EA7F00121C092479A317>I71 D73 D76 D78 D82 DI<003FB812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A3 00601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>I< B6903807FFFEA3000101809038007FE06C90C8EA1F80EF0F001706B3B2170E6D150C8017 1C133F17186D6C14385F6D6C14F06D6C5C6D6C495A6D6CEB07806D6C49C7FC91387F807E 91381FFFF8020713E09138007F80373B7DB83E>I97 DIIII<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213 FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I< EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039F1C01F809039F3800FC0EBF70013 FE496D7EA25BA35BB3A3486C497EB500C1B51280A3293A7EB92E>104 DI108 D<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA2 5BA35BB3A3486C497EB500C1B51280A329257EA42E>110 DI<3903F0 1FE000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914 F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F6 14C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E >I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E090 38FC0080491300A45BB3A2487EB512F0A31C257EA421>114 DI<1318A51338A31378A313F8120112 031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0F FEEB01F81A347FB220>I118 D121 D<003FB512FCA2EB8003D83E0013F8003CEB 07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2C6485A495AA2495A 495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848131CA24848133C48 C7127C48EB03FC90B5FCA21F247EA325>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmr7 7 2 /Fe 2 51 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49 D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15 005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003 0012065A001FB5FC5A485BB5FCA219267DA521>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmti12 12 52 /Ff 52 122 df<13F0EA03F8EA07FC120FA6EA03CCEA001C1318A213381330A2137013E0 13C0120113801203EA0700120E5A5A5A5A5A0E1D6BC41E>39 D<167016E0ED01C0ED0380 ED0700150E153C5D15F85D4A5A4A5A4A5A140F4AC7FC141E143E5C147814F8495A5C1303 495AA2495AA249C8FCA25B133E137E137CA25BA212015BA212035BA212075BA2120FA25B A2121FA290C9FCA25AA2123EA3127EA2127CA65AAB1278A6127C123CA47EA2120E120FA2 7E6C7EA26C7EA26C7E1360246472CA28>I<1560A2157081A281151E150E150FA2811680 A3ED03C0A516E0A21501A71503A91507A216C0A4150FA21680A2151FA21600A25DA2153E A2157EA2157C15FCA25D1401A25D14035DA214075D140F5DA24AC7FCA2143EA25C147814 F8495AA2495A5C1307495A91C8FC131E133E5B13785B485A485A485A48C9FC121E5A5A12 E05A23647FCA28>I<13F0EA03FC1207A2EA0FFEA4EA07FCEA03CCEA000C131C1318A213 3813301370136013E0EA01C013801203EA0700120E5A5A5A5A5A0F1D7A891E>44 D<007FB5FCB6FCA214FEA21805789723>I<16C01501A215031507ED0F80151F153F157F 913801FF005C140F147F903807FCFEEB0FF0EB0700EB00015DA314035DA314075DA3140F 5DA3141F5DA3143F5DA3147F92C7FCA35C5CA313015CA313035CA313075CA2130FA2131F 133FB612FCA25D224276C132>49 D II<026014300278EB01F091397F801FE091B612C0 1780170016FC4914F016C0DACFFEC7FC02C0C8FC13035CA3130791C9FCA35B130EA3131E 90381C07F8EC3FFE9138F80F8090393DC007C0D93F807F90383E0003013C80496D7E1370 A290C7FC82A41503A415075E120E123F486C130F00FF5DA390C7485A5A00F84A5A12E04B 5A93C7FC15FE14016C5C0070495A0078495A6CEB1FC0003E495A261F80FEC8FC6CB45A00 0313E0C66CC9FC2C4476C132>53 DI<9026380FC0131C90 38787FE0902671FFF0133C01F3157801EF15F090B5FC4801E0EB01E09139007003C04848 EB380701F8EC1F804848EB1C3F4990381FFF004848EB07DF49EB001E48C85A121E5E4815 F800385D0078140100705D00F01403485D1507C8485AA24BC7FCA25D153E157E157C15FC 5D1401A24A5AA214075D140F5D141FA25D143FA24AC8FCA314FEA21301A25C1303A25C13 07A35C130FA35C5C6D5A2E4472C132>III<130FEB1FC0133FEB7FE013FFA214C0EB7F80140013 1E90C7FCB3A5120FEA3FC0127FA212FFA35B6CC7FC123C132B76AA1E>I65 D<91B712FCF0FF8019E00201903980001FF06E90C7EA07F84A6F7E727E4B81841A800203 167F5DA314075D19FFA2020F17004B5C611803021F5E4B4A5A180F4E5A023F4B5A4BEC7F 804EC7FCEF03FC027FEC0FF84BEBFFC092B6C8FC18E0913AFF800007F892C7EA01FC717E 187F49834A6F7EA30103835CA313075CA3010F5F4A157FA24E5A131F4A4A90C7FC601703 013F4B5A4A4A5A4D5A017F4B5A4D5A4A4948C8FC01FFEC0FFEB812F817C04CC9FC41447A C345>II<91 B712F818FF19C00201903980003FF06E90C7EA0FF84AED03FCF000FE4B157FA2F13F8002 03EE1FC05DF10FE0A214074B16F01907A2140F5D1AF8A2141F5DA2190F143F5D1AF0A214 7F4B151FA302FF17E092C9123FA34918C04A167F1A80A2010317FF4A1700A24E5A13074A 4B5A611807010F5F4A4B5A181F61011F4C5A4A4BC7FC18FE4D5A013F4B5A4A4A5A4D5A01 7FED3FC005FFC8FC4AEB03FE01FFEC1FF8B812E094C9FC16F845447AC34A>I<91B912C0 A30201902680000313806E90C8127F4A163F191F4B150FA30203EE07005DA314074B5D19 0EA2140F4B1307A25F021F020E90C7FC5DA2171E023F141C4B133C177C17FC027FEB03F8 92B5FCA39139FF8003F0ED00011600A2495D5CA2160101034B13705C19F061010791C8FC 4A1501611803010F5F4A150796C7FC60131F4A151E183E183C013F167C4A15FC4D5A017F 1503EF0FF04A143F01FF913803FFE0B9FCA26042447AC342>I<027FB512E091B6FCA202 00EBE000ED7F8015FFA293C7FCA35C5DA314035DA314075DA3140F5DA3141F5DA3143F5D A3147F5DA314FF92C8FCA35B5CA313035CA313075CA3130F5CA3131F5CA2133FA25CEBFF E0B612E0A25D2B447BC326>73 D<91B612F0A25F020101C0C7FC6E5B4A90C8FCA25DA314 035DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA301031610 4A1538A21878010716705C18F018E0010F15015C18C01703011F15074A1580170FA2013F ED1F004A5C5F017F15FE16034A130F01FFEC7FFCB8FCA25F35447AC33D>76 D<91B56C93387FFFC08298B5FC02014DEBC0006E614A5FA203DF4C6CC7FC1A0E63912603 CFE05D038F5F1A381A711407030FEEE1FCA2F101C3020FEE0383020E60F107036F6C1507 021E160E021C60191CF1380F143C023804705BA2F1E01F0278ED01C091267003F85EF003 801A3F02F0ED070002E0030E5CA24E137F130102C04B91C8FC606201036D6C5B02805F4D 5A943803800113070200DA07005BA2050E1303495D010E606F6C5A1907011E5D011C4B5C A27048130F133C01384B5C017892C7FC191F01F85C486C027E5DD807FE027C4A7EB500F0 0178013FB512C0A216705A447AC357>I<91B712F018FEF0FF800201903980007FE06E90 C7EA1FF04AED07F818034B15FCF001FE1403A24B15FFA21407A25DA2140FF003FE5DA202 1F16FC18074B15F8180F023F16F0F01FE04B15C0F03F80027FED7F0018FE4BEB03FCEF0F F002FFEC7FC092B6C7FC17F892CAFC5BA25CA21303A25CA21307A25CA2130FA25CA2131F A25CA2133FA25CA2137FA25C497EB67EA340447AC342>80 DI<91B77E18F818FE02019039 8001FF806E90C7EA3FC04AED1FE0F00FF04BEC07F8180319FC14034B15FEA314075DA302 0FED07FC5DA2F00FF8141F4B15F0F01FE0F03FC0023F16804BEC7F0018FEEF03F8027F4A 5A4BEB1FC04CB4C7FC92B512F891B612E092380003F8EE00FE177F496F7E4A6E7EA28413 034A140FA2171F13075CA2173F130F5CA24D5A131F5CA3013F170E5CA2017FEE801E191C 4A163C496C1638B66C90383FC070051F13F094380FE1E0CA3803FF80943800FE003F467A C347>II<48B912F85AA2913B 0007FC001FF0D807F84A130701E0010F140349160148485C90C71500A2001E021F15E05E 121C123C0038143F4C1301007818C0127000F0147F485DA3C800FF91C7FC93C9FCA35C5D A314035DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92CAFCA35B5CA21303 A21307497E007FB612C0A25E3D446FC346>I86 D I97 DIIIII<15FCEC03FF91390F838380 91393E01CFC091387C00EF4A13FF4948137F010315804948133F495A131F4A1400133F91 C75A5B167E13FE16FE1201495CA215011203495CA21503A2495CA21507A25EA2150F151F 5E0001143F157F6C6C13FF913801DF8090387C039F90383E0F3FEB0FFCD903F090C7FC90 C7FC5DA2157EA215FEA25DA2001C495A127F48495A14074A5A485C023FC8FC00F8137E38 7C01F8381FFFE0000390C9FC2A407BAB2D>I<14FE137FA3EB01FC13001301A25CA21303 A25CA21307A25CA2130FA25CA2131FA25C157F90393F83FFC091388F81F091381E00F802 387F4948137C5C4A137EA2495A91C7FCA25B484814FE5E5BA2000314015E5BA200071403 5E5B1507000F5DA249130F5E001F1678031F1370491480A2003F023F13F0EE00E090C7FC 160148023E13C01603007E1680EE070000FEEC1E0FED1F1E48EC0FF80038EC03E02D467A C432>I<143C147E14FE1301A3EB00FC14701400AE137C48B4FC3803C780380703C0000F 13E0120E121C13071238A21278EA700F14C0131F00F0138012E0EA003F1400A25B137EA2 13FE5B12015BA212035B141E0007131C13E0A2000F133CEBC038A21478EB807014F014E0 EB81C0EA0783EBC7803803FE00EA00F8174378C11E>I<14FE137FA3EB01FC13001301A2 5CA21303A25CA21307A25CA2130FA25CA2131FA25C167E013F49B4FC92380783C0913800 0E07ED3C1F491370ED603F017E13E0EC01C09026FE03801380913907000E00D9FC0E90C7 FC5C00015B5C495AEBF9C03803FB8001FFC9FCA214F03807F3FCEBF07F9038E01FC06E7E 000F130781EBC003A2001F150FA20180140EA2003F151E161C010013E0A2485DA2007E15 78167000FE01015B15F1489038007F800038021FC7FC2A467AC42D>107 DIIIII<91381F800C91387FE01C903901F0703C903907C0387890390F 801CF890381F001D013E130F017E14F05B48481307A2484814E012075B000F140F16C048 5AA2003F141F491480A3007F143F90C71300A35D00FE147EA315FE5DA2007E1301A24A5A 1407003E130FA26C495A143B380F80F33807C3E73901FF87E038007E071300140F5DA314 1F5DA3143F92C7FCA25CA25C017F13FEA25D263F76AB2D>III<1470EB01F8A313035CA313075CA3130F5CA3 131F5CA2007FB512E0B6FC15C0D8003FC7FCA25B137EA313FE5BA312015BA312035BA312 075BA3120F5BA2EC0780001F140013805C140E003F131EEB001C143C14385C6C13F0495A 6C485AEB8780D807FEC7FCEA01F81B3F78BD20>I<137C48B414072603C780EB1F803807 03C0000F7F000E153F121C0107150012385E1278D8700F147E5C011F14FE00F05B00E05D EA003FEC0001A2495C137E150313FE495CA215071201495CA2030F13380003167849ECC0 70A3031F13F0EE80E0153F00011581037F13C06DEBEF8300000101148090397C03C78790 3A3E0F07C70090391FFE01FE903903F000782D2D78AB34>I<017C143848B414FC3A03C7 8001FE380703C0000F13E0120E001C14000107147E1238163E1278D8700F141E5C131F00 F049131C12E0EA003F91C7123C16385B137E167801FE14705BA216F0000115E05B150116 C0A24848EB0380A2ED0700A2150E12015D6D5B000014786D5B90387C01E090383F0780D9 0FFFC7FCEB03F8272D78AB2D>I<02F8133FD907FEEBFFE0903A0F0F83C0F0903A1C07C7 80F890393803CF03017013EE01E0EBFC07120101C013F8000316F00180EC01C000074AC7 FC13001407485C120EC7FC140F5DA3141F5DA3143F92C8FCA34AEB03C01780147EA202FE EB0700121E003F5D267F81FC130E6E5BD8FF83143CD903BE5B26FE079E5B3A7C0F1F01E0 3A3C1E0F83C0271FF803FFC7FC3907E000FC2D2D7CAB2D>120 D<137C48B414072603C7 80EB1F80380703C0000F7F000E153F001C1600130712385E0078157EEA700F5C011F14FE 00F0495B12E0EA003FEC00015E5B137E150301FE5C5BA2150700015D5BA2150F00035D5B A2151F5EA2153F12014BC7FC6D5B00005BEB7C0390383E0F7EEB1FFEEB03F090C712FE5D A214015D121F397F8003F0A24A5A4848485A5D48131F00F049C8FC0070137E007813F838 3801F0381E07C06CB4C9FCEA01FC294078AB2F>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmmi8 8 3 /Fg 3 123 df<013F137C9038FFC1FF3A01C1E383803A0380F703C0390700F60F000E13 FE4813FC12180038EC0700003049C7FCA2EA200100005BA313035CA301075B5D14C00038 5CD87C0F130600FC140E011F130C011B131C39F03BE038D8707113F0393FE0FFC0260F80 3FC7FC221F7E9D28>120 DI<011E1330EB3F809038FFC07048EBE0E0ECF1C03803C0FF9038803F80 903800070048130EC75A5C5C5C495A495A49C7FC131E13385B491340484813C0485A3807 0001000EEB0380380FE007391FF81F0038387FFF486C5A38601FFC38E00FF038C003C01C 1F7D9D21>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmr8 8 4 /Fh 4 51 df43 D48 D<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387F FFFEA2172C7AAB23>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmmi12 12 8 /Fi 8 119 df<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A78891B>58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A 1206120E5A5A5A12600B1D78891B>I<127012FCB4FCEA7FC0EA1FF0EA07FCEA01FF3800 7FC0EB1FF0EB07FE903801FF809038007FE0EC1FF8EC03FE913800FF80ED3FE0ED0FF8ED 03FF030013C0EE3FF0EE0FFCEE01FF9338007FC0EF1FF0EF07FCEF01FF9438007FC0F01F E0A2F07FC0943801FF00EF07FCEF1FF0EF7FC04C48C7FCEE0FFCEE3FF0EEFFC0030390C8 FCED0FF8ED3FE0EDFF80DA03FEC9FCEC1FF8EC7FE0903801FF80D907FECAFCEB1FF0EB7F C04848CBFCEA07FCEA1FF0EA7FC048CCFC12FC12703B3878B44C>62 D100 D<14FE137FA3EB01FC13001301A25CA21303A25CA21307A2 5CA2130FA25CA2131FA25CED3FC090393F81FFF0913887C0FC91380E007E023C133ED97F 70133F4A7F4A14805C13FF91C7FC5BA24848143F17005BA200035D167E5BA2000715FE5E 5B1501000F5DA24913035E001F1607030713064914E0150F003FEDC00E170C90C7141CEE 80184816381730007E167017E000FE91380781C0EEC38048913801FF000038EC007C3046 7BC438>104 D<14FE137FA3EB01FC13001301A25CA21303A25CA21307A25CA2130FA25C A2131FA25C163F013FECFFC0923803C0E09138000703ED1E0F491338ED701F017E13E0EC 01C001FE018013C00203EB07004948C8FC140E00015B5C495A5C3803FBC001FFC9FC8014 F83807F1FE9038F03F809038E00FE06E7E000F130381EBC001A2001FED01C017801380A2 003F15031700010013F05E481506160E007E150C161C00FE01005BED787048EC3FE00038 EC0F802B467BC433>107 D<01F8EB03FCD803FEEB1FFFD8071F90387C0FC03B0E0F80E0 07E03A0C07C3C003001CD9C7007F001801CE1301003801DC80003013D8EB0FF800705B00 605BA200E0491303D8C01F5D5C12001607013F5D91C7FCA2160F495D137E161F5F13FE49 143F94C7FC187000014B136049147E16FE4C13E0000317C049150104F813801703000717 00495D170EEE781C000FED7C3849EC1FF0D80380EC07C0342D7DAB3A>110 D<013E140ED9FF80EB3F802603C3C0137F380703E0380601F0120E121CD81803143F0038 151F0030150FA2D87007140700605BA2D8E00F150000C0497FEA001F4A5B1606133F91C7 FC160E49140C137EA2161C01FE14185B1638163016704848146016E05E150100005D1503 6D49C7FC1506017C130E017E5B6D137890380F81E06DB45AD900FEC8FC292D7DAB2F> 118 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmsy10 12 12 /Fj 12 104 df[65 56 123 180 76 4 D<49B4FC010F13E0013F13F8497F48B6FC4815804815C04815E04815 F0A24815F8A24815FCA3B712FEA96C15FCA36C15F8A26C15F0A26C15E06C15C06C15806C 15006C6C13FC6D5B010F13E0010190C7FC27277BAB32>15 D<127012FCB4FCEA7FC0EA1F F0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1FF0EC07FC913801FF80 9138007FE0ED1FF8ED07FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF0FF8 EF03FE943800FF80F03FE0F00FF0A2F03FE0F0FF80943803FE00EF0FF8EF3FE0EFFF80DC 03FEC7FCEE0FF8EE3FE0EEFF80DB03FEC8FCED1FF8ED7FE0913801FF80DA07FEC9FCEC1F F0EC7FC04948CAFCEB07FCEB1FF0EB7FC04848CBFCEA07FCEA1FF0EA7FC048CCFC12FC12 70CDFCB0007FB912E0BA12F0A26C18E03C4E78BE4D>21 D24 D<1AF0A3861A78A21A7C1A3CA21A3E1A1E1A1F747EA2747E747E87747E747E1B7E 87757EF30FE0F303F8007FBC12FEBE1280A26CF3FE00CEEA03F8F30FE0F31F8051C7FC1B 7E63505A505A63505A505AA250C8FC1A1E1A3E1A3CA21A7C1A78A21AF862A359347BB264 >33 D<92B6FC02071580143F91B7120001030180C8FCD907FCC9FCEB1FE0EB3F80017ECA FC5B485A485A485A5B485A121F90CBFC123EA2123C127CA2127812F8A25AA2B9FC1880A2 180000F0CBFCA27EA21278127CA2123C123EA27E7F120F6C7E7F6C7E6C7E6C7E137E6D7E EB1FE0EB07FC6DB47E010090B6FC023F1580140702001500313A78B542>50 D<1706170F171FA2173EA2177CA217F8A2EE01F0A2EE03E0A2EE07C0A2EE0F80A2EE1F00 A2163EA25EA25EA24B5AA24B5AA24B5AA24B5AA24BC7FCA2153EA25DA25DA24A5AA24A5A A24A5AA24A5AA24AC8FCA2143EA25CA25CA2495AA2495AA2495AA2495AA249C9FCA2133E A25BA25BA2485AA2485AA2485AA2485AA248CAFCA2123EA25AA25AA25A1260305C72C600 >54 D60 D<031FB512C00203B7FC021F16E091B812F801 0317FE010F717E90283FF07FC03F80D9FE00020080D801F8041F7FD803E04A01077F4848 1601000F716C7E4848717E003F02FF151F007F180F90C7707E00FE92C8FC488400F01A80 00C084C75AA24B81A414035DA21B00A24A5AA24F5AA24A5A621903624A5A4F5AA24B4B5A 023F5F191F4B5E027F4CC7FC197E92C9127C4A5E4E5A4A4B5A01014C5AF01F804A033EC8 FC01035E4A4A5AEF07E00107ED1FC04A02FFC9FC010FEC07FC9139E001FFF091B612C001 7F4ACAFC90B612F04815804802FCCBFC4891CCFC49447EC34D>68 D77 D 102 D<12FEEAFFE0EA07F8EA00FEEB7F806D7E6D7E130F6D7EA26D7EB3AD6D7EA26D7E80 6E7E6E7EEC0FE0EC03FC913800FFE0A2913803FC00EC0FE0EC3FC04A5A4AC7FC5C495AA2 495AB3AD495AA2495A131F495A495A01FEC8FCEA07F8EAFFE048C9FC236479CA32>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmtt12 12 76 /Fk 76 127 df<121C127FEAFF80B3A3EA7F00B3A2123EC7FCA9121C127FA2EAFF80A3EA 7F00A2121C093E6BBD33>33 D<00085B003EEB07C0007FEB0FE0A24814F0A26C14E0B3A2 007E1307003E14C0A20008EB01001C1E75BD33>I38 D<140FEC3F80147F14FF491300495A EB07F8495A495A495A495A49C7FC5B12015B485A12075B120F5B121F5BA2123F5BA2127F 90C8FCA45A5AAD7E7EA47F123FA27F121FA27F120F7F12077F12036C7E7F12007F6D7E6D 7E6D7E6D7E6D7EEB03FE6D7E6D1380147F143FEC0F00194D6FC433>40 D<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7E6D7E133F80131F6D7E8013078013 03801301A2801300A28080A41580143FAD147F1500A45C5CA213015CA213035C13075C13 0F5C495A133F5C137F49C7FC485A485A485A485AEA3FE0485A485A90C8FC5A1278194D78 C433>I<14F0497EA8007015E000F8EC01F000FE140700FF140F01C1133F01F113FF263F F9F913C0000FB61200000314FCC614F06D5B011F1380D907FEC7FC90381FFF80017F13E0 90B57E000314FC000F14FF263FF9F913C026FFF1F813F001C1133F0101130F00FE140700 F814010070EC00E000001500A86D5A242B79B333>I<141FA24A7EB0007FB71280A2B812 C0A36C1680A2C7D83F80C7FCB06EC8FCA22A2B7CB333>II<007FB612FEA2B8FCA36C15FEA228077BA133>I<121FEA3F80 EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B6C8A33>I<167816F8ED01FCA21503A2ED07 F8A2ED0FF0A2ED1FE0A216C0153FA2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA2 4A5AA25D143FA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA25C131FA2495AA2495A A249C8FCA25B1201A2485AA2485AA2485AA25B121FA2485AA2485AA248C9FCA25AA2127C A2264D7AC433>I<14FF010313C0010F13F0497F497F497F9038FF81FF3A01FE007F8048 48EB3FC049131F4848EB0FE0A24848EB07F0A24848EB03F8A24848EB01FCA348C812FEA4 007E157E00FE157FAE6C15FF6C15FEA46D1301003F15FCA26D1303001F15F8A26C6CEB07 F0A26C6CEB0FE06D131F6C6CEB3FC0A26CB4EBFF806C018113006DB45A6D5B6D5B6D5B01 0313C0010090C7FC283F7BBD33>III<903801FFC0010F13F8 013F13FE90B67E48814881489038807FF03A0FFC000FF801F06D7E484813036F7EA21500 A26C5A6C5AC9FC15015EA215034B5A150F4B5A4B5A913803FFC00103B55A4991C7FC5D81 16C06D8090C76C7EED0FF8ED03FC6F7E6F7E821780163FA2EE1FC0A3123C127EB4FCA216 3F1780167F6C16006D5C6D495A6C6C1303D81FF8EB0FFC3A0FFF807FF86C90B55A6C5D6C 15806C6C91C7FC010F13FC010113C02A3F7CBD33>I<127CB8128017C0A4178048C81300 4B5A4B5A007C4A5AC8485A5E151F4B5A4B5A93C7FC5D5D4A5A14035D14075D140F5D141F 5D143F5DA24AC8FCA25C5CA213015CA3495AA413075CA5130F5CAA6D5A6D5A2A3F7CBD33 >55 DI<121FEA 3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCB3A3121FEA3F80EA7FC0EAFFE0A5EA7F C0EA3F80EA1F000B2B6CAA33>58 DI<161E167E16FF1503 5DED1FFE157FEDFFF8020313F04A13C0021F138091383FFE00ECFFF8495B010713C0495B D93FFEC7FC495A3801FFF0485B000F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1F FF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80 020713C06E13F0020013F8ED7FFE151FED07FF811500167E161E28337BB733>I<007FB7 1280A2B812C0A36C16806C1600CBFCA9003FB7FC481680B812C0A36C1680A22A177CA933 >I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C13F86C6C7EEB1FFF6D7F 010313E06D7F9038007FFC6E7E91380FFF806E13C0020113F06E13F8ED3FFE151FED07FF 815DED1FFE153FEDFFF84A13F0020713C04A138091383FFE004A5A903801FFF0495B010F 13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9FC127E 127828337BB733>I65 D<007FB512F8B7FC16C082826C813A03F8000FFCED 03FE15016F7E82A2EE3F80A7EE7F00A25E4B5AA2ED07FCED1FF890B65A5E1680828216F8 9039F8000FFCED01FE6F7EEE7F80163F17C0161FA2EE0FE0A7161F17C0A2163FEE7F8016 FF4B1300150F007FB65AB75A5E16E05E6C4AC7FC2B3D7DBC33>I<91391FE00780DAFFFC 13C00103EBFF0F010F148F4914FF5B90387FF81F9038FFC00748497E4848487E497F485A 167F485A49143F121F5B003F151F5BA2127F90C8EA0F8093C7FCA25A5AAD7E7EA36DEC0F 80003FED1FC0A27F121F7F000F153F6D15806C7E167F6C6CECFF007F3A01FF8003FE6C6D 485A90397FF81FF86DB55A6D5C6D5C010391C7FC010013FCEC1FE02A3F7CBD33>I<003F B512F04814FCB7FC826C816C813A03F8007FF0ED1FF8ED07FC15036F7E8281EE7F80A216 3F17C0161FA217E0160FA4EE07F0AD160F17E0A4161F17C0163FA21780167FEEFF00A24B 5A15034B5AED1FF8ED7FF0003FB6FC4815C0B75A93C7FC6C14FC6C14F02C3D7EBC33>I< 003FB712E04816F0B8FCA27E7ED801FCC71207A8EE03E093C7FCA6151F4B7EA490B6FCA6 9038FC003FA46FC7FC92C8FCA817F8EE01FCA9003FB7FC5AB8FCA27E6C16F82E3D7EBC33 >I<003FB712E04816F0B8FCA27E7ED801FCC71207A8EE03E093C7FCA7151F4B7EA490B6 FCA69038FC003FA46FC7FC92C8FCB1383FFFF8487FB57EA26C5B6C5B2C3D7DBC33>I<91 387F803C903901FFF03E0107EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB803FEC000F EA03FC00071407491303485A491301121F5B123F491300A2127F90C8FC167C93C7FCA25A 5AA992387FFFC092B512E0A37E6C6E13C0923800FE00A36D1301123FA27F121F6D130312 0F7F6C6C1307A26C6C130F6C6C131F9038FF803F6CEBE0FF6DB5FC7F6D13FE010713F801 01EBF07C9026007F80C7FC2B3F7CBD33>I<3B7FFFC00FFFF8B56C4813FCA46C496C13F8 D803F8C7EA7F00B3A290B7FCA601F8C77EB3A53B7FFFC00FFFF8B56C4813FCA46C496C13 F82E3D7EBC33>I<003FB612804815C0B712E0A26C15C06C1580260003F8C7FCB3B3AD00 3FB612804815C0B712E0A26C15C06C1580233D78BC33>I75 D<387FFFF8B57E80A25C6C5BD801FCC9FCB3B3A3EE03E0EE07F0A900 7FB7FCB8FCA46C16E02C3D7DBC33>III<90381FFFF890B6FC000315C0000F15F0 A24815F83A3FFC003FFC01E013074913034848EB01FEA290C8FCA500FE157FB3AC6C15FF 6C15FEA46D1301A36C6CEB03FC01F0130F01FC133F6CB612F86C15F0A2000315C0C61500 011F13F8283F7BBD33>I<003FB512FC48ECFF80B712E016F86C816C813A01FC000FFF03 0313801500EE7FC0163FEE1FE0160FA217F01607A6160F17E0A2161FEE3FC0167FEEFF80 1503030F130090B65A5E5E16E0168003FCC7FC01FCC9FCB3383FFFE0487FB57EA26C5B6C 5B2C3D7EBC33>I<90381FFFF890B6FC000315C0000F15F0A24815F83A3FFC003FFC01F0 130F01C013034848EB01FEA290C8FCA54815FF48157FB3AA143F6C90387F80FF6C15FEEC 3FC0A2EC1FE0A29038800FF1A23A3FC007FBFC01F013FFEBFC036CB612F86C15F0A20003 15C0C61500011F148090C7EA7FC0153F16E0151F16F0150F16F8150716FC150316FE1501 ED00FC284C7BBD33>I<007FB57EB612F815FE81826C812603F8007FED3FF0ED0FF81507 6F7E1501A26F7EA74B5AA215034B5A150FED3FF0EDFFE090B65A5E93C7FC5D8182D9F800 7F153F6F7E150F821507AA173E177FA416F8030313FF267FFFC014FEB538E001FF17FC81 EE7FF86C49EB3FF0C9EA0FC0303E7EBC33>II<003FB712F84816 FCB8FCA43AFE000FE001A8007CED00F8C71500B3B3A40107B512C049804980A26D5C6D5C 2E3D7EBC33>I<273FFFE001B5FC486D481480B56C4814C0A26C496C14806C496C1400D8 01FCC7EA0FE0B3B3A36D141F00005EA26D143F6D5DA26D6C49C7FC6E5B6D6C485AECF003 90390FFC0FFC6DB55A6D5C6D5C6D6C1380DA1FFEC8FCEC07F8323E80BC33>III<3A3FFF807FFF486D B51280A46C496C13003A01FE000FE0151F6C7E4B5AEB7F805E90383FC07F93C7FC6D6C5A 5DEB0FF15DEB07FB5DEB03FF5D7F5D7F5D147F6E5AA34A7EA24A7E815B81EB03FB81EB07 F181EB0FE081011F7F02C07F013F133F02807F017F131F02007F49130F49801507000181 491303000381491301D87FFF90380FFFE0B56C4813F05DA2816C496C13E02C3D7DBC33> II<001FB612FE48815AA490C7EA01FE4B5AA24B5A 5E150F4B5AA2003E4A5AC8485AA24BC7FC5D14014A5AA24A5A4A5AA24A5A5D143F4A5AA2 4AC8FC495AA2495A5C1307495AA2495A495AA2495A91C9FC5B4848141FEE3F80485A485A A2485A5B121F485AA2485A90B7FCB8FCA46C1600293D7BBC33>I<007FB512C0B612E0A4 15C048C8FCB3B3B3ABB612C015E0A46C14C01B4D6CC433>I<007FB512C0B612E0A47EC7 120FB3B3B3AB007FB5FCB6FCA46C14C01B4D7DC433>93 D97 DIIIIIII<14E0EB03F8A2497EA36D5AA2EB00E091C8FCAA383FFFF8487FA47EEA00 01B3AD007FB612C0B712E016F0A216E06C15C0243E78BD33>I<1570EC01FCA2EC03FEA3 EC01FCA2EC00701500AA90383FFFFC4913FE90B5FCA27F7F90C7FCB3B3A9140115FCA212 18007EEB03F81407B414F0140F9038803FE090B512C06C14806C14006C5B6C13F8000113 E01F557BBD33>II<383FFFFC487FB5FCA2 7E7EC7FCB3B3AD003FB612F84815FCB712FEA26C15FC6C15F8273D7ABC33>I<02FC137E 3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE07130301FC 01FE7F9039F803FC01A201F013F8A401E013F0B3A53C7FFE0FFF07FF80B548018F13C0A4 6C486C01071380322C80AB33>I<4AB4FC263FFC0713C0267FFE1F13F000FF017F7F91B5 FC6CB67E6CEC07FEC6EBF801ECF0004A7F4A7F5CA291C7FCA35BB3A43B3FFFF80FFFFC48 6D4813FEB56C4813FFA26C496C13FE6C496C13FC302C7FAB33>III<02FF137C0107EBE0FE011F13F0017F13FC90 B512FE4814FF4813C03907FE003F4848131F01F0130F484813071503485A491301127F90 C7FC15005A5AA97E7E15017F123F6D130315076C7E6C6C130F6D131FD807FE137F3903FF 81FF6CEBFFFE6C14FC6D13F86D13F0010F13C0903801FE0090C8FCAF92387FFFFC92B512 FEA46F13FC2F427CAB33>II<90381FFE0F90B5EA8F80000314FF120F5A5A EBF007387F800190C7FC00FE147F5A153FA37E007FEC1F0001C090C7FCEA3FF8EBFFC06C 13FF6C14E0000314F8C680011F13FF01001480020713C0EC007FED1FE0007C140F00FEEC 07F01503A27EA27F15076D14E06D130F6DEB3FC09038FE01FF90B61280160000FD5C00FC 14F8D8F83F13E0D8780790C7FC242E79AC33>III<3B3FFFC00FFFF0486D48 13F8B56C4813FCA26C496C13F86C496C13F0D801F8C7EA7E006D14FE00005DA26D130101 7E5CA2017F13036D5CA2EC8007011F5CA2ECC00F010F5CA36D6C485AA3ECF03F010391C7 FCA26E5A0101137EA2ECFCFE01005BA214FF6E5AA36E5AA26E5A6E5A2E2B7EAA33>I<3B 7FFF8007FFF8B56C4813FC6E5AA24A7E6C496C13F8D80FC0C7EA0FC06D141F00071680A5 6D143F00031600A3EC0FC0EC1FE0A23A01F83FF07EA3EC7FF8147CA20000157C9039FCFC FCFCA3ECF87CA2017C5C017D137EECF03EA2017F133FA26D486C5AA3ECC00F90390F8007 C02E2B7EAA33>I<3B3FFFC07FFF80486DB512C0B500F114E0A26C01E014C06C496C1380 3B00FE000FE000017F495AEB3F804B5A6D6C48C7FC90380FE07E903807F0FEECF1FC9038 03FBF8EB01FF6D5B5D6E5A143F6E5A143F814A7E14FF903801FBF0ECF9F8903803F1FCEB 07E0157E90380FC07F011F6D7E90383F801F02007F496D7E01FE6D7E484813033B7FFFC0 3FFFE0B56C4813F0A46C496C13E02C2B7DAA33>I<3B7FFF801FFFE0B56C4813F06E4813 F8A24A6C13F06C496C13E0D803F8C7EAFC00000114015E7F000014036D5C137EA2017F49 5A7FA26E485A131FA26D6C485AA214E0010749C7FCA214F01303157EEB01F8A2157C0100 13FC14FC5D147C147DEC3FF0A36E5AA36E5AA2141F5DA2143F92C8FCA3147EA214FE003F 5B1301387F81F81383EB87F0139FEBFFE06C5B5C6C90C9FCEA0FFCEA03F02D427DAA33> I<000FB712804816C05AA317800180C713004B5A4B5A4B5A4B5A6CC7485AC8485A4B5A4B C7FC4A5A4A5A4A5A4A5A4A5A4A5A4A5A4AC8FC495A495A495A495A495A495A495A49C7EA 0F804848EC1FC0485A485A485A485A485A48B7FCB8FCA46C16802A2B7DAA33>I<013E13 079039FF800F8000039038C01FC048EBE03F48EBF07F489038F9FF803A7FE7FFFE00D8FF 835B01015B486C5B007CEB7FC00038011FC7FC220C78BC33>126 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmbx12 17.28 33 /Fl 33 122 df45 D<16F04B7E1507151F153FEC01FF1407147F 010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51>49 D<913801FFF8021FEBFFC091B612F8010315FF010F16C0013F8290267FFC0114F89027FF E0003F7F4890C7000F7F48486E7FD807F86E148048486E14C048486E14E048486F13F001 FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A36C5BA26C5B6C90C8FCD807FC5D EA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512C019804C14004C5B604C5B4C5B 604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC4B5AED1FF84B5A4B5A4B48143F 4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02FE16FE495A495A4948ED01FCD9 0FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A4405E78DD51>I<92B5 FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC90271FFC00077FD93FE001017F 49486D8049C86C7F484883486C6F7F14C0486D826E806E82487FA4805CA36C5E4A5E6C5B 6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C5B4C5B4C5B4C5B047F13809226 0FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F13E0040713F8040113FE707F71 7F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487F487FA2B57EA31A 80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F5ED807FE92B55A6C6C6C491480 6C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0010716C001014BC8FCD9001F14 F0020149C9FC426079DD51>II<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5FC92B712 8019006060606060606095C7FC17FC5F17E0178004FCC8FC16E09026FC3FFCC9FC91CBFC ADED3FFE0203B512F0020F14FE023F6E7E91B712E001FDD9E00F7F9027FFFE00037F02F8 01007F02E06EB4FC02806E138091C8FC496F13C04917E07113F0EA00F090C914F8A219FC 83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC5B 4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B1380D807FC92B512006C6C4A5B 6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C0010F93C7FC6D15FC010115F0D900 3F1480020301F0C8FC406078DD51>I<4DB5ED03C0057F02F014070407B600FE140F047F DBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6C73807FF814A02 F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01F08291B5488249 0280824991CB7E49498449498449498449865D49498490B5FC484A84A2484A84A24891CD 127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C7F A37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D6D 4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E02 C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F91B648C8FC0301 17F86F6C16E004071680DC007F02F8C9FC050191CAFC626677E375>67 DI70 D73 D77 D<94381FFFE00407B67E043F15F04BB712FE030FEEFFC0033FD9FC0014F092B500C0 010F13FC020349C7000113FF4A01F86E6C7F021F496F13E04A01C0030F7F4A496F7F91B5 C96C7F0103497013FF494970804B834949717F49874949717F49874B8390B586484A717F A24891CB6C7FA2481D804A84481DC0A348497214E0A3481DF0A34A85481DF8A5B51CFCB0 6C1DF8A36E96B5FCA36C1DF0A46C6D4E14E0A36C1DC06E606C1D80A26C6E4D1400A26C6E 4D5BA26C6E4D5BA26D6D4D5B6D636D6D4D5B6F94B5FC6D636D6D4C5C6D6D4C91C7FC6D6E 4B5B6D02E0031F5B023F6D4B13F06E01FC92B55A6E01FF02035C020302C0010F91C8FC02 0002FC90B512FC033F90B712F0030F17C0030394C9FCDB007F15F804071580DC001F01E0 CAFC666677E379>79 D82 D<913803FFFE027FEBFFF001 03B612FE010F6F7E4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F717E 486D6E7F85717FA2717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207B7FC 147F49B61207010F14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C485B5A 5CA2B55AA45FA25F806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE114FF 6C9027FFC07FC01580000191B5487E6C6C4B7E011F02FC130F010302F001011400D9001F 90CBFC49437CC14E>97 D<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE00 1FFF4901F8010113804901E0010713C04901804913E0017F90C7FC49484A13F0A2485B48 5B5A5C5A7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA280A27EA2 806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC06D01E0EC 7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F15800201 02FCC7FCDA000F13C03E437BC148>99 DI<92380FFFC04AB512FC020FECFF80023F15E091B7 12F80103D9FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F49486E7F48 498048844A804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A0002C0CB FCA67EA380A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A 6D6D4A5A6D01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A02 1F15F8020715E0020092C8FC030713F041437CC14A>III<903807 FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE07F7F9227 81FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC825DA25DA2 5DA45DB3B2B7D8F007B71280A651647BE35A>II<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A6 23647BE32C>108 D<902607FF80D91FFFEEFFF8B691B500F00207EBFF80040702FC023F 14E0041F02FF91B612F84C6F488193267FE07F6D4801037F922781FE001F9027E00FF000 7FC6DA83F86D9026F01FC06D7F6DD987F06D4A487F6DD98FC0DBF87EC7804C6D027C8003 9FC76E488203BEEEFDF003BC6E4A8003FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7 D8F007B7D8803FB612FCA67E417BC087>I<902607FF80EB1FFFB691B512F0040714FC04 1F14FF4C8193267FE07F7F922781FE001F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F 039FC78015BE03BC8003FC825DA25DA25DA45DB3B2B7D8F007B71280A651417BC05A>I< 923807FFE092B6FC020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E049 01C001037F49496D7F4990C87F49486F7E49486F7E48496F13804819C04A814819E04849 6F13F0A24819F8A348496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A2 6C6D4B13F0A26C19E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D49 5B010701F0010F13E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC0307 13E048437CC151>I<902607FF80EBFFF8B6010FEBFF80047F14F00381B612FC038715FF 038F010114C09227BFF0003F7FC6DAFFC0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F 4B17804B6F13C0A27313E0A27313F0A21BF885A21BFCA3851BFEAE4F13FCA41BF861A21B F0611BE0611BC06F92B512801B006F5C6F4A5B6F4A5B03FF4A5B70495B04E0017F13C092 26CFFC03B55A03C7B648C7FC03C115F803C015E0041F91C8FC040313E093CBFCB3A3B712 F0A64F5D7BC05A>I114 D<913A3FFF8007800107B5EAF81F011FECFE7F017F91B5FC48B8FC48EBE0014890C7121F D80FFC1407D81FF0801600485A007F167F49153FA212FF171FA27F7F7F6D92C7FC13FF14 E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C826C82013F1680010F16C0 1303D9007F15E0020315F0EC001F1500041F13F81607007C150100FC81177F6C163FA217 1F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D0203130002C0EB0FFE02FC EB7FFC01DFB65A010F5DD8FE0315C026F8007F49C7FC48010F13E035437BC140>II<902607FFC0ED3F FEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60183E6D6D147E4E7F6D6D49 48806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F5C020314F8DA003F018002 F0C7FC51427BC05A>III121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmr12 12 79 /Fm 79 124 df<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC00077E07E0 D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE0499139 3FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9FC0FB5 12E0A33C467EC539>11 D<4AB4FC020F13E091387F80F8903901FC001C49487FD907E013 0F4948137F011FECFF80495A49C7FCA25B49EC7F00163E93C7FCACEE3F80B8FCA3C648C7 FC167F163FB3B0486CEC7FC0007FD9FC1FB5FCA330467EC536>I14 D<127C12FC7E7EA26C7E6C7E6C7E120F6C7E6C7E1200137C7F131E7FEB03 80EB0100111275C431>18 D<121EEA7F80EAFFC0A9EA7F80ACEA3F00AB121EAC120CA5C7 FCAA121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4778C61B>33 D<001EEB03C0397F800F F000FF131F01C013F8A201E013FCA3007F130F391E6003CC0000EB000CA401E0131C4913 18A3000114384913300003147090C712604814E0000614C0000E130148EB038048EB0700 48130E0060130C1E1D7DC431>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413 E013C0A312011380120313005A1206120E5A5A5A12600B1D78C41B>39 D<140C141C1438147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F85B12015B1203 A2485AA3485AA348C7FCA35AA2123EA2127EA4127CA312FCB3A2127CA3127EA4123EA212 3FA27EA36C7EA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB03C01301EB00 E014701438141C140C166476CA26>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA2 1378137C133C133E131E131FA2EB0F80A3EB07C0A3EB03E0A314F0A21301A214F8A41300 A314FCB3A214F8A31301A414F0A21303A214E0A3EB07C0A3EB0F80A3EB1F00A2131E133E 133C137C13785BA2485A485AA2485A48C7FC120E5A5A5A5A5A16647BCA26>I<16C04B7E B3AB007FBAFCBB1280A26C1900C8D801E0C9FCB3AB6F5A41407BB84C>43 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A 1206120E5A5A5A12600B1D78891B>II<121EEA7F80A2EAFFC0A4 EA7F80A2EA1E000A0A78891B>I<1618163C167CA2167816F8A216F01501A216E01503A2 16C01507A21680150FA2ED1F00A2151E153EA2153C157CA2157815F8A25D1401A24A5AA2 5D1407A25D140FA292C7FC5CA2141E143EA2143C147CA25CA25C1301A25C1303A25C1307 A25C130FA291C8FC5BA2133EA2133C137CA2137813F8A25B1201A25B1203A2485AA25B12 0FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A126026647BCA31>I<14FF0107 13E090381F81F890383E007C01FC133F4848EB1F8049130F4848EB07C04848EB03E0A200 0F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D130100 3F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F 00013E137C90381F81F8903807FFE0010090C7FC28447CC131>I<143014F01301130313 1F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3204278C131>II<49B4FC010F13E0013F13FC9038FE01FE3A01F0007F 80D803C0EB3FC048C7EA1FE0120EED0FF0EA0FE0486C14F8A215077F5BA26C48130FEA03 C0C813F0A3ED1FE0A2ED3FC01680ED7F0015FE4A5AEC03F0EC1FC0D90FFFC7FC15F09038 0001FCEC007FED3F80ED1FC0ED0FE016F0ED07F816FC150316FEA2150116FFA3121EEA7F 80487EA416FE491303A2007EC713FC00701407003015F80038140F6C15F06CEC1FE06C6C EB3FC0D803E0EB7F803A01FE01FE0039007FFFF8010F13E0010190C7FC28447CC131>I< ED0380A21507150FA2151F153FA2157F15FFA25CEC03BF153F14071406140C141C141814 301470146014C013011480EB03005B13065B131C13185B1370136013E0485A5B120390C7 FC1206120E120C5A123812305A12E0B812C0A3C8383F8000ADEDFFE0027FEBFFC0A32A43 7DC231>I<000615C0D807C0130701FCEB7F8090B612005D5D5D15E0158026063FFCC7FC 90C9FCAE14FF010713C090381F01F090383800FC01F0137ED807C07F49EB1F8016C090C7 120F000615E0C8EA07F0A316F81503A216FCA5123E127F487EA416F890C712075A006015 F0A20070140F003015E00038EC1FC07E001EEC3F806CEC7F006C6C13FE6C6C485A3901F8 07F039007FFFE0011F90C7FCEB07F826447BC131>I I<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030151C00705D0060153016 705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E04A5AA24A5A140792C8FC 5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A6130FAA6D5AEB01C02A457B C231>I<14FF010713E0011F13F890387F00FE01FC133FD801F0EB1F804848EB0FC049EB 07E00007EC03F048481301A290C713F8481400A47FA26D130116F07F6C6CEB03E013FC6C 6CEB07C09039FF800F806C9038C01F006CEBF03EECF87839007FFEF090383FFFC07F0107 7F6D13F8497F90381E7FFFD97C1F1380496C13C02601E00313E048486C13F00007903800 7FF84848EB3FFC48C7120F003EEC07FE150148140016FF167F48153FA2161FA56C151E00 7C153EA2007E153C003E157C6C15F86DEB01F06C6CEB03E06C6CEB07C0D803F8EB1F80C6 B4EBFF0090383FFFFC010F13F00101138028447CC131>I<14FF010713E0011F13F89038 7F80FC9038FC007E48487F4848EB1F804848EB0FC0000FEC07E0485AED03F0485A16F800 7F140190C713FCA25AA216FE1500A516FFA46C5CA36C7E5D121F7F000F5C6C6C130E150C 6C6C131C6C6C5BD8007C5B90383F01E090390FFF80FE903801FE0090C8FC150116FCA4ED 03F8A216F0D80F801307486C14E0486C130F16C0ED1F80A249EB3F0049137E001EC75A00 1C495A000F495A3907E01FE06CB51280C649C7FCEB1FF028447CC131>I<121EEA7F80A2 EAFFC0A4EA7F80A2EA1E00C7FCB3A5121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2B78AA 1B>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3A5121E127FEAFF80A213C0A412 7F121E1200A512011380A3120313005A1206120E120C121C5A5A12600A3E78AA1B>I<00 7FBAFCBB1280A26C1900CEFCB0007FBAFCBB1280A26C190041187BA44C>61 D<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607FA203E07FEDC03F A2020180ED801FA2DA03007F160FA20206801607A24A6D7EA34A6D7EA34A6D7EA2027081 0260147FA202E08191B7FCA249820280C7121FA249C87F170FA20106821707A2496F7EA3 496F7EA3496F7EA201788313F8486C83D80FFF03037FB500E0027FEBFFC0A342477DC649 >65 DI< DB0FFE146092B500C013E0020314F0913A0FFC01FC0191393FC0003E02FFC7EA0F83D903 FCEC03C74948EC01E74948EC00FF4948157F4948153F4948151F49C9120F485A49160712 0348481603A248481601A248481600A2123FA2491760127FA31900485AAE6C7EA21960A2 123F7FA2001F18E07F000F18C0A26C6C160119806C6C160312016DEE07006C6C16066D6C 150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A5AD900FFEC0780DA3FC0011FC7FCDA0FFC13 FC0203B512F0020014C0DB0FFEC8FC3B487BC546>II< B912F8A3000101C0C7127F6C6C48EC07FC17011700187C183C181CA284A31806A4180704 067FA395C7FCA4160EA2161E163E16FE91B5FCA3EC8000163E161E160EA21606A319C0A3 F0018093C7FCA41803A21900A260A260A2181EA2183E187EEF01FE170748486C147FB95A A33A447CC342>IIIII< 010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A13801300006C495A00 705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE027467BC332>II77 DIII82 D<49B41303010FEBE007013F13F89039FE00FE0FD801F8131FD807E0EB 079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E82A27EA26C 6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0013F14F001 0F80010180D9001F7F14019138001FFF03031380816F13C0167F163F161F17E000C0150F A31607A37EA36C16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9F0495AD8F0 7C495A90393FC00FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>I<003FB912 F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA20070181CA30060 180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>IIII<001FB81280A39126800001 130001FCC7FC01F04A5A01C04A5A5B90C8485A121E4C5A484B5AA200384B5A4C5AA24B90 C7FC00304A5AA24B5AA24B5AC8485AA24B5A4B5AA24B5A5C93C8FC4A5AA24A5A4A5AA24A 5A4A5AA24A5A14FF5D4990C9FCEF0180495A495AA2495A494814031800495AA2495A495A 5F4890C8FC485A5F485A48485D5F48485D17FE484814034848140F16FFB8FCA331447BC3 3C>90 DI<01C0131800011438 4848137048C712E0000EEB01C0000C1480001C13030018140000385B003013060070130E 0060130CA300E0131C481318A400CFEB19E039FFC01FF801E013FCA3007F130FA2003F13 0701C013F8390F0001E01E1D71C431>II 97 DII<167FED3FFFA315018182B3EC7F80903803FFF090380F C07C90383F000E017E1307496D5AD803F87F48487F5B000F81485AA2485AA2127FA290C8 FC5AAB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F806C6C010E13C001 3F011C13FE90380FC0F8903803FFE09026007F0013002F467DC436>IIIIII<143C14FFA2491380A46D1300A2143C91C7FCADEC7F 80EB3FFFA31300147F143FB3B3AA123E127F39FF807F00A2147EA25C6C485A383C01F06C 485A3807FF80D801FEC7FC195785C21E>IIII<3901FC01FE00FF903807FFC091381E07F091383801F80007 01707F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F 13FEA32F2C7DAB36>II<3901FC03FC00FF 90380FFF8091383C07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA 1FC04915E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D 15E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03 FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I<91387F8003903903FFE00790380FE078 90393F801C0F90387E000E496D5AD803F8EB039F0007EC01BF4914FF48487F121F5B003F 81A2485AA348C8FCAB6C7EA3123F7F121F6D5C120F6D5B12076C6C5B6C6C497E6C6C130E 013F131C90380FC0F8903803FFE09038007F0091C7FCAEEEFF80033F13FEA32F3F7DAB33 >I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E15 3C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>I<90383FE0183901FFFC383907 E01F78390F0003F8001E1301481300007C1478127800F81438A21518A27EA27E6C6C1300 6C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C614F0011F13F81300EC0FFC140300C0 EB01FE1400157E7E153EA27EA36C143C6C147C15786C14F86CEB01F039F38003E039F1F0 0F8039E07FFE0038C00FF01F2E7DAC26>I<1306A5130EA4131EA3133E137EA213FE1201 1207001FB512F0B6FCA2C648C7FCB3A4150CAA017E131C017F1318A26D133890381F8030 ECC070903807E0E0903801FFC09038007F001E3E7EBC26>IIIIII<003FB612E0A29038C0003F90C713C0003CEC7F8000 38ECFF00A20030495A0070495AA24A5A0060495AA24A5A4A5AA2C7485A4AC7FC5B5C495A 13075C495A131F4A1360495A495AA249C712C0485AA2485A485A1501485A48481303A248 48EB07804848131F00FF14FF90B6FCA2232B7DAA2B>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmbx12 12 44 /Fn 44 122 df12 D45 DI48 DIII<163FA25E 5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14 F8EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E 5A12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01 FFEB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01 C714C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0 C8FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C0 123E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F 01FCC7FC010113C02D427BC038>I56 DII65 D67 DI70 D73 D77 D<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC902601FFF0 EB1FFF01070180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01FF8348496F 7E48496F1380A248496F13C0A24890C96C13E0A24819F04982003F19F8A3007F19FC4917 7FA400FF19FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0A26C6D4B13 C06C19806E5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001075B6D01F0 011F5B010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713C047467AC4 54>79 DI82 DI85 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7E A26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC0100 0313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013E EBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 DIIIIIII<137C48 B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA7FFF A512037EB3AFB6FCA518467CC520>I108 D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E00281 6E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F6C01 9E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FEA557 2D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC91388F80 1F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D7CAC 3E>II<90397FC00FF8B590 B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D13804A15 C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E5B6E 4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092C9FC ADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC91389F1F FE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0A527 2D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC00049133F48 C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C14FC 6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA27EA2 6C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E007FE C7FC232F7CAD2C>IIIII121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmtt12 14.4 25 /Fo 25 122 df46 D64 D 77 D<0103B57E013F14F848B7FC4816804816C04816E04816F0EC800301FCC7127FD83F F0EC1FF849140FA24848EC07FCA2491403A648C8EA01FEB3B06D1403007F16FCA56D1407 A36C6CEC0FF86D141F6D143F6C6CEC7FF09039FF8003FF91B6FC6C16E06C16C06C16806C 1600D8003F14F8010314802F4B79C93E>79 D<003FB812FC5AB912FEA590C7EB0001A900 7EEE00FCA2C81500B3B3AC49B67E4981A56D5D37497DC83E>84 D<90380FFFC0017F13F8 48B512FE486E7E4815E04881823A1FFC007FFC49EB0FFE1507ED01FFA26C486D7F6C4814 7FC97F163FA60203B5FC147F0103B6FC131F137F90B7FC0003ECC03F48EBF800481380D8 1FFCC7FCEA3FF05B485A5B12FF90C8FCA56D147F127F6D14FF6C6C130301F8010F7F6CB4 90B612F86C90B7FC18FC6C15CF000115076CDAFC0313F8013F9038F0007F010790C9FC36 3679B43E>97 D<383FFF805AB57EA37E7EEA003FAEED07FC92383FFF8092B512E002C314 F802CF8002DF8091B7FCDBF80F1380DBC00113C092C713E04A143F4AEC1FF04A15F84A14 0F4AEC07FCA217034A15FE1701A318FF83A95F18FEA280170318FC6E140718F86E140FEF 1FF06E143F6EEC7FE06EECFFC0DBC0031380EDF01F92B6120002DF14FC02CF5C02C35CD9 1F8114C090260F807F90C7FC90C7EA0FF8384A7FC83E>I<913807FFF0023F13FE49B612 80010715C04915E04915F0137F903AFFFC003FF84801E0131F48138091C7FC485A4848EC 0FF049EC07E0484891C7FC5B123F5B127F5BA312FF90CAFCA97F127FA27F123F7F17FC6C 6CEC01FE7F6C7E6C6C14036DEC07FC6C01C0130F6C01F0EB1FF86C01FEEBFFF06DB612E0 6D15C0010F15806D1500010114FC6D6C13F0020790C7FC2F3678B43E>I<923803FFF85D 4B7FA38181ED0003AEEC1FF0ECFFFE0103EBFF83010F14E34914F3017F14FB90B7FC48EB F80F48EBC00191C7FC4848143F4848141F5B4848140F491407123F491403127F5BA312FF 90C8FCA97F127FA216077F123F6D140FA26C6C141F6D143F000F157F6C6C14FF01FF5B6C 6D5A6CD9F01FEBFFFC6C90B500FB13FE6D02F313FF6D14E3010F14C36D020113FE010101 FC14FC9026003FE0C8FC384A7CC83E>II<923801FFC0030F13F0033F13FC92B512FE5C4A14FF5C4A1303EC1FF89238F001 FEEC3FE09238C000FC027F14005DAA003FB712F05AB812F8A36C16F0A2C7D87F80C7FCB3 B3003FB7FCA2481680A36C1600A2304A7CC93E>I<143E147F4A7E497FA56D5B6EC8FC14 3E91C9FCAC003FB57E5A81A47EC7123FB3B3007FB71280B812C0A56C16802A4A76C93E> 105 DII<007FB5 12C0B6FC81A47EC7121FB3B3B3A5007FB712F8B812FCA56C16F82E4978C83E>II< ED07FC3B3FFF803FFF804891B512E0B500C38002C78002CF806C01DF806C9038FFF80FD8 003F9038C003FFED00014A7F4A815C177F5CA25CA35CB3A8003FB5D8C07FB51280486EB6 12C0B66C15E0A36C4A15C06C4A6C14803B347FB33E>IIIII<903901FFF00F011F9038FE1F8090B612BF000315FF5A5A5A393FFE003F01F013 07D87FC0130190C8FC5A48157FA47EEE3F00D87FC091C7FC13F0EA3FFE381FFFF06CEBFF C06C14FE6C6E7EC615E0013F14F8010780D9003F7F02007F03071380030013C0003EED3F E0007F151F48150F17F06D1407A37FA26D140F6D15E0161F01FCEC3FC06D14FF9026FFC0 0F138091B612005E485D013F5C6D14E0D8FC0714802778007FF8C7FC2C3677B43E>I<14 7C14FC497EAD003FB712FC5AB87EA36C5EA2260001FEC9FCB3A6173FA2EF7F80A76E14FF 6D16006F5A9238C007FE91387FF01F92B55A6E5C6E5C6E5C6E1480020149C7FC9138003F F031437DC13E>I<263FFF80EB7FFF4892B5FCB56C4880A36C806C81D8003FEC007FB3AC 17FFA25E5E80011F140F6E5B02FE90B612806DB812C06D17E083010114FE6DDAF83F13C0 023F01E01480020790C9FC3B347FB23E>I<263FFFFC90383FFFFC484B13FEB56C90B5FC A36C497F6C6F13FCC690C8EAFE007F4C5A80013F14036E5C131F16076E5C130F804C5A13 078001034A5AA28001014A5A8013004CC7FC808016FEEC3F80A2ED81FCEC1FC1A25EEC0F E3A202075B15F7A202035B15FF805EA2805E157FA293C8FCA25D5DA214015DA214035DA2 14075D3807800FD81FE05B141FD83FF05B143F4A5A14FF01E390C9FC6CB45AA26C5B5C6C 13E000015BD8007ECAFC374F7DB23E>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmti12 14.4 9 /Fp 9 85 df<007FB512F8A2B6FCA215F0A21D06769C2A>45 D67 D<020FB712FEF1FFE04A17F8869126000FFEC7EA1FFF6F4802037F07007F030FEE3FE074 7E4C150F747E031F707EA24C6F7EA2033F83865EA2037FEF7F80A25EA215FF1CC05EA25C A293CAFCA24A18FFA25D1C801407A24B5EA2140F1C004B5EA2141F634B1607A2023F601A 0F5D63027F171F635D505A14FF505A5D505A4996C7FC6192C95B4F5A491707624A4C5A4F 5A01074D5A4F5A4A4CC8FC4E5A010F4C5AF00FF84A4B5AF07FC0011F4B485ADD07FEC9FC 017FED7FFCB912F018C04DCAFC17E0525278D158>I<020FB912FCA25CA29126000FFEC7 12016F48EC001F1A0F030FEE03F8A24C1501A2151F1A005EA2033F17F0A25EA2157FA24C 1501A203FFDA07C013E019805EA24A030F90C7FC96C8FC93C7FC605C183E5D187E020715 FEEF07FC92B6FCA25C609238F8000F1703021F1401605DA2143F605DA2027F0203141F4E 131E5D1A3E02FF91C8123CA24B167C1A784918F86292C91201A2494D5AA24A4C5AA20107 170F624A161F193F010F4DC7FC614A4B5A1803011F160FF07FFC017FED07FFBA5AA3614E 5278D14F>I<020FB612C0A24A1580A2DA000F90C7FC6F5A5E150FA25EA2151FA25EA215 3FA25EA2157FA25EA215FFA25EA25CA293C8FCA25CA25DA21407A25DA2140FA25DA2141F A25DA2143FA25DA2147FA25DA214FFA25DA25BA292C9FCA25BA25CA21307A25CA2130FA2 5CA2131FA2137FB612FCA4325278D12D>73 D<91260FFFFE033FB512E0824A4D14C0A2DA 00076D0201EBF0009738007FC0644B6D6FC7FC1B3E047F163C83031F177C043F1678031E 7FA2DB3E1F16F8715D153C160F037C6D140163ED78078303F8160304035E15F08302016D 15076303E080820203170F7291C8FC4B137FA202076F5B053F141E5D84020F021F143E1A 3C92C77F170F4A177C721378021E1407A2023E6F13F805035C143C84027C1601715C0278 1681A202F86E1383F1C3C05C187F010117E7624A153F19F7010317FF7290C9FC5CA20107 82615C1807130F6191C91203497E133F496C6F5A3803FFF0B67E180061A25B5278D157> 78 D<020FB712E019FE4A707E1AE09126000FFEC713F86F48EC1FFCF107FE030FED01FF 7313804C157F1BC0151FF23FE05EA2033F17F0A25EA2157FF27FE05EA203FF17C01AFF5E 4F13804A18006193C85B4F5A4A4C5A624BED3FE04F5A02074CC7FCF003FC4BEC1FF89438 01FFE04AB7C8FC18F8A29239F80003FE021F913800FF80727E4B6E7E181F023F6F7EA24B 811807147FA24B81A202FF150F615DA249161FA292C8FC6149163FA25CA21307187F4A5E 1BF0010F18011BE05C1A03011F19C0063F1307017F1980B600FC021FEB0F00735A95380F F83E953803FFFCCC13F0F11FC04C5478D155>82 DI<90BB1280A25AA29129F0001FF8000F13004890C749130101FC 023F80498448484B805B49027F153E120F495DA248C812FFA2001E4C143C123E5D123C00 7C93C8FC0078197C4B167812F8485DA21507C894C7FC5EA2150FA25EA2151FA25EA2153F A25EA2157FA25EA215FFA25EA25CA293CBFCA25CA25DA21407A25DA2140FA25DA2141FA2 5DA2143FA25DA2147F14FF01037F003FB7FCA449516BD054>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmr12 14.4 27 /Fq 27 122 df<120FEA3FC0EA7FE012FF13F0A213F8A3127F123FEA0F381200A5137813 70A313F013E0A2120113C0120313801207EA0F00121EA25A5A12300D23768B21>44 D48 D<14075C5C147F5C1307133F 000FB5FCB6FC13F913C1EAF0011200B3B3B3A7497F010F13E0B712FEA4274F75CE3B>I< EC7FE0903803FFFE010F6D7E013F14E0D9FF0013F8D801F8EB1FFCD803E06D7E4848EB03 FF48486D138090C813C0001E16E0001C157F003CED3FF012380078ED1FF81270A2B4ED0F FC13C07FA66C5A6C5A000EC8FCC9EA1FF8A317F0163FA2EE7FE017C016FF17804B1300A2 4B5A4B5A5E4B5A4B5A4B5A5E4BC7FC15FE4A5A4A5A4A5A4A5A5D4A5A4AC8FC147E5C4948 141CEB03E0495A4948143891C8FC131E5B5B491578485A48481570484815F048B7FCA25A 5A5AB812E0A42E4F7ACE3B>I57 D66 D68 D73 D77 D80 D85 D97 DII101 D<157F913803FFE0020F13F091383FC0F891387F01FC903901FE03FE 903803FC0714F81307EB0FF0A290391FE003FCED01F892C7FC495AB3B612FEA426003FC0 C7FCB3B3A580EBFFF0007FEBFFF8A427547DD324>II<1378EA 01FE487E487FA66C90C7FC6C5AEA007890C8FCB0EB7F80B5FCA41203C6FC137FB3B3A438 01FFE0B61280A419507CCF21>105 D108 D<01FFD907FEEC03FFB590261FFFC0010F13E0037F01F001 3F13F8912701F80FFC9038FC07FE913D03C003FE01E001FF000390260700019038038000 C6010E6D6C48C76C7E6D48DA7F8E6E7E4A159CA24ADA3FF86E7E02605D14E04A5DA34A5D B3AD2601FFE0DAFFF0EC7FF8B6D8C07F9026FFE03FB512F0A45C347CB363>I<01FFEB07 FCB590383FFF8092B512E0913901F00FF8913903C007FC000349C66C7EC6010E13016D48 6D7E5C143002706E7E146014E05CA35CB3AD2601FFE0903801FFE0B600C0B612C0A43A34 7CB341>II<01FFEB1F80B5EB7FF0913801FFF8913803E1 FC91380783FE0003EB0F07C6131EEB7F1C1438143091387003FC91386000F0160014E05C A45CB3AA8048487EB612F0A427347DB32E>114 DII118 D121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fr cmbx12 20.74 21 /Fr 21 118 df<13FF000313E0487F001F13FC487F805A1580B612C0A315E0A315F0A37E A27EA27E000713F36C13E3C61383EB00031407A215E0A3140FA215C0141FA2EC3F80A214 7F15005C5C1301495A5C1307495A495A133F495A495A4890C7FC485A485A485A5B6C5AEA 01801C3A72F736>39 D[<17F0EE03F81607EE0FF0163FEE7FE0EEFFC04B13804B13004B 5A4B5A4B5A153F4B5A4B5A5C5E4A5B5C4A90C7FC4A5AA24A5A147F5D14FF5D5B495BA249 5BA25B5D5B92C8FC5BA2495AA213FF5CA25A5CA25AA25C5AA35A5CA35AA25CA25AA55C5A A8B5FCA391C9FCB280A37EA87E80A57EA280A27EA3807EA37E80A27EA2807EA280137FA2 6D7EA27F817F817FA26D7FA26D7F7F81147F81143F6E7EA26E7E6E7F806E7F82806F7E6F 7E151F6F7E6F7E6F7E6F13806F13C0EE7FE0EE3FF0160FEE07F81603EE00F0>45 172 110 256 75 I[<127812FE7E6C7E13E06C7E6C7E6C7E6C7E6C7E6C7F6C7F806D7E6D 7E80131F6D7E806D7F6D7FA26D7F817F81147F816E7EA26E7EA28280828082A26E7FA282 80A28280A282A2157F82A3178081A317C0A281A217E0A58117F0A817F8A381B25DA317F0 A817E05DA517C0A25DA21780A35D1700A35E15FFA25EA25C5EA25C5EA24A5BA25E5C5E5C 93C7FCA24A5AA24A5A5D14FF5D5B5D495BA2495B4990C8FC5C495A133F5C495A495A5C48 5B4890C9FC485A485A485A485A485A138048CAFC5A1278>45 172 117 256 75 I45 D<137F3801FFC0000713F0487F487F487F48 7FA2B61280A96C1400A26C5B6C5B6C5B6C5B000113C06C6CC7FC1919729836>I 48 DI<93B5FC031F14F092B612FE 02076F7E021F16E04A16F891B87E49DAF00713FF0107DA0001804901FC6D6C7F49496E7F 49496E7F49496E7F90B5486E7F484A8048854891C86C7FA2487114805C481AC0A2487213 E0A2484918F0A31BF8A2B5FCA27313FCA51BFEA71BFF61A27EA396B6FC7EA2806C5FA27E 606C7F607E6C6E5C6CEF1FBF6D6DEC3F3F6D6D147F6D6D14FE6D6DEB01FC6D01FE130701 019039FFC01FF86D91B500F014FE023F15C06E15800203ECFE00DA007F13F8030713C092 C9FC4F13FCA41BF8A31BF0D91FF093B5FCEB7FFC496C18E0487F486E17C06048801B804E 1400A26260624E5B4B5C626C91C8485B4A4B5B4A92B55A6C01F04A91C7FC02804A5B6C01 E0020F5B6D6C023F13F002FE91B55A90273FFFE00F5C6D90B7C8FC010716FC6D16F00100 16C0023F92C9FC020714F09126007FFECAFC507378F061>57 D<96267FFFE01670063FB6 ED01F80503B700F01403053F04FC14074CB96C130F040706E0131F043F72133F93BA00FC 137F0303DC00076D13FF030F03C09039003FFF814B02FCC8000713C3037F02E0030113F7 92B600806F6CB5FC02034ACA121F4A02F8834A02E0834A4A1701027F4A8391B548CC7E49 4A85495C4C854988494A85494A85495C8A4991CDFC90B54886A2484A1B7FA2481E3F5D48 1E1F5D5A1F0FA2485CA3481E075DA2795A489BC9FCA45DA2B6FCB27EA26F0403BA12C0A4 7EA3816C96C8000302F8C7FCA36C80A36C80A27E817E817E817F6D80827F6D806D806D80 826D6E606D806E80021F6E5F6E02F05F6E806E02FE5F0200DAFFC05E6F02F04BB6FC031F 02FE030713CF6FDAFFE0021F138703039226FF8003B51201030093B6EAFC00043F4E133F 040706E0131F04014E1307DC003F4CC71201050304F8EC0070DD003F038092C8FCDE007F 01F0CCFC827A75F798>71 D77 D85 DI<97380FFFE00607B6FCA8F00003190086B3AD93383FFF800307B512F8033F14FF 4AB712C0020716F0021F16FC027F9039FE007FFE91B500F0EB0FFF01030280010190B5FC 4949C87E49498149498149498149498190B548814884484A8192CAFC5AA2485BA25A5C5A A35A5CA4B5FCAF7EA4807EA37EA2807EA26C7F616C6E5D6C606C80616D6D5D6D6D5D6D6D 92B67E6D6D4A15FC010301FF0207EDFFFE6D02C0EB3FFE6D6C9039FC01FFF86E90B65A02 0F16C002031600DA007F14FC030F14E09226007FFEC749C7FC5F797AF76C>100 D<93387FFF80030FB512FC037FECFF804AB712E0020716F8021F16FE027FD9F8077F49B5 D8C000804991C7003F13E04901FC020F7F49496E7F49498049496E7F49496E7F90B55A48 727E92C914804884485B1BC048841BE0485BA27313F05AA25C5AA21BF885A2B5FCA391BA FCA41BF002F8CCFCA67EA3807EA47E806CF103F0F207F86C7F1A0F6C6E17F06C191F6F17 E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13806D6D4B13006D6D6CEC0FFE6D02E0EC3FFC 6D02F8ECFFF86D9126FFC00F5B023F91B65A020F178002034CC7FC020016F8031F15E003 0392C8FCDB000F13E04D507BCE58>I105 D<902601FFF891380FFFE0B692 B512FE05036E7E050F15E0053F15F84D81932701FFF01F7F4CD900077FDC07FC6D80C66C DA0FF06D80011FDA1FC07F6D4A48824CC8FC047E6F7F5EEDF9F85E03FB707F5E15FF5EA2 5EA293C9FCA45DB3B3A6B8D8E003B81280A8614E79CD6C>110 D<93381FFFE00303B6FC 031F15E092B712FC020316FF020F17C0023FD9FC0014F091B500C0010F13FC4991C70003 7F4901FC02007F010F496F13C049496F7F49496F7F4B8149496F7F90B5C96C7F4886A248 49707F481B80A248497014C0A2481BE0A348497113F0A3481BF8A5B51AFCAE6C1BF8A46C 1BF06E94B5FCA36C1BE0A26C6D4C14C0A26C1B806E5E6C1B006C6E4B5BA26C6E4B5B6D6D 4B5B6D6D4B5B6D6D4B5B6D6D92B55A6D01FF02035C6D02C0010F91C7FC010002FC90B512 FC6E90B75A021F17E00207178002014CC8FCDA003F15F0030392C9FCDB001F13E056507B CE61>I<902601FFF8EB07FEB691383FFFC094B512F00403804C14FE4C8093261FFC3F13 8093263FE07F13C0DC7F80B5FCC66C5D011FDAFE0114E06DEBF9FC16F815FB16F016E015 FF16C07114C05E72138095381FFE0093C76C5AF001E095C8FCA25DA65DB3B3A2B812F8A8 434E7ACD4F>114 D<912603FFFCEB0780027F9039FFE00FC00103B6EAF83F010FEDFEFF 013F92B5FC49EB000F2601FFF01300480180143F4890C8120F4848814848814981123F83 485A187FA212FF6D163FA37F7F6DEE1F8002C092C7FC14F014FEECFFF06CECFF8016FEEE FFE06C16FC6C16FF18C06C836C17F86C836C836C83013F17806D17C0010717E0010117F0 EB003F020716F8EC001F030015FC1607EE007F051F13FE1707007E82B482836D167FA218 3F7F181FA27F19FC7FA26D163F6D17F86D167F19F06D16FF6E4A13E002E04A13C06E4A13 8002FE023F1300913AFFC003FFFE01E790B65A01C316F0018016C026FE003F92C7FC4801 0714F80070D9007F90C8FC3F507ACE4C>I<15FFA75CA55CA45CA25CA25CA25CA25C91B5 FCA25B5B5B131F5B90B9FC120FBAFCA6D8000791C9FCB3B3A3F01FE0AE183F7014C07F18 7F7014806D16FF826D4B13006E6D485AEEFE0F6E90B55A020F5D6E5D020115C06E6C5C03 1F49C7FC030113F03B6E7CEC4B>II E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 1 1 1 0 bop 342 1782 a Fr(M-tree)66 b(\(V)-16 b(ersion)66 b(0.911\))e(User's)h(Guide)1531 2254 y Fq(Marco)38 b(P)m(atella)1360 2404 y Fp(DEIS)k(-)g(CSITE-CNR)1178 2553 y Fq(Univ)m(ersit)m(y)36 b(of)j(Bologna,)d(Italy)1213 2702 y Fo(mpatella@deis.)o(un)o(ib)o(o.)o (it)1406 3015 y Fq(Decem)m(b)s(er)i(19,)f(2000)p eop %%Page: 1 2 1 1 bop 1676 1604 a Fn(Abstract)0 1862 y Fm(M-tree)36 b([CPZ97])f(is)g(a)g(dynamic)f(access)j(structure)g(suitable)d(to)h (index)h(generic)f(\\metric)f(spaces",)0 1983 y(where)24 b(the)f(function)f(used)i(to)e(compare)g(ob)5 b(jects)24 b(is)e(a)g(metric,)i(satisfying)d(the)i(p)s(ositivit)m(y)-8 b(,)23 b(symmetry)-8 b(,)0 2103 y(and)22 b(triangle)e(inequalit)m(y)h (p)s(ostulates.)40 b(Our)22 b(M-tree)h(implemen)m(tation)18 b(is)k(based)h(on)f(the)g(Generalized)0 2223 y(Searc)m(h)29 b(T)-8 b(ree)29 b(\(GiST\))e(C++)h(pac)m(k)-5 b(age)29 b([HNP95],)g(a)f(structure)i(extendible)e(b)s(oth)g(in)f(the)h(data)g (t)m(yp)s(es)0 2344 y(and)37 b(in)f(the)i(queries)g(it)e(can)h(supp)s (ort.)57 b(This)38 b(do)s(cumen)m(t)f(serv)m(es)i(as)f(do)s(cumen)m (tation)e(for)g(the)i(user)0 2464 y(who)32 b(w)m(an)m(ts)i(to)e (understand)h(the)g(features)g(pro)m(vided)f(b)m(y)h(this)f(soft)m(w)m (are,)h(and)f(as)h(reference)g(for)f(the)0 2584 y(user)h(willing)d(to)i (tailor)e(the)j(M-tree)g(for)f(his/her)h(application.)p eop %%Page: 1 3 1 2 bop 0 100 a Fl(Con)l(ten)l(ts)0 349 y Fn(1)90 b(In)m(tro)s(duction) 2959 b(2)0 597 y(2)90 b(F)-9 b(eatures)3164 b(2)0 845 y(3)90 b(M-tree)38 b(Classes)g(Reference)2336 b(3)146 995 y Fm(3.1)100 b Fk(MT)33 b Fm(Class)65 b(.)50 b(.)g(.)g(.)g(.)g(.)f (.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)141 b(3)146 1145 y(3.2)100 b Fk(Object)34 b Fm(Class)91 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)141 b(7)146 1296 y(3.3)100 b Fk(MTkey)34 b Fm(Class)65 b(.)50 b(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)141 b(9)146 1446 y(3.4)100 b Fk(MTpenalty)35 b Fm(Class)91 b(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(10)146 1596 y(3.5)100 b Fk(MTentry)34 b Fm(Class)40 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(11)146 1747 y(3.6)100 b Fk(MTfile)34 b Fm(Class)91 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(12)146 1897 y(3.7)100 b Fk(MTnode)34 b Fm(Class)91 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(13)146 2048 y(3.8)100 b Fk(MTpred)34 b Fm(Class)91 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(14)371 2198 y(3.8.1)111 b Fk(Pred)33 b Fm(Class)j(.)49 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(14)371 2348 y(3.8.2)111 b Fk(AndPred)34 b Fm(Class)h(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(15)371 2499 y(3.8.3)111 b Fk(OrPred)34 b Fm(Class)86 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(16)371 2649 y(3.8.4)111 b Fk(NotPred)34 b Fm(Class)h(.)50 b(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(16)146 2800 y(3.9)100 b Fk(MTquery)34 b Fm(Class)40 b(.)50 b(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(17)371 2950 y(3.9.1)111 b Fk(SimpleQuery)35 b Fm(Class)61 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)f(.)h (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)92 b(18)371 3100 y(3.9.2)111 b Fk(TopQuery)34 b Fm(Class)61 b(.)50 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(18)146 3251 y(3.10)51 b Fk(MTcursor)34 b Fm(Class)66 b(.)50 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)92 b(19)0 3499 y Fn(4)e(M-tree)38 b(Files)e(Ov)m(erview)2423 b(20)0 3747 y(5)90 b(Cop)m(yrigh)m(t)37 b(and)h(Disclaimer)2255 b(21)1865 5446 y Fm(1)p eop %%Page: 2 4 2 3 bop 0 100 a Fl(1)161 b(In)l(tro)t(duction)0 349 y Fm(The)29 b(M-tree)f(is)g(an)g(index)g(structure)h(able)e(to)h (organize)f(and)h(searc)m(h)i(large)d(data)g(sets)i(dra)m(wn)g(from)e (a)0 469 y(generic)k(\\metric)f(space")i Fj(M)27 b Fm(=)h(\()p Fj(D)s Fi(;)17 b(d)p Fm(\),)30 b(where)i Fj(D)i Fm(is)c(a)h(domain)f (of)g(feature)h(v)-5 b(alues,)32 b(and)f Fi(d)c Fm(:)h Fj(D)3613 433 y Fh(2)3680 469 y Fj(!)0 589 y(<)72 548 y Fh(+)72 614 y(0)164 589 y Fm(is)k(a)g(metric)f(function)h(satisfying) g(the)h(follo)m(wing)d(axioms,)h(for)i(eac)m(h)g Fi(v)2814 604 y Fg(x)2858 589 y Fi(;)17 b(v)2949 604 y Fg(y)2990 589 y Fi(;)g(v)3081 604 y Fg(z)3149 589 y Fj(2)28 b(D)s Fm(:)912 771 y Fi(d)p Fm(\()p Fi(v)1048 786 y Fg(x)1091 771 y Fi(;)17 b(v)1182 786 y Fg(x)1226 771 y Fm(\))28 b(=)f(0)1195 b(\(non-negativit)m(y\))914 917 y Fi(d)p Fm(\()p Fi(v)1050 932 y Fg(x)1094 917 y Fi(;)17 b(v)1185 932 y Fg(y)1226 917 y Fm(\))28 b Fi(>)f Fm(0)195 b(\()p Fi(v)1724 932 y Fg(x)1796 917 y Fj(6)p Fm(=)27 b Fi(v)1946 932 y Fg(y)1988 917 y Fm(\))826 b(\(p)s(ositivit)m(y\))914 1062 y Fi(d)p Fm(\()p Fi(v)1050 1077 y Fg(x)1094 1062 y Fi(;)17 b(v)1185 1077 y Fg(y)1226 1062 y Fm(\))28 b(=)f Fi(d)p Fm(\()p Fi(v)1531 1077 y Fg(y)1573 1062 y Fi(;)17 b(v)1664 1077 y Fg(x)1707 1062 y Fm(\))1085 b(\(symmetry\))450 1207 y Fi(d)p Fm(\()p Fi(v)586 1222 y Fg(x)630 1207 y Fi(;)17 b(v)721 1222 y Fg(z)760 1207 y Fm(\))22 b(+)g Fi(d)p Fm(\()p Fi(v)1054 1222 y Fg(z)1094 1207 y Fi(;)17 b(v)1185 1222 y Fg(y)1226 1207 y Fm(\))28 b Fj(\025)g Fi(d)p Fm(\()p Fi(v)1533 1222 y Fg(x)1577 1207 y Fi(;)17 b(v)1668 1222 y Fg(y)1709 1207 y Fm(\))729 b(\(triangle)31 b(inequalit)m(y\))146 1419 y(The)44 b(o)m(v)m(erall)f(structure)h(of)f (the)g(M-tree)h(is)e(in)m(tro)s(duced)i(in)e([CPZ97],)k(its)c (extension)i(to)f(deal)0 1540 y(with)29 b Ff(c)-5 b(omplex)32 b(queries)37 b Fm(can)30 b(b)s(e)g(found)g(in)f([CPZ98],)i(and)f(a)f (bulk-loading)e(algorithm)g(is)i(presen)m(ted)0 1660 y(in)39 b([CP98].)65 b(Finally)-8 b(,)38 b(a)h(more)g(comprehensiv)m(e) i(description)e(of)g(the)h(structure,)j(together)d(with)f(a)0 1780 y(discussion)29 b(ab)s(out)f(the)h(underlying)f(principles)f(and)i (ab)s(out)f(p)s(ossible)g(extensions,)i(can)f(b)s(e)g(found)f(in)0 1901 y([P)m(at99].)146 2051 y(Our)41 b(implemen)m(tation)d(is)j(based)h (on)f(the)g(GiST)g(C++)g(pac)m(k)-5 b(age)42 b([HNP95],)h(and)e(the)h (v)m(ersion)0 2172 y(n)m(um)m(b)s(ering)32 b(follo)m(ws)g(that)h(of)g (GiST)f(libraries)f(\(this)h(is)h(wh)m(y)h(n)m(um)m(b)s(ering)f(of)f (releases)i(started)g(from)0 2292 y(0.9\).)42 b(In)32 b(order)e(to)h(successfully)h(build)d(the)j(M-tree)f(pro)5 b(ject,)32 b(the)f(user)h(needs)g(to)e(obtain)g(the)h(GiST)0 2412 y(library)g(ha)m(ving)h(a)h(v)m(ersion)g(n)m(um)m(b)s(er)g (\(most\))f(equal)g(to)g(that)h(of)f(the)h(M-tree)g(v)m(ersion.)3223 2376 y Fh(1)146 2563 y Fm(In)k(the)g(next)g(Section,)g(w)m(e)g (illustrate)d(the)j(basic)f(features)h(pro)m(vided)g(b)m(y)g(the)g (M-tree)f(soft)m(w)m(are)0 2683 y(library)-8 b(.)39 b(In)24 b(Section)g(3,)i(w)m(e)f(presen)m(t)h(a)e(brief)f(description)h(of)g (all)e(the)i(classes)h(included)f(in)f(the)i(library)-8 b(,)0 2803 y(sho)m(wing)27 b(the)h(user)g(ho)m(w)g(to)f(tailor)e(the)j (index)f(structure)i(to)e(his/her)g(needs)i(and)e(ho)m(w)h(to)f(tune)h (index)0 2924 y(p)s(erformance.)55 b(Finally)-8 b(,)35 b(in)h(Section)h(4,)g(w)m(e)h(describ)s(e)f(the)g(con)m(ten)m(ts)i(of)d (eac)m(h)i(\014le)e(included)g(in)g(the)0 3044 y(library)-8 b(.)0 3401 y Fl(2)161 b(F)-13 b(eatures)0 3650 y Fm(In)38 b(order)g(to)f(de\014ne)i(the)f(data)f(that)g(will)f(b)s(e)i(indexed)g (b)m(y)g(the)h(M-tree)54 b(the)38 b(user)g(has)g(only)f(to)h(re-)0 3771 y(de\014ne)h(the)g Fk(Object)g Fm(class)f(\(see)h(Section)f (3.2\).)59 b(An)38 b(additional)d(degree)k(of)f(freedom)f(pro)m(vided)i (b)m(y)0 3891 y(the)34 b(library)e(is)h(the)h(c)m(hance)g(that)g(the)f (user)i(is)e(giv)m(en)g(to)g(sp)s(ecify)h(the)g(size)g(of)f(eac)m(h)h (no)s(de)g(stored)g(on)0 4012 y(disk.)44 b(This,)33 b(of)f(course,)h (a\013ects)h(the)f(no)s(des')g(fan-out)f(and,)g(therefore,)i(the)f (index)g(p)s(erformance.)146 4162 y(Creating)k(a)f(new)i(M-tree)f(is)f (as)h(easy)h(as)f(sa)m(ying)g(\\new"!)56 b(In)38 b(fact,)f(in)f(order)h (to)g(create)g(a)g(new)0 4282 y(index)c(structure,)h(it)d(is)h (su\016cien)m(t)i(to)e(instan)m(tiate)g(the)h Fk(MT)g Fm(class,)g(e.g.:)1480 4464 y Fk(MT)51 b(*tree=new)j(MT;)0 4646 y Fm(Then,)39 b(in)d(order)g(to)g(pro)m(vide)h(p)s(ersistence)h (to)e(the)h(index,)h(the)f(user)h(has)f(to)f(\\link")f(the)i Fk(MT)g Fm(ob)5 b(ject)0 4767 y(to)32 b(a)h(\014le)f(on)g(disk,)h(with) f(the)h(follo)m(wing)d(instructions:)1300 4949 y Fk (tree->Create\(filename\);)p 0 5006 1512 4 v 112 5067 a Fe(1)149 5097 y Fd(In)e(this)g(case,)f(GiST)h(library)e(v)n(ersion)g (0.9,)h(also)g(a)n(v)-5 b(ailable)26 b(at)h(URL:)0 5197 y Fc(http://www-db.de)o(is.)o(un)o(ib)o(o.i)o(t/)o(~pa)o(te)o(lla)o(/M) o(Mi)o(nde)o(x.)o(htm)o(l)p Fd(.)1865 5446 y Fm(2)p eop %%Page: 3 5 3 4 bop 0 100 a Fm(if)31 b(the)i(index)g(has)g(to)f(b)s(e)h(created)h (from)d(scratc)m(h,)j(or:)1351 320 y Fk(tree->Open\(filename\);)0 540 y Fm(if)41 b(the)i(index)g(is)f(already)g(stored)h(in)e(the)i (\014le)f(named)g Fk(filename)p Fm(.)75 b(Ob)5 b(jects)44 b(can)f(b)s(e)f(inserted)h(in)0 660 y(the)35 b(tree)g(one)g(b)m(y)g (one)g(or)f(using)h(a)f(bulk-loading)e(tec)m(hnique)k(\(see)f(Section)g (3.1\).)49 b(The)35 b(M-tree)g(can)0 780 y(b)s(e)d(searc)m(hed)h(using) e(nearest)h(neigh)m(b)s(ors)g(and)f(range)g(queries,)i(ev)m(en)g(in)e (a)g(\\complex")f(en)m(vironmen)m(t)0 901 y([CPZ98])41 b(where)h(query)g(predicates)g(are)e(expressed)k(as)d(conjunctions,)i (disjunctions,)g(and)e(nega-)0 1021 y(tions)34 b(of)g(simple)f (predicates)i(\(see)g(Section)g(3.9\).)48 b(Moreo)m(v)m(er,)37 b(a)d(sorted)h(access)h(to)f(the)f(tree)h(is)f(also)0 1142 y(pro)m(vided,)d(where)h(indexed)f(ob)5 b(jects)32 b(are)f(returned)g(one)g(b)m(y)g(one)g(sorted)g(b)m(y)g(increasing)f (distance)h(to)0 1262 y(the)i(query)h(predicate.)146 1412 y(The)k(library)d(includes)h(three)h(in)m(teger)g(v)-5 b(alues,)37 b Fk(compdists)p Fm(,)j Fk(IOread)p Fm(,)f(and)d Fk(IOwrite)p Fm(,)k(to)c(k)m(eep)0 1533 y(trac)m(k)45 b(of)g(CPU)g(and)g(I/O)f(costs.)81 b(More)45 b(precisely)-8 b(,)48 b(ev)m(ery)e(time)e(a)g(distance)h(is)f(computed)h(\(i.e.)0 1653 y(the)c(metho)s(d)f Fk(Object::distance\(\))45 b Fm(is)40 b(called\),)h(the)g(v)-5 b(alue)40 b(of)47 b Fk(compdists)c Fm(is)d(increased)h(b)m(y)h(1;)0 1773 y(ev)m(ery)g(time)d(a)h(no)s(de)g(is)g(read)h(from)e(disk)h(\(through)g (the)h(metho)s(d)e Fk(MTfile::Read\(\))p Fm(\),)46 b(the)41 b(v)-5 b(alue)0 1894 y(of)44 b Fk(IOread)39 b Fm(is)e(increased)i(b)m (y)f(1;)i(ev)m(ery)g(time)c(a)i(no)s(de)f(is)h(written)f(on)h(disk)f (\(through)h(the)g(metho)s(d)0 2014 y Fk(MTfile::Write\(\))p Fm(\),)f(the)c(v)-5 b(alue)32 b(of)39 b Fk(IOwrite)34 b Fm(is)e(increased)h(b)m(y)h(1.)0 2377 y Fl(3)161 b(M-tree)53 b(Classes)g(Reference)0 2626 y Fm(This)37 b(Section)f(describ)s(es)i (all)c(the)j(classes)h(included)e(in)g(the)g(M-tree)h(library)-8 b(.)54 b(F)-8 b(or)36 b(eac)m(h)h(class,)h(the)0 2746 y(follo)m(wing)30 b(items)i(are)g(listed:)145 2980 y Fj(\017)49 b Fm(The)33 b(name)g(of)f(the)h(sup)s(er-class)g(\(if)e (applicable\))145 3183 y Fj(\017)49 b Fm(The)33 b(name)g(of)f(the)h (sub-classes)h(\(if)d(applicable\))145 3387 y Fj(\017)49 b Fm(The)33 b(name)g(and)f(a)g(brief)g(description)h(of)f(attributes)g (added)h(to)f(those)i(of)e(the)h(sup)s(er-class)145 3590 y Fj(\017)49 b Fm(The)33 b(name)g(and)f(the)h(signature)f(of)h(metho)s (ds)f(the)h(user)g(has)g(to)g(rede\014ne)h(for)e(the)h(class)145 3793 y Fj(\017)49 b Fm(The)33 b(name)g(and)f(the)h(signature)f(of)h (public)e(metho)s(ds)i(pro)m(vided)g(b)m(y)g(the)g(class)145 3997 y Fj(\017)49 b Fm(The)33 b(name)g(and)f(the)h(signature)f(of)h (priv)-5 b(ate)31 b(metho)s(ds)i(used)h(b)m(y)f(the)g(class)0 4316 y Fb(3.1)135 b Fo(MT)44 b Fb(Class)0 4530 y Fn(Class)37 b(name:)50 b Fk(MT)0 4734 y Fn(Sup)s(er-class:)g Fk(GiST)0 4937 y Fn(Sub-classes:)0 5141 y(A)m(ttributes:)1865 5446 y Fm(3)p eop %%Page: 4 6 4 5 bop 0 100 a Fn(Public)36 b(metho)s(ds:)360 303 y Fj(\017)48 b Fk(GiSTlist)c(RangeSearch\(const)k (MTquery&)d(query\))g(const)p Fm(:)39 b(range)458 423 y(searc)m(h)34 b(algorithm)360 585 y Fj(\017)48 b Fk(MTentry)54 b(**TopSearch\(const)h(TopQuery&)f(query\))f(const)p Fm(:)41 b(top)25 b(\(nearest)h(neigh-)458 706 y(b)s(ors\))33 b(searc)m(h)h(algorithm)360 868 y Fj(\017)48 b Fk(void)53 b(BulkLoad\(MTentry)i(**data,)e(int)g(n,)e(double)i(padFactor,)h(char)e (*name\))p Fm(:)458 988 y(bulk-loading)30 b(algorithm)360 1150 y Fj(\017)48 b Fk(int)53 b(MaxLevel\(\))g(const)p Fm(:)45 b(returns)34 b(the)f(tree)g(heigh)m(t)360 1312 y Fj(\017)48 b Fk(MTnode)53 b(*ParentNode\(MTnode)j(*node\))d(const)p Fm(:)40 b(returns)22 b(the)h(paren)m(t)f(no)s(de)g(of)28 b Fk(node)360 1474 y Fj(\017)48 b Fk(BOOL)53 b(CheckNode\(GiSTpath)j (path,)c(MTentry)i(*e\))e(const)p Fm(:)39 b(debug)22 b(function,)i(c)m(hec)m(ks)458 1594 y(for)33 b(no)s(de)f(consistency)0 1797 y Fn(Other)37 b(metho)s(ds:)360 2001 y Fj(\017)48 b Fk(GiSTlist)d(*SplitTree\(int)j(*ncreated,)f(int)e (level,)458 2121 y(GiSTlist)c(*children,)i(char)e(*name\)) p Fm(:)k(splits)38 b(a)f(tree)i(in)m(to)e(a)h(list)f(of)458 2242 y Fk(MT)p Fm(s,)d(used)g(during)e(bulk-load)360 2403 y Fj(\017)48 b Fk(void)53 b(Append\(MTnode)i(*to,)d(MTnode)h (*from\))p Fm(:)k(app)s(ends)39 b(the)g(sub-tree)h(ro)s(oted)e(at)458 2524 y Fk(from)c Fm(to)e(no)s(de)h Fk(to)p Fm(,)g(used)h(during)e (bulk-load)360 2686 y Fj(\017)48 b Fk(void)53 b(AdjKeys\(GiSTnode)i (*node\))p Fm(:)74 b(rede\014ned)48 b(metho)s(d)e(from)g(class)h Fk(GiST)g Fm(to)g(in-)458 2806 y(clude)33 b(computation)e(of)h (distances)i(from)d(the)i(paren)m(t)g(ob)5 b(ject)146 3064 y(This)37 b(class)g(implemen)m(ts)e(the)i(M-tree)g(index)f (structure;)k(it)c(is)g(a)g(sub-class)h(of)f(the)h(basic)f Fk(GiST)0 3185 y Fm(class.)82 b(The)46 b(class)g(de\014nition)e(can)i (b)s(e)g(found)f(in)g(the)h(\014le)f Fk(MT.h)p Fm(,)k(while)c(its)g (implemen)m(tation)d(is)0 3305 y(included)f(in)g(the)i(\014les)f Fk(MT.cpp)h Fm(and)f Fk(Bulkload.cpp)p Fm(,)47 b(the)42 b(latter)f(con)m(taining)f(the)j(co)s(de)f(for)f(the)0 3426 y(bulk-loading)i(algorithm)f([CP98)q(].)83 b(Ob)5 b(jects)47 b(of)e(the)h Fk(MT)g Fm(class)g(can)g(b)s(e)f(created)i(as)f (usual,)i(and)0 3546 y(link)m(ed)33 b(to)g(a)f(\014le)h(stored)h(on)f (disk)g(b)m(y)h(using)f(the)h Fk(Open)g Fm(metho)s(d)e(of)h(the)g Fk(GiST)h Fm(class,)g(pro)m(viding)e(the)0 3666 y(\014le)g(name.)43 b(As)33 b(an)g(example:)205 3900 y Fk(MT)52 b(*tree=new)i(MT;)205 4020 y(tree->Open\("index.M3"\);)205 4141 y(...)103 b(//)52 b(use)g(of)g(the)g(tree)205 4261 y(delete)h(tree;)146 4494 y Fm(Insertion)33 b(of)39 b Fk(Object)p Fm(s)c(in)c(the)i(tree)h (can)e(b)s(e)h(p)s(erformed)f(using)g(t)m(w)m(o)i(di\013eren)m(t)f(mo)s (dalities:)145 4728 y Fj(\017)49 b Fm(b)m(y)33 b(inserting)f(ob)5 b(jects)34 b(one-b)m(y-one,)f(using)f(the)h Fk(Insert)h Fm(metho)s(d,)e(or)145 4931 y Fj(\017)49 b Fm(b)m(y)33 b(using)g(the)g Fk(BulkLoad)h Fm(metho)s(d.)1865 5446 y(4)p eop %%Page: 5 7 5 6 bop 146 100 a Fm(When)48 b(inserting)e(ob)5 b(jects)48 b(one-b)m(y-one,)k(the)47 b(user)h(has)f(to)g(sp)s(ecify)-8 b(,)51 b(for)46 b(eac)m(h)i(insertion,)i(an)0 220 y Fk(MTentry)31 b Fm(represen)m(ting)f(the)g Fk(Object)p Fm(,)i(giv)m(en)d(as)g Fk(MTentry\(MTkey\(obj,)57 b(0,)51 b(0\)\))p Fm(,)31 b(and)e(an)h(in)m(teger)0 340 y(n)m(um)m(b)s(er)j(represen)m(ting)h (the)g(iden)m(ti\014er)f(of)f(the)i(ob)5 b(ject,)34 b(whic)m(h)f (should)g(b)s(e)g(unique)h(in)e(the)h(data-set.)0 461 y(A)g(simple)e(insertion)g(could)h(b)s(e)h(p)s(erformed)f(b)m(y)i(w)m (a)m(y)g(of)e(the)h(follo)m(wing)d(instruction:)839 681 y Fk(tree->Insert\(MTentry\(MTkey)q(\(ob)q(j,0,)q(0\)\),)q(17\);)0 901 y Fm(This)j(inserts)g(the)g Fk(Object)h(obj)f Fm(in)f(the)h(tree)g (with)f(iden)m(ti\014er)g(equal)h(to)f(17.)146 1051 y(In)22 b(order)g(to)g(sp)s(ecify)g(the)g(split)e(p)s(olicy)h([CPZ97],)j(the)e (follo)m(wing)d(v)-5 b(ariables,)23 b(de\014ned)g(in)e Fk(MTnode.cpp)p Fm(,)0 1172 y(should)32 b(b)s(e)h(set:)0 1405 y Fk(double)53 b(MIN)p 518 1405 31 4 v 38 w(UTIL)c Fm(Minim)m(um)c(no)s(de)i(utilization.)84 b(It)47 b(is)f(used)j(to)d (guaran)m(tee)i(a)e(minim)m(um)e(\014ll)244 1525 y(factor)32 b(for)g(tree)h(no)s(des)g(during)f(the)h(split.)42 b(It)33 b(can)g(assume)g(v)-5 b(alues)33 b(in)e(the)i(range)g([0)22 b Fj(\004)i Fm(0)p Fi(:)p Fm(5\).)0 1729 y Fk(pp)p 108 1729 V 37 w(function)54 b(PROMOTE)p 964 1729 V 39 w(PART)p 1207 1729 V 38 w(FUNCTION)c Fm(Promotion)33 b(metho)s(d.)46 b(Sp)s(eci\014es)35 b(the)g(algorithm)30 b(used)244 1849 y(to)i(promote)g(ob)5 b(jects)34 b(in)e(the)h(paren)m(t)g(role.)42 b(Assuming)32 b(the)h(set)h(of)e(follo)m(wing)e(v)-5 b(alues:)360 2053 y Fj(\017)48 b Fk(RANDOM)35 b Fm(random)c(promotion;) 360 2214 y Fj(\017)48 b Fk(CONFIRMED)25 b Fm(con\014rmed)d(promotion;)h (v)-5 b(ariable)20 b Fk(PROMOTE)p 2590 2214 V 39 w(VOTE)p 2833 2214 V 38 w(FUNCTION)j Fm(is)f(then)g(used)458 2335 y(to)33 b(c)m(ho)s(ose)g(b)s(et)m(w)m(een)i(con\014rmed)e(p)s(olicies;) 360 2497 y Fj(\017)48 b Fk(MAX)p 617 2497 V 38 w(UB)p 757 2497 V 38 w(DIST)36 b Fm(maxim)m(um)d(upp)s(er)j(b)s(ound)g(on)f (distances)h(p)s(olicy)e(\(i.e.)h(the)h(t)m(w)m(o)g(ob)5 b(jects)458 2617 y(ha)m(ving)33 b(the)g(maxim)m(um)d(distance)j(from)e (the)i(paren)m(t)g(ob)5 b(ject)34 b(are)e(c)m(hosen\);)360 2779 y Fj(\017)48 b Fk(MIN)p 617 2779 V 38 w(RAD)34 b Fm(minim)m(um)29 b(maxim)m(um)h(radius)i(p)s(olicy;)360 2941 y Fj(\017)48 b Fk(MIN)p 617 2941 V 38 w(OVERLAPS)35 b Fm(minim)m(um)29 b(o)m(v)m(erlap)k(p)s(olicy;)360 3103 y Fj(\017)48 b Fk(SAMPLING)35 b Fm(sampling)30 b(promotion;)g(v)-5 b(ariable)31 b Fk(NUM)p 2336 3103 V 37 w(CANDIDATES)k Fm(sp)s(eci\014es)e(the)g(n)m(um)m(b)s(er)458 3223 y(of)g(samples.)0 3427 y Fk(pv)p 108 3427 V 37 w(function)54 b(PROMOTE)p 964 3427 V 39 w(VOTE)p 1207 3427 V 38 w(FUNCTION)c Fm(Con\014rmed)27 b(promotion)e(metho)s(d.)40 b(Sp)s(eci\014es)28 b(the)f(algo-)244 3547 y(rithm)e(used)i(to)f(promote)g(one)h(ob)5 b(ject)27 b(as)g(one)f(of)g(the)h(t)m(w)m(o)g(paren)m(ts,)i(the)e(other)g(b)s (eing)e(the)i(par-)244 3667 y(en)m(t)k(ob)5 b(ject)32 b(of)e(the)h(split)e(no)s(de.)43 b(It)31 b(is)f(used)i(only)e(if)37 b Fk(PROMOTE)p 2555 3667 V 39 w(PART)p 2798 3667 V 38 w(FUNCTION=CONFIRMED)p Fm(.)244 3788 y(Assuming)32 b(the)h(set)g(of)f (follo)m(wing)e(v)-5 b(alues:)360 3991 y Fj(\017)48 b Fk(RANDOMV)35 b Fm(random)d(con\014rmed)g(promotion;)360 4153 y Fj(\017)48 b Fk(SAMPLINGV)38 b Fm(sampling)c(con\014rmed)i (promotion;)f(v)-5 b(ariable)33 b Fk(NUM)p 2854 4153 V 38 w(CANDIDATES)38 b Fm(sp)s(eci\014es)458 4273 y(the)33 b(n)m(um)m(b)s(er)g(of)g(samples;)360 4435 y Fj(\017)48 b Fk(MAX)p 617 4435 V 38 w(LB)p 757 4435 V 38 w(DIST)43 b Fm(maxim)m(um)e(lo)m(w)m(er)i(b)s(ound)g(on)f(distances)i(promotion)c (\(i.e.)j(the)g(ob)5 b(ject)458 4556 y(farthest)33 b(from)f(the)h (paren)m(t)g(ob)5 b(ject)33 b(is)f(c)m(hosen\);)360 4718 y Fj(\017)48 b Fk(mM)p 566 4718 V 38 w(RAD)42 b Fm(minim)m(um)37 b(radius)k(con\014rmed)g(p)s(olicy)-8 b(,)42 b(v)-5 b(ariable)39 b Fk(RADIUS)p 3000 4718 V 38 w(FUNCTION)k Fm(is)e(then)458 4838 y(used)34 b(to)e(c)m(ho)s(ose)i(b)s(et)m(w)m(een)h(a)m(v)-5 b(ailable)30 b(p)s(olicies.)0 5041 y Fk(r)p 57 5041 V 37 w(function)54 b(RADIUS)p 862 5041 V 38 w(FUNCTION)d Fm(Minim)m(um)34 b(radius)j(metho)s(d.)55 b(Assuming)36 b(the)i(set)f(of)f(follo)m(wing)244 5162 y(v)-5 b(alues:)1865 5446 y(5)p eop %%Page: 6 8 6 7 bop 360 100 a Fj(\017)48 b Fk(LB)34 b Fm(minim)m(um)29 b(maxim)m(um)h(lo)m(w)m(er)j(b)s(ound)g(on)f(radius)g(p)s(olicy;)360 262 y Fj(\017)48 b Fk(AVG)34 b Fm(minim)m(um)29 b(maxim)m(um)h(a)m(v)m (erage)k(b)s(ound)f(on)f(radius)g(p)s(olicy;)360 423 y Fj(\017)48 b Fk(UB)34 b Fm(minim)m(um)29 b(maxim)m(um)h(upp)s(er)j(b) s(ound)g(on)f(radius)h(p)s(olicy)-8 b(.)0 627 y Fk(pp)p 108 627 31 4 v 37 w(function)54 b(SECONDARY)p 1066 627 V 39 w(PART)p 1309 627 V 38 w(FUNCTION)d Fm(Ro)s(ot)33 b(promotion)e(metho)s(d.)46 b(It)34 b(is)f(only)g(used)i(when)244 747 y(splitting)19 b(the)k(ro)s(ot)d(no)s(de)i(and)g(can)g(assume)g (the)g(same)g(v)-5 b(alues)22 b(of)f(the)h Fk(PROMOTE)p 3162 747 V 39 w(PART)p 3405 747 V 38 w(FUNCTION)244 868 y Fm(v)-5 b(ariable.)52 b(Ho)m(w)m(ev)m(er,)40 b(since)c(the)h(ro)s(ot) e(no)s(de)h(do)s(es)h(not)f(ha)m(v)m(e)h(a)f(paren)m(t)h(ob)5 b(ject,)38 b(this)d(cannot)244 988 y(b)s(e)e(a)f(con\014rmed)h(p)s (olicy)-8 b(.)0 1191 y Fk(int)52 b(NUM)p 364 1191 V 38 w(CANDIDATES)f Fm(Num)m(b)s(er)33 b(of)f(candidate)g(ob)5 b(jects)34 b(for)e(sampling)f(metho)s(ds.)0 1395 y Fk(s)p 57 1395 V 37 w(function)54 b(SPLIT)p 811 1395 V 38 w(FUNCTION)d Fm(Split)22 b(function.)40 b(This)24 b(sp)s(eci\014es)i(the)e(w)m(a)m (y)h(ob)5 b(jects)26 b(in)d(the)h(o)m(v)m(erfull)244 1515 y(no)s(de)35 b(are)g(to)g(b)s(e)g(divided)g(b)s(et)m(w)m(een)i (the)f(t)m(w)m(o)g(new)g(no)s(des.)51 b(Assuming)35 b(the)h(set)g(of)e (follo)m(wing)244 1636 y(v)-5 b(alues:)360 1839 y Fj(\017)48 b Fk(G)p 515 1839 V 38 w(HYPERPL)34 b Fm(the)f(generalized)f(h)m(yp)s (erplane)h(partition)e(strategy;)360 2001 y Fj(\017)48 b Fk(BAL)p 617 2001 V 38 w(G)p 706 2001 V 37 w(HYPERPL)35 b Fm(the)e(balanced)f(h)m(yp)s(erplane)i(partition)c(strategy;)360 2163 y Fj(\017)48 b Fk(BALANCED)35 b Fm(the)e(balanced)g(strategy)-8 b(.)244 2366 y(Of)45 b(course,)50 b(b)s(oth)c(the)g Fk(BAL)p 1321 2366 V 38 w(G)p 1410 2366 V 37 w(HYPERPL)h Fm(and)f(the)g Fk(BALANCED)i Fm(metho)s(ds)e(obtain)e(p)s(erfectly)244 2487 y(balanced)38 b(no)s(des,)i(whereas)f(with)f(the)g Fk(G)p 1796 2487 V 37 w(HYPERPL)i Fm(strategy)e(the)h(user)f(can)g (tune)h(the)f(no)s(de)244 2607 y(utilization)30 b(b)m(y)k(mo)s(difying) d(the)i(v)-5 b(alue)33 b(of)g(the)h Fk(MIN)p 2167 2607 V 37 w(UTIL)h Fm(v)-5 b(ariable.)44 b(W)-8 b(e)34 b(suggest)g(to)f(use) h(the)244 2727 y Fk(G)p 301 2727 V 37 w(HYPERPL)c Fm(strategy)-8 b(,)30 b(since)f(a)g(balanced)f(split)g(tends)h(to)g(pro)s(duce)g(high) f(co)m(v)m(ering)h(radii,)e(and)244 2848 y(this)44 b(negativ)m(ely)h (a\013ects)h(index)f(p)s(erformance)g(during)f(the)h(searc)m(h.)82 b(Ha)m(ving)45 b(un)m(balanced)244 2968 y(no)s(des)35 b("only")f(increases)i(the)f(size)h(of)e(the)h(tree)h(\(i.e.)49 b(the)36 b(n)m(um)m(b)s(er)f(of)f(no)s(des\),)j(but)e(most)f(of)244 3088 y(the)f(no)s(des)g(will)d(b)s(e)j(pruned)h(when)f(searc)m(hing)g (the)g(M-tree.)0 3322 y(Split)e(p)s(olicies)g(not)h(detailed)g(in)f ([CPZ97)q(])h(can)h(b)s(e)g(found)f(in)g([P)m(at99].)146 3472 y(The)38 b(bulk-loading)33 b(algorithm)h([CP98])i(is)g(implemen)m (ted)f(b)m(y)i(the)g Fk(BulkLoad)i Fm(metho)s(d.)54 b(Argu-)0 3593 y(men)m(ts)33 b(of)f(the)h Fk(BulkLoad)i Fm(algorithm)29 b(are:)0 3826 y Fk(MTentry)53 b(**data)e Fm(This)39 b(is)g(the)g(arra)m (y)h(con)m(taining)e(all)f(the)j(en)m(tries)f(to)g(b)s(e)h(inserted)g (in)e(the)i(tree.)244 3946 y(Eac)m(h)33 b(en)m(try)h(is)e(giv)m(en)h (an)f(iden)m(ti\014er)h(equal)f(to)g(the)h(p)s(osition)e(of)h(the)h(en) m(try)h(in)e(the)h(arra)m(y)-8 b(.)0 4150 y Fk(int)52 b(n)d Fm(The)34 b(n)m(um)m(b)s(er)f(of)f(en)m(tries)h(in)f(the)h Fk(data)g Fm(arra)m(y)-8 b(.)0 4353 y Fk(double)53 b(padFactor)e Fm(This)35 b(factor,)g(assuming)f(v)-5 b(alues)35 b(in)f(the)h(range)g ([0)24 b Fj(\004)h Fm(1],)35 b(sp)s(eci\014es)h(the)f(max-)244 4474 y(im)m(um)g(no)s(de)j(utilization)33 b(of)k(the)h(tree)f(\(can)h (b)s(e)f(lo)m(w)m(er)g(than)h(1)e(if)g(the)i(user)g(w)m(an)m(ts)h(to)e (insert)244 4594 y(other)c(ob)5 b(jects)33 b(in)f(the)h(tree\).)0 4797 y Fk(char)52 b(*name)e Fm(The)31 b(name)e(ro)s(ot)g(for)g(the)h (\014les)g(storing)f(the)h(temp)s(orary)f(indices)g(on)h(disk.)43 b(They)31 b(will)244 4918 y(b)s(e)i(deleted)g(up)s(on)f(completion)f (of)h(the)h(metho)s(d.)1865 5446 y(6)p eop %%Page: 7 9 7 8 bop 0 100 a Fm(The)26 b(minim)m(um)c(no)s(de)j(utilization)c(can)k (b)s(e)g(sp)s(eci\014ed)h(b)m(y)g(the)f(user)h(through)f(the)g Fk(MIN)p 3157 100 31 4 v 38 w(UTIL)h Fm(v)-5 b(ariable.)146 250 y(The)43 b Fk(RangeSearch)i Fm(metho)s(d)d(implemen)m(ts)e(the)j (range)f(searc)m(h)h(algorithm:)59 b(when)43 b(called)e(for)0 370 y(the)h(tree)f(with)g(an)g(arbitrarily)d(complex)j Fk(MTquery)i Fm(\(see)f(Section)f(3.9\),)i(it)d(recursiv)m(ely)i (descends)0 491 y(the)c(tree,)i(returning)d(a)g(list)f(con)m(taining)h (all)e(en)m(tries)j(that)g(are)f(consisten)m(t)i(with)e(\(i.e.)g (satisfy\))h(the)0 611 y(query)33 b(predicate.)44 b(Returned)33 b(en)m(tries)g(con)m(tain)e(the)i(distance)f(b)s(et)m(w)m(een)i(the)f (en)m(try)g(ob)5 b(ject)33 b(and)f(the)0 732 y(query)d(predicate)e(as)h (the)g(maxim)m(um)d(radius)i(of)f(the)i(en)m(try)h(\(accessible)f (through)f(the)h Fk(maxradius\(\))0 852 y Fm(metho)s(d\).)43 b(The)33 b(t)m(ypical)f(w)m(a)m(y)i(to)e(resolv)m(e)h(a)g(range)f (query)i(is)e(the)h(follo)m(wing:)205 1041 y Fk(MT)52 b(*tree=new)i(MT;)205 1162 y(tree->Open\(...\);)i(//)51 b(tree)i(construction)205 1282 y(...)205 1403 y(MTquery)g (query\(...\);)h(//)e(query)h(construction)205 1523 y(GiSTlist)51 b(list=tree->RangeSearch\()q(quer)q(y\);)205 1643 y(while\(!list.IsEmpty\(\)\))57 b Fj(f)410 1764 y Fk(MTentry)c(*e=list.RemoveFront\(\);)410 1884 y(Object)g (o=e->object\(\);)i(//)d(result)h(object)410 2005 y(double)g (dist=e->maxradius\(\);)k(//)51 b(distance)j(from)e(query)h(predicate) 410 2125 y(...)103 b(//)52 b(result)h(evaluation)410 2245 y(delete)g(e;)205 2366 y Fj(g)146 2676 y Fm(The)25 b(top)f(searc)m(h)h(algorithm)c(is)i(implemen)m(ted)g(in)g(the)h Fk(TopSearch)i Fm(metho)s(d.)40 b(Giv)m(en)24 b(a)f Fk(TopQuery)0 2796 y Fm(\(see)37 b(Section)f(3.9\),)g(the)h(algorithm)c(returns)k(an) f(arra)m(y)g(con)m(taining)e(the)j Fi(k)i Fm(en)m(tries)d(nearest)h(to) f(the)0 2916 y(query)e(predicate,)f(sorted)g(b)m(y)g(increasing)f (distance.)44 b(The)34 b(distance)f(b)s(et)m(w)m(een)h(eac)m(h)g(en)m (try)f(and)g(the)0 3037 y(query)42 b(predicate)f(is)g(returned)g(as)g (the)h(maxim)m(um)c(radius)j(of)f(eac)m(h)i Fk(MTentry)g Fm(\(see)g(Section)f(3.5\).)0 3157 y(The)34 b(classical)d(w)m(a)m(y)i (to)g(resolv)m(e)g(a)f(top)h(query)h(is)e(the)h(follo)m(wing:)205 3347 y Fk(MT)52 b(*tree=new)i(MT;)205 3467 y(tree->Open\(...\);)i(//)51 b(tree)i(construction)205 3587 y(...)205 3708 y(TopQuery)g (query\(...\);)i(//)c(query)i(construction)205 3828 y(MTentry)g (**list=tree->TopSearch\(q)q(uery)q(\);)205 3949 y(for\(int)g(i=0;)g (iobject\(\);)i(//)d(result)h(object)410 4310 y(double)g(dist=e->maxradius\(\);)k(//)51 b(distance)j(from)e (query)h(predicate)410 4430 y(...)103 b(//)52 b(result)h(evaluation)410 4550 y(delete)g(e;)205 4671 y Fj(g)155 b Fk(delete)53 b([]list;)0 4982 y Fb(3.2)135 b Fo(Object)42 b Fb(Class)0 5197 y Fn(Class)37 b(name:)50 b Fk(Object)1865 5446 y Fm(7)p eop %%Page: 8 10 8 9 bop 0 100 a Fn(Sup)s(er-class:)50 b Fk(GiSTobject)0 293 y Fn(Sub-classes:)0 487 y(A)m(ttributes:)d Fm(User-de\014ned)0 680 y Fn(User-de\014ned)39 b(metho)s(ds:)360 874 y Fj(\017)48 b Fk(Object\(\))p Fm(:)e(default)32 b(constructor)360 1026 y Fj(\017)48 b Fk(Object\(const)55 b(Object&)e(obj\))p Fm(:)45 b(cop)m(y)33 b(constructor)360 1178 y Fj(\017)48 b Fk(Object\(char)55 b(*key\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 1330 y Fj(\017)48 b(\030)p Fk(Object\(\))p Fm(:)f(destructor)360 1482 y Fj(\017)h Fk(Object&)54 b(operator=\(const)h(Object&)e(obj\))p Fm(:)45 b(assignmen)m(t)32 b(op)s(erator)360 1634 y Fj(\017)48 b Fk(int)53 b(operator==\(const)i (Object&)e(obj\))g(const)p Fm(:)44 b(equalit)m(y)33 b(op)s(erator)360 1786 y Fj(\017)48 b Fk(double)53 b(distance\(const)i(Object&)e(other\)) g(const)p Fm(:)45 b(distance)33 b(metho)s(d)360 1938 y Fj(\017)48 b Fk(void)53 b(Compress\(char)i(*key\))p Fm(:)44 b(compress)34 b(metho)s(d)360 2091 y Fj(\017)48 b Fk(int)53 b(CompressedLength\(\))j(const)p Fm(:)44 b(size)33 b(of)f(compressed)i(ob)5 b(ject)0 2284 y Fn(Public)36 b(metho)s(ds:)360 2478 y Fj(\017)48 b Fk(int)53 b(operator!=\(const)i (Object&)e(obj\))g(const)p Fm(:)44 b(inequalit)m(y)32 b(op)s(erator)0 2671 y Fn(Other)37 b(metho)s(ds:)146 2890 y Fm(Instances)j(of)e(this)g(class)g(are)g(the)h(ob)5 b(jects)39 b(indexed)g(b)m(y)g(the)g(M-tree.)60 b(This)39 b(is)e(the)i(only)e(class)0 3011 y(in)30 b(the)i(whole)e(pro)5 b(ject)32 b(that)f(needs)h(a)f(rede\014nition)f(according)g(to)h(the)g (application)e(de\014ned)j(b)m(y)g(the)0 3131 y(user.)43 b(The)30 b(declaration)d(of)h(the)h(class)g(is)f(in)g(the)h(\014le)f Fk(MTobject.h)p Fm(,)k(whereas)e(class)f(implemen)m(tation)0 3252 y(can)k(b)s(e)g(found)f(in)g(the)h(\014le)f Fk(MTobject.cpp)p Fm(.)146 3402 y(When)38 b(the)f(user)h(rede\014nes)g(the)f Fk(Object)i Fm(class,)f(he/she)g(has)f(to)f(pro)m(vide)h(all)e(the)i (information)0 3522 y(necessary)d(to)e(compute)g(the)g(distance)h(b)s (et)m(w)m(een)h(t)m(w)m(o)e Fk(Object)p Fm(s.)46 b(A)m(ttributes)32 b(of)f(the)i Fk(Object)g Fm(class,)0 3643 y(therefore,)e(are)f (represen)m(ted)j(only)c(b)m(y)i(suc)m(h)h(information)27 b(\(e.g.)j(in)f(the)i(v)m(ector)g(space)g(example,)f(the)0 3763 y(only)h(attribute)h(of)f(the)h Fk(Object)i Fm(class)e(is)f(the)h (arra)m(y)g(of)g(the)g(co)s(ordinates\).)43 b(Besides,)33 b(the)f(follo)m(wing)0 3883 y(metho)s(ds)45 b(should)g(b)s(e)g (rede\014ned,)50 b(in)45 b(order)g(to)g(obtain)f(the)h(desired)h(b)s (eha)m(vior)f(for)f(the)i(indexed)0 4004 y(ob)5 b(jects:)0 4208 y Fk(Object\(\))51 b Fm(This)41 b(is)f(the)h(default)e (constructor.)69 b(It)40 b(should)h(assign)f(default)g(v)-5 b(alues)40 b(to)g(all)f(ob)5 b(ject)244 4328 y(attributes.)0 4522 y Fk(Object\(const)54 b(Object&)g(obj\))49 b Fm(This)34 b(is)e(the)i(cop)m(y)g(constructor.)45 b(It)33 b(should)g(pro)m(vide)h (a)e(suitable)244 4642 y(w)m(a)m(y)i(to)e(cop)m(y)i(the)f(v)-5 b(alues)32 b(of)g(all)f(attributes)h(from)f Fk(Object)j(obj)g Fm(to)e Fk(Object)i(*this)p Fm(.)0 4836 y Fk(Object\(char)54 b(*key\))c Fm(This)39 b(is)g(a)f(mem)m(b)s(er)g(constructor)i(needed)g (to)f(\\uncompress")g(an)g Fk(Object)244 4956 y Fm(from)20 b(the)j(no)s(de)e(represen)m(tation)i(stored)f(on)g(disk.)40 b(This)22 b(metho)s(d)f(is)g(called)g(in)g(the)h Fk(Decompress)244 5076 y Fm(metho)s(d)37 b(of)g(the)i Fk(MTentry)g Fm(class)f(\(see)h (Section)f(3.5\).)59 b(Basically)-8 b(,)37 b(this)h(should)f(p)s (erform)g(the)244 5197 y(in)m(v)m(erse)d(op)s(eration)d(with)h(resp)s (ect)i(to)e(the)h Fk(Compress)i Fm(metho)s(d.)1865 5446 y(8)p eop %%Page: 9 11 9 10 bop 0 100 a Fj(\030)p Fk(Object\(\))51 b Fm(This)34 b(is)f(the)h(class)f(destructor.)48 b(It)33 b(should)h(de-allo)s(cate)d (the)j(memory)e(p)s(ossibly)h(allo-)244 220 y(cated)g(during)g Fk(Object)h Fm(construction.)0 423 y Fk(Object&)53 b(operator=\(const)i (Object&)f(obj\))49 b Fm(This)43 b(is)f(the)h(assignmen)m(t)g(op)s (erator.)73 b(It)43 b(should)244 544 y(basically)31 b(mimic)e(the)k(co) s(de)g(of)f(the)h(destructor)h(and)f(of)f(the)h(cop)m(y)g(constructor)h (metho)s(ds.)0 747 y Fk(int)52 b(operator==\(const)k(Object&)d(obj\))f (const)e Fm(This)40 b(is)f(the)i(equalit)m(y)e(op)s(erator.)65 b(It)40 b(should)244 868 y(return)28 b(a)f(non-zero)g(v)-5 b(alue)27 b(i\013)g(the)h(t)m(w)m(o)g Fk(Object)p Fm(s)h(can)f(b)s(e)g (assumed)g(as)f(equal)h(\(or)f(equiv)-5 b(alen)m(t\).)244 988 y(An)48 b(alternativ)m(e)g(w)m(a)m(y)h(to)f(de\014ne)h(suc)m(h)h (metho)s(d)d(is)h(to)g(return)g(a)g(non-zero)g(v)-5 b(alue)48 b(i\013)f(the)244 1108 y Fk(distance)35 b Fm(\(see)e(b)s(elo)m(w\))f(b) s(et)m(w)m(een)j(the)e(t)m(w)m(o)g Fk(Object)p Fm(s)i(is)d(equal)h(to)f (0.)0 1312 y Fk(double)53 b(distance\(const)i(Object&)e(other\))g (const)d Fm(This)33 b(is)g(the)h(distance)g(metho)s(d.)45 b(It)33 b(is,)g(of)244 1432 y(course,)h(the)f(basic)f(metho)s(d)g(for)g (the)h(M-tree)g(index)g(structure.)0 1636 y Fk(void)52 b(Compress\(char)j(*key\))50 b Fm(This)c(is)g(the)g(compress)h(metho)s (d,)i(whic)m(h)d(should)g(cop)m(y)h(all)d(the)244 1756 y(attributes)33 b(of)g(the)h Fk(Object)g Fm(in)m(to)f(the)h Fk(key)g Fm(bu\013er.)46 b(It)33 b(is)g(used)i(in)d(the)i Fk(Compress)h Fm(metho)s(d)e(of)244 1876 y(the)g Fk(MTentry)h Fm(class)f(\(see)h(Section)e(3.5\).)0 2080 y Fk(int)52 b(CompressedLength\(\))k(const)50 b Fm(This)29 b(is)f(the)h(size)g(of)f (the)h(compressed)h Fk(Object)p Fm(,)h(i.e.)d(the)h(sum)244 2200 y(of)35 b(the)i(sizes)f(\(in)f(b)m(ytes\))j(of)e(eac)m(h)g (attribute)g(as)g(sa)m(v)m(ed)h(in)f(the)g(no)s(de)g(represen)m(tation) h(stored)244 2320 y(on)32 b(disk)h(\(see)h(metho)s(d)e Fk(Compress)p Fm(\).)146 2554 y(Other)h(functions)g(that)f(need)i(to)e (b)s(e)h(rede\014ned)h(are)f(the)g(follo)m(wing:)0 2787 y Fk(double)53 b(maxDist\(\))e Fm(This)42 b(function)e(de\014nes)j(the) f(maxim)m(um)d(p)s(ossible)i(v)-5 b(alue)41 b(for)f(the)i(distance)244 2908 y(b)s(et)m(w)m(een)35 b(t)m(w)m(o)e Fk(Object)p Fm(s.)0 3111 y Fk(int)52 b(sizeofObject\(\))h Fm(This)34 b(function)f(returns)i(the)f(size)g(of)f(eac)m(h)i(compressed)g Fk(Object)p Fm(,)h(in)d(case)244 3231 y Fk(Object)p Fm(s)d(ha)m(v)m(e)g (all)d(the)i(same)f(size,)i(or)e(0)g(if)34 b Fk(Object)p Fm(s)d(ha)m(v)m(e)e(di\013eren)m(t)g(size,)h(so)f(that)f(execution)244 3352 y(of)k(the)h Fk(CompressedLength\(\))k Fm(metho)s(d)32 b(is)g(needed)j(to)d(retriev)m(e)h(it.)0 3555 y Fk(Object)53 b(*Read\(\))e Fm(This)32 b(function)g(returns)i(an)e Fk(Object)i Fm(as)f(read)g(from)e(standard)i(input.)0 3759 y Fk(Object)53 b(*Read\(FILE)h(*fp\))c Fm(This)32 b(function)g(returns)i(an)e Fk(Object)j Fm(as)d(read)h(from)e(\014le)i Fk(fp)p Fm(.)0 4077 y Fb(3.3)135 b Fo(MTkey)43 b Fb(Class)0 4292 y Fn(Class)37 b(name:)50 b Fk(MTkey)0 4496 y Fn(Sup)s(er-class:)g Fk(GiSTobject)0 4699 y Fn(Sub-classes:)0 4902 y(A)m(ttributes:)360 5106 y Fj(\017)e Fk(Object)53 b(obj)p Fm(:)45 b(priv)-5 b(ate,)32 b(indexed)h(ob)5 b(ject)1865 5446 y(9)p eop %%Page: 10 12 10 11 bop 360 100 a Fj(\017)48 b Fk(double)53 b(rmin)p Fm(:)42 b(priv)-5 b(ate,)28 b(minim)m(um)23 b(radius)k(\(only)g(used)h (for)e(compatibilit)m(y)e(with)j(com-)458 220 y(plex)33 b(applications,)e(e.g.)43 b(see)34 b([CA97]\))360 382 y Fj(\017)48 b Fk(double)53 b(rmax)p Fm(:)45 b(priv)-5 b(ate,)32 b(maxim)m(um)e(radius)i(\(i.e.)g(the)h(en)m(try)h(radius\)) 360 544 y Fj(\017)48 b Fk(double)53 b(distance)p Fm(:)41 b(public,)25 b(distance)f(b)s(et)m(w)m(een)i(the)e Fk(Object)h Fm(and)f(the)g(paren)m(t)g Fk(Object)360 706 y Fj(\017)48 b Fk(BOOL)53 b(splitted)p Fm(:)45 b(public,)32 b(indicates)g(that)h (this)f(c)m(hild)f(no)s(de)i(has)g(b)s(een)h(split)360 868 y Fj(\017)48 b Fk(BOOL)53 b(recomp)p Fm(:)45 b(public,)31 b(indicates)h(that)g(this)g(c)m(hild)g(no)s(de)h(is)e(in)h(an)g (inconsisten)m(t)h(state)458 988 y(\(only)f(used)i(during)e(no)s(de)h (splitting\))0 1191 y Fn(Public)j(metho)s(ds:)0 1395 y(Other)h(metho)s(ds:)360 1598 y Fj(\017)48 b Fk(MTkey\(\))p Fm(:)e(default)32 b(constructor)360 1760 y Fj(\017)48 b Fk(MTkey\(const)55 b(MTkey&)e(k\))p Fm(:)44 b(cop)m(y)33 b(constructor)360 1922 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)k(cop)m(y)40 b(op)s(erator,)g(returns)g(a)f (new)j Fk(MTkey)e Fm(as)g(a)e(cop)m(y)458 2042 y(of)33 b(the)g(curren)m(t)g(one)360 2204 y Fj(\017)48 b(\030)p Fk(MTkey\(\))p Fm(:)e(destructor)360 2366 y Fj(\017)i Fk(MTkey&)53 b(operator=\(const)j(MTkey&)c(k\))p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 2528 y Fj(\017)48 b Fk(int)53 b(operator==\(const)i(MTkey&)e(k\))f(const)p Fm(:)45 b(equalit)m(y)32 b(op)s(erator)360 2690 y Fj(\017)48 b Fk(int)53 b(overlap)g(\(const)g(MTkey&)f(k\))g(const)p Fm(:)77 b(o)m(v)m(erlap)49 b(op)s(erator,)j(indicates)c(if)g(t)m(w)m(o) 458 2810 y(regions)33 b(of)f(the)h(metric)e(space)j(o)m(v)m(erlap)360 2972 y Fj(\017)48 b Fk(int)53 b(contained\(const)i(MTkey&)e(k\))e (const)p Fm(:)g(con)m(tainmen)m(t)35 b(op)s(erator,)g(indicates)g(if) 458 3093 y(the)e(curren)m(t)h(region)e(is)g(con)m(tained)h(in)e(the)i (giv)m(en)g(one)360 3254 y Fj(\017)48 b Fk(int)53 b(contains\(const)i (MTkey&)d(k\))g(const)p Fm(:)70 b(con)m(tainmen)m(t)45 b(op)s(erator,)i(indicates)e(if)458 3375 y(the)33 b(giv)m(en)g(region)f (is)g(con)m(tained)h(in)e(the)i(curren)m(t)h(one)360 3537 y Fj(\017)48 b Fk(MTkey)53 b(*expand\(const)i(MTkey&)e(k\))p Fm(:)j(expansion)40 b(op)s(erator,)g(expands)g(the)f(curren)m(t)458 3657 y(region)32 b(in)g(order)h(to)f(accommo)s(date)f(the)i(giv)m(en)g (region)146 3915 y(This)k(is)f(a)g(service)h(class)f(whic)m(h)h(should) f(nev)m(er)i(b)s(e)e(istan)m(tiated)g(nor)g(referred)h(b)m(y)g(the)g (user.)55 b(It)0 4036 y(con)m(tains)44 b(the)h(represen)m(tation)g(of)f (the)g(metric)f(space)j(region)d(asso)s(ciated)h(to)g(eac)m(h)h(en)m (try)g(of)f(the)0 4156 y(M-tree.)62 b(Since)39 b(the)g(M-tree)g(uses)h (balls)e(to)g(organize)g(the)h(space,)i(eac)m(h)f(region)e(is)g (de\014ned)i(b)m(y)g(an)0 4277 y Fk(Object)i Fm(\(the)f(cen)m(ter)i(of) d(the)h(region\))f(and)h(a)f(radius.)68 b(De\014nition)39 b(and)i(implemen)m(tation)d(of)i(this)0 4397 y(class)33 b(are)f(included)g(in)g(the)h(\014le)f Fk(MTentry.h)p Fm(.)0 4716 y Fb(3.4)135 b Fo(MTpenalty)41 b Fb(Class)0 4931 y Fn(Class)c(name:)50 b Fk(MTpenalty)0 5134 y Fn(Sup)s(er-class:)g Fk(GiSTpenalty)1841 5446 y Fm(10)p eop %%Page: 11 13 11 12 bop 0 100 a Fn(Sub-classes:)0 303 y(A)m(ttributes:)360 506 y Fj(\017)48 b Fk(double)53 b(distance)p Fm(:)46 b(distance)33 b(to)f(the)h(paren)m(t)g Fk(Object)0 710 y Fn(Public)j(metho)s(ds:)0 913 y(Other)h(metho)s(ds:)360 1117 y Fj(\017)48 b Fk(MTpenalty\(\))p Fm(:)f(default)32 b(constructor)360 1279 y Fj(\017)48 b Fk(MTpenalty\(const)56 b(double)d(v,)e(const)i(double)g(d\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)146 1537 y(This)f(is)f(a)g(service)h(class)f(whic)m(h)h (should)f(nev)m(er)i(b)s(e)f(istan)m(tiated)e(nor)h(referred)h(b)m(y)g (the)g(user.)44 b(It)30 b(is)0 1657 y(a)k(rede\014nition)f(of)h(the)g (basic)g(P)m(enalt)m(y)h(class)f(of)g(GiST)f(and)h(it)f(is)g(used)j (when)f(inserting)e(ob)5 b(jects)35 b(in)0 1778 y(the)e(M-tree.)44 b(Its)33 b(de\014nition)f(and)g(implemen)m(tation)e(are)i(included)g (in)g(the)h(\014le)f Fk(MTentry.h)p Fm(.)0 2096 y Fb(3.5)135 b Fo(MTentry)42 b Fb(Class)0 2311 y Fn(Class)37 b(name:)50 b Fk(MTentry)0 2515 y Fn(Sup)s(er-class:)g Fk(GiSTentry)0 2718 y Fn(Sub-classes:)0 2921 y(A)m(ttributes:)0 3125 y(Public)36 b(metho)s(ds:)360 3328 y Fj(\017)48 b Fk(MTentry\(\))p Fm(:)e(default)32 b(constructor)360 3490 y Fj(\017)48 b Fk(MTentry\(const)55 b(MTentry&)f(e\))p Fm(:)44 b(cop)m(y)33 b(constructor)360 3652 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)42 b(cop)m(y)30 b(op)s(erator,)e(returns)i (a)e(new)j Fk(MTentry)f Fm(as)e(a)g(cop)m(y)458 3772 y(of)33 b(the)g(curren)m(t)g(one)0 3976 y Fn(Other)k(metho)s(ds:)360 4179 y Fj(\017)48 b Fk(MTentry\(const)55 b(MTkey&)e(k,)f(const)g (GiSTpage)i(p\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 4341 y Fj(\017)48 b Fk(void)53 b(InitKey\(\))p Fm(:)46 b(re-initialization)27 b(of)32 b(the)h Fk(MTkey)360 4503 y Fj(\017)48 b Fk(int)53 b(IsEqual\(const)h(GiSTobject&)g(obj\))f (const)p Fm(:)45 b(equalit)m(y)32 b(op)s(erator)360 4665 y Fj(\017)48 b Fk(GiSTpenalty)55 b(*Penalty\(const)g(GiSTentry&)f (newEntry\))f(const)p Fm(:)40 b(p)s(enalt)m(y)21 b(com-)458 4785 y(putation)360 4947 y Fj(\017)48 b Fk(GiSTpenalty)55 b(*Penalty\(const)g(GiSTentry&)f(newEntry,)f(MTpenalty)458 5068 y(*minPenalty\))i(const)p Fm(:)46 b(p)s(enalt)m(y)33 b(computation,)f(rede\014nition)h(to)g(optimize)e(distance)458 5188 y(computations)1841 5446 y(11)p eop %%Page: 12 14 12 13 bop 360 100 a Fj(\017)48 b Fk(int)53 b(CompressedLength\(\))j (const)p Fm(:)44 b(size)33 b(of)f(the)h(compressed)h Fk(MTentry)360 262 y Fj(\017)48 b Fk(GiSTcompressedEntry)57 b(Compress\(\))d(const)p Fm(:)i(compression)38 b(metho)s(d,)h(used)g (when)458 382 y(storing)32 b(a)g(no)s(de)h(on)g(disk)360 544 y Fj(\017)48 b Fk(void)53 b(Decompress\(const)i (GiSTcompressedEntry)i(entry\))p Fm(:)39 b(decompression)22 b(metho)s(d,)458 664 y(used)34 b(when)g(retrieving)e(a)g(no)s(de)h (from)e(disk)360 826 y Fj(\017)48 b Fk(int)53 b(Compare\(const)h (GiSTentry&)g(entry\))f(const)p Fm(:)74 b(comparison)45 b(metho)s(d,)50 b(used)458 946 y(when)34 b(ordering)e(the)h(en)m(tries) g(in)f(a)g(no)s(de)146 1205 y(Instances)41 b(of)d(the)h Fk(MTentry)h Fm(class)e(are)h(the)g(en)m(tries)g(con)m(tained)f(in)g (eac)m(h)h(no)s(de)g(and)f(represen)m(t)0 1325 y(no)s(des)29 b(at)f(the)h(next)h(lo)m(w)m(er)f(lev)m(el)f(for)g(in)m(ternal)f(no)s (des,)j(and)f(ob)5 b(jects)30 b(for)e(leaf)f(no)s(des.)43 b(The)29 b(de\014nition)0 1446 y(of)44 b(the)i(class)f(is)f(in)g(the)i (\014le)e Fk(MTentry.h)p Fm(,)51 b(whereas)46 b(its)f(implemen)m (tation)c(can)46 b(b)s(e)f(found)g(in)f(\014le)0 1566 y Fk(MTentry.cpp)p Fm(.)0 1885 y Fb(3.6)135 b Fo(MTfile)42 b Fb(Class)0 2099 y Fn(Class)37 b(name:)50 b Fk(MTfile)0 2303 y Fn(Sup)s(er-class:)g Fk(GiSTfile)0 2506 y Fn(Sub-classes:)0 2710 y(A)m(ttributes:)0 2913 y(User-de\014ned)39 b(metho)s(ds:)360 3117 y Fj(\017)48 b Fk(int)53 b(PageSize\(\))g(const)p Fm(:)45 b(size)33 b(of)f(disk)h(pages)g(in)f(b)m(ytes)0 3320 y Fn(Public)k(metho)s(ds:)0 3523 y(Other)h(metho)s(ds:)360 3727 y Fj(\017)48 b Fk(void)53 b(Create\(const)h(char)f(*filename\))p Fm(:)46 b(creates)33 b(a)g(new)g(index)g(\014le)f(on)h(disk)360 3889 y Fj(\017)48 b Fk(void)53 b(Open\(const)h(char)e(*filename\))p Fm(:)46 b(op)s(ens)33 b(an)g(existing)f(index)h(\014le)360 4051 y Fj(\017)48 b Fk(void)53 b(Close\(\))p Fm(:)45 b(closes)33 b(an)g(op)s(en)f(index)h(\014le)360 4212 y Fj(\017)48 b Fk(void)53 b(Read\(GiSTpage)i(page,)d(char)g(*buf\))p Fm(:)58 b(reads)40 b(a)f(no)s(de)g(from)f(an)h(op)s(en)g(index)458 4333 y(\014le)360 4495 y Fj(\017)48 b Fk(void)53 b(Write\(GiSTpage)i (page,)d(const)h(char)f(*buf\))p Fm(:)j(writes)38 b(a)f(no)s(de)h(to)f (an)g(op)s(en)458 4615 y(index)c(\014le)360 4777 y Fj(\017)48 b Fk(GiSTpage)54 b(Allocate\(\))p Fm(:)46 b(allo)s(cates)31 b(a)h(new)i(page)e(on)h(an)f(op)s(en)h(index)g(\014le)360 4939 y Fj(\017)48 b Fk(void)53 b(Deallocate\(GiSTpage\))p Fm(:)69 b(deletes)44 b(an)f(existing)f(page)h(from)e(an)i(op)s(en)g (index)458 5059 y(\014le)1841 5446 y(12)p eop %%Page: 13 15 13 14 bop 146 100 a Fm(This)38 b(is)f(a)g(rede\014nition)f(of)h(the)h (basic)f Fk(GiSTfile)i Fm(class)e(in)g(order)g(to)g(do)g(some)h(b)s(o)s (ok-k)m(eeping,)0 220 y(lik)m(e)31 b(coun)m(ting)g(disk)h(access)h (requests,)h(etc.)44 b(File)30 b Fk(MTfile.h)j Fm(con)m(tains)f(the)g (de\014nition)e(of)h(the)h(class,)0 340 y(whereas)j(the)f(class)g (implemen)m(tation)d(is)i(in)g(\014le)g Fk(MTfile.cpp)p Fm(.)49 b(The)35 b(user)f(can)g(mo)s(dify)e(the)i(size)g(in)0 461 y(b)m(ytes)d(of)e(eac)m(h)h(disk)f(page)h(\(through)f(the)h Fk(PageSize\(\))i Fm(metho)s(d\))c(in)h(order)g(to)g(tailor)e(no)s(des) j(fanout)0 581 y(for)i(his/her)h(application.)0 900 y Fb(3.7)135 b Fo(MTnode)42 b Fb(Class)0 1115 y Fn(Class)37 b(name:)50 b Fk(MTnode)0 1318 y Fn(Sup)s(er-class:)g Fk(GiSTnode)0 1521 y Fn(Sub-classes:)0 1724 y(A)m(ttributes:)360 1927 y Fj(\017)e Fk(Object)53 b(*obj)p Fm(:)45 b(paren)m(t)33 b(ob)5 b(ject)0 2130 y Fn(Public)36 b(metho)s(ds:)360 2333 y Fj(\017)48 b Fk(GiSTlist)c (RangeSearch\(MTquery&)k(query\))d(const)p Fm(:)48 b(range)34 b(searc)m(h)458 2453 y(algorithm)0 2656 y Fn(Other)j(metho)s(ds:)360 2859 y Fj(\017)48 b Fk(MTnode\(\))p Fm(:)e(default)32 b(constructor)360 3021 y Fj(\017)48 b Fk(MTnode\(const)55 b(MTnode&)e(node\))p Fm(:)45 b(cop)m(y)33 b(constructor)360 3182 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 3344 y Fj(\017)48 b Fk(GiSTobject)54 b(*NCopy\(\))p Fm(:)46 b(alternate)32 b(cop)m(y)h(op)s(erator,)f(used)i(during)e(no)s(de)h(split)360 3505 y Fj(\017)48 b Fk(GiSTpage)54 b(SearchMinPenalty\(const)j (GiSTentry&)d(entry\))f(const)p Fm(:)39 b(rede\014nition)458 3626 y(of)33 b(the)g(basic)f Fk(GiSTnode)j Fm(metho)s(d)d(to)g (optimize)e(distance)j(computations)360 3787 y Fj(\017)48 b Fk(void)53 b(InsertBefore\(const)j(GiSTentry&)e(entry,)f(int)f (index\))p Fm(:)42 b(rede\014nition)26 b(of)458 3908 y(the)f(basic)g Fk(GiSTnode)h Fm(metho)s(d)e(to)g(insert)h(en)m(tries)g (in)f(order)g(of)g(increasing)g(distance)h(with)458 4028 y(resp)s(ect)34 b(to)f(the)g(paren)m(t)g Fk(Object)360 4190 y Fj(\017)48 b Fk(GiSTnode)54 b(*PickSplit\(\))p Fm(:)64 b(rede\014nition)40 b(of)h(the)h(basic)f Fk(GiSTnode)i Fm(metho)s(d)e(to)g(im-)458 4310 y(plemen)m(t)33 b(the)g(no)s(de)f (split)g(logic)360 4471 y Fj(\017)48 b Fk(GiSTentry)54 b(*Union\(\))g(const)p Fm(:)69 b(rede\014nition)44 b(of)g(the)h(basic)g Fk(GiSTnode)i Fm(metho)s(d)d(to)458 4592 y(compute)33 b(the)g(region)f(asso)s(ciated)g(with)g(eac)m(h)i(no)s(de)360 4753 y Fj(\017)48 b Fk(MTnode)53 b(*PromotePart\(\))p Fm(:)48 b(paren)m(t)33 b Fk(Object)h Fm(promotion)360 4915 y Fj(\017)48 b Fk(MTnode)53 b(*PromoteVote\(\))p Fm(:)48 b(paren)m(t)33 b Fk(Object)h Fm(con\014rmed)f(promotion)360 5076 y Fj(\017)48 b Fk(int)53 b(*PickCandidates\(\))i(const)p Fm(:)45 b(pic)m(ks)33 b(a)g(sample)e(of)39 b Fk(Object)p Fm(s)c(as)d(candidates)h(for)458 5197 y(promotion)1841 5446 y(13)p eop %%Page: 14 16 14 15 bop 360 100 a Fj(\017)48 b Fk(void)53 b(Split\(MTnode)h(*node,)f (int)f(*leftvec,)i(int)e(*rightvec,)458 220 y(int)h(*leftdeletes,)h (int)e(*rightdeletes\))p Fm(:)c(p)s(erforms)32 b(the)h(split)360 378 y Fj(\017)48 b Fk(int)53 b(IsUnderFull\(const)i(GiSTstore&)f (store\))f(const)p Fm(:)j(c)m(hec)m(ks)41 b(no)s(de)d(under\014ll-)458 498 y(ing)146 741 y(The)e Fk(MTnode)h Fm(class)e(implemen)m(ts)f(the)h (logic)e(for)h(inserting)g(an)h(en)m(try)i(in)d(a)h(no)s(de)g(and)g (for)f(no)s(de)0 861 y(splitting.)57 b(The)39 b(de\014nition)e(of)h (the)g Fk(MTnode)h Fm(class)f(is)g(included)f(in)h(the)g(\014le)g Fk(MTnode.h)p Fm(,)j(while)c(the)0 982 y(implemen)m(tation)29 b(can)k(b)s(e)g(found)g(in)f(the)h(\014le)f Fk(MTnode.cpp)p Fm(.)0 1298 y Fb(3.8)135 b Fo(MTpred)42 b Fb(Class)0 1513 y Fn(Class)37 b(name:)50 b Fk(MTpred)0 1713 y Fn(Sup)s(er-class:)g Fk(GiSTobject)0 1912 y Fn(Sub-classes:)g Fk(Pred,)j(AndPred,)g(OrPred,) g(NotPred)0 2112 y Fn(A)m(ttributes:)0 2311 y(Public)36 b(metho)s(ds:)360 2511 y Fj(\017)48 b Fk(double)53 b(distance\(const)i (Object&)e(obj\))g(const)p Fm(:)39 b(pure)23 b(virtual,)f(distance)g (metho)s(d)0 2710 y Fn(Other)37 b(metho)s(ds:)360 2909 y Fj(\017)48 b(\030)p Fk(MTpred\(\))p Fm(:)f(destructor)146 3152 y(This)42 b(is)f(the)h(base)g(class)g(for)f(predicates)h(supp)s (orted)g(b)m(y)g(M-tree.)71 b(It)42 b(is)f(a)g(virtual)f(class)h(and)0 3272 y(complex)h(predicates)h([CPZ98])g(for)e(the)i(fuzzy)h(language)d (can)i(b)s(e)f(de\014ned)i(b)m(y)g(w)m(a)m(y)f(of)f(the)h(sub-)0 3393 y(classes)25 b Fk(Pred)p Fm(,)i Fk(AndPred)p Fm(,)g Fk(OrPred)p Fm(,)g(and)e Fk(NotPred)g Fm(\(see)g(b)s(elo)m(w\).)41 b(If)23 b(the)i(user)g(wishes)g(to)e(de\014ne)i(other)0 3513 y(complex)g(predicates,)j(suc)m(h)g(as)e(those)h(created)f(b)m(y)h (using)f(the)g(\\w)m(eigh)m(ted)h(sum")e(language)g([CPZ98],)0 3634 y(he/she)35 b(has)f(to)f(deriv)m(e)h(sub-classes)h(from)e(the)h Fk(MTpred)h Fm(class,)f(and)g(to)f(comp)s(ose)h(predicates)g(using)0 3754 y(the)j Fk(Pred)g Fm(class.)54 b(The)37 b(de\014nition)e(and)i (the)f(implemen)m(tation)d(of)j(the)g(class,)i(together)e(with)g(those) 0 3874 y(of)c(the)h(sub-classes,)h(are)f(included)f(in)g(the)h(\014le)f Fk(MTpred.h)p Fm(.)0 4162 y Fn(3.8.1)112 b Fk(Pred)39 b Fn(Class)0 4377 y(Class)e(name:)50 b Fk(Pred)0 4576 y Fn(Sup)s(er-class:)g Fk(MTpred)0 4776 y Fn(Sub-classes:)0 4975 y(A)m(ttributes:)360 5175 y Fj(\017)e Fk(Object)53 b(object)p Fm(:)45 b(priv)-5 b(ate,)32 b(ob)5 b(ject)34 b(of)e(the)h(simple)e(predicate)1841 5446 y(14)p eop %%Page: 15 17 15 16 bop 0 100 a Fn(Public)36 b(metho)s(ds:)360 300 y Fj(\017)48 b Fk(Pred\(const)54 b(Object&)g(obj\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 460 y Fj(\017)48 b Fk(Pred\(const)54 b(Pred&)f(p\))p Fm(:)44 b(cop)m(y)34 b(constructor)360 619 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 778 y Fj(\017)48 b Fk(const)53 b(Object&)g(obj\(\))p Fm(:)45 b(access)34 b(to)f(priv)-5 b(ate)31 b(mem)m(b)s(er)h Fk(object)0 979 y Fn(Other)37 b(metho)s(ds:)146 1227 y Fm(Ob)5 b(jects)32 b(of)e(this)f(class)i(are)f(simple)e(predicates,)k (i.e.)d(lea)m(v)m(es)j(of)d(the)i(predicate)f(tree.)43 b(Eac)m(h)31 b Fk(Pred)0 1348 y Fm(con)m(tains)e(the)g(reference)i(to)e (a)f(simple)g Fk(Object)p Fm(,)j(and)e(the)h(distance)f(b)s(et)m(w)m (een)i(the)e(predicate)g(and)h(an)0 1468 y(ob)5 b(ject)33 b(is)f(simply)g(computed)g(as)h(the)g(distance)g(b)s(et)m(w)m(een)i (the)e(t)m(w)m(o)g Fk(Object)p Fm(s.)0 1757 y Fn(3.8.2)112 b Fk(AndPred)40 b Fn(Class)0 1971 y(Class)d(name:)50 b Fk(AndPred)0 2172 y Fn(Sup)s(er-class:)g Fk(MTpred)0 2373 y Fn(Sub-classes:)0 2574 y(A)m(ttributes:)360 2775 y Fj(\017)e Fk(MTpred)53 b(*pred1,)g(*pred2)p Fm(:)46 b(priv)-5 b(ate,)31 b(sub-predicates)0 2975 y Fn(Public)36 b(metho)s(ds:)360 3176 y Fj(\017)48 b Fk(AndPred\(const)55 b(MTpred)e(*p1,)f(const)h(MTpred)g(*p2\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 3336 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 3495 y Fj(\017)48 b Fk(MTpred)53 b(*Pred1\(\))p Fm(:)46 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred1)360 3654 y Fj(\017)48 b Fk(MTpred)53 b(*Pred2\(\))p Fm(:)46 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred2)0 3855 y Fn(Other)37 b(metho)s(ds:)360 4056 y Fj(\017)48 b(\030)p Fk(AndPred\(\))p Fm(:)f(destructor)146 4304 y(This)36 b(class)f(de\014nes)i(the)f(conjunction)f(b)s(et)m(w)m (een)j(t)m(w)m(o)e(sub-predicates.)52 b(The)37 b(seman)m(tics)e(of)g (the)0 4424 y(conjunction)42 b(is)g(giv)m(en)h(through)f(the)h Fk(language)53 b(query)p 2189 4424 31 4 v 38 w(language)45 b Fm(v)-5 b(ariable,)43 b(assuming)e(one)i(of)0 4545 y(the)33 b(follo)m(wing)d(v)-5 b(alues:)145 4770 y Fj(\017)49 b Fk(FUZZY)p 505 4770 V 38 w(STANDARD)35 b Fm(fuzzy)e(standard)g (language)145 4971 y Fj(\017)49 b Fk(FUZZY)p 505 4971 V 38 w(ALGEBRAIC)35 b Fm(fuzzy)f(algebraic)d(language)0 5197 y(and)i(the)g(t)m(w)m(o)g(functions:)1841 5446 y(15)p eop %%Page: 16 18 16 17 bop 145 100 a Fj(\017)49 b Fk(double)k(Dist2Sim\(double)i(dist\)) 39 b Fm(transforms)e(distance)g(v)-5 b(alues)38 b(in)m(to)e(similarit)m (y)e(scores)244 220 y(\(corresp)s(ondence)g(function)f Fi(h)p Fm(\))145 423 y Fj(\017)49 b Fk(double)k(Sim2Dist\(double)i (sim\))47 b Fm(transforms)e(similarit)m(y)e(scores)k(in)m(to)e (distance)i(v)-5 b(alues)244 544 y(\(in)m(v)m(erse)34 b(of)e(the)h(corresp)s(ondence)i(function)d Fi(h)p Fm(,)g Fi(h)2118 508 y Fa(\000)p Fh(1)2213 544 y Fm(\))0 777 y(Implemen)m(tation)c(of)h(the)i Fk(Dist2Sim)h Fm(and)e Fk(Sim2Dist)i Fm(functions)e(is)f(giv)m(en)i(in)e(the)h Fk(MTpred.cpp)j Fm(\014le.)0 1067 y Fn(3.8.3)112 b Fk(OrPred)39 b Fn(Class)0 1282 y(Class)e(name:)50 b Fk(OrPred)0 1485 y Fn(Sup)s(er-class:)g Fk(MTpred)0 1689 y Fn(Sub-classes:)0 1892 y(A)m(ttributes:)360 2095 y Fj(\017)e Fk(MTpred)53 b(*pred1,)g(*pred2)p Fm(:)46 b(priv)-5 b(ate,)31 b(sub-predicates)0 2299 y Fn(Public)36 b(metho)s(ds:)360 2502 y Fj(\017)48 b Fk(OrPred\(const)55 b(MTpred)e(*p1,)f(const)h(MTpred)g(*p2\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 2664 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 2826 y Fj(\017)48 b Fk(MTpred)53 b(*Pred1\(\))p Fm(:)46 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred1)360 2988 y Fj(\017)48 b Fk(MTpred)53 b(*Pred2\(\))p Fm(:)46 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred2)0 3191 y Fn(Other)37 b(metho)s(ds:)360 3395 y Fj(\017)48 b(\030)p Fk(OrPred\(\))p Fm(:)f(destructor)146 3653 y(This)38 b(class)f(de\014nes)i(the)f(disjunction)f(b)s(et)m(w)m (een)i(t)m(w)m(o)f(sub-predicates.)59 b(The)39 b(seman)m(tics)e(of)g (the)0 3773 y(disjunction)32 b(is)g(giv)m(en)h(in)e(the)i(same)g(w)m(a) m(y)h(of)e(the)h(conjunction.)0 4063 y Fn(3.8.4)112 b Fk(NotPred)40 b Fn(Class)0 4278 y(Class)d(name:)50 b Fk(NotPred)0 4481 y Fn(Sup)s(er-class:)g Fk(MTpred)0 4685 y Fn(Sub-classes:)0 4888 y(A)m(ttributes:)360 5091 y Fj(\017)e Fk(MTpred)53 b(*pred)p Fm(:)45 b(priv)-5 b(ate,)32 b(sub-predicate)1841 5446 y(16)p eop %%Page: 17 19 17 18 bop 0 100 a Fn(Public)36 b(metho)s(ds:)360 303 y Fj(\017)48 b Fk(NotPred\(const)55 b(MTpred)e(p\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 465 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 627 y Fj(\017)48 b Fk(MTpred)53 b(*Pred\(\))p Fm(:)46 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred)0 830 y Fn(Other)37 b(metho)s(ds:)360 1034 y Fj(\017)48 b(\030)p Fk(NotPred\(\))p Fm(:)f(destructor)146 1292 y(This)31 b(class)f(de\014nes)j(the)d(negation)g(of)g(a)g (predicate.)43 b(The)31 b(distance)g(b)s(et)m(w)m(een)h(an)f Fk(Object)h(o)e Fm(and)0 1412 y(a)i(negated)h(predicate)g Fk(p)g Fm(is)f(giv)m(en)h(as:)762 1632 y Fk (Dist2Sim\(1-Sim2Dist\(p->Pr)q(ed\(\))q(->di)q(stan)q(ce\()q(o\)\)\))0 1951 y Fb(3.9)135 b Fo(MTquery)42 b Fb(Class)0 2166 y Fn(Class)37 b(name:)50 b Fk(MTquery)0 2369 y Fn(Sup)s(er-class:)g Fk(GiSTobject)0 2573 y Fn(Sub-classes:)g Fk(SimpleQuery)0 2776 y Fn(A)m(ttributes:)360 2980 y Fj(\017)e Fk(double)53 b(grade)p Fm(:)48 b(priv)-5 b(ate,)34 b(similarit)m(y)d(score)k (computed)f(for)f(the)i(curren)m(tly)g(examined)458 3100 y Fk(MTentry)g Fm(with)d(resp)s(ect)i(to)e(the)h(query)h(predicate)360 3262 y Fj(\017)48 b Fk(BOOL)53 b(isOpen)p Fm(:)45 b(priv)-5 b(ate,)32 b(indicates)g(if)f(the)i(query)h(is)e(op)s(en)0 3465 y Fn(Public)k(metho)s(ds:)360 3669 y Fj(\017)48 b Fk(MTquery\(\))p Fm(:)e(default)32 b(constructor)360 3830 y Fj(\017)48 b Fk(MTquery\(const)55 b(double)e(g,)f(const)g(BOOL)h (o=FALSE\))p Fm(:)35 b(mem)m(b)s(er)c(constructor)360 3992 y Fj(\017)48 b Fk(int)53 b(Consistent\(const)i(GiSTentry&)f (entry\))p Fm(:)46 b(pure)34 b(virtual,)d(c)m(hec)m(ks)36 b(for)d(consis-)458 4113 y(tency)360 4275 y Fj(\017)48 b Fk(int)53 b(NonConsistent\(const)j(GiSTentry&)e(entry\))p Fm(:)39 b(pure)23 b(virtual,)f(c)m(hec)m(ks)j(for)c(non-)458 4395 y(consistency)35 b(\(useful)d(for)g(negated)h(queries\))360 4557 y Fj(\017)48 b Fk(double)53 b(Grade\(\))g(const)p Fm(:)45 b(access)35 b(to)d(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(grade)360 4719 y Fj(\017)48 b Fk(double)53 b(SetGrade\(double)j(p)p 1695 4719 31 4 v 37 w(grade\))p Fm(:)45 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(grade)0 4922 y Fn(Other)37 b(metho)s(ds:)360 5126 y Fj(\017)48 b(\030)p Fk(MTquery\(\))p Fm(:)f(destructor)1841 5446 y(17)p eop %%Page: 18 20 18 19 bop 146 100 a Fm(This)47 b(is)g(the)g(base)h(class)f(for)f(range) h(queries)h(supp)s(orted)g(b)m(y)g(M-tree.)87 b(The)47 b(de\014nition)f(and)0 220 y(the)e(implemen)m(tation)d(of)i(the)h (class)g(are)g(included)f(in)g(the)h(\014le)f Fk(MTpred.h)p Fm(.)79 b(The)45 b Fk(MTpred.h)h Fm(\014le)0 340 y(also)33 b(con)m(tains)g(the)h(de\014nition)e(of)h(classes)i Fk(AndQuery)p Fm(,)h Fk(OrQuery)p Fm(,)f(and)f Fk(NotQuery)p Fm(.)48 b(Ho)m(w)m(ev)m(er,)36 b(suc)m(h)0 461 y(classes)e(are)e(included)g (only)g(for)g(future)h(expansions)h(and)f(should)f(not)g(b)s(e)h (instan)m(tiated.)0 751 y Fn(3.9.1)112 b Fk(SimpleQuery)41 b Fn(Class)0 965 y(Class)c(name:)50 b Fk(SimpleQuery)0 1169 y Fn(Sup)s(er-class:)g Fk(MTquery)0 1372 y Fn(Sub-classes:)0 1576 y(A)m(ttributes:)360 1779 y Fj(\017)e Fk(MTpred)53 b(*pred)p Fm(:)45 b(priv)-5 b(ate,)32 b(query)i(predicate)360 1941 y Fj(\017)48 b Fk(double)53 b(radius)p Fm(:)45 b(priv)-5 b(ate,)32 b(query)i(radius)0 2144 y Fn(Public)i(metho)s(ds:)360 2348 y Fj(\017)48 b Fk(SimpleQuery\(const)56 b(MTpred)d(*p,)f(const)h (double)g(r,)e(const)i(BOOL)f(o=FALSE\))p Fm(:)24 b(mem-)458 2468 y(b)s(er)33 b(constructor)360 2630 y Fj(\017)48 b Fk(SimpleQuery\(const)56 b(SimpleQuery&)f(q\))p Fm(:)44 b(cop)m(y)33 b(constructor)360 2792 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 2954 y Fj(\017)48 b Fk(double)53 b(Radius\(\))h(const)p Fm(:)45 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(radius)360 3116 y Fj(\017)48 b Fk(void)53 b(SetRadius\(double)i(p)p 1643 3116 31 4 v 38 w(radius\))p Fm(:)45 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(radius)0 3319 y Fn(Other)37 b(metho)s(ds:)360 3522 y Fj(\017)48 b(\030)p Fk(SimpleQuery\(\))p Fm(:)g(destructor)146 3781 y(This)43 b(class)g(implemen)m(ts)e(the)j(simple)d(range)i(query)-8 b(.)75 b(Its)43 b(de\014nition)f(is)g(included)h(in)f(the)h(\014le)0 3901 y Fk(MTpred.h)p Fm(,)33 b(while)28 b(the)j(implemen)m(tation)26 b(is)k(in)f(\014le)g Fk(MTpred.cpp)p Fm(.)45 b(It)30 b(is)f(used)i(in)e(the)i Fk(RangeSearch)0 4021 y Fm(metho)s(d)g(of)g (the)g(class)h Fk(MT)g Fm(\(see)g(Section)f(3.1\).)43 b(If)31 b(the)h(query)h(is)e(op)s(en)g(\()p Fk(o=TRUE)i Fm(when)f(constructing)0 4142 y(the)26 b Fk(SimpleQuery)i Fm(ob)5 b(ject\),)28 b(only)d(ob)5 b(jects)27 b(whose)g(distance)f(to)f (the)h(query)h(predicate)f(is)f(lo)m(w)m(er)g(than)0 4262 y(the)38 b(pro)m(vided)g(radius)f(are)g(returned)h(as)g(the)g (result;)h(otherwise)f(\()p Fk(o=FALSE)p Fm(\),)h(also)e(ob)5 b(jects)38 b(whose)0 4383 y(distance)33 b(to)f(the)h(query)h(predicate) f(is)f(equal)g(to)h(the)g(pro)m(vided)g(radius)f(are)g(returned.)0 4672 y Fn(3.9.2)112 b Fk(TopQuery)40 b Fn(Class)0 4887 y(Class)d(name:)50 b Fk(TopQuery)0 5091 y Fn(Sup)s(er-class:)g Fk(GiSTobject)1841 5446 y Fm(18)p eop %%Page: 19 21 19 20 bop 0 100 a Fn(Sub-classes:)0 303 y(A)m(ttributes:)360 506 y Fj(\017)48 b Fk(MTpred)53 b(*pred)p Fm(:)45 b(priv)-5 b(ate,)32 b(query)i(predicate)360 668 y Fj(\017)48 b Fk(int)53 b(k)p Fm(:)43 b(public,)32 b(n)m(um)m(b)s(er)h(of)f(neigh)m (b)s(ors)0 872 y Fn(Public)k(metho)s(ds:)360 1075 y Fj(\017)48 b Fk(TopQuery\(const)55 b(MTpred)e(*p,)f(const)h(int)f(n\))p Fm(:)44 b(mem)m(b)s(er)32 b(constructor)360 1237 y Fj(\017)48 b Fk(TopQuery\(const)55 b(TopQuery&)f(q\))p Fm(:)44 b(cop)m(y)34 b(constructor)360 1399 y Fj(\017)48 b Fk(GiSTobject)54 b(*Copy\(\))g(const)p Fm(:)44 b(cop)m(y)34 b(op)s(erator)360 1561 y Fj(\017)48 b Fk(const)53 b(MTpred)g(*Pred\(\))g(const)p Fm(:)45 b(access)34 b(to)e(priv)-5 b(ate)32 b(mem)m(b)s(er)g Fk(pred)0 1764 y Fn(Other)37 b(metho)s(ds:)360 1968 y Fj(\017)48 b(\030)p Fk(TopQuery\(\))p Fm(:)f(destructor)146 2226 y(This)c(class)f(implemen)m(ts)e(the)j(simple)d(top)i(query)-8 b(.)74 b(Its)42 b(de\014nition)f(and)i(implemen)m(tation)38 b(are)0 2346 y(included)g(in)g(the)h(\014le)f Fk(MTpred.h)p Fm(.)63 b(It)39 b(is)f(used)h(in)f(the)h Fk(TopSearch)i Fm(metho)s(d)d(of)g(the)h(class)f Fk(MT)h Fm(\(see)0 2467 y(Section)32 b(3.1\).)0 2786 y Fb(3.10)136 b Fo(MTcursor)41 b Fb(Class)0 3000 y Fn(Class)c(name:)50 b Fk(MTcursor)0 3204 y Fn(Sup)s(er-class:)0 3407 y(Sub-classes:)0 3610 y(A)m(ttributes:)360 3814 y Fj(\017)e Fk(const)53 b(MT&)f(tree)p Fm(:)45 b(the)33 b(tree)g(the)g(cursor)g(acts)g(up)s(on)360 3976 y Fj(\017)48 b Fk(list)d(results)p Fm(:)45 b(the)33 b(queue)h(of)e(partial)f(results)360 4138 y Fj(\017)48 b Fk(list)e(queue)p Fm(:)44 b(the)33 b(queue)i(of)d(activ)m(e)g(no)s(des)360 4300 y Fj(\017)48 b Fk(MTpred)53 b(*query)p Fm(:)45 b(the)33 b(query)h(predicate)0 4503 y Fn(Public)i(metho)s(ds:)360 4706 y Fj(\017)48 b Fk(MTcursor\(const)55 b(MT&)e(tree,)f(const)h (MTpred&)g(query\))p Fm(:)45 b(mem)m(b)s(er)32 b(constructor)360 4868 y Fj(\017)48 b Fk(MTentry)54 b(*Next\(\))p Fm(:)45 b(fetc)m(hes)34 b(next)g(result)e(from)g(the)h(queue)360 5030 y Fj(\017)48 b Fk(BOOL)53 b(IsReady\(\))g(const)p Fm(:)48 b(returns)35 b Fk(TRUE)f Fm(i\013)f(it)g(is)g(not)h(necessary)i (to)e(fetc)m(h)g(no)s(des)h(to)458 5151 y(return)f(the)f(next)g(ob)5 b(ject)33 b(from)f(the)h Fk(results)h Fm(queue)1841 5446 y(19)p eop %%Page: 20 22 20 21 bop 360 100 a Fj(\017)48 b Fk(double)53 b(Bound\(\))g(const)p Fm(:)k(returns)39 b(a)f(lo)m(w)m(er)g(b)s(ound)g(on)h(the)f(distance)h (b)s(et)m(w)m(een)h(the)458 220 y(query)25 b(predicate)e(and)f(the)i (next)f(ob)5 b(ject)24 b(\(without)e(fetc)m(hing)h(an)m(y)g(no)s(de)g (from)f(the)h(queue\))0 423 y Fn(Other)37 b(metho)s(ds:)360 627 y Fj(\017)48 b(\030)p Fk(MTcursor\(\))p Fm(:)f(destructor)360 789 y Fj(\017)h Fk(void)53 b(FetchNode\(\))p Fm(:)46 b(fetc)m(hes)34 b(next)g(no)s(de)f(from)e(the)i(queue)146 1047 y(This)d(class)f(implemen)m(ts)e(the)j(sorted)f(access)i(for)e (the)g(M-tree)h(index)f(structure.)44 b(The)29 b(de\014nition)0 1167 y(of)j(the)g(class)g(is)g(giv)m(en)g(in)f(the)h(\014le)g Fk(MTcursor.h)p Fm(,)j(and)d(its)f(implemen)m(tation)e(is)j(included)f (in)g(the)i(\014le)0 1288 y Fk(MTcursor.cpp)p Fm(.)146 1438 y(The)c(user)g(can)g(b)s(egin)e(a)h(new)h(sorted)g(access)h(to)e (a)f(tree)i(with)f(resp)s(ect)h(to)f(a)g Fk(MTpred)h Fm(\(see)h(Section)0 1559 y(3.8\))40 b(b)m(y)g(creating)g(an)g (instance)g(of)f(the)i Fk(MTcursor)h Fm(class.)66 b(Then,)43 b(it)c(is)g(su\016cien)m(t)i(to)f(rep)s(eatedly)0 1679 y(send)26 b(the)e Fk(Next\(\))i Fm(message)f(to)f(the)h(so-created)g Fk(MTcursor)i Fm(ob)5 b(ject)25 b(to)f(retriev)m(e,)j(one-b)m(y-one,)g (all)22 b(the)0 1799 y(indexed)k Fk(Object)p Fm(s)h(sorted)e(in)f (increasing)g(order)i(of)e(distance)h(with)g(resp)s(ect)h(to)f(the)g (query)h(predicate.)0 1920 y(The)k(result)f(of)f(the)i Fk(Next\(\))g Fm(metho)s(d)f(is)f(an)h Fk(MTentry)i Fm(whose)f Fk(Object)h Fm(coincides)e(with)f(the)i(indexed)0 2040 y(ob)5 b(ject)41 b(and)f(whose)h Fk(maxradius)h Fm(represen)m(ts)g(the) f(distance)f(to)f(the)i(query)g(predicate.)65 b(Once)41 b(the)0 2160 y(user)34 b(is)f(satis\014ed)h(with)f(the)g(result,)h (he/she)h(can)e(in)m(terrupt)g(the)h(sorted)g(access)h(b)m(y)f(destro)m (ying)g(the)0 2281 y Fk(MTcursor)h Fm(ob)5 b(ject.)44 b(The)33 b(classical)e(w)m(a)m(y)j(to)f(p)s(erform)e(a)h(sorted)i (access)g(is)e(the)h(follo)m(wing:)205 2514 y Fk(MT)52 b(*tree=new)i(MT;)205 2635 y(tree->Open\(...\);)i(//)51 b(tree)i(construction)205 2755 y(...)205 2875 y(MTpred)g(pred\(...\);)h (//)e(query)g(construction)205 2996 y(MTcursor)h(cursor\(*tree,)i (pred\);)205 3116 y(while\(...\))105 b Fj(f)51 b Fk(//)h(continue)i (until)e(satisfied)410 3237 y(MTentry)h(*e=cursor.Next\(\);)410 3357 y(Object)g(o=e->object\(\);)i(//)d(result)h(object)410 3477 y(double)g(dist=e->maxradius\(\);)k(//)51 b(distance)j(from)e (query)h(predicate)410 3598 y(...)103 b(//)52 b(result)h(evaluation)410 3718 y(delete)g(e;)205 3838 y Fj(g)0 4201 y Fl(4)161 b(M-tree)53 b(Files)i(Ov)l(erview)0 4450 y Fm(The)42 b(M-tree)g(soft)m(w)m(are)h(library)d(is)h(shipp)s(ed)h(as)f(a)h(Windo) m(ws)g(.zip)f(\014le)g(con)m(taining)f(the)i(follo)m(wing)0 4571 y(\014les:)1841 5446 y(20)p eop %%Page: 21 23 21 22 bop 196 84 a Fm(\014lename)516 b(description)p 146 124 3930 4 v 196 208 a Fk(MTree.ps)461 b Fm(This)32 b(\014le)196 328 y Fk(GiSTdefs.h)359 b Fm(Rede\014nition)31 b(of)i(some)f(GiST)g(constan)m(ts)i(\(should)e(o)m(v)m(erwrite)i(the)f (GiST)e(\014le\))196 449 y Fk(list.h)563 b Fm(De\014nition)31 b(of)h(an)g(ordered)h(list)f(con)m(tainer)196 569 y Fk(Makefile)461 b Fm(A)32 b(sample)g(Mak)m(e\014le)i(to)e(compile)e(the)j(pro)5 b(ject)34 b(under)f(Solaris)196 689 y Fk(MT.h)665 b Fm(Global)30 b(declarations)h(and)i(de\014nition)e(of)i(the)g Fk(MT)g Fm(class)196 810 y Fk(MT.cpp)563 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(MT)g Fm(class)196 930 y Fk(BulkLoad.cpp)257 b Fm(Implemen)m(tation)30 b(of)i(the)h(bulk-loading)d(algorithm)196 1051 y Fk(MTentry.h)410 b Fm(De\014nition)31 b(of)h(the)h Fk(MTkey)p Fm(,)h Fk(MTpenalty)p Fm(,)h(and)d Fk(MTentry)j Fm(classes)196 1171 y Fk(MTentry.cpp)308 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(MTentry)i Fm(class)196 1291 y Fk(MTfile.h)461 b Fm(De\014nition)31 b(of)h(the)h Fk(MTfile)h Fm(class)196 1412 y Fk(MTfile.cpp)359 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(MTfile)h Fm(class)196 1532 y Fk(MTnode.h)461 b Fm(De\014nition)31 b(of)h(the)h Fk(MTnode)h Fm(class)196 1653 y Fk(MTnode.cpp)359 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(MTnode)h Fm(class)196 1773 y Fk(MTobject.h)359 b Fm(De\014nition)31 b(of)h(the)h Fk(Object)h Fm(class)196 1893 y Fk(MTobject.cpp)257 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(Object)h Fm(class)196 2014 y Fk(MTpredicate.h)206 b Fm(De\014nition)31 b(and)h(implemen)m (tation)e(of)i(the)h Fk(MTpred)p Fm(,)h Fk(Pred)p Fm(,)g Fk(AndPred)p Fm(,)1065 2134 y Fk(OrPred)p Fm(,)g Fk(MTquery)p Fm(,)g(and)f Fk(TopQuery)i Fm(classes,)1065 2254 y(de\014nition)c(of)h (the)h Fk(Simplequery)j Fm(class)196 2375 y Fk(MTpredicate.cpp)104 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(SimpleQuery)j Fm(class)196 2495 y Fk(MTcursor.h)359 b Fm(De\014nition)31 b(of)h(the)h Fk(MTcursor)h Fm(class)196 2616 y Fk(MTcursor.cpp)257 b Fm(Implemen)m(tation)30 b(of)i(the)h Fk(MTcursor)i Fm(class)196 2736 y Fk(Main.cpp)461 b Fm(A)32 b(sample)g(main\(\))f(to) h(sho)m(w)i(the)f(use)g(of)f(M-tree)h(features)146 3049 y(The)h(\014les)f Fk(MTobject.h)i Fm(and)e Fk(MTobject.cpp)j Fm(con)m(tain)c(the)h(de\014nition)f(of)g(t)m(w)m(o)i(simple)d Fk(Object)0 3169 y Fm(classes:)44 b(An)31 b(ob)5 b(ject)31 b(comp)s(osed)g(b)m(y)h(a)e Fi(n)p Fm(-dimensional)e(v)m(ector)k(and)f (an)f(ob)5 b(ject)32 b(comp)s(osed)f(b)m(y)g(a)g(list)0 3290 y(of)h(w)m(eigh)m(ts)i(\(useful,)f(as)g(an)f(example,)h(to)f (represen)m(t)j(do)s(cumen)m(ts)e(in)f(the)h(V)-8 b(ector)33 b(Space)h(Mo)s(del)e(for)0 3410 y(Information)e(Retriev)-5 b(al)31 b(applications)g([Sal88)o(]\).)1842 3374 y Fh(2)0 3773 y Fl(5)161 b(Cop)l(yrigh)l(t)52 b(and)h(Disclaimer)0 4022 y Fm(Cop)m(yrigh)m(t)22 b(\(c\))h(1997,1998,)f(1999.)39 b(Multimedia)20 b(DB)h(group)h(and)g(DEIS)h(-)e(CSITE-CNR,)j(Univ)m (ersit)m(y)0 4142 y(of)32 b(Bologna,)f(Bologna,)g(Italy)-8 b(.)146 4293 y(All)31 b(righ)m(ts)h(reserv)m(ed.)146 4443 y(P)m(ermission)j(to)h(use,)i(cop)m(y)-8 b(,)37 b(and)f(distribute)f(this)h(soft)m(w)m(are)h(and)e(its)h(do)s(cumen)m (tation)f(for)g(non-)0 4563 y(commercial)22 b(purp)s(oses)j(and)g (without)f(fee)h(is)f(hereb)m(y)i(gran)m(ted)f(pro)m(vided)g(that)f (this)g(cop)m(yrigh)m(t)h(notice)0 4684 y(app)s(ears)33 b(in)f(all)e(copies.)146 4834 y(The)38 b(authors)f(mak)m(e)f(no)h (represen)m(tations)h(or)e(w)m(arran)m(ties)h(ab)s(out)f(the)h (suitabilit)m(y)d(of)i(the)h(soft-)0 4955 y(w)m(are,)45 b(either)c(express)j(or)d(implied,)h(including)d(but)j(not)g(limited)d (to)i(the)h(implied)d(w)m(arran)m(ties)j(of)p 0 5023 1512 4 v 112 5084 a Fe(2)149 5114 y Fd(Note)28 b(that,)g(for)f(the)h (latter)f(application,)g Fc(Object)p Fd(s)e(ha)n(v)n(e)i(di\013eren)n (t)g(sizes)g(\(see)h(Section)f(3.2\).)1841 5446 y Fm(21)p eop %%Page: 22 24 22 23 bop 0 100 a Fm(merc)m(han)m(tabilit)m(y)-8 b(,)33 b(\014tness)k(for)c(a)i(particular)d(purp)s(ose,)k(or)e (non-infringemen)m(t.)48 b(The)35 b(authors)g(shall)0 220 y(not)47 b(b)s(e)h(liable)c(for)j(an)m(y)h(damages)f(su\013ered)h (b)m(y)h(licensee)e(as)h(a)f(result)g(of)f(using,)51 b(mo)s(difying)45 b(or)0 340 y(distributing)31 b(this)h(soft)m(w)m(are) h(or)g(its)f(deriv)-5 b(ativ)m(es.)0 703 y Fl(References)0 952 y Fm([CA97])118 b(W)-8 b(eimin)20 b(Chen)j(and)f(Karl)f(Ab)s(erer.) 26 b(E\016cien)m(t)d(querying)g(on)e(genomic)g(databases)i(b)m(y)g (using)413 1073 y(metric)j(space)j(indexing)d(tec)m(hniques.)36 b(In)28 b Ff(1st)i(International)f(Workshop)g(on)g(Query)i(Pr)-5 b(o-)413 1193 y(c)g(essing)41 b(and)h(Multime)-5 b(dia)42 b(Issues)g(in)g(Distribute)-5 b(d)42 b(Systems)g(\(PMIDS'97\))p Fm(,)f(T)-8 b(oulouse,)413 1313 y(F)g(rance,)33 b(Septem)m(b)s(er)g (1997.)0 1517 y([CP98])125 b(P)m(aolo)25 b(Ciaccia)g(and)h(Marco)h(P)m (atella.)k(Bulk)26 b(loading)e(the)j(M-tree.)33 b(In)26 b Ff(Pr)-5 b(o)g(c)g(e)g(e)g(dings)28 b(of)h(the)413 1637 y(9th)f(A)n(ustr)-5 b(alasian)27 b(Datab)-5 b(ase)27 b(Confer)-5 b(enc)g(e)26 b(\(ADC'98\))p Fm(,)f(pages)g(15{26,)h(P)m (erth,)h(Australia,)413 1758 y(F)-8 b(ebruary)33 b(1998.)0 1961 y([CPZ97])65 b(P)m(aolo)42 b(Ciaccia,)j(Marco)e(P)m(atella,)i(and) e(P)m(a)m(v)m(el)h(Zezula.)74 b(M-tree:)65 b(An)44 b(e\016cien)m(t)g (access)413 2081 y(metho)s(d)c(for)g(similarit)m(y)e(searc)m(h)k(in)e (metric)f(spaces.)70 b(In)41 b Ff(Pr)-5 b(o)g(c)g(e)g(e)g(dings)41 b(of)h(the)g(23r)-5 b(d)42 b(In-)413 2202 y(ternational)37 b(Confer)-5 b(enc)g(e)36 b(on)i(V)-7 b(ery)37 b(L)-5 b(ar)g(ge)38 b(Data)f(Bases)g(\(VLDB'97\))p Fm(,)e(pages)h(426{435,)413 2322 y(A)m(thens,)e(Greece,)g(August)f(1997.)0 2525 y([CPZ98])65 b(P)m(aolo)32 b(Ciaccia,)h(Marco)g(P)m(atella,)f(and)i(P)m(a)m(v)m(el)g (Zezula.)45 b(Pro)s(cessing)33 b(complex)g(similarit)m(y)413 2646 y(queries)h(with)f(distance-based)h(access)h(metho)s(ds.)46 b(In)34 b Ff(Pr)-5 b(o)g(c)g(e)g(e)g(dings)34 b(of)h(the)h(6th)f (Interna-)413 2766 y(tional)k(Confer)-5 b(enc)g(e)39 b(on)g(Extending)g(Datab)-5 b(ase)39 b(T)-7 b(e)i(chnolo)g(gy)38 b(\(EDBT'98\))p Fm(,)f(pages)h(9{23,)413 2887 y(V)-8 b(alencia,)31 b(Spain,)h(Marc)m(h)i(1998.)0 3090 y([HNP95])49 b(Joseph)29 b(M.)f(Hellerstein,)g(Je\013rey)h(F.)e(Naugh)m(ton,)i(and)f (Avi)f(Pfe\013er.)36 b(Generalized)27 b(searc)m(h)413 3210 y(trees)33 b(for)e(database)h(systems.)43 b(In)32 b Ff(Pr)-5 b(o)g(c)g(e)g(e)g(dings)33 b(of)g(the)h(21st)g (International)f(Confer)-5 b(enc)g(e)413 3331 y(on)48 b(V)-7 b(ery)49 b(L)-5 b(ar)g(ge)48 b(Data)g(Bases)g(\(VLDB'95\))p Fm(,)i(pages)d(562{573,)j(Zuric)m(h,)h(Switzerland,)413 3451 y(Septem)m(b)s(er)33 b(1995.)43 b Fk(http://gist.cs.berkeley.e)q (du:8)q(000/)q(gist)q(/)p Fm(.)0 3655 y([P)m(at99])111 b(Marco)45 b(P)m(atella.)77 b Ff(Similarity)46 b(Se)-5 b(ar)g(ch)45 b(in)g(Multime)-5 b(dia)46 b(Datab)-5 b(ases)p Fm(.)77 b(PhD)44 b(thesis,)k(Di-)413 3775 y(partimen)m(to)35 b(di)h(Elettronica)f(Informatica)g(e)i(Sistemistica,)e(Univ)m (ersit\022)-49 b(a)36 b(degli)f(Studi)h(di)413 3895 y(Bologna,)31 b(Bologna,)g(Italy)-8 b(,)32 b(1999.)43 b Fk (http://www-db.deis.unibo.i)q(t/~p)q(ate)q(lla/)q Fm(.)0 4099 y([Sal88])130 b(Gerard)42 b(Salton.)73 b Ff(A)n(utomatic)44 b(T)-7 b(ext)43 b(Pr)-5 b(o)g(c)g(essing:)63 b(The)43 b(T)-7 b(r)i(ansformational,)44 b(A)n(nalysis,)413 4219 y(and)49 b(R)-5 b(etrieval)49 b(of)g(Information)f(by)i(Computer)p Fm(.)90 b(Addison-W)-8 b(esley)g(,)53 b(Reading,)f(MA,)413 4340 y(1988.)1841 5446 y(22)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF