layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: "$Revision: 1.9 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    RenderSVGText {text} at (162,10) size 156x19 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 156x18
        chunk 1 (middle anchor) text run 1 at (162.11,25.00) startOffset 0 endOffset 23 width 155.78: "<animate> on xlink:href"
    RenderSVGContainer {g} at (17,59) size 442x215
      RenderSVGContainer {g} at (37,82) size 46x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
        RenderSVGText {text} at (-23,-8) size 46x23 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 45x23
            chunk 1 (middle anchor) text run 1 at (-22.39,10.00) startOffset 0 endOffset 5 width 44.78: "<set>"
      RenderSVGContainer {g} at (149,59) size 62x95 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
        RenderSVGContainer {a} at (149,59) size 62x62
          RenderSVGEllipse {circle} at (149,59) size 62x62 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
          RenderSVGText {text} at (-15,-17) size 30x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 30x34
              chunk 1 (middle anchor) text run 1 at (-15.00,10.00) startOffset 0 endOffset 2 width 30.00: "38"
        RenderSVGText {text} at (-13,45) size 26x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 26x18
            chunk 1 (middle anchor) text run 1 at (-12.57,60.00) startOffset 0 endOffset 3 width 25.15: "<a>"
      RenderSVGContainer {g} at (270,60) size 60x94 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
        RenderSVGImage {image} at (270,60) size 60x60
        RenderSVGText {text} at (-29,45) size 58x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 58x18
            chunk 1 (middle anchor) text run 1 at (-28.57,60.00) startOffset 0 endOffset 7 width 57.14: "<image>"
      RenderSVGContainer {g} at (381,62) size 78x92 [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,-15) size 41x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 41x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 40.44: "Use A"
          RenderSVGText {text} at (0,-15) size 40x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 40x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 39.55: "Use B"
          RenderSVGText {text} at (0,-15) size 40x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 40x18
              chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 39.55: "Use C"
        RenderSVGContainer {use} at (381,62) size 78x36
          RenderSVGText {text} at (-38,-27) size 76x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 75x34
              chunk 1 (middle anchor) text run 1 at (-37.08,0.00) startOffset 0 endOffset 5 width 74.17: "Use B"
        RenderSVGText {text} at (-20,45) size 40x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 40x18
            chunk 1 (middle anchor) text run 1 at (-19.69,60.00) startOffset 0 endOffset 5 width 39.38: "<use>"
      RenderSVGContainer {g} at (17,202) size 86x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,210.00)}]
        RenderSVGText {text} at (-43,-8) size 86x23 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 86x23
            chunk 1 (middle anchor) text run 1 at (-42.93,10.00) startOffset 0 endOffset 9 width 85.86: "<animate>"
      RenderSVGContainer {g} at (149,179) size 62x95 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,210.00)}]
        RenderSVGContainer {a} at (149,179) size 62x62
          RenderSVGEllipse {circle} at (149,179) size 62x62 [stroke={[type=SOLID] [color=#FFB400]}] [fill={[type=SOLID] [color=#E6E6E6]}] [cx=0.00] [cy=0.00] [r=30.00]
          RenderSVGText {text} at (-15,-17) size 30x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 30x34
              chunk 1 (middle anchor) text run 1 at (-15.00,10.00) startOffset 0 endOffset 2 width 30.00: "09"
        RenderSVGText {text} at (-13,45) size 26x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 26x18
            chunk 1 (middle anchor) text run 1 at (-12.57,60.00) startOffset 0 endOffset 3 width 25.15: "<a>"
      RenderSVGContainer {g} at (270,180) size 60x94 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,210.00)}]
        RenderSVGImage {image} at (270,180) size 60x60
        RenderSVGText {text} at (-29,45) size 58x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 58x18
            chunk 1 (middle anchor) text run 1 at (-28.57,60.00) startOffset 0 endOffset 7 width 57.14: "<image>"
      RenderSVGContainer {g} at (381,182) size 78x92 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,210.00)}]
        RenderSVGContainer {use} at (381,182) size 78x36
          RenderSVGText {text} at (-38,-27) size 76x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 75x34
              chunk 1 (middle anchor) text run 1 at (-37.08,0.00) startOffset 0 endOffset 5 width 74.17: "Use B"
        RenderSVGText {text} at (-20,45) size 40x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 40x18
            chunk 1 (middle anchor) text run 1 at (-19.69,60.00) startOffset 0 endOffset 5 width 39.38: "<use>"
