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 (200,36) size 409x458
      RenderSVGContainer {g} at (200,36) size 409x458
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGText {text} at (120,21) size 240x24 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 239x23
            chunk 1 (middle anchor) text run 1 at (120.50,40.00) startOffset 0 endOffset 27 width 239.00: "Test pointer-events on text"
        RenderSVGContainer {g} at (200,94) size 409x400 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
          RenderSVGContainer {g} at (200,94) size 409x238
            RenderSVGContainer {g} at (200,94) size 409x71
              RenderSVGText {text} at (120,66) size 245x43 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 245x42
                  chunk 1 text run 1 at (120.00,100.00) startOffset 0 endOffset 1 width 28.00: "@"
                  chunk 1 text run 2 at (158.00,100.00) startOffset 1 endOffset 2 width 15.00: " "
                  chunk 1 text run 3 at (183.00,100.00) startOffset 2 endOffset 3 width 22.00: "A"
                  chunk 1 text run 4 at (215.00,100.00) startOffset 3 endOffset 4 width 15.00: " "
                  chunk 1 text run 5 at (240.00,100.00) startOffset 4 endOffset 5 width 16.00: "y"
                  chunk 1 text run 6 at (266.00,100.00) startOffset 5 endOffset 6 width 15.00: " "
                  chunk 1 text run 7 at (291.00,100.00) startOffset 6 endOffset 7 width 24.00: "\x{D6}"
                  chunk 1 text run 8 at (325.00,100.00) startOffset 7 endOffset 8 width 15.00: " "
                  chunk 1 text run 9 at (350.00,100.00) startOffset 8 endOffset 9 width 15.00: "\x{E7}"
            RenderSVGContainer {g} at (200,178) size 409x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
              RenderSVGText {text} at (120,66) size 245x43 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 245x42
                  chunk 1 text run 1 at (120.00,100.00) startOffset 0 endOffset 1 width 28.00: "@"
                  chunk 1 text run 2 at (158.00,100.00) startOffset 1 endOffset 2 width 15.00: " "
                  chunk 1 text run 3 at (183.00,100.00) startOffset 2 endOffset 3 width 22.00: "A"
                  chunk 1 text run 4 at (215.00,100.00) startOffset 3 endOffset 4 width 15.00: " "
                  chunk 1 text run 5 at (240.00,100.00) startOffset 4 endOffset 5 width 16.00: "y"
                  chunk 1 text run 6 at (266.00,100.00) startOffset 5 endOffset 6 width 15.00: " "
                  chunk 1 text run 7 at (291.00,100.00) startOffset 6 endOffset 7 width 24.00: "\x{D6}"
                  chunk 1 text run 8 at (325.00,100.00) startOffset 7 endOffset 8 width 15.00: " "
                  chunk 1 text run 9 at (350.00,100.00) startOffset 8 endOffset 9 width 15.00: "\x{E7}"
            RenderSVGContainer {g} at (200,261) size 375x71 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,100.00)}]
              RenderSVGText {text} at (120,66) size 225x43 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 225x42
                  chunk 1 text run 1 at (120.00,100.00) startOffset 0 endOffset 1 width 28.00: "@"
                  chunk 1 text run 2 at (178.00,100.00) startOffset 1 endOffset 2 width 22.00: "A"
                  chunk 1 text run 3 at (230.00,100.00) startOffset 2 endOffset 3 width 16.00: "y"
                  chunk 1 text run 4 at (276.00,100.00) startOffset 3 endOffset 4 width 24.00: "\x{D6}"
                  chunk 1 text run 5 at (330.00,100.00) startOffset 4 endOffset 5 width 15.00: "\x{E7}"
          RenderSVGContainer {g} at (200,354) size 372x140
            RenderSVGContainer {g} at (200,354) size 359x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
              RenderSVGText {text} at (120,72) size 215x35 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 215x34
                  chunk 1 text run 1 at (120.00,100.00) startOffset 0 endOffset 1 width 30.00: "@"
                  chunk 1 text run 2 at (160.00,100.00) startOffset 1 endOffset 2 width 8.00: " "
                  chunk 1 text run 3 at (178.00,100.00) startOffset 2 endOffset 3 width 20.00: "A"
                  chunk 1 text run 4 at (208.00,100.00) startOffset 3 endOffset 4 width 8.00: " "
                  chunk 1 text run 5 at (226.00,100.00) startOffset 4 endOffset 5 width 15.00: "y"
                  chunk 1 text run 6 at (251.00,100.00) startOffset 5 endOffset 6 width 8.00: " "
                  chunk 1 text run 7 at (269.00,100.00) startOffset 6 endOffset 7 width 23.00: "\x{D6}"
                  chunk 1 text run 8 at (302.00,100.00) startOffset 7 endOffset 8 width 8.00: " "
                  chunk 1 text run 9 at (320.00,100.00) startOffset 8 endOffset 9 width 15.00: "\x{E7}"
            RenderSVGContainer {g} at (200,438) size 372x56 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,200.00)}]
              RenderSVGText {text} at (120,72) size 223x35 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 223x34
                  chunk 1 text run 1 at (120.00,100.00) startOffset 0 endOffset 1 width 30.00: "@"
                  chunk 1 text run 2 at (180.00,100.00) startOffset 1 endOffset 2 width 20.00: "A"
                  chunk 1 text run 3 at (230.00,100.00) startOffset 2 endOffset 3 width 15.00: "y"
                  chunk 1 text run 4 at (275.00,100.00) startOffset 3 endOffset 4 width 23.00: "\x{D6}"
                  chunk 1 text run 5 at (328.00,100.00) startOffset 4 endOffset 5 width 15.00: "\x{E7}"
    RenderSVGContainer {g} at (16,518) size 380x60
      RenderSVGText {text} at (10,311) size 228x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.7 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
