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 (16,25) size 726x467
      RenderSVGContainer {g} at (16,25) size 726x467 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
        RenderSVGText {text} at (35,-15) size 410x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 410x19
            chunk 1 (middle anchor) text run 1 at (35.40,0.00) startOffset 0 endOffset 55 width 409.21: "Test options of preserveAspectRatio on an image element"
        RenderSVGText {text} at (20,21) size 40x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 39x11
            chunk 1 (middle anchor) text run 1 at (20.74,30.00) startOffset 0 endOffset 10 width 38.51: "SVG to fit"
        RenderSVGContainer {g} at (33,116) size 67x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGImage {image} at (33,116) size 67x68
        RenderSVGText {text} at (14,101) size 43x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x11
            chunk 1 (middle anchor) text run 1 at (14.24,110.00) startOffset 0 endOffset 10 width 42.52: "Viewport 1"
        RenderSVGContainer {g} at (16,250) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (16,250) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (14,171) size 43x12 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x11
            chunk 1 (middle anchor) text run 1 at (14.24,180.00) startOffset 0 endOffset 10 width 42.52: "Viewport 2"
        RenderSVGContainer {g} at (33,366) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (33,366) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (200,85) size 200x182 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 115x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 115x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 114.92: "---------- meet --------------------"
          RenderSVGContainer {g} at (200,110) size 84x74
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMin*"
            RenderSVGRect {rect} at (200,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (200,133) size 84x51
          RenderSVGContainer {g} at (316,110) size 84x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMid*"
            RenderSVGRect {rect} at (316,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (316,133) size 84x51
          RenderSVGContainer {g} at (200,193) size 84x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 26x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "xMax*"
            RenderSVGRect {rect} at (200,216) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (200,216) size 84x51
        RenderSVGContainer {g} at (500,85) size 217x149 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 127x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 127x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 126.91: "---------- meet ------------------------"
          RenderSVGContainer {g} at (500,110) size 50x124
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMin"
            RenderSVGRect {rect} at (500,133) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (500,133) size 50x101
          RenderSVGContainer {g} at (583,110) size 51x124 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMid"
            RenderSVGRect {rect} at (583,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (583,133) size 51x101
          RenderSVGContainer {g} at (666,110) size 51x124 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMax"
            RenderSVGRect {rect} at (666,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (666,133) size 51x101
        RenderSVGContainer {g} at (200,310) size 217x149 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 128x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 128x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.90: "---------- slice -------------------------"
          RenderSVGContainer {g} at (200,335) size 50x124
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMin*"
            RenderSVGRect {rect} at (200,358) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (200,358) size 50x101
          RenderSVGContainer {g} at (283,335) size 51x124 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.50: "xMid*"
            RenderSVGRect {rect} at (283,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (283,358) size 51x101
          RenderSVGContainer {g} at (366,335) size 51x124 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 26x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.00: "xMax*"
            RenderSVGRect {rect} at (366,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (366,358) size 51x101
        RenderSVGContainer {g} at (500,310) size 200x182 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 116x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 116x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.91: "---------- slice ---------------------"
          RenderSVGContainer {g} at (500,335) size 84x74
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMin"
            RenderSVGRect {rect} at (500,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (500,358) size 84x51
          RenderSVGContainer {g} at (616,335) size 84x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 25x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.01: "*YMid"
            RenderSVGRect {rect} at (616,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (616,358) size 84x51
          RenderSVGContainer {g} at (500,418) size 84x74 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 27x12 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.51: "*YMax"
            RenderSVGRect {rect} at (500,441) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (500,441) size 84x51
    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.2 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
    RenderSVGContainer {g} at (0,0) size 800x39
      RenderSVGRect {rect} at (0,0) size 800x36 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FF0000]}] [x=1.00] [y=1.00] [width=478.00] [height=20.00]
      RenderSVGText {text} at (205,-1) size 70x24 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 69x24
          chunk 1 (middle anchor) text run 1 at (205.95,18.00) startOffset 0 endOffset 5 width 68.10: "DRAFT"
