3 from abc import abstractmethod
9 from typing import Any, Callable, Dict, Iterable, Optional, Tuple
13 logger = logging.getLogger(__name__)
15 # https://en.wikipedia.org/wiki/ANSI_escape_code
18 COLOR_NAMES_TO_RGB: Dict[str, Tuple[int, int, int]] = {
19 "wannabe.house": (0x00, 0x00, 95),
20 "cheetah.house": (95, 0x00, 0x00),
21 "meerkat.cabin": (95, 0x00, 95),
22 "backup.house": (175, 95, 0),
23 "kiosk.house": (90, 95, 0),
25 "black": (0x00, 0x00, 0x00),
26 "navy blue": (0x00, 0x00, 0x80),
27 "dark blue": (0x00, 0x00, 0xC8),
28 "blue": (0x00, 0x00, 0xFF),
29 "stratos": (0x00, 0x07, 0x41),
30 "swamp": (0x00, 0x1B, 0x1C),
31 "resolution blue": (0x00, 0x23, 0x87),
32 "deep fir": (0x00, 0x29, 0x00),
33 "burnham": (0x00, 0x2E, 0x20),
34 "klein blue": (0x00, 0x2F, 0xA7),
35 "prussian blue": (0x00, 0x31, 0x53),
36 "midnight blue": (0x00, 0x33, 0x66),
37 "smalt": (0x00, 0x33, 0x99),
38 "deep teal": (0x00, 0x35, 0x32),
39 "cyprus": (0x00, 0x3E, 0x40),
40 "kaitoke green": (0x00, 0x46, 0x20),
41 "cobalt": (0x00, 0x47, 0xAB),
42 "crusoe": (0x00, 0x48, 0x16),
43 "sherpa blue": (0x00, 0x49, 0x50),
44 "endeavour": (0x00, 0x56, 0xA7),
45 "camarone": (0x00, 0x58, 0x1A),
46 "science blue": (0x00, 0x66, 0xCC),
47 "blue ribbon": (0x00, 0x66, 0xFF),
48 "tropical rain forest": (0x00, 0x75, 0x5E),
49 "allports": (0x00, 0x76, 0xA3),
50 "deep cerulean": (0x00, 0x7B, 0xA7),
51 "lochmara": (0x00, 0x7E, 0xC7),
52 "azure radiance": (0x00, 0x7F, 0xFF),
53 "teal": (0x00, 0x80, 0x80),
54 "bondi blue": (0x00, 0x95, 0xB6),
55 "pacific blue": (0x00, 0x9D, 0xC4),
56 "persian green": (0x00, 0xA6, 0x93),
57 "jade": (0x00, 0xA8, 0x6B),
58 "caribbean green": (0x00, 0xCC, 0x99),
59 "robin's egg blue": (0x00, 0xCC, 0xCC),
60 "green": (0x00, 0xFF, 0x00),
61 "spring green": (0x00, 0xFF, 0x7F),
62 "cyan": (0x00, 0xFF, 0xFF),
63 "aqua": (0x00, 0xFF, 0xFF),
64 "blue charcoal": (0x01, 0x0D, 0x1A),
65 "midnight": (0x01, 0x16, 0x35),
66 "holly": (0x01, 0x1D, 0x13),
67 "daintree": (0x01, 0x27, 0x31),
68 "cardin green": (0x01, 0x36, 0x1C),
69 "county green": (0x01, 0x37, 0x1A),
70 "astronaut blue": (0x01, 0x3E, 0x62),
71 "regal blue": (0x01, 0x3F, 0x6A),
72 "aqua deep": (0x01, 0x4B, 0x43),
73 "orient": (0x01, 0x5E, 0x85),
74 "blue stone": (0x01, 0x61, 0x62),
75 "fun green": (0x01, 0x6D, 0x39),
76 "pine green": (0x01, 0x79, 0x6F),
77 "blue lagoon": (0x01, 0x79, 0x87),
78 "deep sea": (0x01, 0x82, 0x6B),
79 "green haze": (0x01, 0xA3, 0x68),
80 "english holly": (0x02, 0x2D, 0x15),
81 "sherwood green": (0x02, 0x40, 0x2C),
82 "congress blue": (0x02, 0x47, 0x8E),
83 "evening sea": (0x02, 0x4E, 0x46),
84 "bahama blue": (0x02, 0x63, 0x95),
85 "observatory": (0x02, 0x86, 0x6F),
86 "cerulean": (0x02, 0xA4, 0xD3),
87 "tangaroa": (0x03, 0x16, 0x3C),
88 "green vogue": (0x03, 0x2B, 0x52),
89 "mosque": (0x03, 0x6A, 0x6E),
90 "midnight moss": (0x04, 0x10, 0x04),
91 "black pearl": (0x04, 0x13, 0x22),
92 "blue whale": (0x04, 0x2E, 0x4C),
93 "zuccini": (0x04, 0x40, 0x22),
94 "teal blue": (0x04, 0x42, 0x59),
95 "deep cove": (0x05, 0x10, 0x40),
96 "gulf blue": (0x05, 0x16, 0x57),
97 "venice blue": (0x05, 0x59, 0x89),
98 "watercourse": (0x05, 0x6F, 0x57),
99 "catalina blue": (0x06, 0x2A, 0x78),
100 "tiber": (0x06, 0x35, 0x37),
101 "gossamer": (0x06, 0x9B, 0x81),
102 "niagara": (0x06, 0xA1, 0x89),
103 "tarawera": (0x07, 0x3A, 0x50),
104 "jaguar": (0x08, 0x01, 0x10),
105 "black bean": (0x08, 0x19, 0x10),
106 "deep sapphire": (0x08, 0x25, 0x67),
107 "elf green": (0x08, 0x83, 0x70),
108 "bright turquoise": (0x08, 0xE8, 0xDE),
109 "downriver": (0x09, 0x22, 0x56),
110 "palm green": (0x09, 0x23, 0x0F),
111 "madison": (0x09, 0x25, 0x5D),
112 "bottle green": (0x09, 0x36, 0x24),
113 "deep sea green": (0x09, 0x58, 0x59),
114 "salem": (0x09, 0x7F, 0x4B),
115 "black russian": (0x0A, 0x00, 0x1C),
116 "dark fern": (0x0A, 0x48, 0x0D),
117 "japanese laurel": (0x0A, 0x69, 0x06),
118 "atoll": (0x0A, 0x6F, 0x75),
119 "cod gray": (0x0B, 0x0B, 0x0B),
120 "marshland": (0x0B, 0x0F, 0x08),
121 "gordons green": (0x0B, 0x11, 0x07),
122 "black forest": (0x0B, 0x13, 0x04),
123 "san felix": (0x0B, 0x62, 0x07),
124 "malachite": (0x0B, 0xDA, 0x51),
125 "ebony": (0x0C, 0x0B, 0x1D),
126 "woodsmoke": (0x0C, 0x0D, 0x0F),
127 "racing green": (0x0C, 0x19, 0x11),
128 "surfie green": (0x0C, 0x7A, 0x79),
129 "blue chill": (0x0C, 0x89, 0x90),
130 "black rock": (0x0D, 0x03, 0x32),
131 "bunker": (0x0D, 0x11, 0x17),
132 "aztec": (0x0D, 0x1C, 0x19),
133 "bush": (0x0D, 0x2E, 0x1C),
134 "cinder": (0x0E, 0x0E, 0x18),
135 "firefly": (0x0E, 0x2A, 0x30),
136 "torea bay": (0x0F, 0x2D, 0x9E),
137 "vulcan": (0x10, 0x12, 0x1D),
138 "green waterloo": (0x10, 0x14, 0x05),
139 "eden": (0x10, 0x58, 0x52),
140 "arapawa": (0x11, 0x0C, 0x6C),
141 "ultramarine": (0x12, 0x0A, 0x8F),
142 "elephant": (0x12, 0x34, 0x47),
143 "jewel": (0x12, 0x6B, 0x40),
144 "diesel": (0x13, 0x00, 0x00),
145 "asphalt": (0x13, 0x0A, 0x06),
146 "blue zodiac": (0x13, 0x26, 0x4D),
147 "parsley": (0x13, 0x4F, 0x19),
148 "nero": (0x14, 0x06, 0x00),
149 "tory blue": (0x14, 0x50, 0xAA),
150 "bunting": (0x15, 0x1F, 0x4C),
151 "denim": (0x15, 0x60, 0xBD),
152 "genoa": (0x15, 0x73, 0x6B),
153 "mirage": (0x16, 0x19, 0x28),
154 "hunter green": (0x16, 0x1D, 0x10),
155 "big stone": (0x16, 0x2A, 0x40),
156 "celtic": (0x16, 0x32, 0x22),
157 "timber green": (0x16, 0x32, 0x2C),
158 "gable green": (0x16, 0x35, 0x31),
159 "pine tree": (0x17, 0x1F, 0x04),
160 "chathams blue": (0x17, 0x55, 0x79),
161 "deep forest green": (0x18, 0x2D, 0x09),
162 "dark green": (0x18, 0x2D, 0x09),
163 "blumine": (0x18, 0x58, 0x7A),
164 "palm leaf": (0x19, 0x33, 0x0E),
165 "nile blue": (0x19, 0x37, 0x51),
166 "fun blue": (0x19, 0x59, 0xA8),
167 "lucky point": (0x1A, 0x1A, 0x68),
168 "mountain meadow": (0x1A, 0xB3, 0x85),
169 "tolopea": (0x1B, 0x02, 0x45),
170 "haiti": (0x1B, 0x10, 0x35),
171 "deep koamaru": (0x1B, 0x12, 0x7B),
172 "acadia": (0x1B, 0x14, 0x04),
173 "seaweed": (0x1B, 0x2F, 0x11),
174 "biscay": (0x1B, 0x31, 0x62),
175 "matisse": (0x1B, 0x65, 0x9D),
176 "crowshead": (0x1C, 0x12, 0x08),
177 "rangoon green": (0x1C, 0x1E, 0x13),
178 "persian blue": (0x1C, 0x39, 0xBB),
179 "everglade": (0x1C, 0x40, 0x2E),
180 "elm": (0x1C, 0x7C, 0x7D),
181 "green pea": (0x1D, 0x61, 0x42),
182 "creole": (0x1E, 0x0F, 0x04),
183 "karaka": (0x1E, 0x16, 0x09),
184 "el paso": (0x1E, 0x17, 0x08),
185 "cello": (0x1E, 0x38, 0x5B),
186 "te papa green": (0x1E, 0x43, 0x3C),
187 "dodger blue": (0x1E, 0x90, 0xFF),
188 "eastern blue": (0x1E, 0x9A, 0xB0),
189 "night rider": (0x1F, 0x12, 0x0F),
190 "java": (0x1F, 0xC2, 0xC2),
191 "jacksons purple": (0x20, 0x20, 0x8D),
192 "cloud burst": (0x20, 0x2E, 0x54),
193 "blue dianne": (0x20, 0x48, 0x52),
194 "eternity": (0x21, 0x1A, 0x0E),
195 "deep blue": (0x22, 0x08, 0x78),
196 "forest green": (0x22, 0x8B, 0x22),
197 "mallard": (0x23, 0x34, 0x18),
198 "violet": (0x24, 0x0A, 0x40),
199 "kilamanjaro": (0x24, 0x0C, 0x02),
200 "log cabin": (0x24, 0x2A, 0x1D),
201 "black olive": (0x24, 0x2E, 0x16),
202 "green house": (0x24, 0x50, 0x0F),
203 "graphite": (0x25, 0x16, 0x07),
204 "cannon black": (0x25, 0x17, 0x06),
205 "port gore": (0x25, 0x1F, 0x4F),
206 "shark": (0x25, 0x27, 0x2C),
207 "green kelp": (0x25, 0x31, 0x1C),
208 "curious blue": (0x25, 0x96, 0xD1),
209 "paua": (0x26, 0x03, 0x68),
210 "paris m": (0x26, 0x05, 0x6A),
211 "wood bark": (0x26, 0x11, 0x05),
212 "gondola": (0x26, 0x14, 0x14),
213 "steel gray": (0x26, 0x23, 0x35),
214 "light gray": (0x26, 0x23, 0x35),
215 "ebony clay": (0x26, 0x28, 0x3B),
216 "bay of many": (0x27, 0x3A, 0x81),
217 "plantation": (0x27, 0x50, 0x4B),
218 "eucalyptus": (0x27, 0x8A, 0x5B),
219 "oil": (0x28, 0x1E, 0x15),
220 "astronaut": (0x28, 0x3A, 0x77),
221 "mariner": (0x28, 0x6A, 0xCD),
222 "violent violet": (0x29, 0x0C, 0x5E),
223 "bastille": (0x29, 0x21, 0x30),
224 "zeus": (0x29, 0x23, 0x19),
225 "charade": (0x29, 0x29, 0x37),
226 "jelly bean": (0x29, 0x7B, 0x9A),
227 "jungle green": (0x29, 0xAB, 0x87),
228 "cherry pie": (0x2A, 0x03, 0x59),
229 "coffee bean": (0x2A, 0x14, 0x0E),
230 "baltic sea": (0x2A, 0x26, 0x30),
231 "turtle green": (0x2A, 0x38, 0x0B),
232 "cerulean blue": (0x2A, 0x52, 0xBE),
233 "sepia black": (0x2B, 0x02, 0x02),
234 "valhalla": (0x2B, 0x19, 0x4F),
235 "heavy metal": (0x2B, 0x32, 0x28),
236 "blue gem": (0x2C, 0x0E, 0x8C),
237 "revolver": (0x2C, 0x16, 0x32),
238 "bleached cedar": (0x2C, 0x21, 0x33),
239 "lochinvar": (0x2C, 0x8C, 0x84),
240 "mikado": (0x2D, 0x25, 0x10),
241 "outer space": (0x2D, 0x38, 0x3A),
242 "st tropaz": (0x2D, 0x56, 0x9B),
243 "jacaranda": (0x2E, 0x03, 0x29),
244 "jacko bean": (0x2E, 0x19, 0x05),
245 "rangitoto": (0x2E, 0x32, 0x22),
246 "rhino": (0x2E, 0x3F, 0x62),
247 "sea green": (0x2E, 0x8B, 0x57),
248 "scooter": (0x2E, 0xBF, 0xD4),
249 "onion": (0x2F, 0x27, 0x0E),
250 "governor bay": (0x2F, 0x3C, 0xB3),
251 "sapphire": (0x2F, 0x51, 0x9E),
252 "spectra": (0x2F, 0x5A, 0x57),
253 "casal": (0x2F, 0x61, 0x68),
254 "melanzane": (0x30, 0x05, 0x29),
255 "cocoa brown": (0x30, 0x1F, 0x1E),
256 "woodrush": (0x30, 0x2A, 0x0F),
257 "san juan": (0x30, 0x4B, 0x6A),
258 "turquoise": (0x30, 0xD5, 0xC8),
259 "eclipse": (0x31, 0x1C, 0x17),
260 "pickled bluewood": (0x31, 0x44, 0x59),
261 "azure": (0x31, 0x5B, 0xA1),
262 "calypso": (0x31, 0x72, 0x8D),
263 "paradiso": (0x31, 0x7D, 0x82),
264 "persian indigo": (0x32, 0x12, 0x7A),
265 "blackcurrant": (0x32, 0x29, 0x3A),
266 "mine shaft": (0x32, 0x32, 0x32),
267 "stromboli": (0x32, 0x5D, 0x52),
268 "bilbao": (0x32, 0x7C, 0x14),
269 "astral": (0x32, 0x7D, 0xA0),
270 "christalle": (0x33, 0x03, 0x6B),
271 "thunder": (0x33, 0x29, 0x2F),
272 "shamrock": (0x33, 0xCC, 0x99),
273 "tamarind": (0x34, 0x15, 0x15),
274 "mardi gras": (0x35, 0x00, 0x36),
275 "valentino": (0x35, 0x0E, 0x42),
276 "jagger": (0x35, 0x0E, 0x57),
277 "tuna": (0x35, 0x35, 0x42),
278 "chambray": (0x35, 0x4E, 0x8C),
279 "martinique": (0x36, 0x30, 0x50),
280 "tuatara": (0x36, 0x35, 0x34),
281 "waiouru": (0x36, 0x3C, 0x0D),
282 "ming": (0x36, 0x74, 0x7D),
283 "la palma": (0x36, 0x87, 0x16),
284 "chocolate": (0x37, 0x02, 0x02),
285 "clinker": (0x37, 0x1D, 0x09),
286 "brown tumbleweed": (0x37, 0x29, 0x0E),
287 "birch": (0x37, 0x30, 0x21),
288 "oracle": (0x37, 0x74, 0x75),
289 "blue diamond": (0x38, 0x04, 0x74),
290 "grape": (0x38, 0x1A, 0x51),
291 "dune": (0x38, 0x35, 0x33),
292 "oxford blue": (0x38, 0x45, 0x55),
293 "clover": (0x38, 0x49, 0x10),
294 "limed spruce": (0x39, 0x48, 0x51),
295 "dell": (0x39, 0x64, 0x13),
296 "toledo": (0x3A, 0x00, 0x20),
297 "sambuca": (0x3A, 0x20, 0x10),
298 "jacarta": (0x3A, 0x2A, 0x6A),
299 "william": (0x3A, 0x68, 0x6C),
300 "killarney": (0x3A, 0x6A, 0x47),
301 "keppel": (0x3A, 0xB0, 0x9E),
302 "temptress": (0x3B, 0x00, 0x0B),
303 "aubergine": (0x3B, 0x09, 0x10),
304 "jon": (0x3B, 0x1F, 0x1F),
305 "treehouse": (0x3B, 0x28, 0x20),
306 "amazon": (0x3B, 0x7A, 0x57),
307 "boston blue": (0x3B, 0x91, 0xB4),
308 "windsor": (0x3C, 0x08, 0x78),
309 "rebel": (0x3C, 0x12, 0x06),
310 "meteorite": (0x3C, 0x1F, 0x76),
311 "dark ebony": (0x3C, 0x20, 0x05),
312 "camouflage": (0x3C, 0x39, 0x10),
313 "bright gray": (0x3C, 0x41, 0x51),
314 "cape cod": (0x3C, 0x44, 0x43),
315 "lunar green": (0x3C, 0x49, 0x3A),
316 "bean ": (0x3D, 0x0C, 0x02),
317 "bistre": (0x3D, 0x2B, 0x1F),
318 "goblin": (0x3D, 0x7D, 0x52),
319 "kingfisher daisy": (0x3E, 0x04, 0x80),
320 "cedar": (0x3E, 0x1C, 0x14),
321 "english walnut": (0x3E, 0x2B, 0x23),
322 "black marlin": (0x3E, 0x2C, 0x1C),
323 "ship gray": (0x3E, 0x3A, 0x44),
324 "pelorous": (0x3E, 0xAB, 0xBF),
325 "bronze": (0x3F, 0x21, 0x09),
326 "cola": (0x3F, 0x25, 0x00),
327 "madras": (0x3F, 0x30, 0x02),
328 "minsk": (0x3F, 0x30, 0x7F),
329 "cabbage pont": (0x3F, 0x4C, 0x3A),
330 "tom thumb": (0x3F, 0x58, 0x3B),
331 "mineral green": (0x3F, 0x5D, 0x53),
332 "puerto rico": (0x3F, 0xC1, 0xAA),
333 "harlequin": (0x3F, 0xFF, 0x00),
334 "brown pod": (0x40, 0x18, 0x01),
335 "cork": (0x40, 0x29, 0x1D),
336 "masala": (0x40, 0x3B, 0x38),
337 "thatch green": (0x40, 0x3D, 0x19),
338 "fiord": (0x40, 0x51, 0x69),
339 "viridian": (0x40, 0x82, 0x6D),
340 "chateau green": (0x40, 0xA8, 0x60),
341 "ripe plum": (0x41, 0x00, 0x56),
342 "paco": (0x41, 0x1F, 0x10),
343 "deep oak": (0x41, 0x20, 0x10),
344 "merlin": (0x41, 0x3C, 0x37),
345 "gun powder": (0x41, 0x42, 0x57),
346 "east bay": (0x41, 0x4C, 0x7D),
347 "royal blue": (0x41, 0x69, 0xE1),
348 "ocean green": (0x41, 0xAA, 0x78),
349 "burnt maroon": (0x42, 0x03, 0x03),
350 "lisbon brown": (0x42, 0x39, 0x21),
351 "faded jade": (0x42, 0x79, 0x77),
352 "scarlet gum": (0x43, 0x15, 0x60),
353 "iroko": (0x43, 0x31, 0x20),
354 "armadillo": (0x43, 0x3E, 0x37),
355 "river bed": (0x43, 0x4C, 0x59),
356 "green leaf": (0x43, 0x6A, 0x0D),
357 "barossa": (0x44, 0x01, 0x2D),
358 "morocco brown": (0x44, 0x1D, 0x00),
359 "mako": (0x44, 0x49, 0x54),
360 "kelp": (0x45, 0x49, 0x36),
361 "san marino": (0x45, 0x6C, 0xAC),
362 "picton blue": (0x45, 0xB1, 0xE8),
363 "loulou": (0x46, 0x0B, 0x41),
364 "crater brown": (0x46, 0x24, 0x25),
365 "gray asparagus": (0x46, 0x59, 0x45),
366 "steel blue": (0x46, 0x82, 0xB4),
367 "rustic red": (0x48, 0x04, 0x04),
368 "bulgarian rose": (0x48, 0x06, 0x07),
369 "clairvoyant": (0x48, 0x06, 0x56),
370 "cocoa bean": (0x48, 0x1C, 0x1C),
371 "woody brown": (0x48, 0x31, 0x31),
372 "taupe": (0x48, 0x3C, 0x32),
373 "van cleef": (0x49, 0x17, 0x0C),
374 "brown derby": (0x49, 0x26, 0x15),
375 "metallic bronze": (0x49, 0x37, 0x1B),
376 "verdun green": (0x49, 0x54, 0x00),
377 "blue bayoux": (0x49, 0x66, 0x79),
378 "bismark": (0x49, 0x71, 0x83),
379 "bracken": (0x4A, 0x2A, 0x04),
380 "deep bronze": (0x4A, 0x30, 0x04),
381 "mondo": (0x4A, 0x3C, 0x30),
382 "tundora": (0x4A, 0x42, 0x44),
383 "gravel": (0x4A, 0x44, 0x4B),
384 "trout": (0x4A, 0x4E, 0x5A),
385 "pigment indigo": (0x4B, 0x00, 0x82),
386 "nandor": (0x4B, 0x5D, 0x52),
387 "saddle": (0x4C, 0x30, 0x24),
388 "abbey": (0x4C, 0x4F, 0x56),
389 "blackberry": (0x4D, 0x01, 0x35),
390 "cab sav": (0x4D, 0x0A, 0x18),
391 "indian tan": (0x4D, 0x1E, 0x01),
392 "cowboy": (0x4D, 0x28, 0x2D),
393 "livid brown": (0x4D, 0x28, 0x2E),
394 "rock": (0x4D, 0x38, 0x33),
395 "punga": (0x4D, 0x3D, 0x14),
396 "bronzetone": (0x4D, 0x40, 0x0F),
397 "woodland": (0x4D, 0x53, 0x28),
398 "mahogany": (0x4E, 0x06, 0x06),
399 "bossanova": (0x4E, 0x2A, 0x5A),
400 "matterhorn": (0x4E, 0x3B, 0x41),
401 "bronze olive": (0x4E, 0x42, 0x0C),
402 "mulled wine": (0x4E, 0x45, 0x62),
403 "axolotl": (0x4E, 0x66, 0x49),
404 "wedgewood": (0x4E, 0x7F, 0x9E),
405 "shakespeare": (0x4E, 0xAB, 0xD1),
406 "honey flower": (0x4F, 0x1C, 0x70),
407 "daisy bush": (0x4F, 0x23, 0x98),
408 "indigo": (0x4F, 0x69, 0xC6),
409 "fern green": (0x4F, 0x79, 0x42),
410 "fruit salad": (0x4F, 0x9D, 0x5D),
411 "apple": (0x4F, 0xA8, 0x3D),
412 "mortar": (0x50, 0x43, 0x51),
413 "kashmir blue": (0x50, 0x70, 0x96),
414 "cutty sark": (0x50, 0x76, 0x72),
415 "emerald": (0x50, 0xC8, 0x78),
416 "emperor": (0x51, 0x46, 0x49),
417 "chalet green": (0x51, 0x6E, 0x3D),
418 "como": (0x51, 0x7C, 0x66),
419 "smalt blue": (0x51, 0x80, 0x8F),
420 "castro": (0x52, 0x00, 0x1F),
421 "maroon oak": (0x52, 0x0C, 0x17),
422 "gigas": (0x52, 0x3C, 0x94),
423 "voodoo": (0x53, 0x34, 0x55),
424 "victoria": (0x53, 0x44, 0x91),
425 "hippie green": (0x53, 0x82, 0x4B),
426 "heath": (0x54, 0x10, 0x12),
427 "judge gray": (0x54, 0x43, 0x33),
428 "fuscous gray": (0x54, 0x53, 0x4D),
429 "vida loca": (0x54, 0x90, 0x19),
430 "cioccolato": (0x55, 0x28, 0x0C),
431 "saratoga": (0x55, 0x5B, 0x10),
432 "finlandia": (0x55, 0x6D, 0x56),
433 "havelock blue": (0x55, 0x90, 0xD9),
434 "fountain blue": (0x56, 0xB4, 0xBE),
435 "spring leaves": (0x57, 0x83, 0x63),
436 "saddle brown": (0x58, 0x34, 0x01),
437 "scarpa flow": (0x58, 0x55, 0x62),
438 "cactus": (0x58, 0x71, 0x56),
439 "hippie blue": (0x58, 0x9A, 0xAF),
440 "wine berry": (0x59, 0x1D, 0x35),
441 "brown bramble": (0x59, 0x28, 0x04),
442 "congo brown": (0x59, 0x37, 0x37),
443 "millbrook": (0x59, 0x44, 0x33),
444 "waikawa gray": (0x5A, 0x6E, 0x9C),
445 "horizon": (0x5A, 0x87, 0xA0),
446 "jambalaya": (0x5B, 0x30, 0x13),
447 "bordeaux": (0x5C, 0x01, 0x20),
448 "mulberry wood": (0x5C, 0x05, 0x36),
449 "carnaby tan": (0x5C, 0x2E, 0x01),
450 "comet": (0x5C, 0x5D, 0x75),
451 "redwood": (0x5D, 0x1E, 0x0F),
452 "don juan": (0x5D, 0x4C, 0x51),
453 "chicago": (0x5D, 0x5C, 0x58),
454 "verdigris": (0x5D, 0x5E, 0x37),
455 "dingley": (0x5D, 0x77, 0x47),
456 "breaker bay": (0x5D, 0xA1, 0x9F),
457 "kabul": (0x5E, 0x48, 0x3E),
458 "hemlock": (0x5E, 0x5D, 0x3B),
459 "irish coffee": (0x5F, 0x3D, 0x26),
460 "mid gray": (0x5F, 0x5F, 0x6E),
461 "shuttle gray": (0x5F, 0x66, 0x72),
462 "aqua forest": (0x5F, 0xA7, 0x77),
463 "tradewind": (0x5F, 0xB3, 0xAC),
464 "horses neck": (0x60, 0x49, 0x13),
465 "smoky": (0x60, 0x5B, 0x73),
466 "corduroy": (0x60, 0x6E, 0x68),
467 "danube": (0x60, 0x93, 0xD1),
468 "espresso": (0x61, 0x27, 0x18),
469 "eggplant": (0x61, 0x40, 0x51),
470 "costa del sol": (0x61, 0x5D, 0x30),
471 "glade green": (0x61, 0x84, 0x5F),
472 "buccaneer": (0x62, 0x2F, 0x30),
473 "quincy": (0x62, 0x3F, 0x2D),
474 "butterfly bush": (0x62, 0x4E, 0x9A),
475 "west coast": (0x62, 0x51, 0x19),
476 "finch": (0x62, 0x66, 0x49),
477 "patina": (0x63, 0x9A, 0x8F),
478 "fern": (0x63, 0xB7, 0x6C),
479 "blue violet": (0x64, 0x56, 0xB7),
480 "dolphin": (0x64, 0x60, 0x77),
481 "storm dust": (0x64, 0x64, 0x63),
482 "siam": (0x64, 0x6A, 0x54),
483 "nevada": (0x64, 0x6E, 0x75),
484 "cornflower blue": (0x64, 0x95, 0xED),
485 "viking": (0x64, 0xCC, 0xDB),
486 "rosewood": (0x65, 0x00, 0x0B),
487 "cherrywood": (0x65, 0x1A, 0x14),
488 "purple heart": (0x65, 0x2D, 0xC1),
489 "fern frond": (0x65, 0x72, 0x20),
490 "willow grove": (0x65, 0x74, 0x5D),
491 "hoki": (0x65, 0x86, 0x9F),
492 "pompadour": (0x66, 0x00, 0x45),
493 "purple": (0x66, 0x00, 0x99),
494 "dark purple": (0x36, 0x00, 0x79),
495 "tyrian purple": (0x66, 0x02, 0x3C),
496 "dark tan": (0x66, 0x10, 0x10),
497 "silver tree": (0x66, 0xB5, 0x8F),
498 "bright green": (0x66, 0xFF, 0x00),
499 "screamin' green": (0x66, 0xFF, 0x66),
500 "black rose": (0x67, 0x03, 0x2D),
501 "scampi": (0x67, 0x5F, 0xA6),
502 "ironside gray": (0x67, 0x66, 0x62),
503 "viridian green": (0x67, 0x89, 0x75),
504 "christi": (0x67, 0xA7, 0x12),
505 "nutmeg wood finish": (0x68, 0x36, 0x00),
506 "zambezi": (0x68, 0x55, 0x58),
507 "salt box": (0x68, 0x5E, 0x6E),
508 "tawny port": (0x69, 0x25, 0x45),
509 "finn": (0x69, 0x2D, 0x54),
510 "scorpion": (0x69, 0x5F, 0x62),
511 "lynch": (0x69, 0x7E, 0x9A),
512 "spice": (0x6A, 0x44, 0x2E),
513 "himalaya": (0x6A, 0x5D, 0x1B),
514 "soya bean": (0x6A, 0x60, 0x51),
515 "hairy heath": (0x6B, 0x2A, 0x14),
516 "royal purple": (0x6B, 0x3F, 0xA0),
517 "shingle fawn": (0x6B, 0x4E, 0x31),
518 "dorado": (0x6B, 0x57, 0x55),
519 "bermuda gray": (0x6B, 0x8B, 0xA2),
520 "olive drab": (0x6B, 0x8E, 0x23),
521 "eminence": (0x6C, 0x30, 0x82),
522 "turquoise blue": (0x6C, 0xDA, 0xE7),
523 "lonestar": (0x6D, 0x01, 0x01),
524 "pine cone": (0x6D, 0x5E, 0x54),
525 "dove gray": (0x6D, 0x6C, 0x6C),
526 "juniper": (0x6D, 0x92, 0x92),
527 "gothic": (0x6D, 0x92, 0xA1),
528 "red oxide": (0x6E, 0x09, 0x02),
529 "moccaccino": (0x6E, 0x1D, 0x14),
530 "pickled bean": (0x6E, 0x48, 0x26),
531 "dallas": (0x6E, 0x4B, 0x26),
532 "kokoda": (0x6E, 0x6D, 0x57),
533 "pale sky": (0x6E, 0x77, 0x83),
534 "cafe royale": (0x6F, 0x44, 0x0C),
535 "flint": (0x6F, 0x6A, 0x61),
536 "highland": (0x6F, 0x8E, 0x63),
537 "limeade": (0x6F, 0x9D, 0x02),
538 "downy": (0x6F, 0xD0, 0xC5),
539 "persian plum": (0x70, 0x1C, 0x1C),
540 "sepia": (0x70, 0x42, 0x14),
541 "antique bronze": (0x70, 0x4A, 0x07),
542 "ferra": (0x70, 0x4F, 0x50),
543 "coffee": (0x70, 0x65, 0x55),
544 "slate gray": (0x70, 0x80, 0x90),
545 "cedar wood finish": (0x71, 0x1A, 0x00),
546 "metallic copper": (0x71, 0x29, 0x1D),
547 "affair": (0x71, 0x46, 0x93),
548 "studio": (0x71, 0x4A, 0xB2),
549 "tobacco brown": (0x71, 0x5D, 0x47),
550 "yellow metal": (0x71, 0x63, 0x38),
551 "peat": (0x71, 0x6B, 0x56),
552 "olivetone": (0x71, 0x6E, 0x10),
553 "storm gray": (0x71, 0x74, 0x86),
554 "sirocco": (0x71, 0x80, 0x80),
555 "aquamarine blue": (0x71, 0xD9, 0xE2),
556 "venetian red": (0x72, 0x01, 0x0F),
557 "old copper": (0x72, 0x4A, 0x2F),
558 "go ben": (0x72, 0x6D, 0x4E),
559 "raven": (0x72, 0x7B, 0x89),
560 "seance": (0x73, 0x1E, 0x8F),
561 "raw umber": (0x73, 0x4A, 0x12),
562 "kimberly": (0x73, 0x6C, 0x9F),
563 "crocodile": (0x73, 0x6D, 0x58),
564 "crete": (0x73, 0x78, 0x29),
565 "xanadu": (0x73, 0x86, 0x78),
566 "spicy mustard": (0x74, 0x64, 0x0D),
567 "limed ash": (0x74, 0x7D, 0x63),
568 "rolling stone": (0x74, 0x7D, 0x83),
569 "blue smoke": (0x74, 0x88, 0x81),
570 "laurel": (0x74, 0x93, 0x78),
571 "mantis": (0x74, 0xC3, 0x65),
572 "russett": (0x75, 0x5A, 0x57),
573 "deluge": (0x75, 0x63, 0xA8),
574 "cosmic": (0x76, 0x39, 0x5D),
575 "blue marguerite": (0x76, 0x66, 0xC6),
576 "lima": (0x76, 0xBD, 0x17),
577 "sky blue": (0x76, 0xD7, 0xEA),
578 "dark burgundy": (0x77, 0x0F, 0x05),
579 "crown of thorns": (0x77, 0x1F, 0x1F),
580 "walnut": (0x77, 0x3F, 0x1A),
581 "pablo": (0x77, 0x6F, 0x61),
582 "pacifika": (0x77, 0x81, 0x20),
583 "oxley": (0x77, 0x9E, 0x86),
584 "pastel green": (0x77, 0xDD, 0x77),
585 "japanese maple": (0x78, 0x01, 0x09),
586 "mocha": (0x78, 0x2D, 0x19),
587 "peanut": (0x78, 0x2F, 0x16),
588 "camouflage green": (0x78, 0x86, 0x6B),
589 "wasabi": (0x78, 0x8A, 0x25),
590 "ship cove": (0x78, 0x8B, 0xBA),
591 "sea nymph": (0x78, 0xA3, 0x9C),
592 "roman coffee": (0x79, 0x5D, 0x4C),
593 "old lavender": (0x79, 0x68, 0x78),
594 "rum": (0x79, 0x69, 0x89),
595 "fedora": (0x79, 0x6A, 0x78),
596 "sandstone": (0x79, 0x6D, 0x62),
597 "spray": (0x79, 0xDE, 0xEC),
598 "siren": (0x7A, 0x01, 0x3A),
599 "fuchsia blue": (0x7A, 0x58, 0xC1),
600 "boulder": (0x7A, 0x7A, 0x7A),
601 "wild blue yonder": (0x7A, 0x89, 0xB8),
602 "de york": (0x7A, 0xC4, 0x88),
603 "red beech": (0x7B, 0x38, 0x01),
604 "cinnamon": (0x7B, 0x3F, 0x00),
605 "yukon gold": (0x7B, 0x66, 0x08),
606 "tapa": (0x7B, 0x78, 0x74),
607 "waterloo ": (0x7B, 0x7C, 0x94),
608 "flax smoke": (0x7B, 0x82, 0x65),
609 "amulet": (0x7B, 0x9F, 0x80),
610 "asparagus": (0x7B, 0xA0, 0x5B),
611 "kenyan copper": (0x7C, 0x1C, 0x05),
612 "pesto": (0x7C, 0x76, 0x31),
613 "topaz": (0x7C, 0x77, 0x8A),
614 "concord": (0x7C, 0x7B, 0x7A),
615 "jumbo": (0x7C, 0x7B, 0x82),
616 "trendy green": (0x7C, 0x88, 0x1A),
617 "gumbo": (0x7C, 0xA1, 0xA6),
618 "acapulco": (0x7C, 0xB0, 0xA1),
619 "neptune": (0x7C, 0xB7, 0xBB),
620 "pueblo": (0x7D, 0x2C, 0x14),
621 "bay leaf": (0x7D, 0xA9, 0x8D),
622 "malibu": (0x7D, 0xC8, 0xF7),
623 "bermuda": (0x7D, 0xD8, 0xC6),
624 "copper canyon": (0x7E, 0x3A, 0x15),
625 "claret": (0x7F, 0x17, 0x34),
626 "peru tan": (0x7F, 0x3A, 0x02),
627 "falcon": (0x7F, 0x62, 0x6D),
628 "mobster": (0x7F, 0x75, 0x89),
629 "moody blue": (0x7F, 0x76, 0xD3),
630 "chartreuse": (0x7F, 0xFF, 0x00),
631 "aquamarine": (0x7F, 0xFF, 0xD4),
632 "maroon": (0x80, 0x00, 0x00),
633 "rose bud cherry": (0x80, 0x0B, 0x47),
634 "falu red": (0x80, 0x18, 0x18),
635 "red robin": (0x80, 0x34, 0x1F),
636 "vivid violet": (0x80, 0x37, 0x90),
637 "russet": (0x80, 0x46, 0x1B),
638 "friar gray": (0x80, 0x7E, 0x79),
639 "olive": (0x80, 0x80, 0x00),
640 "gray": (0x80, 0x80, 0x80),
641 "gulf stream": (0x80, 0xB3, 0xAE),
642 "glacier": (0x80, 0xB3, 0xC4),
643 "seagull": (0x80, 0xCC, 0xEA),
644 "nutmeg": (0x81, 0x42, 0x2C),
645 "spicy pink": (0x81, 0x6E, 0x71),
646 "empress": (0x81, 0x73, 0x77),
647 "spanish green": (0x81, 0x98, 0x85),
648 "sand dune": (0x82, 0x6F, 0x65),
649 "gunsmoke": (0x82, 0x86, 0x85),
650 "battleship gray": (0x82, 0x8F, 0x72),
651 "merlot": (0x83, 0x19, 0x23),
652 "shadow": (0x83, 0x70, 0x50),
653 "chelsea cucumber": (0x83, 0xAA, 0x5D),
654 "monte carlo": (0x83, 0xD0, 0xC6),
655 "plum": (0x84, 0x31, 0x79),
656 "granny smith": (0x84, 0xA0, 0xA0),
657 "chetwode blue": (0x85, 0x81, 0xD9),
658 "bandicoot": (0x85, 0x84, 0x70),
659 "bali hai": (0x85, 0x9F, 0xAF),
660 "half baked": (0x85, 0xC4, 0xCC),
661 "red devil": (0x86, 0x01, 0x11),
662 "lotus": (0x86, 0x3C, 0x3C),
663 "ironstone": (0x86, 0x48, 0x3C),
664 "bull shot": (0x86, 0x4D, 0x1E),
665 "rusty nail": (0x86, 0x56, 0x0A),
666 "bitter": (0x86, 0x89, 0x74),
667 "regent gray": (0x86, 0x94, 0x9F),
668 "disco": (0x87, 0x15, 0x50),
669 "americano": (0x87, 0x75, 0x6E),
670 "hurricane": (0x87, 0x7C, 0x7B),
671 "oslo gray": (0x87, 0x8D, 0x91),
672 "sushi": (0x87, 0xAB, 0x39),
673 "spicy mix": (0x88, 0x53, 0x42),
674 "kumera": (0x88, 0x62, 0x21),
675 "suva gray": (0x88, 0x83, 0x87),
676 "avocado": (0x88, 0x8D, 0x65),
677 "camelot": (0x89, 0x34, 0x56),
678 "solid pink": (0x89, 0x38, 0x43),
679 "cannon pink": (0x89, 0x43, 0x67),
680 "makara": (0x89, 0x7D, 0x6D),
681 "burnt umber": (0x8A, 0x33, 0x24),
682 "true v": (0x8A, 0x73, 0xD6),
683 "clay creek": (0x8A, 0x83, 0x60),
684 "monsoon": (0x8A, 0x83, 0x89),
685 "stack": (0x8A, 0x8F, 0x8A),
686 "jordy blue": (0x8A, 0xB9, 0xF1),
687 "electric violet": (0x8B, 0x00, 0xFF),
688 "monarch": (0x8B, 0x07, 0x23),
689 "corn harvest": (0x8B, 0x6B, 0x0B),
690 "olive haze": (0x8B, 0x84, 0x70),
691 "schooner": (0x8B, 0x84, 0x7E),
692 "natural gray": (0x8B, 0x86, 0x80),
693 "mantle": (0x8B, 0x9C, 0x90),
694 "portage": (0x8B, 0x9F, 0xEE),
695 "envy": (0x8B, 0xA6, 0x90),
696 "cascade": (0x8B, 0xA9, 0xA5),
697 "riptide": (0x8B, 0xE6, 0xD8),
698 "cardinal pink": (0x8C, 0x05, 0x5E),
699 "mule fawn": (0x8C, 0x47, 0x2F),
700 "potters clay": (0x8C, 0x57, 0x38),
701 "trendy pink": (0x8C, 0x64, 0x95),
702 "paprika": (0x8D, 0x02, 0x26),
703 "sanguine brown": (0x8D, 0x3D, 0x38),
704 "tosca": (0x8D, 0x3F, 0x3F),
705 "cement": (0x8D, 0x76, 0x62),
706 "granite green": (0x8D, 0x89, 0x74),
707 "manatee": (0x8D, 0x90, 0xA1),
708 "polo blue": (0x8D, 0xA8, 0xCC),
709 "red berry": (0x8E, 0x00, 0x00),
710 "rope": (0x8E, 0x4D, 0x1E),
711 "opium": (0x8E, 0x6F, 0x70),
712 "domino": (0x8E, 0x77, 0x5E),
713 "mamba": (0x8E, 0x81, 0x90),
714 "nepal": (0x8E, 0xAB, 0xC1),
715 "pohutukawa": (0x8F, 0x02, 0x1C),
716 "el salva": (0x8F, 0x3E, 0x33),
717 "korma": (0x8F, 0x4B, 0x0E),
718 "squirrel": (0x8F, 0x81, 0x76),
719 "vista blue": (0x8F, 0xD6, 0xB4),
720 "burgundy": (0x90, 0x00, 0x20),
721 "old brick": (0x90, 0x1E, 0x1E),
722 "hemp": (0x90, 0x78, 0x74),
723 "almond frost": (0x90, 0x7B, 0x71),
724 "sycamore": (0x90, 0x8D, 0x39),
725 "sangria": (0x92, 0x00, 0x0A),
726 "cumin": (0x92, 0x43, 0x21),
727 "beaver": (0x92, 0x6F, 0x5B),
728 "stonewall": (0x92, 0x85, 0x73),
729 "venus": (0x92, 0x85, 0x90),
730 "medium purple": (0x93, 0x70, 0xDB),
731 "cornflower": (0x93, 0xCC, 0xEA),
732 "algae green": (0x93, 0xDF, 0xB8),
733 "copper rust": (0x94, 0x47, 0x47),
734 "arrowtown": (0x94, 0x87, 0x71),
735 "scarlett": (0x95, 0x00, 0x15),
736 "strikemaster": (0x95, 0x63, 0x87),
737 "mountain mist": (0x95, 0x93, 0x96),
738 "carmine": (0x96, 0x00, 0x18),
739 "brown": (0x96, 0x4B, 0x00),
740 "leather": (0x96, 0x70, 0x59),
741 "purple mountain's majesty": (0x96, 0x78, 0xB6),
742 "lavender purple": (0x96, 0x7B, 0xB6),
743 "pewter": (0x96, 0xA8, 0xA1),
744 "summer green": (0x96, 0xBB, 0xAB),
745 "au chico": (0x97, 0x60, 0x5D),
746 "wisteria": (0x97, 0x71, 0xB5),
747 "atlantis": (0x97, 0xCD, 0x2D),
748 "vin rouge": (0x98, 0x3D, 0x61),
749 "lilac bush": (0x98, 0x74, 0xD3),
750 "bazaar": (0x98, 0x77, 0x7B),
751 "hacienda": (0x98, 0x81, 0x1B),
752 "pale oyster": (0x98, 0x8D, 0x77),
753 "mint green": (0x98, 0xFF, 0x98),
754 "fresh eggplant": (0x99, 0x00, 0x66),
755 "violet eggplant": (0x99, 0x11, 0x99),
756 "tamarillo": (0x99, 0x16, 0x13),
757 "totem pole": (0x99, 0x1B, 0x07),
758 "copper rose": (0x99, 0x66, 0x66),
759 "amethyst": (0x99, 0x66, 0xCC),
760 "mountbatten pink": (0x99, 0x7A, 0x8D),
761 "blue bell": (0x99, 0x99, 0xCC),
762 "prairie sand": (0x9A, 0x38, 0x20),
763 "toast": (0x9A, 0x6E, 0x61),
764 "gurkha": (0x9A, 0x95, 0x77),
765 "olivine": (0x9A, 0xB9, 0x73),
766 "shadow green": (0x9A, 0xC2, 0xB8),
767 "oregon": (0x9B, 0x47, 0x03),
768 "lemon grass": (0x9B, 0x9E, 0x8F),
769 "stiletto": (0x9C, 0x33, 0x36),
770 "hawaiian tan": (0x9D, 0x56, 0x16),
771 "gull gray": (0x9D, 0xAC, 0xB7),
772 "pistachio": (0x9D, 0xC2, 0x09),
773 "granny smith apple": (0x9D, 0xE0, 0x93),
774 "anakiwa": (0x9D, 0xE5, 0xFF),
775 "chelsea gem": (0x9E, 0x53, 0x02),
776 "sepia skin": (0x9E, 0x5B, 0x40),
777 "sage": (0x9E, 0xA5, 0x87),
778 "citron": (0x9E, 0xA9, 0x1F),
779 "rock blue": (0x9E, 0xB1, 0xCD),
780 "morning glory": (0x9E, 0xDE, 0xE0),
781 "cognac": (0x9F, 0x38, 0x1D),
782 "reef gold": (0x9F, 0x82, 0x1C),
783 "star dust": (0x9F, 0x9F, 0x9C),
784 "santas gray": (0x9F, 0xA0, 0xB1),
785 "sinbad": (0x9F, 0xD7, 0xD3),
786 "feijoa": (0x9F, 0xDD, 0x8C),
787 "tabasco": (0xA0, 0x27, 0x12),
788 "buttered rum": (0xA1, 0x75, 0x0D),
789 "hit gray": (0xA1, 0xAD, 0xB5),
790 "citrus": (0xA1, 0xC5, 0x0A),
791 "aqua island": (0xA1, 0xDA, 0xD7),
792 "water leaf": (0xA1, 0xE9, 0xDE),
793 "flirt": (0xA2, 0x00, 0x6D),
794 "rouge": (0xA2, 0x3B, 0x6C),
795 "cape palliser": (0xA2, 0x66, 0x45),
796 "gray chateau": (0xA2, 0xAA, 0xB3),
797 "edward": (0xA2, 0xAE, 0xAB),
798 "pharlap": (0xA3, 0x80, 0x7B),
799 "amethyst smoke": (0xA3, 0x97, 0xB4),
800 "blizzard blue": (0xA3, 0xE3, 0xED),
801 "delta": (0xA4, 0xA4, 0x9D),
802 "wistful": (0xA4, 0xA6, 0xD3),
803 "green smoke": (0xA4, 0xAF, 0x6E),
804 "jazzberry jam": (0xA5, 0x0B, 0x5E),
805 "zorba": (0xA5, 0x9B, 0x91),
806 "bahia": (0xA5, 0xCB, 0x0C),
807 "roof terracotta": (0xA6, 0x2F, 0x20),
808 "paarl": (0xA6, 0x55, 0x29),
809 "barley corn": (0xA6, 0x8B, 0x5B),
810 "donkey brown": (0xA6, 0x92, 0x79),
811 "dawn": (0xA6, 0xA2, 0x9A),
812 "mexican red": (0xA7, 0x25, 0x25),
813 "luxor gold": (0xA7, 0x88, 0x2C),
814 "rich gold": (0xA8, 0x53, 0x07),
815 "reno sand": (0xA8, 0x65, 0x15),
816 "coral tree": (0xA8, 0x6B, 0x6B),
817 "dusty gray": (0xA8, 0x98, 0x9B),
818 "dull lavender": (0xA8, 0x99, 0xE6),
819 "tallow": (0xA8, 0xA5, 0x89),
820 "bud": (0xA8, 0xAE, 0x9C),
821 "locust": (0xA8, 0xAF, 0x8E),
822 "norway": (0xA8, 0xBD, 0x9F),
823 "chinook": (0xA8, 0xE3, 0xBD),
824 "gray olive": (0xA9, 0xA4, 0x91),
825 "aluminium": (0xA9, 0xAC, 0xB6),
826 "cadet blue": (0xA9, 0xB2, 0xC3),
827 "schist": (0xA9, 0xB4, 0x97),
828 "tower gray": (0xA9, 0xBD, 0xBF),
829 "perano": (0xA9, 0xBE, 0xF2),
830 "opal": (0xA9, 0xC6, 0xC2),
831 "night shadz": (0xAA, 0x37, 0x5A),
832 "fire": (0xAA, 0x42, 0x03),
833 "muesli": (0xAA, 0x8B, 0x5B),
834 "sandal": (0xAA, 0x8D, 0x6F),
835 "shady lady": (0xAA, 0xA5, 0xA9),
836 "logan": (0xAA, 0xA9, 0xCD),
837 "spun pearl": (0xAA, 0xAB, 0xB7),
838 "regent st blue": (0xAA, 0xD6, 0xE6),
839 "magic mint": (0xAA, 0xF0, 0xD1),
840 "lipstick": (0xAB, 0x05, 0x63),
841 "royal heath": (0xAB, 0x34, 0x72),
842 "sandrift": (0xAB, 0x91, 0x7A),
843 "cold purple": (0xAB, 0xA0, 0xD9),
844 "bronco": (0xAB, 0xA1, 0x96),
845 "limed oak": (0xAC, 0x8A, 0x56),
846 "east side": (0xAC, 0x91, 0xCE),
847 "lemon ginger": (0xAC, 0x9E, 0x22),
848 "napa": (0xAC, 0xA4, 0x94),
849 "hillary": (0xAC, 0xA5, 0x86),
850 "cloudy": (0xAC, 0xA5, 0x9F),
851 "silver chalice": (0xAC, 0xAC, 0xAC),
852 "swamp green": (0xAC, 0xB7, 0x8E),
853 "spring rain": (0xAC, 0xCB, 0xB1),
854 "conifer": (0xAC, 0xDD, 0x4D),
855 "celadon": (0xAC, 0xE1, 0xAF),
856 "mandalay": (0xAD, 0x78, 0x1B),
857 "casper": (0xAD, 0xBE, 0xD1),
858 "moss green": (0xAD, 0xDF, 0xAD),
859 "padua": (0xAD, 0xE6, 0xC4),
860 "green yellow": (0xAD, 0xFF, 0x2F),
861 "hippie pink": (0xAE, 0x45, 0x60),
862 "desert": (0xAE, 0x60, 0x20),
863 "bouquet": (0xAE, 0x80, 0x9E),
864 "medium carmine": (0xAF, 0x40, 0x35),
865 "apple blossom": (0xAF, 0x4D, 0x43),
866 "brown rust": (0xAF, 0x59, 0x3E),
867 "driftwood": (0xAF, 0x87, 0x51),
868 "alpine": (0xAF, 0x8F, 0x2C),
869 "lucky": (0xAF, 0x9F, 0x1C),
870 "martini": (0xAF, 0xA0, 0x9E),
871 "bombay": (0xAF, 0xB1, 0xB8),
872 "pigeon post": (0xAF, 0xBD, 0xD9),
873 "cadillac": (0xB0, 0x4C, 0x6A),
874 "matrix": (0xB0, 0x5D, 0x54),
875 "tapestry": (0xB0, 0x5E, 0x81),
876 "mai tai": (0xB0, 0x66, 0x08),
877 "del rio": (0xB0, 0x9A, 0x95),
878 "powder blue": (0xB0, 0xE0, 0xE6),
879 "inch worm": (0xB0, 0xE3, 0x13),
880 "bright red": (0xB1, 0x00, 0x00),
881 "vesuvius": (0xB1, 0x4A, 0x0B),
882 "pumpkin skin": (0xB1, 0x61, 0x0B),
883 "santa fe": (0xB1, 0x6D, 0x52),
884 "teak": (0xB1, 0x94, 0x61),
885 "fringy flower": (0xB1, 0xE2, 0xC1),
886 "ice cold": (0xB1, 0xF4, 0xE7),
887 "shiraz": (0xB2, 0x09, 0x31),
888 "biloba flower": (0xB2, 0xA1, 0xEA),
889 "tall poppy": (0xB3, 0x2D, 0x29),
890 "fiery orange": (0xB3, 0x52, 0x13),
891 "hot toddy": (0xB3, 0x80, 0x07),
892 "taupe gray": (0xB3, 0xAF, 0x95),
893 "la rioja": (0xB3, 0xC1, 0x10),
894 "well read": (0xB4, 0x33, 0x32),
895 "blush": (0xB4, 0x46, 0x68),
896 "jungle mist": (0xB4, 0xCF, 0xD3),
897 "turkish rose": (0xB5, 0x72, 0x81),
898 "lavender": (0xB5, 0x7E, 0xDC),
899 "mongoose": (0xB5, 0xA2, 0x7F),
900 "olive green": (0xB5, 0xB3, 0x5C),
901 "jet stream": (0xB5, 0xD2, 0xCE),
902 "cruise": (0xB5, 0xEC, 0xDF),
903 "hibiscus": (0xB6, 0x31, 0x6C),
904 "thatch": (0xB6, 0x9D, 0x98),
905 "heathered gray": (0xB6, 0xB0, 0x95),
906 "eagle": (0xB6, 0xBA, 0xA4),
907 "spindle": (0xB6, 0xD1, 0xEA),
908 "gum leaf": (0xB6, 0xD3, 0xBF),
909 "rust": (0xB7, 0x41, 0x0E),
910 "muddy waters": (0xB7, 0x8E, 0x5C),
911 "sahara": (0xB7, 0xA2, 0x14),
912 "husk": (0xB7, 0xA4, 0x58),
913 "nobel": (0xB7, 0xB1, 0xB1),
914 "heather": (0xB7, 0xC3, 0xD0),
915 "madang": (0xB7, 0xF0, 0xBE),
916 "milano red": (0xB8, 0x11, 0x04),
917 "copper": (0xB8, 0x73, 0x33),
918 "gimblet": (0xB8, 0xB5, 0x6A),
919 "green spring": (0xB8, 0xC1, 0xB1),
920 "celery": (0xB8, 0xC2, 0x5D),
921 "sail": (0xB8, 0xE0, 0xF9),
922 "chestnut": (0xB9, 0x4E, 0x48),
923 "crail": (0xB9, 0x51, 0x40),
924 "marigold": (0xB9, 0x8D, 0x28),
925 "wild willow": (0xB9, 0xC4, 0x6A),
926 "rainee": (0xB9, 0xC8, 0xAC),
927 "guardsman red": (0xBA, 0x01, 0x01),
928 "rock spray": (0xBA, 0x45, 0x0C),
929 "bourbon": (0xBA, 0x6F, 0x1E),
930 "pirate gold": (0xBA, 0x7F, 0x03),
931 "nomad": (0xBA, 0xB1, 0xA2),
932 "submarine": (0xBA, 0xC7, 0xC9),
933 "charlotte": (0xBA, 0xEE, 0xF9),
934 "medium red violet": (0xBB, 0x33, 0x85),
935 "brandy rose": (0xBB, 0x89, 0x83),
936 "rio grande": (0xBB, 0xD0, 0x09),
937 "surf": (0xBB, 0xD7, 0xC1),
938 "powder ash": (0xBC, 0xC9, 0xC2),
939 "tuscany": (0xBD, 0x5E, 0x2E),
940 "quicksand": (0xBD, 0x97, 0x8E),
941 "silk": (0xBD, 0xB1, 0xA8),
942 "malta": (0xBD, 0xB2, 0xA1),
943 "chatelle": (0xBD, 0xB3, 0xC7),
944 "lavender gray": (0xBD, 0xBB, 0xD7),
945 "french gray": (0xBD, 0xBD, 0xC6),
946 "clay ash": (0xBD, 0xC8, 0xB3),
947 "loblolly": (0xBD, 0xC9, 0xCE),
948 "french pass": (0xBD, 0xED, 0xFD),
949 "london hue": (0xBE, 0xA6, 0xC3),
950 "pink swan": (0xBE, 0xB5, 0xB7),
951 "fuego": (0xBE, 0xDE, 0x0D),
952 "rose of sharon": (0xBF, 0x55, 0x00),
953 "tide": (0xBF, 0xB8, 0xB0),
954 "blue haze": (0xBF, 0xBE, 0xD8),
955 "silver sand": (0xBF, 0xC1, 0xC2),
956 "key lime pie": (0xBF, 0xC9, 0x21),
957 "ziggurat": (0xBF, 0xDB, 0xE2),
958 "lime": (0xBF, 0xFF, 0x00),
959 "thunderbird": (0xC0, 0x2B, 0x18),
960 "mojo": (0xC0, 0x47, 0x37),
961 "old rose": (0xC0, 0x80, 0x81),
962 "silver": (0xC0, 0xC0, 0xC0),
963 "pale leaf": (0xC0, 0xD3, 0xB9),
964 "pixie green": (0xC0, 0xD8, 0xB6),
965 "tia maria": (0xC1, 0x44, 0x0E),
966 "fuchsia pink": (0xC1, 0x54, 0xC1),
967 "buddha gold": (0xC1, 0xA0, 0x04),
968 "bison hide": (0xC1, 0xB7, 0xA4),
969 "tea": (0xC1, 0xBA, 0xB0),
970 "gray suit": (0xC1, 0xBE, 0xCD),
971 "sprout": (0xC1, 0xD7, 0xB0),
972 "sulu": (0xC1, 0xF0, 0x7C),
973 "indochine": (0xC2, 0x6B, 0x03),
974 "twine": (0xC2, 0x95, 0x5D),
975 "cotton seed": (0xC2, 0xBD, 0xB6),
976 "pumice": (0xC2, 0xCA, 0xC4),
977 "jagged ice": (0xC2, 0xE8, 0xE5),
978 "maroon flush": (0xC3, 0x21, 0x48),
979 "indian khaki": (0xC3, 0xB0, 0x91),
980 "pale slate": (0xC3, 0xBF, 0xC1),
981 "gray nickel": (0xC3, 0xC3, 0xBD),
982 "periwinkle gray": (0xC3, 0xCD, 0xE6),
983 "tiara": (0xC3, 0xD1, 0xD1),
984 "tropical blue": (0xC3, 0xDD, 0xF9),
985 "cardinal": (0xC4, 0x1E, 0x3A),
986 "fuzzy wuzzy brown": (0xC4, 0x56, 0x55),
987 "orange roughy": (0xC4, 0x57, 0x19),
988 "mist gray": (0xC4, 0xC4, 0xBC),
989 "coriander": (0xC4, 0xD0, 0xB0),
990 "mint tulip": (0xC4, 0xF4, 0xEB),
991 "mulberry": (0xC5, 0x4B, 0x8C),
992 "nugget": (0xC5, 0x99, 0x22),
993 "tussock": (0xC5, 0x99, 0x4B),
994 "sea mist": (0xC5, 0xDB, 0xCA),
995 "yellow green": (0xC5, 0xE1, 0x7A),
996 "brick red": (0xC6, 0x2D, 0x42),
997 "contessa": (0xC6, 0x72, 0x6B),
998 "oriental pink": (0xC6, 0x91, 0x91),
999 "roti": (0xC6, 0xA8, 0x4B),
1000 "ash": (0xC6, 0xC3, 0xB5),
1001 "kangaroo": (0xC6, 0xC8, 0xBD),
1002 "las palmas": (0xC6, 0xE6, 0x10),
1003 "monza": (0xC7, 0x03, 0x1E),
1004 "red violet": (0xC7, 0x15, 0x85),
1005 "coral reef": (0xC7, 0xBC, 0xA2),
1006 "melrose": (0xC7, 0xC1, 0xFF),
1007 "cloud": (0xC7, 0xC4, 0xBF),
1008 "ghost": (0xC7, 0xC9, 0xD5),
1009 "pine glade": (0xC7, 0xCD, 0x90),
1010 "botticelli": (0xC7, 0xDD, 0xE5),
1011 "antique brass": (0xC8, 0x8A, 0x65),
1012 "lilac": (0xC8, 0xA2, 0xC8),
1013 "hokey pokey": (0xC8, 0xA5, 0x28),
1014 "lily": (0xC8, 0xAA, 0xBF),
1015 "laser": (0xC8, 0xB5, 0x68),
1016 "edgewater": (0xC8, 0xE3, 0xD7),
1017 "piper": (0xC9, 0x63, 0x23),
1018 "pizza": (0xC9, 0x94, 0x15),
1019 "light wisteria": (0xC9, 0xA0, 0xDC),
1020 "rodeo dust": (0xC9, 0xB2, 0x9B),
1021 "sundance": (0xC9, 0xB3, 0x5B),
1022 "earls green": (0xC9, 0xB9, 0x3B),
1023 "silver rust": (0xC9, 0xC0, 0xBB),
1024 "conch": (0xC9, 0xD9, 0xD2),
1025 "reef": (0xC9, 0xFF, 0xA2),
1026 "aero blue": (0xC9, 0xFF, 0xE5),
1027 "flush mahogany": (0xCA, 0x34, 0x35),
1028 "turmeric": (0xCA, 0xBB, 0x48),
1029 "paris white": (0xCA, 0xDC, 0xD4),
1030 "bitter lemon": (0xCA, 0xE0, 0x0D),
1031 "skeptic": (0xCA, 0xE6, 0xDA),
1032 "viola": (0xCB, 0x8F, 0xA9),
1033 "foggy gray": (0xCB, 0xCA, 0xB6),
1034 "green mist": (0xCB, 0xD3, 0xB0),
1035 "nebula": (0xCB, 0xDB, 0xD6),
1036 "persian red": (0xCC, 0x33, 0x33),
1037 "burnt orange": (0xCC, 0x55, 0x00),
1038 "ochre": (0xCC, 0x77, 0x22),
1039 "puce": (0xCC, 0x88, 0x99),
1040 "thistle green": (0xCC, 0xCA, 0xA8),
1041 "periwinkle": (0xCC, 0xCC, 0xFF),
1042 "electric lime": (0xCC, 0xFF, 0x00),
1043 "tenn": (0xCD, 0x57, 0x00),
1044 "chestnut rose": (0xCD, 0x5C, 0x5C),
1045 "brandy punch": (0xCD, 0x84, 0x29),
1046 "onahau": (0xCD, 0xF4, 0xFF),
1047 "sorrell brown": (0xCE, 0xB9, 0x8F),
1048 "cold turkey": (0xCE, 0xBA, 0xBA),
1049 "yuma": (0xCE, 0xC2, 0x91),
1050 "chino": (0xCE, 0xC7, 0xA7),
1051 "eunry": (0xCF, 0xA3, 0x9D),
1052 "old gold": (0xCF, 0xB5, 0x3B),
1053 "tasman": (0xCF, 0xDC, 0xCF),
1054 "surf crest": (0xCF, 0xE5, 0xD2),
1055 "humming bird": (0xCF, 0xF9, 0xF3),
1056 "scandal": (0xCF, 0xFA, 0xF4),
1057 "red stage": (0xD0, 0x5F, 0x04),
1058 "hopbush": (0xD0, 0x6D, 0xA1),
1059 "meteor": (0xD0, 0x7D, 0x12),
1060 "perfume": (0xD0, 0xBE, 0xF8),
1061 "prelude": (0xD0, 0xC0, 0xE5),
1062 "tea green": (0xD0, 0xF0, 0xC0),
1063 "geebung": (0xD1, 0x8F, 0x1B),
1064 "vanilla": (0xD1, 0xBE, 0xA8),
1065 "soft amber": (0xD1, 0xC6, 0xB4),
1066 "celeste": (0xD1, 0xD2, 0xCA),
1067 "mischka": (0xD1, 0xD2, 0xDD),
1068 "pear": (0xD1, 0xE2, 0x31),
1069 "hot cinnamon": (0xD2, 0x69, 0x1E),
1070 "raw sienna": (0xD2, 0x7D, 0x46),
1071 "careys pink": (0xD2, 0x9E, 0xAA),
1072 "tan": (0xD2, 0xB4, 0x8C),
1073 "deco": (0xD2, 0xDA, 0x97),
1074 "blue romance": (0xD2, 0xF6, 0xDE),
1075 "gossip": (0xD2, 0xF8, 0xB0),
1076 "sisal": (0xD3, 0xCB, 0xBA),
1077 "swirl": (0xD3, 0xCD, 0xC5),
1078 "charm": (0xD4, 0x74, 0x94),
1079 "clam shell": (0xD4, 0xB6, 0xAF),
1080 "straw": (0xD4, 0xBF, 0x8D),
1081 "akaroa": (0xD4, 0xC4, 0xA8),
1082 "bird flower": (0xD4, 0xCD, 0x16),
1083 "iron": (0xD4, 0xD7, 0xD9),
1084 "geyser": (0xD4, 0xDF, 0xE2),
1085 "hawkes blue": (0xD4, 0xE2, 0xFC),
1086 "grenadier": (0xD5, 0x46, 0x00),
1087 "can can": (0xD5, 0x91, 0xA4),
1088 "whiskey": (0xD5, 0x9A, 0x6F),
1089 "winter hazel": (0xD5, 0xD1, 0x95),
1090 "granny apple": (0xD5, 0xF6, 0xE3),
1091 "my pink": (0xD6, 0x91, 0x88),
1092 "tacha": (0xD6, 0xC5, 0x62),
1093 "moon raker": (0xD6, 0xCE, 0xF6),
1094 "quill gray": (0xD6, 0xD6, 0xD1),
1095 "snowy mint": (0xD6, 0xFF, 0xDB),
1096 "new york pink": (0xD7, 0x83, 0x7F),
1097 "pavlova": (0xD7, 0xC4, 0x98),
1098 "fog": (0xD7, 0xD0, 0xFF),
1099 "valencia": (0xD8, 0x44, 0x37),
1100 "japonica": (0xD8, 0x7C, 0x63),
1101 "thistle": (0xD8, 0xBF, 0xD8),
1102 "maverick": (0xD8, 0xC2, 0xD5),
1103 "foam": (0xD8, 0xFC, 0xFA),
1104 "cabaret": (0xD9, 0x49, 0x72),
1105 "burning sand": (0xD9, 0x93, 0x76),
1106 "cameo": (0xD9, 0xB9, 0x9B),
1107 "timberwolf": (0xD9, 0xD6, 0xCF),
1108 "tana": (0xD9, 0xDC, 0xC1),
1109 "link water": (0xD9, 0xE4, 0xF5),
1110 "mabel": (0xD9, 0xF7, 0xFF),
1111 "cerise": (0xDA, 0x32, 0x87),
1112 "flame pea": (0xDA, 0x5B, 0x38),
1113 "bamboo": (0xDA, 0x63, 0x04),
1114 "red damask": (0xDA, 0x6A, 0x41),
1115 "orchid": (0xDA, 0x70, 0xD6),
1116 "copperfield": (0xDA, 0x8A, 0x67),
1117 "golden grass": (0xDA, 0xA5, 0x20),
1118 "zanah": (0xDA, 0xEC, 0xD6),
1119 "iceberg": (0xDA, 0xF4, 0xF0),
1120 "oyster bay": (0xDA, 0xFA, 0xFF),
1121 "cranberry": (0xDB, 0x50, 0x79),
1122 "petite orchid": (0xDB, 0x96, 0x90),
1123 "di serria": (0xDB, 0x99, 0x5E),
1124 "alto": (0xDB, 0xDB, 0xDB),
1125 "frosted mint": (0xDB, 0xFF, 0xF8),
1126 "crimson": (0xDC, 0x14, 0x3C),
1127 "punch": (0xDC, 0x43, 0x33),
1128 "galliano": (0xDC, 0xB2, 0x0C),
1129 "blossom": (0xDC, 0xB4, 0xBC),
1130 "wattle": (0xDC, 0xD7, 0x47),
1131 "westar": (0xDC, 0xD9, 0xD2),
1132 "moon mist": (0xDC, 0xDD, 0xCC),
1133 "caper": (0xDC, 0xED, 0xB4),
1134 "swans down": (0xDC, 0xF0, 0xEA),
1135 "swiss coffee": (0xDD, 0xD6, 0xD5),
1136 "white ice": (0xDD, 0xF9, 0xF1),
1137 "cerise red": (0xDE, 0x31, 0x63),
1138 "roman": (0xDE, 0x63, 0x60),
1139 "tumbleweed": (0xDE, 0xA6, 0x81),
1140 "gold tips": (0xDE, 0xBA, 0x13),
1141 "brandy": (0xDE, 0xC1, 0x96),
1142 "wafer": (0xDE, 0xCB, 0xC6),
1143 "sapling": (0xDE, 0xD4, 0xA4),
1144 "barberry": (0xDE, 0xD7, 0x17),
1145 "beryl green": (0xDE, 0xE5, 0xC0),
1146 "pattens blue": (0xDE, 0xF5, 0xFF),
1147 "heliotrope": (0xDF, 0x73, 0xFF),
1148 "apache": (0xDF, 0xBE, 0x6F),
1149 "chenin": (0xDF, 0xCD, 0x6F),
1150 "lola": (0xDF, 0xCF, 0xDB),
1151 "willow brook": (0xDF, 0xEC, 0xDA),
1152 "chartreuse yellow": (0xDF, 0xFF, 0x00),
1153 "mauve": (0xE0, 0xB0, 0xFF),
1154 "anzac": (0xE0, 0xB6, 0x46),
1155 "harvest gold": (0xE0, 0xB9, 0x74),
1156 "calico": (0xE0, 0xC0, 0x95),
1157 "baby blue": (0xE0, 0xFF, 0xFF),
1158 "sunglo": (0xE1, 0x68, 0x65),
1159 "equator": (0xE1, 0xBC, 0x64),
1160 "pink flare": (0xE1, 0xC0, 0xC8),
1161 "periglacial blue": (0xE1, 0xE6, 0xD6),
1162 "kidnapper": (0xE1, 0xEA, 0xD4),
1163 "tara": (0xE1, 0xF6, 0xE8),
1164 "mandy": (0xE2, 0x54, 0x65),
1165 "terracotta": (0xE2, 0x72, 0x5B),
1166 "golden bell": (0xE2, 0x89, 0x13),
1167 "shocking": (0xE2, 0x92, 0xC0),
1168 "dixie": (0xE2, 0x94, 0x18),
1169 "light orchid": (0xE2, 0x9C, 0xD2),
1170 "snuff": (0xE2, 0xD8, 0xED),
1171 "mystic": (0xE2, 0xEB, 0xED),
1172 "apple green": (0xE2, 0xF3, 0xEC),
1173 "razzmatazz": (0xE3, 0x0B, 0x5C),
1174 "alizarin crimson": (0xE3, 0x26, 0x36),
1175 "cinnabar": (0xE3, 0x42, 0x34),
1176 "cavern pink": (0xE3, 0xBE, 0xBE),
1177 "peppermint": (0xE3, 0xF5, 0xE1),
1178 "mindaro": (0xE3, 0xF9, 0x88),
1179 "deep blush": (0xE4, 0x76, 0x98),
1180 "gamboge": (0xE4, 0x9B, 0x0F),
1181 "melanie": (0xE4, 0xC2, 0xD5),
1182 "twilight": (0xE4, 0xCF, 0xDE),
1183 "bone": (0xE4, 0xD1, 0xC0),
1184 "sunflower": (0xE4, 0xD4, 0x22),
1185 "grain brown": (0xE4, 0xD5, 0xB7),
1186 "zombie": (0xE4, 0xD6, 0x9B),
1187 "frostee": (0xE4, 0xF6, 0xE7),
1188 "snow flurry": (0xE4, 0xFF, 0xD1),
1189 "amaranth": (0xE5, 0x2B, 0x50),
1190 "zest": (0xE5, 0x84, 0x1B),
1191 "dust storm": (0xE5, 0xCC, 0xC9),
1192 "stark white": (0xE5, 0xD7, 0xBD),
1193 "hampton": (0xE5, 0xD8, 0xAF),
1194 "bon jour": (0xE5, 0xE0, 0xE1),
1195 "mercury": (0xE5, 0xE5, 0xE5),
1196 "polar": (0xE5, 0xF9, 0xF6),
1197 "trinidad": (0xE6, 0x4E, 0x03),
1198 "gold sand": (0xE6, 0xBE, 0x8A),
1199 "cashmere": (0xE6, 0xBE, 0xA5),
1200 "double spanish white": (0xE6, 0xD7, 0xB9),
1201 "satin linen": (0xE6, 0xE4, 0xD4),
1202 "harp": (0xE6, 0xF2, 0xEA),
1203 "off green": (0xE6, 0xF8, 0xF3),
1204 "hint of green": (0xE6, 0xFF, 0xE9),
1205 "tranquil": (0xE6, 0xFF, 0xFF),
1206 "mango tango": (0xE7, 0x72, 0x00),
1207 "christine": (0xE7, 0x73, 0x0A),
1208 "tonys pink": (0xE7, 0x9F, 0x8C),
1209 "kobi": (0xE7, 0x9F, 0xC4),
1210 "rose fog": (0xE7, 0xBC, 0xB4),
1211 "corn": (0xE7, 0xBF, 0x05),
1212 "putty": (0xE7, 0xCD, 0x8C),
1213 "gray nurse": (0xE7, 0xEC, 0xE6),
1214 "lily white": (0xE7, 0xF8, 0xFF),
1215 "bubbles": (0xE7, 0xFE, 0xFF),
1216 "fire bush": (0xE8, 0x99, 0x28),
1217 "shilo": (0xE8, 0xB9, 0xB3),
1218 "pearl bush": (0xE8, 0xE0, 0xD5),
1219 "green white": (0xE8, 0xEB, 0xE0),
1220 "chrome white": (0xE8, 0xF1, 0xD4),
1221 "gin": (0xE8, 0xF2, 0xEB),
1222 "aqua squeeze": (0xE8, 0xF5, 0xF2),
1223 "clementine": (0xE9, 0x6E, 0x00),
1224 "burnt sienna": (0xE9, 0x74, 0x51),
1225 "tahiti gold": (0xE9, 0x7C, 0x07),
1226 "oyster pink": (0xE9, 0xCE, 0xCD),
1227 "confetti": (0xE9, 0xD7, 0x5A),
1228 "ebb": (0xE9, 0xE3, 0xE3),
1229 "ottoman": (0xE9, 0xF8, 0xED),
1230 "clear day": (0xE9, 0xFF, 0xFD),
1231 "carissma": (0xEA, 0x88, 0xA8),
1232 "porsche": (0xEA, 0xAE, 0x69),
1233 "tulip tree": (0xEA, 0xB3, 0x3B),
1234 "rob roy": (0xEA, 0xC6, 0x74),
1235 "raffia": (0xEA, 0xDA, 0xB8),
1236 "white rock": (0xEA, 0xE8, 0xD4),
1237 "panache": (0xEA, 0xF6, 0xEE),
1238 "solitude": (0xEA, 0xF6, 0xFF),
1239 "aqua spring": (0xEA, 0xF9, 0xF5),
1240 "dew": (0xEA, 0xFF, 0xFE),
1241 "apricot": (0xEB, 0x93, 0x73),
1242 "zinnwaldite": (0xEB, 0xC2, 0xAF),
1243 "fuel yellow": (0xEC, 0xA9, 0x27),
1244 "ronchi": (0xEC, 0xC5, 0x4E),
1245 "french lilac": (0xEC, 0xC7, 0xEE),
1246 "just right": (0xEC, 0xCD, 0xB9),
1247 "wild rice": (0xEC, 0xE0, 0x90),
1248 "fall green": (0xEC, 0xEB, 0xBD),
1249 "aths special": (0xEC, 0xEB, 0xCE),
1250 "starship": (0xEC, 0xF2, 0x45),
1251 "red ribbon": (0xED, 0x0A, 0x3F),
1252 "tango": (0xED, 0x7A, 0x1C),
1253 "carrot orange": (0xED, 0x91, 0x21),
1254 "sea pink": (0xED, 0x98, 0x9E),
1255 "tacao": (0xED, 0xB3, 0x81),
1256 "desert sand": (0xED, 0xC9, 0xAF),
1257 "pancho": (0xED, 0xCD, 0xAB),
1258 "chamois": (0xED, 0xDC, 0xB1),
1259 "primrose": (0xED, 0xEA, 0x99),
1260 "frost": (0xED, 0xF5, 0xDD),
1261 "aqua haze": (0xED, 0xF5, 0xF5),
1262 "zumthor": (0xED, 0xF6, 0xFF),
1263 "narvik": (0xED, 0xF9, 0xF1),
1264 "honeysuckle": (0xED, 0xFC, 0x84),
1265 "lavender magenta": (0xEE, 0x82, 0xEE),
1266 "beauty bush": (0xEE, 0xC1, 0xBE),
1267 "chalky": (0xEE, 0xD7, 0x94),
1268 "almond": (0xEE, 0xD9, 0xC4),
1269 "flax": (0xEE, 0xDC, 0x82),
1270 "bizarre": (0xEE, 0xDE, 0xDA),
1271 "double colonial white": (0xEE, 0xE3, 0xAD),
1272 "cararra": (0xEE, 0xEE, 0xE8),
1273 "manz": (0xEE, 0xEF, 0x78),
1274 "tahuna sands": (0xEE, 0xF0, 0xC8),
1275 "athens gray": (0xEE, 0xF0, 0xF3),
1276 "tusk": (0xEE, 0xF3, 0xC3),
1277 "loafer": (0xEE, 0xF4, 0xDE),
1278 "catskill white": (0xEE, 0xF6, 0xF7),
1279 "twilight blue": (0xEE, 0xFD, 0xFF),
1280 "jonquil": (0xEE, 0xFF, 0x9A),
1281 "rice flower": (0xEE, 0xFF, 0xE2),
1282 "jaffa": (0xEF, 0x86, 0x3F),
1283 "gallery": (0xEF, 0xEF, 0xEF),
1284 "porcelain": (0xEF, 0xF2, 0xF3),
1285 "mauvelous": (0xF0, 0x91, 0xA9),
1286 "golden dream": (0xF0, 0xD5, 0x2D),
1287 "golden sand": (0xF0, 0xDB, 0x7D),
1288 "buff": (0xF0, 0xDC, 0x82),
1289 "prim": (0xF0, 0xE2, 0xEC),
1290 "khaki": (0xF0, 0xE6, 0x8C),
1291 "selago": (0xF0, 0xEE, 0xFD),
1292 "titan white": (0xF0, 0xEE, 0xFF),
1293 "alice blue": (0xF0, 0xF8, 0xFF),
1294 "feta": (0xF0, 0xFC, 0xEA),
1295 "gold drop": (0xF1, 0x82, 0x00),
1296 "wewak": (0xF1, 0x9B, 0xAB),
1297 "sahara sand": (0xF1, 0xE7, 0x88),
1298 "parchment": (0xF1, 0xE9, 0xD2),
1299 "blue chalk": (0xF1, 0xE9, 0xFF),
1300 "mint julep": (0xF1, 0xEE, 0xC1),
1301 "seashell": (0xF1, 0xF1, 0xF1),
1302 "saltpan": (0xF1, 0xF7, 0xF2),
1303 "tidal": (0xF1, 0xFF, 0xAD),
1304 "chiffon": (0xF1, 0xFF, 0xC8),
1305 "flamingo": (0xF2, 0x55, 0x2A),
1306 "tangerine": (0xF2, 0x85, 0x00),
1307 "mandys pink": (0xF2, 0xC3, 0xB2),
1308 "concrete": (0xF2, 0xF2, 0xF2),
1309 "black squeeze": (0xF2, 0xFA, 0xFA),
1310 "pomegranate": (0xF3, 0x47, 0x23),
1311 "buttercup": (0xF3, 0xAD, 0x16),
1312 "new orleans": (0xF3, 0xD6, 0x9D),
1313 "vanilla ice": (0xF3, 0xD9, 0xDF),
1314 "sidecar": (0xF3, 0xE7, 0xBB),
1315 "dawn pink": (0xF3, 0xE9, 0xE5),
1316 "wheatfield": (0xF3, 0xED, 0xCF),
1317 "canary": (0xF3, 0xFB, 0x62),
1318 "orinoco": (0xF3, 0xFB, 0xD4),
1319 "carla": (0xF3, 0xFF, 0xD8),
1320 "hollywood cerise": (0xF4, 0x00, 0xA1),
1321 "sandy brown": (0xF4, 0xA4, 0x60),
1322 "saffron": (0xF4, 0xC4, 0x30),
1323 "ripe lemon": (0xF4, 0xD8, 0x1C),
1324 "janna": (0xF4, 0xEB, 0xD3),
1325 "pampas": (0xF4, 0xF2, 0xEE),
1326 "wild sand": (0xF4, 0xF4, 0xF4),
1327 "zircon": (0xF4, 0xF8, 0xFF),
1328 "froly": (0xF5, 0x75, 0x84),
1329 "cream can": (0xF5, 0xC8, 0x5C),
1330 "manhattan": (0xF5, 0xC9, 0x99),
1331 "maize": (0xF5, 0xD5, 0xA0),
1332 "wheat": (0xF5, 0xDE, 0xB3),
1333 "sandwisp": (0xF5, 0xE7, 0xA2),
1334 "pot pourri": (0xF5, 0xE7, 0xE2),
1335 "albescent white": (0xF5, 0xE9, 0xD3),
1336 "soft peach": (0xF5, 0xED, 0xEF),
1337 "ecru white": (0xF5, 0xF3, 0xE5),
1338 "beige": (0xF5, 0xF5, 0xDC),
1339 "golden fizz": (0xF5, 0xFB, 0x3D),
1340 "australian mint": (0xF5, 0xFF, 0xBE),
1341 "french rose": (0xF6, 0x4A, 0x8A),
1342 "brilliant rose": (0xF6, 0x53, 0xA6),
1343 "illusion": (0xF6, 0xA4, 0xC9),
1344 "merino": (0xF6, 0xF0, 0xE6),
1345 "black haze": (0xF6, 0xF7, 0xF7),
1346 "spring sun": (0xF6, 0xFF, 0xDC),
1347 "violet red": (0xF7, 0x46, 0x8A),
1348 "chilean fire": (0xF7, 0x77, 0x03),
1349 "persian pink": (0xF7, 0x7F, 0xBE),
1350 "rajah": (0xF7, 0xB6, 0x68),
1351 "azalea": (0xF7, 0xC8, 0xDA),
1352 "we peep": (0xF7, 0xDB, 0xE6),
1353 "quarter spanish white": (0xF7, 0xF2, 0xE1),
1354 "whisper": (0xF7, 0xF5, 0xFA),
1355 "snow drift": (0xF7, 0xFA, 0xF7),
1356 "casablanca": (0xF8, 0xB8, 0x53),
1357 "chantilly": (0xF8, 0xC3, 0xDF),
1358 "cherub": (0xF8, 0xD9, 0xE9),
1359 "marzipan": (0xF8, 0xDB, 0x9D),
1360 "energy yellow": (0xF8, 0xDD, 0x5C),
1361 "givry": (0xF8, 0xE4, 0xBF),
1362 "white linen": (0xF8, 0xF0, 0xE8),
1363 "magnolia": (0xF8, 0xF4, 0xFF),
1364 "spring wood": (0xF8, 0xF6, 0xF1),
1365 "coconut cream": (0xF8, 0xF7, 0xDC),
1366 "white lilac": (0xF8, 0xF7, 0xFC),
1367 "desert storm": (0xF8, 0xF8, 0xF7),
1368 "texas": (0xF8, 0xF9, 0x9C),
1369 "corn field": (0xF8, 0xFA, 0xCD),
1370 "mimosa": (0xF8, 0xFD, 0xD3),
1371 "carnation": (0xF9, 0x5A, 0x61),
1372 "saffron mango": (0xF9, 0xBF, 0x58),
1373 "carousel pink": (0xF9, 0xE0, 0xED),
1374 "dairy cream": (0xF9, 0xE4, 0xBC),
1375 "portica": (0xF9, 0xE6, 0x63),
1376 "amour": (0xF9, 0xEA, 0xF3),
1377 "rum swizzle": (0xF9, 0xF8, 0xE4),
1378 "dolly": (0xF9, 0xFF, 0x8B),
1379 "sugar cane": (0xF9, 0xFF, 0xF6),
1380 "ecstasy": (0xFA, 0x78, 0x14),
1381 "tan hide": (0xFA, 0x9D, 0x5A),
1382 "corvette": (0xFA, 0xD3, 0xA2),
1383 "peach yellow": (0xFA, 0xDF, 0xAD),
1384 "turbo": (0xFA, 0xE6, 0x00),
1385 "astra": (0xFA, 0xEA, 0xB9),
1386 "champagne": (0xFA, 0xEC, 0xCC),
1387 "linen": (0xFA, 0xF0, 0xE6),
1388 "fantasy": (0xFA, 0xF3, 0xF0),
1389 "citrine white": (0xFA, 0xF7, 0xD6),
1390 "alabaster": (0xFA, 0xFA, 0xFA),
1391 "hint of yellow": (0xFA, 0xFD, 0xE4),
1392 "milan": (0xFA, 0xFF, 0xA4),
1393 "brink pink": (0xFB, 0x60, 0x7F),
1394 "geraldine": (0xFB, 0x89, 0x89),
1395 "lavender rose": (0xFB, 0xA0, 0xE3),
1396 "sea buckthorn": (0xFB, 0xA1, 0x29),
1397 "sun": (0xFB, 0xAC, 0x13),
1398 "lavender pink": (0xFB, 0xAE, 0xD2),
1399 "rose bud": (0xFB, 0xB2, 0xA3),
1400 "cupid": (0xFB, 0xBE, 0xDA),
1401 "classic rose": (0xFB, 0xCC, 0xE7),
1402 "apricot peach": (0xFB, 0xCE, 0xB1),
1403 "banana mania": (0xFB, 0xE7, 0xB2),
1404 "marigold yellow": (0xFB, 0xE8, 0x70),
1405 "festival": (0xFB, 0xE9, 0x6C),
1406 "sweet corn": (0xFB, 0xEA, 0x8C),
1407 "candy corn": (0xFB, 0xEC, 0x5D),
1408 "hint of red": (0xFB, 0xF9, 0xF9),
1409 "shalimar": (0xFB, 0xFF, 0xBA),
1410 "shocking pink": (0xFC, 0x0F, 0xC0),
1411 "tickle me pink": (0xFC, 0x80, 0xA5),
1412 "tree poppy": (0xFC, 0x9C, 0x1D),
1413 "lightning yellow": (0xFC, 0xC0, 0x1E),
1414 "goldenrod": (0xFC, 0xD6, 0x67),
1415 "candlelight": (0xFC, 0xD9, 0x17),
1416 "cherokee": (0xFC, 0xDA, 0x98),
1417 "double pearl lusta": (0xFC, 0xF4, 0xD0),
1418 "pearl lusta": (0xFC, 0xF4, 0xDC),
1419 "vista white": (0xFC, 0xF8, 0xF7),
1420 "bianca": (0xFC, 0xFB, 0xF3),
1421 "moon glow": (0xFC, 0xFE, 0xDA),
1422 "china ivory": (0xFC, 0xFF, 0xE7),
1423 "ceramic": (0xFC, 0xFF, 0xF9),
1424 "torch red": (0xFD, 0x0E, 0x35),
1425 "wild watermelon": (0xFD, 0x5B, 0x78),
1426 "crusta": (0xFD, 0x7B, 0x33),
1427 "sorbus": (0xFD, 0x7C, 0x07),
1428 "sweet pink": (0xFD, 0x9F, 0xA2),
1429 "light apricot": (0xFD, 0xD5, 0xB1),
1430 "pig pink": (0xFD, 0xD7, 0xE4),
1431 "cinderella": (0xFD, 0xE1, 0xDC),
1432 "golden glow": (0xFD, 0xE2, 0x95),
1433 "lemon": (0xFD, 0xE9, 0x10),
1434 "old lace": (0xFD, 0xF5, 0xE6),
1435 "half colonial white": (0xFD, 0xF6, 0xD3),
1436 "drover": (0xFD, 0xF7, 0xAD),
1437 "pale prim": (0xFD, 0xFE, 0xB8),
1438 "cumulus": (0xFD, 0xFF, 0xD5),
1439 "persian rose": (0xFE, 0x28, 0xA2),
1440 "sunset orange": (0xFE, 0x4C, 0x40),
1441 "bittersweet": (0xFE, 0x6F, 0x5E),
1442 "california": (0xFE, 0x9D, 0x04),
1443 "yellow sea": (0xFE, 0xA9, 0x04),
1444 "melon": (0xFE, 0xBA, 0xAD),
1445 "bright sun": (0xFE, 0xD3, 0x3C),
1446 "dandelion": (0xFE, 0xD8, 0x5D),
1447 "salomie": (0xFE, 0xDB, 0x8D),
1448 "cape honey": (0xFE, 0xE5, 0xAC),
1449 "remy": (0xFE, 0xEB, 0xF3),
1450 "oasis": (0xFE, 0xEF, 0xCE),
1451 "bridesmaid": (0xFE, 0xF0, 0xEC),
1452 "beeswax": (0xFE, 0xF2, 0xC7),
1453 "bleach white": (0xFE, 0xF3, 0xD8),
1454 "pipi": (0xFE, 0xF4, 0xCC),
1455 "half spanish white": (0xFE, 0xF4, 0xDB),
1456 "wisp pink": (0xFE, 0xF4, 0xF8),
1457 "provincial pink": (0xFE, 0xF5, 0xF1),
1458 "half dutch white": (0xFE, 0xF7, 0xDE),
1459 "solitaire": (0xFE, 0xF8, 0xE2),
1460 "white pointer": (0xFE, 0xF8, 0xFF),
1461 "off yellow": (0xFE, 0xF9, 0xE3),
1462 "orange white": (0xFE, 0xFC, 0xED),
1463 "red": (0xFF, 0x00, 0x00),
1464 "dark red": (0x64, 0x00, 0x00),
1465 "rose": (0xFF, 0x00, 0x7F),
1466 "purple pizzazz": (0xFF, 0x00, 0xCC),
1467 "magenta": (0xFF, 0x00, 0xFF),
1468 "fuchsia": (0xFF, 0x00, 0xFF),
1469 "dark magenta": (0xAF, 0x00, 0xAF),
1470 "scarlet": (0xFF, 0x24, 0x00),
1471 "wild strawberry": (0xFF, 0x33, 0x99),
1472 "razzle dazzle rose": (0xFF, 0x33, 0xCC),
1473 "radical red": (0xFF, 0x35, 0x5E),
1474 "red orange": (0xFF, 0x3F, 0x34),
1475 "coral red": (0xFF, 0x40, 0x40),
1476 "vermilion": (0xFF, 0x4D, 0x00),
1477 "international orange": (0xFF, 0x4F, 0x00),
1478 "outrageous orange": (0xFF, 0x60, 0x37),
1479 "blaze orange": (0xFF, 0x66, 0x00),
1480 "pink flamingo": (0xFF, 0x66, 0xFF),
1481 "orange": (0xFF, 0x68, 0x1F),
1482 "hot pink": (0xFF, 0x69, 0xB4),
1483 "persimmon": (0xFF, 0x6B, 0x53),
1484 "blush pink": (0xFF, 0x6F, 0xFF),
1485 "burning orange": (0xFF, 0x70, 0x34),
1486 "pumpkin": (0xFF, 0x75, 0x18),
1487 "flamenco": (0xFF, 0x7D, 0x07),
1488 "flush orange": (0xFF, 0x7F, 0x00),
1489 "coral": (0xFF, 0x7F, 0x50),
1490 "salmon": (0xFF, 0x8C, 0x69),
1491 "pizazz": (0xFF, 0x90, 0x00),
1492 "west side": (0xFF, 0x91, 0x0F),
1493 "pink salmon": (0xFF, 0x91, 0xA4),
1494 "neon carrot": (0xFF, 0x99, 0x33),
1495 "atomic tangerine": (0xFF, 0x99, 0x66),
1496 "vivid tangerine": (0xFF, 0x99, 0x80),
1497 "sunshade": (0xFF, 0x9E, 0x2C),
1498 "orange peel": (0xFF, 0xA0, 0x00),
1499 "mona lisa": (0xFF, 0xA1, 0x94),
1500 "web orange": (0xFF, 0xA5, 0x00),
1501 "carnation pink": (0xFF, 0xA6, 0xC9),
1502 "hit pink": (0xFF, 0xAB, 0x81),
1503 "yellow orange": (0xFF, 0xAE, 0x42),
1504 "cornflower lilac": (0xFF, 0xB0, 0xAC),
1505 "sundown": (0xFF, 0xB1, 0xB3),
1506 "my sin": (0xFF, 0xB3, 0x1F),
1507 "texas rose": (0xFF, 0xB5, 0x55),
1508 "cotton candy": (0xFF, 0xB7, 0xD5),
1509 "macaroni and cheese": (0xFF, 0xB9, 0x7B),
1510 "selective yellow": (0xFF, 0xBA, 0x00),
1511 "koromiko": (0xFF, 0xBD, 0x5F),
1512 "amber": (0xFF, 0xBF, 0x00),
1513 "wax flower": (0xFF, 0xC0, 0xA8),
1514 "pink": (0xFF, 0xC0, 0xCB),
1515 "your pink": (0xFF, 0xC3, 0xC0),
1516 "supernova": (0xFF, 0xC9, 0x01),
1517 "flesh": (0xFF, 0xCB, 0xA4),
1518 "sunglow": (0xFF, 0xCC, 0x33),
1519 "golden tainoi": (0xFF, 0xCC, 0x5C),
1520 "peach orange": (0xFF, 0xCC, 0x99),
1521 "chardonnay": (0xFF, 0xCD, 0x8C),
1522 "pastel pink": (0xFF, 0xD1, 0xDC),
1523 "romantic": (0xFF, 0xD2, 0xB7),
1524 "grandis": (0xFF, 0xD3, 0x8C),
1525 "gold": (0xFF, 0xD7, 0x00),
1526 "school bus yellow": (0xFF, 0xD8, 0x00),
1527 "cosmos": (0xFF, 0xD8, 0xD9),
1528 "mustard": (0xFF, 0xDB, 0x58),
1529 "peach schnapps": (0xFF, 0xDC, 0xD6),
1530 "caramel": (0xFF, 0xDD, 0xAF),
1531 "tuft bush": (0xFF, 0xDD, 0xCD),
1532 "watusi": (0xFF, 0xDD, 0xCF),
1533 "pink lace": (0xFF, 0xDD, 0xF4),
1534 "navajo white": (0xFF, 0xDE, 0xAD),
1535 "frangipani": (0xFF, 0xDE, 0xB3),
1536 "pippin": (0xFF, 0xE1, 0xDF),
1537 "pale rose": (0xFF, 0xE1, 0xF2),
1538 "negroni": (0xFF, 0xE2, 0xC5),
1539 "cream brulee": (0xFF, 0xE5, 0xA0),
1540 "peach": (0xFF, 0xE5, 0xB4),
1541 "tequila": (0xFF, 0xE6, 0xC7),
1542 "kournikova": (0xFF, 0xE7, 0x72),
1543 "sandy beach": (0xFF, 0xEA, 0xC8),
1544 "karry": (0xFF, 0xEA, 0xD4),
1545 "broom": (0xFF, 0xEC, 0x13),
1546 "colonial white": (0xFF, 0xED, 0xBC),
1547 "derby": (0xFF, 0xEE, 0xD8),
1548 "vis vis": (0xFF, 0xEF, 0xA1),
1549 "egg white": (0xFF, 0xEF, 0xC1),
1550 "papaya whip": (0xFF, 0xEF, 0xD5),
1551 "fair pink": (0xFF, 0xEF, 0xEC),
1552 "peach cream": (0xFF, 0xF0, 0xDB),
1553 "lavender blush": (0xFF, 0xF0, 0xF5),
1554 "gorse": (0xFF, 0xF1, 0x4F),
1555 "buttermilk": (0xFF, 0xF1, 0xB5),
1556 "pink lady": (0xFF, 0xF1, 0xD8),
1557 "forget me not": (0xFF, 0xF1, 0xEE),
1558 "tutu": (0xFF, 0xF1, 0xF9),
1559 "picasso": (0xFF, 0xF3, 0x9D),
1560 "chardon": (0xFF, 0xF3, 0xF1),
1561 "paris daisy": (0xFF, 0xF4, 0x6E),
1562 "barley white": (0xFF, 0xF4, 0xCE),
1563 "egg sour": (0xFF, 0xF4, 0xDD),
1564 "sazerac": (0xFF, 0xF4, 0xE0),
1565 "serenade": (0xFF, 0xF4, 0xE8),
1566 "chablis": (0xFF, 0xF4, 0xF3),
1567 "seashell peach": (0xFF, 0xF5, 0xEE),
1568 "sauvignon": (0xFF, 0xF5, 0xF3),
1569 "milk punch": (0xFF, 0xF6, 0xD4),
1570 "varden": (0xFF, 0xF6, 0xDF),
1571 "rose white": (0xFF, 0xF6, 0xF5),
1572 "baja white": (0xFF, 0xF8, 0xD1),
1573 "gin fizz": (0xFF, 0xF9, 0xE2),
1574 "early dawn": (0xFF, 0xF9, 0xE6),
1575 "lemon chiffon": (0xFF, 0xFA, 0xCD),
1576 "bridal heath": (0xFF, 0xFA, 0xF4),
1577 "scotch mist": (0xFF, 0xFB, 0xDC),
1578 "soapstone": (0xFF, 0xFB, 0xF9),
1579 "witch haze": (0xFF, 0xFC, 0x99),
1580 "buttery white": (0xFF, 0xFC, 0xEA),
1581 "island spice": (0xFF, 0xFC, 0xEE),
1582 "cream": (0xFF, 0xFD, 0xD0),
1583 "chilean heath": (0xFF, 0xFD, 0xE6),
1584 "travertine": (0xFF, 0xFD, 0xE8),
1585 "orchid white": (0xFF, 0xFD, 0xF3),
1586 "quarter pearl lusta": (0xFF, 0xFD, 0xF4),
1587 "half and half": (0xFF, 0xFE, 0xE1),
1588 "apricot white": (0xFF, 0xFE, 0xEC),
1589 "rice cake": (0xFF, 0xFE, 0xF0),
1590 "black white": (0xFF, 0xFE, 0xF6),
1591 "romance": (0xFF, 0xFE, 0xFD),
1592 "yellow": (0xFF, 0xFF, 0x00),
1593 "laser lemon": (0xFF, 0xFF, 0x66),
1594 "pale canary": (0xFF, 0xFF, 0x99),
1595 "portafino": (0xFF, 0xFF, 0xB4),
1596 "ivory": (0xFF, 0xFF, 0xF0),
1597 "white": (0xFF, 0xFF, 0xFF),
1605 def clear_screen() -> str:
1613 def normal() -> str:
1621 def italic() -> str:
1625 def italics() -> str:
1629 def underline() -> str:
1633 def strikethrough() -> str:
1637 def strike_through() -> str:
1638 return strikethrough()
1641 def is_16color(num: int) -> bool:
1642 return num == 255 or num == 128
1645 def is_216color(num: int) -> bool:
1646 return num in set([0, 95, 135, 175, 223, 255])
1649 def _simple_color_number(red: int, green: int, blue: int) -> int:
1653 return b << 2 | g << 1 | r
1656 def fg_16color(red: int, green: int, blue: int) -> str:
1657 code = _simple_color_number(red, green, blue) + 30
1665 if bright_count > 1:
1667 return f"
\e[{code}m"
1670 def bg_16color(red: int, green: int, blue: int) -> str:
1671 code = _simple_color_number(red, green, blue) + 40
1679 if bright_count > 1:
1681 return f"
\e[{code}m"
1684 def _pixel_to_216color(n: int) -> int:
1698 def fg_216color(red: int, green: int, blue: int) -> str:
1699 r = _pixel_to_216color(red)
1700 g = _pixel_to_216color(green)
1701 b = _pixel_to_216color(blue)
1702 code = 16 + r * 36 + g * 6 + b
1703 return f"
\e[38;5;{code}m"
1706 def bg_216color(red: int, green: int, blue: int) -> str:
1707 r = _pixel_to_216color(red)
1708 g = _pixel_to_216color(green)
1709 b = _pixel_to_216color(blue)
1710 code = 16 + r * 36 + g * 6 + b
1711 return f"
\e[48;5;{code}m"
1714 def fg_24bit(red: int, green: int, blue: int) -> str:
1715 return f"
\e[38;2;{red};{green};{blue}m"
1718 def bg_24bit(red: int, green: int, blue: int) -> str:
1719 return f"
\e[48;2;{red};{green};{blue}m"
1722 def _find_color_by_name(name: str) -> Tuple[int, int, int]:
1723 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1725 name = guess_name(name)
1726 rgb = COLOR_NAMES_TO_RGB.get(name.lower(), None)
1727 assert rgb is not None
1731 @logging_utils.squelch_repeated_log_messages(1)
1732 def fg(name: Optional[str] = "",
1733 red: Optional[int] = None,
1734 green: Optional[int] = None,
1735 blue: Optional[int] = None,
1737 force_16color: bool = False,
1738 force_216color: bool = False) -> str:
1741 if name is not None and name == 'reset':
1744 if name is not None and string_utils.is_full_string(name):
1745 rgb = _find_color_by_name(name)
1751 force_16color=force_16color,
1752 force_216color=force_216color
1762 is_16color(red) and is_16color(green) and is_16color(blue)
1764 logger.debug("Using 16-color strategy")
1765 return fg_16color(red, green, blue)
1767 is_216color(red) and is_216color(green) and is_216color(blue)
1768 ) or force_216color:
1769 logger.debug("Using 216-color strategy")
1770 return fg_216color(red, green, blue)
1771 logger.debug("Using 24-bit color strategy")
1772 return fg_24bit(red, green, blue)
1775 def _rgb_to_yiq(rgb: Tuple[int, int, int]) -> int:
1776 return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) // 1000
1779 def _contrast(rgb: Tuple[int, int, int]) -> Tuple[int, int, int]:
1780 if _rgb_to_yiq(rgb) < 128:
1781 return (0xff, 0xff, 0xff)
1785 def pick_contrasting_color(name: Optional[str] = "",
1786 red: Optional[int] = None,
1787 green: Optional[int] = None,
1788 blue: Optional[int] = None) -> Tuple[int, int, int]:
1791 if name is not None and string_utils.is_full_string(name):
1792 rgb = _find_color_by_name(name)
1794 r = red if red is not None else 0
1795 g = green if green is not None else 0
1796 b = blue if blue is not None else 0
1798 assert rgb is not None
1799 return _contrast(rgb)
1802 def guess_name(name: str) -> str:
1805 for possibility in COLOR_NAMES_TO_RGB:
1806 r = difflib.SequenceMatcher(
1811 if max_ratio is None or r > max_ratio:
1813 best_guess = possibility
1814 assert best_guess is not None
1815 logger.debug(f"Best guess at color name is {best_guess}")
1819 def bg(name: Optional[str] = "",
1820 red: Optional[int] = None,
1821 green: Optional[int] = None,
1822 blue: Optional[int] = None,
1824 force_16color: bool = False,
1825 force_216color: bool = False) -> str:
1828 if name is not None and name == 'reset':
1831 if name is not None and string_utils.is_full_string(name):
1832 rgb = _find_color_by_name(name)
1838 force_16color=force_16color,
1839 force_216color=force_216color
1848 is_16color(red) and is_16color(green) and is_16color(blue)
1850 logger.debug("Using 16-color strategy")
1851 return bg_16color(red, green, blue)
1853 is_216color(red) and is_216color(green) and is_216color(blue)
1854 ) or force_216color:
1855 logger.debug("Using 216-color strategy")
1856 return bg_216color(red, green, blue)
1857 logger.debug("Using 24-bit color strategy")
1858 return bg_24bit(red, green, blue)
1861 class StdoutInterceptor(io.TextIOBase):
1863 self.saved_stdout: Optional[io.TextIOBase] = None
1870 def __enter__(self) -> None:
1871 self.saved_stdout = sys.stdout
1875 def __exit__(self, *args) -> bool:
1876 sys.stdout = self.saved_stdout
1881 class ProgrammableColorizer(StdoutInterceptor):
1882 def __init__(self, patterns: Iterable[Tuple[re.Pattern, Callable[[Any, re.Pattern], str]]]):
1884 self.patterns = [_ for _ in patterns]
1886 def write(self, s: str):
1887 for pattern in self.patterns:
1888 s = pattern[0].sub(pattern[1], s)
1892 if __name__ == '__main__':
1894 name = " ".join(sys.argv[1:])
1895 for possibility in COLOR_NAMES_TO_RGB:
1896 if name in possibility:
1899 _ = pick_contrasting_color(possibility)
1900 xf = fg(None, _[0], _[1], _[2])
1901 xb = bg(None, _[0], _[1], _[2])
1902 print(f'{f}{xb}{possibility}{reset()}\t\t\t'
1903 f'{b}{xf}{possibility}{reset()}')