layer at (0,0) size 785x1443
  RenderView at (0,0) size 785x600
layer at (8,8) size 769x1435
  RenderBlock {HTML} at (8,8) size 769x1435 [bgcolor=#008000] [border: (16px solid #00FF00)]
    RenderTable at (16,16) size 737x1403
      RenderTableSection (anonymous) at (0,0) size 737x1403
        RenderTableRow (anonymous) at (0,0) size 737x1403
          RenderTableCell {HEAD} at (0,0) size 242x472 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
            RenderBlock {META} at (21,37) size 200x2 [border: (1px dotted #FFFFFF)]
            RenderBlock {META} at (21,55) size 200x2 [border: (1px dotted #FFFFFF)]
            RenderBlock {META} at (21,73) size 200x2 [border: (1px dotted #FFFFFF)]
            RenderBlock {META} at (21,91) size 200x2 [border: (1px dotted #FFFFFF)]
            RenderBlock {TITLE} at (21,109) size 200x56 [border: (1px dotted #FFFFFF)]
              RenderText {#text} at (1,1) size 188x54
                text run at (1,1) width 188: "Evil Tests: Rendering BODY"
                text run at (1,19) width 163: "and HEAD as children of"
                text run at (1,37) width 67: "HTML - 2"
            RenderBlock {STYLE} at (21,181) size 200x254 [border: (1px dotted #FFFFFF)]
              RenderText {#text} at (1,1) size 196x252
                text run at (1,1) width 83: "/* Layout */ "
                text run at (83,1) width 112: "HTML { display:"
                text run at (1,19) width 194: "block; border: 1em lime solid;"
                text run at (1,37) width 98: "margin: 8px; } "
                text run at (98,37) width 98: "HEAD, BODY"
                text run at (1,55) width 181: "{ display: table-cell; border:"
                text run at (1,73) width 76: "solid thick; "
                text run at (76,73) width 93: "padding: 1em;"
                text run at (1,91) width 102: "margin: 1em; } "
                text run at (102,91) width 74: "HEAD > *,"
                text run at (1,109) width 181: "BODY > * { display: block;"
                text run at (1,127) width 178: "border: thin dotted; margin:"
                text run at (1,145) width 60: "1em 0; } "
                text run at (60,145) width 105: "/* Formatting */"
                text run at (1,163) width 141: "HTML { color: black;"
                text run at (1,181) width 140: "background: green; } "
                text run at (140,181) width 57: "HEAD {"
                text run at (1,199) width 195: "color: white; background: red;"
                text run at (1,217) width 12: "} "
                text run at (12,217) width 151: "BODY { color: yellow;"
                text run at (1,235) width 124: "background: teal; }"
          RenderTableCell {BODY} at (242,41) size 495x1362 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
            RenderBlock {H1} at (21,53) size 453x76 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 152x37
                text run at (1,1) width 152: "Rendering "
              RenderInline {CODE} at (0,0) size 63x30
                RenderText {#text} at (153,6) size 63x30
                  text run at (153,6) width 63: "BODY"
              RenderText {#text} at (215,1) size 69x37
                text run at (215,1) width 69: " and "
              RenderInline {CODE} at (0,0) size 63x30
                RenderText {#text} at (283,6) size 63x30
                  text run at (283,6) width 63: "HEAD"
              RenderText {#text} at (345,1) size 382x74
                text run at (345,1) width 38: " as"
                text run at (1,38) width 156: "children of "
              RenderInline {CODE} at (0,0) size 64x30
                RenderText {#text} at (156,43) size 64x30
                  text run at (156,43) width 64: "HTML"
              RenderText {#text} at (219,38) size 44x37
                text run at (219,38) width 44: " - 2"
            RenderBlock {P} at (21,161) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 393x18
                text run at (1,1) width 393: "If you have any comments to make regarding this test, e-mail"
              RenderInline {A} at (0,0) size 186x18 [color=#0000EE]
                RenderText {#text} at (1,19) size 186x18
                  text run at (1,19) width 186: "py8ieh=eviltests@bath.ac.uk"
              RenderText {#text} at (186,19) size 5x18
                text run at (186,19) width 5: "."
            RenderBlock {DL} at (21,215) size 453x92 [border: (1px dotted #FFFF00)]
              RenderBlock {DT} at (1,1) size 451x18
                RenderText {#text} at (0,0) size 83x18
                  text run at (0,0) width 83: "Prerequisites"
              RenderBlock {DD} at (41,19) size 411x72
                RenderText {#text} at (0,0) size 392x54
                  text run at (0,0) width 392: "Browsers that are subjected to this test should support the the"
                  text run at (0,18) width 388: "background, padding, margin, border and color properties of"
                  text run at (0,36) width 160: "CSS, and in addition the "
                RenderInline {CODE} at (0,0) size 63x15
                  RenderText {#text} at (160,38) size 63x15
                    text run at (160,38) width 63: "overflow"
                RenderText {#text} at (222,36) size 400x36
                  text run at (222,36) width 178: " property and fixed position"
                  text run at (0,54) width 109: "stuff from CSS2."
            RenderBlock {H2} at (21,331) size 453x58 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 439x56
                text run at (1,1) width 439: "1. Making the BODY and the HEAD into a"
                text run at (1,29) width 51: "table"
            RenderBlock {P} at (21,413) size 453x20 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 264x18
                text run at (1,1) width 264: "This is really evil, but completely valid..."
            RenderBlock {P} at (21,449) size 453x110 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 450x108
                text run at (1,1) width 450: "This document should have two cells, side by side: one on the left, the"
                text run at (1,19) width 402: "other on the right. The one on the left should be red with white"
                text run at (1,37) width 430: "writing and a thick white border. It should contain four dotted lines"
                text run at (1,55) width 388: "separated by a blank line, followed by a dotted bordered box"
                text run at (1,73) width 403: "containing the document title, and another dotted bordered box"
                text run at (1,91) width 286: "containing the stylesheet, also shown below:"
            RenderBlock {PRE} at (21,575) size 453x17 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 40x15
                text run at (1,1) width 40: "  ..."
            RenderBlock {P} at (21,608) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 419x36
                text run at (1,1) width 419: "The dotted borders and lines and the text in the left cell should be"
                text run at (1,19) width 40: "white."
            RenderBlock {P} at (21,662) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 447x36
                text run at (1,1) width 447: "The right cell should be teal, with yellow text. This paragraph you are"
                text run at (1,19) width 255: "reading now should be in this right cell."
            RenderBlock {P} at (21,716) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 413x36
                text run at (1,1) width 413: "The width of the two cells is left up to the user agent to decide, I"
                text run at (1,19) width 37: "think."
            RenderBlock {P} at (21,770) size 453x74 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 443x72
                text run at (1,1) width 443: "The right cell should look similar to the left cell in formatting -- each"
                text run at (1,19) width 442: "box of text should have a yellow dotted border, and there should be a"
                text run at (1,37) width 420: "blank line between each such box. No box should be nested -- the"
                text run at (1,55) width 356: "dotted boxes should always be distinct from each other."
            RenderBlock {P} at (21,860) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 417x36
                text run at (1,1) width 417: "The cells should be the same height, and they should have grown"
                text run at (1,19) width 229: "vertically to accommodate this text."
            RenderBlock {P} at (21,914) size 453x56 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 437x54
                text run at (1,1) width 436: "Around the whole setup should be two borders, dark green and light"
                text run at (1,19) width 437: "green. The cells should be separated from each other and from these"
                text run at (1,37) width 230: "outer borders by 1em of dark green."
            RenderBlock {P} at (21,986) size 453x38 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 446x36
                text run at (1,1) width 446: "There should also be some alternate stylesheets set up to allow you to"
                text run at (1,19) width 388: "display the <META> content. This may help with diagnosis."
            RenderBlock {H2} at (21,1048) size 453x30 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 156x28
                text run at (1,1) width 156: "Submit Results"
            RenderBlock {FORM} at (21,1102) size 453x97 [border: (1px dotted #FFFF00)]
              RenderBlock {P} at (1,17) size 451x63
                RenderText {#text} at (0,0) size 263x18
                  text run at (0,0) width 263: "How does your browser fare on this test?"
                RenderMenuList {SELECT} at (2,20) size 447x18 [color=#000000D8] [bgcolor=#FFFFFF]
                  RenderBlock (anonymous) at (0,0) size 447x18
                    RenderText at (8,2) size 212x13
                      text run at (8,2) width 212: "Document renders exactly as described."
                RenderText {#text} at (0,0) size 0x0
                RenderInline {LABEL} at (0,0) size 222x18
                  RenderText {#text} at (0,42) size 72x18
                    text run at (0,42) width 72: "Comment: "
                  RenderTextControl {INPUT} at (73,42) size 147x19 [color=#000000] [bgcolor=#FFFFFF] [border: (2px inset #000000)]
                RenderText {#text} at (221,42) size 5x18
                  text run at (221,42) width 5: " "
                RenderButton {INPUT} at (227,43) size 54x18 [color=#000000D8] [bgcolor=#C0C0C0]
                  RenderBlock (anonymous) at (8,2) size 37x13
                    RenderText at (0,0) size 37x13
                      text run at (0,0) width 37: "Submit"
                RenderText {#text} at (0,0) size 0x0
            RenderBlock {HR} at (21,1215) size 453x2 [border: (1px dotted #FFFF00)]
            RenderBlock {P} at (21,1233) size 453x20 [border: (1px dotted #FFFF00)]
              RenderInline {A} at (0,0) size 162x18 [color=#0000EE]
                RenderText {#text} at (1,1) size 162x18
                  text run at (1,1) width 162: "Up to the Evil Tests Page"
              RenderText {#text} at (162,1) size 5x18
                text run at (162,1) width 5: "."
            RenderBlock {P} at (21,1269) size 453x20 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 177x18
                text run at (1,1) width 177: "This page is maintained by "
              RenderInline {A} at (0,0) size 79x18 [color=#0000EE]
                RenderText {#text} at (177,1) size 79x18
                  text run at (177,1) width 79: "Ian Hickson"
              RenderText {#text} at (255,1) size 10x18
                text run at (255,1) width 10: " ("
              RenderInline {A} at (0,0) size 125x18 [color=#0000EE]
                RenderText {#text} at (264,1) size 125x18
                  text run at (264,1) width 125: "py8ieh@bath.ac.uk"
              RenderText {#text} at (388,1) size 10x18
                text run at (388,1) width 10: ")."
            RenderBlock {P} at (21,1305) size 453x20 [border: (1px dotted #FFFF00)]
              RenderText {#text} at (1,1) size 172x18
                text run at (1,1) width 172: "Last updated in June 1999."
layer at (365,1229) size 140x13 backgroundClip at (365,1229) size 139x13 clip at (365,1229) size 139x13
  RenderBlock {DIV} at (3,3) size 140x13
