From tpapp at common-lisp.net Mon Aug 13 11:52:22 2007 From: tpapp at common-lisp.net (tpapp at common-lisp.net) Date: Mon, 13 Aug 2007 07:52:22 -0400 (EDT) Subject: [cl-colors-cvs] r1 - Message-ID: <20070813115222.ED53F5B06F@common-lisp.net> Author: tpapp Date: Mon Aug 13 07:52:20 2007 New Revision: 1 Added: Makefile README cl-colors.asd colornames.lisp colors.lisp package.lisp parse-x11.lisp test.lisp Log: initial import Added: Makefile ============================================================================== --- (empty file) +++ Makefile Mon Aug 13 07:52:20 2007 @@ -0,0 +1,8 @@ +## note: this works on my system, you don't need to run it because the +## distribution contains the generated file + +SBCL=/usr/bin/sbcl + +colornames.lisp: /usr/share/X11/rgb.txt parse-x11.lisp + rm -f colornames.lisp + $(SBCL) --load parse-x11.lisp --eval '(quit)' Added: README ============================================================================== --- (empty file) +++ README Mon Aug 13 07:52:20 2007 @@ -0,0 +1,6 @@ +The purpose of this simple package to provide named colors that can be +used by other packages. Each color is stored in a structure, and +named colors are defined as constants (eg +black+, +blue+, +slateblue+ +etc). Currently, the colors were converted from X11's rgb.txt, but +may be expanded in the future. The package of course doesn't depend +on X11, the converted file is included. Added: cl-colors.asd ============================================================================== --- (empty file) +++ cl-colors.asd Mon Aug 13 07:52:20 2007 @@ -0,0 +1,9 @@ +(defsystem cl-colors + :description "Simple color library for Common Lisp" + :version "0.1" + :author "Tamas K Papp" + :license "GPL" + :components ((:file "package") + (:file "colors" :depends-on ("package")) + (:file "colornames" :depends-on ("colors"))) + :depends-on (:cl-utilities)) Added: colornames.lisp ============================================================================== --- (empty file) +++ colornames.lisp Mon Aug 13 07:52:20 2007 @@ -0,0 +1,670 @@ +;;;; This file was generated automatically by parse-x11.lisp +;;;; Please do not edit directly. +(in-package :cl-colors) +(defmacro define-rgb-color (name red green blue) + `(progn + (defconstant ,name (if (boundp ',name) + (symbol-value ',name) + (make-instance 'rgb + :red ,red + :green ,green + :blue ,blue))) + (export ',name))) +(define-rgb-color +snow+ 1.0d0 0.9803921568627451d0 0.9803921568627451d0) +(define-rgb-color +ghostwhite+ 0.9725490196078431d0 0.9725490196078431d0 1.0d0) +(define-rgb-color +whitesmoke+ 0.9607843137254902d0 0.9607843137254902d0 0.9607843137254902d0) +(define-rgb-color +gainsboro+ 0.8627450980392157d0 0.8627450980392157d0 0.8627450980392157d0) +(define-rgb-color +floralwhite+ 1.0d0 0.9803921568627451d0 0.9411764705882353d0) +(define-rgb-color +oldlace+ 0.9921568627450981d0 0.9607843137254902d0 0.9019607843137255d0) +(define-rgb-color +linen+ 0.9803921568627451d0 0.9411764705882353d0 0.9019607843137255d0) +(define-rgb-color +antiquewhite+ 0.9803921568627451d0 0.9215686274509803d0 0.8431372549019608d0) +(define-rgb-color +papayawhip+ 1.0d0 0.9372549019607843d0 0.8352941176470589d0) +(define-rgb-color +blanchedalmond+ 1.0d0 0.9215686274509803d0 0.803921568627451d0) +(define-rgb-color +bisque+ 1.0d0 0.8941176470588236d0 0.7686274509803922d0) +(define-rgb-color +peachpuff+ 1.0d0 0.8549019607843137d0 0.7254901960784313d0) +(define-rgb-color +navajowhite+ 1.0d0 0.8705882352941177d0 0.6784313725490196d0) +(define-rgb-color +moccasin+ 1.0d0 0.8941176470588236d0 0.7098039215686275d0) +(define-rgb-color +cornsilk+ 1.0d0 0.9725490196078431d0 0.8627450980392157d0) +(define-rgb-color +ivory+ 1.0d0 1.0d0 0.9411764705882353d0) +(define-rgb-color +lemonchiffon+ 1.0d0 0.9803921568627451d0 0.803921568627451d0) +(define-rgb-color +seashell+ 1.0d0 0.9607843137254902d0 0.9333333333333333d0) +(define-rgb-color +honeydew+ 0.9411764705882353d0 1.0d0 0.9411764705882353d0) +(define-rgb-color +mintcream+ 0.9607843137254902d0 1.0d0 0.9803921568627451d0) +(define-rgb-color +azure+ 0.9411764705882353d0 1.0d0 1.0d0) +(define-rgb-color +aliceblue+ 0.9411764705882353d0 0.9725490196078431d0 1.0d0) +(define-rgb-color +lavender+ 0.9019607843137255d0 0.9019607843137255d0 0.9803921568627451d0) +(define-rgb-color +lavenderblush+ 1.0d0 0.9411764705882353d0 0.9607843137254902d0) +(define-rgb-color +mistyrose+ 1.0d0 0.8941176470588236d0 0.8823529411764706d0) +(define-rgb-color +white+ 1.0d0 1.0d0 1.0d0) +(define-rgb-color +black+ 0.0d0 0.0d0 0.0d0) +(define-rgb-color +darkslategray+ 0.1843137254901961d0 0.30980392156862746d0 0.30980392156862746d0) +(define-rgb-color +darkslategrey+ 0.1843137254901961d0 0.30980392156862746d0 0.30980392156862746d0) +(define-rgb-color +dimgray+ 0.4117647058823529d0 0.4117647058823529d0 0.4117647058823529d0) +(define-rgb-color +dimgrey+ 0.4117647058823529d0 0.4117647058823529d0 0.4117647058823529d0) +(define-rgb-color +slategray+ 0.4392156862745098d0 0.5019607843137255d0 0.5647058823529412d0) +(define-rgb-color +slategrey+ 0.4392156862745098d0 0.5019607843137255d0 0.5647058823529412d0) +(define-rgb-color +lightslategray+ 0.4666666666666667d0 0.5333333333333333d0 0.6d0) +(define-rgb-color +lightslategrey+ 0.4666666666666667d0 0.5333333333333333d0 0.6d0) +(define-rgb-color +gray+ 0.7450980392156863d0 0.7450980392156863d0 0.7450980392156863d0) +(define-rgb-color +grey+ 0.7450980392156863d0 0.7450980392156863d0 0.7450980392156863d0) +(define-rgb-color +lightgrey+ 0.8274509803921568d0 0.8274509803921568d0 0.8274509803921568d0) +(define-rgb-color +lightgray+ 0.8274509803921568d0 0.8274509803921568d0 0.8274509803921568d0) +(define-rgb-color +midnightblue+ 0.09803921568627451d0 0.09803921568627451d0 0.4392156862745098d0) +(define-rgb-color +navy+ 0.0d0 0.0d0 0.5019607843137255d0) +(define-rgb-color +navyblue+ 0.0d0 0.0d0 0.5019607843137255d0) +(define-rgb-color +cornflowerblue+ 0.39215686274509803d0 0.5843137254901961d0 0.9294117647058824d0) +(define-rgb-color +darkslateblue+ 0.2823529411764706d0 0.23921568627450981d0 0.5450980392156862d0) +(define-rgb-color +slateblue+ 0.41568627450980394d0 0.35294117647058826d0 0.803921568627451d0) +(define-rgb-color +mediumslateblue+ 0.4823529411764706d0 0.40784313725490196d0 0.9333333333333333d0) +(define-rgb-color +lightslateblue+ 0.5176470588235295d0 0.4392156862745098d0 1.0d0) +(define-rgb-color +mediumblue+ 0.0d0 0.0d0 0.803921568627451d0) +(define-rgb-color +royalblue+ 0.2549019607843137d0 0.4117647058823529d0 0.8823529411764706d0) +(define-rgb-color +blue+ 0.0d0 0.0d0 1.0d0) +(define-rgb-color +dodgerblue+ 0.11764705882352941d0 0.5647058823529412d0 1.0d0) +(define-rgb-color +deepskyblue+ 0.0d0 0.7490196078431373d0 1.0d0) +(define-rgb-color +skyblue+ 0.5294117647058824d0 0.807843137254902d0 0.9215686274509803d0) +(define-rgb-color +lightskyblue+ 0.5294117647058824d0 0.807843137254902d0 0.9803921568627451d0) +(define-rgb-color +steelblue+ 0.27450980392156865d0 0.5098039215686274d0 0.7058823529411765d0) +(define-rgb-color +lightsteelblue+ 0.6901960784313725d0 0.7686274509803922d0 0.8705882352941177d0) +(define-rgb-color +lightblue+ 0.6784313725490196d0 0.8470588235294118d0 0.9019607843137255d0) +(define-rgb-color +powderblue+ 0.6901960784313725d0 0.8784313725490196d0 0.9019607843137255d0) +(define-rgb-color +paleturquoise+ 0.6862745098039216d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +darkturquoise+ 0.0d0 0.807843137254902d0 0.8196078431372549d0) +(define-rgb-color +mediumturquoise+ 0.2823529411764706d0 0.8196078431372549d0 0.8d0) +(define-rgb-color +turquoise+ 0.25098039215686274d0 0.8784313725490196d0 0.8156862745098039d0) +(define-rgb-color +cyan+ 0.0d0 1.0d0 1.0d0) +(define-rgb-color +lightcyan+ 0.8784313725490196d0 1.0d0 1.0d0) +(define-rgb-color +cadetblue+ 0.37254901960784315d0 0.6196078431372549d0 0.6274509803921569d0) +(define-rgb-color +mediumaquamarine+ 0.4d0 0.803921568627451d0 0.6666666666666666d0) +(define-rgb-color +aquamarine+ 0.4980392156862745d0 1.0d0 0.8313725490196079d0) +(define-rgb-color +darkgreen+ 0.0d0 0.39215686274509803d0 0.0d0) +(define-rgb-color +darkolivegreen+ 0.3333333333333333d0 0.4196078431372549d0 0.1843137254901961d0) +(define-rgb-color +darkseagreen+ 0.5607843137254902d0 0.7372549019607844d0 0.5607843137254902d0) +(define-rgb-color +seagreen+ 0.1803921568627451d0 0.5450980392156862d0 0.3411764705882353d0) +(define-rgb-color +mediumseagreen+ 0.23529411764705882d0 0.7019607843137254d0 0.44313725490196076d0) +(define-rgb-color +lightseagreen+ 0.12549019607843137d0 0.6980392156862745d0 0.6666666666666666d0) +(define-rgb-color +palegreen+ 0.596078431372549d0 0.984313725490196d0 0.596078431372549d0) +(define-rgb-color +springgreen+ 0.0d0 1.0d0 0.4980392156862745d0) +(define-rgb-color +lawngreen+ 0.48627450980392156d0 0.9882352941176471d0 0.0d0) +(define-rgb-color +green+ 0.0d0 1.0d0 0.0d0) +(define-rgb-color +chartreuse+ 0.4980392156862745d0 1.0d0 0.0d0) +(define-rgb-color +mediumspringgreen+ 0.0d0 0.9803921568627451d0 0.6039215686274509d0) +(define-rgb-color +greenyellow+ 0.6784313725490196d0 1.0d0 0.1843137254901961d0) +(define-rgb-color +limegreen+ 0.19607843137254902d0 0.803921568627451d0 0.19607843137254902d0) +(define-rgb-color +yellowgreen+ 0.6039215686274509d0 0.803921568627451d0 0.19607843137254902d0) +(define-rgb-color +forestgreen+ 0.13333333333333333d0 0.5450980392156862d0 0.13333333333333333d0) +(define-rgb-color +olivedrab+ 0.4196078431372549d0 0.5568627450980392d0 0.13725490196078433d0) +(define-rgb-color +darkkhaki+ 0.7411764705882353d0 0.7176470588235294d0 0.4196078431372549d0) +(define-rgb-color +khaki+ 0.9411764705882353d0 0.9019607843137255d0 0.5490196078431373d0) +(define-rgb-color +palegoldenrod+ 0.9333333333333333d0 0.9098039215686274d0 0.6666666666666666d0) +(define-rgb-color +lightgoldenrodyellow+ 0.9803921568627451d0 0.9803921568627451d0 0.8235294117647058d0) +(define-rgb-color +lightyellow+ 1.0d0 1.0d0 0.8784313725490196d0) +(define-rgb-color +yellow+ 1.0d0 1.0d0 0.0d0) +(define-rgb-color +gold+ 1.0d0 0.8431372549019608d0 0.0d0) +(define-rgb-color +lightgoldenrod+ 0.9333333333333333d0 0.8666666666666667d0 0.5098039215686274d0) +(define-rgb-color +goldenrod+ 0.8549019607843137d0 0.6470588235294118d0 0.12549019607843137d0) +(define-rgb-color +darkgoldenrod+ 0.7215686274509804d0 0.5254901960784314d0 0.043137254901960784d0) +(define-rgb-color +rosybrown+ 0.7372549019607844d0 0.5607843137254902d0 0.5607843137254902d0) +(define-rgb-color +indianred+ 0.803921568627451d0 0.3607843137254902d0 0.3607843137254902d0) +(define-rgb-color +saddlebrown+ 0.5450980392156862d0 0.27058823529411763d0 0.07450980392156863d0) +(define-rgb-color +sienna+ 0.6274509803921569d0 0.3215686274509804d0 0.17647058823529413d0) +(define-rgb-color +peru+ 0.803921568627451d0 0.5215686274509804d0 0.24705882352941178d0) +(define-rgb-color +burlywood+ 0.8705882352941177d0 0.7215686274509804d0 0.5294117647058824d0) +(define-rgb-color +beige+ 0.9607843137254902d0 0.9607843137254902d0 0.8627450980392157d0) +(define-rgb-color +wheat+ 0.9607843137254902d0 0.8705882352941177d0 0.7019607843137254d0) +(define-rgb-color +sandybrown+ 0.9568627450980393d0 0.6431372549019608d0 0.3764705882352941d0) +(define-rgb-color +tan+ 0.8235294117647058d0 0.7058823529411765d0 0.5490196078431373d0) +(define-rgb-color +chocolate+ 0.8235294117647058d0 0.4117647058823529d0 0.11764705882352941d0) +(define-rgb-color +firebrick+ 0.6980392156862745d0 0.13333333333333333d0 0.13333333333333333d0) +(define-rgb-color +brown+ 0.6470588235294118d0 0.16470588235294117d0 0.16470588235294117d0) +(define-rgb-color +darksalmon+ 0.9137254901960784d0 0.5882352941176471d0 0.47843137254901963d0) +(define-rgb-color +salmon+ 0.9803921568627451d0 0.5019607843137255d0 0.4470588235294118d0) +(define-rgb-color +lightsalmon+ 1.0d0 0.6274509803921569d0 0.47843137254901963d0) +(define-rgb-color +orange+ 1.0d0 0.6470588235294118d0 0.0d0) +(define-rgb-color +darkorange+ 1.0d0 0.5490196078431373d0 0.0d0) +(define-rgb-color +coral+ 1.0d0 0.4980392156862745d0 0.3137254901960784d0) +(define-rgb-color +lightcoral+ 0.9411764705882353d0 0.5019607843137255d0 0.5019607843137255d0) +(define-rgb-color +tomato+ 1.0d0 0.38823529411764707d0 0.2784313725490196d0) +(define-rgb-color +orangered+ 1.0d0 0.27058823529411763d0 0.0d0) +(define-rgb-color +red+ 1.0d0 0.0d0 0.0d0) +(define-rgb-color +hotpink+ 1.0d0 0.4117647058823529d0 0.7058823529411765d0) +(define-rgb-color +deeppink+ 1.0d0 0.0784313725490196d0 0.5764705882352941d0) +(define-rgb-color +pink+ 1.0d0 0.7529411764705882d0 0.796078431372549d0) +(define-rgb-color +lightpink+ 1.0d0 0.7137254901960784d0 0.7568627450980392d0) +(define-rgb-color +palevioletred+ 0.8588235294117647d0 0.4392156862745098d0 0.5764705882352941d0) +(define-rgb-color +maroon+ 0.6901960784313725d0 0.18823529411764706d0 0.3764705882352941d0) +(define-rgb-color +mediumvioletred+ 0.7803921568627451d0 0.08235294117647059d0 0.5215686274509804d0) +(define-rgb-color +violetred+ 0.8156862745098039d0 0.12549019607843137d0 0.5647058823529412d0) +(define-rgb-color +magenta+ 1.0d0 0.0d0 1.0d0) +(define-rgb-color +violet+ 0.9333333333333333d0 0.5098039215686274d0 0.9333333333333333d0) +(define-rgb-color +plum+ 0.8666666666666667d0 0.6274509803921569d0 0.8666666666666667d0) +(define-rgb-color +orchid+ 0.8549019607843137d0 0.4392156862745098d0 0.8392156862745098d0) +(define-rgb-color +mediumorchid+ 0.7294117647058823d0 0.3333333333333333d0 0.8274509803921568d0) +(define-rgb-color +darkorchid+ 0.6d0 0.19607843137254902d0 0.8d0) +(define-rgb-color +darkviolet+ 0.5803921568627451d0 0.0d0 0.8274509803921568d0) +(define-rgb-color +blueviolet+ 0.5411764705882353d0 0.16862745098039217d0 0.8862745098039215d0) +(define-rgb-color +purple+ 0.6274509803921569d0 0.12549019607843137d0 0.9411764705882353d0) +(define-rgb-color +mediumpurple+ 0.5764705882352941d0 0.4392156862745098d0 0.8588235294117647d0) +(define-rgb-color +thistle+ 0.8470588235294118d0 0.7490196078431373d0 0.8470588235294118d0) +(define-rgb-color +snow1+ 1.0d0 0.9803921568627451d0 0.9803921568627451d0) +(define-rgb-color +snow2+ 0.9333333333333333d0 0.9137254901960784d0 0.9137254901960784d0) +(define-rgb-color +snow3+ 0.803921568627451d0 0.788235294117647d0 0.788235294117647d0) +(define-rgb-color +snow4+ 0.5450980392156862d0 0.5372549019607843d0 0.5372549019607843d0) +(define-rgb-color +seashell1+ 1.0d0 0.9607843137254902d0 0.9333333333333333d0) +(define-rgb-color +seashell2+ 0.9333333333333333d0 0.8980392156862745d0 0.8705882352941177d0) +(define-rgb-color +seashell3+ 0.803921568627451d0 0.7725490196078432d0 0.7490196078431373d0) +(define-rgb-color +seashell4+ 0.5450980392156862d0 0.5254901960784314d0 0.5098039215686274d0) +(define-rgb-color +antiquewhite1+ 1.0d0 0.9372549019607843d0 0.8588235294117647d0) +(define-rgb-color +antiquewhite2+ 0.9333333333333333d0 0.8745098039215686d0 0.8d0) +(define-rgb-color +antiquewhite3+ 0.803921568627451d0 0.7529411764705882d0 0.6901960784313725d0) +(define-rgb-color +antiquewhite4+ 0.5450980392156862d0 0.5137254901960784d0 0.47058823529411764d0) +(define-rgb-color +bisque1+ 1.0d0 0.8941176470588236d0 0.7686274509803922d0) +(define-rgb-color +bisque2+ 0.9333333333333333d0 0.8352941176470589d0 0.7176470588235294d0) +(define-rgb-color +bisque3+ 0.803921568627451d0 0.7176470588235294d0 0.6196078431372549d0) +(define-rgb-color +bisque4+ 0.5450980392156862d0 0.49019607843137253d0 0.4196078431372549d0) +(define-rgb-color +peachpuff1+ 1.0d0 0.8549019607843137d0 0.7254901960784313d0) +(define-rgb-color +peachpuff2+ 0.9333333333333333d0 0.796078431372549d0 0.6784313725490196d0) +(define-rgb-color +peachpuff3+ 0.803921568627451d0 0.6862745098039216d0 0.5843137254901961d0) +(define-rgb-color +peachpuff4+ 0.5450980392156862d0 0.4666666666666667d0 0.396078431372549d0) +(define-rgb-color +navajowhite1+ 1.0d0 0.8705882352941177d0 0.6784313725490196d0) +(define-rgb-color +navajowhite2+ 0.9333333333333333d0 0.8117647058823529d0 0.6313725490196078d0) +(define-rgb-color +navajowhite3+ 0.803921568627451d0 0.7019607843137254d0 0.5450980392156862d0) +(define-rgb-color +navajowhite4+ 0.5450980392156862d0 0.4745098039215686d0 0.3686274509803922d0) +(define-rgb-color +lemonchiffon1+ 1.0d0 0.9803921568627451d0 0.803921568627451d0) +(define-rgb-color +lemonchiffon2+ 0.9333333333333333d0 0.9137254901960784d0 0.7490196078431373d0) +(define-rgb-color +lemonchiffon3+ 0.803921568627451d0 0.788235294117647d0 0.6470588235294118d0) +(define-rgb-color +lemonchiffon4+ 0.5450980392156862d0 0.5372549019607843d0 0.4392156862745098d0) +(define-rgb-color +cornsilk1+ 1.0d0 0.9725490196078431d0 0.8627450980392157d0) +(define-rgb-color +cornsilk2+ 0.9333333333333333d0 0.9098039215686274d0 0.803921568627451d0) +(define-rgb-color +cornsilk3+ 0.803921568627451d0 0.7843137254901961d0 0.6941176470588235d0) +(define-rgb-color +cornsilk4+ 0.5450980392156862d0 0.5333333333333333d0 0.47058823529411764d0) +(define-rgb-color +ivory1+ 1.0d0 1.0d0 0.9411764705882353d0) +(define-rgb-color +ivory2+ 0.9333333333333333d0 0.9333333333333333d0 0.8784313725490196d0) +(define-rgb-color +ivory3+ 0.803921568627451d0 0.803921568627451d0 0.7568627450980392d0) +(define-rgb-color +ivory4+ 0.5450980392156862d0 0.5450980392156862d0 0.5137254901960784d0) +(define-rgb-color +honeydew1+ 0.9411764705882353d0 1.0d0 0.9411764705882353d0) +(define-rgb-color +honeydew2+ 0.8784313725490196d0 0.9333333333333333d0 0.8784313725490196d0) +(define-rgb-color +honeydew3+ 0.7568627450980392d0 0.803921568627451d0 0.7568627450980392d0) +(define-rgb-color +honeydew4+ 0.5137254901960784d0 0.5450980392156862d0 0.5137254901960784d0) +(define-rgb-color +lavenderblush1+ 1.0d0 0.9411764705882353d0 0.9607843137254902d0) +(define-rgb-color +lavenderblush2+ 0.9333333333333333d0 0.8784313725490196d0 0.8980392156862745d0) +(define-rgb-color +lavenderblush3+ 0.803921568627451d0 0.7568627450980392d0 0.7725490196078432d0) +(define-rgb-color +lavenderblush4+ 0.5450980392156862d0 0.5137254901960784d0 0.5254901960784314d0) +(define-rgb-color +mistyrose1+ 1.0d0 0.8941176470588236d0 0.8823529411764706d0) +(define-rgb-color +mistyrose2+ 0.9333333333333333d0 0.8352941176470589d0 0.8235294117647058d0) +(define-rgb-color +mistyrose3+ 0.803921568627451d0 0.7176470588235294d0 0.7098039215686275d0) +(define-rgb-color +mistyrose4+ 0.5450980392156862d0 0.49019607843137253d0 0.4823529411764706d0) +(define-rgb-color +azure1+ 0.9411764705882353d0 1.0d0 1.0d0) +(define-rgb-color +azure2+ 0.8784313725490196d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +azure3+ 0.7568627450980392d0 0.803921568627451d0 0.803921568627451d0) +(define-rgb-color +azure4+ 0.5137254901960784d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +slateblue1+ 0.5137254901960784d0 0.43529411764705883d0 1.0d0) +(define-rgb-color +slateblue2+ 0.47843137254901963d0 0.403921568627451d0 0.9333333333333333d0) +(define-rgb-color +slateblue3+ 0.4117647058823529d0 0.34901960784313724d0 0.803921568627451d0) +(define-rgb-color +slateblue4+ 0.2784313725490196d0 0.23529411764705882d0 0.5450980392156862d0) +(define-rgb-color +royalblue1+ 0.2823529411764706d0 0.4627450980392157d0 1.0d0) +(define-rgb-color +royalblue2+ 0.2627450980392157d0 0.43137254901960786d0 0.9333333333333333d0) +(define-rgb-color +royalblue3+ 0.22745098039215686d0 0.37254901960784315d0 0.803921568627451d0) +(define-rgb-color +royalblue4+ 0.15294117647058825d0 0.25098039215686274d0 0.5450980392156862d0) +(define-rgb-color +blue1+ 0.0d0 0.0d0 1.0d0) +(define-rgb-color +blue2+ 0.0d0 0.0d0 0.9333333333333333d0) +(define-rgb-color +blue3+ 0.0d0 0.0d0 0.803921568627451d0) +(define-rgb-color +blue4+ 0.0d0 0.0d0 0.5450980392156862d0) +(define-rgb-color +dodgerblue1+ 0.11764705882352941d0 0.5647058823529412d0 1.0d0) +(define-rgb-color +dodgerblue2+ 0.10980392156862745d0 0.5254901960784314d0 0.9333333333333333d0) +(define-rgb-color +dodgerblue3+ 0.09411764705882353d0 0.4549019607843137d0 0.803921568627451d0) +(define-rgb-color +dodgerblue4+ 0.06274509803921569d0 0.3058823529411765d0 0.5450980392156862d0) +(define-rgb-color +steelblue1+ 0.38823529411764707d0 0.7215686274509804d0 1.0d0) +(define-rgb-color +steelblue2+ 0.3607843137254902d0 0.6745098039215687d0 0.9333333333333333d0) +(define-rgb-color +steelblue3+ 0.30980392156862746d0 0.5803921568627451d0 0.803921568627451d0) +(define-rgb-color +steelblue4+ 0.21176470588235294d0 0.39215686274509803d0 0.5450980392156862d0) +(define-rgb-color +deepskyblue1+ 0.0d0 0.7490196078431373d0 1.0d0) +(define-rgb-color +deepskyblue2+ 0.0d0 0.6980392156862745d0 0.9333333333333333d0) +(define-rgb-color +deepskyblue3+ 0.0d0 0.6039215686274509d0 0.803921568627451d0) +(define-rgb-color +deepskyblue4+ 0.0d0 0.40784313725490196d0 0.5450980392156862d0) +(define-rgb-color +skyblue1+ 0.5294117647058824d0 0.807843137254902d0 1.0d0) +(define-rgb-color +skyblue2+ 0.49411764705882355d0 0.7529411764705882d0 0.9333333333333333d0) +(define-rgb-color +skyblue3+ 0.4235294117647059d0 0.6509803921568628d0 0.803921568627451d0) +(define-rgb-color +skyblue4+ 0.2901960784313726d0 0.4392156862745098d0 0.5450980392156862d0) +(define-rgb-color +lightskyblue1+ 0.6901960784313725d0 0.8862745098039215d0 1.0d0) +(define-rgb-color +lightskyblue2+ 0.6431372549019608d0 0.8274509803921568d0 0.9333333333333333d0) +(define-rgb-color +lightskyblue3+ 0.5529411764705883d0 0.7137254901960784d0 0.803921568627451d0) +(define-rgb-color +lightskyblue4+ 0.3764705882352941d0 0.4823529411764706d0 0.5450980392156862d0) +(define-rgb-color +slategray1+ 0.7764705882352941d0 0.8862745098039215d0 1.0d0) +(define-rgb-color +slategray2+ 0.7254901960784313d0 0.8274509803921568d0 0.9333333333333333d0) +(define-rgb-color +slategray3+ 0.6235294117647059d0 0.7137254901960784d0 0.803921568627451d0) +(define-rgb-color +slategray4+ 0.4235294117647059d0 0.4823529411764706d0 0.5450980392156862d0) +(define-rgb-color +lightsteelblue1+ 0.792156862745098d0 0.8823529411764706d0 1.0d0) +(define-rgb-color +lightsteelblue2+ 0.7372549019607844d0 0.8235294117647058d0 0.9333333333333333d0) +(define-rgb-color +lightsteelblue3+ 0.6352941176470588d0 0.7098039215686275d0 0.803921568627451d0) +(define-rgb-color +lightsteelblue4+ 0.43137254901960786d0 0.4823529411764706d0 0.5450980392156862d0) +(define-rgb-color +lightblue1+ 0.7490196078431373d0 0.9372549019607843d0 1.0d0) +(define-rgb-color +lightblue2+ 0.6980392156862745d0 0.8745098039215686d0 0.9333333333333333d0) +(define-rgb-color +lightblue3+ 0.6039215686274509d0 0.7529411764705882d0 0.803921568627451d0) +(define-rgb-color +lightblue4+ 0.40784313725490196d0 0.5137254901960784d0 0.5450980392156862d0) +(define-rgb-color +lightcyan1+ 0.8784313725490196d0 1.0d0 1.0d0) +(define-rgb-color +lightcyan2+ 0.8196078431372549d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +lightcyan3+ 0.7058823529411765d0 0.803921568627451d0 0.803921568627451d0) +(define-rgb-color +lightcyan4+ 0.47843137254901963d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +paleturquoise1+ 0.7333333333333333d0 1.0d0 1.0d0) +(define-rgb-color +paleturquoise2+ 0.6823529411764706d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +paleturquoise3+ 0.5882352941176471d0 0.803921568627451d0 0.803921568627451d0) +(define-rgb-color +paleturquoise4+ 0.4d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +cadetblue1+ 0.596078431372549d0 0.9607843137254902d0 1.0d0) +(define-rgb-color +cadetblue2+ 0.5568627450980392d0 0.8980392156862745d0 0.9333333333333333d0) +(define-rgb-color +cadetblue3+ 0.47843137254901963d0 0.7725490196078432d0 0.803921568627451d0) +(define-rgb-color +cadetblue4+ 0.3254901960784314d0 0.5254901960784314d0 0.5450980392156862d0) +(define-rgb-color +turquoise1+ 0.0d0 0.9607843137254902d0 1.0d0) +(define-rgb-color +turquoise2+ 0.0d0 0.8980392156862745d0 0.9333333333333333d0) +(define-rgb-color +turquoise3+ 0.0d0 0.7725490196078432d0 0.803921568627451d0) +(define-rgb-color +turquoise4+ 0.0d0 0.5254901960784314d0 0.5450980392156862d0) +(define-rgb-color +cyan1+ 0.0d0 1.0d0 1.0d0) +(define-rgb-color +cyan2+ 0.0d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +cyan3+ 0.0d0 0.803921568627451d0 0.803921568627451d0) +(define-rgb-color +cyan4+ 0.0d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +darkslategray1+ 0.592156862745098d0 1.0d0 1.0d0) +(define-rgb-color +darkslategray2+ 0.5529411764705883d0 0.9333333333333333d0 0.9333333333333333d0) +(define-rgb-color +darkslategray3+ 0.4745098039215686d0 0.803921568627451d0 0.803921568627451d0) +(define-rgb-color +darkslategray4+ 0.3215686274509804d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +aquamarine1+ 0.4980392156862745d0 1.0d0 0.8313725490196079d0) +(define-rgb-color +aquamarine2+ 0.4627450980392157d0 0.9333333333333333d0 0.7764705882352941d0) +(define-rgb-color +aquamarine3+ 0.4d0 0.803921568627451d0 0.6666666666666666d0) +(define-rgb-color +aquamarine4+ 0.27058823529411763d0 0.5450980392156862d0 0.4549019607843137d0) +(define-rgb-color +darkseagreen1+ 0.7568627450980392d0 1.0d0 0.7568627450980392d0) +(define-rgb-color +darkseagreen2+ 0.7058823529411765d0 0.9333333333333333d0 0.7058823529411765d0) +(define-rgb-color +darkseagreen3+ 0.6078431372549019d0 0.803921568627451d0 0.6078431372549019d0) +(define-rgb-color +darkseagreen4+ 0.4117647058823529d0 0.5450980392156862d0 0.4117647058823529d0) +(define-rgb-color +seagreen1+ 0.32941176470588235d0 1.0d0 0.6235294117647059d0) +(define-rgb-color +seagreen2+ 0.3058823529411765d0 0.9333333333333333d0 0.5803921568627451d0) +(define-rgb-color +seagreen3+ 0.2627450980392157d0 0.803921568627451d0 0.5019607843137255d0) +(define-rgb-color +seagreen4+ 0.1803921568627451d0 0.5450980392156862d0 0.3411764705882353d0) +(define-rgb-color +palegreen1+ 0.6039215686274509d0 1.0d0 0.6039215686274509d0) +(define-rgb-color +palegreen2+ 0.5647058823529412d0 0.9333333333333333d0 0.5647058823529412d0) +(define-rgb-color +palegreen3+ 0.48627450980392156d0 0.803921568627451d0 0.48627450980392156d0) +(define-rgb-color +palegreen4+ 0.32941176470588235d0 0.5450980392156862d0 0.32941176470588235d0) +(define-rgb-color +springgreen1+ 0.0d0 1.0d0 0.4980392156862745d0) +(define-rgb-color +springgreen2+ 0.0d0 0.9333333333333333d0 0.4627450980392157d0) +(define-rgb-color +springgreen3+ 0.0d0 0.803921568627451d0 0.4d0) +(define-rgb-color +springgreen4+ 0.0d0 0.5450980392156862d0 0.27058823529411763d0) +(define-rgb-color +green1+ 0.0d0 1.0d0 0.0d0) +(define-rgb-color +green2+ 0.0d0 0.9333333333333333d0 0.0d0) +(define-rgb-color +green3+ 0.0d0 0.803921568627451d0 0.0d0) +(define-rgb-color +green4+ 0.0d0 0.5450980392156862d0 0.0d0) +(define-rgb-color +chartreuse1+ 0.4980392156862745d0 1.0d0 0.0d0) +(define-rgb-color +chartreuse2+ 0.4627450980392157d0 0.9333333333333333d0 0.0d0) +(define-rgb-color +chartreuse3+ 0.4d0 0.803921568627451d0 0.0d0) +(define-rgb-color +chartreuse4+ 0.27058823529411763d0 0.5450980392156862d0 0.0d0) +(define-rgb-color +olivedrab1+ 0.7529411764705882d0 1.0d0 0.24313725490196078d0) +(define-rgb-color +olivedrab2+ 0.7019607843137254d0 0.9333333333333333d0 0.22745098039215686d0) +(define-rgb-color +olivedrab3+ 0.6039215686274509d0 0.803921568627451d0 0.19607843137254902d0) +(define-rgb-color +olivedrab4+ 0.4117647058823529d0 0.5450980392156862d0 0.13333333333333333d0) +(define-rgb-color +darkolivegreen1+ 0.792156862745098d0 1.0d0 0.4392156862745098d0) +(define-rgb-color +darkolivegreen2+ 0.7372549019607844d0 0.9333333333333333d0 0.40784313725490196d0) +(define-rgb-color +darkolivegreen3+ 0.6352941176470588d0 0.803921568627451d0 0.35294117647058826d0) +(define-rgb-color +darkolivegreen4+ 0.43137254901960786d0 0.5450980392156862d0 0.23921568627450981d0) +(define-rgb-color +khaki1+ 1.0d0 0.9647058823529412d0 0.5607843137254902d0) +(define-rgb-color +khaki2+ 0.9333333333333333d0 0.9019607843137255d0 0.5215686274509804d0) +(define-rgb-color +khaki3+ 0.803921568627451d0 0.7764705882352941d0 0.45098039215686275d0) +(define-rgb-color +khaki4+ 0.5450980392156862d0 0.5254901960784314d0 0.3058823529411765d0) +(define-rgb-color +lightgoldenrod1+ 1.0d0 0.9254901960784314d0 0.5450980392156862d0) +(define-rgb-color +lightgoldenrod2+ 0.9333333333333333d0 0.8627450980392157d0 0.5098039215686274d0) +(define-rgb-color +lightgoldenrod3+ 0.803921568627451d0 0.7450980392156863d0 0.4392156862745098d0) +(define-rgb-color +lightgoldenrod4+ 0.5450980392156862d0 0.5058823529411764d0 0.2980392156862745d0) +(define-rgb-color +lightyellow1+ 1.0d0 1.0d0 0.8784313725490196d0) +(define-rgb-color +lightyellow2+ 0.9333333333333333d0 0.9333333333333333d0 0.8196078431372549d0) +(define-rgb-color +lightyellow3+ 0.803921568627451d0 0.803921568627451d0 0.7058823529411765d0) +(define-rgb-color +lightyellow4+ 0.5450980392156862d0 0.5450980392156862d0 0.47843137254901963d0) +(define-rgb-color +yellow1+ 1.0d0 1.0d0 0.0d0) +(define-rgb-color +yellow2+ 0.9333333333333333d0 0.9333333333333333d0 0.0d0) +(define-rgb-color +yellow3+ 0.803921568627451d0 0.803921568627451d0 0.0d0) +(define-rgb-color +yellow4+ 0.5450980392156862d0 0.5450980392156862d0 0.0d0) +(define-rgb-color +gold1+ 1.0d0 0.8431372549019608d0 0.0d0) +(define-rgb-color +gold2+ 0.9333333333333333d0 0.788235294117647d0 0.0d0) +(define-rgb-color +gold3+ 0.803921568627451d0 0.6784313725490196d0 0.0d0) +(define-rgb-color +gold4+ 0.5450980392156862d0 0.4588235294117647d0 0.0d0) +(define-rgb-color +goldenrod1+ 1.0d0 0.7568627450980392d0 0.1450980392156863d0) +(define-rgb-color +goldenrod2+ 0.9333333333333333d0 0.7058823529411765d0 0.13333333333333333d0) +(define-rgb-color +goldenrod3+ 0.803921568627451d0 0.6078431372549019d0 0.11372549019607843d0) +(define-rgb-color +goldenrod4+ 0.5450980392156862d0 0.4117647058823529d0 0.0784313725490196d0) +(define-rgb-color +darkgoldenrod1+ 1.0d0 0.7254901960784313d0 0.058823529411764705d0) +(define-rgb-color +darkgoldenrod2+ 0.9333333333333333d0 0.6784313725490196d0 0.054901960784313725d0) +(define-rgb-color +darkgoldenrod3+ 0.803921568627451d0 0.5843137254901961d0 0.047058823529411764d0) +(define-rgb-color +darkgoldenrod4+ 0.5450980392156862d0 0.396078431372549d0 0.03137254901960784d0) +(define-rgb-color +rosybrown1+ 1.0d0 0.7568627450980392d0 0.7568627450980392d0) +(define-rgb-color +rosybrown2+ 0.9333333333333333d0 0.7058823529411765d0 0.7058823529411765d0) +(define-rgb-color +rosybrown3+ 0.803921568627451d0 0.6078431372549019d0 0.6078431372549019d0) +(define-rgb-color +rosybrown4+ 0.5450980392156862d0 0.4117647058823529d0 0.4117647058823529d0) +(define-rgb-color +indianred1+ 1.0d0 0.41568627450980394d0 0.41568627450980394d0) +(define-rgb-color +indianred2+ 0.9333333333333333d0 0.38823529411764707d0 0.38823529411764707d0) +(define-rgb-color +indianred3+ 0.803921568627451d0 0.3333333333333333d0 0.3333333333333333d0) +(define-rgb-color +indianred4+ 0.5450980392156862d0 0.22745098039215686d0 0.22745098039215686d0) +(define-rgb-color +sienna1+ 1.0d0 0.5098039215686274d0 0.2784313725490196d0) +(define-rgb-color +sienna2+ 0.9333333333333333d0 0.4745098039215686d0 0.25882352941176473d0) +(define-rgb-color +sienna3+ 0.803921568627451d0 0.40784313725490196d0 0.2235294117647059d0) +(define-rgb-color +sienna4+ 0.5450980392156862d0 0.2784313725490196d0 0.14901960784313725d0) +(define-rgb-color +burlywood1+ 1.0d0 0.8274509803921568d0 0.6078431372549019d0) +(define-rgb-color +burlywood2+ 0.9333333333333333d0 0.7725490196078432d0 0.5686274509803921d0) +(define-rgb-color +burlywood3+ 0.803921568627451d0 0.6666666666666666d0 0.49019607843137253d0) +(define-rgb-color +burlywood4+ 0.5450980392156862d0 0.45098039215686275d0 0.3333333333333333d0) +(define-rgb-color +wheat1+ 1.0d0 0.9058823529411765d0 0.7294117647058823d0) +(define-rgb-color +wheat2+ 0.9333333333333333d0 0.8470588235294118d0 0.6823529411764706d0) +(define-rgb-color +wheat3+ 0.803921568627451d0 0.7294117647058823d0 0.5882352941176471d0) +(define-rgb-color +wheat4+ 0.5450980392156862d0 0.49411764705882355d0 0.4d0) +(define-rgb-color +tan1+ 1.0d0 0.6470588235294118d0 0.30980392156862746d0) +(define-rgb-color +tan2+ 0.9333333333333333d0 0.6039215686274509d0 0.28627450980392155d0) +(define-rgb-color +tan3+ 0.803921568627451d0 0.5215686274509804d0 0.24705882352941178d0) +(define-rgb-color +tan4+ 0.5450980392156862d0 0.35294117647058826d0 0.16862745098039217d0) +(define-rgb-color +chocolate1+ 1.0d0 0.4980392156862745d0 0.1411764705882353d0) +(define-rgb-color +chocolate2+ 0.9333333333333333d0 0.4627450980392157d0 0.12941176470588237d0) +(define-rgb-color +chocolate3+ 0.803921568627451d0 0.4d0 0.11372549019607843d0) +(define-rgb-color +chocolate4+ 0.5450980392156862d0 0.27058823529411763d0 0.07450980392156863d0) +(define-rgb-color +firebrick1+ 1.0d0 0.18823529411764706d0 0.18823529411764706d0) +(define-rgb-color +firebrick2+ 0.9333333333333333d0 0.17254901960784313d0 0.17254901960784313d0) +(define-rgb-color +firebrick3+ 0.803921568627451d0 0.14901960784313725d0 0.14901960784313725d0) +(define-rgb-color +firebrick4+ 0.5450980392156862d0 0.10196078431372549d0 0.10196078431372549d0) +(define-rgb-color +brown1+ 1.0d0 0.25098039215686274d0 0.25098039215686274d0) +(define-rgb-color +brown2+ 0.9333333333333333d0 0.23137254901960785d0 0.23137254901960785d0) +(define-rgb-color +brown3+ 0.803921568627451d0 0.2d0 0.2d0) +(define-rgb-color +brown4+ 0.5450980392156862d0 0.13725490196078433d0 0.13725490196078433d0) +(define-rgb-color +salmon1+ 1.0d0 0.5490196078431373d0 0.4117647058823529d0) +(define-rgb-color +salmon2+ 0.9333333333333333d0 0.5098039215686274d0 0.3843137254901961d0) +(define-rgb-color +salmon3+ 0.803921568627451d0 0.4392156862745098d0 0.32941176470588235d0) +(define-rgb-color +salmon4+ 0.5450980392156862d0 0.2980392156862745d0 0.2235294117647059d0) +(define-rgb-color +lightsalmon1+ 1.0d0 0.6274509803921569d0 0.47843137254901963d0) +(define-rgb-color +lightsalmon2+ 0.9333333333333333d0 0.5843137254901961d0 0.4470588235294118d0) +(define-rgb-color +lightsalmon3+ 0.803921568627451d0 0.5058823529411764d0 0.3843137254901961d0) +(define-rgb-color +lightsalmon4+ 0.5450980392156862d0 0.3411764705882353d0 0.25882352941176473d0) +(define-rgb-color +orange1+ 1.0d0 0.6470588235294118d0 0.0d0) +(define-rgb-color +orange2+ 0.9333333333333333d0 0.6039215686274509d0 0.0d0) +(define-rgb-color +orange3+ 0.803921568627451d0 0.5215686274509804d0 0.0d0) +(define-rgb-color +orange4+ 0.5450980392156862d0 0.35294117647058826d0 0.0d0) +(define-rgb-color +darkorange1+ 1.0d0 0.4980392156862745d0 0.0d0) +(define-rgb-color +darkorange2+ 0.9333333333333333d0 0.4627450980392157d0 0.0d0) +(define-rgb-color +darkorange3+ 0.803921568627451d0 0.4d0 0.0d0) +(define-rgb-color +darkorange4+ 0.5450980392156862d0 0.27058823529411763d0 0.0d0) +(define-rgb-color +coral1+ 1.0d0 0.4470588235294118d0 0.33725490196078434d0) +(define-rgb-color +coral2+ 0.9333333333333333d0 0.41568627450980394d0 0.3137254901960784d0) +(define-rgb-color +coral3+ 0.803921568627451d0 0.3568627450980392d0 0.27058823529411763d0) +(define-rgb-color +coral4+ 0.5450980392156862d0 0.24313725490196078d0 0.1843137254901961d0) +(define-rgb-color +tomato1+ 1.0d0 0.38823529411764707d0 0.2784313725490196d0) +(define-rgb-color +tomato2+ 0.9333333333333333d0 0.3607843137254902d0 0.25882352941176473d0) +(define-rgb-color +tomato3+ 0.803921568627451d0 0.30980392156862746d0 0.2235294117647059d0) +(define-rgb-color +tomato4+ 0.5450980392156862d0 0.21176470588235294d0 0.14901960784313725d0) +(define-rgb-color +orangered1+ 1.0d0 0.27058823529411763d0 0.0d0) +(define-rgb-color +orangered2+ 0.9333333333333333d0 0.25098039215686274d0 0.0d0) +(define-rgb-color +orangered3+ 0.803921568627451d0 0.21568627450980393d0 0.0d0) +(define-rgb-color +orangered4+ 0.5450980392156862d0 0.1450980392156863d0 0.0d0) +(define-rgb-color +red1+ 1.0d0 0.0d0 0.0d0) +(define-rgb-color +red2+ 0.9333333333333333d0 0.0d0 0.0d0) +(define-rgb-color +red3+ 0.803921568627451d0 0.0d0 0.0d0) +(define-rgb-color +red4+ 0.5450980392156862d0 0.0d0 0.0d0) +(define-rgb-color +debianred+ 0.8431372549019608d0 0.027450980392156862d0 0.3176470588235294d0) +(define-rgb-color +deeppink1+ 1.0d0 0.0784313725490196d0 0.5764705882352941d0) +(define-rgb-color +deeppink2+ 0.9333333333333333d0 0.07058823529411765d0 0.5372549019607843d0) +(define-rgb-color +deeppink3+ 0.803921568627451d0 0.06274509803921569d0 0.4627450980392157d0) +(define-rgb-color +deeppink4+ 0.5450980392156862d0 0.0392156862745098d0 0.3137254901960784d0) +(define-rgb-color +hotpink1+ 1.0d0 0.43137254901960786d0 0.7058823529411765d0) +(define-rgb-color +hotpink2+ 0.9333333333333333d0 0.41568627450980394d0 0.6549019607843137d0) +(define-rgb-color +hotpink3+ 0.803921568627451d0 0.3764705882352941d0 0.5647058823529412d0) +(define-rgb-color +hotpink4+ 0.5450980392156862d0 0.22745098039215686d0 0.3843137254901961d0) +(define-rgb-color +pink1+ 1.0d0 0.7098039215686275d0 0.7725490196078432d0) +(define-rgb-color +pink2+ 0.9333333333333333d0 0.6627450980392157d0 0.7215686274509804d0) +(define-rgb-color +pink3+ 0.803921568627451d0 0.5686274509803921d0 0.6196078431372549d0) +(define-rgb-color +pink4+ 0.5450980392156862d0 0.38823529411764707d0 0.4235294117647059d0) +(define-rgb-color +lightpink1+ 1.0d0 0.6823529411764706d0 0.7254901960784313d0) +(define-rgb-color +lightpink2+ 0.9333333333333333d0 0.6352941176470588d0 0.6784313725490196d0) +(define-rgb-color +lightpink3+ 0.803921568627451d0 0.5490196078431373d0 0.5843137254901961d0) +(define-rgb-color +lightpink4+ 0.5450980392156862d0 0.37254901960784315d0 0.396078431372549d0) +(define-rgb-color +palevioletred1+ 1.0d0 0.5098039215686274d0 0.6705882352941176d0) +(define-rgb-color +palevioletred2+ 0.9333333333333333d0 0.4745098039215686d0 0.6235294117647059d0) +(define-rgb-color +palevioletred3+ 0.803921568627451d0 0.40784313725490196d0 0.5372549019607843d0) +(define-rgb-color +palevioletred4+ 0.5450980392156862d0 0.2784313725490196d0 0.36470588235294116d0) +(define-rgb-color +maroon1+ 1.0d0 0.20392156862745098d0 0.7019607843137254d0) +(define-rgb-color +maroon2+ 0.9333333333333333d0 0.18823529411764706d0 0.6549019607843137d0) +(define-rgb-color +maroon3+ 0.803921568627451d0 0.1607843137254902d0 0.5647058823529412d0) +(define-rgb-color +maroon4+ 0.5450980392156862d0 0.10980392156862745d0 0.3843137254901961d0) +(define-rgb-color +violetred1+ 1.0d0 0.24313725490196078d0 0.5882352941176471d0) +(define-rgb-color +violetred2+ 0.9333333333333333d0 0.22745098039215686d0 0.5490196078431373d0) +(define-rgb-color +violetred3+ 0.803921568627451d0 0.19607843137254902d0 0.47058823529411764d0) +(define-rgb-color +violetred4+ 0.5450980392156862d0 0.13333333333333333d0 0.3215686274509804d0) +(define-rgb-color +magenta1+ 1.0d0 0.0d0 1.0d0) +(define-rgb-color +magenta2+ 0.9333333333333333d0 0.0d0 0.9333333333333333d0) +(define-rgb-color +magenta3+ 0.803921568627451d0 0.0d0 0.803921568627451d0) +(define-rgb-color +magenta4+ 0.5450980392156862d0 0.0d0 0.5450980392156862d0) +(define-rgb-color +orchid1+ 1.0d0 0.5137254901960784d0 0.9803921568627451d0) +(define-rgb-color +orchid2+ 0.9333333333333333d0 0.47843137254901963d0 0.9137254901960784d0) +(define-rgb-color +orchid3+ 0.803921568627451d0 0.4117647058823529d0 0.788235294117647d0) +(define-rgb-color +orchid4+ 0.5450980392156862d0 0.2784313725490196d0 0.5372549019607843d0) +(define-rgb-color +plum1+ 1.0d0 0.7333333333333333d0 1.0d0) +(define-rgb-color +plum2+ 0.9333333333333333d0 0.6823529411764706d0 0.9333333333333333d0) +(define-rgb-color +plum3+ 0.803921568627451d0 0.5882352941176471d0 0.803921568627451d0) +(define-rgb-color +plum4+ 0.5450980392156862d0 0.4d0 0.5450980392156862d0) +(define-rgb-color +mediumorchid1+ 0.8784313725490196d0 0.4d0 1.0d0) +(define-rgb-color +mediumorchid2+ 0.8196078431372549d0 0.37254901960784315d0 0.9333333333333333d0) +(define-rgb-color +mediumorchid3+ 0.7058823529411765d0 0.3215686274509804d0 0.803921568627451d0) +(define-rgb-color +mediumorchid4+ 0.47843137254901963d0 0.21568627450980393d0 0.5450980392156862d0) +(define-rgb-color +darkorchid1+ 0.7490196078431373d0 0.24313725490196078d0 1.0d0) +(define-rgb-color +darkorchid2+ 0.6980392156862745d0 0.22745098039215686d0 0.9333333333333333d0) +(define-rgb-color +darkorchid3+ 0.6039215686274509d0 0.19607843137254902d0 0.803921568627451d0) +(define-rgb-color +darkorchid4+ 0.40784313725490196d0 0.13333333333333333d0 0.5450980392156862d0) +(define-rgb-color +purple1+ 0.6078431372549019d0 0.18823529411764706d0 1.0d0) +(define-rgb-color +purple2+ 0.5686274509803921d0 0.17254901960784313d0 0.9333333333333333d0) +(define-rgb-color +purple3+ 0.49019607843137253d0 0.14901960784313725d0 0.803921568627451d0) +(define-rgb-color +purple4+ 0.3333333333333333d0 0.10196078431372549d0 0.5450980392156862d0) +(define-rgb-color +mediumpurple1+ 0.6705882352941176d0 0.5098039215686274d0 1.0d0) +(define-rgb-color +mediumpurple2+ 0.6235294117647059d0 0.4745098039215686d0 0.9333333333333333d0) +(define-rgb-color +mediumpurple3+ 0.5372549019607843d0 0.40784313725490196d0 0.803921568627451d0) +(define-rgb-color +mediumpurple4+ 0.36470588235294116d0 0.2784313725490196d0 0.5450980392156862d0) +(define-rgb-color +thistle1+ 1.0d0 0.8823529411764706d0 1.0d0) +(define-rgb-color +thistle2+ 0.9333333333333333d0 0.8235294117647058d0 0.9333333333333333d0) +(define-rgb-color +thistle3+ 0.803921568627451d0 0.7098039215686275d0 0.803921568627451d0) +(define-rgb-color +thistle4+ 0.5450980392156862d0 0.4823529411764706d0 0.5450980392156862d0) +(define-rgb-color +gray0+ 0.0d0 0.0d0 0.0d0) +(define-rgb-color +grey0+ 0.0d0 0.0d0 0.0d0) +(define-rgb-color +gray1+ 0.011764705882352941d0 0.011764705882352941d0 0.011764705882352941d0) +(define-rgb-color +grey1+ 0.011764705882352941d0 0.011764705882352941d0 0.011764705882352941d0) +(define-rgb-color +gray2+ 0.0196078431372549d0 0.0196078431372549d0 0.0196078431372549d0) +(define-rgb-color +grey2+ 0.0196078431372549d0 0.0196078431372549d0 0.0196078431372549d0) +(define-rgb-color +gray3+ 0.03137254901960784d0 0.03137254901960784d0 0.03137254901960784d0) +(define-rgb-color +grey3+ 0.03137254901960784d0 0.03137254901960784d0 0.03137254901960784d0) +(define-rgb-color +gray4+ 0.0392156862745098d0 0.0392156862745098d0 0.0392156862745098d0) +(define-rgb-color +grey4+ 0.0392156862745098d0 0.0392156862745098d0 0.0392156862745098d0) +(define-rgb-color +gray5+ 0.050980392156862744d0 0.050980392156862744d0 0.050980392156862744d0) +(define-rgb-color +grey5+ 0.050980392156862744d0 0.050980392156862744d0 0.050980392156862744d0) +(define-rgb-color +gray6+ 0.058823529411764705d0 0.058823529411764705d0 0.058823529411764705d0) +(define-rgb-color +grey6+ 0.058823529411764705d0 0.058823529411764705d0 0.058823529411764705d0) +(define-rgb-color +gray7+ 0.07058823529411765d0 0.07058823529411765d0 0.07058823529411765d0) +(define-rgb-color +grey7+ 0.07058823529411765d0 0.07058823529411765d0 0.07058823529411765d0) +(define-rgb-color +gray8+ 0.0784313725490196d0 0.0784313725490196d0 0.0784313725490196d0) +(define-rgb-color +grey8+ 0.0784313725490196d0 0.0784313725490196d0 0.0784313725490196d0) +(define-rgb-color +gray9+ 0.09019607843137255d0 0.09019607843137255d0 0.09019607843137255d0) +(define-rgb-color +grey9+ 0.09019607843137255d0 0.09019607843137255d0 0.09019607843137255d0) +(define-rgb-color +gray10+ 0.10196078431372549d0 0.10196078431372549d0 0.10196078431372549d0) +(define-rgb-color +grey10+ 0.10196078431372549d0 0.10196078431372549d0 0.10196078431372549d0) +(define-rgb-color +gray11+ 0.10980392156862745d0 0.10980392156862745d0 0.10980392156862745d0) +(define-rgb-color +grey11+ 0.10980392156862745d0 0.10980392156862745d0 0.10980392156862745d0) +(define-rgb-color +gray12+ 0.12156862745098039d0 0.12156862745098039d0 0.12156862745098039d0) +(define-rgb-color +grey12+ 0.12156862745098039d0 0.12156862745098039d0 0.12156862745098039d0) +(define-rgb-color +gray13+ 0.12941176470588237d0 0.12941176470588237d0 0.12941176470588237d0) +(define-rgb-color +grey13+ 0.12941176470588237d0 0.12941176470588237d0 0.12941176470588237d0) +(define-rgb-color +gray14+ 0.1411764705882353d0 0.1411764705882353d0 0.1411764705882353d0) +(define-rgb-color +grey14+ 0.1411764705882353d0 0.1411764705882353d0 0.1411764705882353d0) +(define-rgb-color +gray15+ 0.14901960784313725d0 0.14901960784313725d0 0.14901960784313725d0) +(define-rgb-color +grey15+ 0.14901960784313725d0 0.14901960784313725d0 0.14901960784313725d0) +(define-rgb-color +gray16+ 0.1607843137254902d0 0.1607843137254902d0 0.1607843137254902d0) +(define-rgb-color +grey16+ 0.1607843137254902d0 0.1607843137254902d0 0.1607843137254902d0) +(define-rgb-color +gray17+ 0.16862745098039217d0 0.16862745098039217d0 0.16862745098039217d0) +(define-rgb-color +grey17+ 0.16862745098039217d0 0.16862745098039217d0 0.16862745098039217d0) +(define-rgb-color +gray18+ 0.1803921568627451d0 0.1803921568627451d0 0.1803921568627451d0) +(define-rgb-color +grey18+ 0.1803921568627451d0 0.1803921568627451d0 0.1803921568627451d0) +(define-rgb-color +gray19+ 0.18823529411764706d0 0.18823529411764706d0 0.18823529411764706d0) +(define-rgb-color +grey19+ 0.18823529411764706d0 0.18823529411764706d0 0.18823529411764706d0) +(define-rgb-color +gray20+ 0.2d0 0.2d0 0.2d0) +(define-rgb-color +grey20+ 0.2d0 0.2d0 0.2d0) +(define-rgb-color +gray21+ 0.21176470588235294d0 0.21176470588235294d0 0.21176470588235294d0) +(define-rgb-color +grey21+ 0.21176470588235294d0 0.21176470588235294d0 0.21176470588235294d0) +(define-rgb-color +gray22+ 0.2196078431372549d0 0.2196078431372549d0 0.2196078431372549d0) +(define-rgb-color +grey22+ 0.2196078431372549d0 0.2196078431372549d0 0.2196078431372549d0) +(define-rgb-color +gray23+ 0.23137254901960785d0 0.23137254901960785d0 0.23137254901960785d0) +(define-rgb-color +grey23+ 0.23137254901960785d0 0.23137254901960785d0 0.23137254901960785d0) +(define-rgb-color +gray24+ 0.23921568627450981d0 0.23921568627450981d0 0.23921568627450981d0) +(define-rgb-color +grey24+ 0.23921568627450981d0 0.23921568627450981d0 0.23921568627450981d0) +(define-rgb-color +gray25+ 0.25098039215686274d0 0.25098039215686274d0 0.25098039215686274d0) +(define-rgb-color +grey25+ 0.25098039215686274d0 0.25098039215686274d0 0.25098039215686274d0) +(define-rgb-color +gray26+ 0.25882352941176473d0 0.25882352941176473d0 0.25882352941176473d0) +(define-rgb-color +grey26+ 0.25882352941176473d0 0.25882352941176473d0 0.25882352941176473d0) +(define-rgb-color +gray27+ 0.27058823529411763d0 0.27058823529411763d0 0.27058823529411763d0) +(define-rgb-color +grey27+ 0.27058823529411763d0 0.27058823529411763d0 0.27058823529411763d0) +(define-rgb-color +gray28+ 0.2784313725490196d0 0.2784313725490196d0 0.2784313725490196d0) +(define-rgb-color +grey28+ 0.2784313725490196d0 0.2784313725490196d0 0.2784313725490196d0) +(define-rgb-color +gray29+ 0.2901960784313726d0 0.2901960784313726d0 0.2901960784313726d0) +(define-rgb-color +grey29+ 0.2901960784313726d0 0.2901960784313726d0 0.2901960784313726d0) +(define-rgb-color +gray30+ 0.30196078431372547d0 0.30196078431372547d0 0.30196078431372547d0) +(define-rgb-color +grey30+ 0.30196078431372547d0 0.30196078431372547d0 0.30196078431372547d0) +(define-rgb-color +gray31+ 0.30980392156862746d0 0.30980392156862746d0 0.30980392156862746d0) +(define-rgb-color +grey31+ 0.30980392156862746d0 0.30980392156862746d0 0.30980392156862746d0) +(define-rgb-color +gray32+ 0.3215686274509804d0 0.3215686274509804d0 0.3215686274509804d0) +(define-rgb-color +grey32+ 0.3215686274509804d0 0.3215686274509804d0 0.3215686274509804d0) +(define-rgb-color +gray33+ 0.32941176470588235d0 0.32941176470588235d0 0.32941176470588235d0) +(define-rgb-color +grey33+ 0.32941176470588235d0 0.32941176470588235d0 0.32941176470588235d0) +(define-rgb-color +gray34+ 0.3411764705882353d0 0.3411764705882353d0 0.3411764705882353d0) +(define-rgb-color +grey34+ 0.3411764705882353d0 0.3411764705882353d0 0.3411764705882353d0) +(define-rgb-color +gray35+ 0.34901960784313724d0 0.34901960784313724d0 0.34901960784313724d0) +(define-rgb-color +grey35+ 0.34901960784313724d0 0.34901960784313724d0 0.34901960784313724d0) +(define-rgb-color +gray36+ 0.3607843137254902d0 0.3607843137254902d0 0.3607843137254902d0) +(define-rgb-color +grey36+ 0.3607843137254902d0 0.3607843137254902d0 0.3607843137254902d0) +(define-rgb-color +gray37+ 0.3686274509803922d0 0.3686274509803922d0 0.3686274509803922d0) +(define-rgb-color +grey37+ 0.3686274509803922d0 0.3686274509803922d0 0.3686274509803922d0) +(define-rgb-color +gray38+ 0.3803921568627451d0 0.3803921568627451d0 0.3803921568627451d0) +(define-rgb-color +grey38+ 0.3803921568627451d0 0.3803921568627451d0 0.3803921568627451d0) +(define-rgb-color +gray39+ 0.38823529411764707d0 0.38823529411764707d0 0.38823529411764707d0) +(define-rgb-color +grey39+ 0.38823529411764707d0 0.38823529411764707d0 0.38823529411764707d0) +(define-rgb-color +gray40+ 0.4d0 0.4d0 0.4d0) +(define-rgb-color +grey40+ 0.4d0 0.4d0 0.4d0) +(define-rgb-color +gray41+ 0.4117647058823529d0 0.4117647058823529d0 0.4117647058823529d0) +(define-rgb-color +grey41+ 0.4117647058823529d0 0.4117647058823529d0 0.4117647058823529d0) +(define-rgb-color +gray42+ 0.4196078431372549d0 0.4196078431372549d0 0.4196078431372549d0) +(define-rgb-color +grey42+ 0.4196078431372549d0 0.4196078431372549d0 0.4196078431372549d0) +(define-rgb-color +gray43+ 0.43137254901960786d0 0.43137254901960786d0 0.43137254901960786d0) +(define-rgb-color +grey43+ 0.43137254901960786d0 0.43137254901960786d0 0.43137254901960786d0) +(define-rgb-color +gray44+ 0.4392156862745098d0 0.4392156862745098d0 0.4392156862745098d0) +(define-rgb-color +grey44+ 0.4392156862745098d0 0.4392156862745098d0 0.4392156862745098d0) +(define-rgb-color +gray45+ 0.45098039215686275d0 0.45098039215686275d0 0.45098039215686275d0) +(define-rgb-color +grey45+ 0.45098039215686275d0 0.45098039215686275d0 0.45098039215686275d0) +(define-rgb-color +gray46+ 0.4588235294117647d0 0.4588235294117647d0 0.4588235294117647d0) +(define-rgb-color +grey46+ 0.4588235294117647d0 0.4588235294117647d0 0.4588235294117647d0) +(define-rgb-color +gray47+ 0.47058823529411764d0 0.47058823529411764d0 0.47058823529411764d0) +(define-rgb-color +grey47+ 0.47058823529411764d0 0.47058823529411764d0 0.47058823529411764d0) +(define-rgb-color +gray48+ 0.47843137254901963d0 0.47843137254901963d0 0.47843137254901963d0) +(define-rgb-color +grey48+ 0.47843137254901963d0 0.47843137254901963d0 0.47843137254901963d0) +(define-rgb-color +gray49+ 0.49019607843137253d0 0.49019607843137253d0 0.49019607843137253d0) +(define-rgb-color +grey49+ 0.49019607843137253d0 0.49019607843137253d0 0.49019607843137253d0) +(define-rgb-color +gray50+ 0.4980392156862745d0 0.4980392156862745d0 0.4980392156862745d0) +(define-rgb-color +grey50+ 0.4980392156862745d0 0.4980392156862745d0 0.4980392156862745d0) +(define-rgb-color +gray51+ 0.5098039215686274d0 0.5098039215686274d0 0.5098039215686274d0) +(define-rgb-color +grey51+ 0.5098039215686274d0 0.5098039215686274d0 0.5098039215686274d0) +(define-rgb-color +gray52+ 0.5215686274509804d0 0.5215686274509804d0 0.5215686274509804d0) +(define-rgb-color +grey52+ 0.5215686274509804d0 0.5215686274509804d0 0.5215686274509804d0) +(define-rgb-color +gray53+ 0.5294117647058824d0 0.5294117647058824d0 0.5294117647058824d0) +(define-rgb-color +grey53+ 0.5294117647058824d0 0.5294117647058824d0 0.5294117647058824d0) +(define-rgb-color +gray54+ 0.5411764705882353d0 0.5411764705882353d0 0.5411764705882353d0) +(define-rgb-color +grey54+ 0.5411764705882353d0 0.5411764705882353d0 0.5411764705882353d0) +(define-rgb-color +gray55+ 0.5490196078431373d0 0.5490196078431373d0 0.5490196078431373d0) +(define-rgb-color +grey55+ 0.5490196078431373d0 0.5490196078431373d0 0.5490196078431373d0) +(define-rgb-color +gray56+ 0.5607843137254902d0 0.5607843137254902d0 0.5607843137254902d0) +(define-rgb-color +grey56+ 0.5607843137254902d0 0.5607843137254902d0 0.5607843137254902d0) +(define-rgb-color +gray57+ 0.5686274509803921d0 0.5686274509803921d0 0.5686274509803921d0) +(define-rgb-color +grey57+ 0.5686274509803921d0 0.5686274509803921d0 0.5686274509803921d0) +(define-rgb-color +gray58+ 0.5803921568627451d0 0.5803921568627451d0 0.5803921568627451d0) +(define-rgb-color +grey58+ 0.5803921568627451d0 0.5803921568627451d0 0.5803921568627451d0) +(define-rgb-color +gray59+ 0.5882352941176471d0 0.5882352941176471d0 0.5882352941176471d0) +(define-rgb-color +grey59+ 0.5882352941176471d0 0.5882352941176471d0 0.5882352941176471d0) +(define-rgb-color +gray60+ 0.6d0 0.6d0 0.6d0) +(define-rgb-color +grey60+ 0.6d0 0.6d0 0.6d0) +(define-rgb-color +gray61+ 0.611764705882353d0 0.611764705882353d0 0.611764705882353d0) +(define-rgb-color +grey61+ 0.611764705882353d0 0.611764705882353d0 0.611764705882353d0) +(define-rgb-color +gray62+ 0.6196078431372549d0 0.6196078431372549d0 0.6196078431372549d0) +(define-rgb-color +grey62+ 0.6196078431372549d0 0.6196078431372549d0 0.6196078431372549d0) +(define-rgb-color +gray63+ 0.6313725490196078d0 0.6313725490196078d0 0.6313725490196078d0) +(define-rgb-color +grey63+ 0.6313725490196078d0 0.6313725490196078d0 0.6313725490196078d0) +(define-rgb-color +gray64+ 0.6392156862745098d0 0.6392156862745098d0 0.6392156862745098d0) +(define-rgb-color +grey64+ 0.6392156862745098d0 0.6392156862745098d0 0.6392156862745098d0) +(define-rgb-color +gray65+ 0.6509803921568628d0 0.6509803921568628d0 0.6509803921568628d0) +(define-rgb-color +grey65+ 0.6509803921568628d0 0.6509803921568628d0 0.6509803921568628d0) +(define-rgb-color +gray66+ 0.6588235294117647d0 0.6588235294117647d0 0.6588235294117647d0) +(define-rgb-color +grey66+ 0.6588235294117647d0 0.6588235294117647d0 0.6588235294117647d0) +(define-rgb-color +gray67+ 0.6705882352941176d0 0.6705882352941176d0 0.6705882352941176d0) +(define-rgb-color +grey67+ 0.6705882352941176d0 0.6705882352941176d0 0.6705882352941176d0) +(define-rgb-color +gray68+ 0.6784313725490196d0 0.6784313725490196d0 0.6784313725490196d0) +(define-rgb-color +grey68+ 0.6784313725490196d0 0.6784313725490196d0 0.6784313725490196d0) +(define-rgb-color +gray69+ 0.6901960784313725d0 0.6901960784313725d0 0.6901960784313725d0) +(define-rgb-color +grey69+ 0.6901960784313725d0 0.6901960784313725d0 0.6901960784313725d0) +(define-rgb-color +gray70+ 0.7019607843137254d0 0.7019607843137254d0 0.7019607843137254d0) +(define-rgb-color +grey70+ 0.7019607843137254d0 0.7019607843137254d0 0.7019607843137254d0) +(define-rgb-color +gray71+ 0.7098039215686275d0 0.7098039215686275d0 0.7098039215686275d0) +(define-rgb-color +grey71+ 0.7098039215686275d0 0.7098039215686275d0 0.7098039215686275d0) +(define-rgb-color +gray72+ 0.7215686274509804d0 0.7215686274509804d0 0.7215686274509804d0) +(define-rgb-color +grey72+ 0.7215686274509804d0 0.7215686274509804d0 0.7215686274509804d0) +(define-rgb-color +gray73+ 0.7294117647058823d0 0.7294117647058823d0 0.7294117647058823d0) +(define-rgb-color +grey73+ 0.7294117647058823d0 0.7294117647058823d0 0.7294117647058823d0) +(define-rgb-color +gray74+ 0.7411764705882353d0 0.7411764705882353d0 0.7411764705882353d0) +(define-rgb-color +grey74+ 0.7411764705882353d0 0.7411764705882353d0 0.7411764705882353d0) +(define-rgb-color +gray75+ 0.7490196078431373d0 0.7490196078431373d0 0.7490196078431373d0) +(define-rgb-color +grey75+ 0.7490196078431373d0 0.7490196078431373d0 0.7490196078431373d0) +(define-rgb-color +gray76+ 0.7607843137254902d0 0.7607843137254902d0 0.7607843137254902d0) +(define-rgb-color +grey76+ 0.7607843137254902d0 0.7607843137254902d0 0.7607843137254902d0) +(define-rgb-color +gray77+ 0.7686274509803922d0 0.7686274509803922d0 0.7686274509803922d0) +(define-rgb-color +grey77+ 0.7686274509803922d0 0.7686274509803922d0 0.7686274509803922d0) +(define-rgb-color +gray78+ 0.7803921568627451d0 0.7803921568627451d0 0.7803921568627451d0) +(define-rgb-color +grey78+ 0.7803921568627451d0 0.7803921568627451d0 0.7803921568627451d0) +(define-rgb-color +gray79+ 0.788235294117647d0 0.788235294117647d0 0.788235294117647d0) +(define-rgb-color +grey79+ 0.788235294117647d0 0.788235294117647d0 0.788235294117647d0) +(define-rgb-color +gray80+ 0.8d0 0.8d0 0.8d0) +(define-rgb-color +grey80+ 0.8d0 0.8d0 0.8d0) +(define-rgb-color +gray81+ 0.8117647058823529d0 0.8117647058823529d0 0.8117647058823529d0) +(define-rgb-color +grey81+ 0.8117647058823529d0 0.8117647058823529d0 0.8117647058823529d0) +(define-rgb-color +gray82+ 0.8196078431372549d0 0.8196078431372549d0 0.8196078431372549d0) +(define-rgb-color +grey82+ 0.8196078431372549d0 0.8196078431372549d0 0.8196078431372549d0) +(define-rgb-color +gray83+ 0.8313725490196079d0 0.8313725490196079d0 0.8313725490196079d0) +(define-rgb-color +grey83+ 0.8313725490196079d0 0.8313725490196079d0 0.8313725490196079d0) +(define-rgb-color +gray84+ 0.8392156862745098d0 0.8392156862745098d0 0.8392156862745098d0) +(define-rgb-color +grey84+ 0.8392156862745098d0 0.8392156862745098d0 0.8392156862745098d0) +(define-rgb-color +gray85+ 0.8509803921568627d0 0.8509803921568627d0 0.8509803921568627d0) +(define-rgb-color +grey85+ 0.8509803921568627d0 0.8509803921568627d0 0.8509803921568627d0) +(define-rgb-color +gray86+ 0.8588235294117647d0 0.8588235294117647d0 0.8588235294117647d0) +(define-rgb-color +grey86+ 0.8588235294117647d0 0.8588235294117647d0 0.8588235294117647d0) +(define-rgb-color +gray87+ 0.8705882352941177d0 0.8705882352941177d0 0.8705882352941177d0) +(define-rgb-color +grey87+ 0.8705882352941177d0 0.8705882352941177d0 0.8705882352941177d0) +(define-rgb-color +gray88+ 0.8784313725490196d0 0.8784313725490196d0 0.8784313725490196d0) +(define-rgb-color +grey88+ 0.8784313725490196d0 0.8784313725490196d0 0.8784313725490196d0) +(define-rgb-color +gray89+ 0.8901960784313725d0 0.8901960784313725d0 0.8901960784313725d0) +(define-rgb-color +grey89+ 0.8901960784313725d0 0.8901960784313725d0 0.8901960784313725d0) +(define-rgb-color +gray90+ 0.8980392156862745d0 0.8980392156862745d0 0.8980392156862745d0) +(define-rgb-color +grey90+ 0.8980392156862745d0 0.8980392156862745d0 0.8980392156862745d0) +(define-rgb-color +gray91+ 0.9098039215686274d0 0.9098039215686274d0 0.9098039215686274d0) +(define-rgb-color +grey91+ 0.9098039215686274d0 0.9098039215686274d0 0.9098039215686274d0) +(define-rgb-color +gray92+ 0.9215686274509803d0 0.9215686274509803d0 0.9215686274509803d0) +(define-rgb-color +grey92+ 0.9215686274509803d0 0.9215686274509803d0 0.9215686274509803d0) +(define-rgb-color +gray93+ 0.9294117647058824d0 0.9294117647058824d0 0.9294117647058824d0) +(define-rgb-color +grey93+ 0.9294117647058824d0 0.9294117647058824d0 0.9294117647058824d0) +(define-rgb-color +gray94+ 0.9411764705882353d0 0.9411764705882353d0 0.9411764705882353d0) +(define-rgb-color +grey94+ 0.9411764705882353d0 0.9411764705882353d0 0.9411764705882353d0) +(define-rgb-color +gray95+ 0.9490196078431372d0 0.9490196078431372d0 0.9490196078431372d0) +(define-rgb-color +grey95+ 0.9490196078431372d0 0.9490196078431372d0 0.9490196078431372d0) +(define-rgb-color +gray96+ 0.9607843137254902d0 0.9607843137254902d0 0.9607843137254902d0) +(define-rgb-color +grey96+ 0.9607843137254902d0 0.9607843137254902d0 0.9607843137254902d0) +(define-rgb-color +gray97+ 0.9686274509803922d0 0.9686274509803922d0 0.9686274509803922d0) +(define-rgb-color +grey97+ 0.9686274509803922d0 0.9686274509803922d0 0.9686274509803922d0) +(define-rgb-color +gray98+ 0.9803921568627451d0 0.9803921568627451d0 0.9803921568627451d0) +(define-rgb-color +grey98+ 0.9803921568627451d0 0.9803921568627451d0 0.9803921568627451d0) +(define-rgb-color +gray99+ 0.9882352941176471d0 0.9882352941176471d0 0.9882352941176471d0) +(define-rgb-color +grey99+ 0.9882352941176471d0 0.9882352941176471d0 0.9882352941176471d0) +(define-rgb-color +gray100+ 1.0d0 1.0d0 1.0d0) +(define-rgb-color +grey100+ 1.0d0 1.0d0 1.0d0) +(define-rgb-color +darkgrey+ 0.6627450980392157d0 0.6627450980392157d0 0.6627450980392157d0) +(define-rgb-color +darkgray+ 0.6627450980392157d0 0.6627450980392157d0 0.6627450980392157d0) +(define-rgb-color +darkblue+ 0.0d0 0.0d0 0.5450980392156862d0) +(define-rgb-color +darkcyan+ 0.0d0 0.5450980392156862d0 0.5450980392156862d0) +(define-rgb-color +darkmagenta+ 0.5450980392156862d0 0.0d0 0.5450980392156862d0) +(define-rgb-color +darkred+ 0.5450980392156862d0 0.0d0 0.0d0) +(define-rgb-color +lightgreen+ 0.5647058823529412d0 0.9333333333333333d0 0.5647058823529412d0) Added: colors.lisp ============================================================================== --- (empty file) +++ colors.lisp Mon Aug 13 07:52:20 2007 @@ -0,0 +1,168 @@ +(in-package :cl-colors) + +;;;; +;;;; rgb +;;;; + +(defclass rgb () + ((red :initform 0 :type (real 0 1) :initarg :red :accessor red) + (green :initform 0 :type (real 0 1) :initarg :green :accessor green) + (blue :initform 0 :type (real 0 1) :initarg :blue :accessor blue))) + +(defmethod print-object ((obj rgb) stream) + (print-unreadable-object (obj stream :type t) + (with-slots (red green blue) obj + (format stream "red: ~a green: ~a blue: ~a" red green blue)))) + +(defmethod make-load-form ((obj rgb) &optional environment) + (make-load-form-saving-slots obj :environment environment)) + +;;;; +;;;; rgba +;;;; + +(defclass rgba (rgb) + ((alpha :initform 1 :type (real 0 1) :initarg :alpha :accessor alpha))) + +(defmethod print-object ((obj rgba) stream) + (print-unreadable-object (obj stream :type t) + (with-slots (red green blue alpha) obj + (format stream "red: ~a green: ~a blue: ~a alpha: ~a" + red green blue alpha)))) +;;;; +;;;; hsv +;;;; + +(defclass hsv () + ((hue :initform 0 :type (real 0 360) :initarg :hue :accessor hue) + (saturation :initform 0 :type (real 0 1) :initarg :saturation + :accessor saturation) + (value :initform 0 :type (real 0 1) :initarg :value :accessor value))) + +(defmethod print-object ((obj hsv) stream) + (print-unreadable-object (obj stream :type t) + (with-slots (hue saturation value) obj + (format stream "hue: ~a saturation: ~a value: ~a" + hue saturation value)))) + +(defun normalize-hue (hue) + "Normalize hue into the interval [0,360)." + (mod hue 360)) + +;;;; +;;;; conversions +;;;; + +(defun rgb->hsv (rgb &optional (undefined-hue 0)) + "Convert RGB to HSV representation. When hue is undefined +\(saturation is zero), undefined-hue will be assigned." + (with-slots (red green blue) rgb + (let* ((value (max red green blue)) + (delta (- value (min red green blue))) + (saturation (if (plusp value) + (/ delta value) + 0))) + (flet ((normalize (constant right left) + (let ((hue (+ constant (/ (* 60 (- right left)) delta)))) + (if (minusp hue) + (+ hue 360) + hue)))) + (make-instance 'hsv + :hue (cond + ((zerop saturation) undefined-hue) ; undefined + ((= red value) (normalize 0 green blue)) ; dominant red + ((= green value) (normalize 120 blue red)) ; dominant green + (t (normalize 240 red green))) + :saturation saturation + :value value))))) + +(defun hsv->rgb (hsv) + "Convert HSV to RGB representation. When saturation is zero, hue is +ignored." + (with-slots (hue saturation value) hsv + ;; if saturation=0, color is on the gray line + (when (zerop saturation) + (return-from hsv->rgb (make-instance 'rgb + :red value :green value :blue value))) + ;; nonzero saturation: normalize hue to [0,6) + (let ((h (/ (normalize-hue hue) 60))) + (multiple-value-bind (quotient remainder) (floor h) + (let ((p (* value (- 1 saturation))) + (q (* value (- 1 (* saturation remainder)))) + (r (* value (- 1 (* saturation (- 1 remainder)))))) + (multiple-value-bind (red green blue) + (case quotient + (0 (values value r p)) + (1 (values q value p)) + (2 (values p value r)) + (3 (values p q value)) + (4 (values r p value)) + (t (values value p q))) + (make-instance 'rgb + :red red + :green green + :blue blue))))))) + +;;;; +;;;; conversion with generic functions +;;;; + +(defgeneric ->hsv (color &optional undefined-hue)) + +(defmethod ->hsv ((color rgb) &optional (undefined-hue 0)) + (rgb->hsv color undefined-hue)) + +(defmethod ->hsv ((color hsv) &optional undefined-hue) + (declare (ignore undefined-hue)) + color) + +(defgeneric ->rgb (color)) + +(defmethod ->rgb ((color rgb)) + color) + +(defmethod ->rgb ((color hsv)) + (hsv->rgb color)) + +;;;; +;;;; convex combinations +;;;; + +(defun convex-combination (a b alpha) + "Convex combination (1-alpha*a+alpha*b." + (declare ((real 0 1) alpha)) + (+ (* (- 1 alpha) a) (* alpha b))) + +(defun hue-combination (hue1 hue2 alpha &optional (positivep t)) + "Return a convex combination of hue1 (with weight 1-alpha) and +hue2 \(with weight alpha), in the positive or negative direction +on the color wheel." + (cond + ((and positivep (> hue1 hue2)) + (normalize-hue (convex-combination hue1 (+ hue2 360) alpha))) + ((and (not positivep) (< hue1 hue2)) + (normalize-hue (convex-combination (+ hue1 360) hue2 alpha))) + (t (convex-combination hue1 hue2 alpha)))) + +(defmacro with-convex-combination ((cc instance1 instance2 alpha) + &body body) + "Wrap body in a macrolet so that (cc #'accessor) returns the +convex combination of the slots of instance1 and instance2 +accessed by accessor." + `(macrolet ((,cc (accessor) + (once-only (accessor) + `(convex-combination (funcall ,accessor ,',instance1) + (funcall ,accessor ,',instance2) + ,',alpha)))) + , at body)) + +(defun rgb-combination (rgb1 rgb2 alpha) + "Convex combination in RGB space." + (with-convex-combination (cc rgb1 rgb2 alpha) + (make-instance 'rgb :red (cc #'red) :green (cc #'green) :blue (cc #'blue)))) + +(defun hsv-combination (hsv1 hsv2 alpha positivep) + (with-convex-combination (cc hsv1 hsv2 alpha) + (make-instance 'hsv + :hue (hue-combination (hue hsv1) (hue hsv2) alpha positivep) + :saturation (cc #'saturation) :value (cc #'value)))) Added: package.lisp ============================================================================== --- (empty file) +++ package.lisp Mon Aug 13 07:52:20 2007 @@ -0,0 +1,7 @@ +(defpackage :cl-colors + (:use :common-lisp :cl-utilities) + (:export rgb red green blue + rgba alpha + hsv hue saturation value + rgb->hsv hsv->rgb ->hsv ->rgb + convex-combination hue-combination rgb-combination hsv-combination)) Added: parse-x11.lisp ============================================================================== --- (empty file) +++ parse-x11.lisp Mon Aug 13 07:52:20 2007 @@ -0,0 +1,48 @@ +;; parse X11's rgb.txt + +(require :cl-ppcre) + +(let ((color-scanner ; will only take names w/o spaces + (cl-ppcre:create-scanner + "^\\s*(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([\\s\\w]+\?)\\s*$" + :extended-mode t)) + (comment-scanner + (cl-ppcre:create-scanner + "^\\s*!"))) + (with-open-file (s "/usr/share/X11/rgb.txt" + :direction :input + :if-does-not-exist :error) + (with-open-file (colornames "colornames.lisp" + :direction :output + :if-exists :overwrite + :if-does-not-exist :create) + (format colornames ";;;; This file was generated automatically ~ +by parse-x11.lisp~%~ +;;;; Please do not edit directly.~%~ + (in-package :cl-colors)~%~ + (defmacro define-rgb-color (name red green blue) + `(progn + (defconstant ,name (if (boundp ',name) + (symbol-value ',name) + (make-instance 'rgb + :red ,red + :green ,green + :blue ,blue))) + (export ',name)))~%") + (labels ((string-to-float (string) + (let ((i (read-from-string string))) + (assert (and (typep i 'integer) (<= i 255))) + (/ i 255d0)))) + (do ((line (read-line s nil nil) (read-line s nil nil))) + ((not line)) + (unless (cl-ppcre:scan-to-strings comment-scanner line) + (multiple-value-bind (match registers) + (cl-ppcre:scan-to-strings color-scanner line) + (if (and match (not (find #\space (aref registers 3)))) + (format colornames + "(define-rgb-color +~A+ ~A ~A ~A)~%" + (string-downcase (aref registers 3)) + (string-to-float (aref registers 0)) + (string-to-float (aref registers 1)) + (string-to-float (aref registers 2))) + (format t "ignoring line ~A~%" line))))))))) Added: test.lisp ============================================================================== --- (empty file) +++ test.lisp Mon Aug 13 07:52:20 2007 @@ -0,0 +1,27 @@ +(in-package :cl-colors) + +(defun rgb= (rgb1 rgb2 &optional (epsilon 1e-10)) + (flet ((eps= (a b) + (<= (abs (- a b)) epsilon))) + (with-slots ((red1 red) (green1 green) (blue1 blue)) rgb1 + (with-slots ((red2 red) (green2 green) (blue2 blue)) rgb2 + (and (eps= red1 red2) (eps= green1 green2) (eps= blue1 blue2)))))) + +(defun test-hsv-rgb () + (let* ((rgb (make-instance 'rgb + :red (random 1d0) + :green (random 1d0) + :blue (random 1d0))) + (hsv (rgb->hsv rgb)) + (rgb2 (hsv->rgb hsv)) + (result (rgb= rgb rgb2))) + (unless result + (format t "~a does not equal ~a~%" rgb rgb2)) + result)) + +(dotimes (i 1000) (test-hsv-rgb)) + +(defun test-hue-combination (from to positivep) + (dotimes (i 21) + (format t "~a " (hue-combination from to (/ i 20) positivep)))) + From tpapp at common-lisp.net Mon Aug 13 14:00:14 2007 From: tpapp at common-lisp.net (tpapp at common-lisp.net) Date: Mon, 13 Aug 2007 10:00:14 -0400 (EDT) Subject: [cl-colors-cvs] r2 - Message-ID: <20070813140014.1EF1533081@common-lisp.net> Author: tpapp Date: Mon Aug 13 10:00:13 2007 New Revision: 2 Added: introduction.txt Log: added introduction Added: introduction.txt ============================================================================== --- (empty file) +++ introduction.txt Mon Aug 13 10:00:13 2007 @@ -0,0 +1,52 @@ +Color classes +------------- + +The two main color classes are rgb and hsv, which have slots red, +green, blue and hue, saturation, value respectively. There is also an +rgb class with an alpha channel (slot alpha) called rgba. In the rgb +class, valid slot values are from 0 to 1, while in the hsv class, +saturation and value are in the interval [0,1], but hue is in [0,360). + +You can convert between rgb and hsv using rgb->hsv and hsv->rgb. Note +that for the former, you need to specify what happens when the hue is +undefined (ie the color is gray). By default, the hue of red (0) is +assigned. + +Generic functions which find the appropriate conversion method are +available with names ->rgb and ->hsv. Use these if you want your +functions to handle various different color representations but +eventually you need to work with a single one. + + + +Named colors +------------ + +Named colors, parsed from the X11 colors file, are loaded from +colornames.lisp. As they are constants, names are between +'s. All +named colors are rgb. + + + +Convex combinations +------------------- + +Use hsv-combination or rgb-combination for taking convex combinations +in the respective color space. Note that in the HSV space, you need +to specify the direction on the color wheel, the default is positive. + + +Example session +--------------- + +CL-COLORS> +blue+ +# +CL-COLORS> (->hsv +blue+) +# +CL-COLORS> (rgb-combination +blue+ +green+ 0.5) +# +CL-COLORS> (->rgb (hsv-combination (->hsv +blue+) (->hsv +green+) 0.5)) +# +CL-COLORS> (->rgb (hsv-combination (->hsv +blue+) (->hsv +green+) 0.5 nil)) +# +