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
        RenderSVGPath {line} at (0,0) size 2x8 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker1_hueGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=0.17] [color=#FFFF00]
        RenderSVGGradientStop {stop} [offset=0.33] [color=#00FF00]
        RenderSVGGradientStop {stop} [offset=0.50] [color=#00FFFF]
        RenderSVGGradientStop {stop} [offset=0.67] [color=#0000FF]
        RenderSVGGradientStop {stop} [offset=0.83] [color=#FF00FF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FF0000]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker1_satGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FF00]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker1_valGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FF00]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker1_alphaGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#00FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FF00]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker2_hueGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#80FF00]
        RenderSVGGradientStop {stop} [offset=0.20] [color=#00FF00]
        RenderSVGGradientStop {stop} [offset=0.40] [color=#00FF80]
        RenderSVGGradientStop {stop} [offset=0.60] [color=#00FFFF]
        RenderSVGGradientStop {stop} [offset=0.80] [color=#0080FF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#0000FF]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker2_satGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FFFF]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker2_alphaGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#00FFFF00]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FFFF]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker3_hueGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=0.17] [color=#FF8000]
        RenderSVGGradientStop {stop} [offset=0.33] [color=#FFFF00]
        RenderSVGGradientStop {stop} [offset=0.50] [color=#80FF00]
        RenderSVGGradientStop {stop} [offset=0.67] [color=#00FF00]
        RenderSVGGradientStop {stop} [offset=0.83] [color=#00FF80]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#00FFFF]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker3_satGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FFFFFF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FF0000]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker3_valGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FF0000]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker4_hueGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=0.17] [color=#FFFF00]
        RenderSVGGradientStop {stop} [offset=0.33] [color=#00FF00]
        RenderSVGGradientStop {stop} [offset=0.50] [color=#00FFFF]
        RenderSVGGradientStop {stop} [offset=0.67] [color=#0000FF]
        RenderSVGGradientStop {stop} [offset=0.83] [color=#FF00FF]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FF0000]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker4_satGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#787878]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#780000]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker4_valGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#000000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFFFFF]
      RenderSVGResourceLinearGradient {linearGradient} [id="colourPicker4_alphaGradient"] [gradientUnits=objectBoundingBox] [start=(0,0)] [end=(1,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#78787800]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#787878]
    RenderSVGRect {rect} at (0,0) size 800x600 [fill={[type=SOLID] [color=#FFFFFF]}] [x=-2000.00] [y=-2000.00] [width=6000.00] [height=6000.00]
    RenderSVGContainer {g} at (156,156) size 626x329
      RenderSVGContainer {g} at (156,312) size 235x95
        RenderSVGRect {rect} at (156,312) size 235x95 [fill={[type=SOLID] [color=#DCDCDC]}] [x=200.00] [y=400.00] [width=300.00] [height=120.00]
        RenderSVGRect {rect} at (165,321) size 156x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker1_hueGradient"]}] [x=212.00] [y=411.85] [width=198.00] [height=7.50]
        RenderSVGPath {line} at (159,318) size 168x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=212.00] [y1=415.60] [x2=410.00] [y2=415.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=212.00] [y1=415.60] [x2=410.00] [y2=415.60]
        RenderSVGContainer {use} at (215,316) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(278.00,415.60)}]
          RenderSVGViewportContainer {svg} at (215,316) size 5x17
            RenderSVGPath {line} at (215,316) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (416,409) size 73x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 73x13
            chunk 1 text run 1 at (416.00,420.10) startOffset 0 endOffset 13 width 72.96: "Hue (0\x{B0}-360\x{B0})"
        RenderSVGRect {rect} at (186,351) size 42x35 [stroke={[type=SOLID] [color=#000000] [opacity=0.70] [stroke width=7.50]}] [x=242.00] [y=454.00] [width=45.00] [height=36.00]
        RenderSVGRect {rect} at (165,340) size 36x29 [fill={[type=SOLID] [color=#00FF00]}] [x=212.00] [y=436.00] [width=45.00] [height=36.00]
        RenderSVGRect {rect} at (235,340) size 86x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker1_satGradient"]}] [x=302.00] [y=435.85] [width=108.00] [height=7.50]
        RenderSVGPath {line} at (230,337) size 97x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=302.00] [y1=439.60] [x2=410.00] [y2=439.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=302.00] [y1=439.60] [x2=410.00] [y2=439.60]
        RenderSVGContainer {use} at (318,335) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,439.60)}]
          RenderSVGViewportContainer {svg} at (318,335) size 5x17
            RenderSVGPath {line} at (318,335) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (416,433) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 text run 1 at (416.00,444.10) startOffset 0 endOffset 14 width 75.52: "Saturation (%)"
        RenderSVGRect {rect} at (235,359) size 86x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker1_valGradient"]}] [x=302.00] [y=459.85] [width=108.00] [height=7.50]
        RenderSVGPath {line} at (230,356) size 97x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=302.00] [y1=463.60] [x2=410.00] [y2=463.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=302.00] [y1=463.60] [x2=410.00] [y2=463.60]
        RenderSVGContainer {use} at (318,354) size 5x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,463.60)}]
          RenderSVGViewportContainer {svg} at (318,354) size 5x16
            RenderSVGPath {line} at (318,354) size 5x16 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (416,457) size 52x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 52x13
            chunk 1 text run 1 at (416.00,468.10) startOffset 0 endOffset 9 width 51.20: "Value (%)"
        RenderSVGRect {rect} at (235,378) size 86x6 [fill={[type=LINEAR-GRADIENT] [id="colourPicker1_alphaGradient"]}] [x=302.00] [y=483.85] [width=108.00] [height=7.50]
        RenderSVGPath {line} at (230,375) size 97x12 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=302.00] [y1=487.60] [x2=410.00] [y2=487.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=302.00] [y1=487.60] [x2=410.00] [y2=487.60]
        RenderSVGContainer {use} at (318,373) size 5x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(410.00,487.60)}]
          RenderSVGViewportContainer {svg} at (318,373) size 5x16
            RenderSVGPath {line} at (318,373) size 5x16 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (416,481) size 63x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 63x13
            chunk 1 text run 1 at (416.00,492.10) startOffset 0 endOffset 11 width 62.72: "Opacity (%)"
        RenderSVGText {text} at (212,503) size 240x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 240x13
            chunk 1 text run 1 at (212.00,514.00) startOffset 0 endOffset 40 width 239.36: "RGBA: 0,255,0,100; HSVA: 120,100,100,100"
      RenderSVGContainer {g} at (390,156) size 235x79
        RenderSVGRect {rect} at (390,156) size 235x79 [fill={[type=SOLID] [color=#DCDCDC]}] [x=500.00] [y=200.00] [width=300.00] [height=100.00]
        RenderSVGRect {rect} at (400,163) size 155x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker3_hueGradient"]}] [x=512.00] [y=209.25] [width=198.00] [height=7.50]
        RenderSVGPath {line} at (394,160) size 167x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=512.00] [y1=213.00] [x2=710.00] [y2=213.00]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=512.00] [y1=213.00] [x2=710.00] [y2=213.00]
        RenderSVGContainer {use} at (398,158) size 4x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(512.00,213.00)}]
          RenderSVGViewportContainer {svg} at (398,158) size 4x17
            RenderSVGPath {line} at (398,158) size 4x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,207) size 73x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 73x13
            chunk 1 text run 1 at (716.00,217.50) startOffset 0 endOffset 13 width 72.96: "Hue (0\x{B0}-180\x{B0})"
        RenderSVGRect {rect} at (420,188) size 42x30 [stroke={[type=SOLID] [color=#787878] [stroke width=7.50]}] [x=542.00] [y=245.00] [width=45.00] [height=30.00]
        RenderSVGRect {rect} at (400,179) size 36x25 [fill={[type=SOLID] [color=#FF0000]}] [x=512.00] [y=230.00] [width=45.00] [height=30.00]
        RenderSVGRect {rect} at (470,184) size 85x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker3_satGradient"]}] [x=602.00] [y=235.92] [width=108.00] [height=7.50]
        RenderSVGPath {line} at (464,181) size 97x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=602.00] [y1=239.67] [x2=710.00] [y2=239.67]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=602.00] [y1=239.67] [x2=710.00] [y2=239.67]
        RenderSVGContainer {use} at (552,179) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(710.00,239.67)}]
          RenderSVGViewportContainer {svg} at (552,179) size 5x17
            RenderSVGPath {line} at (552,179) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,233) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 text run 1 at (716.00,244.17) startOffset 0 endOffset 14 width 75.52: "Saturation (%)"
        RenderSVGRect {rect} at (470,205) size 85x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker3_valGradient"]}] [x=602.00] [y=262.58] [width=108.00] [height=7.50]
        RenderSVGPath {line} at (464,202) size 97x12 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=602.00] [y1=266.33] [x2=710.00] [y2=266.33]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=602.00] [y1=266.33] [x2=710.00] [y2=266.33]
        RenderSVGContainer {use} at (552,200) size 5x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(710.00,266.33)}]
          RenderSVGViewportContainer {svg} at (552,200) size 5x16
            RenderSVGPath {line} at (552,200) size 5x16 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,260) size 52x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 52x13
            chunk 1 text run 1 at (716.00,270.83) startOffset 0 endOffset 9 width 51.20: "Value (%)"
        RenderSVGText {text} at (512,284) size 227x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 227x13
            chunk 1 text run 1 at (512.00,295.00) startOffset 0 endOffset 38 width 226.56: "RGBA: 255,0,0,100; HSVA: 0,100,100,100"
      RenderSVGContainer {g} at (546,390) size 236x95
        RenderSVGRect {rect} at (546,390) size 236x95 [fill={[type=SOLID] [color=#DCDCDC]}] [x=700.00] [y=500.00] [width=300.00] [height=120.00]
        RenderSVGRect {rect} at (556,399) size 155x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker4_hueGradient"]}] [x=712.00] [y=511.85] [width=198.00] [height=7.50]
        RenderSVGPath {line} at (550,396) size 167x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=712.00] [y1=515.60] [x2=910.00] [y2=515.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=712.00] [y1=515.60] [x2=910.00] [y2=515.60]
        RenderSVGContainer {use} at (554,394) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(712.00,515.60)}]
          RenderSVGViewportContainer {svg} at (554,394) size 5x17
            RenderSVGPath {line} at (554,394) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (916,509) size 73x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 73x13
            chunk 1 text run 1 at (916.00,520.10) startOffset 0 endOffset 13 width 72.96: "Hue (0\x{B0}-360\x{B0})"
        RenderSVGRect {rect} at (553,415) size 42x35 [stroke={[type=SOLID] [color=#787878] [stroke width=7.50]}] [x=712.00] [y=536.00] [width=45.00] [height=36.00]
        RenderSVGRect {rect} at (603,418) size 108x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker4_satGradient"]}] [x=772.00] [y=535.85] [width=138.00] [height=7.50]
        RenderSVGPath {line} at (597,415) size 120x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=772.00] [y1=539.60] [x2=910.00] [y2=539.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=772.00] [y1=539.60] [x2=910.00] [y2=539.60]
        RenderSVGContainer {use} at (601,413) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(772.00,539.60)}]
          RenderSVGViewportContainer {svg} at (601,413) size 5x17
            RenderSVGPath {line} at (601,413) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (916,533) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 text run 1 at (916.00,544.10) startOffset 0 endOffset 14 width 75.52: "Saturation (%)"
        RenderSVGRect {rect} at (603,437) size 108x7 [fill={[type=LINEAR-GRADIENT] [id="colourPicker4_valGradient"]}] [x=772.00] [y=559.85] [width=138.00] [height=7.50]
        RenderSVGPath {line} at (597,434) size 120x13 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=772.00] [y1=563.60] [x2=910.00] [y2=563.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=772.00] [y1=563.60] [x2=910.00] [y2=563.60]
        RenderSVGContainer {use} at (651,432) size 5x17 [transform={m=((1.00,0.00)(0.00,1.00)) t=(836.86,563.60)}]
          RenderSVGViewportContainer {svg} at (651,432) size 5x17
            RenderSVGPath {line} at (651,432) size 5x17 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (916,557) size 52x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 52x13
            chunk 1 text run 1 at (916.00,568.10) startOffset 0 endOffset 9 width 51.20: "Value (%)"
        RenderSVGRect {rect} at (603,456) size 108x6 [fill={[type=LINEAR-GRADIENT] [id="colourPicker4_alphaGradient"]}] [x=772.00] [y=583.85] [width=138.00] [height=7.50]
        RenderSVGPath {line} at (597,453) size 120x12 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=772.00] [y1=587.60] [x2=910.00] [y2=587.60]
        RenderSVGPath {line} at (0,0) size 0x0 [x1=772.00] [y1=587.60] [x2=910.00] [y2=587.60]
        RenderSVGContainer {use} at (708,451) size 5x16 [transform={m=((1.00,0.00)(0.00,1.00)) t=(910.00,587.60)}]
          RenderSVGViewportContainer {svg} at (708,451) size 5x16
            RenderSVGPath {line} at (708,451) size 5x16 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (916,581) size 63x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 63x13
            chunk 1 text run 1 at (916.00,592.10) startOffset 0 endOffset 11 width 62.72: "Opacity (%)"
        RenderSVGText {text} at (712,603) size 233x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 233x13
            chunk 1 text run 1 at (712.00,614.00) startOffset 0 endOffset 39 width 232.96: "RGBA: 120,120,120,100; HSVA: 0,0,47,100"
    RenderSVGContainer {g} at (81,63) size 270x270 [transform={m=((0.71,0.71)(-0.71,0.71)) t=(0.00,-400.00)}]
      RenderSVGRect {rect} at (104,63) size 239x238 [fill={[type=SOLID] [color=#00FFFF] [opacity=0.50]}] [x=490.00] [y=190.00] [width=320.00] [height=110.00]
      RenderSVGText {text} at (500,304) size 326x40 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 309x20
          chunk 1 text run 1 at (500.00,320.00) startOffset 0 endOffset 41 width 308.48: "This colourPicker has a callBack function"
        RenderSVGTSpan {tspan} at (0,0) size 326x20
          RenderSVGInlineText {#text} at (0,19) size 326x20
            chunk 1 text run 1 at (500.00,339.20) startOffset 0 endOffset 42 width 325.12: "attached that changes the background color"
      RenderSVGContainer {g} at (116,74) size 216x216
        RenderSVGRect {rect} at (116,74) size 216x216 [fill={[type=SOLID] [color=#DCDCDC]}] [x=500.00] [y=200.00] [width=300.00] [height=90.00]
        RenderSVGRect {rect} at (163,85) size 115x114 [fill={[type=LINEAR-GRADIENT] [id="colourPicker2_hueGradient"]}] [x=512.00] [y=207.95] [width=198.00] [height=7.50]
        RenderSVGPath {line} at (157,79) size 127x126 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=512.00] [y1=211.70] [x2=710.00] [y2=211.70]
        RenderSVGPath {line} at (165,87) size 111x110 [x1=512.00] [y1=211.70] [x2=710.00] [y2=211.70]
        RenderSVGContainer {use} at (224,146) size 15x14 [transform={m=((1.00,0.00)(0.00,1.00)) t=(630.80,211.70)}]
          RenderSVGViewportContainer {svg} at (224,146) size 15x14
            RenderSVGPath {line} at (224,146) size 15x14 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,205) size 80x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 80x13
            chunk 1 text run 1 at (716.00,216.20) startOffset 0 endOffset 14 width 79.36: "Hue (90\x{B0}-240\x{B0})"
        RenderSVGRect {rect} at (142,95) size 41x41 [fill={[type=SOLID] [color=#00FFFF] [opacity=0.50]}] [x=512.00] [y=227.00] [width=45.00] [height=27.00]
        RenderSVGRect {rect} at (183,131) size 82x82 [fill={[type=LINEAR-GRADIENT] [id="colourPicker2_satGradient"]}] [x=572.00] [y=231.95] [width=138.00] [height=7.50]
        RenderSVGPath {line} at (177,125) size 94x94 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=572.00] [y1=235.70] [x2=710.00] [y2=235.70]
        RenderSVGPath {line} at (185,133) size 78x77 [x1=572.00] [y1=235.70] [x2=710.00] [y2=235.70]
        RenderSVGContainer {use} at (255,203) size 14x14 [transform={m=((1.00,0.00)(0.00,1.00)) t=(710.00,235.70)}]
          RenderSVGViewportContainer {svg} at (255,203) size 14x14
            RenderSVGPath {line} at (255,203) size 14x14 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,229) size 76x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 76x13
            chunk 1 text run 1 at (716.00,240.20) startOffset 0 endOffset 14 width 75.52: "Saturation (%)"
        RenderSVGRect {rect} at (170,144) size 81x82 [fill={[type=LINEAR-GRADIENT] [id="colourPicker2_alphaGradient"]}] [x=572.00] [y=255.95] [width=138.00] [height=7.50]
        RenderSVGPath {line} at (164,138) size 94x94 [stroke={[type=SOLID] [color=#000000] [opacity=0.00] [stroke width=15.00] [line cap=SQUARE]}] [fill={[type=SOLID] [color=#000000] [opacity=0.00]}] [x1=572.00] [y1=259.70] [x2=710.00] [y2=259.70]
        RenderSVGPath {line} at (172,146) size 77x78 [x1=572.00] [y1=259.70] [x2=710.00] [y2=259.70]
        RenderSVGContainer {use} at (203,178) size 15x14 [transform={m=((1.00,0.00)(0.00,1.00)) t=(641.00,259.70)}]
          RenderSVGViewportContainer {svg} at (203,178) size 15x14
            RenderSVGPath {line} at (203,178) size 15x14 [stroke={[type=SOLID] [color=#696969] [stroke width=5.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-10.00] [x2=0.00] [y2=10.00]
        RenderSVGText {text} at (716,253) size 63x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 63x13
            chunk 1 text run 1 at (716.00,264.20) startOffset 0 endOffset 11 width 62.72: "Opacity (%)"
        RenderSVGText {text} at (512,275) size 240x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 240x13
            chunk 1 text run 1 at (512.00,285.50) startOffset 0 endOffset 40 width 239.36: "RGBA: 0,255,255,50; HSVA: 180,100,100,50"
    RenderSVGContainer {g} at (389,132) size 288x274
      RenderSVGContainer {g} at (397,344) size 89x18
        RenderSVGRect {rect} at (397,344) size 87x17 [fill={[type=SOLID] [color=#FFFFFF]}] [x=509.00] [y=441.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (399,346) size 87x16 [fill={[type=SOLID] [color=#696969]}] [x=511.00] [y=443.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (398,345) size 87x16 [fill={[type=SOLID] [color=#DCDCDC]}] [x=510.00] [y=442.00] [width=110.00] [height=20.00]
        RenderSVGText {text} at (517,447) size 96x13 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 96x13
            RenderSVGInlineText {#text} at (0,0) size 96x13
              chunk 1 (middle anchor) text run 1 at (517.00,457.40) startOffset 0 endOffset 17 width 96.00: "Hide ColourPicker"
      RenderSVGContainer {g} at (397,366) size 89x18
        RenderSVGRect {rect} at (397,366) size 87x17 [fill={[type=SOLID] [color=#FFFFFF]}] [x=509.00] [y=469.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (399,367) size 87x17 [fill={[type=SOLID] [color=#696969]}] [x=511.00] [y=471.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (398,367) size 87x16 [fill={[type=SOLID] [color=#DCDCDC]}] [x=510.00] [y=470.00] [width=110.00] [height=20.00]
        RenderSVGText {text} at (522,475) size 86x13 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 86x13
            RenderSVGInlineText {#text} at (0,0) size 86x13
              chunk 1 (middle anchor) text run 1 at (522.12,485.40) startOffset 0 endOffset 15 width 85.76: "Set Random Fill"
      RenderSVGContainer {g} at (397,388) size 89x18
        RenderSVGRect {rect} at (397,388) size 87x16 [fill={[type=SOLID] [color=#FFFFFF]}] [x=509.00] [y=497.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (399,389) size 87x17 [fill={[type=SOLID] [color=#696969]}] [x=511.00] [y=499.00] [width=110.00] [height=20.00]
        RenderSVGRect {rect} at (398,389) size 87x16 [fill={[type=SOLID] [color=#DCDCDC]}] [x=510.00] [y=498.00] [width=110.00] [height=20.00]
        RenderSVGText {text} at (512,503) size 106x13 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 105x13
            RenderSVGInlineText {#text} at (0,0) size 105x13
              chunk 1 (middle anchor) text run 1 at (512.52,513.40) startOffset 0 endOffset 17 width 104.96: "Set Random Stroke"
      RenderSVGContainer {g} at (389,132) size 144x18
        RenderSVGRect {rect} at (389,132) size 142x16 [fill={[type=SOLID] [color=#FFFFFF]}] [x=499.00] [y=169.00] [width=180.00] [height=20.00]
        RenderSVGRect {rect} at (391,133) size 142x17 [fill={[type=SOLID] [color=#696969]}] [x=501.00] [y=171.00] [width=180.00] [height=20.00]
        RenderSVGRect {rect} at (390,132) size 142x17 [fill={[type=SOLID] [color=#DCDCDC]}] [x=500.00] [y=170.00] [width=180.00] [height=20.00]
        RenderSVGText {text} at (504,175) size 172x13 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 171x13
            RenderSVGInlineText {#text} at (0,0) size 171x13
              chunk 1 (middle anchor) text run 1 at (504.88,185.40) startOffset 0 endOffset 29 width 170.24: "Randomly Resize Colour Picker"
      RenderSVGContainer {g} at (534,132) size 143x18
        RenderSVGRect {rect} at (534,132) size 141x16 [fill={[type=SOLID] [color=#FFFFFF]}] [x=684.00] [y=169.00] [width=180.00] [height=20.00]
        RenderSVGRect {rect} at (535,133) size 142x17 [fill={[type=SOLID] [color=#696969]}] [x=686.00] [y=171.00] [width=180.00] [height=20.00]
        RenderSVGRect {rect} at (535,132) size 141x17 [fill={[type=SOLID] [color=#DCDCDC]}] [x=685.00] [y=170.00] [width=180.00] [height=20.00]
        RenderSVGText {text} at (693,175) size 164x13 contains 1 chunk(s)
          RenderSVGTSpan {tspan} at (0,0) size 163x13
            RenderSVGInlineText {#text} at (0,0) size 163x13
              chunk 1 (middle anchor) text run 1 at (693.72,185.40) startOffset 0 endOffset 27 width 162.56: "Randomly Move Colour Picker"
    RenderSVGContainer {g} at (358,389) size 22x15
      RenderSVGRect {rect} at (358,389) size 21x13 [fill={[type=SOLID] [color=#FFFFFF]}] [x=459.00] [y=498.00] [width=25.00] [height=16.00]
      RenderSVGRect {rect} at (360,390) size 20x14 [fill={[type=SOLID] [color=#696969]}] [x=461.00] [y=500.00] [width=25.00] [height=16.00]
      RenderSVGRect {rect} at (359,389) size 20x14 [fill={[type=SOLID] [color=#DCDCDC]}] [x=460.00] [y=499.00] [width=25.00] [height=16.00]
      RenderSVGText {text} at (464,502) size 17x13 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 17x13
          RenderSVGInlineText {#text} at (0,0) size 17x13
            chunk 1 (middle anchor) text run 1 at (464.18,512.40) startOffset 0 endOffset 2 width 16.64: "OK"
