* faster compilation?  (replaced the macro expansions with static data + looping)

--- src/common/ParseColor.cxx
+++ src/common/ParseColor.cxx
@@ -27,12 +27,12 @@
 //============================================================================//
 //============================================================================//

-struct ColorData {
-  ColorData()
+struct ColorMapData {
+  ColorMapData()
   {
     data[0] = data[1] = data[2] = data[3] = 1.0f;
   }
-  ColorData(float r, float g, float b, float a = 1.0f)
+  ColorMapData(float r, float g, float b, float a = 1.0f)
   {
     data[0] = r;
     data[1] = g;
@@ -42,7 +42,7 @@
   float data[4];
 };

-typedef std::map<std::string, ColorData> ColorMap;
+typedef std::map<std::string, ColorMapData> ColorMap;

 static const ColorMap& getColorMap();

@@ -88,26 +88,26 @@
   }

   switch (index) {
-    case 3: { // #rgb
+    case 3: { // rgb
       color[0] = (float)bytes[0] / 15.0f;
       color[1] = (float)bytes[1] / 15.0f;
       color[2] = (float)bytes[2] / 15.0f;
       return true;
     }
-    case 4: { // #rgba
+    case 4: { // rgba
       color[0] = (float)bytes[0] / 15.0f;
       color[1] = (float)bytes[1] / 15.0f;
       color[2] = (float)bytes[2] / 15.0f;
       color[3] = (float)bytes[3] / 15.0f;
       return true;
     }
-    case 6: { // #rrggbb
+    case 6: { // rrggbb
       color[0] = (float)((bytes[0] << 4) + bytes[1]) / 255.0f;
       color[1] = (float)((bytes[2] << 4) + bytes[3]) / 255.0f;
       color[2] = (float)((bytes[4] << 4) + bytes[5]) / 255.0f;
       return true;
     }
-    case 8: { // #rrggbbaa
+    case 8: { // rrggbbaa
       color[0] = (float)((bytes[0] << 4) + bytes[1]) / 255.0f;
       color[1] = (float)((bytes[2] << 4) + bytes[3]) / 255.0f;
       color[2] = (float)((bytes[4] << 4) + bytes[5]) / 255.0f;
@@ -174,7 +174,7 @@

 bool parseColorCString(const char* str, float color[4])
 {
-  const float white[4] = { 1.0f, 1.0f, 1.0f, 1.0f };
+  static const float white[4] = { 1.0f, 1.0f, 1.0f, 1.0f };

   // default to opaque white
   memcpy(color, white, sizeof(float[4]));
@@ -187,17 +187,17 @@
     return false;
   }

-  // hexadecimal format (#rgb, #rgba, #rrggbb #rrggbbaa)
+  // hexadecimal format (#rgb, #rgba, #rrggbb, or #rrggbbaa)
   if (str[0] == '#') {
     return parseHexFormat(str + 1, color);
   }

-  // hexadecimal format (0xRGB, 0xRGBA, 0xRRGGBB 0xRRGGBBAA)
+  // hexadecimal format (0xRGB, 0xRGBA, 0xRRGGBB, or 0xRRGGBBAA)
   if ((str[0] == '0') && (str[1] == 'x')) {
     return parseHexFormat(str + 2, color);
   }

-  // numeric format (either 3 or 4 floating point values)
+  // float format (either 3 or 4 floating point values)
   if (((str[0] >= '0') && (str[0] <= '9'))
       || (str[0] == '.')
       || (str[0] == '+')
@@ -210,6 +210,12 @@
 }

+bool parseColorString(const std::string& str, float color[4])
+{
+  return parseColorCString(str.c_str(), color);
+}
+
+
 bool parseColorStream(std::istream& input, float color[4])
 {
   std::string line;
@@ -220,14 +226,16 @@
 }

-bool parseColorString(const std::string& str, float color[4])
-{
-  return parseColorCString(str.c_str(), color);
-}
-
-
-//============================================================================//
-//============================================================================//
+//============================================================================//
+//============================================================================//
+
+struct ColorArrayData {
+  const char* name;
+  float r;
+  float g;
+  float b;
+};
+

 static const ColorMap& getColorMap()
 {
@@ -237,763 +245,768 @@
   }

   // the name/color pairs were generated using the X11 rgb.txt file
-
-#undef  ADD_COLOR
-#define ADD_COLOR(n, r, g, b) \
-  colorMap[TextUtils::tolower(n)] = ColorData((r), (g), (b))
-
-  ADD_COLOR("snow",                   1.000000f, 0.980392f, 0.980392f);
-  ADD_COLOR("ghost_white",            0.972549f, 0.972549f, 1.000000f);
-  ADD_COLOR("GhostWhite",             0.972549f, 0.972549f, 1.000000f);
-  ADD_COLOR("white_smoke",            0.960784f, 0.960784f, 0.960784f);
-  ADD_COLOR("WhiteSmoke",             0.960784f, 0.960784f, 0.960784f);
-  ADD_COLOR("gainsboro",              0.862745f, 0.862745f, 0.862745f);
-  ADD_COLOR("floral_white",           1.000000f, 0.980392f, 0.941176f);
-  ADD_COLOR("FloralWhite",            1.000000f, 0.980392f, 0.941176f);
-  ADD_COLOR("old_lace",               0.992157f, 0.960784f, 0.901961f);
-  ADD_COLOR("OldLace",                0.992157f, 0.960784f, 0.901961f);
-  ADD_COLOR("linen",                  0.980392f, 0.941176f, 0.901961f);
-  ADD_COLOR("antique_white",          0.980392f, 0.921569f, 0.843137f);
-  ADD_COLOR("AntiqueWhite",           0.980392f, 0.921569f, 0.843137f);
-  ADD_COLOR("papaya_whip",            1.000000f, 0.937255f, 0.835294f);
-  ADD_COLOR("PapayaWhip",             1.000000f, 0.937255f, 0.835294f);
-  ADD_COLOR("blanched_almond",        1.000000f, 0.921569f, 0.803922f);
-  ADD_COLOR("BlanchedAlmond",         1.000000f, 0.921569f, 0.803922f);
-  ADD_COLOR("bisque",                 1.000000f, 0.894118f, 0.768627f);
-  ADD_COLOR("peach_puff",             1.000000f, 0.854902f, 0.725490f);
-  ADD_COLOR("PeachPuff",              1.000000f, 0.854902f, 0.725490f);
-  ADD_COLOR("navajo_white",           1.000000f, 0.870588f, 0.678431f);
-  ADD_COLOR("NavajoWhite",            1.000000f, 0.870588f, 0.678431f);
-  ADD_COLOR("moccasin",               1.000000f, 0.894118f, 0.709804f);
-  ADD_COLOR("cornsilk",               1.000000f, 0.972549f, 0.862745f);
-  ADD_COLOR("ivory",                  1.000000f, 1.000000f, 0.941176f);
-  ADD_COLOR("lemon_chiffon",          1.000000f, 0.980392f, 0.803922f);
-  ADD_COLOR("LemonChiffon",           1.000000f, 0.980392f, 0.803922f);
-  ADD_COLOR("seashell",               1.000000f, 0.960784f, 0.933333f);
-  ADD_COLOR("honeydew",               0.941176f, 1.000000f, 0.941176f);
-  ADD_COLOR("mint_cream",             0.960784f, 1.000000f, 0.980392f);
-  ADD_COLOR("MintCream",              0.960784f, 1.000000f, 0.980392f);
-  ADD_COLOR("azure",                  0.941176f, 1.000000f, 1.000000f);
-  ADD_COLOR("alice_blue",             0.941176f, 0.972549f, 1.000000f);
-  ADD_COLOR("AliceBlue",              0.941176f, 0.972549f, 1.000000f);
-  ADD_COLOR("lavender",               0.901961f, 0.901961f, 0.980392f);
-  ADD_COLOR("lavender_blush",         1.000000f, 0.941176f, 0.960784f);
-  ADD_COLOR("LavenderBlush",          1.000000f, 0.941176f, 0.960784f);
-  ADD_COLOR("misty_rose",             1.000000f, 0.894118f, 0.882353f);
-  ADD_COLOR("MistyRose",              1.000000f, 0.894118f, 0.882353f);
-  ADD_COLOR("white",                  1.000000f, 1.000000f, 1.000000f);
-  ADD_COLOR("black",                  0.000000f, 0.000000f, 0.000000f);
-  ADD_COLOR("dark_slate_gray",        0.184314f, 0.309804f, 0.309804f);
-  ADD_COLOR("DarkSlateGray",          0.184314f, 0.309804f, 0.309804f);
-  ADD_COLOR("dark_slate_grey",        0.184314f, 0.309804f, 0.309804f);
-  ADD_COLOR("DarkSlateGrey",          0.184314f, 0.309804f, 0.309804f);
-  ADD_COLOR("dim_gray",               0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("DimGray",                0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("dim_grey",               0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("DimGrey",                0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("slate_gray",             0.439216f, 0.501961f, 0.564706f);
-  ADD_COLOR("SlateGray",              0.439216f, 0.501961f, 0.564706f);
-  ADD_COLOR("slate_grey",             0.439216f, 0.501961f, 0.564706f);
-  ADD_COLOR("SlateGrey",              0.439216f, 0.501961f, 0.564706f);
-  ADD_COLOR("light_slate_gray",       0.466667f, 0.533333f, 0.600000f);
-  ADD_COLOR("LightSlateGray",         0.466667f, 0.533333f, 0.600000f);
-  ADD_COLOR("light_slate_grey",       0.466667f, 0.533333f, 0.600000f);
-  ADD_COLOR("LightSlateGrey",         0.466667f, 0.533333f, 0.600000f);
-  ADD_COLOR("gray",                   0.745098f, 0.745098f, 0.745098f);
-  ADD_COLOR("grey",                   0.745098f, 0.745098f, 0.745098f);
-  ADD_COLOR("light_grey",             0.827451f, 0.827451f, 0.827451f);
-  ADD_COLOR("LightGrey",              0.827451f, 0.827451f, 0.827451f);
-  ADD_COLOR("light_gray",             0.827451f, 0.827451f, 0.827451f);
-  ADD_COLOR("LightGray",              0.827451f, 0.827451f, 0.827451f);
-  ADD_COLOR("midnight_blue",          0.098039f, 0.098039f, 0.439216f);
-  ADD_COLOR("MidnightBlue",           0.098039f, 0.098039f, 0.439216f);
-  ADD_COLOR("navy",                   0.000000f, 0.000000f, 0.501961f);
-  ADD_COLOR("navy_blue",              0.000000f, 0.000000f, 0.501961f);
-  ADD_COLOR("NavyBlue",               0.000000f, 0.000000f, 0.501961f);
-  ADD_COLOR("cornflower_blue",        0.392157f, 0.584314f, 0.929412f);
-  ADD_COLOR("CornflowerBlue",         0.392157f, 0.584314f, 0.929412f);
-  ADD_COLOR("dark_slate_blue",        0.282353f, 0.239216f, 0.545098f);
-  ADD_COLOR("DarkSlateBlue",          0.282353f, 0.239216f, 0.545098f);
-  ADD_COLOR("slate_blue",             0.415686f, 0.352941f, 0.803922f);
-  ADD_COLOR("SlateBlue",              0.415686f, 0.352941f, 0.803922f);
-  ADD_COLOR("medium_slate_blue",      0.482353f, 0.407843f, 0.933333f);
-  ADD_COLOR("MediumSlateBlue",        0.482353f, 0.407843f, 0.933333f);
-  ADD_COLOR("light_slate_blue",       0.517647f, 0.439216f, 1.000000f);
-  ADD_COLOR("LightSlateBlue",         0.517647f, 0.439216f, 1.000000f);
-  ADD_COLOR("medium_blue",            0.000000f, 0.000000f, 0.803922f);
-  ADD_COLOR("MediumBlue",             0.000000f, 0.000000f, 0.803922f);
-  ADD_COLOR("royal_blue",             0.254902f, 0.411765f, 0.882353f);
-  ADD_COLOR("RoyalBlue",              0.254902f, 0.411765f, 0.882353f);
-  ADD_COLOR("blue",                   0.000000f, 0.000000f, 1.000000f);
-  ADD_COLOR("dodger_blue",            0.117647f, 0.564706f, 1.000000f);
-  ADD_COLOR("DodgerBlue",             0.117647f, 0.564706f, 1.000000f);
-  ADD_COLOR("deep_sky_blue",          0.000000f, 0.749020f, 1.000000f);
-  ADD_COLOR("DeepSkyBlue",            0.000000f, 0.749020f, 1.000000f);
-  ADD_COLOR("sky_blue",               0.529412f, 0.807843f, 0.921569f);
-  ADD_COLOR("SkyBlue",                0.529412f, 0.807843f, 0.921569f);
-  ADD_COLOR("light_sky_blue",         0.529412f, 0.807843f, 0.980392f);
-  ADD_COLOR("LightSkyBlue",           0.529412f, 0.807843f, 0.980392f);
-  ADD_COLOR("steel_blue",             0.274510f, 0.509804f, 0.705882f);
-  ADD_COLOR("SteelBlue",              0.274510f, 0.509804f, 0.705882f);
-  ADD_COLOR("light_steel_blue",       0.690196f, 0.768627f, 0.870588f);
-  ADD_COLOR("LightSteelBlue",         0.690196f, 0.768627f, 0.870588f);
-  ADD_COLOR("light_blue",             0.678431f, 0.847059f, 0.901961f);
-  ADD_COLOR("LightBlue",              0.678431f, 0.847059f, 0.901961f);
-  ADD_COLOR("powder_blue",            0.690196f, 0.878431f, 0.901961f);
-  ADD_COLOR("PowderBlue",             0.690196f, 0.878431f, 0.901961f);
-  ADD_COLOR("pale_turquoise",         0.686275f, 0.933333f, 0.933333f);
-  ADD_COLOR("PaleTurquoise",          0.686275f, 0.933333f, 0.933333f);
-  ADD_COLOR("dark_turquoise",         0.000000f, 0.807843f, 0.819608f);
-  ADD_COLOR("DarkTurquoise",          0.000000f, 0.807843f, 0.819608f);
-  ADD_COLOR("medium_turquoise",       0.282353f, 0.819608f, 0.800000f);
-  ADD_COLOR("MediumTurquoise",        0.282353f, 0.819608f, 0.800000f);
-  ADD_COLOR("turquoise",              0.250980f, 0.878431f, 0.815686f);
-  ADD_COLOR("cyan",                   0.000000f, 1.000000f, 1.000000f);
-  ADD_COLOR("light_cyan",             0.878431f, 1.000000f, 1.000000f);
-  ADD_COLOR("LightCyan",              0.878431f, 1.000000f, 1.000000f);
-  ADD_COLOR("cadet_blue",             0.372549f, 0.619608f, 0.627451f);
-  ADD_COLOR("CadetBlue",              0.372549f, 0.619608f, 0.627451f);
-  ADD_COLOR("medium_aquamarine",      0.400000f, 0.803922f, 0.666667f);
-  ADD_COLOR("MediumAquamarine",       0.400000f, 0.803922f, 0.666667f);
-  ADD_COLOR("aquamarine",             0.498039f, 1.000000f, 0.831373f);
-  ADD_COLOR("dark_green",             0.000000f, 0.392157f, 0.000000f);
-  ADD_COLOR("DarkGreen",              0.000000f, 0.392157f, 0.000000f);
-  ADD_COLOR("dark_olive_green",       0.333333f, 0.419608f, 0.184314f);
-  ADD_COLOR("DarkOliveGreen",         0.333333f, 0.419608f, 0.184314f);
-  ADD_COLOR("dark_sea_green",         0.560784f, 0.737255f, 0.560784f);
-  ADD_COLOR("DarkSeaGreen",           0.560784f, 0.737255f, 0.560784f);
-  ADD_COLOR("sea_green",              0.180392f, 0.545098f, 0.341176f);
-  ADD_COLOR("SeaGreen",               0.180392f, 0.545098f, 0.341176f);
-  ADD_COLOR("medium_sea_green",       0.235294f, 0.701961f, 0.443137f);
-  ADD_COLOR("MediumSeaGreen",         0.235294f, 0.701961f, 0.443137f);
-  ADD_COLOR("light_sea_green",        0.125490f, 0.698039f, 0.666667f);
-  ADD_COLOR("LightSeaGreen",          0.125490f, 0.698039f, 0.666667f);
-  ADD_COLOR("pale_green",             0.596078f, 0.984314f, 0.596078f);
-  ADD_COLOR("PaleGreen",              0.596078f, 0.984314f, 0.596078f);
-  ADD_COLOR("spring_green",           0.000000f, 1.000000f, 0.498039f);
-  ADD_COLOR("SpringGreen",            0.000000f, 1.000000f, 0.498039f);
-  ADD_COLOR("lawn_green",             0.486275f, 0.988235f, 0.000000f);
-  ADD_COLOR("LawnGreen",              0.486275f, 0.988235f, 0.000000f);
-  ADD_COLOR("green",                  0.000000f, 1.000000f, 0.000000f);
-  ADD_COLOR("chartreuse",             0.498039f, 1.000000f, 0.000000f);
-  ADD_COLOR("medium_spring_green",    0.000000f, 0.980392f, 0.603922f);
-  ADD_COLOR("MediumSpringGreen",      0.000000f, 0.980392f, 0.603922f);
-  ADD_COLOR("green_yellow",           0.678431f, 1.000000f, 0.184314f);
-  ADD_COLOR("GreenYellow",            0.678431f, 1.000000f, 0.184314f);
-  ADD_COLOR("lime_green",             0.196078f, 0.803922f, 0.196078f);
-  ADD_COLOR("LimeGreen",              0.196078f, 0.803922f, 0.196078f);
-  ADD_COLOR("yellow_green",           0.603922f, 0.803922f, 0.196078f);
-  ADD_COLOR("YellowGreen",            0.603922f, 0.803922f, 0.196078f);
-  ADD_COLOR("forest_green",           0.133333f, 0.545098f, 0.133333f);
-  ADD_COLOR("ForestGreen",            0.133333f, 0.545098f, 0.133333f);
-  ADD_COLOR("olive_drab",             0.419608f, 0.556863f, 0.137255f);
-  ADD_COLOR("OliveDrab",              0.419608f, 0.556863f, 0.137255f);
-  ADD_COLOR("dark_khaki",             0.741176f, 0.717647f, 0.419608f);
-  ADD_COLOR("DarkKhaki",              0.741176f, 0.717647f, 0.419608f);
-  ADD_COLOR("khaki",                  0.941176f, 0.901961f, 0.549020f);
-  ADD_COLOR("pale_goldenrod",         0.933333f, 0.909804f, 0.666667f);
-  ADD_COLOR("PaleGoldenrod",          0.933333f, 0.909804f, 0.666667f);
-  ADD_COLOR("light_goldenrod_yellow", 0.980392f, 0.980392f, 0.823529f);
-  ADD_COLOR("LightGoldenrodYellow",   0.980392f, 0.980392f, 0.823529f);
-  ADD_COLOR("light_yellow",           1.000000f, 1.000000f, 0.878431f);
-  ADD_COLOR("LightYellow",            1.000000f, 1.000000f, 0.878431f);
-  ADD_COLOR("yellow",                 1.000000f, 1.000000f, 0.000000f);
-  ADD_COLOR("gold",                   1.000000f, 0.843137f, 0.000000f);
-  ADD_COLOR("light_goldenrod",        0.933333f, 0.866667f, 0.509804f);
-  ADD_COLOR("LightGoldenrod",         0.933333f, 0.866667f, 0.509804f);
-  ADD_COLOR("goldenrod",              0.854902f, 0.647059f, 0.125490f);
-  ADD_COLOR("dark_goldenrod",         0.721569f, 0.525490f, 0.043137f);
-  ADD_COLOR("DarkGoldenrod",          0.721569f, 0.525490f, 0.043137f);
-  ADD_COLOR("rosy_brown",             0.737255f, 0.560784f, 0.560784f);
-  ADD_COLOR("RosyBrown",              0.737255f, 0.560784f, 0.560784f);
-  ADD_COLOR("indian_red",             0.803922f, 0.360784f, 0.360784f);
-  ADD_COLOR("IndianRed",              0.803922f, 0.360784f, 0.360784f);
-  ADD_COLOR("saddle_brown",           0.545098f, 0.270588f, 0.074510f);
-  ADD_COLOR("SaddleBrown",            0.545098f, 0.270588f, 0.074510f);
-  ADD_COLOR("sienna",                 0.627451f, 0.321569f, 0.176471f);
-  ADD_COLOR("peru",                   0.803922f, 0.521569f, 0.247059f);
-  ADD_COLOR("burlywood",              0.870588f, 0.721569f, 0.529412f);
-  ADD_COLOR("beige",                  0.960784f, 0.960784f, 0.862745f);
-  ADD_COLOR("wheat",                  0.960784f, 0.870588f, 0.701961f);
-  ADD_COLOR("sandy_brown",            0.956863f, 0.643137f, 0.376471f);
-  ADD_COLOR("SandyBrown",             0.956863f, 0.643137f, 0.376471f);
-  ADD_COLOR("tan",                    0.823529f, 0.705882f, 0.549020f);
-  ADD_COLOR("chocolate",              0.823529f, 0.411765f, 0.117647f);
-  ADD_COLOR("firebrick",              0.698039f, 0.133333f, 0.133333f);
-  ADD_COLOR("brown",                  0.647059f, 0.164706f, 0.164706f);
-  ADD_COLOR("dark_salmon",            0.913725f, 0.588235f, 0.478431f);
-  ADD_COLOR("DarkSalmon",             0.913725f, 0.588235f, 0.478431f);
-  ADD_COLOR("salmon",                 0.980392f, 0.501961f, 0.447059f);
-  ADD_COLOR("light_salmon",           1.000000f, 0.627451f, 0.478431f);
-  ADD_COLOR("LightSalmon",            1.000000f, 0.627451f, 0.478431f);
-  ADD_COLOR("orange",                 1.000000f, 0.647059f, 0.000000f);
-  ADD_COLOR("dark_orange",            1.000000f, 0.549020f, 0.000000f);
-  ADD_COLOR("DarkOrange",             1.000000f, 0.549020f, 0.000000f);
-  ADD_COLOR("coral",                  1.000000f, 0.498039f, 0.313726f);
-  ADD_COLOR("light_coral",            0.941176f, 0.501961f, 0.501961f);
-  ADD_COLOR("LightCoral",             0.941176f, 0.501961f, 0.501961f);
-  ADD_COLOR("tomato",                 1.000000f, 0.388235f, 0.278431f);
-  ADD_COLOR("orange_red",             1.000000f, 0.270588f, 0.000000f);
-  ADD_COLOR("OrangeRed",              1.000000f, 0.270588f, 0.000000f);
-  ADD_COLOR("red",                    1.000000f, 0.000000f, 0.000000f);
-  ADD_COLOR("hot_pink",               1.000000f, 0.411765f, 0.705882f);
-  ADD_COLOR("HotPink",                1.000000f, 0.411765f, 0.705882f);
-  ADD_COLOR("deep_pink",              1.000000f, 0.078431f, 0.576471f);
-  ADD_COLOR("DeepPink",               1.000000f, 0.078431f, 0.576471f);
-  ADD_COLOR("pink",                   1.000000f, 0.752941f, 0.796078f);
-  ADD_COLOR("light_pink",             1.000000f, 0.713726f, 0.756863f);
-  ADD_COLOR("LightPink",              1.000000f, 0.713726f, 0.756863f);
-  ADD_COLOR("pale_violet_red",        0.858824f, 0.439216f, 0.576471f);
-  ADD_COLOR("PaleVioletRed",          0.858824f, 0.439216f, 0.576471f);
-  ADD_COLOR("maroon",                 0.690196f, 0.188235f, 0.376471f);
-  ADD_COLOR("medium_violet_red",      0.780392f, 0.082353f, 0.521569f);
-  ADD_COLOR("MediumVioletRed",        0.780392f, 0.082353f, 0.521569f);
-  ADD_COLOR("violet_red",             0.815686f, 0.125490f, 0.564706f);
-  ADD_COLOR("VioletRed",              0.815686f, 0.125490f, 0.564706f);
-  ADD_COLOR("magenta",                1.000000f, 0.000000f, 1.000000f);
-  ADD_COLOR("violet",                 0.933333f, 0.509804f, 0.933333f);
-  ADD_COLOR("plum",                   0.866667f, 0.627451f, 0.866667f);
-  ADD_COLOR("orchid",                 0.854902f, 0.439216f, 0.839216f);
-  ADD_COLOR("medium_orchid",          0.729412f, 0.333333f, 0.827451f);
-  ADD_COLOR("MediumOrchid",           0.729412f, 0.333333f, 0.827451f);
-  ADD_COLOR("dark_orchid",            0.600000f, 0.196078f, 0.800000f);
-  ADD_COLOR("DarkOrchid",             0.600000f, 0.196078f, 0.800000f);
-  ADD_COLOR("dark_violet",            0.580392f, 0.000000f, 0.827451f);
-  ADD_COLOR("DarkViolet",             0.580392f, 0.000000f, 0.827451f);
-  ADD_COLOR("blue_violet",            0.541176f, 0.168627f, 0.886275f);
-  ADD_COLOR("BlueViolet",             0.541176f, 0.168627f, 0.886275f);
-  ADD_COLOR("purple",                 0.627451f, 0.125490f, 0.941176f);
-  ADD_COLOR("medium_purple",          0.576471f, 0.439216f, 0.858824f);
-  ADD_COLOR("MediumPurple",           0.576471f, 0.439216f, 0.858824f);
-  ADD_COLOR("thistle",                0.847059f, 0.749020f, 0.847059f);
-  ADD_COLOR("snow1",                  1.000000f, 0.980392f, 0.980392f);
-  ADD_COLOR("snow2",                  0.933333f, 0.913725f, 0.913725f);
-  ADD_COLOR("snow3",                  0.803922f, 0.788235f, 0.788235f);
-  ADD_COLOR("snow4",                  0.545098f, 0.537255f, 0.537255f);
-  ADD_COLOR("seashell1",              1.000000f, 0.960784f, 0.933333f);
-  ADD_COLOR("seashell2",              0.933333f, 0.898039f, 0.870588f);
-  ADD_COLOR("seashell3",              0.803922f, 0.772549f, 0.749020f);
-  ADD_COLOR("seashell4",              0.545098f, 0.525490f, 0.509804f);
-  ADD_COLOR("AntiqueWhite1",          1.000000f, 0.937255f, 0.858824f);
-  ADD_COLOR("AntiqueWhite2",          0.933333f, 0.874510f, 0.800000f);
-  ADD_COLOR("AntiqueWhite3",          0.803922f, 0.752941f, 0.690196f);
-  ADD_COLOR("AntiqueWhite4",          0.545098f, 0.513726f, 0.470588f);
-  ADD_COLOR("bisque1",                1.000000f, 0.894118f, 0.768627f);
-  ADD_COLOR("bisque2",                0.933333f, 0.835294f, 0.717647f);
-  ADD_COLOR("bisque3",                0.803922f, 0.717647f, 0.619608f);
-  ADD_COLOR("bisque4",                0.545098f, 0.490196f, 0.419608f);
-  ADD_COLOR("PeachPuff1",             1.000000f, 0.854902f, 0.725490f);
-  ADD_COLOR("PeachPuff2",             0.933333f, 0.796078f, 0.678431f);
-  ADD_COLOR("PeachPuff3",             0.803922f, 0.686275f, 0.584314f);
-  ADD_COLOR("PeachPuff4",             0.545098f, 0.466667f, 0.396078f);
-  ADD_COLOR("NavajoWhite1",           1.000000f, 0.870588f, 0.678431f);
-  ADD_COLOR("NavajoWhite2",           0.933333f, 0.811765f, 0.631373f);
-  ADD_COLOR("NavajoWhite3",           0.803922f, 0.701961f, 0.545098f);
-  ADD_COLOR("NavajoWhite4",           0.545098f, 0.474510f, 0.368627f);
-  ADD_COLOR("LemonChiffon1",          1.000000f, 0.980392f, 0.803922f);
-  ADD_COLOR("LemonChiffon2",          0.933333f, 0.913725f, 0.749020f);
-  ADD_COLOR("LemonChiffon3",          0.803922f, 0.788235f, 0.647059f);
-  ADD_COLOR("LemonChiffon4",          0.545098f, 0.537255f, 0.439216f);
-  ADD_COLOR("cornsilk1",              1.000000f, 0.972549f, 0.862745f);
-  ADD_COLOR("cornsilk2",              0.933333f, 0.909804f, 0.803922f);
-  ADD_COLOR("cornsilk3",              0.803922f, 0.784314f, 0.694118f);
-  ADD_COLOR("cornsilk4",              0.545098f, 0.533333f, 0.470588f);
-  ADD_COLOR("ivory1",                 1.000000f, 1.000000f, 0.941176f);
-  ADD_COLOR("ivory2",                 0.933333f, 0.933333f, 0.878431f);
-  ADD_COLOR("ivory3",                 0.803922f, 0.803922f, 0.756863f);
-  ADD_COLOR("ivory4",                 0.545098f, 0.545098f, 0.513726f);
-  ADD_COLOR("honeydew1",              0.941176f, 1.000000f, 0.941176f);
-  ADD_COLOR("honeydew2",              0.878431f, 0.933333f, 0.878431f);
-  ADD_COLOR("honeydew3",              0.756863f, 0.803922f, 0.756863f);
-  ADD_COLOR("honeydew4",              0.513726f, 0.545098f, 0.513726f);
-  ADD_COLOR("LavenderBlush1",         1.000000f, 0.941176f, 0.960784f);
-  ADD_COLOR("LavenderBlush2",         0.933333f, 0.878431f, 0.898039f);
-  ADD_COLOR("LavenderBlush3",         0.803922f, 0.756863f, 0.772549f);
-  ADD_COLOR("LavenderBlush4",         0.545098f, 0.513726f, 0.525490f);
-  ADD_COLOR("MistyRose1",             1.000000f, 0.894118f, 0.882353f);
-  ADD_COLOR("MistyRose2",             0.933333f, 0.835294f, 0.823529f);
-  ADD_COLOR("MistyRose3",             0.803922f, 0.717647f, 0.709804f);
-  ADD_COLOR("MistyRose4",             0.545098f, 0.490196f, 0.482353f);
-  ADD_COLOR("azure1",                 0.941176f, 1.000000f, 1.000000f);
-  ADD_COLOR("azure2",                 0.878431f, 0.933333f, 0.933333f);
-  ADD_COLOR("azure3",                 0.756863f, 0.803922f, 0.803922f);
-  ADD_COLOR("azure4",                 0.513726f, 0.545098f, 0.545098f);
-  ADD_COLOR("SlateBlue1",             0.513726f, 0.435294f, 1.000000f);
-  ADD_COLOR("SlateBlue2",             0.478431f, 0.403922f, 0.933333f);
-  ADD_COLOR("SlateBlue3",             0.411765f, 0.349020f, 0.803922f);
-  ADD_COLOR("SlateBlue4",             0.278431f, 0.235294f, 0.545098f);
-  ADD_COLOR("RoyalBlue1",             0.282353f, 0.462745f, 1.000000f);
-  ADD_COLOR("RoyalBlue2",             0.262745f, 0.431373f, 0.933333f);
-  ADD_COLOR("RoyalBlue3",             0.227451f, 0.372549f, 0.803922f);
-  ADD_COLOR("RoyalBlue4",             0.152941f, 0.250980f, 0.545098f);
-  ADD_COLOR("blue1",                  0.000000f, 0.000000f, 1.000000f);
-  ADD_COLOR("blue2",                  0.000000f, 0.000000f, 0.933333f);
-  ADD_COLOR("blue3",                  0.000000f, 0.000000f, 0.803922f);
-  ADD_COLOR("blue4",                  0.000000f, 0.000000f, 0.545098f);
-  ADD_COLOR("DodgerBlue1",            0.117647f, 0.564706f, 1.000000f);
-  ADD_COLOR("DodgerBlue2",            0.109804f, 0.525490f, 0.933333f);
-  ADD_COLOR("DodgerBlue3",            0.094118f, 0.454902f, 0.803922f);
-  ADD_COLOR("DodgerBlue4",            0.062745f, 0.305882f, 0.545098f);
-  ADD_COLOR("SteelBlue1",             0.388235f, 0.721569f, 1.000000f);
-  ADD_COLOR("SteelBlue2",             0.360784f, 0.674510f, 0.933333f);
-  ADD_COLOR("SteelBlue3",             0.309804f, 0.580392f, 0.803922f);
-  ADD_COLOR("SteelBlue4",             0.211765f, 0.392157f, 0.545098f);
-  ADD_COLOR("DeepSkyBlue1",           0.000000f, 0.749020f, 1.000000f);
-  ADD_COLOR("DeepSkyBlue2",           0.000000f, 0.698039f, 0.933333f);
-  ADD_COLOR("DeepSkyBlue3",           0.000000f, 0.603922f, 0.803922f);
-  ADD_COLOR("DeepSkyBlue4",           0.000000f, 0.407843f, 0.545098f);
-  ADD_COLOR("SkyBlue1",               0.529412f, 0.807843f, 1.000000f);
-  ADD_COLOR("SkyBlue2",               0.494118f, 0.752941f, 0.933333f);
-  ADD_COLOR("SkyBlue3",               0.423529f, 0.650980f, 0.803922f);
-  ADD_COLOR("SkyBlue4",               0.290196f, 0.439216f, 0.545098f);
-  ADD_COLOR("LightSkyBlue1",          0.690196f, 0.886275f, 1.000000f);
-  ADD_COLOR("LightSkyBlue2",          0.643137f, 0.827451f, 0.933333f);
-  ADD_COLOR("LightSkyBlue3",          0.552941f, 0.713726f, 0.803922f);
-  ADD_COLOR("LightSkyBlue4",          0.376471f, 0.482353f, 0.545098f);
-  ADD_COLOR("SlateGray1",             0.776471f, 0.886275f, 1.000000f);
-  ADD_COLOR("SlateGray2",             0.725490f, 0.827451f, 0.933333f);
-  ADD_COLOR("SlateGray3",             0.623529f, 0.713726f, 0.803922f);
-  ADD_COLOR("SlateGray4",             0.423529f, 0.482353f, 0.545098f);
-  ADD_COLOR("LightSteelBlue1",        0.792157f, 0.882353f, 1.000000f);
-  ADD_COLOR("LightSteelBlue2",        0.737255f, 0.823529f, 0.933333f);
-  ADD_COLOR("LightSteelBlue3",        0.635294f, 0.709804f, 0.803922f);
-  ADD_COLOR("LightSteelBlue4",        0.431373f, 0.482353f, 0.545098f);
-  ADD_COLOR("LightBlue1",             0.749020f, 0.937255f, 1.000000f);
-  ADD_COLOR("LightBlue2",             0.698039f, 0.874510f, 0.933333f);
-  ADD_COLOR("LightBlue3",             0.603922f, 0.752941f, 0.803922f);
-  ADD_COLOR("LightBlue4",             0.407843f, 0.513726f, 0.545098f);
-  ADD_COLOR("LightCyan1",             0.878431f, 1.000000f, 1.000000f);
-  ADD_COLOR("LightCyan2",             0.819608f, 0.933333f, 0.933333f);
-  ADD_COLOR("LightCyan3",             0.705882f, 0.803922f, 0.803922f);
-  ADD_COLOR("LightCyan4",             0.478431f, 0.545098f, 0.545098f);
-  ADD_COLOR("PaleTurquoise1",         0.733333f, 1.000000f, 1.000000f);
-  ADD_COLOR("PaleTurquoise2",         0.682353f, 0.933333f, 0.933333f);
-  ADD_COLOR("PaleTurquoise3",         0.588235f, 0.803922f, 0.803922f);
-  ADD_COLOR("PaleTurquoise4",         0.400000f, 0.545098f, 0.545098f);
-  ADD_COLOR("CadetBlue1",             0.596078f, 0.960784f, 1.000000f);
-  ADD_COLOR("CadetBlue2",             0.556863f, 0.898039f, 0.933333f);
-  ADD_COLOR("CadetBlue3",             0.478431f, 0.772549f, 0.803922f);
-  ADD_COLOR("CadetBlue4",             0.325490f, 0.525490f, 0.545098f);
-  ADD_COLOR("turquoise1",             0.000000f, 0.960784f, 1.000000f);
-  ADD_COLOR("turquoise2",             0.000000f, 0.898039f, 0.933333f);
-  ADD_COLOR("turquoise3",             0.000000f, 0.772549f, 0.803922f);
-  ADD_COLOR("turquoise4",             0.000000f, 0.525490f, 0.545098f);
-  ADD_COLOR("cyan1",                  0.000000f, 1.000000f, 1.000000f);
-  ADD_COLOR("cyan2",                  0.000000f, 0.933333f, 0.933333f);
-  ADD_COLOR("cyan3",                  0.000000f, 0.803922f, 0.803922f);
-  ADD_COLOR("cyan4",                  0.000000f, 0.545098f, 0.545098f);
-  ADD_COLOR("DarkSlateGray1",         0.592157f, 1.000000f, 1.000000f);
-  ADD_COLOR("DarkSlateGray2",         0.552941f, 0.933333f, 0.933333f);
-  ADD_COLOR("DarkSlateGray3",         0.474510f, 0.803922f, 0.803922f);
-  ADD_COLOR("DarkSlateGray4",         0.321569f, 0.545098f, 0.545098f);
-  ADD_COLOR("aquamarine1",            0.498039f, 1.000000f, 0.831373f);
-  ADD_COLOR("aquamarine2",            0.462745f, 0.933333f, 0.776471f);
-  ADD_COLOR("aquamarine3",            0.400000f, 0.803922f, 0.666667f);
-  ADD_COLOR("aquamarine4",            0.270588f, 0.545098f, 0.454902f);
-  ADD_COLOR("DarkSeaGreen1",          0.756863f, 1.000000f, 0.756863f);
-  ADD_COLOR("DarkSeaGreen2",          0.705882f, 0.933333f, 0.705882f);
-  ADD_COLOR("DarkSeaGreen3",          0.607843f, 0.803922f, 0.607843f);
-  ADD_COLOR("DarkSeaGreen4",          0.411765f, 0.545098f, 0.411765f);
-  ADD_COLOR("SeaGreen1",              0.329412f, 1.000000f, 0.623529f);
-  ADD_COLOR("SeaGreen2",              0.305882f, 0.933333f, 0.580392f);
-  ADD_COLOR("SeaGreen3",              0.262745f, 0.803922f, 0.501961f);
-  ADD_COLOR("SeaGreen4",              0.180392f, 0.545098f, 0.341176f);
-  ADD_COLOR("PaleGreen1",             0.603922f, 1.000000f, 0.603922f);
-  ADD_COLOR("PaleGreen2",             0.564706f, 0.933333f, 0.564706f);
-  ADD_COLOR("PaleGreen3",             0.486275f, 0.803922f, 0.486275f);
-  ADD_COLOR("PaleGreen4",             0.329412f, 0.545098f, 0.329412f);
-  ADD_COLOR("SpringGreen1",           0.000000f, 1.000000f, 0.498039f);
-  ADD_COLOR("SpringGreen2",           0.000000f, 0.933333f, 0.462745f);
-  ADD_COLOR("SpringGreen3",           0.000000f, 0.803922f, 0.400000f);
-  ADD_COLOR("SpringGreen4",           0.000000f, 0.545098f, 0.270588f);
-  ADD_COLOR("green1",                 0.000000f, 1.000000f, 0.000000f);
-  ADD_COLOR("green2",                 0.000000f, 0.933333f, 0.000000f);
-  ADD_COLOR("green3",                 0.000000f, 0.803922f, 0.000000f);
-  ADD_COLOR("green4",                 0.000000f, 0.545098f, 0.000000f);
-  ADD_COLOR("chartreuse1",            0.498039f, 1.000000f, 0.000000f);
-  ADD_COLOR("chartreuse2",            0.462745f, 0.933333f, 0.000000f);
-  ADD_COLOR("chartreuse3",            0.400000f, 0.803922f, 0.000000f);
-  ADD_COLOR("chartreuse4",            0.270588f, 0.545098f, 0.000000f);
-  ADD_COLOR("OliveDrab1",             0.752941f, 1.000000f, 0.243137f);
-  ADD_COLOR("OliveDrab2",             0.701961f, 0.933333f, 0.227451f);
-  ADD_COLOR("OliveDrab3",             0.603922f, 0.803922f, 0.196078f);
-  ADD_COLOR("OliveDrab4",             0.411765f, 0.545098f, 0.133333f);
-  ADD_COLOR("DarkOliveGreen1",        0.792157f, 1.000000f, 0.439216f);
-  ADD_COLOR("DarkOliveGreen2",        0.737255f, 0.933333f, 0.407843f);
-  ADD_COLOR("DarkOliveGreen3",        0.635294f, 0.803922f, 0.352941f);
-  ADD_COLOR("DarkOliveGreen4",        0.431373f, 0.545098f, 0.239216f);
-  ADD_COLOR("khaki1",                 1.000000f, 0.964706f, 0.560784f);
-  ADD_COLOR("khaki2",                 0.933333f, 0.901961f, 0.521569f);
-  ADD_COLOR("khaki3",                 0.803922f, 0.776471f, 0.450980f);
-  ADD_COLOR("khaki4",                 0.545098f, 0.525490f, 0.305882f);
-  ADD_COLOR("LightGoldenrod1",        1.000000f, 0.925490f, 0.545098f);
-  ADD_COLOR("LightGoldenrod2",        0.933333f, 0.862745f, 0.509804f);
-  ADD_COLOR("LightGoldenrod3",        0.803922f, 0.745098f, 0.439216f);
-  ADD_COLOR("LightGoldenrod4",        0.545098f, 0.505882f, 0.298039f);
-  ADD_COLOR("LightYellow1",           1.000000f, 1.000000f, 0.878431f);
-  ADD_COLOR("LightYellow2",           0.933333f, 0.933333f, 0.819608f);
-  ADD_COLOR("LightYellow3",           0.803922f, 0.803922f, 0.705882f);
-  ADD_COLOR("LightYellow4",           0.545098f, 0.545098f, 0.478431f);
-  ADD_COLOR("yellow1",                1.000000f, 1.000000f, 0.000000f);
-  ADD_COLOR("yellow2",                0.933333f, 0.933333f, 0.000000f);
-  ADD_COLOR("yellow3",                0.803922f, 0.803922f, 0.000000f);
-  ADD_COLOR("yellow4",                0.545098f, 0.545098f, 0.000000f);
-  ADD_COLOR("gold1",                  1.000000f, 0.843137f, 0.000000f);
-  ADD_COLOR("gold2",                  0.933333f, 0.788235f, 0.000000f);
-  ADD_COLOR("gold3",                  0.803922f, 0.678431f, 0.000000f);
-  ADD_COLOR("gold4",                  0.545098f, 0.458824f, 0.000000f);
-  ADD_COLOR("goldenrod1",             1.000000f, 0.756863f, 0.145098f);
-  ADD_COLOR("goldenrod2",             0.933333f, 0.705882f, 0.133333f);
-  ADD_COLOR("goldenrod3",             0.803922f, 0.607843f, 0.113725f);
-  ADD_COLOR("goldenrod4",             0.545098f, 0.411765f, 0.078431f);
-  ADD_COLOR("DarkGoldenrod1",         1.000000f, 0.725490f, 0.058824f);
-  ADD_COLOR("DarkGoldenrod2",         0.933333f, 0.678431f, 0.054902f);
-  ADD_COLOR("DarkGoldenrod3",         0.803922f, 0.584314f, 0.047059f);
-  ADD_COLOR("DarkGoldenrod4",         0.545098f, 0.396078f, 0.031373f);
-  ADD_COLOR("RosyBrown1",             1.000000f, 0.756863f, 0.756863f);
-  ADD_COLOR("RosyBrown2",             0.933333f, 0.705882f, 0.705882f);
-  ADD_COLOR("RosyBrown3",             0.803922f, 0.607843f, 0.607843f);
-  ADD_COLOR("RosyBrown4",             0.545098f, 0.411765f, 0.411765f);
-  ADD_COLOR("IndianRed1",             1.000000f, 0.415686f, 0.415686f);
-  ADD_COLOR("IndianRed2",             0.933333f, 0.388235f, 0.388235f);
-  ADD_COLOR("IndianRed3",             0.803922f, 0.333333f, 0.333333f);
-  ADD_COLOR("IndianRed4",             0.545098f, 0.227451f, 0.227451f);
-  ADD_COLOR("sienna1",                1.000000f, 0.509804f, 0.278431f);
-  ADD_COLOR("sienna2",                0.933333f, 0.474510f, 0.258824f);
-  ADD_COLOR("sienna3",                0.803922f, 0.407843f, 0.223529f);
-  ADD_COLOR("sienna4",                0.545098f, 0.278431f, 0.149020f);
-  ADD_COLOR("burlywood1",             1.000000f, 0.827451f, 0.607843f);
-  ADD_COLOR("burlywood2",             0.933333f, 0.772549f, 0.568627f);
-  ADD_COLOR("burlywood3",             0.803922f, 0.666667f, 0.490196f);
-  ADD_COLOR("burlywood4",             0.545098f, 0.450980f, 0.333333f);
-  ADD_COLOR("wheat1",                 1.000000f, 0.905882f, 0.729412f);
-  ADD_COLOR("wheat2",                 0.933333f, 0.847059f, 0.682353f);
-  ADD_COLOR("wheat3",                 0.803922f, 0.729412f, 0.588235f);
-  ADD_COLOR("wheat4",                 0.545098f, 0.494118f, 0.400000f);
-  ADD_COLOR("tan1",                   1.000000f, 0.647059f, 0.309804f);
-  ADD_COLOR("tan2",                   0.933333f, 0.603922f, 0.286275f);
-  ADD_COLOR("tan3",                   0.803922f, 0.521569f, 0.247059f);
-  ADD_COLOR("tan4",                   0.545098f, 0.352941f, 0.168627f);
-  ADD_COLOR("chocolate1",             1.000000f, 0.498039f, 0.141176f);
-  ADD_COLOR("chocolate2",             0.933333f, 0.462745f, 0.129412f);
-  ADD_COLOR("chocolate3",             0.803922f, 0.400000f, 0.113725f);
-  ADD_COLOR("chocolate4",             0.545098f, 0.270588f, 0.074510f);
-  ADD_COLOR("firebrick1",             1.000000f, 0.188235f, 0.188235f);
-  ADD_COLOR("firebrick2",             0.933333f, 0.172549f, 0.172549f);
-  ADD_COLOR("firebrick3",             0.803922f, 0.149020f, 0.149020f);
-  ADD_COLOR("firebrick4",             0.545098f, 0.101961f, 0.101961f);
-  ADD_COLOR("brown1",                 1.000000f, 0.250980f, 0.250980f);
-  ADD_COLOR("brown2",                 0.933333f, 0.231373f, 0.231373f);
-  ADD_COLOR("brown3",                 0.803922f, 0.200000f, 0.200000f);
-  ADD_COLOR("brown4",                 0.545098f, 0.137255f, 0.137255f);
-  ADD_COLOR("salmon1",                1.000000f, 0.549020f, 0.411765f);
-  ADD_COLOR("salmon2",                0.933333f, 0.509804f, 0.384314f);
-  ADD_COLOR("salmon3",                0.803922f, 0.439216f, 0.329412f);
-  ADD_COLOR("salmon4",                0.545098f, 0.298039f, 0.223529f);
-  ADD_COLOR("LightSalmon1",           1.000000f, 0.627451f, 0.478431f);
-  ADD_COLOR("LightSalmon2",           0.933333f, 0.584314f, 0.447059f);
-  ADD_COLOR("LightSalmon3",           0.803922f, 0.505882f, 0.384314f);
-  ADD_COLOR("LightSalmon4",           0.545098f, 0.341176f, 0.258824f);
-  ADD_COLOR("orange1",                1.000000f, 0.647059f, 0.000000f);
-  ADD_COLOR("orange2",                0.933333f, 0.603922f, 0.000000f);
-  ADD_COLOR("orange3",                0.803922f, 0.521569f, 0.000000f);
-  ADD_COLOR("orange4",                0.545098f, 0.352941f, 0.000000f);
-  ADD_COLOR("DarkOrange1",            1.000000f, 0.498039f, 0.000000f);
-  ADD_COLOR("DarkOrange2",            0.933333f, 0.462745f, 0.000000f);
-  ADD_COLOR("DarkOrange3",            0.803922f, 0.400000f, 0.000000f);
-  ADD_COLOR("DarkOrange4",            0.545098f, 0.270588f, 0.000000f);
-  ADD_COLOR("coral1",                 1.000000f, 0.447059f, 0.337255f);
-  ADD_COLOR("coral2",                 0.933333f, 0.415686f, 0.313726f);
-  ADD_COLOR("coral3",                 0.803922f, 0.356863f, 0.270588f);
-  ADD_COLOR("coral4",                 0.545098f, 0.243137f, 0.184314f);
-  ADD_COLOR("tomato1",                1.000000f, 0.388235f, 0.278431f);
-  ADD_COLOR("tomato2",                0.933333f, 0.360784f, 0.258824f);
-  ADD_COLOR("tomato3",                0.803922f, 0.309804f, 0.223529f);
-  ADD_COLOR("tomato4",                0.545098f, 0.211765f, 0.149020f);
-  ADD_COLOR("OrangeRed1",             1.000000f, 0.270588f, 0.000000f);
-  ADD_COLOR("OrangeRed2",             0.933333f, 0.250980f, 0.000000f);
-  ADD_COLOR("OrangeRed3",             0.803922f, 0.215686f, 0.000000f);
-  ADD_COLOR("OrangeRed4",             0.545098f, 0.145098f, 0.000000f);
-  ADD_COLOR("red1",                   1.000000f, 0.000000f, 0.000000f);
-  ADD_COLOR("red2",                   0.933333f, 0.000000f, 0.000000f);
-  ADD_COLOR("red3",                   0.803922f, 0.000000f, 0.000000f);
-  ADD_COLOR("red4",                   0.545098f, 0.000000f, 0.000000f);
-  ADD_COLOR("DeepPink1",              1.000000f, 0.078431f, 0.576471f);
-  ADD_COLOR("DeepPink2",              0.933333f, 0.070588f, 0.537255f);
-  ADD_COLOR("DeepPink3",              0.803922f, 0.062745f, 0.462745f);
-  ADD_COLOR("DeepPink4",              0.545098f, 0.039216f, 0.313726f);
-  ADD_COLOR("HotPink1",               1.000000f, 0.431373f, 0.705882f);
-  ADD_COLOR("HotPink2",               0.933333f, 0.415686f, 0.654902f);
-  ADD_COLOR("HotPink3",               0.803922f, 0.376471f, 0.564706f);
-  ADD_COLOR("HotPink4",               0.545098f, 0.227451f, 0.384314f);
-  ADD_COLOR("pink1",                  1.000000f, 0.709804f, 0.772549f);
-  ADD_COLOR("pink2",                  0.933333f, 0.662745f, 0.721569f);
-  ADD_COLOR("pink3",                  0.803922f, 0.568627f, 0.619608f);
-  ADD_COLOR("pink4",                  0.545098f, 0.388235f, 0.423529f);
-  ADD_COLOR("LightPink1",             1.000000f, 0.682353f, 0.725490f);
-  ADD_COLOR("LightPink2",             0.933333f, 0.635294f, 0.678431f);
-  ADD_COLOR("LightPink3",             0.803922f, 0.549020f, 0.584314f);
-  ADD_COLOR("LightPink4",             0.545098f, 0.372549f, 0.396078f);
-  ADD_COLOR("PaleVioletRed1",         1.000000f, 0.509804f, 0.670588f);
-  ADD_COLOR("PaleVioletRed2",         0.933333f, 0.474510f, 0.623529f);
-  ADD_COLOR("PaleVioletRed3",         0.803922f, 0.407843f, 0.537255f);
-  ADD_COLOR("PaleVioletRed4",         0.545098f, 0.278431f, 0.364706f);
-  ADD_COLOR("maroon1",                1.000000f, 0.203922f, 0.701961f);
-  ADD_COLOR("maroon2",                0.933333f, 0.188235f, 0.654902f);
-  ADD_COLOR("maroon3",                0.803922f, 0.160784f, 0.564706f);
-  ADD_COLOR("maroon4",                0.545098f, 0.109804f, 0.384314f);
-  ADD_COLOR("VioletRed1",             1.000000f, 0.243137f, 0.588235f);
-  ADD_COLOR("VioletRed2",             0.933333f, 0.227451f, 0.549020f);
-  ADD_COLOR("VioletRed3",             0.803922f, 0.196078f, 0.470588f);
-  ADD_COLOR("VioletRed4",             0.545098f, 0.133333f, 0.321569f);
-  ADD_COLOR("magenta1",               1.000000f, 0.000000f, 1.000000f);
-  ADD_COLOR("magenta2",               0.933333f, 0.000000f, 0.933333f);
-  ADD_COLOR("magenta3",               0.803922f, 0.000000f, 0.803922f);
-  ADD_COLOR("magenta4",               0.545098f, 0.000000f, 0.545098f);
-  ADD_COLOR("orchid1",                1.000000f, 0.513726f, 0.980392f);
-  ADD_COLOR("orchid2",                0.933333f, 0.478431f, 0.913725f);
-  ADD_COLOR("orchid3",                0.803922f, 0.411765f, 0.788235f);
-  ADD_COLOR("orchid4",                0.545098f, 0.278431f, 0.537255f);
-  ADD_COLOR("plum1",                  1.000000f, 0.733333f, 1.000000f);
-  ADD_COLOR("plum2",                  0.933333f, 0.682353f, 0.933333f);
-  ADD_COLOR("plum3",                  0.803922f, 0.588235f, 0.803922f);
-  ADD_COLOR("plum4",                  0.545098f, 0.400000f, 0.545098f);
-  ADD_COLOR("MediumOrchid1",          0.878431f, 0.400000f, 1.000000f);
-  ADD_COLOR("MediumOrchid2",          0.819608f, 0.372549f, 0.933333f);
-  ADD_COLOR("MediumOrchid3",          0.705882f, 0.321569f, 0.803922f);
-  ADD_COLOR("MediumOrchid4",          0.478431f, 0.215686f, 0.545098f);
-  ADD_COLOR("DarkOrchid1",            0.749020f, 0.243137f, 1.000000f);
-  ADD_COLOR("DarkOrchid2",            0.698039f, 0.227451f, 0.933333f);
-  ADD_COLOR("DarkOrchid3",            0.603922f, 0.196078f, 0.803922f);
-  ADD_COLOR("DarkOrchid4",            0.407843f, 0.133333f, 0.545098f);
-  ADD_COLOR("purple1",                0.607843f, 0.188235f, 1.000000f);
-  ADD_COLOR("purple2",                0.568627f, 0.172549f, 0.933333f);
-  ADD_COLOR("purple3",                0.490196f, 0.149020f, 0.803922f);
-  ADD_COLOR("purple4",                0.333333f, 0.101961f, 0.545098f);
-  ADD_COLOR("MediumPurple1",          0.670588f, 0.509804f, 1.000000f);
-  ADD_COLOR("MediumPurple2",          0.623529f, 0.474510f, 0.933333f);
-  ADD_COLOR("MediumPurple3",          0.537255f, 0.407843f, 0.803922f);
-  ADD_COLOR("MediumPurple4",          0.364706f, 0.278431f, 0.545098f);
-  ADD_COLOR("thistle1",               1.000000f, 0.882353f, 1.000000f);
-  ADD_COLOR("thistle2",               0.933333f, 0.823529f, 0.933333f);
-  ADD_COLOR("thistle3",               0.803922f, 0.709804f, 0.803922f);
-  ADD_COLOR("thistle4",               0.545098f, 0.482353f, 0.545098f);
-  ADD_COLOR("gray0",                  0.000000f, 0.000000f, 0.000000f);
-  ADD_COLOR("grey0",                  0.000000f, 0.000000f, 0.000000f);
-  ADD_COLOR("gray1",                  0.011765f, 0.011765f, 0.011765f);
-  ADD_COLOR("grey1",                  0.011765f, 0.011765f, 0.011765f);
-  ADD_COLOR("gray2",                  0.019608f, 0.019608f, 0.019608f);
-  ADD_COLOR("grey2",                  0.019608f, 0.019608f, 0.019608f);
-  ADD_COLOR("gray3",                  0.031373f, 0.031373f, 0.031373f);
-  ADD_COLOR("grey3",                  0.031373f, 0.031373f, 0.031373f);
-  ADD_COLOR("gray4",                  0.039216f, 0.039216f, 0.039216f);
-  ADD_COLOR("grey4",                  0.039216f, 0.039216f, 0.039216f);
-  ADD_COLOR("gray5",                  0.050980f, 0.050980f, 0.050980f);
-  ADD_COLOR("grey5",                  0.050980f, 0.050980f, 0.050980f);
-  ADD_COLOR("gray6",                  0.058824f, 0.058824f, 0.058824f);
-  ADD_COLOR("grey6",                  0.058824f, 0.058824f, 0.058824f);
-  ADD_COLOR("gray7",                  0.070588f, 0.070588f, 0.070588f);
-  ADD_COLOR("grey7",                  0.070588f, 0.070588f, 0.070588f);
-  ADD_COLOR("gray8",                  0.078431f, 0.078431f, 0.078431f);
-  ADD_COLOR("grey8",                  0.078431f, 0.078431f, 0.078431f);
-  ADD_COLOR("gray9",                  0.090196f, 0.090196f, 0.090196f);
-  ADD_COLOR("grey9",                  0.090196f, 0.090196f, 0.090196f);
-  ADD_COLOR("gray10",                 0.101961f, 0.101961f, 0.101961f);
-  ADD_COLOR("grey10",                 0.101961f, 0.101961f, 0.101961f);
-  ADD_COLOR("gray11",                 0.109804f, 0.109804f, 0.109804f);
-  ADD_COLOR("grey11",                 0.109804f, 0.109804f, 0.109804f);
-  ADD_COLOR("gray12",                 0.121569f, 0.121569f, 0.121569f);
-  ADD_COLOR("grey12",                 0.121569f, 0.121569f, 0.121569f);
-  ADD_COLOR("gray13",                 0.129412f, 0.129412f, 0.129412f);
-  ADD_COLOR("grey13",                 0.129412f, 0.129412f, 0.129412f);
-  ADD_COLOR("gray14",                 0.141176f, 0.141176f, 0.141176f);
-  ADD_COLOR("grey14",                 0.141176f, 0.141176f, 0.141176f);
-  ADD_COLOR("gray15",                 0.149020f, 0.149020f, 0.149020f);
-  ADD_COLOR("grey15",                 0.149020f, 0.149020f, 0.149020f);
-  ADD_COLOR("gray16",                 0.160784f, 0.160784f, 0.160784f);
-  ADD_COLOR("grey16",                 0.160784f, 0.160784f, 0.160784f);
-  ADD_COLOR("gray17",                 0.168627f, 0.168627f, 0.168627f);
-  ADD_COLOR("grey17",                 0.168627f, 0.168627f, 0.168627f);
-  ADD_COLOR("gray18",                 0.180392f, 0.180392f, 0.180392f);
-  ADD_COLOR("grey18",                 0.180392f, 0.180392f, 0.180392f);
-  ADD_COLOR("gray19",                 0.188235f, 0.188235f, 0.188235f);
-  ADD_COLOR("grey19",                 0.188235f, 0.188235f, 0.188235f);
-  ADD_COLOR("gray20",                 0.200000f, 0.200000f, 0.200000f);
-  ADD_COLOR("grey20",                 0.200000f, 0.200000f, 0.200000f);
-  ADD_COLOR("gray21",                 0.211765f, 0.211765f, 0.211765f);
-  ADD_COLOR("grey21",                 0.211765f, 0.211765f, 0.211765f);
-  ADD_COLOR("gray22",                 0.219608f, 0.219608f, 0.219608f);
-  ADD_COLOR("grey22",                 0.219608f, 0.219608f, 0.219608f);
-  ADD_COLOR("gray23",                 0.231373f, 0.231373f, 0.231373f);
-  ADD_COLOR("grey23",                 0.231373f, 0.231373f, 0.231373f);
-  ADD_COLOR("gray24",                 0.239216f, 0.239216f, 0.239216f);
-  ADD_COLOR("grey24",                 0.239216f, 0.239216f, 0.239216f);
-  ADD_COLOR("gray25",                 0.250980f, 0.250980f, 0.250980f);
-  ADD_COLOR("grey25",                 0.250980f, 0.250980f, 0.250980f);
-  ADD_COLOR("gray26",                 0.258824f, 0.258824f, 0.258824f);
-  ADD_COLOR("grey26",                 0.258824f, 0.258824f, 0.258824f);
-  ADD_COLOR("gray27",                 0.270588f, 0.270588f, 0.270588f);
-  ADD_COLOR("grey27",                 0.270588f, 0.270588f, 0.270588f);
-  ADD_COLOR("gray28",                 0.278431f, 0.278431f, 0.278431f);
-  ADD_COLOR("grey28",                 0.278431f, 0.278431f, 0.278431f);
-  ADD_COLOR("gray29",                 0.290196f, 0.290196f, 0.290196f);
-  ADD_COLOR("grey29",                 0.290196f, 0.290196f, 0.290196f);
-  ADD_COLOR("gray30",                 0.301961f, 0.301961f, 0.301961f);
-  ADD_COLOR("grey30",                 0.301961f, 0.301961f, 0.301961f);
-  ADD_COLOR("gray31",                 0.309804f, 0.309804f, 0.309804f);
-  ADD_COLOR("grey31",                 0.309804f, 0.309804f, 0.309804f);
-  ADD_COLOR("gray32",                 0.321569f, 0.321569f, 0.321569f);
-  ADD_COLOR("grey32",                 0.321569f, 0.321569f, 0.321569f);
-  ADD_COLOR("gray33",                 0.329412f, 0.329412f, 0.329412f);
-  ADD_COLOR("grey33",                 0.329412f, 0.329412f, 0.329412f);
-  ADD_COLOR("gray34",                 0.341176f, 0.341176f, 0.341176f);
-  ADD_COLOR("grey34",                 0.341176f, 0.341176f, 0.341176f);
-  ADD_COLOR("gray35",                 0.349020f, 0.349020f, 0.349020f);
-  ADD_COLOR("grey35",                 0.349020f, 0.349020f, 0.349020f);
-  ADD_COLOR("gray36",                 0.360784f, 0.360784f, 0.360784f);
-  ADD_COLOR("grey36",                 0.360784f, 0.360784f, 0.360784f);
-  ADD_COLOR("gray37",                 0.368627f, 0.368627f, 0.368627f);
-  ADD_COLOR("grey37",                 0.368627f, 0.368627f, 0.368627f);
-  ADD_COLOR("gray38",                 0.380392f, 0.380392f, 0.380392f);
-  ADD_COLOR("grey38",                 0.380392f, 0.380392f, 0.380392f);
-  ADD_COLOR("gray39",                 0.388235f, 0.388235f, 0.388235f);
-  ADD_COLOR("grey39",                 0.388235f, 0.388235f, 0.388235f);
-  ADD_COLOR("gray40",                 0.400000f, 0.400000f, 0.400000f);
-  ADD_COLOR("grey40",                 0.400000f, 0.400000f, 0.400000f);
-  ADD_COLOR("gray41",                 0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("grey41",                 0.411765f, 0.411765f, 0.411765f);
-  ADD_COLOR("gray42",                 0.419608f, 0.419608f, 0.419608f);
-  ADD_COLOR("grey42",                 0.419608f, 0.419608f, 0.419608f);
-  ADD_COLOR("gray43",                 0.431373f, 0.431373f, 0.431373f);
-  ADD_COLOR("grey43",                 0.431373f, 0.431373f, 0.431373f);
-  ADD_COLOR("gray44",                 0.439216f, 0.439216f, 0.439216f);
-  ADD_COLOR("grey44",                 0.439216f, 0.439216f, 0.439216f);
-  ADD_COLOR("gray45",                 0.450980f, 0.450980f, 0.450980f);
-  ADD_COLOR("grey45",                 0.450980f, 0.450980f, 0.450980f);
-  ADD_COLOR("gray46",                 0.458824f, 0.458824f, 0.458824f);
-  ADD_COLOR("grey46",                 0.458824f, 0.458824f, 0.458824f);
-  ADD_COLOR("gray47",                 0.470588f, 0.470588f, 0.470588f);
-  ADD_COLOR("grey47",                 0.470588f, 0.470588f, 0.470588f);
-  ADD_COLOR("gray48",                 0.478431f, 0.478431f, 0.478431f);
-  ADD_COLOR("grey48",                 0.478431f, 0.478431f, 0.478431f);
-  ADD_COLOR("gray49",                 0.490196f, 0.490196f, 0.490196f);
-  ADD_COLOR("grey49",                 0.490196f, 0.490196f, 0.490196f);
-  ADD_COLOR("gray50",                 0.498039f, 0.498039f, 0.498039f);
-  ADD_COLOR("grey50",                 0.498039f, 0.498039f, 0.498039f);
-  ADD_COLOR("gray51",                 0.509804f, 0.509804f, 0.509804f);
-  ADD_COLOR("grey51",                 0.509804f, 0.509804f, 0.509804f);
-  ADD_COLOR("gray52",                 0.521569f, 0.521569f, 0.521569f);
-  ADD_COLOR("grey52",                 0.521569f, 0.521569f, 0.521569f);
-  ADD_COLOR("gray53",                 0.529412f, 0.529412f, 0.529412f);
-  ADD_COLOR("grey53",                 0.529412f, 0.529412f, 0.529412f);
-  ADD_COLOR("gray54",                 0.541176f, 0.541176f, 0.541176f);
-  ADD_COLOR("grey54",                 0.541176f, 0.541176f, 0.541176f);
-  ADD_COLOR("gray55",                 0.549020f, 0.549020f, 0.549020f);
-  ADD_COLOR("grey55",                 0.549020f, 0.549020f, 0.549020f);
-  ADD_COLOR("gray56",                 0.560784f, 0.560784f, 0.560784f);
-  ADD_COLOR("grey56",                 0.560784f, 0.560784f, 0.560784f);
-  ADD_COLOR("gray57",                 0.568627f, 0.568627f, 0.568627f);
-  ADD_COLOR("grey57",                 0.568627f, 0.568627f, 0.568627f);
-  ADD_COLOR("gray58",                 0.580392f, 0.580392f, 0.580392f);
-  ADD_COLOR("grey58",                 0.580392f, 0.580392f, 0.580392f);
-  ADD_COLOR("gray59",                 0.588235f, 0.588235f, 0.588235f);
-  ADD_COLOR("grey59",                 0.588235f, 0.588235f, 0.588235f);
-  ADD_COLOR("gray60",                 0.600000f, 0.600000f, 0.600000f);
-  ADD_COLOR("grey60",                 0.600000f, 0.600000f, 0.600000f);
-  ADD_COLOR("gray61",                 0.611765f, 0.611765f, 0.611765f);
-  ADD_COLOR("grey61",                 0.611765f, 0.611765f, 0.611765f);
-  ADD_COLOR("gray62",                 0.619608f, 0.619608f, 0.619608f);
-  ADD_COLOR("grey62",                 0.619608f, 0.619608f, 0.619608f);
-  ADD_COLOR("gray63",                 0.631373f, 0.631373f, 0.631373f);
-  ADD_COLOR("grey63",                 0.631373f, 0.631373f, 0.631373f);
-  ADD_COLOR("gray64",                 0.639216f, 0.639216f, 0.639216f);
-  ADD_COLOR("grey64",                 0.639216f, 0.639216f, 0.639216f);
-  ADD_COLOR("gray65",                 0.650980f, 0.650980f, 0.650980f);
-  ADD_COLOR("grey65",                 0.650980f, 0.650980f, 0.650980f);
-  ADD_COLOR("gray66",                 0.658824f, 0.658824f, 0.658824f);
-  ADD_COLOR("grey66",                 0.658824f, 0.658824f, 0.658824f);
-  ADD_COLOR("gray67",                 0.670588f, 0.670588f, 0.670588f);
-  ADD_COLOR("grey67",                 0.670588f, 0.670588f, 0.670588f);
-  ADD_COLOR("gray68",                 0.678431f, 0.678431f, 0.678431f);
-  ADD_COLOR("grey68",                 0.678431f, 0.678431f, 0.678431f);
-  ADD_COLOR("gray69",                 0.690196f, 0.690196f, 0.690196f);
-  ADD_COLOR("grey69",                 0.690196f, 0.690196f, 0.690196f);
-  ADD_COLOR("gray70",                 0.701961f, 0.701961f, 0.701961f);
-  ADD_COLOR("grey70",                 0.701961f, 0.701961f, 0.701961f);
-  ADD_COLOR("gray71",                 0.709804f, 0.709804f, 0.709804f);
-  ADD_COLOR("grey71",                 0.709804f, 0.709804f, 0.709804f);
-  ADD_COLOR("gray72",                 0.721569f, 0.721569f, 0.721569f);
-  ADD_COLOR("grey72",                 0.721569f, 0.721569f, 0.721569f);
-  ADD_COLOR("gray73",                 0.729412f, 0.729412f, 0.729412f);
-  ADD_COLOR("grey73",                 0.729412f, 0.729412f, 0.729412f);
-  ADD_COLOR("gray74",                 0.741176f, 0.741176f, 0.741176f);
-  ADD_COLOR("grey74",                 0.741176f, 0.741176f, 0.741176f);
-  ADD_COLOR("gray75",                 0.749020f, 0.749020f, 0.749020f);
-  ADD_COLOR("grey75",                 0.749020f, 0.749020f, 0.749020f);
-  ADD_COLOR("gray76",                 0.760784f, 0.760784f, 0.760784f);
-  ADD_COLOR("grey76",                 0.760784f, 0.760784f, 0.760784f);
-  ADD_COLOR("gray77",                 0.768627f, 0.768627f, 0.768627f);
-  ADD_COLOR("grey77",                 0.768627f, 0.768627f, 0.768627f);
-  ADD_COLOR("gray78",                 0.780392f, 0.780392f, 0.780392f);
-  ADD_COLOR("grey78",                 0.780392f, 0.780392f, 0.780392f);
-  ADD_COLOR("gray79",                 0.788235f, 0.788235f, 0.788235f);
-  ADD_COLOR("grey79",                 0.788235f, 0.788235f, 0.788235f);
-  ADD_COLOR("gray80",                 0.800000f, 0.800000f, 0.800000f);
-  ADD_COLOR("grey80",                 0.800000f, 0.800000f, 0.800000f);
-  ADD_COLOR("gray81",                 0.811765f, 0.811765f, 0.811765f);
-  ADD_COLOR("grey81",                 0.811765f, 0.811765f, 0.811765f);
-  ADD_COLOR("gray82",                 0.819608f, 0.819608f, 0.819608f);
-  ADD_COLOR("grey82",                 0.819608f, 0.819608f, 0.819608f);
-  ADD_COLOR("gray83",                 0.831373f, 0.831373f, 0.831373f);
-  ADD_COLOR("grey83",                 0.831373f, 0.831373f, 0.831373f);
-  ADD_COLOR("gray84",                 0.839216f, 0.839216f, 0.839216f);
-  ADD_COLOR("grey84",                 0.839216f, 0.839216f, 0.839216f);
-  ADD_COLOR("gray85",                 0.850980f, 0.850980f, 0.850980f);
-  ADD_COLOR("grey85",                 0.850980f, 0.850980f, 0.850980f);
-  ADD_COLOR("gray86",                 0.858824f, 0.858824f, 0.858824f);
-  ADD_COLOR("grey86",                 0.858824f, 0.858824f, 0.858824f);
-  ADD_COLOR("gray87",                 0.870588f, 0.870588f, 0.870588f);
-  ADD_COLOR("grey87",                 0.870588f, 0.870588f, 0.870588f);
-  ADD_COLOR("gray88",                 0.878431f, 0.878431f, 0.878431f);
-  ADD_COLOR("grey88",                 0.878431f, 0.878431f, 0.878431f);
-  ADD_COLOR("gray89",                 0.890196f, 0.890196f, 0.890196f);
-  ADD_COLOR("grey89",                 0.890196f, 0.890196f, 0.890196f);
-  ADD_COLOR("gray90",                 0.898039f, 0.898039f, 0.898039f);
-  ADD_COLOR("grey90",                 0.898039f, 0.898039f, 0.898039f);
-  ADD_COLOR("gray91",                 0.909804f, 0.909804f, 0.909804f);
-  ADD_COLOR("grey91",                 0.909804f, 0.909804f, 0.909804f);
-  ADD_COLOR("gray92",                 0.921569f, 0.921569f, 0.921569f);
-  ADD_COLOR("grey92",                 0.921569f, 0.921569f, 0.921569f);
-  ADD_COLOR("gray93",                 0.929412f, 0.929412f, 0.929412f);
-  ADD_COLOR("grey93",                 0.929412f, 0.929412f, 0.929412f);
-  ADD_COLOR("gray94",                 0.941176f, 0.941176f, 0.941176f);
-  ADD_COLOR("grey94",                 0.941176f, 0.941176f, 0.941176f);
-  ADD_COLOR("gray95",                 0.949020f, 0.949020f, 0.949020f);
-  ADD_COLOR("grey95",                 0.949020f, 0.949020f, 0.949020f);
-  ADD_COLOR("gray96",                 0.960784f, 0.960784f, 0.960784f);
-  ADD_COLOR("grey96",                 0.960784f, 0.960784f, 0.960784f);
-  ADD_COLOR("gray97",                 0.968627f, 0.968627f, 0.968627f);
-  ADD_COLOR("grey97",                 0.968627f, 0.968627f, 0.968627f);
-  ADD_COLOR("gray98",                 0.980392f, 0.980392f, 0.980392f);
-  ADD_COLOR("grey98",                 0.980392f, 0.980392f, 0.980392f);
-  ADD_COLOR("gray99",                 0.988235f, 0.988235f, 0.988235f);
-  ADD_COLOR("grey99",                 0.988235f, 0.988235f, 0.988235f);
-  ADD_COLOR("gray100",                1.000000f, 1.000000f, 1.000000f);
-  ADD_COLOR("grey100",                1.000000f, 1.000000f, 1.000000f);
-  ADD_COLOR("dark_grey",              0.662745f, 0.662745f, 0.662745f);
-  ADD_COLOR("DarkGrey",               0.662745f, 0.662745f, 0.662745f);
-  ADD_COLOR("dark_gray",              0.662745f, 0.662745f, 0.662745f);
-  ADD_COLOR("DarkGray",               0.662745f, 0.662745f, 0.662745f);
-  ADD_COLOR("dark_blue",              0.000000f, 0.000000f, 0.545098f);
-  ADD_COLOR("DarkBlue",               0.000000f, 0.000000f, 0.545098f);
-  ADD_COLOR("dark_cyan",              0.000000f, 0.545098f, 0.545098f);
-  ADD_COLOR("DarkCyan",               0.000000f, 0.545098f, 0.545098f);
-  ADD_COLOR("dark_magenta",           0.545098f, 0.000000f, 0.545098f);
-  ADD_COLOR("DarkMagenta",            0.545098f, 0.000000f, 0.545098f);
-  ADD_COLOR("dark_red",               0.545098f, 0.000000f, 0.000000f);
-  ADD_COLOR("DarkRed",                0.545098f, 0.000000f, 0.000000f);
-  ADD_COLOR("light_green",            0.564706f, 0.933333f, 0.564706f);
-  ADD_COLOR("LightGreen",             0.564706f, 0.933333f, 0.564706f);
+  static const ColorArrayData colorArray[] = {
+    { "snow",                   1.000000f, 0.980392f, 0.980392f },
+    { "ghost_white",            0.972549f, 0.972549f, 1.000000f },
+    { "GhostWhite",             0.972549f, 0.972549f, 1.000000f },
+    { "white_smoke",            0.960784f, 0.960784f, 0.960784f },
+    { "WhiteSmoke",             0.960784f, 0.960784f, 0.960784f },
+    { "gainsboro",              0.862745f, 0.862745f, 0.862745f },
+    { "floral_white",           1.000000f, 0.980392f, 0.941176f },
+    { "FloralWhite",            1.000000f, 0.980392f, 0.941176f },
+    { "old_lace",               0.992157f, 0.960784f, 0.901961f },
+    { "OldLace",                0.992157f, 0.960784f, 0.901961f },
+    { "linen",                  0.980392f, 0.941176f, 0.901961f },
+    { "antique_white",          0.980392f, 0.921569f, 0.843137f },
+    { "AntiqueWhite",           0.980392f, 0.921569f, 0.843137f },
+    { "papaya_whip",            1.000000f, 0.937255f, 0.835294f },
+    { "PapayaWhip",             1.000000f, 0.937255f, 0.835294f },
+    { "blanched_almond",        1.000000f, 0.921569f, 0.803922f },
+    { "BlanchedAlmond",         1.000000f, 0.921569f, 0.803922f },
+    { "bisque",                 1.000000f, 0.894118f, 0.768627f },
+    { "peach_puff",             1.000000f, 0.854902f, 0.725490f },
+    { "PeachPuff",              1.000000f, 0.854902f, 0.725490f },
+    { "navajo_white",           1.000000f, 0.870588f, 0.678431f },
+    { "NavajoWhite",            1.000000f, 0.870588f, 0.678431f },
+    { "moccasin",               1.000000f, 0.894118f, 0.709804f },
+    { "cornsilk",               1.000000f, 0.972549f, 0.862745f },
+    { "ivory",                  1.000000f, 1.000000f, 0.941176f },
+    { "lemon_chiffon",          1.000000f, 0.980392f, 0.803922f },
+    { "LemonChiffon",           1.000000f, 0.980392f, 0.803922f },
+    { "seashell",               1.000000f, 0.960784f, 0.933333f },
+    { "honeydew",               0.941176f, 1.000000f, 0.941176f },
+    { "mint_cream",             0.960784f, 1.000000f, 0.980392f },
+    { "MintCream",              0.960784f, 1.000000f, 0.980392f },
+    { "azure",                  0.941176f, 1.000000f, 1.000000f },
+    { "alice_blue",             0.941176f, 0.972549f, 1.000000f },
+    { "AliceBlue",              0.941176f, 0.972549f, 1.000000f },
+    { "lavender",               0.901961f, 0.901961f, 0.980392f },
+    { "lavender_blush",         1.000000f, 0.941176f, 0.960784f },
+    { "LavenderBlush",          1.000000f, 0.941176f, 0.960784f },
+    { "misty_rose",             1.000000f, 0.894118f, 0.882353f },
+    { "MistyRose",              1.000000f, 0.894118f, 0.882353f },
+    { "white",                  1.000000f, 1.000000f, 1.000000f },
+    { "black",                  0.000000f, 0.000000f, 0.000000f },
+    { "dark_slate_gray",        0.184314f, 0.309804f, 0.309804f },
+    { "DarkSlateGray",          0.184314f, 0.309804f, 0.309804f },
+    { "dark_slate_grey",        0.184314f, 0.309804f, 0.309804f },
+    { "DarkSlateGrey",          0.184314f, 0.309804f, 0.309804f },
+    { "dim_gray",               0.411765f, 0.411765f, 0.411765f },
+    { "DimGray",                0.411765f, 0.411765f, 0.411765f },
+    { "dim_grey",               0.411765f, 0.411765f, 0.411765f },
+    { "DimGrey",                0.411765f, 0.411765f, 0.411765f },
+    { "slate_gray",             0.439216f, 0.501961f, 0.564706f },
+    { "SlateGray",              0.439216f, 0.501961f, 0.564706f },
+    { "slate_grey",             0.439216f, 0.501961f, 0.564706f },
+    { "SlateGrey",              0.439216f, 0.501961f, 0.564706f },
+    { "light_slate_gray",       0.466667f, 0.533333f, 0.600000f },
+    { "LightSlateGray",         0.466667f, 0.533333f, 0.600000f },
+    { "light_slate_grey",       0.466667f, 0.533333f, 0.600000f },
+    { "LightSlateGrey",         0.466667f, 0.533333f, 0.600000f },
+    { "gray",                   0.745098f, 0.745098f, 0.745098f },
+    { "grey",                   0.745098f, 0.745098f, 0.745098f },
+    { "light_grey",             0.827451f, 0.827451f, 0.827451f },
+    { "LightGrey",              0.827451f, 0.827451f, 0.827451f },
+    { "light_gray",             0.827451f, 0.827451f, 0.827451f },
+    { "LightGray",              0.827451f, 0.827451f, 0.827451f },
+    { "midnight_blue",          0.098039f, 0.098039f, 0.439216f },
+    { "MidnightBlue",           0.098039f, 0.098039f, 0.439216f },
+    { "navy",                   0.000000f, 0.000000f, 0.501961f },
+    { "navy_blue",              0.000000f, 0.000000f, 0.501961f },
+    { "NavyBlue",               0.000000f, 0.000000f, 0.501961f },
+    { "cornflower_blue",        0.392157f, 0.584314f, 0.929412f },
+    { "CornflowerBlue",         0.392157f, 0.584314f, 0.929412f },
+    { "dark_slate_blue",        0.282353f, 0.239216f, 0.545098f },
+    { "DarkSlateBlue",          0.282353f, 0.239216f, 0.545098f },
+    { "slate_blue",             0.415686f, 0.352941f, 0.803922f },
+    { "SlateBlue",              0.415686f, 0.352941f, 0.803922f },
+    { "medium_slate_blue",      0.482353f, 0.407843f, 0.933333f },
+    { "MediumSlateBlue",        0.482353f, 0.407843f, 0.933333f },
+    { "light_slate_blue",       0.517647f, 0.439216f, 1.000000f },
+    { "LightSlateBlue",         0.517647f, 0.439216f, 1.000000f },
+    { "medium_blue",            0.000000f, 0.000000f, 0.803922f },
+    { "MediumBlue",             0.000000f, 0.000000f, 0.803922f },
+    { "royal_blue",             0.254902f, 0.411765f, 0.882353f },
+    { "RoyalBlue",              0.254902f, 0.411765f, 0.882353f },
+    { "blue",                   0.000000f, 0.000000f, 1.000000f },
+    { "dodger_blue",            0.117647f, 0.564706f, 1.000000f },
+    { "DodgerBlue",             0.117647f, 0.564706f, 1.000000f },
+    { "deep_sky_blue",          0.000000f, 0.749020f, 1.000000f },
+    { "DeepSkyBlue",            0.000000f, 0.749020f, 1.000000f },
+    { "sky_blue",               0.529412f, 0.807843f, 0.921569f },
+    { "SkyBlue",                0.529412f, 0.807843f, 0.921569f },
+    { "light_sky_blue",         0.529412f, 0.807843f, 0.980392f },
+    { "LightSkyBlue",           0.529412f, 0.807843f, 0.980392f },
+    { "steel_blue",             0.274510f, 0.509804f, 0.705882f },
+    { "SteelBlue",              0.274510f, 0.509804f, 0.705882f },
+    { "light_steel_blue",       0.690196f, 0.768627f, 0.870588f },
+    { "LightSteelBlue",         0.690196f, 0.768627f, 0.870588f },
+    { "light_blue",             0.678431f, 0.847059f, 0.901961f },
+    { "LightBlue",              0.678431f, 0.847059f, 0.901961f },
+    { "powder_blue",            0.690196f, 0.878431f, 0.901961f },
+    { "PowderBlue",             0.690196f, 0.878431f, 0.901961f },
+    { "pale_turquoise",         0.686275f, 0.933333f, 0.933333f },
+    { "PaleTurquoise",          0.686275f, 0.933333f, 0.933333f },
+    { "dark_turquoise",         0.000000f, 0.807843f, 0.819608f },
+    { "DarkTurquoise",          0.000000f, 0.807843f, 0.819608f },
+    { "medium_turquoise",       0.282353f, 0.819608f, 0.800000f },
+    { "MediumTurquoise",        0.282353f, 0.819608f, 0.800000f },
+    { "turquoise",              0.250980f, 0.878431f, 0.815686f },
+    { "cyan",                   0.000000f, 1.000000f, 1.000000f },
+    { "light_cyan",             0.878431f, 1.000000f, 1.000000f },
+    { "LightCyan",              0.878431f, 1.000000f, 1.000000f },
+    { "cadet_blue",             0.372549f, 0.619608f, 0.627451f },
+    { "CadetBlue",              0.372549f, 0.619608f, 0.627451f },
+    { "medium_aquamarine",      0.400000f, 0.803922f, 0.666667f },
+    { "MediumAquamarine",       0.400000f, 0.803922f, 0.666667f },
+    { "aquamarine",             0.498039f, 1.000000f, 0.831373f },
+    { "dark_green",             0.000000f, 0.392157f, 0.000000f },
+    { "DarkGreen",              0.000000f, 0.392157f, 0.000000f },
+    { "dark_olive_green",       0.333333f, 0.419608f, 0.184314f },
+    { "DarkOliveGreen",         0.333333f, 0.419608f, 0.184314f },
+    { "dark_sea_green",         0.560784f, 0.737255f, 0.560784f },
+    { "DarkSeaGreen",           0.560784f, 0.737255f, 0.560784f },
+    { "sea_green",              0.180392f, 0.545098f, 0.341176f },
+    { "SeaGreen",               0.180392f, 0.545098f, 0.341176f },
+    { "medium_sea_green",       0.235294f, 0.701961f, 0.443137f },
+    { "MediumSeaGreen",         0.235294f, 0.701961f, 0.443137f },
+    { "light_sea_green",        0.125490f, 0.698039f, 0.666667f },
+    { "LightSeaGreen",          0.125490f, 0.698039f, 0.666667f },
+    { "pale_green",             0.596078f, 0.984314f, 0.596078f },
+    { "PaleGreen",              0.596078f, 0.984314f, 0.596078f },
+    { "spring_green",           0.000000f, 1.000000f, 0.498039f },
+    { "SpringGreen",            0.000000f, 1.000000f, 0.498039f },
+    { "lawn_green",             0.486275f, 0.988235f, 0.000000f },
+    { "LawnGreen",              0.486275f, 0.988235f, 0.000000f },
+    { "green",                  0.000000f, 1.000000f, 0.000000f },
+    { "chartreuse",             0.498039f, 1.000000f, 0.000000f },
+    { "medium_spring_green",    0.000000f, 0.980392f, 0.603922f },
+    { "MediumSpringGreen",      0.000000f, 0.980392f, 0.603922f },
+    { "green_yellow",           0.678431f, 1.000000f, 0.184314f },
+    { "GreenYellow",            0.678431f, 1.000000f, 0.184314f },
+    { "lime_green",             0.196078f, 0.803922f, 0.196078f },
+    { "LimeGreen",              0.196078f, 0.803922f, 0.196078f },
+    { "yellow_green",           0.603922f, 0.803922f, 0.196078f },
+    { "YellowGreen",            0.603922f, 0.803922f, 0.196078f },
+    { "forest_green",           0.133333f, 0.545098f, 0.133333f },
+    { "ForestGreen",            0.133333f, 0.545098f, 0.133333f },
+    { "olive_drab",             0.419608f, 0.556863f, 0.137255f },
+    { "OliveDrab",              0.419608f, 0.556863f, 0.137255f },
+    { "dark_khaki",             0.741176f, 0.717647f, 0.419608f },
+    { "DarkKhaki",              0.741176f, 0.717647f, 0.419608f },
+    { "khaki",                  0.941176f, 0.901961f, 0.549020f },
+    { "pale_goldenrod",         0.933333f, 0.909804f, 0.666667f },
+    { "PaleGoldenrod",          0.933333f, 0.909804f, 0.666667f },
+    { "light_goldenrod_yellow", 0.980392f, 0.980392f, 0.823529f },
+    { "LightGoldenrodYellow",   0.980392f, 0.980392f, 0.823529f },
+    { "light_yellow",           1.000000f, 1.000000f, 0.878431f },
+    { "LightYellow",            1.000000f, 1.000000f, 0.878431f },
+    { "yellow",                 1.000000f, 1.000000f, 0.000000f },
+    { "gold",                   1.000000f, 0.843137f, 0.000000f },
+    { "light_goldenrod",        0.933333f, 0.866667f, 0.509804f },
+    { "LightGoldenrod",         0.933333f, 0.866667f, 0.509804f },
+    { "goldenrod",              0.854902f, 0.647059f, 0.125490f },
+    { "dark_goldenrod",         0.721569f, 0.525490f, 0.043137f },
+    { "DarkGoldenrod",          0.721569f, 0.525490f, 0.043137f },
+    { "rosy_brown",             0.737255f, 0.560784f, 0.560784f },
+    { "RosyBrown",              0.737255f, 0.560784f, 0.560784f },
+    { "indian_red",             0.803922f, 0.360784f, 0.360784f },
+    { "IndianRed",              0.803922f, 0.360784f, 0.360784f },
+    { "saddle_brown",           0.545098f, 0.270588f, 0.074510f },
+    { "SaddleBrown",            0.545098f, 0.270588f, 0.074510f },
+    { "sienna",                 0.627451f, 0.321569f, 0.176471f },
+    { "peru",                   0.803922f, 0.521569f, 0.247059f },
+    { "burlywood",              0.870588f, 0.721569f, 0.529412f },
+    { "beige",                  0.960784f, 0.960784f, 0.862745f },
+    { "wheat",                  0.960784f, 0.870588f, 0.701961f },
+    { "sandy_brown",            0.956863f, 0.643137f, 0.376471f },
+    { "SandyBrown",             0.956863f, 0.643137f, 0.376471f },
+    { "tan",                    0.823529f, 0.705882f, 0.549020f },
+    { "chocolate",              0.823529f, 0.411765f, 0.117647f },
+    { "firebrick",              0.698039f, 0.133333f, 0.133333f },
+    { "brown",                  0.647059f, 0.164706f, 0.164706f },
+    { "dark_salmon",            0.913725f, 0.588235f, 0.478431f },
+    { "DarkSalmon",             0.913725f, 0.588235f, 0.478431f },
+    { "salmon",                 0.980392f, 0.501961f, 0.447059f },
+    { "light_salmon",           1.000000f, 0.627451f, 0.478431f },
+    { "LightSalmon",            1.000000f, 0.627451f, 0.478431f },
+    { "orange",                 1.000000f, 0.647059f, 0.000000f },
+    { "dark_orange",            1.000000f, 0.549020f, 0.000000f },
+    { "DarkOrange",             1.000000f, 0.549020f, 0.000000f },
+    { "coral",                  1.000000f, 0.498039f, 0.313726f },
+    { "light_coral",            0.941176f, 0.501961f, 0.501961f },
+    { "LightCoral",             0.941176f, 0.501961f, 0.501961f },
+    { "tomato",                 1.000000f, 0.388235f, 0.278431f },
+    { "orange_red",             1.000000f, 0.270588f, 0.000000f },
+    { "OrangeRed",              1.000000f, 0.270588f, 0.000000f },
+    { "red",                    1.000000f, 0.000000f, 0.000000f },
+    { "hot_pink",               1.000000f, 0.411765f, 0.705882f },
+    { "HotPink",                1.000000f, 0.411765f, 0.705882f },
+    { "deep_pink",              1.000000f, 0.078431f, 0.576471f },
+    { "DeepPink",               1.000000f, 0.078431f, 0.576471f },
+    { "pink",                   1.000000f, 0.752941f, 0.796078f },
+    { "light_pink",             1.000000f, 0.713726f, 0.756863f },
+    { "LightPink",              1.000000f, 0.713726f, 0.756863f },
+    { "pale_violet_red",        0.858824f, 0.439216f, 0.576471f },
+    { "PaleVioletRed",          0.858824f, 0.439216f, 0.576471f },
+    { "maroon",                 0.690196f, 0.188235f, 0.376471f },
+    { "medium_violet_red",      0.780392f, 0.082353f, 0.521569f },
+    { "MediumVioletRed",        0.780392f, 0.082353f, 0.521569f },
+    { "violet_red",             0.815686f, 0.125490f, 0.564706f },
+    { "VioletRed",              0.815686f, 0.125490f, 0.564706f },
+    { "magenta",                1.000000f, 0.000000f, 1.000000f },
+    { "violet",                 0.933333f, 0.509804f, 0.933333f },
+    { "plum",                   0.866667f, 0.627451f, 0.866667f },
+    { "orchid",                 0.854902f, 0.439216f, 0.839216f },
+    { "medium_orchid",          0.729412f, 0.333333f, 0.827451f },
+    { "MediumOrchid",           0.729412f, 0.333333f, 0.827451f },
+    { "dark_orchid",            0.600000f, 0.196078f, 0.800000f },
+    { "DarkOrchid",             0.600000f, 0.196078f, 0.800000f },
+    { "dark_violet",            0.580392f, 0.000000f, 0.827451f },
+    { "DarkViolet",             0.580392f, 0.000000f, 0.827451f },
+    { "blue_violet",            0.541176f, 0.168627f, 0.886275f },
+    { "BlueViolet",             0.541176f, 0.168627f, 0.886275f },
+    { "purple",                 0.627451f, 0.125490f, 0.941176f },
+    { "medium_purple",          0.576471f, 0.439216f, 0.858824f },
+    { "MediumPurple",           0.576471f, 0.439216f, 0.858824f },
+    { "thistle",                0.847059f, 0.749020f, 0.847059f },
+    { "snow1",                  1.000000f, 0.980392f, 0.980392f },
+    { "snow2",                  0.933333f, 0.913725f, 0.913725f },
+    { "snow3",                  0.803922f, 0.788235f, 0.788235f },
+    { "snow4",                  0.545098f, 0.537255f, 0.537255f },
+    { "seashell1",              1.000000f, 0.960784f, 0.933333f },
+    { "seashell2",              0.933333f, 0.898039f, 0.870588f },
+    { "seashell3",              0.803922f, 0.772549f, 0.749020f },
+    { "seashell4",              0.545098f, 0.525490f, 0.509804f },
+    { "AntiqueWhite1",          1.000000f, 0.937255f, 0.858824f },
+    { "AntiqueWhite2",          0.933333f, 0.874510f, 0.800000f },
+    { "AntiqueWhite3",          0.803922f, 0.752941f, 0.690196f },
+    { "AntiqueWhite4",          0.545098f, 0.513726f, 0.470588f },
+    { "bisque1",                1.000000f, 0.894118f, 0.768627f },
+    { "bisque2",                0.933333f, 0.835294f, 0.717647f },
+    { "bisque3",                0.803922f, 0.717647f, 0.619608f },
+    { "bisque4",                0.545098f, 0.490196f, 0.419608f },
+    { "PeachPuff1",             1.000000f, 0.854902f, 0.725490f },
+    { "PeachPuff2",             0.933333f, 0.796078f, 0.678431f },
+    { "PeachPuff3",             0.803922f, 0.686275f, 0.584314f },
+    { "PeachPuff4",             0.545098f, 0.466667f, 0.396078f },
+    { "NavajoWhite1",           1.000000f, 0.870588f, 0.678431f },
+    { "NavajoWhite2",           0.933333f, 0.811765f, 0.631373f },
+    { "NavajoWhite3",           0.803922f, 0.701961f, 0.545098f },
+    { "NavajoWhite4",           0.545098f, 0.474510f, 0.368627f },
+    { "LemonChiffon1",          1.000000f, 0.980392f, 0.803922f },
+    { "LemonChiffon2",          0.933333f, 0.913725f, 0.749020f },
+    { "LemonChiffon3",          0.803922f, 0.788235f, 0.647059f },
+    { "LemonChiffon4",          0.545098f, 0.537255f, 0.439216f },
+    { "cornsilk1",              1.000000f, 0.972549f, 0.862745f },
+    { "cornsilk2",              0.933333f, 0.909804f, 0.803922f },
+    { "cornsilk3",              0.803922f, 0.784314f, 0.694118f },
+    { "cornsilk4",              0.545098f, 0.533333f, 0.470588f },
+    { "ivory1",                 1.000000f, 1.000000f, 0.941176f },
+    { "ivory2",                 0.933333f, 0.933333f, 0.878431f },
+    { "ivory3",                 0.803922f, 0.803922f, 0.756863f },
+    { "ivory4",                 0.545098f, 0.545098f, 0.513726f },
+    { "honeydew1",              0.941176f, 1.000000f, 0.941176f },
+    { "honeydew2",              0.878431f, 0.933333f, 0.878431f },
+    { "honeydew3",              0.756863f, 0.803922f, 0.756863f },
+    { "honeydew4",              0.513726f, 0.545098f, 0.513726f },
+    { "LavenderBlush1",         1.000000f, 0.941176f, 0.960784f },
+    { "LavenderBlush2",         0.933333f, 0.878431f, 0.898039f },
+    { "LavenderBlush3",         0.803922f, 0.756863f, 0.772549f },
+    { "LavenderBlush4",         0.545098f, 0.513726f, 0.525490f },
+    { "MistyRose1",             1.000000f, 0.894118f, 0.882353f },
+    { "MistyRose2",             0.933333f, 0.835294f, 0.823529f },
+    { "MistyRose3",             0.803922f, 0.717647f, 0.709804f },
+    { "MistyRose4",             0.545098f, 0.490196f, 0.482353f },
+    { "azure1",                 0.941176f, 1.000000f, 1.000000f },
+    { "azure2",                 0.878431f, 0.933333f, 0.933333f },
+    { "azure3",                 0.756863f, 0.803922f, 0.803922f },
+    { "azure4",                 0.513726f, 0.545098f, 0.545098f },
+    { "SlateBlue1",             0.513726f, 0.435294f, 1.000000f },
+    { "SlateBlue2",             0.478431f, 0.403922f, 0.933333f },
+    { "SlateBlue3",             0.411765f, 0.349020f, 0.803922f },
+    { "SlateBlue4",             0.278431f, 0.235294f, 0.545098f },
+    { "RoyalBlue1",             0.282353f, 0.462745f, 1.000000f },
+    { "RoyalBlue2",             0.262745f, 0.431373f, 0.933333f },
+    { "RoyalBlue3",             0.227451f, 0.372549f, 0.803922f },
+    { "RoyalBlue4",             0.152941f, 0.250980f, 0.545098f },
+    { "blue1",                  0.000000f, 0.000000f, 1.000000f },
+    { "blue2",                  0.000000f, 0.000000f, 0.933333f },
+    { "blue3",                  0.000000f, 0.000000f, 0.803922f },
+    { "blue4",                  0.000000f, 0.000000f, 0.545098f },
+    { "DodgerBlue1",            0.117647f, 0.564706f, 1.000000f },
+    { "DodgerBlue2",            0.109804f, 0.525490f, 0.933333f },
+    { "DodgerBlue3",            0.094118f, 0.454902f, 0.803922f },
+    { "DodgerBlue4",            0.062745f, 0.305882f, 0.545098f },
+    { "SteelBlue1",             0.388235f, 0.721569f, 1.000000f },
+    { "SteelBlue2",             0.360784f, 0.674510f, 0.933333f },
+    { "SteelBlue3",             0.309804f, 0.580392f, 0.803922f },
+    { "SteelBlue4",             0.211765f, 0.392157f, 0.545098f },
+    { "DeepSkyBlue1",           0.000000f, 0.749020f, 1.000000f },
+    { "DeepSkyBlue2",           0.000000f, 0.698039f, 0.933333f },
+    { "DeepSkyBlue3",           0.000000f, 0.603922f, 0.803922f },
+    { "DeepSkyBlue4",           0.000000f, 0.407843f, 0.545098f },
+    { "SkyBlue1",               0.529412f, 0.807843f, 1.000000f },
+    { "SkyBlue2",               0.494118f, 0.752941f, 0.933333f },
+    { "SkyBlue3",               0.423529f, 0.650980f, 0.803922f },
+    { "SkyBlue4",               0.290196f, 0.439216f, 0.545098f },
+    { "LightSkyBlue1",          0.690196f, 0.886275f, 1.000000f },
+    { "LightSkyBlue2",          0.643137f, 0.827451f, 0.933333f },
+    { "LightSkyBlue3",          0.552941f, 0.713726f, 0.803922f },
+    { "LightSkyBlue4",          0.376471f, 0.482353f, 0.545098f },
+    { "SlateGray1",             0.776471f, 0.886275f, 1.000000f },
+    { "SlateGray2",             0.725490f, 0.827451f, 0.933333f },
+    { "SlateGray3",             0.623529f, 0.713726f, 0.803922f },
+    { "SlateGray4",             0.423529f, 0.482353f, 0.545098f },
+    { "LightSteelBlue1",        0.792157f, 0.882353f, 1.000000f },
+    { "LightSteelBlue2",        0.737255f, 0.823529f, 0.933333f },
+    { "LightSteelBlue3",        0.635294f, 0.709804f, 0.803922f },
+    { "LightSteelBlue4",        0.431373f, 0.482353f, 0.545098f },
+    { "LightBlue1",             0.749020f, 0.937255f, 1.000000f },
+    { "LightBlue2",             0.698039f, 0.874510f, 0.933333f },
+    { "LightBlue3",             0.603922f, 0.752941f, 0.803922f },
+    { "LightBlue4",             0.407843f, 0.513726f, 0.545098f },
+    { "LightCyan1",             0.878431f, 1.000000f, 1.000000f },
+    { "LightCyan2",             0.819608f, 0.933333f, 0.933333f },
+    { "LightCyan3",             0.705882f, 0.803922f, 0.803922f },
+    { "LightCyan4",             0.478431f, 0.545098f, 0.545098f },
+    { "PaleTurquoise1",         0.733333f, 1.000000f, 1.000000f },
+    { "PaleTurquoise2",         0.682353f, 0.933333f, 0.933333f },
+    { "PaleTurquoise3",         0.588235f, 0.803922f, 0.803922f },
+    { "PaleTurquoise4",         0.400000f, 0.545098f, 0.545098f },
+    { "CadetBlue1",             0.596078f, 0.960784f, 1.000000f },
+    { "CadetBlue2",             0.556863f, 0.898039f, 0.933333f },
+    { "CadetBlue3",             0.478431f, 0.772549f, 0.803922f },
+    { "CadetBlue4",             0.325490f, 0.525490f, 0.545098f },
+    { "turquoise1",             0.000000f, 0.960784f, 1.000000f },
+    { "turquoise2",             0.000000f, 0.898039f, 0.933333f },
+    { "turquoise3",             0.000000f, 0.772549f, 0.803922f },
+    { "turquoise4",             0.000000f, 0.525490f, 0.545098f },
+    { "cyan1",                  0.000000f, 1.000000f, 1.000000f },
+    { "cyan2",                  0.000000f, 0.933333f, 0.933333f },
+    { "cyan3",                  0.000000f, 0.803922f, 0.803922f },
+    { "cyan4",                  0.000000f, 0.545098f, 0.545098f },
+    { "DarkSlateGray1",         0.592157f, 1.000000f, 1.000000f },
+    { "DarkSlateGray2",         0.552941f, 0.933333f, 0.933333f },
+    { "DarkSlateGray3",         0.474510f, 0.803922f, 0.803922f },
+    { "DarkSlateGray4",         0.321569f, 0.545098f, 0.545098f },
+    { "aquamarine1",            0.498039f, 1.000000f, 0.831373f },
+    { "aquamarine2",            0.462745f, 0.933333f, 0.776471f },
+    { "aquamarine3",            0.400000f, 0.803922f, 0.666667f },
+    { "aquamarine4",            0.270588f, 0.545098f, 0.454902f },
+    { "DarkSeaGreen1",          0.756863f, 1.000000f, 0.756863f },
+    { "DarkSeaGreen2",          0.705882f, 0.933333f, 0.705882f },
+    { "DarkSeaGreen3",          0.607843f, 0.803922f, 0.607843f },
+    { "DarkSeaGreen4",          0.411765f, 0.545098f, 0.411765f },
+    { "SeaGreen1",              0.329412f, 1.000000f, 0.623529f },
+    { "SeaGreen2",              0.305882f, 0.933333f, 0.580392f },
+    { "SeaGreen3",              0.262745f, 0.803922f, 0.501961f },
+    { "SeaGreen4",              0.180392f, 0.545098f, 0.341176f },
+    { "PaleGreen1",             0.603922f, 1.000000f, 0.603922f },
+    { "PaleGreen2",             0.564706f, 0.933333f, 0.564706f },
+    { "PaleGreen3",             0.486275f, 0.803922f, 0.486275f },
+    { "PaleGreen4",             0.329412f, 0.545098f, 0.329412f },
+    { "SpringGreen1",           0.000000f, 1.000000f, 0.498039f },
+    { "SpringGreen2",           0.000000f, 0.933333f, 0.462745f },
+    { "SpringGreen3",           0.000000f, 0.803922f, 0.400000f },
+    { "SpringGreen4",           0.000000f, 0.545098f, 0.270588f },
+    { "green1",                 0.000000f, 1.000000f, 0.000000f },
+    { "green2",                 0.000000f, 0.933333f, 0.000000f },
+    { "green3",                 0.000000f, 0.803922f, 0.000000f },
+    { "green4",                 0.000000f, 0.545098f, 0.000000f },
+    { "chartreuse1",            0.498039f, 1.000000f, 0.000000f },
+    { "chartreuse2",            0.462745f, 0.933333f, 0.000000f },
+    { "chartreuse3",            0.400000f, 0.803922f, 0.000000f },
+    { "chartreuse4",            0.270588f, 0.545098f, 0.000000f },
+    { "OliveDrab1",             0.752941f, 1.000000f, 0.243137f },
+    { "OliveDrab2",             0.701961f, 0.933333f, 0.227451f },
+    { "OliveDrab3",             0.603922f, 0.803922f, 0.196078f },
+    { "OliveDrab4",             0.411765f, 0.545098f, 0.133333f },
+    { "DarkOliveGreen1",        0.792157f, 1.000000f, 0.439216f },
+    { "DarkOliveGreen2",        0.737255f, 0.933333f, 0.407843f },
+    { "DarkOliveGreen3",        0.635294f, 0.803922f, 0.352941f },
+    { "DarkOliveGreen4",        0.431373f, 0.545098f, 0.239216f },
+    { "khaki1",                 1.000000f, 0.964706f, 0.560784f },
+    { "khaki2",                 0.933333f, 0.901961f, 0.521569f },
+    { "khaki3",                 0.803922f, 0.776471f, 0.450980f },
+    { "khaki4",                 0.545098f, 0.525490f, 0.305882f },
+    { "LightGoldenrod1",        1.000000f, 0.925490f, 0.545098f },
+    { "LightGoldenrod2",        0.933333f, 0.862745f, 0.509804f },
+    { "LightGoldenrod3",        0.803922f, 0.745098f, 0.439216f },
+    { "LightGoldenrod4",        0.545098f, 0.505882f, 0.298039f },
+    { "LightYellow1",           1.000000f, 1.000000f, 0.878431f },
+    { "LightYellow2",           0.933333f, 0.933333f, 0.819608f },
+    { "LightYellow3",           0.803922f, 0.803922f, 0.705882f },
+    { "LightYellow4",           0.545098f, 0.545098f, 0.478431f },
+    { "yellow1",                1.000000f, 1.000000f, 0.000000f },
+    { "yellow2",                0.933333f, 0.933333f, 0.000000f },
+    { "yellow3",                0.803922f, 0.803922f, 0.000000f },
+    { "yellow4",                0.545098f, 0.545098f, 0.000000f },
+    { "gold1",                  1.000000f, 0.843137f, 0.000000f },
+    { "gold2",                  0.933333f, 0.788235f, 0.000000f },
+    { "gold3",                  0.803922f, 0.678431f, 0.000000f },
+    { "gold4",                  0.545098f, 0.458824f, 0.000000f },
+    { "goldenrod1",             1.000000f, 0.756863f, 0.145098f },
+    { "goldenrod2",             0.933333f, 0.705882f, 0.133333f },
+    { "goldenrod3",             0.803922f, 0.607843f, 0.113725f },
+    { "goldenrod4",             0.545098f, 0.411765f, 0.078431f },
+    { "DarkGoldenrod1",         1.000000f, 0.725490f, 0.058824f },
+    { "DarkGoldenrod2",         0.933333f, 0.678431f, 0.054902f },
+    { "DarkGoldenrod3",         0.803922f, 0.584314f, 0.047059f },
+    { "DarkGoldenrod4",         0.545098f, 0.396078f, 0.031373f },
+    { "RosyBrown1",             1.000000f, 0.756863f, 0.756863f },
+    { "RosyBrown2",             0.933333f, 0.705882f, 0.705882f },
+    { "RosyBrown3",             0.803922f, 0.607843f, 0.607843f },
+    { "RosyBrown4",             0.545098f, 0.411765f, 0.411765f },
+    { "IndianRed1",             1.000000f, 0.415686f, 0.415686f },
+    { "IndianRed2",             0.933333f, 0.388235f, 0.388235f },
+    { "IndianRed3",             0.803922f, 0.333333f, 0.333333f },
+    { "IndianRed4",             0.545098f, 0.227451f, 0.227451f },
+    { "sienna1",                1.000000f, 0.509804f, 0.278431f },
+    { "sienna2",                0.933333f, 0.474510f, 0.258824f },
+    { "sienna3",                0.803922f, 0.407843f, 0.223529f },
+    { "sienna4",                0.545098f, 0.278431f, 0.149020f },
+    { "burlywood1",             1.000000f, 0.827451f, 0.607843f },
+    { "burlywood2",             0.933333f, 0.772549f, 0.568627f },
+    { "burlywood3",             0.803922f, 0.666667f, 0.490196f },
+    { "burlywood4",             0.545098f, 0.450980f, 0.333333f },
+    { "wheat1",                 1.000000f, 0.905882f, 0.729412f },
+    { "wheat2",                 0.933333f, 0.847059f, 0.682353f },
+    { "wheat3",                 0.803922f, 0.729412f, 0.588235f },
+    { "wheat4",                 0.545098f, 0.494118f, 0.400000f },
+    { "tan1",                   1.000000f, 0.647059f, 0.309804f },
+    { "tan2",                   0.933333f, 0.603922f, 0.286275f },
+    { "tan3",                   0.803922f, 0.521569f, 0.247059f },
+    { "tan4",                   0.545098f, 0.352941f, 0.168627f },
+    { "chocolate1",             1.000000f, 0.498039f, 0.141176f },
+    { "chocolate2",             0.933333f, 0.462745f, 0.129412f },
+    { "chocolate3",             0.803922f, 0.400000f, 0.113725f },
+    { "chocolate4",             0.545098f, 0.270588f, 0.074510f },
+    { "firebrick1",             1.000000f, 0.188235f, 0.188235f },
+    { "firebrick2",             0.933333f, 0.172549f, 0.172549f },
+    { "firebrick3",             0.803922f, 0.149020f, 0.149020f },
+    { "firebrick4",             0.545098f, 0.101961f, 0.101961f },
+    { "brown1",                 1.000000f, 0.250980f, 0.250980f },
+    { "brown2",                 0.933333f, 0.231373f, 0.231373f },
+    { "brown3",                 0.803922f, 0.200000f, 0.200000f },
+    { "brown4",                 0.545098f, 0.137255f, 0.137255f },
+    { "salmon1",                1.000000f, 0.549020f, 0.411765f },
+    { "salmon2",                0.933333f, 0.509804f, 0.384314f },
+    { "salmon3",                0.803922f, 0.439216f, 0.329412f },
+    { "salmon4",                0.545098f, 0.298039f, 0.223529f },
+    { "LightSalmon1",           1.000000f, 0.627451f, 0.478431f },
+    { "LightSalmon2",           0.933333f, 0.584314f, 0.447059f },
+    { "LightSalmon3",           0.803922f, 0.505882f, 0.384314f },
+    { "LightSalmon4",           0.545098f, 0.341176f, 0.258824f },
+    { "orange1",                1.000000f, 0.647059f, 0.000000f },
+    { "orange2",                0.933333f, 0.603922f, 0.000000f },
+    { "orange3",                0.803922f, 0.521569f, 0.000000f },
+    { "orange4",                0.545098f, 0.352941f, 0.000000f },
+    { "DarkOrange1",            1.000000f, 0.498039f, 0.000000f },
+    { "DarkOrange2",            0.933333f, 0.462745f, 0.000000f },
+    { "DarkOrange3",            0.803922f, 0.400000f, 0.000000f },
+    { "DarkOrange4",            0.545098f, 0.270588f, 0.000000f },
+    { "coral1",                 1.000000f, 0.447059f, 0.337255f },
+    { "coral2",                 0.933333f, 0.415686f, 0.313726f },
+    { "coral3",                 0.803922f, 0.356863f, 0.270588f },
+    { "coral4",                 0.545098f, 0.243137f, 0.184314f },
+    { "tomato1",                1.000000f, 0.388235f, 0.278431f },
+    { "tomato2",                0.933333f, 0.360784f, 0.258824f },
+    { "tomato3",                0.803922f, 0.309804f, 0.223529f },
+    { "tomato4",                0.545098f, 0.211765f, 0.149020f },
+    { "OrangeRed1",             1.000000f, 0.270588f, 0.000000f },
+    { "OrangeRed2",             0.933333f, 0.250980f, 0.000000f },
+    { "OrangeRed3",             0.803922f, 0.215686f, 0.000000f },
+    { "OrangeRed4",             0.545098f, 0.145098f, 0.000000f },
+    { "red1",                   1.000000f, 0.000000f, 0.000000f },
+    { "red2",                   0.933333f, 0.000000f, 0.000000f },
+    { "red3",                   0.803922f, 0.000000f, 0.000000f },
+    { "red4",                   0.545098f, 0.000000f, 0.000000f },
+    { "DeepPink1",              1.000000f, 0.078431f, 0.576471f },
+    { "DeepPink2",              0.933333f, 0.070588f, 0.537255f },
+    { "DeepPink3",              0.803922f, 0.062745f, 0.462745f },
+    { "DeepPink4",              0.545098f, 0.039216f, 0.313726f },
+    { "HotPink1",               1.000000f, 0.431373f, 0.705882f },
+    { "HotPink2",               0.933333f, 0.415686f, 0.654902f },
+    { "HotPink3",               0.803922f, 0.376471f, 0.564706f },
+    { "HotPink4",               0.545098f, 0.227451f, 0.384314f },
+    { "pink1",                  1.000000f, 0.709804f, 0.772549f },
+    { "pink2",                  0.933333f, 0.662745f, 0.721569f },
+    { "pink3",                  0.803922f, 0.568627f, 0.619608f },
+    { "pink4",                  0.545098f, 0.388235f, 0.423529f },
+    { "LightPink1",             1.000000f, 0.682353f, 0.725490f },
+    { "LightPink2",             0.933333f, 0.635294f, 0.678431f },
+    { "LightPink3",             0.803922f, 0.549020f, 0.584314f },
+    { "LightPink4",             0.545098f, 0.372549f, 0.396078f },
+    { "PaleVioletRed1",         1.000000f, 0.509804f, 0.670588f },
+    { "PaleVioletRed2",         0.933333f, 0.474510f, 0.623529f },
+    { "PaleVioletRed3",         0.803922f, 0.407843f, 0.537255f },
+    { "PaleVioletRed4",         0.545098f, 0.278431f, 0.364706f },
+    { "maroon1",                1.000000f, 0.203922f, 0.701961f },
+    { "maroon2",                0.933333f, 0.188235f, 0.654902f },
+    { "maroon3",                0.803922f, 0.160784f, 0.564706f },
+    { "maroon4",                0.545098f, 0.109804f, 0.384314f },
+    { "VioletRed1",             1.000000f, 0.243137f, 0.588235f },
+    { "VioletRed2",             0.933333f, 0.227451f, 0.549020f },
+    { "VioletRed3",             0.803922f, 0.196078f, 0.470588f },
+    { "VioletRed4",             0.545098f, 0.133333f, 0.321569f },
+    { "magenta1",               1.000000f, 0.000000f, 1.000000f },
+    { "magenta2",               0.933333f, 0.000000f, 0.933333f },
+    { "magenta3",               0.803922f, 0.000000f, 0.803922f },
+    { "magenta4",               0.545098f, 0.000000f, 0.545098f },
+    { "orchid1",                1.000000f, 0.513726f, 0.980392f },
+    { "orchid2",                0.933333f, 0.478431f, 0.913725f },
+    { "orchid3",                0.803922f, 0.411765f, 0.788235f },
+    { "orchid4",                0.545098f, 0.278431f, 0.537255f },
+    { "plum1",                  1.000000f, 0.733333f, 1.000000f },
+    { "plum2",                  0.933333f, 0.682353f, 0.933333f },
+    { "plum3",                  0.803922f, 0.588235f, 0.803922f },
+    { "plum4",                  0.545098f, 0.400000f, 0.545098f },
+    { "MediumOrchid1",          0.878431f, 0.400000f, 1.000000f },
+    { "MediumOrchid2",          0.819608f, 0.372549f, 0.933333f },
+    { "MediumOrchid3",          0.705882f, 0.321569f, 0.803922f },
+    { "MediumOrchid4",          0.478431f, 0.215686f, 0.545098f },
+    { "DarkOrchid1",            0.749020f, 0.243137f, 1.000000f },
+    { "DarkOrchid2",            0.698039f, 0.227451f, 0.933333f },
+    { "DarkOrchid3",            0.603922f, 0.196078f, 0.803922f },
+    { "DarkOrchid4",            0.407843f, 0.133333f, 0.545098f },
+    { "purple1",                0.607843f, 0.188235f, 1.000000f },
+    { "purple2",                0.568627f, 0.172549f, 0.933333f },
+    { "purple3",                0.490196f, 0.149020f, 0.803922f },
+    { "purple4",                0.333333f, 0.101961f, 0.545098f },
+    { "MediumPurple1",          0.670588f, 0.509804f, 1.000000f },
+    { "MediumPurple2",          0.623529f, 0.474510f, 0.933333f },
+    { "MediumPurple3",          0.537255f, 0.407843f, 0.803922f },
+    { "MediumPurple4",          0.364706f, 0.278431f, 0.545098f },
+    { "thistle1",               1.000000f, 0.882353f, 1.000000f },
+    { "thistle2",               0.933333f, 0.823529f, 0.933333f },
+    { "thistle3",               0.803922f, 0.709804f, 0.803922f },
+    { "thistle4",               0.545098f, 0.482353f, 0.545098f },
+    { "gray0",                  0.000000f, 0.000000f, 0.000000f },
+    { "grey0",                  0.000000f, 0.000000f, 0.000000f },
+    { "gray1",                  0.011765f, 0.011765f, 0.011765f },
+    { "grey1",                  0.011765f, 0.011765f, 0.011765f },
+    { "gray2",                  0.019608f, 0.019608f, 0.019608f },
+    { "grey2",                  0.019608f, 0.019608f, 0.019608f },
+    { "gray3",                  0.031373f, 0.031373f, 0.031373f },
+    { "grey3",                  0.031373f, 0.031373f, 0.031373f },
+    { "gray4",                  0.039216f, 0.039216f, 0.039216f },
+    { "grey4",                  0.039216f, 0.039216f, 0.039216f },
+    { "gray5",                  0.050980f, 0.050980f, 0.050980f },
+    { "grey5",                  0.050980f, 0.050980f, 0.050980f },
+    { "gray6",                  0.058824f, 0.058824f, 0.058824f },
+    { "grey6",                  0.058824f, 0.058824f, 0.058824f },
+    { "gray7",                  0.070588f, 0.070588f, 0.070588f },
+    { "grey7",                  0.070588f, 0.070588f, 0.070588f },
+    { "gray8",                  0.078431f, 0.078431f, 0.078431f },
+    { "grey8",                  0.078431f, 0.078431f, 0.078431f },
+    { "gray9",                  0.090196f, 0.090196f, 0.090196f },
+    { "grey9",                  0.090196f, 0.090196f, 0.090196f },
+    { "gray10",                 0.101961f, 0.101961f, 0.101961f },
+    { "grey10",                 0.101961f, 0.101961f, 0.101961f },
+    { "gray11",                 0.109804f, 0.109804f, 0.109804f },
+    { "grey11",                 0.109804f, 0.109804f, 0.109804f },
+    { "gray12",                 0.121569f, 0.121569f, 0.121569f },
+    { "grey12",                 0.121569f, 0.121569f, 0.121569f },
+    { "gray13",                 0.129412f, 0.129412f, 0.129412f },
+    { "grey13",                 0.129412f, 0.129412f, 0.129412f },
+    { "gray14",                 0.141176f, 0.141176f, 0.141176f },
+    { "grey14",                 0.141176f, 0.141176f, 0.141176f },
+    { "gray15",                 0.149020f, 0.149020f, 0.149020f },
+    { "grey15",                 0.149020f, 0.149020f, 0.149020f },
+    { "gray16",                 0.160784f, 0.160784f, 0.160784f },
+    { "grey16",                 0.160784f, 0.160784f, 0.160784f },
+    { "gray17",                 0.168627f, 0.168627f, 0.168627f },
+    { "grey17",                 0.168627f, 0.168627f, 0.168627f },
+    { "gray18",                 0.180392f, 0.180392f, 0.180392f },
+    { "grey18",                 0.180392f, 0.180392f, 0.180392f },
+    { "gray19",                 0.188235f, 0.188235f, 0.188235f },
+    { "grey19",                 0.188235f, 0.188235f, 0.188235f },
+    { "gray20",                 0.200000f, 0.200000f, 0.200000f },
+    { "grey20",                 0.200000f, 0.200000f, 0.200000f },
+    { "gray21",                 0.211765f, 0.211765f, 0.211765f },
+    { "grey21",                 0.211765f, 0.211765f, 0.211765f },
+    { "gray22",                 0.219608f, 0.219608f, 0.219608f },
+    { "grey22",                 0.219608f, 0.219608f, 0.219608f },
+    { "gray23",                 0.231373f, 0.231373f, 0.231373f },
+    { "grey23",                 0.231373f, 0.231373f, 0.231373f },
+    { "gray24",                 0.239216f, 0.239216f, 0.239216f },
+    { "grey24",                 0.239216f, 0.239216f, 0.239216f },
+    { "gray25",                 0.250980f, 0.250980f, 0.250980f },
+    { "grey25",                 0.250980f, 0.250980f, 0.250980f },
+    { "gray26",                 0.258824f, 0.258824f, 0.258824f },
+    { "grey26",                 0.258824f, 0.258824f, 0.258824f },
+    { "gray27",                 0.270588f, 0.270588f, 0.270588f },
+    { "grey27",                 0.270588f, 0.270588f, 0.270588f },
+    { "gray28",                 0.278431f, 0.278431f, 0.278431f },
+    { "grey28",                 0.278431f, 0.278431f, 0.278431f },
+    { "gray29",                 0.290196f, 0.290196f, 0.290196f },
+    { "grey29",                 0.290196f, 0.290196f, 0.290196f },
+    { "gray30",                 0.301961f, 0.301961f, 0.301961f },
+    { "grey30",                 0.301961f, 0.301961f, 0.301961f },
+    { "gray31",                 0.309804f, 0.309804f, 0.309804f },
+    { "grey31",                 0.309804f, 0.309804f, 0.309804f },
+    { "gray32",                 0.321569f, 0.321569f, 0.321569f },
+    { "grey32",                 0.321569f, 0.321569f, 0.321569f },
+    { "gray33",                 0.329412f, 0.329412f, 0.329412f },
+    { "grey33",                 0.329412f, 0.329412f, 0.329412f },
+    { "gray34",                 0.341176f, 0.341176f, 0.341176f },
+    { "grey34",                 0.341176f, 0.341176f, 0.341176f },
+    { "gray35",                 0.349020f, 0.349020f, 0.349020f },
+    { "grey35",                 0.349020f, 0.349020f, 0.349020f },
+    { "gray36",                 0.360784f, 0.360784f, 0.360784f },
+    { "grey36",                 0.360784f, 0.360784f, 0.360784f },
+    { "gray37",                 0.368627f, 0.368627f, 0.368627f },
+    { "grey37",                 0.368627f, 0.368627f, 0.368627f },
+    { "gray38",                 0.380392f, 0.380392f, 0.380392f },
+    { "grey38",                 0.380392f, 0.380392f, 0.380392f },
+    { "gray39",                 0.388235f, 0.388235f, 0.388235f },
+    { "grey39",                 0.388235f, 0.388235f, 0.388235f },
+    { "gray40",                 0.400000f, 0.400000f, 0.400000f },
+    { "grey40",                 0.400000f, 0.400000f, 0.400000f },
+    { "gray41",                 0.411765f, 0.411765f, 0.411765f },
+    { "grey41",                 0.411765f, 0.411765f, 0.411765f },
+    { "gray42",                 0.419608f, 0.419608f, 0.419608f },
+    { "grey42",                 0.419608f, 0.419608f, 0.419608f },
+    { "gray43",                 0.431373f, 0.431373f, 0.431373f },
+    { "grey43",                 0.431373f, 0.431373f, 0.431373f },
+    { "gray44",                 0.439216f, 0.439216f, 0.439216f },
+    { "grey44",                 0.439216f, 0.439216f, 0.439216f },
+    { "gray45",                 0.450980f, 0.450980f, 0.450980f },
+    { "grey45",                 0.450980f, 0.450980f, 0.450980f },
+    { "gray46",                 0.458824f, 0.458824f, 0.458824f },
+    { "grey46",                 0.458824f, 0.458824f, 0.458824f },
+    { "gray47",                 0.470588f, 0.470588f, 0.470588f },
+    { "grey47",                 0.470588f, 0.470588f, 0.470588f },
+    { "gray48",                 0.478431f, 0.478431f, 0.478431f },
+    { "grey48",                 0.478431f, 0.478431f, 0.478431f },
+    { "gray49",                 0.490196f, 0.490196f, 0.490196f },
+    { "grey49",                 0.490196f, 0.490196f, 0.490196f },
+    { "gray50",                 0.498039f, 0.498039f, 0.498039f },
+    { "grey50",                 0.498039f, 0.498039f, 0.498039f },
+    { "gray51",                 0.509804f, 0.509804f, 0.509804f },
+    { "grey51",                 0.509804f, 0.509804f, 0.509804f },
+    { "gray52",                 0.521569f, 0.521569f, 0.521569f },
+    { "grey52",                 0.521569f, 0.521569f, 0.521569f },
+    { "gray53",                 0.529412f, 0.529412f, 0.529412f },
+    { "grey53",                 0.529412f, 0.529412f, 0.529412f },
+    { "gray54",                 0.541176f, 0.541176f, 0.541176f },
+    { "grey54",                 0.541176f, 0.541176f, 0.541176f },
+    { "gray55",                 0.549020f, 0.549020f, 0.549020f },
+    { "grey55",                 0.549020f, 0.549020f, 0.549020f },
+    { "gray56",                 0.560784f, 0.560784f, 0.560784f },
+    { "grey56",                 0.560784f, 0.560784f, 0.560784f },
+    { "gray57",                 0.568627f, 0.568627f, 0.568627f },
+    { "grey57",                 0.568627f, 0.568627f, 0.568627f },
+    { "gray58",                 0.580392f, 0.580392f, 0.580392f },
+    { "grey58",                 0.580392f, 0.580392f, 0.580392f },
+    { "gray59",                 0.588235f, 0.588235f, 0.588235f },
+    { "grey59",                 0.588235f, 0.588235f, 0.588235f },
+    { "gray60",                 0.600000f, 0.600000f, 0.600000f },
+    { "grey60",                 0.600000f, 0.600000f, 0.600000f },
+    { "gray61",                 0.611765f, 0.611765f, 0.611765f },
+    { "grey61",                 0.611765f, 0.611765f, 0.611765f },
+    { "gray62",                 0.619608f, 0.619608f, 0.619608f },
+    { "grey62",                 0.619608f, 0.619608f, 0.619608f },
+    { "gray63",                 0.631373f, 0.631373f, 0.631373f },
+    { "grey63",                 0.631373f, 0.631373f, 0.631373f },
+    { "gray64",                 0.639216f, 0.639216f, 0.639216f },
+    { "grey64",                 0.639216f, 0.639216f, 0.639216f },
+    { "gray65",                 0.650980f, 0.650980f, 0.650980f },
+    { "grey65",                 0.650980f, 0.650980f, 0.650980f },
+    { "gray66",                 0.658824f, 0.658824f, 0.658824f },
+    { "grey66",                 0.658824f, 0.658824f, 0.658824f },
+    { "gray67",                 0.670588f, 0.670588f, 0.670588f },
+    { "grey67",                 0.670588f, 0.670588f, 0.670588f },
+    { "gray68",                 0.678431f, 0.678431f, 0.678431f },
+    { "grey68",                 0.678431f, 0.678431f, 0.678431f },
+    { "gray69",                 0.690196f, 0.690196f, 0.690196f },
+    { "grey69",                 0.690196f, 0.690196f, 0.690196f },
+    { "gray70",                 0.701961f, 0.701961f, 0.701961f },
+    { "grey70",                 0.701961f, 0.701961f, 0.701961f },
+    { "gray71",                 0.709804f, 0.709804f, 0.709804f },
+    { "grey71",                 0.709804f, 0.709804f, 0.709804f },
+    { "gray72",                 0.721569f, 0.721569f, 0.721569f },
+    { "grey72",                 0.721569f, 0.721569f, 0.721569f },
+    { "gray73",                 0.729412f, 0.729412f, 0.729412f },
+    { "grey73",                 0.729412f, 0.729412f, 0.729412f },
+    { "gray74",                 0.741176f, 0.741176f, 0.741176f },
+    { "grey74",                 0.741176f, 0.741176f, 0.741176f },
+    { "gray75",                 0.749020f, 0.749020f, 0.749020f },
+    { "grey75",                 0.749020f, 0.749020f, 0.749020f },
+    { "gray76",                 0.760784f, 0.760784f, 0.760784f },
+    { "grey76",                 0.760784f, 0.760784f, 0.760784f },
+    { "gray77",                 0.768627f, 0.768627f, 0.768627f },
+    { "grey77",                 0.768627f, 0.768627f, 0.768627f },
+    { "gray78",                 0.780392f, 0.780392f, 0.780392f },
+    { "grey78",                 0.780392f, 0.780392f, 0.780392f },
+    { "gray79",                 0.788235f, 0.788235f, 0.788235f },
+    { "grey79",                 0.788235f, 0.788235f, 0.788235f },
+    { "gray80",                 0.800000f, 0.800000f, 0.800000f },
+    { "grey80",                 0.800000f, 0.800000f, 0.800000f },
+    { "gray81",                 0.811765f, 0.811765f, 0.811765f },
+    { "grey81",                 0.811765f, 0.811765f, 0.811765f },
+    { "gray82",                 0.819608f, 0.819608f, 0.819608f },
+    { "grey82",                 0.819608f, 0.819608f, 0.819608f },
+    { "gray83",                 0.831373f, 0.831373f, 0.831373f },
+    { "grey83",                 0.831373f, 0.831373f, 0.831373f },
+    { "gray84",                 0.839216f, 0.839216f, 0.839216f },
+    { "grey84",                 0.839216f, 0.839216f, 0.839216f },
+    { "gray85",                 0.850980f, 0.850980f, 0.850980f },
+    { "grey85",                 0.850980f, 0.850980f, 0.850980f },
+    { "gray86",                 0.858824f, 0.858824f, 0.858824f },
+    { "grey86",                 0.858824f, 0.858824f, 0.858824f },
+    { "gray87",                 0.870588f, 0.870588f, 0.870588f },
+    { "grey87",                 0.870588f, 0.870588f, 0.870588f },
+    { "gray88",                 0.878431f, 0.878431f, 0.878431f },
+    { "grey88",                 0.878431f, 0.878431f, 0.878431f },
+    { "gray89",                 0.890196f, 0.890196f, 0.890196f },
+    { "grey89",                 0.890196f, 0.890196f, 0.890196f },
+    { "gray90",                 0.898039f, 0.898039f, 0.898039f },
+    { "grey90",                 0.898039f, 0.898039f, 0.898039f },
+    { "gray91",                 0.909804f, 0.909804f, 0.909804f },
+    { "grey91",                 0.909804f, 0.909804f, 0.909804f },
+    { "gray92",                 0.921569f, 0.921569f, 0.921569f },
+    { "grey92",                 0.921569f, 0.921569f, 0.921569f },
+    { "gray93",                 0.929412f, 0.929412f, 0.929412f },
+    { "grey93",                 0.929412f, 0.929412f, 0.929412f },
+    { "gray94",                 0.941176f, 0.941176f, 0.941176f },
+    { "grey94",                 0.941176f, 0.941176f, 0.941176f },
+    { "gray95",                 0.949020f, 0.949020f, 0.949020f },
+    { "grey95",                 0.949020f, 0.949020f, 0.949020f },
+    { "gray96",                 0.960784f, 0.960784f, 0.960784f },
+    { "grey96",                 0.960784f, 0.960784f, 0.960784f },
+    { "gray97",                 0.968627f, 0.968627f, 0.968627f },
+    { "grey97",                 0.968627f, 0.968627f, 0.968627f },
+    { "gray98",                 0.980392f, 0.980392f, 0.980392f },
+    { "grey98",                 0.980392f, 0.980392f, 0.980392f },
+    { "gray99",                 0.988235f, 0.988235f, 0.988235f },
+    { "grey99",                 0.988235f, 0.988235f, 0.988235f },
+    { "gray100",                1.000000f, 1.000000f, 1.000000f },
+    { "grey100",                1.000000f, 1.000000f, 1.000000f },
+    { "dark_grey",              0.662745f, 0.662745f, 0.662745f },
+    { "DarkGrey",               0.662745f, 0.662745f, 0.662745f },
+    { "dark_gray",              0.662745f, 0.662745f, 0.662745f },
+    { "DarkGray",               0.662745f, 0.662745f, 0.662745f },
+    { "dark_blue",              0.000000f, 0.000000f, 0.545098f },
+    { "DarkBlue",               0.000000f, 0.000000f, 0.545098f },
+    { "dark_cyan",              0.000000f, 0.545098f, 0.545098f },
+    { "DarkCyan",               0.000000f, 0.545098f, 0.545098f },
+    { "dark_magenta",           0.545098f, 0.000000f, 0.545098f },
+    { "DarkMagenta",            0.545098f, 0.000000f, 0.545098f },
+    { "dark_red",               0.545098f, 0.000000f, 0.000000f },
+    { "DarkRed",                0.545098f, 0.000000f, 0.000000f },
+    { "light_green",            0.564706f, 0.933333f, 0.564706f },
+    { "LightGreen",             0.564706f, 0.933333f, 0.564706f }
+  };
+
+  const size_t colorCount = sizeof(colorArray) / sizeof(ColorArrayData);
+
+  for (size_t i = 0; i < colorCount; i++) {
+    const ColorArrayData& data = colorArray[i];
+    const std::string lower = TextUtils::tolower(data.name);
+    colorMap[lower] = ColorMapData(data.r, data.g, data.b);
+  }

   return colorMap;
 }