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
    RenderSVGContainer {g} at (0,8) size 800x488
      RenderSVGViewportContainer {svg} at (0,8) size 800x488
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceLinearGradient {linearGradient} [id="MyGradient"] [gradientUnits=userSpaceOnUse] [start=(20,0)] [end=(760,0)]
            RenderSVGGradientStop {stop} [offset=0.00] [color=#DD00DD]
            RenderSVGGradientStop {stop} [offset=0.33] [color=#22CC22]
            RenderSVGGradientStop {stop} [offset=0.67] [color=#400000]
            RenderSVGGradientStop {stop} [offset=1.00] [color=#A0A0FF]
          RenderSVGResourceFilter {filter} [id="Matrix"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feColorMatrix type="MATRIX" values="0.33 0.33 0.33 0.00 0.00 0.33 0.33 0.33 0.00 0.00 0.33 0.33 0.33 0.00 0.00 0.33 0.33 0.33 0.00 0.00"]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Saturate40"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feColorMatrix type="SATURATE" values="0.25"]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="HueRotate90"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feColorMatrix type="HUEROTATE" values="90.00"]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="LuminanceToAlpha"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComposite operation="IN"]
              [SourceGraphic]
              [feColorMatrix type="LUMINANCETOALPHA"]
                [SourceGraphic]
        RenderSVGContainer {g} at (0,8) size 800x488
          RenderSVGRect {rect} at (13,8) size 774x484 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=798.00] [height=498.00]
          RenderSVGRect {rect} at (32,27) size 736x40 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=20.00] [y=20.00] [width=760.00] [height=40.00]
          RenderSVGText {text} at (20,59) size 167x45 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 167x45
              chunk 1 text run 1 at (20.00,95.00) startOffset 0 endOffset 10 width 166.55: "Unfiltered"
          RenderSVGRect {rect} at (32,124) size 736x39 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=20.00] [y=120.00] [width=760.00] [height=40.00]
            [filter="Matrix"] RenderSVGResourceFilter {filter} at (20,120) size 760x40
          RenderSVGText {text} at (20,159) size 537x45 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 537x45
              chunk 1 text run 1 at (20.00,195.00) startOffset 0 endOffset 32 width 536.90: "type=\"matrix\" (grayscale matrix)"
          RenderSVGRect {rect} at (0,219) size 800x43 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=20.00] [y=220.00] [width=760.00] [height=40.00]
            [filter="Saturate40"] RenderSVGResourceFilter {filter} at (-18,218) size 836x44
          RenderSVGText {text} at (20,259) size 453x45 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 453x45
              chunk 1 text run 1 at (20.00,295.00) startOffset 0 endOffset 27 width 452.07: "type=\"saturate\" values=\".4\""
          RenderSVGRect {rect} at (0,315) size 800x44 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=20.00] [y=320.00] [width=760.00] [height=40.00]
            [filter="HueRotate90"] RenderSVGResourceFilter {filter} at (-18,318) size 836x44
          RenderSVGText {text} at (20,359) size 502x45 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 502x45
              chunk 1 text run 1 at (20.00,395.00) startOffset 0 endOffset 28 width 501.72: "type=\"hueRotate\" values=\"90\""
          RenderSVGRect {rect} at (0,412) size 800x43 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=20.00] [y=420.00] [width=760.00] [height=40.00]
            [filter="LuminanceToAlpha"] RenderSVGResourceFilter {filter} at (-18,418) size 836x44
          RenderSVGText {text} at (20,459) size 440x45 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 440x45
              chunk 1 text run 1 at (20.00,495.00) startOffset 0 endOffset 23 width 439.66: "type=\"luminanceToAlpha\""
    RenderSVGText {text} at (10,304) size 269x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 269x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$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]
