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 (19,17) size 751x481
      RenderSVGText {text} at (166,10) size 148x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 148x19
          chunk 1 (middle anchor) text run 1 at (166.21,25.00) startOffset 0 endOffset 18 width 147.58: "<animateTransform>"
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGContainer {g} at (0,0) size 75x75
          RenderSVGEllipse {circle} at (0,0) size 69x69 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
          RenderSVGPath {line} at (0,0) size 75x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
          RenderSVGPath {line} at (0,0) size 1x75 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
      RenderSVGContainer {g} at (19,69) size 751x429
        RenderSVGContainer {g} at (19,69) size 162x187 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
          RenderSVGContainer {use} at (25,75) size 150x150
            RenderSVGContainer {g} at (25,75) size 150x150
              RenderSVGEllipse {circle} at (31,81) size 138x138 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
              RenderSVGPath {line} at (25,149) size 150x2 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
              RenderSVGPath {line} at (99,75) size 2x150 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
          RenderSVGPath {line} at (152,136) size 29x28 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=0.00] [x2=40.00] [y2=0.00]
          RenderSVGPath {line} at (86,202) size 28x29 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=0.00] [x2=40.00] [y2=0.00]
          RenderSVGPath {line} at (19,136) size 29x28 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=0.00] [x2=40.00] [y2=0.00]
          RenderSVGPath {line} at (86,69) size 28x29 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=0.00] [x2=40.00] [y2=0.00]
          RenderSVGPath {line} at (91,141) size 84x18 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=40.00] [y2=0.00]
          RenderSVGText {text} at (-36,46) size 72x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 71x17
              chunk 1 (middle anchor) text run 1 at (-35.47,60.00) startOffset 0 endOffset 11 width 70.94: "type=rotate"
        RenderSVGContainer {g} at (208,104) size 184x152 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,110.00)}]
          RenderSVGPath {line} at (287,104) size 26x92 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-40.00]
          RenderSVGPath {line} at (208,104) size 117x92 [transform={m=((1.00,0.00)(1.00,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-40.00]
          RenderSVGPath {line} at (275,104) size 117x92 [transform={m=((1.00,0.00)(-1.00,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-40.00]
          RenderSVGPath {line} at (291,108) size 18x84 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-40.00]
          RenderSVGText {text} at (-39,26) size 78x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 77x17
              chunk 1 (middle anchor) text run 1 at (-38.21,40.00) startOffset 0 endOffset 10 width 76.41: "type=skewX"
        RenderSVGContainer {g} at (436,91) size 128x165 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
          RenderSVGContainer {g} at (445,91) size 93x118 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,0.00)}]
            RenderSVGPath {line} at (445,137) size 93x26 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=-40.00] [y2=0.00]
            RenderSVGPath {line} at (445,91) size 93x79 [transform={m=((1.00,0.58)(0.00,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=-40.00] [y2=0.00]
            RenderSVGPath {line} at (445,130) size 93x79 [transform={m=((1.00,-0.58)(0.00,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=-40.00] [y2=0.00]
            RenderSVGPath {line} at (450,141) size 84x18 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=-40.00] [y2=0.00]
          RenderSVGText {text} at (-39,46) size 78x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 77x17
              chunk 1 (middle anchor) text run 1 at (-38.21,60.00) startOffset 0 endOffset 10 width 76.41: "type=skewY"
        RenderSVGContainer {g} at (630,80) size 140x201 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
          RenderSVGEllipse {circle} at (630,80) size 140x140 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=40.00]
          RenderSVGEllipse {circle} at (646,96) size 108x108 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=30.00]
          RenderSVGEllipse {circle} at (663,113) size 74x74 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=20.00]
          RenderSVGEllipse {circle} at (680,130) size 40x40 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (633,83) size 134x134 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#C85050]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGText {text} at (-34,46) size 68x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 68x17
              chunk 1 (middle anchor) text run 1 at (-33.90,60.00) startOffset 0 endOffset 10 width 67.80: "type=scale"
          RenderSVGText {text} at (-35,61) size 70x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 69x17
              chunk 1 (middle anchor) text run 1 at (-34.48,75.00) startOffset 0 endOffset 11 width 68.95: "(sx and sy)"
        RenderSVGContainer {g} at (19,286) size 162x212 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,180.00)}]
          RenderSVGContainer {use} at (25,291) size 150x151 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,40.00)}]
            RenderSVGContainer {g} at (25,291) size 150x151
              RenderSVGEllipse {circle} at (31,298) size 138x137 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
              RenderSVGPath {line} at (25,365) size 150x3 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
              RenderSVGPath {line} at (99,291) size 2x151 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
          RenderSVGPath {line} at (152,352) size 29x29 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=80.00] [y1=40.00] [x2=80.00] [y2=40.00]
          RenderSVGPath {line} at (86,419) size 28x29 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(80.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=80.00] [y1=40.00] [x2=80.00] [y2=40.00]
          RenderSVGPath {line} at (19,352) size 29x29 [transform={m=((-1.00,0.00)(-0.00,-1.00)) t=(80.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=80.00] [y1=40.00] [x2=80.00] [y2=40.00]
          RenderSVGPath {line} at (86,286) size 28x28 [transform={m=((-0.00,-1.00)(1.00,-0.00)) t=(0.00,80.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=15.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=80.00] [y1=40.00] [x2=80.00] [y2=40.00]
          RenderSVGPath {line} at (91,358) size 84x17 [stroke={[type=SOLID] [color=#C85050] [stroke width=10.00] [line cap=ROUND]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=40.00] [x2=80.00] [y2=40.00]
          RenderSVGText {text} at (4,86) size 72x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 71x17
              chunk 1 (middle anchor) text run 1 at (4.53,100.00) startOffset 0 endOffset 11 width 70.94: "type=rotate"
          RenderSVGText {text} at (4,101) size 72x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 71x17
              chunk 1 (middle anchor) text run 1 at (4.75,115.00) startOffset 0 endOffset 12 width 70.50: "(with cx/cy)"
        RenderSVGContainer {g} at (213,346) size 174x152 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,220.00)}]
          RenderSVGEllipse {circle} at (213,346) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=-40.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (246,346) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=-20.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (280,346) size 40x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (313,346) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=20.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (346,346) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=40.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (223,356) size 21x21 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,0.00)}] [fill={[type=SOLID] [color=#C85050]}] [cx=0.00] [cy=0.00] [r=6.00]
          RenderSVGText {text} at (-45,46) size 90x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 89x17
              chunk 1 (middle anchor) text run 1 at (-44.48,60.00) startOffset 0 endOffset 14 width 88.96: "type=translate"
          RenderSVGText {text} at (-26,61) size 52x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 51x17
              chunk 1 (middle anchor) text run 1 at (-25.07,75.00) startOffset 0 endOffset 9 width 50.14: "(tx only)"
        RenderSVGContainer {g} at (413,296) size 174x202 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
          RenderSVGEllipse {circle} at (413,396) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=-40.00] [cy=30.00] [r=10.00]
          RenderSVGEllipse {circle} at (446,371) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=-20.00] [cy=15.00] [r=10.00]
          RenderSVGEllipse {circle} at (480,346) size 40x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (513,321) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=20.00] [cy=-15.00] [r=10.00]
          RenderSVGEllipse {circle} at (546,296) size 41x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=40.00] [cy=-30.00] [r=10.00]
          RenderSVGEllipse {circle} at (423,406) size 21x21 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-40.00,30.00)}] [fill={[type=SOLID] [color=#C85050]}] [cx=0.00] [cy=0.00] [r=6.00]
          RenderSVGText {text} at (-45,46) size 90x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 89x17
              chunk 1 (middle anchor) text run 1 at (-44.48,60.00) startOffset 0 endOffset 14 width 88.96: "type=translate"
          RenderSVGText {text} at (-32,61) size 64x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 63x17
              chunk 1 (middle anchor) text run 1 at (-31.34,75.00) startOffset 0 endOffset 11 width 62.69: "(tx and ty)"
        RenderSVGContainer {g} at (630,296) size 140x202 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,220.00)}]
          RenderSVGEllipse {circle} at (630,296) size 140x141 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (646,313) size 108x107 [transform={m=((3.00,0.00)(0.00,3.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=1.33]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (663,330) size 74x74 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (680,346) size 40x41 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=4.00]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGEllipse {circle} at (633,300) size 134x134 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [fill={[type=SOLID] [color=#C85050]}] [cx=0.00] [cy=0.00] [r=10.00]
          RenderSVGText {text} at (-34,46) size 68x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 68x17
              chunk 1 (middle anchor) text run 1 at (-33.90,60.00) startOffset 0 endOffset 10 width 67.80: "type=scale"
          RenderSVGText {text} at (-27,61) size 54x18 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 54x17
              chunk 1 (middle anchor) text run 1 at (-26.64,75.00) startOffset 0 endOffset 9 width 53.27: "(sx only)"
    RenderSVGContainer {g} at (16,516) size 385x64
      RenderSVGText {text} at (10,310) size 231x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 231x38
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 230.19: "$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]
