layer at (0,0) size 785x961
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x961
  RenderBlock {HTML} at (0,0) size 785x961
    RenderBody {BODY} at (8,8) size 769x945 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x18
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x150
        RenderText {#text} at (0,0) size 728x150
          text run at (0,0) width 624: "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"linktest.css\" title=\"Default SS\">"
          text run at (0,15) width 728: "<LINK rel=\"alternate stylesheet\" type=\"text/css\" href=\"linktest2.css\" title=\"Alternate SS\">"
          text run at (0,30) width 208: "@import url(imptest1.css);"
          text run at (0,45) width 192: "@import \"imptest1a.css\";"
          text run at (0,60) width 128: "UL {color: red;}"
          text run at (0,75) width 176: ".four {color: purple;}"
          text run at (0,90) width 208: "@import url(imptest2.css);"
          text run at (0,105) width 32: "<!--"
          text run at (0,120) width 168: "P.six {color: green;}"
          text run at (0,135) width 24: "-->"
      RenderBlock {HR} at (0,197) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,215) size 769x18
        RenderText {#text} at (0,0) size 404x18
          text run at (0,0) width 404: "This sentence should be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (404,2) size 96x15
            text run at (404,2) width 96: "linktest.css"
        RenderText {#text} at (500,0) size 254x18
          text run at (500,0) width 254: ", the reference to which is shown above."
      RenderBlock {P} at (0,249) size 769x36
        RenderText {#text} at (0,0) size 442x18
          text run at (0,0) width 442: "This sentence should NOT be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 104x15
          RenderText {#text} at (442,2) size 104x15
            text run at (442,2) width 104: "linktest2.css"
        RenderText {#text} at (546,0) size 8x18
          text run at (546,0) width 8: ", "
        RenderInline {STRONG} at (0,0) size 41x18
          RenderText {#text} at (554,0) size 41x18
            text run at (554,0) width 41: "unless"
        RenderText {#text} at (595,0) size 741x36
          text run at (595,0) width 146: " the external style sheet"
          text run at (0,18) width 325: "\"Alternate SS\" has been selected via the user agent."
      RenderBlock {UL} at (0,301) size 769x54 [color=#FF0000]
        RenderListItem {LI} at (40,0) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 390x18
            text run at (0,0) width 390: "This sentence should be green due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 208x15
            RenderText {#text} at (390,2) size 208x15
              text run at (390,2) width 208: "@import url(imptest1.css);"
          RenderText {#text} at (598,0) size 9x18
            text run at (598,0) width 9: "]."
        RenderListItem {LI} at (40,18) size 729x18 [color=#800080]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 395x18
            text run at (0,0) width 395: "This sentence should be purple due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 184x15
            RenderText {#text} at (395,2) size 184x15
              text run at (395,2) width 184: "@import \"imptest1a.css\""
          RenderText {#text} at (579,0) size 9x18
            text run at (579,0) width 9: "]."
        RenderListItem {LI} at (40,36) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 393x18
            text run at (0,0) width 393: "This sentence should be green thanks to the STYLE attribute ["
          RenderInline {CODE} at (0,0) size 168x15
            RenderText {#text} at (393,2) size 168x15
              text run at (393,2) width 168: "STYLE=\"color: green;\""
          RenderText {#text} at (561,0) size 9x18
            text run at (561,0) width 9: "]."
      RenderBlock {P} at (0,371) size 769x18 [color=#800080]
        RenderText {#text} at (0,0) size 500x18
          text run at (0,0) width 500: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
      RenderBlock {OL} at (0,405) size 769x54
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x18: "1"
          RenderText {#text} at (0,0) size 201x18
            text run at (0,0) width 201: "This list should NOT be purple."
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "2"
          RenderText {#text} at (0,0) size 172x18
            text run at (0,0) width 172: "It should, instead, be black."
        RenderListItem {LI} at (40,36) size 729x18
          RenderListMarker at (-20,0) size 16x18: "3"
          RenderText {#text} at (0,0) size 501x18
            text run at (0,0) width 501: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
      RenderBlock {P} at (0,475) size 769x36
        RenderText {#text} at (0,0) size 697x18
          text run at (0,0) width 197: "This sentence should be black. "
          text run at (197,0) width 500: "If it is red, then the browser has inappropriately imported the styles from the file"
        RenderInline {TT} at (0,0) size 96x15
          RenderText {#text} at (0,20) size 96x15
            text run at (0,20) width 96: "imptest2.css"
        RenderText {#text} at (96,18) size 33x18
          text run at (96,18) width 33: " (see "
        RenderInline {A} at (0,0) size 68x18 [color=#0000FF]
          RenderText {#text} at (129,18) size 68x18
            text run at (129,18) width 68: "section 3.0"
        RenderText {#text} at (197,18) size 275x18
          text run at (197,18) width 275: " of the CSS1 specification for more details)."
      RenderBlock {P} at (0,527) size 769x18 [color=#008000]
        RenderText {#text} at (0,0) size 203x18
          text run at (0,0) width 203: "This paragraph should be green."
      RenderTable {TABLE} at (0,561) size 769x384 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x382
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x18
                RenderText {#text} at (4,4) size 163x18
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x356
            RenderTableCell {TD} at (0,191) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x356 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x36
                RenderText {#text} at (0,0) size 404x18
                  text run at (0,0) width 404: "This sentence should be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (404,2) size 96x15
                    text run at (404,2) width 96: "linktest.css"
                RenderText {#text} at (500,0) size 708x36
                  text run at (500,0) width 208: ", the reference to which is shown"
                  text run at (0,18) width 42: "above."
              RenderBlock {P} at (4,56) size 747x36
                RenderText {#text} at (0,0) size 442x18
                  text run at (0,0) width 442: "This sentence should NOT be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 104x15
                  RenderText {#text} at (442,2) size 104x15
                    text run at (442,2) width 104: "linktest2.css"
                RenderText {#text} at (546,0) size 8x18
                  text run at (546,0) width 8: ", "
                RenderInline {STRONG} at (0,0) size 41x18
                  RenderText {#text} at (554,0) size 41x18
                    text run at (554,0) width 41: "unless"
                RenderText {#text} at (595,0) size 741x36
                  text run at (595,0) width 146: " the external style sheet"
                  text run at (0,18) width 325: "\"Alternate SS\" has been selected via the user agent."
              RenderBlock {UL} at (4,108) size 747x54 [color=#FF0000]
                RenderListItem {LI} at (40,0) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 390x18
                    text run at (0,0) width 390: "This sentence should be green due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 208x15
                    RenderText {#text} at (390,2) size 208x15
                      text run at (390,2) width 208: "@import url(imptest1.css);"
                  RenderText {#text} at (598,0) size 9x18
                    text run at (598,0) width 9: "]."
                RenderListItem {LI} at (40,18) size 707x18 [color=#800080]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 395x18
                    text run at (0,0) width 395: "This sentence should be purple due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 184x15
                    RenderText {#text} at (395,2) size 184x15
                      text run at (395,2) width 184: "@import \"imptest1a.css\""
                  RenderText {#text} at (579,0) size 9x18
                    text run at (579,0) width 9: "]."
                RenderListItem {LI} at (40,36) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 393x18
                    text run at (0,0) width 393: "This sentence should be green thanks to the STYLE attribute ["
                  RenderInline {CODE} at (0,0) size 168x15
                    RenderText {#text} at (393,2) size 168x15
                      text run at (393,2) width 168: "STYLE=\"color: green;\""
                  RenderText {#text} at (561,0) size 9x18
                    text run at (561,0) width 9: "]."
              RenderBlock {P} at (4,178) size 747x18 [color=#800080]
                RenderText {#text} at (0,0) size 500x18
                  text run at (0,0) width 500: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
              RenderBlock {OL} at (4,212) size 747x54
                RenderListItem {LI} at (40,0) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "1"
                  RenderText {#text} at (0,0) size 201x18
                    text run at (0,0) width 201: "This list should NOT be purple."
                RenderListItem {LI} at (40,18) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "2"
                  RenderText {#text} at (0,0) size 172x18
                    text run at (0,0) width 172: "It should, instead, be black."
                RenderListItem {LI} at (40,36) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "3"
                  RenderText {#text} at (0,0) size 501x18
                    text run at (0,0) width 501: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
              RenderBlock {P} at (4,282) size 747x36
                RenderText {#text} at (0,0) size 697x18
                  text run at (0,0) width 197: "This sentence should be black. "
                  text run at (197,0) width 500: "If it is red, then the browser has inappropriately imported the styles from the file"
                RenderInline {TT} at (0,0) size 96x15
                  RenderText {#text} at (0,20) size 96x15
                    text run at (0,20) width 96: "imptest2.css"
                RenderText {#text} at (96,18) size 33x18
                  text run at (96,18) width 33: " (see "
                RenderInline {A} at (0,0) size 68x18 [color=#0000FF]
                  RenderText {#text} at (129,18) size 68x18
                    text run at (129,18) width 68: "section 3.0"
                RenderText {#text} at (197,18) size 275x18
                  text run at (197,18) width 275: " of the CSS1 specification for more details)."
              RenderBlock {P} at (4,334) size 747x18 [color=#008000]
                RenderText {#text} at (0,0) size 203x18
                  text run at (0,0) width 203: "This paragraph should be green."
