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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (122,17) size 190x271
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceMarker {marker} [id="marker1"] [markerUnits=strokeWidth] [ref at (25,25)] [angle=0.00]
          RenderSVGRect {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#800080]}] [x=20.00] [y=20.00] [width=10.00] [height=10.00]
        RenderSVGResourceMarker {marker} [id="marker2"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=auto]
          RenderSVGPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M 0 -5 L 5 5 L -5 5 Z"]
        RenderSVGResourceMarker {marker} [id="markerStart"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
          RenderSVGRect {rect} at (0,0) size 2x2 [fill={[type=SOLID] [color=#800080]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGResourceMarker {marker} [id="markerMiddle"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
          RenderSVGEllipse {circle} at (0,0) size 2x2 [fill={[type=SOLID] [color=#008000]}] [cx=5.00] [cy=5.00] [r=5.00]
        RenderSVGResourceMarker {marker} [id="markerEnd"] [markerUnits=strokeWidth] [ref at (5,5)] [angle=0.00]
          RenderSVGPath {path} at (0,0) size 2x2 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
      RenderSVGText {text} at (170,17) size 89x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 89x16
          chunk 1 text run 1 at (170.00,30.00) startOffset 0 endOffset 13 width 88.68: "Basic Markers"
      RenderSVGPath {path} at (122,32) size 66x66 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=marker1] [middle marker=marker1] [end marker=marker1] [data="M 130 40 L 180 40 L 180 90"]
      RenderSVGContainer {g} at (242,32) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,36) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 40 L 180 40 L 180 90"]
        RenderSVGContainer {g} at (242,32) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,32.00)}]
          RenderSVGRect {rect} at (242,32) size 16x16 [fill={[type=SOLID] [color=#800080]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,32) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,32.00)}]
          RenderSVGRect {rect} at (292,32) size 16x16 [fill={[type=SOLID] [color=#800080]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,82) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,82.00)}]
          RenderSVGRect {rect} at (292,82) size 16x16 [fill={[type=SOLID] [color=#800080]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
      RenderSVGText {text} at (145,112) size 135x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 135x16
          chunk 1 text run 1 at (145.00,125.00) startOffset 0 endOffset 21 width 134.63: "Start, Middle and End"
      RenderSVGPath {path} at (122,127) size 66x66 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=markerStart] [middle marker=markerMiddle] [end marker=markerEnd] [data="M 130 135 L 180 135 L 180 185"]
      RenderSVGContainer {g} at (242,127) size 66x66 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,131) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 135 L 180 135 L 180 185"]
        RenderSVGContainer {g} at (242,127) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,127.00)}]
          RenderSVGRect {rect} at (242,127) size 16x16 [fill={[type=SOLID] [color=#800080]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGContainer {g} at (292,127) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,127.00)}]
          RenderSVGEllipse {circle} at (292,127) size 16x16 [fill={[type=SOLID] [color=#008000]}] [cx=5.00] [cy=5.00] [r=5.00]
        RenderSVGContainer {g} at (292,177) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(172.00,177.00)}]
          RenderSVGPath {path} at (292,177) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
      RenderSVGText {text} at (145,207) size 135x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 135x16
          chunk 1 text run 1 at (145.00,220.00) startOffset 0 endOffset 21 width 134.62: "Automatic Orientation"
      RenderSVGPath {path} at (122,218) size 70x70 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [start marker=marker2] [middle marker=marker2] [end marker=marker2] [data="M 130 230 L 180 230 L 180 280"]
      RenderSVGContainer {g} at (242,218) size 70x70 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,0.00)}]
        RenderSVGPath {path} at (250,226) size 54x54 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [data="M 130 230 L 180 230 L 180 280"]
        RenderSVGContainer {g} at (242,222) size 16x16 [transform={m=((1.60,0.00)(0.00,1.60)) t=(122.00,222.00)}]
          RenderSVGPath {path} at (242,222) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
        RenderSVGContainer {g} at (288,218) size 24x24 [transform={m=((1.13,1.13)(-1.13,1.13)) t=(180.00,218.69)}]
          RenderSVGPath {path} at (288,218) size 24x24 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
        RenderSVGContainer {g} at (292,272) size 16x16 [transform={m=((0.00,1.60)(-1.60,0.00)) t=(188.00,272.00)}]
          RenderSVGPath {path} at (292,272) size 16x16 [fill={[type=SOLID] [color=#0000FF]}] [data="M 5 0 L 10 10 L 0 10 Z"]
    RenderSVGContainer {g} at (10,310) size 230x38
      RenderSVGText {text} at (10,310) size 230x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 230x37
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.47: "$Revision: 1.9 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
