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