layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0,0) size 800x600
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (25,31) size 722x433
      RenderSVGContainer {g} at (25,31) size 722x433
        RenderSVGText {text} at (163,19) size 154x20 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 153x20
            chunk 1 (middle anchor) text run 1 at (163.80,35.00) startOffset 0 endOffset 17 width 152.40: "CSS selector test"
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGContainer {g} at (49,115) size 348x115
          RenderSVGRect {rect} at (49,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [x=30.00] [y=70.00] [width=67.50] [height=67.50]
          RenderSVGContainer {g} at (165,115) size 115x115
            RenderSVGRect {rect} at (165,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [x=100.00] [y=70.00] [width=67.50] [height=67.50]
          RenderSVGContainer {g} at (282,115) size 115x115
            RenderSVGRect {rect} at (282,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFA500]}] [x=170.00] [y=70.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (399,115) size 115x115
          RenderSVGContainer {g} at (399,115) size 115x115
            RenderSVGContainer {g} at (399,115) size 115x115
              RenderSVGContainer {g} at (399,115) size 115x115
                RenderSVGContainer {g} at (399,115) size 115x115
                  RenderSVGContainer {g} at (399,115) size 115x115
                    RenderSVGRect {rect} at (399,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFD700]}] [x=240.00] [y=70.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (515,115) size 232x115
          RenderSVGContainer {g} at (515,115) size 232x115
            RenderSVGContainer {g} at (515,115) size 232x115
              RenderSVGRect {rect} at (515,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=310.00] [y=70.00] [width=67.50] [height=67.50]
              RenderSVGContainer {g} at (632,115) size 115x115
                RenderSVGContainer {g} at (632,115) size 115x115
                  RenderSVGRect {rect} at (632,115) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#C0C0C0]}] [x=380.00] [y=70.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (49,232) size 348x115
          RenderSVGRect {rect} at (49,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [x=30.00] [y=140.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (165,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [x=100.00] [y=140.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (282,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFA500]}] [x=170.00] [y=140.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (399,232) size 348x115
          RenderSVGRect {rect} at (399,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFD700]}] [x=240.00] [y=140.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (515,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=310.00] [y=140.00] [width=67.50] [height=67.50]
          RenderSVGContainer {g} at (632,232) size 115x115
            RenderSVGRect {rect} at (632,232) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#C0C0C0]}] [x=380.00] [y=140.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (49,349) size 581x115
          RenderSVGRect {rect} at (49,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#0000FF]}] [x=30.00] [y=210.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (165,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#008000]}] [x=100.00] [y=210.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (282,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFA500]}] [x=170.00] [y=210.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (399,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFD700]}] [x=240.00] [y=210.00] [width=67.50] [height=67.50]
          RenderSVGRect {rect} at (515,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#800080]}] [x=310.00] [y=210.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (632,349) size 115x115
          RenderSVGRect {rect} at (632,349) size 115x115 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#C0C0C0]}] [x=380.00] [y=210.00] [width=67.50] [height=67.50]
        RenderSVGContainer {g} at (25,75) size 667x353
          RenderSVGText {text} at (58,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 11x19
              chunk 1 (middle anchor) text run 1 at (58.60,60.00) startOffset 0 endOffset 1 width 10.80: "A"
          RenderSVGText {text} at (127,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 11x19
              chunk 1 (middle anchor) text run 1 at (127.60,60.00) startOffset 0 endOffset 1 width 10.80: "B"
          RenderSVGText {text} at (194,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 12x19
              chunk 1 (middle anchor) text run 1 at (194.00,60.00) startOffset 0 endOffset 1 width 12.00: "C"
          RenderSVGText {text} at (264,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 12x19
              chunk 1 (middle anchor) text run 1 at (264.00,60.00) startOffset 0 endOffset 1 width 12.00: "D"
          RenderSVGText {text} at (334,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 11x19
              chunk 1 (middle anchor) text run 1 at (334.60,60.00) startOffset 0 endOffset 1 width 10.80: "E"
          RenderSVGText {text} at (404,45) size 12x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 11x19
              chunk 1 (middle anchor) text run 1 at (404.90,60.00) startOffset 0 endOffset 1 width 10.20: "F"
          RenderSVGText {text} at (15,98) size 10x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 9x19
              chunk 1 (middle anchor) text run 1 at (15.50,113.00) startOffset 0 endOffset 1 width 9.00: "1"
          RenderSVGText {text} at (15,168) size 10x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 9x19
              chunk 1 (middle anchor) text run 1 at (15.50,183.00) startOffset 0 endOffset 1 width 9.00: "2"
          RenderSVGText {text} at (15,238) size 10x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 9x19
              chunk 1 (middle anchor) text run 1 at (15.50,253.00) startOffset 0 endOffset 1 width 9.00: "3"
    RenderSVGContainer {g} at (16,524) size 380x54
      RenderSVGText {text} at (10,314) size 228x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x32
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
