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
    RenderSVGContainer {g} at (23,25) size 404x274
      RenderSVGContainer {g} at (23,25) size 404x274
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceFilter {filter} [id="Turb1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="8" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.40, 0.40" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="1" stitchTiles="0"]
        RenderSVGRect {rect} at (25,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb1"] RenderSVGResourceFilter {filter} at (25,25) size 100x75
        RenderSVGText {text} at (34,106) size 82x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x13
            chunk 1 (middle anchor) text run 1 at (34.00,117.00) startOffset 0 endOffset 15 width 82.00: "type=turbulence"
        RenderSVGText {text} at (23,118) size 104x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 104x13
            chunk 1 (middle anchor) text run 1 at (23.00,129.00) startOffset 0 endOffset 18 width 104.00: "baseFrequency=0.05"
        RenderSVGText {text} at (37,130) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (37.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=2"
        RenderSVGRect {rect} at (175,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb2"] RenderSVGResourceFilter {filter} at (175,25) size 100x75
        RenderSVGText {text} at (184,106) size 82x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x13
            chunk 1 (middle anchor) text run 1 at (184.00,117.00) startOffset 0 endOffset 15 width 82.00: "type=turbulence"
        RenderSVGText {text} at (176,118) size 98x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x13
            chunk 1 (middle anchor) text run 1 at (176.00,129.00) startOffset 0 endOffset 17 width 98.00: "baseFrequency=0.1"
        RenderSVGText {text} at (187,130) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (187.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=2"
        RenderSVGRect {rect} at (325,25) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb3"] RenderSVGResourceFilter {filter} at (325,25) size 100x75
        RenderSVGText {text} at (334,106) size 82x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x13
            chunk 1 (middle anchor) text run 1 at (334.00,117.00) startOffset 0 endOffset 15 width 82.00: "type=turbulence"
        RenderSVGText {text} at (323,118) size 104x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 104x13
            chunk 1 (middle anchor) text run 1 at (323.00,129.00) startOffset 0 endOffset 18 width 104.00: "baseFrequency=0.05"
        RenderSVGText {text} at (337,130) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (337.00,141.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=8"
        RenderSVGRect {rect} at (25,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb4"] RenderSVGResourceFilter {filter} at (25,180) size 100x75
        RenderSVGText {text} at (30,261) size 90x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x13
            chunk 1 (middle anchor) text run 1 at (30.50,272.00) startOffset 0 endOffset 17 width 89.00: "type=fractalNoise"
        RenderSVGText {text} at (26,273) size 98x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x13
            chunk 1 (middle anchor) text run 1 at (26.00,284.00) startOffset 0 endOffset 17 width 98.00: "baseFrequency=0.1"
        RenderSVGText {text} at (37,285) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (37.00,296.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=4"
        RenderSVGRect {rect} at (175,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb5"] RenderSVGResourceFilter {filter} at (175,180) size 100x75
        RenderSVGText {text} at (180,261) size 90x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x13
            chunk 1 (middle anchor) text run 1 at (180.50,272.00) startOffset 0 endOffset 17 width 89.00: "type=fractalNoise"
        RenderSVGText {text} at (176,273) size 98x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x13
            chunk 1 (middle anchor) text run 1 at (176.00,284.00) startOffset 0 endOffset 17 width 98.00: "baseFrequency=0.4"
        RenderSVGText {text} at (187,285) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (187.00,296.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=4"
        RenderSVGRect {rect} at (325,180) size 100x75 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb6"] RenderSVGResourceFilter {filter} at (325,180) size 100x75
        RenderSVGText {text} at (330,261) size 90x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x13
            chunk 1 (middle anchor) text run 1 at (330.50,272.00) startOffset 0 endOffset 17 width 89.00: "type=fractalNoise"
        RenderSVGText {text} at (326,273) size 98x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x13
            chunk 1 (middle anchor) text run 1 at (326.00,284.00) startOffset 0 endOffset 17 width 98.00: "baseFrequency=0.1"
        RenderSVGText {text} at (337,285) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 (middle anchor) text run 1 at (337.00,296.00) startOffset 0 endOffset 12 width 76.00: "numOctaves=1"
    RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x46
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.1 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
