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 (110,20) size 570x402
      RenderSVGText {text} at (196,12) size 88x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 87x23
          chunk 1 (middle anchor) text run 1 at (196.50,30.00) startOffset 0 endOffset 9 width 87.00: "repeatDur"
      RenderSVGContainer {g} at (110,154) size 570x268 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
        RenderSVGContainer {g} at (110,187) size 307x235 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,45.00)}]
          RenderSVGText {text} at (-184,-13) size 184x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 184x16
              chunk 1 (end anchor) text run 1 at (-183.60,0.00) startOffset 0 endOffset 28 width 183.60: "dur=5s repeatDur unspecified"
          RenderSVGText {text} at (-132,12) size 132x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 132x16
              chunk 1 (end anchor) text run 1 at (-132.00,25.00) startOffset 0 endOffset 19 width 132.00: "dur=1s repeatDur=5s"
          RenderSVGText {text} at (-144,37) size 144x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 144x16
              chunk 1 (end anchor) text run 1 at (-143.40,50.00) startOffset 0 endOffset 21 width 143.40: "dur=0.5s repeatDur=5s"
          RenderSVGText {text} at (-173,62) size 173x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 173x16
              chunk 1 (end anchor) text run 1 at (-172.20,75.00) startOffset 0 endOffset 27 width 172.20: "dur=1s repeatDur=indefinite"
          RenderSVGText {text} at (-47,77) size 47x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 47x16
              chunk 1 (end anchor) text run 1 at (-46.20,90.00) startOffset 0 endOffset 6 width 46.20: "end=5s"
          RenderSVGText {text} at (-144,112) size 144x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 144x16
              chunk 1 (end anchor) text run 1 at (-143.40,125.00) startOffset 0 endOffset 21 width 143.40: "dur=0.7s repeatDur=5s"
        RenderSVGContainer {g} at (494,154) size 186x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,25.00)}]
          RenderSVGText {text} at (-14,-13) size 28x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 27x16
              chunk 1 (middle anchor) text run 1 at (-13.20,0.00) startOffset 0 endOffset 4 width 26.40: "> 5s"
          RenderSVGText {text} at (62,-13) size 36x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 35x16
              chunk 1 (middle anchor) text run 1 at (62.60,0.00) startOffset 0 endOffset 5 width 34.80: "0s-5s"
        RenderSVGContainer {g} at (505,189) size 156x231 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,40.00)}]
          RenderSVGHiddenContainer {defs} at (0,0) size 0x0
            RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,189) size 156x22
            RenderSVGContainer {use} at (505,189) size 23x22
              RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,189) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,230) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,25.00)}]
            RenderSVGContainer {use} at (505,230) size 23x23
              RenderSVGRect {rect} at (505,230) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,230) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,272) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGContainer {use} at (505,272) size 23x23
              RenderSVGRect {rect} at (505,272) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,272) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,314) size 156x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,75.00)}]
            RenderSVGContainer {use} at (505,314) size 23x22
              RenderSVGRect {rect} at (505,314) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,314) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {g} at (505,397) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,125.00)}]
            RenderSVGContainer {use} at (505,397) size 23x23
              RenderSVGRect {rect} at (505,397) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGContainer {use} at (639,397) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
              RenderSVGRect {rect} at (639,397) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
            RenderSVGRect {rect} at (639,397) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
    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.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]
