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='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='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()
