layer at (0,0) size 1026x986
  RenderView at (0,0) size 785x585
layer at (0,0) size 785x986
  RenderBlock {html} at (0,0) size 785x986
    RenderBody {body} at (8,16) size 769x954
      RenderBlock {div} at (0,0) size 769x86
        RenderBlock {p} at (0,0) size 769x18
          RenderInline {a} at (0,0) size 75x17 [color=#0000EE]
            RenderText {#text} at (0,0) size 75x17
              text run at (0,0) width 75: "Full version"
          RenderText {#text} at (75,0) size 8x17
            text run at (75,0) width 8: ", "
          RenderInline {a} at (0,0) size 85x17 [color=#0000EE]
            RenderText {#text} at (83,0) size 85x17
              text run at (83,0) width 85: "Basic version"
        RenderBlock {p} at (0,34) size 769x18
          RenderText {#text} at (0,0) size 118x17
            text run at (0,0) width 118: "Specification link: "
          RenderInline {a} at (0,0) size 185x17 [color=#0000EE]
            RenderText {#text} at (118,0) size 185x17
              text run at (118,0) width 185: "3.4 How groups are rendered"
        RenderBlock {p} at (0,68) size 769x18
          RenderInline {a} at (0,0) size 154x17 [color=#0000EE]
            RenderText {#text} at (0,0) size 154x17
              text run at (0,0) width 154: "pservers-pattern-01-b \x{2190}"
          RenderText {#text} at (154,0) size 4x17
            text run at (154,0) width 4: " "
          RenderInline {a} at (0,0) size 35x17 [color=#0000EE]
            RenderText {#text} at (158,0) size 35x17
              text run at (158,0) width 35: "index"
          RenderText {#text} at (193,0) size 4x17
            text run at (193,0) width 4: " "
          RenderInline {a} at (0,0) size 135x17 [color=#0000EE]
            RenderText {#text} at (197,0) size 135x17
              text run at (197,0) width 135: "\x{2192} script-handle-01-b"
          RenderText {#text} at (0,0) size 0x0
      RenderTable {table} at (0,102) size 1018x538
        RenderTableSection (anonymous) at (0,0) size 1018x538
          RenderTableRow {tr} at (0,0) size 1018x538
            RenderTableCell {td} at (0,0) size 1018x538 [r=0 c=0 rs=1 cs=3]
              RenderTable {table} at (10,10) size 998x518
                RenderTableSection (anonymous) at (0,0) size 998x518
                  RenderTableRow {tr} at (0,2) size 998x96
                    RenderTableCell {td} at (2,2) size 994x96 [r=0 c=0 rs=1 cs=2]
                      RenderBlock {h1} at (8,29) size 978x38
                        RenderText {#text} at (354,0) size 270x36
                          text run at (354,0) width 270: "render-groups-01-b"
                  RenderTableRow {tr} at (0,99) size 998x35
                    RenderTableCell {td} at (2,99) size 496x35 [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (210,8) size 76x17
                        text run at (210,8) width 76: "SVG Image"
                    RenderTableCell {td} at (500,99) size 496x35 [r=1 c=1 rs=1 cs=1]
                      RenderText {#text} at (210,8) size 76x17
                        text run at (210,8) width 76: "PNG Image"
                  RenderTableRow {tr} at (0,135) size 998x381
                    RenderTableCell {td} at (2,135) size 496x381 [r=2 c=0 rs=1 cs=1]
                      RenderEmbeddedObject {embed} at (8,8) size 480x360
                        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 (35,10) size 429x305
                              RenderSVGHiddenContainer {defs} at (0,0) size 0x0
                              RenderSVGContainer {g} at (35,10) size 429x305 [transform={m=((1.80,0.00)(0.00,1.80)) t=(0.00,0.00)}]
                                RenderSVGRect {rect} at (36,18) size 414x279 [fill={[type=SOLID] [color=#C0C0C0]}] [x=20.00] [y=10.00] [width=230.00] [height=155.00]
                                RenderSVGPath {line} at (58,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=40.00] [y1=10.00] [x2=40.00] [y2=175.00]
                                RenderSVGPath {line} at (112,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=70.00] [y1=10.00] [x2=70.00] [y2=175.00]
                                RenderSVGPath {line} at (166,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=100.00] [y1=10.00] [x2=100.00] [y2=175.00]
                                RenderSVGPath {line} at (220,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=130.00] [y1=10.00] [x2=130.00] [y2=175.00]
                                RenderSVGPath {line} at (274,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=160.00] [y1=10.00] [x2=160.00] [y2=175.00]
                                RenderSVGPath {line} at (328,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=190.00] [y1=10.00] [x2=190.00] [y2=175.00]
                                RenderSVGPath {line} at (382,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=220.00] [y1=10.00] [x2=220.00] [y2=175.00]
                                RenderSVGPath {line} at (436,18) size 28x297 [stroke={[type=SOLID] [color=#FFFFFF] [stroke width=15.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=250.00] [y1=10.00] [x2=250.00] [y2=175.00]
                                RenderSVGRect {rect} at (35,17) size 416x281 [stroke={[type=SOLID] [color=#000000]}] [x=20.00] [y=10.00] [width=230.00] [height=155.00]
                                RenderSVGContainer {g} at (54,10) size 382x269 [opacity=0.50]
                                  RenderSVGText {text} at (30,5) size 133x121 contains 1 chunk(s)
                                    RenderSVGInlineText {#text} at (0,0) size 133x121
                                      chunk 1 text run 1 at (30.00,90.00) startOffset 0 endOffset 3 width 132.22: "SVG"
                                  RenderSVGRect {rect} at (126,99) size 234x126 [fill={[type=SOLID] [color=#820032]}] [x=70.00] [y=55.00] [width=130.00] [height=70.00]
                                  RenderSVGImage {image} at (291,135) size 145x144
                            RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
                              RenderSVGInlineText {#text} at (0,0) size 264x45
                                chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.6 $"
                            RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
                      RenderText {#text} at (0,0) size 0x0
                    RenderTableCell {td} at (500,135) size 496x381 [r=2 c=1 rs=1 cs=1]
                      RenderImage {img} at (8,8) size 480x360
                      RenderText {#text} at (0,0) size 0x0
      RenderBlock {div} at (0,655) size 769x265
        RenderBlock {p} at (0,0) size 769x36
          RenderText {#text} at (0,0) size 761x35
            text run at (0,0) width 581: "Verifies implicit rendering order (paragraph 3.3) and grouping mechanism (paragraphs 3.4). "
            text run at (581,0) width 180: "It also validates basic Shape,"
            text run at (0,18) width 161: "Image and text rendering."
        RenderBlock {p} at (0,52) size 769x108
          RenderText {#text} at (0,0) size 764x107
            text run at (0,0) width 119: "This test renders 3 "
            text run at (119,0) width 226: "elements: a text string \"SVG\", then "
            text run at (345,0) width 381: "a shape, then an image. Because of their definition order and"
            text run at (0,18) width 145: "coordinates, the image "
            text run at (145,18) width 465: "should be on top of the rectangle and the rectangle on top of the text. The "
            text run at (610,18) width 154: "test validates that groups"
            text run at (0,36) width 311: "are conceptually rendered offscreen before being "
            text run at (311,36) width 449: "rendered on the canvas. This is done by grouping the same overlapping"
            text run at (0,54) width 75: "objects and "
            text run at (75,54) width 530: "rendering the group at half opacity. The background pattern (vertical stripes) should "
            text run at (605,54) width 158: "show throw all the group"
            text run at (0,72) width 416: "elements. However, none of the \"SVG\" should show through the "
            text run at (416,72) width 304: "rectangle and none of the rectangle should show"
            text run at (0,90) width 118: "through the image."
        RenderBlock {p} at (0,176) size 769x54
          RenderText {#text} at (0,0) size 768x53
            text run at (0,0) width 490: "Prerequisites: the test assumes proper handling of the fill stroke, stroke-width, "
            text run at (490,0) width 255: "opacity, font-size rendering properties. It"
            text run at (0,18) width 292: "uses the rect, line, text and image elements, as "
            text run at (292,18) width 476: "well as all the elements required for the test template. To ensure that the text"
            text run at (0,36) width 53: "string is "
            text run at (53,36) width 623: "overlapped by the other elements and to avoid a dependency on system fonts, an SVG font is used."
        RenderBlock {p} at (0,246) size 769x18
          RenderText {#text} at (0,0) size 394x17
            text run at (0,0) width 394: "The rendered image should match the reference image exactly."
      RenderBlock {div} at (0,935) size 769x19
        RenderBlock {p} at (0,0) size 769x18
          RenderInline {a} at (0,0) size 154x17 [color=#0000EE]
            RenderText {#text} at (0,0) size 154x17
              text run at (0,0) width 154: "pservers-pattern-01-b \x{2190}"
          RenderText {#text} at (154,0) size 4x17
            text run at (154,0) width 4: " "
          RenderInline {a} at (0,0) size 35x17 [color=#0000EE]
            RenderText {#text} at (158,0) size 35x17
              text run at (158,0) width 35: "index"
          RenderText {#text} at (193,0) size 4x17
            text run at (193,0) width 4: " "
          RenderInline {a} at (0,0) size 135x17 [color=#0000EE]
            RenderText {#text} at (197,0) size 135x17
              text run at (197,0) width 135: "\x{2192} script-handle-01-b"
          RenderText {#text} at (0,0) size 0x0
scrolled to 0,401
