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 (23,17) size 750x440
      RenderSVGText {text} at (154,10) size 172x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 171x19
          chunk 1 (middle anchor) text run 1 at (154.80,25.00) startOffset 0 endOffset 23 width 170.40: "<animate> on xlink:href"
      RenderSVGContainer {g} at (23,99) size 750x358
        RenderSVGContainer {g} at (58,136) size 84x38 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
          RenderSVGText {text} at (-25,-8) size 50x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x23
              chunk 1 (middle anchor) text run 1 at (-24.60,10.00) startOffset 0 endOffset 5 width 49.20: "<set>"
        RenderSVGContainer {g} at (249,99) size 102x158 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
          RenderSVGContainer {a} at (249,99) size 102x102
            RenderSVGEllipse {circle} at (249,99) size 102x102 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
            RenderSVGText {text} at (-17,-18) size 34x35 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 34x34
                chunk 1 (middle anchor) text run 1 at (-16.80,10.00) startOffset 0 endOffset 2 width 33.60: "38"
          RenderSVGText {text} at (-16,43) size 32x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 32x21
              chunk 1 (middle anchor) text run 1 at (-15.90,60.00) startOffset 0 endOffset 3 width 31.80: "<a>"
        RenderSVGContainer {g} at (440,100) size 120x157 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
          RenderSVGImage {image} at (450,100) size 100x100
          RenderSVGText {text} at (-36,43) size 72x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 72x21
              chunk 1 (middle anchor) text run 1 at (-35.70,60.00) startOffset 0 endOffset 7 width 71.40: "<image>"
        RenderSVGContainer {g} at (627,103) size 146x154 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
          RenderSVGHiddenContainer {defs} at (0,0) size 0x0
            RenderSVGText {text} at (0,-17) size 50x21 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 50x21
                chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 49.20: "Use A"
            RenderSVGText {text} at (0,-17) size 50x21 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 50x21
                chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 49.20: "Use B"
            RenderSVGText {text} at (0,-17) size 51x21 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 51x21
                chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 50.40: "Use C"
          RenderSVGContainer {use} at (627,103) size 146x60
            RenderSVGText {text} at (-43,-28) size 86x35 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 86x34
                chunk 1 (middle anchor) text run 1 at (-42.60,0.00) startOffset 0 endOffset 5 width 85.20: "Use B"
          RenderSVGText {text} at (-26,43) size 52x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 51x21
              chunk 1 (middle anchor) text run 1 at (-25.50,60.00) startOffset 0 endOffset 5 width 51.00: "<use>"
        RenderSVGContainer {g} at (23,336) size 154x38 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,210.00)}]
          RenderSVGText {text} at (-46,-8) size 92x23 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 92x23
              chunk 1 (middle anchor) text run 1 at (-45.90,10.00) startOffset 0 endOffset 9 width 91.80: "<animate>"
        RenderSVGContainer {g} at (249,299) size 102x158 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,210.00)}]
          RenderSVGContainer {a} at (249,299) size 102x102
            RenderSVGEllipse {circle} at (249,299) size 102x102 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
            RenderSVGText {text} at (-17,-18) size 34x35 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 34x34
                chunk 1 (middle anchor) text run 1 at (-16.80,10.00) startOffset 0 endOffset 2 width 33.60: "09"
          RenderSVGText {text} at (-16,43) size 32x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 32x21
              chunk 1 (middle anchor) text run 1 at (-15.90,60.00) startOffset 0 endOffset 3 width 31.80: "<a>"
        RenderSVGContainer {g} at (440,300) size 120x157 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,210.00)}]
          RenderSVGImage {image} at (450,300) size 100x100
          RenderSVGText {text} at (-36,43) size 72x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 72x21
              chunk 1 (middle anchor) text run 1 at (-35.70,60.00) startOffset 0 endOffset 7 width 71.40: "<image>"
        RenderSVGContainer {g} at (627,303) size 146x154 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,210.00)}]
          RenderSVGContainer {use} at (627,303) size 146x60
            RenderSVGText {text} at (-43,-28) size 86x35 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 86x34
                chunk 1 (middle anchor) text run 1 at (-42.60,0.00) startOffset 0 endOffset 5 width 85.20: "Use B"
          RenderSVGText {text} at (-26,43) size 52x21 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 51x21
              chunk 1 (middle anchor) text run 1 at (-25.50,60.00) startOffset 0 endOffset 5 width 51.00: "<use>"
    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]
