SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, )
SAX.comment( saved from url=(0025)http://bp6.gamesquad.net/ )
SAX.comment( BEGIN Naviscope Javascript )
SAX.startElement(html)
SAX.startElement(head)
SAX.startElement(title)
SAX.characters(BP6.com #1 online resource for, 47)
SAX.endElement(title)
SAX.ignorableWhitespace(
, 2)
SAX.startElement(script, language='javascript')
SAX.cdata(
          NS_ActualOpen=wind, 199)
SAX.endElement(script)
SAX.ignorableWhitespace(
, 2)
SAX.comment( END Naviscope Javascript )
SAX.error: Misplaced DOCTYPE declaration
SAX.internalSubset(HTML, -//W3C//DTD HTML 3.2//EN, )
SAX.comment(last modified on Tuesday, February 22, 2000 11:47 PM )
SAX.ignorableWhitespace(
, 2)
SAX.startElement(meta, content='text/html;CHARSET=iso-8859-1', http-equiv='Content-Type')
SAX.endElement(meta)
SAX.ignorableWhitespace(
, 2)
SAX.startElement(meta, content='Tim', name='Author')
SAX.endElement(meta)
SAX.ignorableWhitespace(
, 2)
SAX.startElement(style, type='text/css')
SAX.cdata(A.nav {
	COLOR: #003399; TEXT, 115)
SAX.endElement(style)
SAX.ignorableWhitespace(

, 4)
SAX.startElement(script, language='JavaScript')
SAX.cdata(
&lt;!-- Idea by:  Nic Wolfe (, 476)
SAX.endElement(script)
SAX.ignorableWhitespace(

, 4)
SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR')
SAX.endElement(meta)
SAX.endElement(head)
SAX.ignorableWhitespace(
, 2)
SAX.startElement(body, alink='red', bgcolor='black', link='red', text='white', vlink='red')
SAX.characters(
, 2)
SAX.startElement(p)
SAX.characters(
, 2)
SAX.endElement(p)
SAX.startElement(div, align='center')
SAX.characters(
, 2)
SAX.startElement(table, border='0', cellpadding='0', cellspacing='0', width='80%')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, valign='top', width='31')
SAX.startElement(a, href='http://bp6.gamesquad.net/')
SAX.startElement(img, align='bottom', border='0', height='74', src='doc3_files/logo.gif', width='252')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, align='left', bgcolor='#000000')
SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='15')
SAX.endElement(img)
SAX.comment( START GAMESQUAD.NET IFRAME RICH MEDIA CODE )
SAX.characters( , 1)
SAX.comment( © 2000 GameSquad.net All Rights Reserved. )
SAX.startElement(iframe, border='0', frameborder='no', height='60', marginheight='0', marginwidth='0', scrolling='no', src='doc3_files/adcycle.htm', width='468')
SAX.characters(
, 1)
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(a, href='http://ads.gamesquad.net/addclick.exe/adclick.cgi?REGION=game|tech|ent&amp;id=1', target='_top')
SAX.error: htmlParseEntityRef: expecting ';'
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(img, src='http://ads.gamesquad.net/addclick.exe/adcycle.cgi?group=52&amp;media=1&amp;id=1', width='468', height='60', border='0', alt='GSN ROS Ad')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters(
, 1)
SAX.endElement(iframe)
SAX.comment( END GAMESQUAD.NET IFRAME RICH MEDIA CODE )
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='15', src='doc3_files/spacer.gif', width='400')
SAX.endElement(img)
SAX.characters( , 1)
SAX.endElement(td)
SAX.endElement(tr)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, bgcolor='#003399', colspan='2')
SAX.characters(
      , 8)
SAX.startElement(p, align='right')
SAX.startElement(img, align='right', border='0', height='18', hspace='0', src='doc3_files/trcorner.gif', width='20')
SAX.endElement(img)
SAX.startElement(img, align='left', border='0', height='18', hspace='0', src='doc3_files/tlcorner.gif', width='20')
SAX.endElement(img)
SAX.startElement(font, face='Verdana', size='2')
SAX.characters(Monday, July 31st, 2000, 23)
SAX.endElement(font)
SAX.characters( , 1)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, colspan='2')
SAX.characters(
      , 8)
SAX.startElement(table, bgcolor='#003399', border='0', cellpadding='0', cellspacing='4', width='100%')
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, bgcolor='#666666', width='100%')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.characters(
            , 14)
SAX.endElement(p)
SAX.startElement(table, bgcolor='black', border='0', cellpadding='0', cellspacing='1', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td, background='doc3_files/hscan.gif', bgcolor='#666666', width='100%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='738')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
                  , 20)
SAX.startElement(center)
SAX.characters(
                  , 20)
SAX.startElement(table, border='0', cellpadding='2', cellspacing='0', width='91%')
SAX.characters(
                    , 22)
SAX.startElement(tbody)
SAX.characters(
                    , 22)
SAX.startElement(tr)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
SAX.startElement(img, align='bottom', alt='Abit BP6 Motherboard specification and information.', border='0', height='45', src='doc3_files/bp6icon.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/specs.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Specs, 9)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
SAX.startElement(img, align='bottom', alt='How to cool the BX Chipset on your BP6.', border='0', height='45', src='doc3_files/bxcool.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BX Cooling, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(img, align='bottom', alt='The U;timate Gaming Contest - Coming Soon!', border='0', height='45', src='doc3_files/ugmcontest.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(UGM Contest, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(img, align='bottom', alt='Cooling &amp; Heatsink review for the BP6.', border='0', height='45', src='doc3_files/alpha.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Heatsinks, 9)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
SAX.startElement(img, align='bottom', alt='BP6 101 - Class is now in session. Welcome newbies!', border='0', height='45', src='doc3_files/bp6101.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/101.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 101, 7)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                      , 25)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
SAX.startElement(img, align='bottom', alt='Install guide for installing Windows 2000 on the BP6 ', border='0', height='45', src='doc3_files/win2kht.gif', width='70')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/win2k_install.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Win2k Install, 13)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                        , 27)
SAX.endElement(p)
SAX.endElement(td)
SAX.characters(
                      , 24)
SAX.startElement(td, valign='top', width='15%')
SAX.characters(
                        , 26)
SAX.startElement(p, align='center')
SAX.startElement(a, href='http://www.gentus.com/')
SAX.error: error parsing attribute name
SAX.startElement(img, align='bottom', alt='Taking a first look at the Abit Linux release called ', border='0', height='45', src='doc3_files/gentusbox.gif', width='70', gentus)
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.gentus.com/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Gentus, 6)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( 
                  , 21)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.error: Unexpected end tag : p
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.characters(
, 2)
SAX.startElement(table, bgcolor='#003399', border='0', cellspacing='6', width='80%')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, bgcolor='black', valign='top', width='10%')
SAX.characters(
      , 8)
SAX.startElement(table, border='0', cellpadding='3', cellspacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, width='100%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(REVIEWS, 7)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, face='Verdana', size='2')
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bp6reviews.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Reviews, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/h2o.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Watercooling, 16)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bxcool.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BX Chipset Cooling, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/benchmark.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Benchmarks, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bp6fsb.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6FSB Utility, 14)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/powerleap.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(PowerLeap NEO S370, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/seti.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(SETI on the BP6, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/orbs.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Golden Orbs I, 13)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/orbs/orbs2.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Golden Orbs II, 14)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/Q6fix.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(VTT Solution, 12)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(NAVIGATE, 8)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 
            , 15)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://www.bp6.com/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(News, 4)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/chat.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Online Text Chat, 16)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='javascript:popUp(&apos;chat_popup.htm&apos;)')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Voice Chat, 10)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://216.247.220.192/Forum')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Messageboard, 12)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/cooling')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Temp. Converter, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Picture Gallery, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/bios.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Latest BIOS, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/files/')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Drivers , 8)
SAX.characters(&amp;, 1)
SAX.characters( Files, 6)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(UGM of the week, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/contest.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(BP6 Contest, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(OTHER STUFF, 11)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 

            , 17)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/whois.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Who is Tim?, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='mailto:tim@bp6.com')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Contact BP6.com, 15)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Affiliates Section, 18)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(font, face='Verdana', size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Sponsors Section , 17)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(a, href='http://bp6.gamesquad.net/links.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Links, 5)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(PC SPECIALS, 11)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters( 
            , 15)
SAX.startElement(hr, align='center')
SAX.endElement(hr)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(a, href='http://bp6.gamesquad.net/specials.phtml')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Vendor 
            Specials, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.error: Unexpected end tag : font
SAX.error: Unexpected end tag : a
SAX.startElement(b)
SAX.startElement(font, color='yellow', face='Verdana', size='2')
SAX.characters(Pic of the day, 14)
SAX.endElement(font)
SAX.endElement(b)
SAX.characters(
            , 14)
SAX.startElement(hr)
SAX.endElement(hr)
SAX.characters(
             
            , 29)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p, align='center')
SAX.startElement(font, face='Verdana, Arial, Helvetica', size='1')
SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/schlabo/potd.pl')
SAX.startElement(img, alt='No picture is available for today.', border='0', src='doc3_files/potd_na_110x83.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(font)
SAX.endElement(p)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<A HREF="code:javascript:ID_FTPWebView.InvokeHelp()"><FONT SIZE="1" COLOR="white" FACE="Verdana">FTP Help</FONT></A>)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, bgcolor='white', valign='top', width='80%')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='490')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
      , 8)
SAX.startElement(center)
SAX.characters(
      , 8)
SAX.startElement(p)
SAX.characters(
      , 8)
SAX.endElement(p)
SAX.startElement(table, bgcolor='white', border='0', cellpadding='10', cellspacing='0', height='100%', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, bgcolor='white', valign='top', width='100%')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.startElement(a, href='http://www.encounter2001.com/', target='_blank')
SAX.startElement(img, border='0', height='60', src='doc3_files/banner2.gif', width='468')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.endElement(center)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='news_top')
SAX.endElement(a)
SAX.startElement(font, color='#003366', face='verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Headlines, 9)
SAX.endElement(b)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem965012956,78924,')
SAX.characters(Chat 
            with ABIT -, 41)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964766837,26344,')
SAX.characters(Fixed 
            wallpaper , 43)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964762841,25865,')
SAX.characters(Seti 
            update - 10, 39)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964732235,45502,')
SAX.characters(Judge 
            gives Naps, 57)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964713289,83675,')
SAX.characters(Ram 
            Sinks.. more, 83)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964671589,7831,')
SAX.characters(is 
            it [H]ard? - , 40)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964644047,60218,')
SAX.characters(WiLd 
            CaSe!! - 1:, 38)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964631110,84122,')
SAX.characters(What 
            the heck is, 58)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964587833,74573,')
SAX.characters(HELLO 
            EVERYONE!!, 45)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, face='arial', size='1')
SAX.startElement(a, class='nav', href='http://bp6.gamesquad.net/index.phtml#newsitem964429577,13375,')
SAX.characters(BP6 
            Q3 server up, 57)
SAX.endElement(a)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment( NP v3.7.5 )
SAX.startElement(a, name='newsitem965012956,78924,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Sunday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Chat with 
            ABIT, 28)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 8:09PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/965012956,78924,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(I, 1)
SAX.characters(&rsquo;, 3)
SAX.characters(m slacking a little. All game , 83)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Wallpaper update: I got 
    , 130)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.startElement(a, href='http://fullon3d.com/chat/abit/', target='3d')
SAX.characters(Fullon3d had a live chat with , 69)
SAX.endElement(a)
SAX.endElement(b)
SAX.characters(Submitted by: MJS, 17)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Here, 4)
SAX.characters(&rsquo;, 3)
SAX.characters(s a little clip:, 16)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([Falcon] 
            BP6-2??, 30)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] We already have a, 75)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] but it's OEM only, 30)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([EricBoeing] the full ATX 
  , 74)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964766837,26344,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Thursday, 
                  , 43)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Fixed 
            wallpaper, 29)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 11:47PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964766837,26344,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(5 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.startElement(b)
SAX.characters(Get them now!!, 14)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(This is a 
            fixed , 106)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='180', src='doc3_files/3-800.jpg', width='240')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(It's still the Intels Inside o, 104)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks to Matt for 
         , 57)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I would also like to thank Kev, 133)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(And 1 more person, THANK YOU T, 90)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(If you need a weird resolution, 59)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(e-mail, 6)
SAX.endElement(a)
SAX.characters( me requesting 
            f, 37)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(If you have ideas or more erro, 47)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(mailto:Holodeck2@home.com, 25)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='doc3_files/3-800.jpg', target='800')
SAX.characters(800x600 , 8)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1024.jpg', target='800')
SAX.characters(1024x768 , 9)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1152.jpg', target='800')
SAX.characters(1152x864 , 9)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1280x1024.jpg', target='800')
SAX.characters(1280x1024 , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.bp6.com/pics/holodeck2/wallpaper/3-1600.jpg', target='800')
SAX.characters(1600x1200 , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.characters(Enjoy :-), 9)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.endElement(p)
SAX.startElement(p)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(Holodeck2,, 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters([H]ard at 
            work o, 65)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(p)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964762841,25865,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Seti update, 11)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:40PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964762841,25865,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(5 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.startElement(img, height='54', src='doc3_files/setiupdate.jpg', width='400')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(You like the 
            pic, 31)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Bp6 User Group Update:, 22)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Completed 61531 
            , 37)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.characters(#168 on Top 200 All Groups, 26)
SAX.endElement(b)
SAX.characters( (Going to pass CLRC in 
    , 49)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(b)
SAX.characters(#74 on Top 200 Teams, 20)
SAX.endElement(b)
SAX.characters( (Gaining fast on 
          , 42)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(We are flying though at the sp, 82)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Good job everyone!!, 19)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check this page at 
         , 67)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964732235,45502,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Judge gives Napster the 
    , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 2:10PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964732235,45502,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Good afternoon for everyone li, 135)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I woke up and thought about po, 488)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.msnbc.com/news/437532.asp', target='Judge vs Napster')
SAX.characters(Judge shuts Napster down
    , 38)
SAX.startElement(p)
SAX.startElement(img, height='143', src='doc3_files/669915.jpg', width='200')
SAX.endElement(img)
SAX.endElement(p)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check out the Goofy guy in the, 35)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(He's Sean 
            Fannin, 52)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Got news?? , 11)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(mailto:Holodeck2@home.com, 25)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964713289,83675,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Ram Sinks.. more cooling for s, 56)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 8:54AM PDT, 13)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964713289,83675,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Need some cooling for your Vid, 106)
SAX.startElement(a, href='http://www.overclockershideout.com/RamSinks.html', target='_BLANK')
SAX.characters(Overclockers Hiedout Ram Sinks, 30)
SAX.endElement(a)
SAX.characters( They just notified 
        , 57)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, border='1', src='doc3_files/ramsink.jpg')
SAX.endElement(img)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964671589,7831,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Wednesday, July 26, 
        , 38)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(is it 
            [H]ard?, 27)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 9:19PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964671589,7831,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Big heatsinks are good, very g, 71)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(You can never can have a too b, 99)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, height='173', src='doc3_files/voodooside2.jpg', width='230')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My overclocked 
            V, 74)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Peltier and 
            wate, 50)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters((if you pry off the heatsink y, 66)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(it was originally posted on , 28)
SAX.startElement(a, href='http://www.hardocp.com/')
SAX.characters([H]ardOCP , 10)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(&rsquo;, 3)
SAX.characters(m not only a 
            BP6, 55)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964644047,60218,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(WiLd CaSe!!, 11)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 1:40PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964644047,60218,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(8 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Now this person really knows h, 70)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Addin an 18" Fan!! WOW!!, 24)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.envador.com/Photos/PVCII/', target='_blank')
SAX.startElement(img, src='doc3_files/TN_OpenedUp1.jpg')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Click to go to his 
         , 38)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964631110,84122,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(What the heck is a 
         , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:05AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964631110,84122,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(6 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(This is for all you people who, 78)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The quest fo the Perfect 
   , 46)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.tweakmax.com/html/peltier/peltier-1.cfm', target='_blank')
SAX.startElement(img, src='doc3_files/peltier.jpg')
SAX.endElement(img)
SAX.endElement(a)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks to 
            , 24)
SAX.startElement(a, href='http://www.tweakmax.com/', target='_blank')
SAX.characters(TweakMax.com, 12)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Note: Today morning when I wok, 397)
SAX.startElement(img, src='doc3_files/smile.gif')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I'm not angry at anyone... 
 , 71)
SAX.startElement(img, src='doc3_files/tongue.gif')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964587833,74573,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Tuesday, 
                  J, 42)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(HELLO 
            EVERYONE!!, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:Holodeck@bp6.com')
SAX.characters(Holodeck2, 9)
SAX.endElement(a)
SAX.characters( @ 10:03PM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Hello 
            everyone, , 47)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Who is this Holodeck2 person , 66)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(&rsquo;, 3)
SAX.characters(m a regular on the bp6 message, 97)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I, 1)
SAX.characters(&rsquo;, 3)
SAX.characters(m the 
            self-procl, 85)
SAX.characters(&rsquo;, 3)
SAX.characters(ve 
            probably alre, 68)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My computer 
            is a, 200)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Any Questions or comments, you, 98)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Ways to contact 
            , 33)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(E-mail: , 8)
SAX.startElement(a, href='mailto:Holodeck2@home.com')
SAX.characters(Holodeck2@home.com, 18)
SAX.endElement(a)
SAX.characters( (All E-mails 
            wi, 82)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(When you 
            write m, 163)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.aol.com/aim')
SAX.characters(AIM: , 5)
SAX.endElement(a)
SAX.characters(Holodeck2 (instant response 
, 46)
SAX.characters(&rsquo;, 3)
SAX.characters(m in front of my comp and not , 53)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.icq.com/download')
SAX.characters(ICQ: , 5)
SAX.endElement(a)
SAX.characters(82640218 (rarely 
           , 34)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(P.S. If someone named , 22)
SAX.characters(&ldquo;, 3)
SAX.characters(Digital Vortex, 14)
SAX.characters(&rdquo;, 3)
SAX.characters( on either Quake 3 
         , 51)
SAX.characters(&rsquo;, 3)
SAX.characters(s probably me. ;-), 18)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964429577,13375,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Monday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(BP6 Q3 server up and 
       , 44)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 2:06AM PDT, 13)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964429577,13375,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Setup a Q3 server for anyone w, 355)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters((BTW- 
            there are , 68)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem964425184,95812,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(BIOS Savior to the 
         , 43)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 12:53AM PDT, 14)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/964425184,95812,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(2 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Do you sweat during the BIOS f, 167)
SAX.startElement(b)
SAX.characters(RD1 BIOS Savior, 15)
SAX.endElement(b)
SAX.characters(" and it 
            plugs i, 520)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.ioss.com.tw/eg/rd1/RD1info0004.PDF', target='_NEW')
SAX.characters(Manufacturers Brochure, 22)
SAX.endElement(a)
SAX.characters( (PDF Format), 13)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://192.216.185.10/mwave/doc/A06950.html', target='_BLANK"')
SAX.characters(Another info page, 17)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://192.216.185.10/mwave/ProdMB-AC-MW.hmx?UID=&amp;CID=&amp;updepts=MB&amp;DNAME=%3Cb%3EMotherboards%3C%2Fb%3E&amp;Back=ProdMB-AC-MW.hmx?', target='_BLANK')
SAX.characters(Available for about $20, 23)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(img, src='doc3_files/rd1.jpg')
SAX.endElement(img)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963875853,12731,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Monday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(How To 
            Overclock, 30)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 4:17PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875853,12731,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(For those of you who are new t, 209)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://netkills.qgl.org/a_oc_comp.shtml', target='_blank')
SAX.characters(How To Overclock, 16)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963875485,23353,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(The Cardcooler 
            X, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 4:11PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963875485,23353,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(1 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Wow! I am impressed! Nevermind, 98)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(i)
SAX.characters(Even if your 
            not, 345)
SAX.endElement(i)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Check this out!, 15)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.brokenpixel.com/articles/coolerXT/cardcoolerXT_1.shtml', target='_blank')
SAX.characters(http://www.brokenpixel.com/art, 65)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963859982,88982,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters('Nerd 
            Inside', 27)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 11:53AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963859982,88982,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(1 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(We all need to have some fun , 181)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(div, align='center')
SAX.startElement(a, href='http://www.nerdgear.com/', target='_blank')
SAX.startElement(img, border='0', src='doc3_files/nerdinside.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(div)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963819796,9688,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Dual PSU Wiring diagram... (pr, 81)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:tim@bp6.com')
SAX.characters(tim, 3)
SAX.endElement(a)
SAX.characters( @ 12:43AM PDT, 14)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963819796,9688,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(11 comments, 11)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(When is comes to overclocking , 848)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(View Diagram 1 , 15)
SAX.startElement(a, href='http://bp6.gamesquad.net/images/wiring.jpg', target='_BLANK')
SAX.characters(here, 4)
SAX.endElement(a)
SAX.characters(., 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(View Diagram 2 , 15)
SAX.startElement(a, href='http://bp6.gamesquad.net/images/psu2.gif', target='_BLANK')
SAX.characters(here, 4)
SAX.endElement(a)
SAX.characters(., 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(I used Tap-In Squeeze Connecto, 150)
SAX.startElement(a, href='http://www.radioshack.com/ProductCatalog/ProductDetail/Index/1,2098,,00.html?SKUString1=64&amp;SKUString2=3053', target='_blank')
SAX.characters(click here, 10)
SAX.endElement(a)
SAX.characters(., 1)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963766655,78511,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Sunday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(RAM Overclocking? 
          , 39)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:57AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963766655,78511,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(3 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(I know we're pretty big overcl, 636)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Extreme Overclocking has teste, 145)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(i)
SAX.characters(Well, the guys at Extreme Over, 344)
SAX.endElement(i)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.extremeoverclocking.com/reviews/memory/ram_roundup_1.html', target='_blank')
SAX.characters(Cooked RAM... Yummie, 20)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The 
            &ETH;&ETH;., 23)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963764236,76720,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(CPU 
            Guide, 23)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:17AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963764236,76720,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(A follow up on the 'Weekly CPU, 203)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.startElement(li)
SAX.startElement(a, href='http://www6.tomshardware.com/howto/00q2/000412/index.html', target='_blank')
SAX.characters(http://www6.tomshardware.com/h, 57)
SAX.endElement(a)
SAX.endElement(li)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963685749,28290,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Saturday, 
                  , 43)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Weekly CPU 
            Price, 31)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 11:29AM 
            PDT, 28)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963685749,28290,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(2 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Wow, found this very useful! W, 104)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://www.sharkyextreme.com/hardware/weekly_cpu/', target='_blank')
SAX.characters(Click Here., 11)
SAX.endElement(a)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Thanks Sharky 
            Ex, 36)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963679881,35277,')
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Fast Wallpapers, 15)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 9:51AM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963679881,35277,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(0 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(FAST-MHz has released some wal, 53)
SAX.startElement(a, href='http://64.29.18.111/wallpaper/index.html', target='_blank')
SAX.characters(Click here, 10)
SAX.endElement(a)
SAX.characters( to view them. They come in si, 241)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(In other news, we want to 
  , 135)
SAX.startElement(a, href='http://bp6.gamesquad.net/uc.phtml', target='_blank')
SAX.characters(Picture Gallery, 15)
SAX.endElement(a)
SAX.characters(. To help us out, you can send, 103)
SAX.startElement(a, href='mailto:thedaredevil@bp6.com')
SAX.characters(thedaredevil@bp6.com, 20)
SAX.endElement(a)
SAX.characters(. (The 
            topic bei, 186)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Okay, that's all for now., 25)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The 
            &ETH;&ETH;., 23)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, name='newsitem963619505,3764,')
SAX.endElement(a)
SAX.characters(
            , 14)
SAX.startElement(table, bgcolor='#003399', width='100%')
SAX.characters(
              , 16)
SAX.startElement(tbody)
SAX.characters(
              , 16)
SAX.startElement(tr)
SAX.characters(
                , 18)
SAX.startElement(td)
SAX.startElement(font, color='#ffffff', face='Verdana,arial', size='2')
SAX.startElement(b)
SAX.characters(Friday, 
                  Ju, 41)
SAX.endElement(b)
SAX.endElement(font)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment(<hr noshade width=100%>)
SAX.startElement(b)
SAX.startElement(u)
SAX.startElement(font, color='#003366', face='Verdana, Arial', size='2')
SAX.characters(Hey 
            There!, 24)
SAX.endElement(font)
SAX.endElement(u)
SAX.endElement(b)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='#0066cc', face='Arial', size='1')
SAX.startElement(small)
SAX.characters(Posted by , 10)
SAX.startElement(a, class='nav', href='mailto:killz@i82hq.com')
SAX.characters(DareDevil, 9)
SAX.endElement(a)
SAX.characters( @ 5:05PM 
            PDT, 27)
SAX.endElement(small)
SAX.characters(&nbsp;, 2)
SAX.characters( , 1)
SAX.startElement(a, href='http://bp6.gamesquad.net/news/963619505,3764,.html')
SAX.startElement(img, border='0', src='doc3_files/comments.gif')
SAX.endElement(img)
SAX.characters(7 comments, 10)
SAX.endElement(a)
SAX.characters( 
            , 15)
SAX.characters(&nbsp;, 2)
SAX.characters(|, 1)
SAX.characters(&nbsp;, 2)
SAX.startElement(a, href='http://bp6.gamesquad.net/#news_top')
SAX.characters(top, 3)
SAX.endElement(a)
SAX.endElement(font)
SAX.characters( , 1)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, color='black', face='Arial', size='2')
SAX.characters(Hey guys, just wanted to intro, 312)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(My e-mail address is , 21)
SAX.startElement(a, href='mailto:killz@i82hq.com')
SAX.characters(killz@i82hq.com, 15)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Ciao for 
            now., 27)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(The &ETH;&ETH;., 9)
SAX.endElement(font)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(
            , 14)
SAX.endElement(font)
SAX.startElement(center)
SAX.startElement(iframe, frameborder='0', height='60', marginheight='0', marginwidth='0', noresize, scrolling='no', src='doc3_files/ad_iframe.htm', width='468')
SAX.startElement(a, href='http://ads.adflight.com/go_static.asp?asid=7708', target='_top')
SAX.error: htmlParseEntityRef: expecting ';'
SAX.error: htmlParseEntityRef: expecting ';'
SAX.startElement(img, width='468', height='60', border='0', alt='Advertisement', src='http://ads.adflight.com/ad_static.asp?pid=2097&amp;sid=1881&amp;asid=7708')
SAX.endElement(img)
SAX.endElement(a)
SAX.endElement(iframe)
SAX.endElement(center)
SAX.error: Unexpected end tag : li
SAX.error: Unexpected end tag : font
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(center)
SAX.error: Unexpected end tag : p
SAX.endElement(td)
SAX.characters(
    , 6)
SAX.startElement(td, bgcolor='silver', valign='top', width='10%')
SAX.characters(
      , 8)
SAX.startElement(center)
SAX.characters(
      , 8)
SAX.startElement(p)
SAX.characters(
      , 8)
SAX.endElement(p)
SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, colstart='1')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.comment(	<FORM ACTION="/cgi-bin/subscribe.pl" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
						<IMG SRC="/images/spacer.gif" WIDTH="111" HEIGHT="1"><BR>
						<P><B><FONT SIZE="2" COLOR="#000066" FACE="Verdana">Newsletter</FONT></B><FONT SIZE="1" FACE="Verdana"><BR>
						<INPUT TYPE="TEXT" NAME="email" SIZE="10" VALUE="ur@email.com"><BR>
						<INPUT TYPE="HIDDEN" NAME="subscribe" SIZE="-1" VALUE="subscribe"><INPUT TYPE="IMAGE" SRC="/images/subscribe.gif" WIDTH="80"
						HEIGHT="27" ALIGN="BOTTOM" BORDER="0"></FONT>
						</FORM> )
SAX.characters(
            , 14)
SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?emaillist', method='post')
SAX.startElement(img, height='1', src='doc3_files/spacer.gif', width='111')
SAX.endElement(img)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(font, size='1')
SAX.characters(Newsletter, 10)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='npemail', size='13', value='e-mail addr.')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='npsubscribe', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Subscribe')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.comment( <input type="submit" name="npunsubscribe" value="Unsubscribe" style="font-size: xx-small; font-family: Verdana; font-weight: bold; color: #ffffff; background-color: #000000;"> )
SAX.endElement(font)
SAX.endElement(form)
SAX.startElement(font, size='1')
SAX.characters(
            , 14)
SAX.startElement(form, action='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?search', method='post')
SAX.characters(Search news, 11)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='searchstring', size='13')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Submit')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://bp6.gamesquad.net/cgi-bin/news/viewnews.cgi?newsall')
SAX.characters(News 
            archive, 26)
SAX.endElement(a)
SAX.endElement(form)
SAX.endElement(font)
SAX.characters( , 1)
SAX.error: Unexpected end tag : form
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.comment(				<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" BGCOLOR="silver">
					<TR>
						<TD WIDTH="100%">
							<P ALIGN="CENTER"><A HREF="http://www.free56k.com" target="_blank"><IMG SRC="/images/free56k.gif" WIDTH="100" HEIGHT="49"
							ALIGN="BOTTOM" BORDER="0"></A>
						</TD>
					</TR>
				</TABLE> 
)
SAX.characters(
      , 8)
SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, align='middle', width='100%')
SAX.comment( BEGIN GoTo.com Search Box )
SAX.characters(
            , 14)
SAX.startElement(script, language='javascript', type='text/javascript')
SAX.cdata(
							&lt;!--
							if ((, 532)
SAX.error: Unexpected end tag : iframe
SAX.cdata(");
							} else if ((parseI, 463)
SAX.error: End tag : expected '>'
SAX.error: Unexpected end tag : sc
SAX.cdata(");
							document.write("RI, 361)
SAX.error: Unexpected end tag : a
SAX.cdata(");
							}
							// --, 37)
SAX.endElement(script)
SAX.characters(
            , 14)
SAX.startElement(b)
SAX.startElement(noscript)
SAX.endElement(noscript)
SAX.endElement(b)
SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
SAX.startElement(img, align='bottom', border='0', height='90', ismap, src='doc3_files/100x90.gif', width='100')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(b)
SAX.startElement(a, href='http://www.goto.com/d/search/ssn/?fromGIF=true', target='_blank')
SAX.characters( 
            , 15)
SAX.endElement(a)
SAX.error: Unexpected end tag : a
SAX.endElement(b)
SAX.startElement(b)
SAX.error: Unexpected end tag : noscript
SAX.endElement(b)
SAX.startElement(b)
SAX.comment( END GoTo.com Search Box )
SAX.endElement(b)
SAX.comment( Pricewatch Search Box )
SAX.characters(
            , 14)
SAX.startElement(form, action='http://www.pricewatch.com/search/search.asp', method='get', target='_Blank')
SAX.characters(
            , 14)
SAX.startElement(center)
SAX.characters(
            , 14)
SAX.startElement(p)
SAX.startElement(b)
SAX.startElement(font, color='white', face='ARIAL, HELVETICA', size='1')
SAX.characters(PC Price 
            Search, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.endElement(font)
SAX.endElement(b)
SAX.startElement(input, maxlength='30', name='criteria', size='10')
SAX.endElement(input)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(input, name='submit', style='BACKGROUND-COLOR: #000000; COLOR: #ffffff; FONT-FAMILY: Verdana; FONT-SIZE: xx-small; FONT-WEIGHT: bold', type='submit', value='Search')
SAX.endElement(input)
SAX.characters( 
            , 15)
SAX.endElement(p)
SAX.error: Opening and ending tag mismatch: form and center
SAX.endElement(center)
SAX.endElement(form)
SAX.comment( Pricewatch Search Box )
SAX.startElement(a, href='http://www.puicorp.com/bp6specials.htm', target='_BLANK')
SAX.startElement(img, src='doc3_files/puibp6.gif')
SAX.endElement(img)
SAX.endElement(a)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(br)
SAX.endElement(br)
SAX.startElement(a, href='http://store.yahoo.com/dunamis-site/maxtor.html', target='_BLANK')
SAX.startElement(img, alt='BP6.com Special - Enter CODE: BP6-hd in the order (notes) to receive a discount', src='doc3_files/hd5.gif')
SAX.endElement(img)
SAX.startElement(font, size='1')
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(BP6.COM 
            Special, 29)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Code:BP6-hd, 11)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( , 1)
SAX.error: Unexpected end tag : p
SAX.error: Opening and ending tag mismatch: center and td
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.characters(
      , 8)
SAX.startElement(table, bgcolor='silver', border='0', cellpadding='0', cellspacing='0', height='100%', width='100%')
SAX.characters(
        , 10)
SAX.startElement(tbody)
SAX.characters(
        , 10)
SAX.startElement(tr)
SAX.characters(
          , 12)
SAX.startElement(td, width='100%')
SAX.characters(&nbsp;, 2)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.error: Unexpected end tag : p
SAX.endElement(center)
SAX.endElement(td)
SAX.endElement(tr)
SAX.endElement(tbody)
SAX.endElement(table)
SAX.comment(	</TABLE>)
SAX.characters(
, 2)
SAX.startElement(center)
SAX.endElement(center)
SAX.error: Unexpected end tag : td
SAX.error: Unexpected end tag : tr
SAX.startElement(tr)
SAX.startElement(td, colspan='3', valign='TOP', height='70')
SAX.characters(&nbsp;, 2)
SAX.endElement(td)
SAX.characters( , 1)
SAX.endElement(tr)
SAX.error: Unexpected end tag : table
SAX.characters(
, 2)
SAX.startElement(table, border='0', width='780')
SAX.characters(
  , 4)
SAX.startElement(tbody)
SAX.characters(
  , 4)
SAX.startElement(tr)
SAX.characters(
    , 6)
SAX.startElement(td, width='780')
SAX.characters(
      , 8)
SAX.startElement(p, align='center')
SAX.startElement(font, color='#999999', face='verdana,arial', size='1')
SAX.characters(Copyright 
      &copy;1999-2, 59)
SAX.startElement(br)
SAX.endElement(br)
SAX.characters(Got news? Send it to , 21)
SAX.endElement(font)
SAX.startElement(a, href='mailto:tim@bp6.com')
SAX.startElement(font, color='white', face='Verdana', size='1')
SAX.characters(Tim, 3)
SAX.endElement(font)
SAX.endElement(a)
SAX.characters( , 1)
SAX.endElement(p)
SAX.endElement(td)
SAX.endElement(tr)
SAX.comment(	<TR>		<TD WIDTH="780">			<P ALIGN="CENTER"><FONT SIZE="1" COLOR="#999999" FACE="Verdana,arial">Site design by Tim Brinkley</FONT>		</TD>	</TR> )
SAX.endElement(tbody)
SAX.endElement(table)
SAX.endElement(div)
SAX.characters(
, 2)
SAX.startElement(script)
SAX.cdata( window.open=NS_ActualOpen; , 28)
SAX.endElement(script)
SAX.characters(
, 2)
SAX.endElement(body)
SAX.endElement(html)
SAX.ignorableWhitespace(
, 2)
SAX.endDocument()
