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
      RenderSVGHiddenContainer {symbol} at (0,0) size 0x0
        RenderSVGRect {rect} at (0,18) size 56x17 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
      RenderSVGHiddenContainer {symbol} at (0,0) size 0x0
        RenderSVGRect {rect} at (0,22) size 5x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
        RenderSVGPath {line} at (0,21) size 5x11 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
        RenderSVGPath {line} at (0,21) size 5x11 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
      RenderSVGHiddenContainer {symbol} at (0,0) size 0x0
        RenderSVGRect {rect} at (0,21) size 5x11 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
      RenderSVGHiddenContainer {symbol} at (0,0) size 0x0
        RenderSVGRect {rect} at (0,22) size 5x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
        RenderSVGPath {line} at (0,30) size 5x2 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
    RenderSVGRect {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#D3D3D3]}] [x=-5000.00] [y=-5000.00] [width=15000.00] [height=15000.00]
    RenderSVGRect {rect} at (0,26) size 800x64 [fill={[type=SOLID] [color=#FFFFFF]}] [x=-5000.00] [y=0.00] [width=15000.00] [height=80.00]
    RenderSVGRect {rect} at (0,0) size 0x0 [fill={[type=SOLID] [color=#FFFFFF]}] [x=-5000.00] [y=-5000.00] [width=5000.00] [height=15000.00]
    RenderSVGRect {rect} at (0,0) size 0x0 [fill={[type=SOLID] [color=#FFFFFF]}] [x=1024.00] [y=-5000.00] [width=5000.00] [height=15000.00]
    RenderSVGRect {rect} at (0,573) size 800x27 [fill={[type=SOLID] [color=#FFFFFF]}] [x=-5000.00] [y=700.00] [width=15000.00] [height=5000.00]
    RenderSVGText {text} at (10,12) size 328x22 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 328x22
        chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 34 width 327.68: "Demonstration of the Window object"
    RenderSVGText {text} at (10,37) size 63x16 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 63x16
        chunk 1 text run 1 at (10.00,50.00) startOffset 0 endOffset 10 width 62.72: "Statustext"
    RenderSVGContainer {use} at (319,33) size 112x18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(480.00,20.00)}]
      RenderSVGViewportContainer {svg} at (319,33) size 112x18
        RenderSVGRect {rect} at (319,33) size 112x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (411,14) size 138x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 137x13
        chunk 1 (middle anchor) text run 1 at (411.52,25.00) startOffset 0 endOffset 23 width 136.96: "Close Navigation Window"
    RenderSVGContainer {use} at (437,33) size 111x18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(630.00,20.00)}]
      RenderSVGViewportContainer {svg} at (437,33) size 111x18
        RenderSVGRect {rect} at (437,33) size 111x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (581,14) size 98x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 98x13
        chunk 1 (middle anchor) text run 1 at (581.36,25.00) startOffset 0 endOffset 16 width 97.28: "Close Big Window"
    RenderSVGContainer {use} at (554,33) size 111x18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(780.00,20.00)}]
      RenderSVGViewportContainer {svg} at (554,33) size 111x18
        RenderSVGRect {rect} at (554,33) size 111x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (711,14) size 138x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 137x13
        chunk 1 (middle anchor) text run 1 at (711.52,25.00) startOffset 0 endOffset 23 width 136.96: "Close Middlesize Window"
    RenderSVGContainer {use} at (671,33) size 111x18 [transform={m=((1.00,0.00)(0.00,1.00)) t=(930.00,20.00)}]
      RenderSVGViewportContainer {svg} at (671,33) size 111x18
        RenderSVGRect {rect} at (671,33) size 111x18 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (876,14) size 108x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 107x13
        chunk 1 (middle anchor) text run 1 at (876.88,25.00) startOffset 0 endOffset 19 width 106.24: "Close Colour Picker"
    RenderSVGContainer {use} at (671,57) size 111x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(930.00,50.00)}]
      RenderSVGViewportContainer {svg} at (671,57) size 111x17
        RenderSVGRect {rect} at (671,57) size 111x17 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (874,44) size 112x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 111x13
        chunk 1 (middle anchor) text run 1 at (874.96,55.00) startOffset 0 endOffset 18 width 110.08: "Close Small Window"
    RenderSVGContainer {use} at (319,57) size 112x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(480.00,50.00)}]
      RenderSVGViewportContainer {svg} at (319,57) size 112x17
        RenderSVGRect {rect} at (319,57) size 112x17 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=-70.00] [y=-10.00] [width=140.00] [height=20.00]
    RenderSVGText {text} at (408,44) size 144x14 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 144x13
        chunk 1 (middle anchor) text run 1 at (408.32,55.00) startOffset 0 endOffset 24 width 143.36: "Resize Navigation Window"
    RenderSVGContainer {g} at (38,81) size 760x454
      RenderSVGContainer {g} at (613,81) size 185x169 [transform={m=((1.00,0.00)(0.00,1.00)) t=(800.00,85.00)}]
        RenderSVGContainer {g} at (624,92) size 174x158
          RenderSVGRect {rect} at (624,92) size 174x158 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=220.00] [height=200.00]
          RenderSVGContainer {g} at (632,102) size 159x97
            RenderSVGText {text} at (10,12) size 203x124 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 122x16
                chunk 1 text run 1 at (10.00,25.00) startOffset 0 endOffset 18 width 121.60: "This window should"
              RenderSVGTSpan {tspan} at (0,0) size 145x16
                RenderSVGInlineText {#text} at (0,16) size 145x16
                  chunk 1 text run 1 at (10.00,41.00) startOffset 0 endOffset 24 width 144.64: "contain navigation tools"
              RenderSVGTSpan {tspan} at (0,0) size 93x16
                RenderSVGInlineText {#text} at (0,38) size 93x16
                  chunk 1 text run 1 at (10.00,63.00) startOffset 0 endOffset 15 width 92.16: "Click on button"
              RenderSVGTSpan {tspan} at (0,0) size 203x17
                RenderSVGInlineText {#text} at (0,53) size 203x16
                  chunk 1 text run 1 at (10.00,79.00) startOffset 0 endOffset 32 width 202.24: "'Resize Navigation Window' for a"
              RenderSVGTSpan {tspan} at (0,0) size 184x16
                RenderSVGInlineText {#text} at (0,70) size 184x16
                  chunk 1 text run 1 at (10.00,95.00) startOffset 0 endOffset 28 width 183.04: "random resize of this Window"
              RenderSVGTSpan {tspan} at (0,0) size 162x16
                RenderSVGInlineText {#text} at (0,92) size 162x16
                  chunk 1 text run 1 at (10.00,117.00) startOffset 0 endOffset 26 width 161.28: "Note that this window also"
              RenderSVGTSpan {tspan} at (0,0) size 182x16
                RenderSVGInlineText {#text} at (0,108) size 182x16
                  chunk 1 text run 1 at (10.00,133.00) startOffset 0 endOffset 28 width 181.76: "features a window decoration"
          RenderSVGRect {rect} at (624,238) size 174x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=187.00] [width=220.00] [height=13.00]
          RenderSVGText {text} at (3,188) size 41x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 41x12
              chunk 1 text run 1 at (3.00,197.00) startOffset 0 endOffset 9 width 40.96: "Statusbar"
        RenderSVGContainer {g} at (613,81) size 185x159
          RenderSVGContainer {g} at (613,81) size 185x159
            RenderSVGRect {rect} at (613,81) size 16x159 [fill={[type=SOLID] [color=#B0C4DE]}] [x=-15.00] [y=-15.00] [width=20.00] [height=202.00]
            RenderSVGRect {rect} at (613,81) size 185x16 [fill={[type=SOLID] [color=#B0C4DE]}] [x=-15.00] [y=-15.00] [width=236.00] [height=20.00]
            RenderSVGText {text} at (0,169) size 103x14 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 103x13
                chunk 1 text run 1 at (0.00,180.00) startOffset 0 endOffset 17 width 102.40: "Navigation Window"
          RenderSVGContainer {use} at (616,84) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-5.00,-5.00)}]
            RenderSVGViewportContainer {svg} at (616,84) size 10x10
              RenderSVGRect {rect} at (616,84) size 10x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGPath {line} at (616,84) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
              RenderSVGPath {line} at (616,84) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
          RenderSVGContainer {use} at (616,100) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-5.00,15.00)}]
            RenderSVGViewportContainer {svg} at (616,100) size 10x10
              RenderSVGRect {rect} at (616,100) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
          RenderSVGContainer {use} at (616,116) size 10x9 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-5.00,35.00)}]
            RenderSVGViewportContainer {svg} at (616,116) size 10x9
              RenderSVGRect {rect} at (616,116) size 10x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGPath {line} at (616,124) size 10x1 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
      RenderSVGContainer {g} at (38,143) size 549x392 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,150.00)}]
        RenderSVGContainer {g} at (38,143) size 549x392
          RenderSVGRect {rect} at (38,143) size 549x392 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=700.00] [height=500.00]
          RenderSVGContainer {g} at (0,0) size 0x0
          RenderSVGRect {rect} at (38,523) size 549x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=487.00] [width=700.00] [height=13.00]
          RenderSVGText {text} at (3,488) size 129x12 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 129x12
              chunk 1 text run 1 at (3.00,497.00) startOffset 0 endOffset 28 width 128.00: "This is a big movable window"
          RenderSVGContainer {g} at (77,182) size 315x236 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,50.00)}]
            RenderSVGContainer {g} at (77,182) size 315x236
              RenderSVGRect {rect} at (77,182) size 315x236 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=400.00] [height=300.00]
              RenderSVGContainer {g} at (0,0) size 0x0
              RenderSVGRect {rect} at (77,406) size 315x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=287.00] [width=400.00] [height=13.00]
              RenderSVGText {text} at (3,288) size 159x12 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 159x12
                  chunk 1 text run 1 at (3.00,297.00) startOffset 0 endOffset 34 width 158.72: "This window contains other windows"
              RenderSVGContainer {g} at (77,195) size 174x143 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,17.00)}]
                RenderSVGContainer {g} at (77,195) size 174x143
                  RenderSVGRect {rect} at (77,195) size 174x143 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=220.00] [height=180.00]
                  RenderSVGContainer {g} at (0,0) size 0x0
                  RenderSVGRect {rect} at (77,326) size 174x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=167.00] [width=220.00] [height=13.00]
                  RenderSVGText {text} at (3,168) size 169x12 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 169x12
                      chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 36 width 168.96: "Changing a colour changes background"
                RenderSVGContainer {g} at (77,195) size 174x15
                  RenderSVGRect {rect} at (77,195) size 174x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=220.00] [height=17.00]
                  RenderSVGText {text} at (3,1) size 85x16 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 85x16
                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 84.48: "Colour Picker"
                  RenderSVGContainer {use} at (236,198) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(208.50,8.50)}]
                    RenderSVGViewportContainer {svg} at (236,198) size 10x10
                      RenderSVGRect {rect} at (236,198) size 10x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                      RenderSVGPath {line} at (236,198) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
                      RenderSVGPath {line} at (236,198) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
                  RenderSVGContainer {use} at (223,198) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(191.50,8.50)}]
                    RenderSVGViewportContainer {svg} at (223,198) size 10x10
                      RenderSVGRect {rect} at (223,198) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGContainer {use} at (210,198) size 9x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(174.50,8.50)}]
                    RenderSVGViewportContainer {svg} at (210,198) size 9x10
                      RenderSVGRect {rect} at (210,198) size 9x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                      RenderSVGPath {line} at (210,206) size 9x2 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
              RenderSVGContainer {g} at (249,344) size 143x64 [transform={m=((1.00,0.00)(0.00,1.00)) t=(220.00,207.00)}]
                RenderSVGContainer {g} at (249,344) size 143x64
                  RenderSVGRect {rect} at (249,344) size 143x64 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=180.00] [height=80.00]
                  RenderSVGContainer {g} at (257,365) size 120x38
                    RenderSVGText {text} at (10,27) size 153x48 contains 1 chunk(s)
                      RenderSVGInlineText {#text} at (0,0) size 153x16
                        chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 23 width 152.32: "This is a none-moveable"
                      RenderSVGTSpan {tspan} at (0,0) size 137x16
                        RenderSVGInlineText {#text} at (0,16) size 137x16
                          chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 21 width 136.96: "none-closeable status"
                      RenderSVGTSpan {tspan} at (0,0) size 47x16
                        RenderSVGInlineText {#text} at (0,32) size 47x16
                          chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 6 width 46.08: "window"
                RenderSVGContainer {g} at (249,344) size 143x15
                  RenderSVGRect {rect} at (249,344) size 143x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=180.00] [height=17.00]
                  RenderSVGText {text} at (3,1) size 93x16 contains 1 chunk(s)
                    RenderSVGInlineText {#text} at (0,0) size 93x16
                      chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 13 width 92.16: "Status Window"
                  RenderSVGContainer {use} at (376,346) size 11x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(168.50,8.50)}]
                    RenderSVGViewportContainer {svg} at (376,346) size 11x10
                      RenderSVGRect {rect} at (376,346) size 11x10 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGContainer {use} at (364,346) size 9x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(151.50,8.50)}]
                    RenderSVGViewportContainer {svg} at (364,346) size 9x10
                      RenderSVGRect {rect} at (364,346) size 9x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                      RenderSVGPath {line} at (364,355) size 9x1 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
            RenderSVGContainer {g} at (77,182) size 315x15
              RenderSVGRect {rect} at (77,182) size 315x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=400.00] [height=17.00]
              RenderSVGText {text} at (3,1) size 167x16 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 167x16
                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 24 width 166.40: "Nested middlesize Window"
              RenderSVGContainer {use} at (377,184) size 10x11 [transform={m=((1.00,0.00)(0.00,1.00)) t=(388.50,8.50)}]
                RenderSVGViewportContainer {svg} at (377,184) size 10x11
                  RenderSVGRect {rect} at (377,185) size 9x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGPath {line} at (377,184) size 10x11 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
                  RenderSVGPath {line} at (377,184) size 10x11 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
              RenderSVGContainer {use} at (363,184) size 11x11 [transform={m=((1.00,0.00)(0.00,1.00)) t=(371.50,8.50)}]
                RenderSVGViewportContainer {svg} at (363,184) size 11x11
                  RenderSVGRect {rect} at (363,184) size 11x11 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGContainer {use} at (350,185) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(354.50,8.50)}]
                RenderSVGViewportContainer {svg} at (350,185) size 10x10
                  RenderSVGRect {rect} at (350,185) size 10x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGPath {line} at (350,193) size 10x2 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
          RenderSVGContainer {g} at (312,377) size 158x143 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,300.00)}]
            RenderSVGContainer {g} at (312,377) size 158x143
              RenderSVGRect {rect} at (312,377) size 158x143 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=200.00] [height=180.00]
              RenderSVGContainer {g} at (320,399) size 136x63
                RenderSVGText {text} at (10,27) size 173x80 contains 1 chunk(s)
                  RenderSVGInlineText {#text} at (0,0) size 171x16
                    chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 26 width 170.24: "This window has a callback"
                  RenderSVGTSpan {tspan} at (0,0) size 157x16
                    RenderSVGInlineText {#text} at (0,16) size 157x16
                      chunk 1 text run 1 at (10.00,56.00) startOffset 0 endOffset 25 width 156.16: "function indicating mouse"
                  RenderSVGTSpan {tspan} at (0,0) size 173x16
                    RenderSVGInlineText {#text} at (0,32) size 173x16
                      chunk 1 text run 1 at (10.00,72.00) startOffset 0 endOffset 26 width 172.80: "movements in the statusbar"
                  RenderSVGTSpan {tspan} at (0,0) size 122x17
                    RenderSVGInlineText {#text} at (0,47) size 122x16
                      chunk 1 text run 1 at (10.00,88.00) startOffset 0 endOffset 19 width 121.60: "and alerting window"
                  RenderSVGTSpan {tspan} at (0,0) size 43x17
                    RenderSVGInlineText {#text} at (0,63) size 43x16
                      chunk 1 text run 1 at (10.00,104.00) startOffset 0 endOffset 6 width 42.24: "events"
              RenderSVGRect {rect} at (312,508) size 158x12 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=167.00] [width=200.00] [height=13.00]
              RenderSVGText {text} at (3,168) size 113x12 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 113x12
                  chunk 1 text run 1 at (3.00,177.00) startOffset 0 endOffset 27 width 112.64: "Callback function is active"
            RenderSVGContainer {g} at (312,377) size 158x15
              RenderSVGRect {rect} at (312,377) size 158x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=200.00] [height=17.00]
              RenderSVGText {text} at (3,1) size 86x16 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 86x16
                  chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 12 width 85.76: "Small Window"
              RenderSVGContainer {use} at (455,380) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(188.50,8.50)}]
                RenderSVGViewportContainer {svg} at (455,380) size 10x10
                  RenderSVGRect {rect} at (455,380) size 10x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGPath {line} at (455,380) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
                  RenderSVGPath {line} at (455,380) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
              RenderSVGContainer {use} at (441,380) size 11x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(171.50,8.50)}]
                RenderSVGViewportContainer {svg} at (441,380) size 11x10
                  RenderSVGRect {rect} at (441,380) size 11x10 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGContainer {use} at (428,380) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(154.50,8.50)}]
                RenderSVGViewportContainer {svg} at (428,380) size 10x10
                  RenderSVGRect {rect} at (428,380) size 10x10 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
                  RenderSVGPath {line} at (428,388) size 10x2 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
          RenderSVGContainer {g} at (39,476) size 119x48 [transform={m=((1.00,0.00)(0.00,1.00)) t=(1.00,426.00)}]
            RenderSVGContainer {g} at (39,476) size 119x48
              RenderSVGRect {rect} at (39,476) size 119x48 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#F0F8FF]}] [x=0.00] [y=0.00] [width=150.00] [height=60.00]
              RenderSVGContainer {g} at (43,481) size 115x36
                RenderSVGText {text} at (5,5) size 146x46 contains 1 chunk(s)
                  RenderSVGInlineText {#text} at (0,0) size 135x13
                    chunk 1 text run 1 at (5.00,16.00) startOffset 0 endOffset 24 width 134.40: "This is a minimal window"
                  RenderSVGTSpan {tspan} at (0,0) size 146x13
                    RenderSVGInlineText {#text} at (0,16) size 146x13
                      chunk 1 text run 1 at (5.00,32.00) startOffset 0 endOffset 29 width 145.92: "without title and status bar."
                  RenderSVGTSpan {tspan} at (0,0) size 121x13
                    RenderSVGInlineText {#text} at (0,32) size 121x13
                      chunk 1 text run 1 at (5.00,48.00) startOffset 0 endOffset 23 width 120.32: "it is also not moveable"
            RenderSVGContainer {g} at (0,0) size 0x0
        RenderSVGContainer {g} at (38,143) size 549x15
          RenderSVGRect {rect} at (38,143) size 549x15 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#DCDCDC]}] [x=0.00] [y=0.00] [width=700.00] [height=17.00]
          RenderSVGText {text} at (3,1) size 72x16 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 72x16
              chunk 1 text run 1 at (3.00,14.00) startOffset 0 endOffset 10 width 71.68: "Big Window"
          RenderSVGContainer {use} at (572,145) size 10x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(688.50,8.50)}]
            RenderSVGViewportContainer {svg} at (572,145) size 10x10
              RenderSVGRect {rect} at (572,146) size 10x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGPath {line} at (572,145) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=-5.50] [y1=-5.50] [x2=5.50] [y2=5.50]
              RenderSVGPath {line} at (572,145) size 10x10 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=-5.50] [x2=-5.50] [y2=5.50]
          RenderSVGContainer {use} at (558,145) size 11x11 [transform={m=((1.00,0.00)(0.00,1.00)) t=(671.50,8.50)}]
            RenderSVGViewportContainer {svg} at (558,145) size 11x11
              RenderSVGRect {rect} at (558,145) size 11x11 [stroke={[type=SOLID] [color=#696969]}] [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
          RenderSVGContainer {use} at (546,146) size 9x10 [transform={m=((1.00,0.00)(0.00,1.00)) t=(654.50,8.50)}]
            RenderSVGViewportContainer {svg} at (546,146) size 9x10
              RenderSVGRect {rect} at (546,146) size 9x9 [x=-5.50] [y=-5.50] [width=11.00] [height=11.00]
              RenderSVGPath {line} at (546,154) size 9x2 [stroke={[type=SOLID] [color=#696969]}] [fill={[type=SOLID] [color=#000000]}] [x1=5.50] [y1=5.50] [x2=-5.50] [y2=5.50]
