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 (16,14) size 609x491
      RenderSVGContainer {g} at (16,14) size 609x491
        RenderSVGContainer {g} at (28,14) size 597x259 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-60.00)}]
          RenderSVGText {text} at (30,131) size 343x24 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 343x23
              chunk 1 text run 1 at (30.00,150.00) startOffset 0 endOffset 37 width 342.41: "Rotated Text for testing SVGLocatable"
          RenderSVGText {text} at (100,112) size 297x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 297x23
              chunk 1 text run 1 at (100.00,130.00) startOffset 0 endOffset 35 width 296.80: "Some other text with id 'otherText'"
          RenderSVGViewportContainer {svg} at (458,75) size 167x167
            RenderSVGEllipse {circle} at (458,75) size 167x167 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGText {text} at (10,188) size 291x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 291x14
            chunk 1 text run 1 at (10.00,200.00) startOffset 0 endOffset 52 width 290.18: ".getScreenCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
        RenderSVGText {text} at (10,208) size 253x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 253x14
            chunk 1 text run 1 at (10.00,220.00) startOffset 0 endOffset 46 width 252.16: ".getCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
        RenderSVGText {text} at (10,228) size 309x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 309x14
            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 56 width 308.17: ".getTransformToElement(): 0.42,0.42,-0.42,0.42,0.00,0.00"
        RenderSVGText {text} at (10,248) size 341x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 341x14
            chunk 1 text run 1 at (10.00,260.00) startOffset 0 endOffset 65 width 340.78: ".getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100"
        RenderSVGText {text} at (10,268) size 255x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 255x14
            chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 47 width 254.45: ".farthestViewportElement of blueCircle=svg-root"
        RenderSVGText {text} at (10,288) size 273x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 273x14
            chunk 1 text run 1 at (10.00,300.00) startOffset 0 endOffset 47 width 272.48: ".nearestViewportElement of blueCircle=nestedSVG"
    RenderSVGContainer {g} at (16,517) size 381x62
      RenderSVGText {text} at (10,310) size 229x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 229x37
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 228.03: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
