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 (0,0) size 480x360
      RenderSVGContainer {g} at (0,0) size 480x360
        RenderSVGRect {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=2000.00] [height=2000.00]
        RenderSVGRect {rect} at (0,0) size 480x360 [fill={[type=SOLID] [color=#FFFFFF]}] [x=0.00] [y=0.00] [width=480.00] [height=360.00]
      RenderSVGText {text} at (125,9) size 179x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 179x14
          chunk 1 text run 1 at (125.00,20.00) startOffset 0 endOffset 35 width 178.75: "Initial viewport and CSS units test"
      RenderSVGContainer {g} at (20,66) size 369x198 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
        RenderSVGText {text} at (20,6) size 20x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 20x15
            chunk 1 text run 1 at (20.00,18.00) startOffset 0 endOffset 3 width 19.50: "200"
        RenderSVGText {text} at (230,8) size 159x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 159x15
            chunk 1 text run 1 at (230.00,20.00) startOffset 0 endOffset 31 width 158.11: "User space units (no specifier)"
        RenderSVGRect {rect} at (20,80) size 200x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=20.00] [width=200.00] [height=1.00]
        RenderSVGText {text} at (20,26) size 36x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 36x15
            chunk 1 text run 1 at (20.00,38.00) startOffset 0 endOffset 6 width 35.75: "200 px"
        RenderSVGText {text} at (230,28) size 57x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 57x15
            chunk 1 text run 1 at (230.00,40.00) startOffset 0 endOffset 11 width 56.69: "Pixels (px)"
        RenderSVGRect {rect} at (20,100) size 200x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=40.00] [width=200.00] [height=1.00]
        RenderSVGText {text} at (20,46) size 173x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 173x15
            chunk 1 text run 1 at (20.00,58.00) startOffset 0 endOffset 31 width 172.43: "20 em = 200 px (font-size=10px)"
        RenderSVGText {text} at (230,48) size 133x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 133x15
            chunk 1 text run 1 at (230.00,60.00) startOffset 0 endOffset 26 width 132.12: "Relative to font size (em)"
        RenderSVGContainer {g} at (20,120) size 200x1
          RenderSVGRect {rect} at (20,120) size 200x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=60.00] [width=200.00] [height=1.00]
        RenderSVGText {text} at (20,66) size 29x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 29x15
            chunk 1 text run 1 at (20.00,78.00) startOffset 0 endOffset 5 width 28.52: "40 ex"
        RenderSVGText {text} at (230,68) size 152x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 152x15
            chunk 1 text run 1 at (230.00,80.00) startOffset 0 endOffset 30 width 151.62: "Relative to font x-height (ex)"
        RenderSVGContainer {g} at (20,140) size 180x1
          RenderSVGRect {rect} at (20,140) size 180x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=80.00] [width=200.00] [height=1.00]
        RenderSVGText {text} at (20,86) size 90x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 90x15
            chunk 1 text run 1 at (20.00,98.00) startOffset 0 endOffset 15 width 89.66: "41.67% = 200 px"
        RenderSVGText {text} at (230,88) size 80x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 80x15
            chunk 1 text run 1 at (230.00,100.00) startOffset 0 endOffset 14 width 79.76: "Percentage (%)"
        RenderSVGRect {rect} at (20,160) size 201x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=100.00] [width=200.02] [height=1.00]
        RenderSVGText {text} at (20,106) size 20x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 20x15
            chunk 1 text run 1 at (20.00,118.00) startOffset 0 endOffset 4 width 19.86: "1 in"
        RenderSVGText {text} at (230,108) size 56x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 56x15
            chunk 1 text run 1 at (230.00,120.00) startOffset 0 endOffset 11 width 55.95: "Inches (in)"
        RenderSVGRect {rect} at (20,180) size 96x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=120.00] [width=96.00] [height=1.00]
        RenderSVGText {text} at (20,126) size 76x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x15
            chunk 1 text run 1 at (20.00,138.00) startOffset 0 endOffset 14 width 75.58: "2.54 cm = 1 in"
        RenderSVGText {text} at (230,128) size 91x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 91x15
            chunk 1 text run 1 at (230.00,140.00) startOffset 0 endOffset 16 width 90.61: "Centimeters (cm)"
        RenderSVGRect {rect} at (20,200) size 96x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=140.00] [width=96.00] [height=1.00]
        RenderSVGText {text} at (20,146) size 80x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 80x15
            chunk 1 text run 1 at (20.00,158.00) startOffset 0 endOffset 14 width 79.92: "25.4 mm = 1 in"
        RenderSVGText {text} at (230,148) size 93x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 93x15
            chunk 1 text run 1 at (230.00,160.00) startOffset 0 endOffset 16 width 92.79: "Millimeters (mm)"
        RenderSVGRect {rect} at (20,220) size 96x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=160.00] [width=96.00] [height=1.00]
        RenderSVGText {text} at (20,166) size 57x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 57x15
            chunk 1 text run 1 at (20.00,178.00) startOffset 0 endOffset 11 width 56.81: "72pt = 1 in"
        RenderSVGText {text} at (230,168) size 55x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 55x15
            chunk 1 text run 1 at (230.00,180.00) startOffset 0 endOffset 11 width 54.53: "Points (pt)"
        RenderSVGRect {rect} at (20,240) size 96x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=180.00] [width=96.00] [height=1.00]
        RenderSVGText {text} at (20,186) size 53x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 53x15
            chunk 1 text run 1 at (20.00,198.00) startOffset 0 endOffset 10 width 52.46: "6pc = 1 in"
        RenderSVGText {text} at (230,188) size 52x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 52x15
            chunk 1 text run 1 at (230.00,200.00) startOffset 0 endOffset 10 width 51.62: "Picas (pc)"
        RenderSVGRect {rect} at (20,260) size 96x1 [fill={[type=SOLID] [color=#000000]}] [x=20.00] [y=200.00] [width=96.00] [height=1.00]
    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 263.34: "$Revision: 1.4 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
