layer at (0,0) size 785x1103
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1103
  RenderBlock {HTML} at (0,0) size 785x1103
    RenderBody {BODY} at (8,8) size 769x1087 [bgcolor=#CCCCCC]
      RenderBlock {P} at (20,0) size 749x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x112
        RenderText {#text} at (0,0) size 344x112
          text run at (0,0) width 176: "P {margin-left: 20px;}"
          text run at (176,0) width 0: " "
          text run at (0,16) width 312: ".one {border-left: purple double 10px;}"
          text run at (312,16) width 0: " "
          text run at (0,32) width 304: ".two {border-left: purple thin solid;}"
          text run at (304,32) width 0: " "
          text run at (0,48) width 336: ".threea {border-left: black medium solid;}"
          text run at (336,48) width 0: " "
          text run at (0,64) width 344: ".threeb {border-left: purple medium solid;}"
          text run at (344,64) width 0: " "
          text run at (0,80) width 328: ".threec {border-left: blue medium solid;}"
          text run at (328,80) width 0: " "
          text run at (0,96) width 272: "TD {border-left: green 2px solid;}"
          text run at (272,96) width 0: " "
      RenderBlock {HR} at (0,161) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (20,179) size 749x40
        RenderText {#text} at (0,0) size 749x39
          text run at (0,0) width 604: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
          text run at (604,0) width 145: "This border applies only"
          text run at (0,20) width 270: "to the cells, not the rows which contain them."
      RenderBlock {P} at (20,235) size 749x20 [border: none (10px double #800080)]
        RenderText {#text} at (10,0) size 396x19
          text run at (10,0) width 396: "This paragraph should have a purple, double, 10-pixel left border."
      RenderBlock {P} at (20,271) size 749x20 [border: none (1px solid #800080)]
        RenderText {#text} at (1,0) size 314x19
          text run at (1,0) width 314: "This paragraph should have a thin purple left border."
      RenderTable {TABLE} at (0,307) size 769x115 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x113
          RenderTableRow {TR} at (0,5) size 767x44
            RenderTableCell {TD} at (5,5) size 758x44 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (3,2) size 743x39
                text run at (3,2) width 406: "Every cell in this table should have a 2-pixel solid green left border. "
                text run at (409,2) width 337: "This is also true of the table-testing section in the second"
                text run at (3,22) width 121: "half of the test page."
          RenderTableRow {TR} at (0,54) size 767x54
            RenderTableCell {TD} at (5,69) size 192x24 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (3,2) size 50x19
                text run at (3,2) width 50: "Cell one"
            RenderTableCell {TD} at (201,54) size 562x54 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (3,2) size 556x20
                RenderText {#text} at (0,0) size 51x19
                  text run at (0,0) width 51: "Cell two"
              RenderTable {TABLE} at (3,22) size 156x30 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 154x28
                  RenderTableRow {TR} at (0,2) size 154x24
                    RenderTableCell {TD} at (2,2) size 150x24 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 145x19
                        text run at (3,2) width 145: "Nested single-cell table!"
      RenderBlock {UL} at (0,438) size 769x160
        RenderListItem {LI} at (40,0) size 729x80 [border: none (3px solid #000000)]
          RenderBlock (anonymous) at (3,0) size 726x20
            RenderListMarker at (-21,0) size 7x19: bullet
            RenderText {#text} at (0,0) size 110x19
              text run at (0,0) width 110: "This is a list item..."
          RenderBlock {UL} at (3,20) size 726x60
            RenderListItem {LI} at (40,0) size 686x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 70x19
                text run at (0,0) width 70: "...and this..."
            RenderListItem {LI} at (40,20) size 686x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 111x19
                text run at (0,0) width 111: "...is a second list..."
            RenderListItem {LI} at (40,40) size 686x20
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 165x19
                text run at (0,0) width 165: "...nested within the list item."
        RenderListItem {LI} at (40,80) size 729x20 [border: none (3px solid #800080)]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (3,0) size 149x19
            text run at (3,0) width 149: "This is a second list item."
        RenderListItem {LI} at (40,100) size 729x60 [border: none (3px solid #0000FF)]
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (3,0) size 707x59
            text run at (3,0) width 658: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors. "
            text run at (661,0) width 49: "The first"
            text run at (3,20) width 696: "item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested within the list"
            text run at (3,40) width 424: "item.\"), even though the nested list does not have any border styles set."
      RenderTable {TABLE} at (0,614) size 769x473 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x471
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (5,4) size 159x19
                  text run at (5,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x443
            RenderTableCell {TD} at (0,235) size 13x29 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (5,3) size 4x21
                text run at (5,4) width 4: " "
            RenderTableCell {TD} at (13,28) size 754x443 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (25,4) size 725x40
                RenderText {#text} at (0,0) size 720x39
                  text run at (0,0) width 604: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
                  text run at (604,0) width 116: "This border applies"
                  text run at (0,20) width 299: "only to the cells, not the rows which contain them."
              RenderBlock {P} at (25,60) size 725x20 [border: none (10px double #800080)]
                RenderText {#text} at (10,0) size 396x19
                  text run at (10,0) width 396: "This paragraph should have a purple, double, 10-pixel left border."
              RenderBlock {P} at (25,96) size 725x20 [border: none (1px solid #800080)]
                RenderText {#text} at (1,0) size 314x19
                  text run at (1,0) width 314: "This paragraph should have a thin purple left border."
              RenderTable {TABLE} at (5,132) size 745x115 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 743x113
                  RenderTableRow {TR} at (0,5) size 743x44
                    RenderTableCell {TD} at (5,5) size 734x44 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (3,2) size 696x39
                        text run at (3,2) width 406: "Every cell in this table should have a 2-pixel solid green left border. "
                        text run at (409,2) width 290: "This is also true of the table-testing section in the"
                        text run at (3,22) width 168: "second half of the test page."
                  RenderTableRow {TR} at (0,54) size 743x54
                    RenderTableCell {TD} at (5,69) size 186x24 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 50x19
                        text run at (3,2) width 50: "Cell one"
                    RenderTableCell {TD} at (195,54) size 544x54 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (3,2) size 538x20
                        RenderText {#text} at (0,0) size 51x19
                          text run at (0,0) width 51: "Cell two"
                      RenderTable {TABLE} at (3,22) size 156x30 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 154x28
                          RenderTableRow {TR} at (0,2) size 154x24
                            RenderTableCell {TD} at (2,2) size 150x24 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (3,2) size 145x19
                                text run at (3,2) width 145: "Nested single-cell table!"
              RenderBlock {UL} at (5,263) size 745x160
                RenderListItem {LI} at (40,0) size 705x80 [border: none (3px solid #000000)]
                  RenderBlock (anonymous) at (3,0) size 702x20
                    RenderListMarker at (-21,0) size 7x19: bullet
                    RenderText {#text} at (0,0) size 110x19
                      text run at (0,0) width 110: "This is a list item..."
                  RenderBlock {UL} at (3,20) size 702x60
                    RenderListItem {LI} at (40,0) size 662x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 70x19
                        text run at (0,0) width 70: "...and this..."
                    RenderListItem {LI} at (40,20) size 662x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 111x19
                        text run at (0,0) width 111: "...is a second list..."
                    RenderListItem {LI} at (40,40) size 662x20
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 165x19
                        text run at (0,0) width 165: "...nested within the list item."
                RenderListItem {LI} at (40,80) size 705x20 [border: none (3px solid #800080)]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (3,0) size 149x19
                    text run at (3,0) width 149: "This is a second list item."
                RenderListItem {LI} at (40,100) size 705x60 [border: none (3px solid #0000FF)]
                  RenderListMarker at (-18,0) size 7x19: bullet
                  RenderText {#text} at (3,0) size 702x59
                    text run at (3,0) width 658: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors. "
                    text run at (661,0) width 23: "The"
                    text run at (3,20) width 702: "first item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested within the"
                    text run at (3,40) width 444: "list item.\"), even though the nested list does not have any border styles set."
