color-combos 1.1.2 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,6 +28,35 @@ The default shape of the returned array can be expressed as:
28
28
  aaa: boolean;
29
29
  aaaLarge: boolean;
30
30
  };
31
+ apca?: {
32
+ lc: number;
33
+ polarity: 'light-on-dark' | 'dark-on-light';
34
+ minimumFontSize: {
35
+ 100: number | 'prohibited';
36
+ 200: number | 'prohibited';
37
+ 300: number | 'prohibited';
38
+ 400: number | 'prohibited';
39
+ 500: number | 'prohibited';
40
+ 600: number | 'prohibited';
41
+ 700: number | 'prohibited';
42
+ 800: number | 'prohibited';
43
+ 900: number | 'prohibited';
44
+ };
45
+ fontRequirement?: {
46
+ fontSize: number;
47
+ fontWeight: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
48
+ minimumFontSize: number | 'prohibited';
49
+ meetsRequirement: boolean;
50
+ };
51
+ readability: {
52
+ fluentText: { thresholdLc: number; meets: boolean };
53
+ bodyText: { thresholdLc: number; meets: boolean };
54
+ contentText: { thresholdLc: number; meets: boolean };
55
+ largeText: { thresholdLc: number; meets: boolean };
56
+ minimumText: { thresholdLc: number; meets: boolean };
57
+ nonText: { thresholdLc: number; meets: boolean };
58
+ };
59
+ };
31
60
  }
32
61
  ];
33
62
  }
@@ -42,7 +71,7 @@ import ColorCombos from 'color-combos';
42
71
 
43
72
  ## Usage
44
73
 
45
- `ColorCombos` takes two arguments; `colors: string[] | { [name: string]: string }` and optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; }`
74
+ `ColorCombos` takes two arguments; `colors: string[] | { [name: string]: string }` and optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; apca?: { fontSize?: number; fontWeight?: FontWeight } }`
46
75
 
47
76
  ```ts
48
77
  ColorCombos(
@@ -51,6 +80,10 @@ ColorCombos(
51
80
  compact?: boolean;
52
81
  threshold?: number;
53
82
  uniq?: boolean;
83
+ apca?: {
84
+ fontSize?: number;
85
+ fontWeight?: 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
86
+ };
54
87
  }
55
88
  )
56
89
  ```
@@ -208,15 +241,16 @@ returns
208
241
  ]
209
242
  ```
210
243
 
211
- ### Optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; }`
244
+ ### Optional `options: { compact?: boolean; threshold?: number; uniq?: boolean; apca?: {...} }`
212
245
 
213
- `ColorCombos` can take some optional options that can affect the returned array of colors. Options are represented as an object that can have three keys; `compact`, `threshold`, and `uniq`. By default those options are set to:
246
+ `ColorCombos` can take some optional options that can affect the returned array of colors. Options are represented as an object that can have four keys; `compact`, `threshold`, `uniq`, and `apca`. By default those options are set to:
214
247
 
215
248
  ```json
216
249
  {
217
250
  "compact": false,
218
251
  "threshold": 0,
219
- "uniq": true
252
+ "uniq": true,
253
+ "apca": undefined
220
254
  }
221
255
  ```
222
256
 
@@ -339,3 +373,66 @@ ColorCombos(['#fff', 'rgb(255,255,255)', '#000'], { compact: true, uniq: false }
339
373
  ```
340
374
 
341
375
  Even though `#fff` and `rgb(255,255,255)` are the same color, `ColorCombos` will not omit the duplicate from the returned results.
376
+
377
+ ## APCA (WCAG 3 Candidate)
378
+
379
+ `ColorCombos` includes an `apca` result for each color pair with three main features:
380
+
381
+ ### 1. Lc Value and Polarity
382
+
383
+ - `apca.lc` is the signed APCA Lightness Contrast value (negative = light text on dark background, positive = dark text on light background).
384
+ - `apca.polarity` indicates the contrast direction: `'light-on-dark'` or `'dark-on-light'`
385
+
386
+ ### 2. Minimum Font Size Lookup Table
387
+
388
+ `apca.minimumFontSize` provides the minimum font size (in px) required for each font weight at the given contrast level:
389
+
390
+ ```ts
391
+ apca.minimumFontSize: {
392
+ 100: 48, // weight 100 needs at least 48px
393
+ 200: 32, // weight 200 needs at least 32px
394
+ 300: 21,
395
+ 400: 16, // weight 400 (normal) needs at least 16px
396
+ 500: 15.5,
397
+ 600: 14.5,
398
+ 700: 14, // weight 700 (bold) needs at least 14px
399
+ 800: 16,
400
+ 900: 18
401
+ }
402
+ ```
403
+
404
+ If a weight returns `'prohibited'`, the contrast is too low for any font size at that weight.
405
+
406
+ ### 3. Font Requirement Check (Optional)
407
+
408
+ Pass `fontSize` and `fontWeight` in the options to get a `fontRequirement` result:
409
+
410
+ ```ts
411
+ ColorCombos(['white', 'black'], {
412
+ apca: { fontSize: 16, fontWeight: 400 }
413
+ });
414
+
415
+ // Returns:
416
+ apca.fontRequirement: {
417
+ fontSize: 16,
418
+ fontWeight: 400,
419
+ minimumFontSize: 16, // minimum required at this weight
420
+ meetsRequirement: true // 16px >= 16px minimum
421
+ }
422
+ ```
423
+
424
+ ### 4. Readability Thresholds
425
+
426
+ `apca.readability.*.meets` compares `Math.abs(apca.lc)` against the APCAeasyIntro "Use‑Case Ranges" thresholds:
427
+ - `fluentText`: `Lc 90` (preferred; for fluent/body text columns at ≥14px/400)
428
+ - `bodyText`: `Lc 75` (minimum; for body text columns at ≥18px/400)
429
+ - `contentText`: `Lc 60` (minimum; for content text at ≥24px/400 or ≥16px/700)
430
+ - `largeText`: `Lc 45` (minimum; for large text/headlines at ≥36px/400 or ≥24px/700)
431
+ - `minimumText`: `Lc 30` (absolute minimum; for text not listed above, and large/solid non‑text)
432
+ - `nonText`: `Lc 15` (absolute minimum; for discernible non‑text ≥5px)
433
+
434
+ ### Caveats
435
+
436
+ - APCA is the candidate contrast method for WCAG 3 and is still under development; these booleans are a convenience check against published guidance, not an official "conformance" result.
437
+ - Font size lookup values are based on the reference font (Barlow) and may vary for other typefaces.
438
+ - Inputs with alpha (e.g. `rgba(...)`) are not composited against a background for APCA; results assume opaque colors.
package/dist/index.d.ts CHANGED
@@ -4,6 +4,46 @@ export interface Accessibility {
4
4
  aaa: boolean;
5
5
  aaaLarge: boolean;
6
6
  }
7
+ export interface ApcaEvaluation {
8
+ thresholdLc: number;
9
+ meets: boolean;
10
+ }
11
+ export type FontWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
12
+ export interface MinimumFontSize {
13
+ 100: number | "prohibited";
14
+ 200: number | "prohibited";
15
+ 300: number | "prohibited";
16
+ 400: number | "prohibited";
17
+ 500: number | "prohibited";
18
+ 600: number | "prohibited";
19
+ 700: number | "prohibited";
20
+ 800: number | "prohibited";
21
+ 900: number | "prohibited";
22
+ }
23
+ export interface ApcaOptions {
24
+ fontSize?: number;
25
+ fontWeight?: FontWeight;
26
+ }
27
+ export interface FontRequirement {
28
+ fontSize: number;
29
+ fontWeight: FontWeight;
30
+ minimumFontSize: number | "prohibited";
31
+ meetsRequirement: boolean;
32
+ }
33
+ export interface ApcaAccessibility {
34
+ lc: number;
35
+ polarity: "light-on-dark" | "dark-on-light";
36
+ minimumFontSize: MinimumFontSize;
37
+ fontRequirement?: FontRequirement;
38
+ readability: {
39
+ fluentText: ApcaEvaluation;
40
+ bodyText: ApcaEvaluation;
41
+ contentText: ApcaEvaluation;
42
+ largeText: ApcaEvaluation;
43
+ minimumText: ApcaEvaluation;
44
+ nonText: ApcaEvaluation;
45
+ };
46
+ }
7
47
  export interface Combination {
8
48
  accessibility: Accessibility;
9
49
  color?: number[];
@@ -11,6 +51,7 @@ export interface Combination {
11
51
  hex: string;
12
52
  model?: string;
13
53
  valpha?: number;
54
+ apca?: ApcaAccessibility;
14
55
  }
15
56
  export interface ColorCombo {
16
57
  color?: number[];
@@ -23,6 +64,7 @@ interface Options {
23
64
  threshold?: number;
24
65
  compact?: boolean;
25
66
  uniq?: boolean;
67
+ apca?: ApcaOptions;
26
68
  }
27
69
  declare const ColorCombos: (colors: string[] | {
28
70
  [name: string]: string;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var J2=Object.create;var{getPrototypeOf:q2,defineProperty:j,getOwnPropertyNames:l,getOwnPropertyDescriptor:G2}=Object,t=Object.prototype.hasOwnProperty;var E2=(Q,X,$)=>{$=Q!=null?J2(q2(Q)):{};let V=X||!Q||!Q.__esModule?j($,"default",{value:Q,enumerable:!0}):$;for(let W of l(Q))if(!t.call(V,W))j(V,W,{get:()=>Q[W],enumerable:!0});return V},s=new WeakMap,P2=(Q)=>{var X=s.get(Q),$;if(X)return X;if(X=j({},"__esModule",{value:!0}),Q&&typeof Q==="object"||typeof Q==="function")l(Q).map((V)=>!t.call(X,V)&&j(X,V,{get:()=>Q[V],enumerable:!($=G2(Q,V))||$.enumerable}));return s.set(Q,X),X},U2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var B2=(Q,X)=>{for(var $ in X)j(Q,$,{get:X[$],enumerable:!0,configurable:!0,set:(V)=>X[$]=()=>V})};var Y2=U2((u1,Z2)=>{var I2=200,b="__lodash_hash_undefined__",z2=1/0,M2="[object Function]",j2="[object GeneratorFunction]",w2=/[\\^$.*+?()[\]{}|]/g,k2=/^\[object .+?Constructor\]$/,C2=typeof global=="object"&&global&&global.Object===Object&&global,f2=typeof self=="object"&&self&&self.Object===Object&&self,h=C2||f2||Function("return this")();function x2(Q,X){var $=Q?Q.length:0;return!!$&&d2(Q,X,0)>-1}function p2(Q,X,$){var V=-1,W=Q?Q.length:0;while(++V<W)if($(X,Q[V]))return!0;return!1}function y2(Q,X,$,V){var W=Q.length,Y=$+(V?1:-1);while(V?Y--:++Y<W)if(X(Q[Y],Y,Q))return Y;return-1}function d2(Q,X,$){if(X!==X)return y2(Q,u2,$);var V=$-1,W=Q.length;while(++V<W)if(Q[V]===X)return V;return-1}function u2(Q){return Q!==Q}function v2(Q,X){return Q.has(X)}function m2(Q,X){return Q==null?void 0:Q[X]}function i2(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function X2(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(V){$[++X]=V}),$}var b2=Array.prototype,h2=Function.prototype,$2=Object.prototype,m=h["__core-js_shared__"],Q2=function(){var Q=/[^.]+$/.exec(m&&m.keys&&m.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),V2=h2.toString,g=$2.hasOwnProperty,g2=$2.toString,n2=RegExp("^"+V2.call(g).replace(w2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),c2=b2.splice,s2=n(h,"Map"),i=n(h,"Set"),w=n(Object,"create");function _(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function l2(){this.__data__=w?w(null):{}}function t2(Q){return this.has(Q)&&delete this.__data__[Q]}function o2(Q){var X=this.__data__;if(w){var $=X[Q];return $===b?void 0:$}return g.call(X,Q)?X[Q]:void 0}function a2(Q){var X=this.__data__;return w?X[Q]!==void 0:g.call(X,Q)}function r2(Q,X){var $=this.__data__;return $[Q]=w&&X===void 0?b:X,this}_.prototype.clear=l2;_.prototype.delete=t2;_.prototype.get=o2;_.prototype.has=a2;_.prototype.set=r2;function z(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function e2(){this.__data__=[]}function Q1(Q){var X=this.__data__,$=x(X,Q);if($<0)return!1;var V=X.length-1;if($==V)X.pop();else c2.call(X,$,1);return!0}function X1(Q){var X=this.__data__,$=x(X,Q);return $<0?void 0:X[$][1]}function $1(Q){return x(this.__data__,Q)>-1}function V1(Q,X){var $=this.__data__,V=x($,Q);if(V<0)$.push([Q,X]);else $[V][1]=X;return this}z.prototype.clear=e2;z.prototype.delete=Q1;z.prototype.get=X1;z.prototype.has=$1;z.prototype.set=V1;function M(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function W1(){this.__data__={hash:new _,map:new(s2||z),string:new _}}function Z1(Q){return p(this,Q).delete(Q)}function Y1(Q){return p(this,Q).get(Q)}function J1(Q){return p(this,Q).has(Q)}function q1(Q,X){return p(this,Q).set(Q,X),this}M.prototype.clear=W1;M.prototype.delete=Z1;M.prototype.get=Y1;M.prototype.has=J1;M.prototype.set=q1;function f(Q){var X=-1,$=Q?Q.length:0;this.__data__=new M;while(++X<$)this.add(Q[X])}function G1(Q){return this.__data__.set(Q,b),this}function E1(Q){return this.__data__.has(Q)}f.prototype.add=f.prototype.push=G1;f.prototype.has=E1;function x(Q,X){var $=Q.length;while($--)if(F1(Q[$][0],X))return $;return-1}function P1(Q){if(!W2(Q)||L1(Q))return!1;var X=D1(Q)||i2(Q)?n2:k2;return X.test(K1(Q))}function U1(Q,X,$){var V=-1,W=x2,Y=Q.length,Z=!0,J=[],q=J;if($)Z=!1,W=p2;else if(Y>=I2){var E=X?null:B1(Q);if(E)return X2(E);Z=!1,W=v2,q=new f}else q=X?[]:J;Q:while(++V<Y){var P=Q[V],R=X?X(P):P;if(P=$||P!==0?P:0,Z&&R===R){var k=q.length;while(k--)if(q[k]===R)continue Q;if(X)q.push(R);J.push(P)}else if(!W(q,R,$)){if(q!==J)q.push(R);J.push(P)}}return J}var B1=!(i&&1/X2(new i([,-0]))[1]==z2)?H1:function(Q){return new i(Q)};function p(Q,X){var $=Q.__data__;return R1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function n(Q,X){var $=m2(Q,X);return P1($)?$:void 0}function R1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function L1(Q){return!!Q2&&Q2 in Q}function K1(Q){if(Q!=null){try{return V2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function O1(Q){return Q&&Q.length?U1(Q):[]}function F1(Q,X){return Q===X||Q!==Q&&X!==X}function D1(Q){var X=W2(Q)?g2.call(Q):"";return X==M2||X==j2}function W2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function H1(){}Z2.exports=O1});var T1={};B2(T1,{default:()=>_1});module.exports=P2(T1);var F={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var o=Object.create(null);for(let Q in F)if(Object.hasOwn(F,Q))o[F[Q]]=Q;var K={to:{},get:{}};K.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,V;switch(X){case"hsl":{$=K.get.hsl(Q),V="hsl";break}case"hwb":{$=K.get.hwb(Q),V="hwb";break}default:{$=K.get.rgb(Q),V="rgb";break}}if(!$)return null;return{model:V,value:$}};K.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,V=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,W=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,Y=/^(\w+)$/,Z=[0,0,0,1],J,q,E;if(J=Q.match($)){E=J[2],J=J[1];for(q=0;q<3;q++){let P=q*2;Z[q]=Number.parseInt(J.slice(P,P+2),16)}if(E)Z[3]=Number.parseInt(E,16)/255}else if(J=Q.match(X)){J=J[1],E=J[3];for(q=0;q<3;q++)Z[q]=Number.parseInt(J[q]+J[q],16);if(E)Z[3]=Number.parseInt(E+E,16)/255}else if(J=Q.match(V)){for(q=0;q<3;q++)Z[q]=Number.parseFloat(J[q+1]);if(J[4])Z[3]=J[5]?Number.parseFloat(J[4])*0.01:Number.parseFloat(J[4])}else if(J=Q.match(W)){for(q=0;q<3;q++)Z[q]=Math.round(Number.parseFloat(J[q+1])*2.55);if(J[4])Z[3]=J[5]?Number.parseFloat(J[4])*0.01:Number.parseFloat(J[4])}else if(J=Q.toLowerCase().match(Y)){if(J[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(F,J[1]))return null;return Z=F[J[1]].slice(),Z[3]=1,Z}else return null;for(q=0;q<3;q++)Z[q]=A(Z[q],0,255);return Z[3]=A(Z[3],0,1),Z};K.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let V=Number.parseFloat($[4]),W=(Number.parseFloat($[1])%360+360)%360,Y=A(Number.parseFloat($[2]),0,100),Z=A(Number.parseFloat($[3]),0,100),J=A(Number.isNaN(V)?1:V,0,1);return[W,Y,Z,J]}return null};K.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let V=Number.parseFloat($[4]),W=(Number.parseFloat($[1])%360+360)%360,Y=A(Number.parseFloat($[2]),0,100),Z=A(Number.parseFloat($[3]),0,100),J=A(Number.isNaN(V)?1:V,0,1);return[W,Y,Z,J]}return null};K.to.hex=function(...Q){return"#"+C(Q[0])+C(Q[1])+C(Q[2])+(Q[3]<1?C(Math.round(Q[3]*255)):"")};K.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};K.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),V=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+V+"%)":"rgba("+X+"%, "+$+"%, "+V+"%, "+Q[3]+")"};K.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};K.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};K.to.keyword=function(...Q){return o[Q.slice(0,3)]};function A(Q,X,$){return Math.min(Math.max(X,Q),$)}function C(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var T=K;var a={};for(let Q of Object.keys(F))a[F[Q]]=Q;var G={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},H=G,D=0.008856451679035631;function S(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function N(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(G)){if(!("channels"in G[Q]))throw Error("missing channels property: "+Q);if(!("labels"in G[Q]))throw Error("missing channel labels property: "+Q);if(G[Q].labels.length!==G[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=G[Q];delete G[Q].channels,delete G[Q].labels,Object.defineProperty(G[Q],"channels",{value:X}),Object.defineProperty(G[Q],"labels",{value:$})}G.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.min(X,$,V),Y=Math.max(X,$,V),Z=Y-W,J,q;switch(Y){case W:{J=0;break}case X:{J=($-V)/Z;break}case $:{J=2+(V-X)/Z;break}case V:{J=4+(X-$)/Z;break}}if(J=Math.min(J*60,360),J<0)J+=360;let E=(W+Y)/2;if(Y===W)q=0;else if(E<=0.5)q=Z/(Y+W);else q=Z/(2-Y-W);return[J,q*100,E*100]};G.rgb.hsv=function(Q){let X,$,V,W,Y,Z=Q[0]/255,J=Q[1]/255,q=Q[2]/255,E=Math.max(Z,J,q),P=E-Math.min(Z,J,q),R=function(k){return(E-k)/6/P+0.5};if(P===0)W=0,Y=0;else{switch(Y=P/E,X=R(Z),$=R(J),V=R(q),E){case Z:{W=V-$;break}case J:{W=0.3333333333333333+X-V;break}case q:{W=0.6666666666666666+$-X;break}}if(W<0)W+=1;else if(W>1)W-=1}return[W*360,Y*100,E*100]};G.rgb.hwb=function(Q){let X=Q[0],$=Q[1],V=Q[2],W=G.rgb.hsl(Q)[0],Y=0.00392156862745098*Math.min(X,Math.min($,V));return V=1-0.00392156862745098*Math.max(X,Math.max($,V)),[W,Y*100,V*100]};G.rgb.oklab=function(Q){let X=N(Q[0]/255),$=N(Q[1]/255),V=N(Q[2]/255),W=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*V),Y=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*V),Z=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*V),J=0.2104542553*W+0.793617785*Y-0.0040720468*Z,q=1.9779984951*W-2.428592205*Y+0.4505937099*Z,E=0.0259040371*W+0.7827717662*Y-0.808675766*Z;return[J*100,q*100,E*100]};G.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.min(1-X,1-$,1-V),Y=(1-X-W)/(1-W)||0,Z=(1-$-W)/(1-W)||0,J=(1-V-W)/(1-W)||0;return[Y*100,Z*100,J*100,W*100]};function R2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}G.rgb.keyword=function(Q){let X=a[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,V;for(let W of Object.keys(F)){let Y=F[W],Z=R2(Q,Y);if(Z<$)$=Z,V=W}return V};G.keyword.rgb=function(Q){return[...F[Q]]};G.rgb.xyz=function(Q){let X=N(Q[0]/255),$=N(Q[1]/255),V=N(Q[2]/255),W=X*0.4124564+$*0.3575761+V*0.1804375,Y=X*0.2126729+$*0.7151522+V*0.072175,Z=X*0.0193339+$*0.119192+V*0.9503041;return[W*100,Y*100,Z*100]};G.rgb.lab=function(Q){let X=G.rgb.xyz(Q),$=X[0],V=X[1],W=X[2];$/=95.047,V/=100,W/=108.883,$=$>D?$**0.3333333333333333:7.787*$+0.13793103448275862,V=V>D?V**0.3333333333333333:7.787*V+0.13793103448275862,W=W>D?W**0.3333333333333333:7.787*W+0.13793103448275862;let Y=116*V-16,Z=500*($-V),J=200*(V-W);return[Y,Z,J]};G.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100,W,Y;if($===0)return Y=V*255,[Y,Y,Y];let Z=V<0.5?V*(1+$):V+$-V*$,J=2*V-Z,q=[0,0,0];for(let E=0;E<3;E++){if(W=X+0.3333333333333333*-(E-1),W<0)W++;if(W>1)W--;if(6*W<1)Y=J+(Z-J)*6*W;else if(2*W<1)Y=Z;else if(3*W<2)Y=J+(Z-J)*(0.6666666666666666-W)*6;else Y=J;q[E]=Y*255}return q};G.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,V=Q[2]/100,W=$,Y=Math.max(V,0.01);V*=2,$*=V<=1?V:2-V,W*=Y<=1?Y:2-Y;let Z=(V+$)/2,J=V===0?2*W/(Y+W):2*$/(V+$);return[X,J*100,Z*100]};G.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,V=Q[2]/100,W=Math.floor(X)%6,Y=X-Math.floor(X),Z=255*V*(1-$),J=255*V*(1-$*Y),q=255*V*(1-$*(1-Y));switch(V*=255,W){case 0:return[V,q,Z];case 1:return[J,V,Z];case 2:return[Z,V,q];case 3:return[Z,J,V];case 4:return[q,Z,V];case 5:return[V,Z,J]}};G.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,V=Q[2]/100,W=Math.max(V,0.01),Y,Z;Z=(2-$)*V;let J=(2-$)*W;return Y=$*W,Y/=J<=1?J:2-J,Y=Y||0,Z/=2,[X,Y*100,Z*100]};G.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100,W=$+V,Y;if(W>1)$/=W,V/=W;let Z=Math.floor(6*X),J=1-V;if(Y=6*X-Z,(Z&1)!==0)Y=1-Y;let q=$+Y*(J-$),E,P,R;switch(Z){default:case 6:case 0:{E=J,P=q,R=$;break}case 1:{E=q,P=J,R=$;break}case 2:{E=$,P=J,R=q;break}case 3:{E=$,P=q,R=J;break}case 4:{E=q,P=$,R=J;break}case 5:{E=J,P=$,R=q;break}}return[E*255,P*255,R*255]};G.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=Q[3]/100,Y=1-Math.min(1,X*(1-W)+W),Z=1-Math.min(1,$*(1-W)+W),J=1-Math.min(1,V*(1-W)+W);return[Y*255,Z*255,J*255]};G.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W,Y,Z;return W=X*3.2404542+$*-1.5371385+V*-0.4985314,Y=X*-0.969266+$*1.8760108+V*0.041556,Z=X*0.0556434+$*-0.2040259+V*1.0572252,W=S(W),Y=S(Y),Z=S(Z),[W*255,Y*255,Z*255]};G.xyz.lab=function(Q){let X=Q[0],$=Q[1],V=Q[2];X/=95.047,$/=100,V/=108.883,X=X>D?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>D?$**0.3333333333333333:7.787*$+0.13793103448275862,V=V>D?V**0.3333333333333333:7.787*V+0.13793103448275862;let W=116*$-16,Y=500*(X-$),Z=200*($-V);return[W,Y,Z]};G.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*V),Y=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*V),Z=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*V),J=0.2104542553*W+0.793617785*Y-0.0040720468*Z,q=1.9779984951*W-2.428592205*Y+0.4505937099*Z,E=0.0259040371*W+0.7827717662*Y-0.808675766*Z;return[J*100,q*100,E*100]};G.oklab.oklch=function(Q){return G.lab.lch(Q)};G.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=(0.999999998*X+0.396337792*$+0.215803758*V)**3,Y=(1.000000008*X-0.105561342*$-0.063854175*V)**3,Z=(1.000000055*X-0.089484182*$-1.291485538*V)**3,J=1.227013851*W-0.55779998*Y+0.281256149*Z,q=-0.040580178*W+1.11225687*Y-0.071676679*Z,E=-0.076381285*W-0.421481978*Y+1.58616322*Z;return[J*100,q*100,E*100]};G.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=(X+0.3963377774*$+0.2158037573*V)**3,Y=(X-0.1055613458*$-0.0638541728*V)**3,Z=(X-0.0894841775*$-1.291485548*V)**3,J=S(4.0767416621*W-3.3077115913*Y+0.2309699292*Z),q=S(-1.2684380046*W+2.6097574011*Y-0.3413193965*Z),E=S(-0.0041960863*W-0.7034186147*Y+1.707614701*Z);return[J*255,q*255,E*255]};G.oklch.oklab=function(Q){return G.lch.lab(Q)};G.lab.xyz=function(Q){let X=Q[0],$=Q[1],V=Q[2],W,Y,Z;Y=(X+16)/116,W=$/500+Y,Z=Y-V/200;let J=Y**3,q=W**3,E=Z**3;return Y=J>D?J:(Y-0.13793103448275862)/7.787,W=q>D?q:(W-0.13793103448275862)/7.787,Z=E>D?E:(Z-0.13793103448275862)/7.787,W*=95.047,Y*=100,Z*=108.883,[W,Y,Z]};G.lab.lch=function(Q){let X=Q[0],$=Q[1],V=Q[2],W;if(W=Math.atan2(V,$)*360/2/Math.PI,W<0)W+=360;let Z=Math.sqrt($*$+V*V);return[X,Z,W]};G.lch.lab=function(Q){let X=Q[0],$=Q[1],W=Q[2]/360*2*Math.PI,Y=$*Math.cos(W),Z=$*Math.sin(W);return[X,Y,Z]};G.rgb.ansi16=function(Q,X=null){let[$,V,W]=Q,Y=X===null?G.rgb.hsv(Q)[2]:X;if(Y=Math.round(Y/50),Y===0)return 30;let Z=30+(Math.round(W/255)<<2|Math.round(V/255)<<1|Math.round($/255));if(Y===2)Z+=60;return Z};G.hsv.ansi16=function(Q){return G.rgb.ansi16(G.hsv.rgb(Q),Q[2])};G.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],V=Q[2];if(X>>4===$>>4&&$>>4===V>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(V/255*5)};G.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,V=(X&1)*$*255,W=(X>>1&1)*$*255,Y=(X>>2&1)*$*255;return[V,W,Y]};G.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let Y=(Q-232)*10+8;return[Y,Y,Y]}Q-=16;let X,$=Math.floor(Q/36)/5*255,V=Math.floor((X=Q%36)/6)/5*255,W=X%6/5*255;return[$,V,W]};G.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};G.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((J)=>J+J).join("");let V=Number.parseInt($,16),W=V>>16&255,Y=V>>8&255,Z=V&255;return[W,Y,Z]};G.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.max(Math.max(X,$),V),Y=Math.min(Math.min(X,$),V),Z=W-Y,J,q=Z<1?Y/(1-Z):0;if(Z<=0)J=0;else if(W===X)J=($-V)/Z%6;else if(W===$)J=2+(V-X)/Z;else J=4+(X-$)/Z;return J/=6,J%=1,[J*360,Z*100,q*100]};G.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,V=$<0.5?2*X*$:2*X*(1-$),W=0;if(V<1)W=($-0.5*V)/(1-V);return[Q[0],V*100,W*100]};G.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X*$,W=0;if(V<1)W=($-V)/(1-V);return[Q[0],V*100,W*100]};G.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100;if($===0)return[V*255,V*255,V*255];let W=[0,0,0],Y=X%1*6,Z=Y%1,J=1-Z,q=0;switch(Math.floor(Y)){case 0:{W[0]=1,W[1]=Z,W[2]=0;break}case 1:{W[0]=J,W[1]=1,W[2]=0;break}case 2:{W[0]=0,W[1]=1,W[2]=Z;break}case 3:{W[0]=0,W[1]=J,W[2]=1;break}case 4:{W[0]=Z,W[1]=0,W[2]=1;break}default:W[0]=1,W[1]=0,W[2]=J}return q=(1-$)*V,[($*W[0]+q)*255,($*W[1]+q)*255,($*W[2]+q)*255]};G.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X+$*(1-X),W=0;if(V>0)W=X/V;return[Q[0],W*100,V*100]};G.hcg.hsl=function(Q){let X=Q[1]/100,V=Q[2]/100*(1-X)+0.5*X,W=0;if(V>0&&V<0.5)W=X/(2*V);else if(V>=0.5&&V<1)W=X/(2*(1-V));return[Q[0],W*100,V*100]};G.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X+$*(1-X);return[Q[0],(V-X)*100,(1-V)*100]};G.hwb.hcg=function(Q){let X=Q[1]/100,V=1-Q[2]/100,W=V-X,Y=0;if(W<1)Y=(V-W)/(1-W);return[Q[0],W*100,Y*100]};G.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};G.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};G.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};G.gray.hsl=function(Q){return[0,0,Q[0]]};G.gray.hsv=G.gray.hsl;G.gray.hwb=function(Q){return[0,100,Q[0]]};G.gray.cmyk=function(Q){return[0,0,0,Q[0]]};G.gray.lab=function(Q){return[Q[0],0,0]};G.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,V=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(V.length)+V};G.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function L2(){let Q={},X=Object.keys(H);for(let{length:$}=X,V=0;V<$;V++)Q[X[V]]={distance:-1,parent:null};return Q}function K2(Q){let X=L2(),$=[Q];X[Q].distance=0;while($.length>0){let V=$.pop(),W=Object.keys(H[V]);for(let{length:Y}=W,Z=0;Z<Y;Z++){let J=W[Z],q=X[J];if(q.distance===-1)q.distance=X[V].distance+1,q.parent=V,$.unshift(J)}}return X}function O2(Q,X){return function($){return X(Q($))}}function F2(Q,X){let $=[X[Q].parent,Q],V=H[X[Q].parent][Q],W=X[Q].parent;while(X[W].parent)$.unshift(X[W].parent),V=O2(H[X[W].parent][W],V),W=X[W].parent;return V.conversion=$,V}function D2(Q){let X=K2(Q),$={},V=Object.keys(X);for(let{length:W}=V,Y=0;Y<W;Y++){let Z=V[Y];if(X[Z].parent===null)continue;$[Z]=F2(Z,X)}return $}var r=D2;var I={},H2=Object.keys(H);function A2(Q){let X=function(...$){let V=$[0];if(V===void 0||V===null)return V;if(V.length>1)$=V;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function T2(Q){let X=function(...$){let V=$[0];if(V===void 0||V===null)return V;if(V.length>1)$=V;let W=Q($);if(typeof W==="object")for(let{length:Y}=W,Z=0;Z<Y;Z++)W[Z]=Math.round(W[Z]);return W};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of H2){I[Q]={},Object.defineProperty(I[Q],"channels",{value:H[Q].channels}),Object.defineProperty(I[Q],"labels",{value:H[Q].labels});let X=r(Q),$=Object.keys(X);for(let V of $){let W=X[V];I[Q][V]=T2(W),I[Q][V].raw=A2(W)}}var O=I;var e=["keyword","gray","hex"],y={};for(let Q of Object.keys(O))y[[...O[Q].labels].sort().join("")]=Q;var d={};function L(Q,X){if(!(this instanceof L))return new L(Q,X);if(X&&X in e)X=null;if(X&&!(X in O))throw Error("Unknown model: "+X);let $,V;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof L)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let W=T.get(Q);if(W===null)throw Error("Unable to parse color from string: "+Q);this.model=W.model,V=O[this.model].channels,this.color=W.value.slice(0,V),this.valpha=typeof W.value[V]==="number"?W.value[V]:1}else if(Q.length>0){this.model=X||"rgb",V=O[this.model].channels;let W=Array.prototype.slice.call(Q,0,V);this.color=u(W,V),this.valpha=typeof Q[V]==="number"?Q[V]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let W=Object.keys(Q);if("alpha"in Q)W.splice(W.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let Y=W.sort().join("");if(!(Y in y))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=y[Y];let{labels:Z}=O[this.model],J=[];for($=0;$<Z.length;$++)J.push(Q[Z[$]]);this.color=u(J)}if(d[this.model]){V=O[this.model].channels;for($=0;$<V;$++){let W=d[this.model][$];if(W)this.color[$]=W(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}L.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in T.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return T.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return T.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=O[this.model],{labels:$}=O[this.model];for(let V=0;V<X;V++)Q[$[V]]=this.color[V];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new L([...this.color.map(S2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new L([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:U("rgb",0,B(255)),green:U("rgb",1,B(255)),blue:U("rgb",2,B(255)),hue:U(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:U("hsl",1,B(100)),lightness:U("hsl",2,B(100)),saturationv:U("hsv",1,B(100)),value:U("hsv",2,B(100)),chroma:U("hcg",1,B(100)),gray:U("hcg",2,B(100)),white:U("hwb",1,B(100)),wblack:U("hwb",2,B(100)),cyan:U("cmyk",0,B(100)),magenta:U("cmyk",1,B(100)),yellow:U("cmyk",2,B(100)),black:U("cmyk",3,B(100)),x:U("xyz",0,B(95.047)),y:U("xyz",1,B(100)),z:U("xyz",2,B(108.833)),l:U("lab",0,B(100)),a:U("lab",1),b:U("lab",2),keyword(Q){if(Q!==void 0)return new L(Q);return O[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new L(Q);return T.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new L(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return T.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,V]of Q.entries()){let W=V/255;X[$]=W<=0.04045?W/12.92:((W+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return L.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),V=this.rgb(),W=X===void 0?0.5:X,Y=2*W-1,Z=$.alpha()-V.alpha(),J=((Y*Z===-1?Y:(Y+Z)/(1+Y*Z))+1)/2,q=1-J;return L.rgb(J*$.red()+q*V.red(),J*$.green()+q*V.green(),J*$.blue()+q*V.blue(),$.alpha()*W+V.alpha()*(1-W))}};for(let Q of Object.keys(O)){if(e.includes(Q))continue;let{channels:X}=O[Q];L.prototype[Q]=function(...$){if(this.model===Q)return new L(this);if($.length>0)return new L($,Q);return new L([...N2(O[this.model][Q].raw(this.color)),this.valpha],Q)},L[Q]=function(...$){let V=$[0];if(typeof V==="number")V=u($,X);return new L(V,Q)}}function _2(Q,X){return Number(Q.toFixed(X))}function S2(Q){return function(X){return _2(X,Q)}}function U(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let V of Q)(d[V]||=[])[X]=$;return Q=Q[0],function(V){let W;if(V!==void 0){if($)V=$(V);return W=this[Q](),W.color[X]=V,W}if(W=this[Q]().color[X],$)W=$(W);return W}}function B(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function N2(Q){return Array.isArray(Q)?Q:[Q]}function u(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var v=L;var c=E2(Y2(),1),A1=(Q,X={})=>{let $=[],V=[],W={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},Z=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let J=Q;if(Z.uniq)J=c.default(Q);if(J!==void 0)$=J.map((q)=>v(q))}else if(typeof Q==="object"){if($=Object.keys(Q).map((J)=>v(Q[J])),Z.uniq)$=c.default($)}else return console.error("Must provide an array or object"),!1;return V=$.map((J)=>{let q=Z.compact?{hex:"",combinations:[]}:{color:J.color,model:J.model,valpha:J.valpha,hex:"",combinations:[]};return q.hex=J.hex(),q.combinations=$.filter((E)=>J!==E).filter((E)=>{if(Z.threshold!==void 0)return J.contrast(E)>Z.threshold;return!0}).map((E)=>{let P=Z.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:E.color,model:E.model,valpha:E.valpha};return P=Object.assign(P,{hex:E.hex(),contrast:J.contrast(E)}),P.accessibility={aa:P.contrast>=W.aa,aaLarge:P.contrast>=W.aaLarge,aaa:P.contrast>=W.aaa,aaaLarge:P.contrast>=W.aaaLarge},P}),q}),V},_1=A1;
1
+ var G2=Object.create;var{getPrototypeOf:z2,defineProperty:u,getOwnPropertyNames:W2,getOwnPropertyDescriptor:j2}=Object,V2=Object.prototype.hasOwnProperty;var _2=(Q,X,$)=>{$=Q!=null?G2(z2(Q)):{};let Z=X||!Q||!Q.__esModule?u($,"default",{value:Q,enumerable:!0}):$;for(let J of W2(Q))if(!V2.call(Z,J))u(Z,J,{get:()=>Q[J],enumerable:!0});return Z},J2=new WeakMap,Y2=(Q)=>{var X=J2.get(Q),$;if(X)return X;if(X=u({},"__esModule",{value:!0}),Q&&typeof Q==="object"||typeof Q==="function")W2(Q).map((Z)=>!V2.call(X,Z)&&u(X,Z,{get:()=>Q[Z],enumerable:!($=j2(Q,Z))||$.enumerable}));return J2.set(Q,X),X},C2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var I2=(Q,X)=>{for(var $ in X)u(Q,$,{get:X[$],enumerable:!0,configurable:!0,set:(Z)=>X[$]=()=>Z})};var L2=C2((W5,P2)=>{var i2=200,r="__lodash_hash_undefined__",c2=1/0,n2="[object Function]",l2="[object GeneratorFunction]",s2=/[\\^$.*+?()[\]{}|]/g,t2=/^\[object .+?Constructor\]$/,o2=typeof global=="object"&&global&&global.Object===Object&&global,a2=typeof self=="object"&&self&&self.Object===Object&&self,Q2=o2||a2||Function("return this")();function e2(Q,X){var $=Q?Q.length:0;return!!$&&X1(Q,X,0)>-1}function r2(Q,X,$){var Z=-1,J=Q?Q.length:0;while(++Z<J)if($(X,Q[Z]))return!0;return!1}function Q1(Q,X,$,Z){var J=Q.length,V=$+(Z?1:-1);while(Z?V--:++V<J)if(X(Q[V],V,Q))return V;return-1}function X1(Q,X,$){if(X!==X)return Q1(Q,$1,$);var Z=$-1,J=Q.length;while(++Z<J)if(Q[Z]===X)return Z;return-1}function $1(Q){return Q!==Q}function Z1(Q,X){return Q.has(X)}function J1(Q,X){return Q==null?void 0:Q[X]}function W1(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function O2(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(Z){$[++X]=Z}),$}var V1=Array.prototype,q1=Function.prototype,N2=Object.prototype,a=Q2["__core-js_shared__"],E2=function(){var Q=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),T2=q1.toString,X2=N2.hasOwnProperty,U1=N2.toString,K1=RegExp("^"+T2.call(X2).replace(s2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),R1=V1.splice,B1=$2(Q2,"Map"),e=$2(Q2,"Set"),m=$2(Object,"create");function w(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function D1(){this.__data__=m?m(null):{}}function H1(Q){return this.has(Q)&&delete this.__data__[Q]}function E1(Q){var X=this.__data__;if(m){var $=X[Q];return $===r?void 0:$}return X2.call(X,Q)?X[Q]:void 0}function O1(Q){var X=this.__data__;return m?X[Q]!==void 0:X2.call(X,Q)}function N1(Q,X){var $=this.__data__;return $[Q]=m&&X===void 0?r:X,this}w.prototype.clear=D1;w.prototype.delete=H1;w.prototype.get=E1;w.prototype.has=O1;w.prototype.set=N1;function p(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function T1(){this.__data__=[]}function F1(Q){var X=this.__data__,$=i(X,Q);if($<0)return!1;var Z=X.length-1;if($==Z)X.pop();else R1.call(X,$,1);return!0}function P1(Q){var X=this.__data__,$=i(X,Q);return $<0?void 0:X[$][1]}function L1(Q){return i(this.__data__,Q)>-1}function M1(Q,X){var $=this.__data__,Z=i($,Q);if(Z<0)$.push([Q,X]);else $[Z][1]=X;return this}p.prototype.clear=T1;p.prototype.delete=F1;p.prototype.get=P1;p.prototype.has=L1;p.prototype.set=M1;function v(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function G1(){this.__data__={hash:new w,map:new(B1||p),string:new w}}function z1(Q){return c(this,Q).delete(Q)}function j1(Q){return c(this,Q).get(Q)}function _1(Q){return c(this,Q).has(Q)}function Y1(Q,X){return c(this,Q).set(Q,X),this}v.prototype.clear=G1;v.prototype.delete=z1;v.prototype.get=j1;v.prototype.has=_1;v.prototype.set=Y1;function g(Q){var X=-1,$=Q?Q.length:0;this.__data__=new v;while(++X<$)this.add(Q[X])}function C1(Q){return this.__data__.set(Q,r),this}function I1(Q){return this.__data__.has(Q)}g.prototype.add=g.prototype.push=C1;g.prototype.has=I1;function i(Q,X){var $=Q.length;while($--)if(y1(Q[$][0],X))return $;return-1}function S1(Q){if(!F2(Q)||f1(Q))return!1;var X=p1(Q)||W1(Q)?K1:t2;return X.test(x1(Q))}function k1(Q,X,$){var Z=-1,J=e2,V=Q.length,W=!0,q=[],U=q;if($)W=!1,J=r2;else if(V>=i2){var K=X?null:w1(Q);if(K)return O2(K);W=!1,J=Z1,U=new g}else U=X?[]:q;Q:while(++Z<V){var D=Q[Z],H=X?X(D):D;if(D=$||D!==0?D:0,W&&H===H){var N=U.length;while(N--)if(U[N]===H)continue Q;if(X)U.push(H);q.push(D)}else if(!J(U,H,$)){if(U!==q)U.push(H);q.push(D)}}return q}var w1=!(e&&1/O2(new e([,-0]))[1]==c2)?v1:function(Q){return new e(Q)};function c(Q,X){var $=Q.__data__;return A1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function $2(Q,X){var $=J1(Q,X);return S1($)?$:void 0}function A1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function f1(Q){return!!E2&&E2 in Q}function x1(Q){if(Q!=null){try{return T2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function d1(Q){return Q&&Q.length?k1(Q):[]}function y1(Q,X){return Q===X||Q!==Q&&X!==X}function p1(Q){var X=F2(Q)?U1.call(Q):"";return X==n2||X==l2}function F2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function v1(){}P2.exports=d1});var m1={};I2(m1,{default:()=>h1});module.exports=Y2(m1);function n(Q){if(typeof Q==="string")return S2(Q);else if(typeof Q==="number")return[(Q&16711680)>>16,(Q&65280)>>8,Q&255,1,!0,"unknown"];else if(typeof Q==="object"){if(Array.isArray(Q))return Q;else if(!isNaN(Q.r)||!isNaN(Q.red)){let X=[0,0,0,0,!1,"unknown"];return X[0]=Q.r?Q.r:Q.red?Q.red:!1,X[1]=Q.g?Q.g:Q.green?Q.green:!1,X[2]=Q.b?Q.b:Q.blue?Q.blue:!1,X[3]=Q.a?Q.a:Q.alpha?Q.alpha:1,X[4]=X[0]&&X[1]&&X[2]?!0:!1,X[5]=Q.space?Q.space:Q.colorSpace?Q.colorSpace:Q.colorspace?Q.colorspace:"unknown",X}}return console.log("colorParsley error: invalid input"),[0,0,0,0,!1,"inputError"]}function S2(Q="#abcdef"){Q=Q.replace(/[^\w,.#%()\/ -]/g,""),Q=Q.toLowerCase();let X=!1,Z=[0,0,0,0,X,"sRGB"];if(Q.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)){let W={gray0:"000000",gray1:"111111",gray2:"222222",gray3:"333333",gray4:"444444",gray5:"555555",gray6:"666666",gray7:"777777",gray8:"888888",gray9:"999999",graya:"aaaaaa",grayb:"bbbbbb",grayc:"cccccc",grayd:"dddddd",graye:"eeeeee",grayf:"ffffff",midgray:"a0a0a0",grey0:"000000",grey1:"111111",grey2:"222222",grey3:"333333",grey4:"444444",grey5:"555555",grey6:"666666",grey7:"777777",grey8:"888888",grey9:"999999",greya:"aaaaaa",greyb:"bbbbbb",greyc:"cccccc",greyd:"dddddd",greye:"eeeeee",greyf:"ffffff",midgrey:"a0a0a0",aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(let q in W)if(Q==q){let U={rex:/^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,sprig:function(D){for(let H=0;H<3;H++)Z[H]=parseInt(D[H+1],16);return Z[3]=1,!0}},K=U.rex.exec(W[q]);return Z[4]=X=U.sprig(K),Z}}let J={rex:/(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,parsley:function(W){let q=0,U=0,K=10,D=100,H=2.55,N="1";if(W[23])N=W[23],delete W[23];Z[3]=N.match(/%/g)?parseFloat(N)/D:parseFloat(N);for(let B=1;B<W.length;B++)if(W[B])q=q?q:B,U=B;switch(U){case 4:K=16,D=15,Z[3]=parseInt(W[U],K)/D;case 3:K=16;for(let B=0;B<3;B++)Z[B]=parseInt(W[q+B]+W[q+B],K);break;case 5:K=16;case 9:Z[0]=Z[1]=Z[2]=K==10?parseFloat(W[U]):parseInt(W[U],K);break;case 12:Z[0]=Z[1]=Z[2]=parseFloat(W[U])*H;break;case 8:K=16,D=255,Z[3]=parseInt(W[8],K)/D;case 7:K=16;case 11:for(let B=0;B<3;B++)Z[B]=K==10?parseFloat(W[q+B]):parseInt(W[q+B],K);break;case 14:for(let B=0;B<3;B++)Z[B]=parseFloat(W[q+B])*H;break;case 18:Z[5]=W[15];for(let B=0;B<3;B++)q++,Z[B]=W[q].match(/%/g)?parseFloat(W[q])*2.55:parseFloat(W[q])*255;break;case 22:Z[5]=W[q];for(let B=0;B<3;B++)q++,Z[B]=W[q]?W[q].match(/%/g)?parseFloat(W[q])/D:parseFloat(W[q]):0;if(Z[5].match(/^(?:hsla?|hwba?)/i)){let j=function(h){let f=(h+A/30)%12,M2=B*Math.min(_,1-_);return _-M2*Math.max(-1,Math.min(f-3,9-f,1))},B,_,T,L,I,A=Z[0]%360;if(A<0)A+=360;if(Z[5].match(/^hsla?/i))B=Z[1],_=Z[2],T=0,I=1;else if(Z[5].match(/^hwba?/i)){if(T=Z[1],L=Z[2],T+L>=1){Z[0]=Z[1]=Z[2]=T/(T+L),Z[5]="sRGB";break}B=1,_=0.5,I=1-T-L}Z[0]=Math.round(255*(j(0)*I+T)),Z[1]=Math.round(255*(j(8)*I+T)),Z[2]=Math.round(255*(j(4)*I+T)),Z[5]="sRGB"}break}return!0}},V=J.rex.exec(Q);if(V)return Z[4]=X=J.parsley(V),Z;else return X=!1,console.log("colorParsley error: unable to parse string"),[0,0,0,0,X,"parsleyError"]}var O={mainTRC:2.4,get mainTRCencode(){return 1/this.mainTRC},sRco:0.2126729,sGco:0.7151522,sBco:0.072175,normBG:0.56,normTXT:0.57,revTXT:0.62,revBG:0.65,blkThrs:0.022,blkClmp:1.414,scaleBoW:1.14,scaleWoB:1.14,loBoWoffset:0.027,loWoBoffset:0.027,deltaYmin:0.0005,loClip:0.1,mFactor:1.9468554433171,get mFactInv(){return 1/this.mFactor},mOffsetIn:0.0387393816571401,mExpAdj:0.283343396420869,get mExp(){return this.mExpAdj/this.blkClmp},mOffsetOut:0.312865795870758};function k2(Q,X,$=-1){let Z=[0,1.1];if(isNaN(Q)||isNaN(X)||Math.min(Q,X)<Z[0]||Math.max(Q,X)>Z[1])return 0;let J=0,V=0,W="BoW";if(Q=Q>O.blkThrs?Q:Q+Math.pow(O.blkThrs-Q,O.blkClmp),X=X>O.blkThrs?X:X+Math.pow(O.blkThrs-X,O.blkClmp),Math.abs(X-Q)<O.deltaYmin)return 0;if(X>Q)J=(Math.pow(X,O.normBG)-Math.pow(Q,O.normTXT))*O.scaleBoW,V=J<O.loClip?0:J-O.loBoWoffset;else W="WoB",J=(Math.pow(X,O.revBG)-Math.pow(Q,O.revTXT))*O.scaleWoB,V=J>-O.loClip?0:J+O.loWoBoffset;if($<0)return V*100;else if($==0)return Math.round(Math.abs(V)*100)+"<sub>"+W+"</sub>";else if(Number.isInteger($))return(V*100).toFixed($);else return 0}function U2(Q,X,$=-1,Z=!0){let J=n(X),V=n(Q);if(V[3]==""||V[3]==1?!1:!0)V=w2(V,J,Z);return k2(q2(V),q2(J),$)}function K2(Q,X=2){let $=[["Lc",100,200,300,400,500,600,700,800,900],[0,999,999,999,999,999,999,999,999,999],[10,999,999,999,999,999,999,999,999,999],[15,777,777,777,777,777,777,777,777,777],[20,777,777,777,777,777,777,777,777,777],[25,777,777,777,120,120,108,96,96,96],[30,777,777,120,108,108,96,72,72,72],[35,777,120,108,96,72,60,48,48,48],[40,120,108,96,60,48,42,32,32,32],[45,108,96,72,42,32,28,24,24,24],[50,96,72,60,32,28,24,21,21,21],[55,80,60,48,28,24,21,18,18,18],[60,72,48,42,24,21,18,16,16,18],[65,68,46,32,21.75,19,17,15,16,18],[70,64,44,28,19.5,18,16,14.5,16,18],[75,60,42,24,18,16,15,14,16,18],[80,56,38.25,23,17.25,15.81,14.81,14,16,18],[85,52,34.5,22,16.5,15.625,14.625,14,16,18],[90,48,32,21,16,15.5,14.5,14,16,18],[95,45,28,19.5,15.5,15,14,13.5,16,18],[100,42,26.5,18.5,15,14.5,13.5,13,16,18],[105,39,25,18,14.5,14,13,12,16,18],[110,36,24,18,14,13,12,11,16,18],[115,34.5,22.5,17.25,12.5,11.875,11.25,10.625,14.5,16.5],[120,33,21,16.5,11,10.75,10.5,10.25,13,15],[125,32,20,16,10,10,10,10,12,14]],Z=[["∆Lc",100,200,300,400,500,600,700,800,900],[0,0,0,0,0,0,0,0,0,0],[10,0,0,0,0,0,0,0,0,0],[15,0,0,0,0,0,0,0,0,0],[20,0,0,0,0,0,0,0,0,0],[25,0,0,0,12,12,12,24,24,24],[30,0,0,12,12,36,36,24,24,24],[35,0,12,12,36,24,18,16,16,16],[40,12,12,24,18,16,14,8,8,8],[45,12,24,12,10,4,4,3,3,3],[50,16,12,12,4,4,3,3,3,3],[55,8,12,6,4,3,3,2,2,0],[60,4,2,10,2.25,2,1,1,0,0],[65,4,2,4,2.25,1,1,0.5,0,0],[70,4,2,4,1.5,2,1,0.5,0,0],[75,4,3.75,1,0.75,0.188,0.188,0,0,0],[80,4,3.75,1,0.75,0.188,0.188,0,0,0],[85,4,2.5,1,0.5,0.125,0.125,0,0,0],[90,3,4,1.5,0.5,0.5,0.5,0.5,0,0],[95,3,1.5,1,0.5,0.5,0.5,0.5,0,0],[100,3,1.5,0.5,0.5,0.5,0.5,1,0,0],[105,3,1,0,0.5,1,1,1,0,0],[110,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[115,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[120,1,1,0.5,1,0.75,0.5,0.25,1,1],[125,0,0,0,0,0,0,0,0,0]],V=[0,100,200,300,400,500,600,700,800,900].length,W=[Q.toFixed(X),0,0,0,0,0,0,0,0,0],q=W.length,K=["lc",0,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125].length,D=777;Q=Math.abs(Q);let H=0.2,N=Q==0?1:Q*H|0,B=0,_=(Q-$[N][B])*H;B++;for(;B<V;B++)if(D=$[N][B],D>400)W[B]=D;else if(Q<14.5)W[B]=999;else if(Q<29.5)W[B]=777;else D>24?W[B]=Math.round(D-Z[N][B]*_):W[B]=D-(2*Z[N][B]*_|0)*0.5;return W}function q2(Q=[0,0,0]){function X($){return Math.pow($/255,O.mainTRC)}return O.sRco*X(Q[0])+O.sGco*X(Q[1])+O.sBco*X(Q[2])}function w2(Q=[0,0,0,1],X=[0,0,0],$=!0){Q[3]=Math.max(Math.min(Q[3],1),0);let Z=1-Q[3],J=[0,0,0,1,!0];for(let V=0;V<3;V++)if(J[V]=X[V]*Z+Q[V]*Q[3],$)J[V]=Math.min(Math.round(J[V]),255);return J}var z={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var R2=Object.create(null);for(let Q in z)if(Object.hasOwn(z,Q))R2[z[Q]]=Q;var M={to:{},get:{}};M.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,Z;switch(X){case"hsl":{$=M.get.hsl(Q),Z="hsl";break}case"hwb":{$=M.get.hwb(Q),Z="hwb";break}default:{$=M.get.rgb(Q),Z="rgb";break}}if(!$)return null;return{model:Z,value:$}};M.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Z=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,J=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,V=/^(\w+)$/,W=[0,0,0,1],q,U,K;if(q=Q.match($)){K=q[2],q=q[1];for(U=0;U<3;U++){let D=U*2;W[U]=Number.parseInt(q.slice(D,D+2),16)}if(K)W[3]=Number.parseInt(K,16)/255}else if(q=Q.match(X)){q=q[1],K=q[3];for(U=0;U<3;U++)W[U]=Number.parseInt(q[U]+q[U],16);if(K)W[3]=Number.parseInt(K+K,16)/255}else if(q=Q.match(Z)){for(U=0;U<3;U++)W[U]=Number.parseFloat(q[U+1]);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.match(J)){for(U=0;U<3;U++)W[U]=Math.round(Number.parseFloat(q[U+1])*2.55);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.toLowerCase().match(V)){if(q[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(z,q[1]))return null;return W=z[q[1]].slice(),W[3]=1,W}else return null;for(U=0;U<3;U++)W[U]=S(W[U],0,255);return W[3]=S(W[3],0,1),W};M.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.to.hex=function(...Q){return"#"+b(Q[0])+b(Q[1])+b(Q[2])+(Q[3]<1?b(Math.round(Q[3]*255)):"")};M.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};M.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),Z=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+Z+"%)":"rgba("+X+"%, "+$+"%, "+Z+"%, "+Q[3]+")"};M.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};M.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};M.to.keyword=function(...Q){return R2[Q.slice(0,3)]};function S(Q,X,$){return Math.min(Math.max(X,Q),$)}function b(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var k=M;var B2={};for(let Q of Object.keys(z))B2[z[Q]]=Q;var R={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},C=R,Y=0.008856451679035631;function x(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function d(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(R)){if(!("channels"in R[Q]))throw Error("missing channels property: "+Q);if(!("labels"in R[Q]))throw Error("missing channel labels property: "+Q);if(R[Q].labels.length!==R[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=R[Q];delete R[Q].channels,delete R[Q].labels,Object.defineProperty(R[Q],"channels",{value:X}),Object.defineProperty(R[Q],"labels",{value:$})}R.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(X,$,Z),V=Math.max(X,$,Z),W=V-J,q,U;switch(V){case J:{q=0;break}case X:{q=($-Z)/W;break}case $:{q=2+(Z-X)/W;break}case Z:{q=4+(X-$)/W;break}}if(q=Math.min(q*60,360),q<0)q+=360;let K=(J+V)/2;if(V===J)U=0;else if(K<=0.5)U=W/(V+J);else U=W/(2-V-J);return[q,U*100,K*100]};R.rgb.hsv=function(Q){let X,$,Z,J,V,W=Q[0]/255,q=Q[1]/255,U=Q[2]/255,K=Math.max(W,q,U),D=K-Math.min(W,q,U),H=function(N){return(K-N)/6/D+0.5};if(D===0)J=0,V=0;else{switch(V=D/K,X=H(W),$=H(q),Z=H(U),K){case W:{J=Z-$;break}case q:{J=0.3333333333333333+X-Z;break}case U:{J=0.6666666666666666+$-X;break}}if(J<0)J+=1;else if(J>1)J-=1}return[J*360,V*100,K*100]};R.rgb.hwb=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J=R.rgb.hsl(Q)[0],V=0.00392156862745098*Math.min(X,Math.min($,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max($,Z)),[J,V*100,Z*100]};R.rgb.oklab=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*Z),V=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*Z),W=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(1-X,1-$,1-Z),V=(1-X-J)/(1-J)||0,W=(1-$-J)/(1-J)||0,q=(1-Z-J)/(1-J)||0;return[V*100,W*100,q*100,J*100]};function A2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}R.rgb.keyword=function(Q){let X=B2[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,Z;for(let J of Object.keys(z)){let V=z[J],W=A2(Q,V);if(W<$)$=W,Z=J}return Z};R.keyword.rgb=function(Q){return[...z[Q]]};R.rgb.xyz=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=X*0.4124564+$*0.3575761+Z*0.1804375,V=X*0.2126729+$*0.7151522+Z*0.072175,W=X*0.0193339+$*0.119192+Z*0.9503041;return[J*100,V*100,W*100]};R.rgb.lab=function(Q){let X=R.rgb.xyz(Q),$=X[0],Z=X[1],J=X[2];$/=95.047,Z/=100,J/=108.883,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>Y?J**0.3333333333333333:7.787*J+0.13793103448275862;let V=116*Z-16,W=500*($-Z),q=200*(Z-J);return[V,W,q]};R.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J,V;if($===0)return V=Z*255,[V,V,V];let W=Z<0.5?Z*(1+$):Z+$-Z*$,q=2*Z-W,U=[0,0,0];for(let K=0;K<3;K++){if(J=X+0.3333333333333333*-(K-1),J<0)J++;if(J>1)J--;if(6*J<1)V=q+(W-q)*6*J;else if(2*J<1)V=W;else if(3*J<2)V=q+(W-q)*(0.6666666666666666-J)*6;else V=q;U[K]=V*255}return U};R.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=$,V=Math.max(Z,0.01);Z*=2,$*=Z<=1?Z:2-Z,J*=V<=1?V:2-V;let W=(Z+$)/2,q=Z===0?2*J/(V+J):2*$/(Z+$);return[X,q*100,W*100]};R.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,Z=Q[2]/100,J=Math.floor(X)%6,V=X-Math.floor(X),W=255*Z*(1-$),q=255*Z*(1-$*V),U=255*Z*(1-$*(1-V));switch(Z*=255,J){case 0:return[Z,U,W];case 1:return[q,Z,W];case 2:return[W,Z,U];case 3:return[W,q,Z];case 4:return[U,W,Z];case 5:return[Z,W,q]}};R.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=Math.max(Z,0.01),V,W;W=(2-$)*Z;let q=(2-$)*J;return V=$*J,V/=q<=1?q:2-q,V=V||0,W/=2,[X,V*100,W*100]};R.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J=$+Z,V;if(J>1)$/=J,Z/=J;let W=Math.floor(6*X),q=1-Z;if(V=6*X-W,(W&1)!==0)V=1-V;let U=$+V*(q-$),K,D,H;switch(W){default:case 6:case 0:{K=q,D=U,H=$;break}case 1:{K=U,D=q,H=$;break}case 2:{K=$,D=q,H=U;break}case 3:{K=$,D=U,H=q;break}case 4:{K=U,D=$,H=q;break}case 5:{K=q,D=$,H=U;break}}return[K*255,D*255,H*255]};R.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Q[3]/100,V=1-Math.min(1,X*(1-J)+J),W=1-Math.min(1,$*(1-J)+J),q=1-Math.min(1,Z*(1-J)+J);return[V*255,W*255,q*255]};R.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J,V,W;return J=X*3.2404542+$*-1.5371385+Z*-0.4985314,V=X*-0.969266+$*1.8760108+Z*0.041556,W=X*0.0556434+$*-0.2040259+Z*1.0572252,J=x(J),V=x(V),W=x(W),[J*255,V*255,W*255]};R.xyz.lab=function(Q){let X=Q[0],$=Q[1],Z=Q[2];X/=95.047,$/=100,Z/=108.883,X=X>Y?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*$-16,V=500*(X-$),W=200*($-Z);return[J,V,W]};R.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*Z),V=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*Z),W=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.oklab.oklch=function(Q){return R.lab.lch(Q)};R.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(0.999999998*X+0.396337792*$+0.215803758*Z)**3,V=(1.000000008*X-0.105561342*$-0.063854175*Z)**3,W=(1.000000055*X-0.089484182*$-1.291485538*Z)**3,q=1.227013851*J-0.55779998*V+0.281256149*W,U=-0.040580178*J+1.11225687*V-0.071676679*W,K=-0.076381285*J-0.421481978*V+1.58616322*W;return[q*100,U*100,K*100]};R.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(X+0.3963377774*$+0.2158037573*Z)**3,V=(X-0.1055613458*$-0.0638541728*Z)**3,W=(X-0.0894841775*$-1.291485548*Z)**3,q=x(4.0767416621*J-3.3077115913*V+0.2309699292*W),U=x(-1.2684380046*J+2.6097574011*V-0.3413193965*W),K=x(-0.0041960863*J-0.7034186147*V+1.707614701*W);return[q*255,U*255,K*255]};R.oklch.oklab=function(Q){return R.lch.lab(Q)};R.lab.xyz=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J,V,W;V=(X+16)/116,J=$/500+V,W=V-Z/200;let q=V**3,U=J**3,K=W**3;return V=q>Y?q:(V-0.13793103448275862)/7.787,J=U>Y?U:(J-0.13793103448275862)/7.787,W=K>Y?K:(W-0.13793103448275862)/7.787,J*=95.047,V*=100,W*=108.883,[J,V,W]};R.lab.lch=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J;if(J=Math.atan2(Z,$)*360/2/Math.PI,J<0)J+=360;let W=Math.sqrt($*$+Z*Z);return[X,W,J]};R.lch.lab=function(Q){let X=Q[0],$=Q[1],J=Q[2]/360*2*Math.PI,V=$*Math.cos(J),W=$*Math.sin(J);return[X,V,W]};R.rgb.ansi16=function(Q,X=null){let[$,Z,J]=Q,V=X===null?R.rgb.hsv(Q)[2]:X;if(V=Math.round(V/50),V===0)return 30;let W=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round($/255));if(V===2)W+=60;return W};R.hsv.ansi16=function(Q){return R.rgb.ansi16(R.hsv.rgb(Q),Q[2])};R.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],Z=Q[2];if(X>>4===$>>4&&$>>4===Z>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(Z/255*5)};R.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,Z=(X&1)*$*255,J=(X>>1&1)*$*255,V=(X>>2&1)*$*255;return[Z,J,V]};R.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let V=(Q-232)*10+8;return[V,V,V]}Q-=16;let X,$=Math.floor(Q/36)/5*255,Z=Math.floor((X=Q%36)/6)/5*255,J=X%6/5*255;return[$,Z,J]};R.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};R.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((q)=>q+q).join("");let Z=Number.parseInt($,16),J=Z>>16&255,V=Z>>8&255,W=Z&255;return[J,V,W]};R.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.max(Math.max(X,$),Z),V=Math.min(Math.min(X,$),Z),W=J-V,q,U=W<1?V/(1-W):0;if(W<=0)q=0;else if(J===X)q=($-Z)/W%6;else if(J===$)q=2+(Z-X)/W;else q=4+(X-$)/W;return q/=6,q%=1,[q*360,W*100,U*100]};R.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=$<0.5?2*X*$:2*X*(1-$),J=0;if(Z<1)J=($-0.5*Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X*$,J=0;if(Z<1)J=($-Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100;if($===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],V=X%1*6,W=V%1,q=1-W,U=0;switch(Math.floor(V)){case 0:{J[0]=1,J[1]=W,J[2]=0;break}case 1:{J[0]=q,J[1]=1,J[2]=0;break}case 2:{J[0]=0,J[1]=1,J[2]=W;break}case 3:{J[0]=0,J[1]=q,J[2]=1;break}case 4:{J[0]=W,J[1]=0,J[2]=1;break}default:J[0]=1,J[1]=0,J[2]=q}return U=(1-$)*Z,[($*J[0]+U)*255,($*J[1]+U)*255,($*J[2]+U)*255]};R.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X),J=0;if(Z>0)J=X/Z;return[Q[0],J*100,Z*100]};R.hcg.hsl=function(Q){let X=Q[1]/100,Z=Q[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[Q[0],J*100,Z*100]};R.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X);return[Q[0],(Z-X)*100,(1-Z)*100]};R.hwb.hcg=function(Q){let X=Q[1]/100,Z=1-Q[2]/100,J=Z-X,V=0;if(J<1)V=(Z-J)/(1-J);return[Q[0],J*100,V*100]};R.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};R.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};R.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};R.gray.hsl=function(Q){return[0,0,Q[0]]};R.gray.hsv=R.gray.hsl;R.gray.hwb=function(Q){return[0,100,Q[0]]};R.gray.cmyk=function(Q){return[0,0,0,Q[0]]};R.gray.lab=function(Q){return[Q[0],0,0]};R.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(Z.length)+Z};R.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function f2(){let Q={},X=Object.keys(C);for(let{length:$}=X,Z=0;Z<$;Z++)Q[X[Z]]={distance:-1,parent:null};return Q}function x2(Q){let X=f2(),$=[Q];X[Q].distance=0;while($.length>0){let Z=$.pop(),J=Object.keys(C[Z]);for(let{length:V}=J,W=0;W<V;W++){let q=J[W],U=X[q];if(U.distance===-1)U.distance=X[Z].distance+1,U.parent=Z,$.unshift(q)}}return X}function d2(Q,X){return function($){return X(Q($))}}function y2(Q,X){let $=[X[Q].parent,Q],Z=C[X[Q].parent][Q],J=X[Q].parent;while(X[J].parent)$.unshift(X[J].parent),Z=d2(C[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=$,Z}function p2(Q){let X=x2(Q),$={},Z=Object.keys(X);for(let{length:J}=Z,V=0;V<J;V++){let W=Z[V];if(X[W].parent===null)continue;$[W]=y2(W,X)}return $}var D2=p2;var y={},v2=Object.keys(C);function u2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function m2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;let J=Q($);if(typeof J==="object")for(let{length:V}=J,W=0;W<V;W++)J[W]=Math.round(J[W]);return J};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of v2){y[Q]={},Object.defineProperty(y[Q],"channels",{value:C[Q].channels}),Object.defineProperty(y[Q],"labels",{value:C[Q].labels});let X=D2(Q),$=Object.keys(X);for(let Z of $){let J=X[Z];y[Q][Z]=m2(J),y[Q][Z].raw=u2(J)}}var G=y;var H2=["keyword","gray","hex"],l={};for(let Q of Object.keys(G))l[[...G[Q].labels].sort().join("")]=Q;var s={};function P(Q,X){if(!(this instanceof P))return new P(Q,X);if(X&&X in H2)X=null;if(X&&!(X in G))throw Error("Unknown model: "+X);let $,Z;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof P)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let J=k.get(Q);if(J===null)throw Error("Unable to parse color from string: "+Q);this.model=J.model,Z=G[this.model].channels,this.color=J.value.slice(0,Z),this.valpha=typeof J.value[Z]==="number"?J.value[Z]:1}else if(Q.length>0){this.model=X||"rgb",Z=G[this.model].channels;let J=Array.prototype.slice.call(Q,0,Z);this.color=t(J,Z),this.valpha=typeof Q[Z]==="number"?Q[Z]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let J=Object.keys(Q);if("alpha"in Q)J.splice(J.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let V=J.sort().join("");if(!(V in l))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=l[V];let{labels:W}=G[this.model],q=[];for($=0;$<W.length;$++)q.push(Q[W[$]]);this.color=t(q)}if(s[this.model]){Z=G[this.model].channels;for($=0;$<Z;$++){let J=s[this.model][$];if(J)this.color[$]=J(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}P.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in k.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return k.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return k.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=G[this.model],{labels:$}=G[this.model];for(let Z=0;Z<X;Z++)Q[$[Z]]=this.color[Z];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new P([...this.color.map(b2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new P([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:E("rgb",0,F(255)),green:E("rgb",1,F(255)),blue:E("rgb",2,F(255)),hue:E(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:E("hsl",1,F(100)),lightness:E("hsl",2,F(100)),saturationv:E("hsv",1,F(100)),value:E("hsv",2,F(100)),chroma:E("hcg",1,F(100)),gray:E("hcg",2,F(100)),white:E("hwb",1,F(100)),wblack:E("hwb",2,F(100)),cyan:E("cmyk",0,F(100)),magenta:E("cmyk",1,F(100)),yellow:E("cmyk",2,F(100)),black:E("cmyk",3,F(100)),x:E("xyz",0,F(95.047)),y:E("xyz",1,F(100)),z:E("xyz",2,F(108.833)),l:E("lab",0,F(100)),a:E("lab",1),b:E("lab",2),keyword(Q){if(Q!==void 0)return new P(Q);return G[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new P(Q);return k.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new P(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return k.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,Z]of Q.entries()){let J=Z/255;X[$]=J<=0.04045?J/12.92:((J+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return P.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),Z=this.rgb(),J=X===void 0?0.5:X,V=2*J-1,W=$.alpha()-Z.alpha(),q=((V*W===-1?V:(V+W)/(1+V*W))+1)/2,U=1-q;return P.rgb(q*$.red()+U*Z.red(),q*$.green()+U*Z.green(),q*$.blue()+U*Z.blue(),$.alpha()*J+Z.alpha()*(1-J))}};for(let Q of Object.keys(G)){if(H2.includes(Q))continue;let{channels:X}=G[Q];P.prototype[Q]=function(...$){if(this.model===Q)return new P(this);if($.length>0)return new P($,Q);return new P([...g2(G[this.model][Q].raw(this.color)),this.valpha],Q)},P[Q]=function(...$){let Z=$[0];if(typeof Z==="number")Z=t($,X);return new P(Z,Q)}}function h2(Q,X){return Number(Q.toFixed(X))}function b2(Q){return function(X){return h2(X,Q)}}function E(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let Z of Q)(s[Z]||=[])[X]=$;return Q=Q[0],function(Z){let J;if(Z!==void 0){if($)Z=$(Z);return J=this[Q](),J.color[X]=Z,J}if(J=this[Q]().color[X],$)J=$(J);return J}}function F(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function g2(Q){return Array.isArray(Q)?Q:[Q]}function t(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var o=P;var Z2=_2(L2(),1),u1=(Q,X={})=>{let $=[],Z=[],J={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},W=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let q=Q;if(W.uniq)q=Z2.default(Q);if(q!==void 0)$=q.map((U)=>o(U))}else if(typeof Q==="object"){if($=Object.keys(Q).map((q)=>o(Q[q])),W.uniq)$=Z2.default($)}else return console.error("Must provide an array or object"),!1;return Z=$.map((q)=>{let U=W.compact?{hex:"",combinations:[]}:{color:q.color,model:q.model,valpha:q.valpha,hex:"",combinations:[]};return U.hex=q.hex(),U.combinations=$.filter((K)=>q!==K).filter((K)=>{if(W.threshold!==void 0)return q.contrast(K)>W.threshold;return!0}).map((K)=>{let D=W.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:K.color,model:K.model,valpha:K.valpha};D=Object.assign(D,{hex:K.hex(),contrast:q.contrast(K)}),D.accessibility={aa:D.contrast>=J.aa,aaLarge:D.contrast>=J.aaLarge,aaa:D.contrast>=J.aaa,aaaLarge:D.contrast>=J.aaaLarge};let H=U2(q.hex(),K.hex());if(typeof H==="number"){let N=H,B=Math.abs(N),_=400,T=K2(N),L=(j)=>{if(typeof j==="number"&&j<400)return j;return"prohibited"},I={100:L(T[1]),200:L(T[2]),300:L(T[3]),400:L(T[4]),500:L(T[5]),600:L(T[6]),700:L(T[7]),800:L(T[8]),900:L(T[9])},A={lc:N,polarity:N<0?"light-on-dark":"dark-on-light",minimumFontSize:I,readability:{fluentText:{thresholdLc:90,meets:B>=90},bodyText:{thresholdLc:75,meets:B>=75},contentText:{thresholdLc:60,meets:B>=60},largeText:{thresholdLc:45,meets:B>=45},minimumText:{thresholdLc:30,meets:B>=30},nonText:{thresholdLc:15,meets:B>=15}}};if(W.apca?.fontSize&&W.apca?.fontWeight&&Number.isFinite(W.apca.fontSize)){let{fontSize:j,fontWeight:h}=W.apca,f=I[h];A.fontRequirement={fontSize:j,fontWeight:h,minimumFontSize:f,meetsRequirement:f!=="prohibited"&&j>=f}}D.apca=A}return D}),U}),Z},h1=u1;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var W2=Object.create;var{getPrototypeOf:Z2,defineProperty:c,getOwnPropertyNames:Y2}=Object;var J2=Object.prototype.hasOwnProperty;var q2=(Q,X,$)=>{$=Q!=null?W2(Z2(Q)):{};let V=X||!Q||!Q.__esModule?c($,"default",{value:Q,enumerable:!0}):$;for(let W of Y2(Q))if(!J2.call(V,W))c(V,W,{get:()=>Q[W],enumerable:!0});return V};var G2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var V2=G2((C1,$2)=>{var T2=200,i="__lodash_hash_undefined__",_2=1/0,S2="[object Function]",N2="[object GeneratorFunction]",I2=/[\\^$.*+?()[\]{}|]/g,z2=/^\[object .+?Constructor\]$/,M2=typeof global=="object"&&global&&global.Object===Object&&global,j2=typeof self=="object"&&self&&self.Object===Object&&self,b=M2||j2||Function("return this")();function w2(Q,X){var $=Q?Q.length:0;return!!$&&f2(Q,X,0)>-1}function k2(Q,X,$){var V=-1,W=Q?Q.length:0;while(++V<W)if($(X,Q[V]))return!0;return!1}function C2(Q,X,$,V){var W=Q.length,Y=$+(V?1:-1);while(V?Y--:++Y<W)if(X(Q[Y],Y,Q))return Y;return-1}function f2(Q,X,$){if(X!==X)return C2(Q,x2,$);var V=$-1,W=Q.length;while(++V<W)if(Q[V]===X)return V;return-1}function x2(Q){return Q!==Q}function p2(Q,X){return Q.has(X)}function y2(Q,X){return Q==null?void 0:Q[X]}function d2(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function r(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(V){$[++X]=V}),$}var u2=Array.prototype,v2=Function.prototype,e=Object.prototype,v=b["__core-js_shared__"],a=function(){var Q=/[^.]+$/.exec(v&&v.keys&&v.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),Q2=v2.toString,h=e.hasOwnProperty,m2=e.toString,i2=RegExp("^"+Q2.call(h).replace(I2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),b2=u2.splice,h2=g(b,"Map"),m=g(b,"Set"),j=g(Object,"create");function _(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function g2(){this.__data__=j?j(null):{}}function n2(Q){return this.has(Q)&&delete this.__data__[Q]}function c2(Q){var X=this.__data__;if(j){var $=X[Q];return $===i?void 0:$}return h.call(X,Q)?X[Q]:void 0}function s2(Q){var X=this.__data__;return j?X[Q]!==void 0:h.call(X,Q)}function l2(Q,X){var $=this.__data__;return $[Q]=j&&X===void 0?i:X,this}_.prototype.clear=g2;_.prototype.delete=n2;_.prototype.get=c2;_.prototype.has=s2;_.prototype.set=l2;function z(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function t2(){this.__data__=[]}function o2(Q){var X=this.__data__,$=f(X,Q);if($<0)return!1;var V=X.length-1;if($==V)X.pop();else b2.call(X,$,1);return!0}function a2(Q){var X=this.__data__,$=f(X,Q);return $<0?void 0:X[$][1]}function r2(Q){return f(this.__data__,Q)>-1}function e2(Q,X){var $=this.__data__,V=f($,Q);if(V<0)$.push([Q,X]);else $[V][1]=X;return this}z.prototype.clear=t2;z.prototype.delete=o2;z.prototype.get=a2;z.prototype.has=r2;z.prototype.set=e2;function M(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var V=Q[X];this.set(V[0],V[1])}}function Q1(){this.__data__={hash:new _,map:new(h2||z),string:new _}}function X1(Q){return x(this,Q).delete(Q)}function $1(Q){return x(this,Q).get(Q)}function V1(Q){return x(this,Q).has(Q)}function W1(Q,X){return x(this,Q).set(Q,X),this}M.prototype.clear=Q1;M.prototype.delete=X1;M.prototype.get=$1;M.prototype.has=V1;M.prototype.set=W1;function C(Q){var X=-1,$=Q?Q.length:0;this.__data__=new M;while(++X<$)this.add(Q[X])}function Z1(Q){return this.__data__.set(Q,i),this}function Y1(Q){return this.__data__.has(Q)}C.prototype.add=C.prototype.push=Z1;C.prototype.has=Y1;function f(Q,X){var $=Q.length;while($--)if(R1(Q[$][0],X))return $;return-1}function J1(Q){if(!X2(Q)||P1(Q))return!1;var X=L1(Q)||d2(Q)?i2:z2;return X.test(U1(Q))}function q1(Q,X,$){var V=-1,W=w2,Y=Q.length,Z=!0,J=[],q=J;if($)Z=!1,W=k2;else if(Y>=T2){var E=X?null:G1(Q);if(E)return r(E);Z=!1,W=p2,q=new C}else q=X?[]:J;Q:while(++V<Y){var P=Q[V],R=X?X(P):P;if(P=$||P!==0?P:0,Z&&R===R){var w=q.length;while(w--)if(q[w]===R)continue Q;if(X)q.push(R);J.push(P)}else if(!W(q,R,$)){if(q!==J)q.push(R);J.push(P)}}return J}var G1=!(m&&1/r(new m([,-0]))[1]==_2)?K1:function(Q){return new m(Q)};function x(Q,X){var $=Q.__data__;return E1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function g(Q,X){var $=y2(Q,X);return J1($)?$:void 0}function E1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function P1(Q){return!!a&&a in Q}function U1(Q){if(Q!=null){try{return Q2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function B1(Q){return Q&&Q.length?q1(Q):[]}function R1(Q,X){return Q===X||Q!==Q&&X!==X}function L1(Q){var X=X2(Q)?m2.call(Q):"";return X==S2||X==N2}function X2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function K1(){}$2.exports=B1});var F={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var s=Object.create(null);for(let Q in F)if(Object.hasOwn(F,Q))s[F[Q]]=Q;var K={to:{},get:{}};K.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,V;switch(X){case"hsl":{$=K.get.hsl(Q),V="hsl";break}case"hwb":{$=K.get.hwb(Q),V="hwb";break}default:{$=K.get.rgb(Q),V="rgb";break}}if(!$)return null;return{model:V,value:$}};K.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,V=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,W=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,Y=/^(\w+)$/,Z=[0,0,0,1],J,q,E;if(J=Q.match($)){E=J[2],J=J[1];for(q=0;q<3;q++){let P=q*2;Z[q]=Number.parseInt(J.slice(P,P+2),16)}if(E)Z[3]=Number.parseInt(E,16)/255}else if(J=Q.match(X)){J=J[1],E=J[3];for(q=0;q<3;q++)Z[q]=Number.parseInt(J[q]+J[q],16);if(E)Z[3]=Number.parseInt(E+E,16)/255}else if(J=Q.match(V)){for(q=0;q<3;q++)Z[q]=Number.parseFloat(J[q+1]);if(J[4])Z[3]=J[5]?Number.parseFloat(J[4])*0.01:Number.parseFloat(J[4])}else if(J=Q.match(W)){for(q=0;q<3;q++)Z[q]=Math.round(Number.parseFloat(J[q+1])*2.55);if(J[4])Z[3]=J[5]?Number.parseFloat(J[4])*0.01:Number.parseFloat(J[4])}else if(J=Q.toLowerCase().match(Y)){if(J[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(F,J[1]))return null;return Z=F[J[1]].slice(),Z[3]=1,Z}else return null;for(q=0;q<3;q++)Z[q]=A(Z[q],0,255);return Z[3]=A(Z[3],0,1),Z};K.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let V=Number.parseFloat($[4]),W=(Number.parseFloat($[1])%360+360)%360,Y=A(Number.parseFloat($[2]),0,100),Z=A(Number.parseFloat($[3]),0,100),J=A(Number.isNaN(V)?1:V,0,1);return[W,Y,Z,J]}return null};K.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let V=Number.parseFloat($[4]),W=(Number.parseFloat($[1])%360+360)%360,Y=A(Number.parseFloat($[2]),0,100),Z=A(Number.parseFloat($[3]),0,100),J=A(Number.isNaN(V)?1:V,0,1);return[W,Y,Z,J]}return null};K.to.hex=function(...Q){return"#"+k(Q[0])+k(Q[1])+k(Q[2])+(Q[3]<1?k(Math.round(Q[3]*255)):"")};K.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};K.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),V=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+V+"%)":"rgba("+X+"%, "+$+"%, "+V+"%, "+Q[3]+")"};K.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};K.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};K.to.keyword=function(...Q){return s[Q.slice(0,3)]};function A(Q,X,$){return Math.min(Math.max(X,Q),$)}function k(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var T=K;var l={};for(let Q of Object.keys(F))l[F[Q]]=Q;var G={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},H=G,D=0.008856451679035631;function S(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function N(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(G)){if(!("channels"in G[Q]))throw Error("missing channels property: "+Q);if(!("labels"in G[Q]))throw Error("missing channel labels property: "+Q);if(G[Q].labels.length!==G[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=G[Q];delete G[Q].channels,delete G[Q].labels,Object.defineProperty(G[Q],"channels",{value:X}),Object.defineProperty(G[Q],"labels",{value:$})}G.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.min(X,$,V),Y=Math.max(X,$,V),Z=Y-W,J,q;switch(Y){case W:{J=0;break}case X:{J=($-V)/Z;break}case $:{J=2+(V-X)/Z;break}case V:{J=4+(X-$)/Z;break}}if(J=Math.min(J*60,360),J<0)J+=360;let E=(W+Y)/2;if(Y===W)q=0;else if(E<=0.5)q=Z/(Y+W);else q=Z/(2-Y-W);return[J,q*100,E*100]};G.rgb.hsv=function(Q){let X,$,V,W,Y,Z=Q[0]/255,J=Q[1]/255,q=Q[2]/255,E=Math.max(Z,J,q),P=E-Math.min(Z,J,q),R=function(w){return(E-w)/6/P+0.5};if(P===0)W=0,Y=0;else{switch(Y=P/E,X=R(Z),$=R(J),V=R(q),E){case Z:{W=V-$;break}case J:{W=0.3333333333333333+X-V;break}case q:{W=0.6666666666666666+$-X;break}}if(W<0)W+=1;else if(W>1)W-=1}return[W*360,Y*100,E*100]};G.rgb.hwb=function(Q){let X=Q[0],$=Q[1],V=Q[2],W=G.rgb.hsl(Q)[0],Y=0.00392156862745098*Math.min(X,Math.min($,V));return V=1-0.00392156862745098*Math.max(X,Math.max($,V)),[W,Y*100,V*100]};G.rgb.oklab=function(Q){let X=N(Q[0]/255),$=N(Q[1]/255),V=N(Q[2]/255),W=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*V),Y=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*V),Z=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*V),J=0.2104542553*W+0.793617785*Y-0.0040720468*Z,q=1.9779984951*W-2.428592205*Y+0.4505937099*Z,E=0.0259040371*W+0.7827717662*Y-0.808675766*Z;return[J*100,q*100,E*100]};G.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.min(1-X,1-$,1-V),Y=(1-X-W)/(1-W)||0,Z=(1-$-W)/(1-W)||0,J=(1-V-W)/(1-W)||0;return[Y*100,Z*100,J*100,W*100]};function E2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}G.rgb.keyword=function(Q){let X=l[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,V;for(let W of Object.keys(F)){let Y=F[W],Z=E2(Q,Y);if(Z<$)$=Z,V=W}return V};G.keyword.rgb=function(Q){return[...F[Q]]};G.rgb.xyz=function(Q){let X=N(Q[0]/255),$=N(Q[1]/255),V=N(Q[2]/255),W=X*0.4124564+$*0.3575761+V*0.1804375,Y=X*0.2126729+$*0.7151522+V*0.072175,Z=X*0.0193339+$*0.119192+V*0.9503041;return[W*100,Y*100,Z*100]};G.rgb.lab=function(Q){let X=G.rgb.xyz(Q),$=X[0],V=X[1],W=X[2];$/=95.047,V/=100,W/=108.883,$=$>D?$**0.3333333333333333:7.787*$+0.13793103448275862,V=V>D?V**0.3333333333333333:7.787*V+0.13793103448275862,W=W>D?W**0.3333333333333333:7.787*W+0.13793103448275862;let Y=116*V-16,Z=500*($-V),J=200*(V-W);return[Y,Z,J]};G.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100,W,Y;if($===0)return Y=V*255,[Y,Y,Y];let Z=V<0.5?V*(1+$):V+$-V*$,J=2*V-Z,q=[0,0,0];for(let E=0;E<3;E++){if(W=X+0.3333333333333333*-(E-1),W<0)W++;if(W>1)W--;if(6*W<1)Y=J+(Z-J)*6*W;else if(2*W<1)Y=Z;else if(3*W<2)Y=J+(Z-J)*(0.6666666666666666-W)*6;else Y=J;q[E]=Y*255}return q};G.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,V=Q[2]/100,W=$,Y=Math.max(V,0.01);V*=2,$*=V<=1?V:2-V,W*=Y<=1?Y:2-Y;let Z=(V+$)/2,J=V===0?2*W/(Y+W):2*$/(V+$);return[X,J*100,Z*100]};G.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,V=Q[2]/100,W=Math.floor(X)%6,Y=X-Math.floor(X),Z=255*V*(1-$),J=255*V*(1-$*Y),q=255*V*(1-$*(1-Y));switch(V*=255,W){case 0:return[V,q,Z];case 1:return[J,V,Z];case 2:return[Z,V,q];case 3:return[Z,J,V];case 4:return[q,Z,V];case 5:return[V,Z,J]}};G.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,V=Q[2]/100,W=Math.max(V,0.01),Y,Z;Z=(2-$)*V;let J=(2-$)*W;return Y=$*W,Y/=J<=1?J:2-J,Y=Y||0,Z/=2,[X,Y*100,Z*100]};G.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100,W=$+V,Y;if(W>1)$/=W,V/=W;let Z=Math.floor(6*X),J=1-V;if(Y=6*X-Z,(Z&1)!==0)Y=1-Y;let q=$+Y*(J-$),E,P,R;switch(Z){default:case 6:case 0:{E=J,P=q,R=$;break}case 1:{E=q,P=J,R=$;break}case 2:{E=$,P=J,R=q;break}case 3:{E=$,P=q,R=J;break}case 4:{E=q,P=$,R=J;break}case 5:{E=J,P=$,R=q;break}}return[E*255,P*255,R*255]};G.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=Q[3]/100,Y=1-Math.min(1,X*(1-W)+W),Z=1-Math.min(1,$*(1-W)+W),J=1-Math.min(1,V*(1-W)+W);return[Y*255,Z*255,J*255]};G.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W,Y,Z;return W=X*3.2404542+$*-1.5371385+V*-0.4985314,Y=X*-0.969266+$*1.8760108+V*0.041556,Z=X*0.0556434+$*-0.2040259+V*1.0572252,W=S(W),Y=S(Y),Z=S(Z),[W*255,Y*255,Z*255]};G.xyz.lab=function(Q){let X=Q[0],$=Q[1],V=Q[2];X/=95.047,$/=100,V/=108.883,X=X>D?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>D?$**0.3333333333333333:7.787*$+0.13793103448275862,V=V>D?V**0.3333333333333333:7.787*V+0.13793103448275862;let W=116*$-16,Y=500*(X-$),Z=200*($-V);return[W,Y,Z]};G.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*V),Y=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*V),Z=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*V),J=0.2104542553*W+0.793617785*Y-0.0040720468*Z,q=1.9779984951*W-2.428592205*Y+0.4505937099*Z,E=0.0259040371*W+0.7827717662*Y-0.808675766*Z;return[J*100,q*100,E*100]};G.oklab.oklch=function(Q){return G.lab.lch(Q)};G.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=(0.999999998*X+0.396337792*$+0.215803758*V)**3,Y=(1.000000008*X-0.105561342*$-0.063854175*V)**3,Z=(1.000000055*X-0.089484182*$-1.291485538*V)**3,J=1.227013851*W-0.55779998*Y+0.281256149*Z,q=-0.040580178*W+1.11225687*Y-0.071676679*Z,E=-0.076381285*W-0.421481978*Y+1.58616322*Z;return[J*100,q*100,E*100]};G.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,V=Q[2]/100,W=(X+0.3963377774*$+0.2158037573*V)**3,Y=(X-0.1055613458*$-0.0638541728*V)**3,Z=(X-0.0894841775*$-1.291485548*V)**3,J=S(4.0767416621*W-3.3077115913*Y+0.2309699292*Z),q=S(-1.2684380046*W+2.6097574011*Y-0.3413193965*Z),E=S(-0.0041960863*W-0.7034186147*Y+1.707614701*Z);return[J*255,q*255,E*255]};G.oklch.oklab=function(Q){return G.lch.lab(Q)};G.lab.xyz=function(Q){let X=Q[0],$=Q[1],V=Q[2],W,Y,Z;Y=(X+16)/116,W=$/500+Y,Z=Y-V/200;let J=Y**3,q=W**3,E=Z**3;return Y=J>D?J:(Y-0.13793103448275862)/7.787,W=q>D?q:(W-0.13793103448275862)/7.787,Z=E>D?E:(Z-0.13793103448275862)/7.787,W*=95.047,Y*=100,Z*=108.883,[W,Y,Z]};G.lab.lch=function(Q){let X=Q[0],$=Q[1],V=Q[2],W;if(W=Math.atan2(V,$)*360/2/Math.PI,W<0)W+=360;let Z=Math.sqrt($*$+V*V);return[X,Z,W]};G.lch.lab=function(Q){let X=Q[0],$=Q[1],W=Q[2]/360*2*Math.PI,Y=$*Math.cos(W),Z=$*Math.sin(W);return[X,Y,Z]};G.rgb.ansi16=function(Q,X=null){let[$,V,W]=Q,Y=X===null?G.rgb.hsv(Q)[2]:X;if(Y=Math.round(Y/50),Y===0)return 30;let Z=30+(Math.round(W/255)<<2|Math.round(V/255)<<1|Math.round($/255));if(Y===2)Z+=60;return Z};G.hsv.ansi16=function(Q){return G.rgb.ansi16(G.hsv.rgb(Q),Q[2])};G.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],V=Q[2];if(X>>4===$>>4&&$>>4===V>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(V/255*5)};G.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,V=(X&1)*$*255,W=(X>>1&1)*$*255,Y=(X>>2&1)*$*255;return[V,W,Y]};G.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let Y=(Q-232)*10+8;return[Y,Y,Y]}Q-=16;let X,$=Math.floor(Q/36)/5*255,V=Math.floor((X=Q%36)/6)/5*255,W=X%6/5*255;return[$,V,W]};G.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};G.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((J)=>J+J).join("");let V=Number.parseInt($,16),W=V>>16&255,Y=V>>8&255,Z=V&255;return[W,Y,Z]};G.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,V=Q[2]/255,W=Math.max(Math.max(X,$),V),Y=Math.min(Math.min(X,$),V),Z=W-Y,J,q=Z<1?Y/(1-Z):0;if(Z<=0)J=0;else if(W===X)J=($-V)/Z%6;else if(W===$)J=2+(V-X)/Z;else J=4+(X-$)/Z;return J/=6,J%=1,[J*360,Z*100,q*100]};G.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,V=$<0.5?2*X*$:2*X*(1-$),W=0;if(V<1)W=($-0.5*V)/(1-V);return[Q[0],V*100,W*100]};G.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X*$,W=0;if(V<1)W=($-V)/(1-V);return[Q[0],V*100,W*100]};G.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,V=Q[2]/100;if($===0)return[V*255,V*255,V*255];let W=[0,0,0],Y=X%1*6,Z=Y%1,J=1-Z,q=0;switch(Math.floor(Y)){case 0:{W[0]=1,W[1]=Z,W[2]=0;break}case 1:{W[0]=J,W[1]=1,W[2]=0;break}case 2:{W[0]=0,W[1]=1,W[2]=Z;break}case 3:{W[0]=0,W[1]=J,W[2]=1;break}case 4:{W[0]=Z,W[1]=0,W[2]=1;break}default:W[0]=1,W[1]=0,W[2]=J}return q=(1-$)*V,[($*W[0]+q)*255,($*W[1]+q)*255,($*W[2]+q)*255]};G.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X+$*(1-X),W=0;if(V>0)W=X/V;return[Q[0],W*100,V*100]};G.hcg.hsl=function(Q){let X=Q[1]/100,V=Q[2]/100*(1-X)+0.5*X,W=0;if(V>0&&V<0.5)W=X/(2*V);else if(V>=0.5&&V<1)W=X/(2*(1-V));return[Q[0],W*100,V*100]};G.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,V=X+$*(1-X);return[Q[0],(V-X)*100,(1-V)*100]};G.hwb.hcg=function(Q){let X=Q[1]/100,V=1-Q[2]/100,W=V-X,Y=0;if(W<1)Y=(V-W)/(1-W);return[Q[0],W*100,Y*100]};G.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};G.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};G.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};G.gray.hsl=function(Q){return[0,0,Q[0]]};G.gray.hsv=G.gray.hsl;G.gray.hwb=function(Q){return[0,100,Q[0]]};G.gray.cmyk=function(Q){return[0,0,0,Q[0]]};G.gray.lab=function(Q){return[Q[0],0,0]};G.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,V=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(V.length)+V};G.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function P2(){let Q={},X=Object.keys(H);for(let{length:$}=X,V=0;V<$;V++)Q[X[V]]={distance:-1,parent:null};return Q}function U2(Q){let X=P2(),$=[Q];X[Q].distance=0;while($.length>0){let V=$.pop(),W=Object.keys(H[V]);for(let{length:Y}=W,Z=0;Z<Y;Z++){let J=W[Z],q=X[J];if(q.distance===-1)q.distance=X[V].distance+1,q.parent=V,$.unshift(J)}}return X}function B2(Q,X){return function($){return X(Q($))}}function R2(Q,X){let $=[X[Q].parent,Q],V=H[X[Q].parent][Q],W=X[Q].parent;while(X[W].parent)$.unshift(X[W].parent),V=B2(H[X[W].parent][W],V),W=X[W].parent;return V.conversion=$,V}function L2(Q){let X=U2(Q),$={},V=Object.keys(X);for(let{length:W}=V,Y=0;Y<W;Y++){let Z=V[Y];if(X[Z].parent===null)continue;$[Z]=R2(Z,X)}return $}var t=L2;var I={},K2=Object.keys(H);function O2(Q){let X=function(...$){let V=$[0];if(V===void 0||V===null)return V;if(V.length>1)$=V;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function F2(Q){let X=function(...$){let V=$[0];if(V===void 0||V===null)return V;if(V.length>1)$=V;let W=Q($);if(typeof W==="object")for(let{length:Y}=W,Z=0;Z<Y;Z++)W[Z]=Math.round(W[Z]);return W};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of K2){I[Q]={},Object.defineProperty(I[Q],"channels",{value:H[Q].channels}),Object.defineProperty(I[Q],"labels",{value:H[Q].labels});let X=t(Q),$=Object.keys(X);for(let V of $){let W=X[V];I[Q][V]=F2(W),I[Q][V].raw=O2(W)}}var O=I;var o=["keyword","gray","hex"],p={};for(let Q of Object.keys(O))p[[...O[Q].labels].sort().join("")]=Q;var y={};function L(Q,X){if(!(this instanceof L))return new L(Q,X);if(X&&X in o)X=null;if(X&&!(X in O))throw Error("Unknown model: "+X);let $,V;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof L)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let W=T.get(Q);if(W===null)throw Error("Unable to parse color from string: "+Q);this.model=W.model,V=O[this.model].channels,this.color=W.value.slice(0,V),this.valpha=typeof W.value[V]==="number"?W.value[V]:1}else if(Q.length>0){this.model=X||"rgb",V=O[this.model].channels;let W=Array.prototype.slice.call(Q,0,V);this.color=d(W,V),this.valpha=typeof Q[V]==="number"?Q[V]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let W=Object.keys(Q);if("alpha"in Q)W.splice(W.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let Y=W.sort().join("");if(!(Y in p))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=p[Y];let{labels:Z}=O[this.model],J=[];for($=0;$<Z.length;$++)J.push(Q[Z[$]]);this.color=d(J)}if(y[this.model]){V=O[this.model].channels;for($=0;$<V;$++){let W=y[this.model][$];if(W)this.color[$]=W(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}L.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in T.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return T.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return T.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=O[this.model],{labels:$}=O[this.model];for(let V=0;V<X;V++)Q[$[V]]=this.color[V];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new L([...this.color.map(H2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new L([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:U("rgb",0,B(255)),green:U("rgb",1,B(255)),blue:U("rgb",2,B(255)),hue:U(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:U("hsl",1,B(100)),lightness:U("hsl",2,B(100)),saturationv:U("hsv",1,B(100)),value:U("hsv",2,B(100)),chroma:U("hcg",1,B(100)),gray:U("hcg",2,B(100)),white:U("hwb",1,B(100)),wblack:U("hwb",2,B(100)),cyan:U("cmyk",0,B(100)),magenta:U("cmyk",1,B(100)),yellow:U("cmyk",2,B(100)),black:U("cmyk",3,B(100)),x:U("xyz",0,B(95.047)),y:U("xyz",1,B(100)),z:U("xyz",2,B(108.833)),l:U("lab",0,B(100)),a:U("lab",1),b:U("lab",2),keyword(Q){if(Q!==void 0)return new L(Q);return O[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new L(Q);return T.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new L(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return T.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,V]of Q.entries()){let W=V/255;X[$]=W<=0.04045?W/12.92:((W+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return L.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),V=this.rgb(),W=X===void 0?0.5:X,Y=2*W-1,Z=$.alpha()-V.alpha(),J=((Y*Z===-1?Y:(Y+Z)/(1+Y*Z))+1)/2,q=1-J;return L.rgb(J*$.red()+q*V.red(),J*$.green()+q*V.green(),J*$.blue()+q*V.blue(),$.alpha()*W+V.alpha()*(1-W))}};for(let Q of Object.keys(O)){if(o.includes(Q))continue;let{channels:X}=O[Q];L.prototype[Q]=function(...$){if(this.model===Q)return new L(this);if($.length>0)return new L($,Q);return new L([...A2(O[this.model][Q].raw(this.color)),this.valpha],Q)},L[Q]=function(...$){let V=$[0];if(typeof V==="number")V=d($,X);return new L(V,Q)}}function D2(Q,X){return Number(Q.toFixed(X))}function H2(Q){return function(X){return D2(X,Q)}}function U(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let V of Q)(y[V]||=[])[X]=$;return Q=Q[0],function(V){let W;if(V!==void 0){if($)V=$(V);return W=this[Q](),W.color[X]=V,W}if(W=this[Q]().color[X],$)W=$(W);return W}}function B(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function A2(Q){return Array.isArray(Q)?Q:[Q]}function d(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var u=L;var n=q2(V2(),1),O1=(Q,X={})=>{let $=[],V=[],W={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},Z=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let J=Q;if(Z.uniq)J=n.default(Q);if(J!==void 0)$=J.map((q)=>u(q))}else if(typeof Q==="object"){if($=Object.keys(Q).map((J)=>u(Q[J])),Z.uniq)$=n.default($)}else return console.error("Must provide an array or object"),!1;return V=$.map((J)=>{let q=Z.compact?{hex:"",combinations:[]}:{color:J.color,model:J.model,valpha:J.valpha,hex:"",combinations:[]};return q.hex=J.hex(),q.combinations=$.filter((E)=>J!==E).filter((E)=>{if(Z.threshold!==void 0)return J.contrast(E)>Z.threshold;return!0}).map((E)=>{let P=Z.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:E.color,model:E.model,valpha:E.valpha};return P=Object.assign(P,{hex:E.hex(),contrast:J.contrast(E)}),P.accessibility={aa:P.contrast>=W.aa,aaLarge:P.contrast>=W.aaLarge,aaa:P.contrast>=W.aaa,aaaLarge:P.contrast>=W.aaaLarge},P}),q}),V},p1=O1;export{p1 as default};
1
+ var P2=Object.create;var{getPrototypeOf:L2,defineProperty:Z2,getOwnPropertyNames:M2}=Object;var G2=Object.prototype.hasOwnProperty;var z2=(Q,X,$)=>{$=Q!=null?P2(L2(Q)):{};let Z=X||!Q||!Q.__esModule?Z2($,"default",{value:Q,enumerable:!0}):$;for(let J of M2(Q))if(!G2.call(Z,J))Z2(Z,J,{get:()=>Q[J],enumerable:!0});return Z};var j2=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var T2=j2((r1,N2)=>{var m2=200,e="__lodash_hash_undefined__",h2=1/0,b2="[object Function]",g2="[object GeneratorFunction]",i2=/[\\^$.*+?()[\]{}|]/g,c2=/^\[object .+?Constructor\]$/,n2=typeof global=="object"&&global&&global.Object===Object&&global,l2=typeof self=="object"&&self&&self.Object===Object&&self,r=n2||l2||Function("return this")();function s2(Q,X){var $=Q?Q.length:0;return!!$&&a2(Q,X,0)>-1}function t2(Q,X,$){var Z=-1,J=Q?Q.length:0;while(++Z<J)if($(X,Q[Z]))return!0;return!1}function o2(Q,X,$,Z){var J=Q.length,V=$+(Z?1:-1);while(Z?V--:++V<J)if(X(Q[V],V,Q))return V;return-1}function a2(Q,X,$){if(X!==X)return o2(Q,e2,$);var Z=$-1,J=Q.length;while(++Z<J)if(Q[Z]===X)return Z;return-1}function e2(Q){return Q!==Q}function r2(Q,X){return Q.has(X)}function Q1(Q,X){return Q==null?void 0:Q[X]}function X1(Q){var X=!1;if(Q!=null&&typeof Q.toString!="function")try{X=!!(Q+"")}catch($){}return X}function D2(Q){var X=-1,$=Array(Q.size);return Q.forEach(function(Z){$[++X]=Z}),$}var $1=Array.prototype,Z1=Function.prototype,H2=Object.prototype,o=r["__core-js_shared__"],B2=function(){var Q=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return Q?"Symbol(src)_1."+Q:""}(),E2=Z1.toString,Q2=H2.hasOwnProperty,J1=H2.toString,W1=RegExp("^"+E2.call(Q2).replace(i2,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),V1=$1.splice,q1=X2(r,"Map"),a=X2(r,"Set"),u=X2(Object,"create");function w(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function U1(){this.__data__=u?u(null):{}}function K1(Q){return this.has(Q)&&delete this.__data__[Q]}function R1(Q){var X=this.__data__;if(u){var $=X[Q];return $===e?void 0:$}return Q2.call(X,Q)?X[Q]:void 0}function B1(Q){var X=this.__data__;return u?X[Q]!==void 0:Q2.call(X,Q)}function D1(Q,X){var $=this.__data__;return $[Q]=u&&X===void 0?e:X,this}w.prototype.clear=U1;w.prototype.delete=K1;w.prototype.get=R1;w.prototype.has=B1;w.prototype.set=D1;function p(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function H1(){this.__data__=[]}function E1(Q){var X=this.__data__,$=g(X,Q);if($<0)return!1;var Z=X.length-1;if($==Z)X.pop();else V1.call(X,$,1);return!0}function O1(Q){var X=this.__data__,$=g(X,Q);return $<0?void 0:X[$][1]}function N1(Q){return g(this.__data__,Q)>-1}function T1(Q,X){var $=this.__data__,Z=g($,Q);if(Z<0)$.push([Q,X]);else $[Z][1]=X;return this}p.prototype.clear=H1;p.prototype.delete=E1;p.prototype.get=O1;p.prototype.has=N1;p.prototype.set=T1;function v(Q){var X=-1,$=Q?Q.length:0;this.clear();while(++X<$){var Z=Q[X];this.set(Z[0],Z[1])}}function F1(){this.__data__={hash:new w,map:new(q1||p),string:new w}}function P1(Q){return i(this,Q).delete(Q)}function L1(Q){return i(this,Q).get(Q)}function M1(Q){return i(this,Q).has(Q)}function G1(Q,X){return i(this,Q).set(Q,X),this}v.prototype.clear=F1;v.prototype.delete=P1;v.prototype.get=L1;v.prototype.has=M1;v.prototype.set=G1;function b(Q){var X=-1,$=Q?Q.length:0;this.__data__=new v;while(++X<$)this.add(Q[X])}function z1(Q){return this.__data__.set(Q,e),this}function j1(Q){return this.__data__.has(Q)}b.prototype.add=b.prototype.push=z1;b.prototype.has=j1;function g(Q,X){var $=Q.length;while($--)if(A1(Q[$][0],X))return $;return-1}function _1(Q){if(!O2(Q)||S1(Q))return!1;var X=f1(Q)||X1(Q)?W1:c2;return X.test(k1(Q))}function Y1(Q,X,$){var Z=-1,J=s2,V=Q.length,W=!0,q=[],U=q;if($)W=!1,J=t2;else if(V>=m2){var K=X?null:C1(Q);if(K)return D2(K);W=!1,J=r2,U=new b}else U=X?[]:q;Q:while(++Z<V){var D=Q[Z],H=X?X(D):D;if(D=$||D!==0?D:0,W&&H===H){var N=U.length;while(N--)if(U[N]===H)continue Q;if(X)U.push(H);q.push(D)}else if(!J(U,H,$)){if(U!==q)U.push(H);q.push(D)}}return q}var C1=!(a&&1/D2(new a([,-0]))[1]==h2)?x1:function(Q){return new a(Q)};function i(Q,X){var $=Q.__data__;return I1(X)?$[typeof X=="string"?"string":"hash"]:$.map}function X2(Q,X){var $=Q1(Q,X);return _1($)?$:void 0}function I1(Q){var X=typeof Q;return X=="string"||X=="number"||X=="symbol"||X=="boolean"?Q!=="__proto__":Q===null}function S1(Q){return!!B2&&B2 in Q}function k1(Q){if(Q!=null){try{return E2.call(Q)}catch(X){}try{return Q+""}catch(X){}}return""}function w1(Q){return Q&&Q.length?Y1(Q):[]}function A1(Q,X){return Q===X||Q!==Q&&X!==X}function f1(Q){var X=O2(Q)?J1.call(Q):"";return X==b2||X==g2}function O2(Q){var X=typeof Q;return!!Q&&(X=="object"||X=="function")}function x1(){}N2.exports=w1});function c(Q){if(typeof Q==="string")return _2(Q);else if(typeof Q==="number")return[(Q&16711680)>>16,(Q&65280)>>8,Q&255,1,!0,"unknown"];else if(typeof Q==="object"){if(Array.isArray(Q))return Q;else if(!isNaN(Q.r)||!isNaN(Q.red)){let X=[0,0,0,0,!1,"unknown"];return X[0]=Q.r?Q.r:Q.red?Q.red:!1,X[1]=Q.g?Q.g:Q.green?Q.green:!1,X[2]=Q.b?Q.b:Q.blue?Q.blue:!1,X[3]=Q.a?Q.a:Q.alpha?Q.alpha:1,X[4]=X[0]&&X[1]&&X[2]?!0:!1,X[5]=Q.space?Q.space:Q.colorSpace?Q.colorSpace:Q.colorspace?Q.colorspace:"unknown",X}}return console.log("colorParsley error: invalid input"),[0,0,0,0,!1,"inputError"]}function _2(Q="#abcdef"){Q=Q.replace(/[^\w,.#%()\/ -]/g,""),Q=Q.toLowerCase();let X=!1,Z=[0,0,0,0,X,"sRGB"];if(Q.match(/^(?:(?!rgb|l.h|hs|col|\d|#).{0,4})(?=[g-z])/)){let W={gray0:"000000",gray1:"111111",gray2:"222222",gray3:"333333",gray4:"444444",gray5:"555555",gray6:"666666",gray7:"777777",gray8:"888888",gray9:"999999",graya:"aaaaaa",grayb:"bbbbbb",grayc:"cccccc",grayd:"dddddd",graye:"eeeeee",grayf:"ffffff",midgray:"a0a0a0",grey0:"000000",grey1:"111111",grey2:"222222",grey3:"333333",grey4:"444444",grey5:"555555",grey6:"666666",grey7:"777777",grey8:"888888",grey9:"999999",greya:"aaaaaa",greyb:"bbbbbb",greyc:"cccccc",greyd:"dddddd",greye:"eeeeee",greyf:"ffffff",midgrey:"a0a0a0",aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(let q in W)if(Q==q){let U={rex:/^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/,sprig:function(D){for(let H=0;H<3;H++)Z[H]=parseInt(D[H+1],16);return Z[3]=1,!0}},K=U.rex.exec(W[q]);return Z[4]=X=U.sprig(K),Z}}let J={rex:/(?:^(?:#|0x|)(?:(?:([\da-f])([\da-f])([\da-f])([\da-f])?)(?!\S)|(?:([\da-f]{2})(?:([\da-f]{2})([\da-f]{2})([\da-f]{2})?)?))|(?:(?:^(?:rgba?|)\(? ?(?:(?:(?:(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))(?:,[^\S]*$|(?:(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)(?:, ?| )(255|(?:25[0-4]|2[0-4]\d|1?\d{1,2})(?:\.\d{1,24})?)))|(100%|\d{1,2}(?:\.\d{1,24})?%)(?:,?[^\S]*$|(?:(?:, ?| )(?:(100%|\d{1,2}(?:\.\d{1,24})?%)(?:, ?| )(100%|\d{1,2}(?:\.\d{1,24})?%)))))|^(?:color\((srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|xyz|xyz-d50|xyz-d65) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])) (?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))|^(?:((?:r(?!gb)|c(?!olor)|[abd-qs-z])[a-z]{2,5})\( ?((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?)(?:, ?| )((?:\d{0,3}\.|)\d{1,24}%?))))(?:(?:,| \/| ) ?(?:(100%|\d{1,2}(?:\.\d{1,24})?%|[0 ]\.\d{1,24}|[01])))?(?:\)| |))[^\S]*$/,parsley:function(W){let q=0,U=0,K=10,D=100,H=2.55,N="1";if(W[23])N=W[23],delete W[23];Z[3]=N.match(/%/g)?parseFloat(N)/D:parseFloat(N);for(let B=1;B<W.length;B++)if(W[B])q=q?q:B,U=B;switch(U){case 4:K=16,D=15,Z[3]=parseInt(W[U],K)/D;case 3:K=16;for(let B=0;B<3;B++)Z[B]=parseInt(W[q+B]+W[q+B],K);break;case 5:K=16;case 9:Z[0]=Z[1]=Z[2]=K==10?parseFloat(W[U]):parseInt(W[U],K);break;case 12:Z[0]=Z[1]=Z[2]=parseFloat(W[U])*H;break;case 8:K=16,D=255,Z[3]=parseInt(W[8],K)/D;case 7:K=16;case 11:for(let B=0;B<3;B++)Z[B]=K==10?parseFloat(W[q+B]):parseInt(W[q+B],K);break;case 14:for(let B=0;B<3;B++)Z[B]=parseFloat(W[q+B])*H;break;case 18:Z[5]=W[15];for(let B=0;B<3;B++)q++,Z[B]=W[q].match(/%/g)?parseFloat(W[q])*2.55:parseFloat(W[q])*255;break;case 22:Z[5]=W[q];for(let B=0;B<3;B++)q++,Z[B]=W[q]?W[q].match(/%/g)?parseFloat(W[q])/D:parseFloat(W[q]):0;if(Z[5].match(/^(?:hsla?|hwba?)/i)){let j=function(m){let f=(m+A/30)%12,F2=B*Math.min(_,1-_);return _-F2*Math.max(-1,Math.min(f-3,9-f,1))},B,_,T,L,I,A=Z[0]%360;if(A<0)A+=360;if(Z[5].match(/^hsla?/i))B=Z[1],_=Z[2],T=0,I=1;else if(Z[5].match(/^hwba?/i)){if(T=Z[1],L=Z[2],T+L>=1){Z[0]=Z[1]=Z[2]=T/(T+L),Z[5]="sRGB";break}B=1,_=0.5,I=1-T-L}Z[0]=Math.round(255*(j(0)*I+T)),Z[1]=Math.round(255*(j(8)*I+T)),Z[2]=Math.round(255*(j(4)*I+T)),Z[5]="sRGB"}break}return!0}},V=J.rex.exec(Q);if(V)return Z[4]=X=J.parsley(V),Z;else return X=!1,console.log("colorParsley error: unable to parse string"),[0,0,0,0,X,"parsleyError"]}var O={mainTRC:2.4,get mainTRCencode(){return 1/this.mainTRC},sRco:0.2126729,sGco:0.7151522,sBco:0.072175,normBG:0.56,normTXT:0.57,revTXT:0.62,revBG:0.65,blkThrs:0.022,blkClmp:1.414,scaleBoW:1.14,scaleWoB:1.14,loBoWoffset:0.027,loWoBoffset:0.027,deltaYmin:0.0005,loClip:0.1,mFactor:1.9468554433171,get mFactInv(){return 1/this.mFactor},mOffsetIn:0.0387393816571401,mExpAdj:0.283343396420869,get mExp(){return this.mExpAdj/this.blkClmp},mOffsetOut:0.312865795870758};function Y2(Q,X,$=-1){let Z=[0,1.1];if(isNaN(Q)||isNaN(X)||Math.min(Q,X)<Z[0]||Math.max(Q,X)>Z[1])return 0;let J=0,V=0,W="BoW";if(Q=Q>O.blkThrs?Q:Q+Math.pow(O.blkThrs-Q,O.blkClmp),X=X>O.blkThrs?X:X+Math.pow(O.blkThrs-X,O.blkClmp),Math.abs(X-Q)<O.deltaYmin)return 0;if(X>Q)J=(Math.pow(X,O.normBG)-Math.pow(Q,O.normTXT))*O.scaleBoW,V=J<O.loClip?0:J-O.loBoWoffset;else W="WoB",J=(Math.pow(X,O.revBG)-Math.pow(Q,O.revTXT))*O.scaleWoB,V=J>-O.loClip?0:J+O.loWoBoffset;if($<0)return V*100;else if($==0)return Math.round(Math.abs(V)*100)+"<sub>"+W+"</sub>";else if(Number.isInteger($))return(V*100).toFixed($);else return 0}function W2(Q,X,$=-1,Z=!0){let J=c(X),V=c(Q);if(V[3]==""||V[3]==1?!1:!0)V=C2(V,J,Z);return Y2(J2(V),J2(J),$)}function V2(Q,X=2){let $=[["Lc",100,200,300,400,500,600,700,800,900],[0,999,999,999,999,999,999,999,999,999],[10,999,999,999,999,999,999,999,999,999],[15,777,777,777,777,777,777,777,777,777],[20,777,777,777,777,777,777,777,777,777],[25,777,777,777,120,120,108,96,96,96],[30,777,777,120,108,108,96,72,72,72],[35,777,120,108,96,72,60,48,48,48],[40,120,108,96,60,48,42,32,32,32],[45,108,96,72,42,32,28,24,24,24],[50,96,72,60,32,28,24,21,21,21],[55,80,60,48,28,24,21,18,18,18],[60,72,48,42,24,21,18,16,16,18],[65,68,46,32,21.75,19,17,15,16,18],[70,64,44,28,19.5,18,16,14.5,16,18],[75,60,42,24,18,16,15,14,16,18],[80,56,38.25,23,17.25,15.81,14.81,14,16,18],[85,52,34.5,22,16.5,15.625,14.625,14,16,18],[90,48,32,21,16,15.5,14.5,14,16,18],[95,45,28,19.5,15.5,15,14,13.5,16,18],[100,42,26.5,18.5,15,14.5,13.5,13,16,18],[105,39,25,18,14.5,14,13,12,16,18],[110,36,24,18,14,13,12,11,16,18],[115,34.5,22.5,17.25,12.5,11.875,11.25,10.625,14.5,16.5],[120,33,21,16.5,11,10.75,10.5,10.25,13,15],[125,32,20,16,10,10,10,10,12,14]],Z=[["∆Lc",100,200,300,400,500,600,700,800,900],[0,0,0,0,0,0,0,0,0,0],[10,0,0,0,0,0,0,0,0,0],[15,0,0,0,0,0,0,0,0,0],[20,0,0,0,0,0,0,0,0,0],[25,0,0,0,12,12,12,24,24,24],[30,0,0,12,12,36,36,24,24,24],[35,0,12,12,36,24,18,16,16,16],[40,12,12,24,18,16,14,8,8,8],[45,12,24,12,10,4,4,3,3,3],[50,16,12,12,4,4,3,3,3,3],[55,8,12,6,4,3,3,2,2,0],[60,4,2,10,2.25,2,1,1,0,0],[65,4,2,4,2.25,1,1,0.5,0,0],[70,4,2,4,1.5,2,1,0.5,0,0],[75,4,3.75,1,0.75,0.188,0.188,0,0,0],[80,4,3.75,1,0.75,0.188,0.188,0,0,0],[85,4,2.5,1,0.5,0.125,0.125,0,0,0],[90,3,4,1.5,0.5,0.5,0.5,0.5,0,0],[95,3,1.5,1,0.5,0.5,0.5,0.5,0,0],[100,3,1.5,0.5,0.5,0.5,0.5,1,0,0],[105,3,1,0,0.5,1,1,1,0,0],[110,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[115,1.5,1.5,0.75,1.5,1.125,0.75,0.375,1.5,1.5],[120,1,1,0.5,1,0.75,0.5,0.25,1,1],[125,0,0,0,0,0,0,0,0,0]],V=[0,100,200,300,400,500,600,700,800,900].length,W=[Q.toFixed(X),0,0,0,0,0,0,0,0,0],q=W.length,K=["lc",0,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125].length,D=777;Q=Math.abs(Q);let H=0.2,N=Q==0?1:Q*H|0,B=0,_=(Q-$[N][B])*H;B++;for(;B<V;B++)if(D=$[N][B],D>400)W[B]=D;else if(Q<14.5)W[B]=999;else if(Q<29.5)W[B]=777;else D>24?W[B]=Math.round(D-Z[N][B]*_):W[B]=D-(2*Z[N][B]*_|0)*0.5;return W}function J2(Q=[0,0,0]){function X($){return Math.pow($/255,O.mainTRC)}return O.sRco*X(Q[0])+O.sGco*X(Q[1])+O.sBco*X(Q[2])}function C2(Q=[0,0,0,1],X=[0,0,0],$=!0){Q[3]=Math.max(Math.min(Q[3],1),0);let Z=1-Q[3],J=[0,0,0,1,!0];for(let V=0;V<3;V++)if(J[V]=X[V]*Z+Q[V]*Q[3],$)J[V]=Math.min(Math.round(J[V]),255);return J}var z={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var q2=Object.create(null);for(let Q in z)if(Object.hasOwn(z,Q))q2[z[Q]]=Q;var M={to:{},get:{}};M.get=function(Q){let X=Q.slice(0,3).toLowerCase(),$,Z;switch(X){case"hsl":{$=M.get.hsl(Q),Z="hsl";break}case"hwb":{$=M.get.hwb(Q),Z="hwb";break}default:{$=M.get.rgb(Q),Z="rgb";break}}if(!$)return null;return{model:Z,value:$}};M.get.rgb=function(Q){if(!Q)return null;let X=/^#([a-f\d]{3,4})$/i,$=/^#([a-f\d]{6})([a-f\d]{2})?$/i,Z=/^rgba?\(\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)(?=[\s,])\s*(?:,\s*)?([+-]?(?:\d*\.)?\d+(?:e\d+)?)\s*(?:[\s,|/]\s*([+-]?(?:\d*\.)?\d+(?:e\d+)?)(%?)\s*)?\)$/i,J=/^rgba?\(\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[\s,|/]\s*([+-]?[\d.]+)(%?)\s*)?\)$/i,V=/^(\w+)$/,W=[0,0,0,1],q,U,K;if(q=Q.match($)){K=q[2],q=q[1];for(U=0;U<3;U++){let D=U*2;W[U]=Number.parseInt(q.slice(D,D+2),16)}if(K)W[3]=Number.parseInt(K,16)/255}else if(q=Q.match(X)){q=q[1],K=q[3];for(U=0;U<3;U++)W[U]=Number.parseInt(q[U]+q[U],16);if(K)W[3]=Number.parseInt(K+K,16)/255}else if(q=Q.match(Z)){for(U=0;U<3;U++)W[U]=Number.parseFloat(q[U+1]);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.match(J)){for(U=0;U<3;U++)W[U]=Math.round(Number.parseFloat(q[U+1])*2.55);if(q[4])W[3]=q[5]?Number.parseFloat(q[4])*0.01:Number.parseFloat(q[4])}else if(q=Q.toLowerCase().match(V)){if(q[1]==="transparent")return[0,0,0,0];if(!Object.hasOwn(z,q[1]))return null;return W=z[q[1]].slice(),W[3]=1,W}else return null;for(U=0;U<3;U++)W[U]=S(W[U],0,255);return W[3]=S(W[3],0,1),W};M.get.hsl=function(Q){if(!Q)return null;let X=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d.]+)%\s*,?\s*([+-]?[\d.]+)%\s*(?:[,|/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.get.hwb=function(Q){if(!Q)return null;let X=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*[\s,]\s*([+-]?[\d.]+)%\s*[\s,]\s*([+-]?[\d.]+)%\s*(?:[\s,]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:e[+-]?\d+)?)\s*)?\)$/i,$=Q.match(X);if($){let Z=Number.parseFloat($[4]),J=(Number.parseFloat($[1])%360+360)%360,V=S(Number.parseFloat($[2]),0,100),W=S(Number.parseFloat($[3]),0,100),q=S(Number.isNaN(Z)?1:Z,0,1);return[J,V,W,q]}return null};M.to.hex=function(...Q){return"#"+h(Q[0])+h(Q[1])+h(Q[2])+(Q[3]<1?h(Math.round(Q[3]*255)):"")};M.to.rgb=function(...Q){return Q.length<4||Q[3]===1?"rgb("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+")":"rgba("+Math.round(Q[0])+", "+Math.round(Q[1])+", "+Math.round(Q[2])+", "+Q[3]+")"};M.to.rgb.percent=function(...Q){let X=Math.round(Q[0]/255*100),$=Math.round(Q[1]/255*100),Z=Math.round(Q[2]/255*100);return Q.length<4||Q[3]===1?"rgb("+X+"%, "+$+"%, "+Z+"%)":"rgba("+X+"%, "+$+"%, "+Z+"%, "+Q[3]+")"};M.to.hsl=function(...Q){return Q.length<4||Q[3]===1?"hsl("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%)":"hsla("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%, "+Q[3]+")"};M.to.hwb=function(...Q){let X="";if(Q.length>=4&&Q[3]!==1)X=", "+Q[3];return"hwb("+Q[0]+", "+Q[1]+"%, "+Q[2]+"%"+X+")"};M.to.keyword=function(...Q){return q2[Q.slice(0,3)]};function S(Q,X,$){return Math.min(Math.max(X,Q),$)}function h(Q){let X=Math.round(Q).toString(16).toUpperCase();return X.length<2?"0"+X:X}var k=M;var U2={};for(let Q of Object.keys(z))U2[z[Q]]=Q;var R={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},oklab:{channels:3,labels:["okl","oka","okb"]},lch:{channels:3,labels:"lch"},oklch:{channels:3,labels:["okl","okc","okh"]},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}},C=R,Y=0.008856451679035631;function x(Q){let X=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92;return Math.min(Math.max(0,X),1)}function d(Q){return Q>0.04045?((Q+0.055)/1.055)**2.4:Q/12.92}for(let Q of Object.keys(R)){if(!("channels"in R[Q]))throw Error("missing channels property: "+Q);if(!("labels"in R[Q]))throw Error("missing channel labels property: "+Q);if(R[Q].labels.length!==R[Q].channels)throw Error("channel and label counts mismatch: "+Q);let{channels:X,labels:$}=R[Q];delete R[Q].channels,delete R[Q].labels,Object.defineProperty(R[Q],"channels",{value:X}),Object.defineProperty(R[Q],"labels",{value:$})}R.rgb.hsl=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(X,$,Z),V=Math.max(X,$,Z),W=V-J,q,U;switch(V){case J:{q=0;break}case X:{q=($-Z)/W;break}case $:{q=2+(Z-X)/W;break}case Z:{q=4+(X-$)/W;break}}if(q=Math.min(q*60,360),q<0)q+=360;let K=(J+V)/2;if(V===J)U=0;else if(K<=0.5)U=W/(V+J);else U=W/(2-V-J);return[q,U*100,K*100]};R.rgb.hsv=function(Q){let X,$,Z,J,V,W=Q[0]/255,q=Q[1]/255,U=Q[2]/255,K=Math.max(W,q,U),D=K-Math.min(W,q,U),H=function(N){return(K-N)/6/D+0.5};if(D===0)J=0,V=0;else{switch(V=D/K,X=H(W),$=H(q),Z=H(U),K){case W:{J=Z-$;break}case q:{J=0.3333333333333333+X-Z;break}case U:{J=0.6666666666666666+$-X;break}}if(J<0)J+=1;else if(J>1)J-=1}return[J*360,V*100,K*100]};R.rgb.hwb=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J=R.rgb.hsl(Q)[0],V=0.00392156862745098*Math.min(X,Math.min($,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max($,Z)),[J,V*100,Z*100]};R.rgb.oklab=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=Math.cbrt(0.4122214708*X+0.5363325363*$+0.0514459929*Z),V=Math.cbrt(0.2119034982*X+0.6806995451*$+0.1073969566*Z),W=Math.cbrt(0.0883024619*X+0.2817188376*$+0.6299787005*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.rgb.cmyk=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.min(1-X,1-$,1-Z),V=(1-X-J)/(1-J)||0,W=(1-$-J)/(1-J)||0,q=(1-Z-J)/(1-J)||0;return[V*100,W*100,q*100,J*100]};function I2(Q,X){return(Q[0]-X[0])**2+(Q[1]-X[1])**2+(Q[2]-X[2])**2}R.rgb.keyword=function(Q){let X=U2[Q];if(X)return X;let $=Number.POSITIVE_INFINITY,Z;for(let J of Object.keys(z)){let V=z[J],W=I2(Q,V);if(W<$)$=W,Z=J}return Z};R.keyword.rgb=function(Q){return[...z[Q]]};R.rgb.xyz=function(Q){let X=d(Q[0]/255),$=d(Q[1]/255),Z=d(Q[2]/255),J=X*0.4124564+$*0.3575761+Z*0.1804375,V=X*0.2126729+$*0.7151522+Z*0.072175,W=X*0.0193339+$*0.119192+Z*0.9503041;return[J*100,V*100,W*100]};R.rgb.lab=function(Q){let X=R.rgb.xyz(Q),$=X[0],Z=X[1],J=X[2];$/=95.047,Z/=100,J/=108.883,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>Y?J**0.3333333333333333:7.787*J+0.13793103448275862;let V=116*Z-16,W=500*($-Z),q=200*(Z-J);return[V,W,q]};R.hsl.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J,V;if($===0)return V=Z*255,[V,V,V];let W=Z<0.5?Z*(1+$):Z+$-Z*$,q=2*Z-W,U=[0,0,0];for(let K=0;K<3;K++){if(J=X+0.3333333333333333*-(K-1),J<0)J++;if(J>1)J--;if(6*J<1)V=q+(W-q)*6*J;else if(2*J<1)V=W;else if(3*J<2)V=q+(W-q)*(0.6666666666666666-J)*6;else V=q;U[K]=V*255}return U};R.hsl.hsv=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=$,V=Math.max(Z,0.01);Z*=2,$*=Z<=1?Z:2-Z,J*=V<=1?V:2-V;let W=(Z+$)/2,q=Z===0?2*J/(V+J):2*$/(Z+$);return[X,q*100,W*100]};R.hsv.rgb=function(Q){let X=Q[0]/60,$=Q[1]/100,Z=Q[2]/100,J=Math.floor(X)%6,V=X-Math.floor(X),W=255*Z*(1-$),q=255*Z*(1-$*V),U=255*Z*(1-$*(1-V));switch(Z*=255,J){case 0:return[Z,U,W];case 1:return[q,Z,W];case 2:return[W,Z,U];case 3:return[W,q,Z];case 4:return[U,W,Z];case 5:return[Z,W,q]}};R.hsv.hsl=function(Q){let X=Q[0],$=Q[1]/100,Z=Q[2]/100,J=Math.max(Z,0.01),V,W;W=(2-$)*Z;let q=(2-$)*J;return V=$*J,V/=q<=1?q:2-q,V=V||0,W/=2,[X,V*100,W*100]};R.hwb.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100,J=$+Z,V;if(J>1)$/=J,Z/=J;let W=Math.floor(6*X),q=1-Z;if(V=6*X-W,(W&1)!==0)V=1-V;let U=$+V*(q-$),K,D,H;switch(W){default:case 6:case 0:{K=q,D=U,H=$;break}case 1:{K=U,D=q,H=$;break}case 2:{K=$,D=q,H=U;break}case 3:{K=$,D=U,H=q;break}case 4:{K=U,D=$,H=q;break}case 5:{K=q,D=$,H=U;break}}return[K*255,D*255,H*255]};R.cmyk.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Q[3]/100,V=1-Math.min(1,X*(1-J)+J),W=1-Math.min(1,$*(1-J)+J),q=1-Math.min(1,Z*(1-J)+J);return[V*255,W*255,q*255]};R.xyz.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J,V,W;return J=X*3.2404542+$*-1.5371385+Z*-0.4985314,V=X*-0.969266+$*1.8760108+Z*0.041556,W=X*0.0556434+$*-0.2040259+Z*1.0572252,J=x(J),V=x(V),W=x(W),[J*255,V*255,W*255]};R.xyz.lab=function(Q){let X=Q[0],$=Q[1],Z=Q[2];X/=95.047,$/=100,Z/=108.883,X=X>Y?X**0.3333333333333333:7.787*X+0.13793103448275862,$=$>Y?$**0.3333333333333333:7.787*$+0.13793103448275862,Z=Z>Y?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*$-16,V=500*(X-$),W=200*($-Z);return[J,V,W]};R.xyz.oklab=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=Math.cbrt(0.8189330101*X+0.3618667424*$-0.1288597137*Z),V=Math.cbrt(0.0329845436*X+0.9293118715*$+0.0361456387*Z),W=Math.cbrt(0.0482003018*X+0.2643662691*$+0.633851707*Z),q=0.2104542553*J+0.793617785*V-0.0040720468*W,U=1.9779984951*J-2.428592205*V+0.4505937099*W,K=0.0259040371*J+0.7827717662*V-0.808675766*W;return[q*100,U*100,K*100]};R.oklab.oklch=function(Q){return R.lab.lch(Q)};R.oklab.xyz=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(0.999999998*X+0.396337792*$+0.215803758*Z)**3,V=(1.000000008*X-0.105561342*$-0.063854175*Z)**3,W=(1.000000055*X-0.089484182*$-1.291485538*Z)**3,q=1.227013851*J-0.55779998*V+0.281256149*W,U=-0.040580178*J+1.11225687*V-0.071676679*W,K=-0.076381285*J-0.421481978*V+1.58616322*W;return[q*100,U*100,K*100]};R.oklab.rgb=function(Q){let X=Q[0]/100,$=Q[1]/100,Z=Q[2]/100,J=(X+0.3963377774*$+0.2158037573*Z)**3,V=(X-0.1055613458*$-0.0638541728*Z)**3,W=(X-0.0894841775*$-1.291485548*Z)**3,q=x(4.0767416621*J-3.3077115913*V+0.2309699292*W),U=x(-1.2684380046*J+2.6097574011*V-0.3413193965*W),K=x(-0.0041960863*J-0.7034186147*V+1.707614701*W);return[q*255,U*255,K*255]};R.oklch.oklab=function(Q){return R.lch.lab(Q)};R.lab.xyz=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J,V,W;V=(X+16)/116,J=$/500+V,W=V-Z/200;let q=V**3,U=J**3,K=W**3;return V=q>Y?q:(V-0.13793103448275862)/7.787,J=U>Y?U:(J-0.13793103448275862)/7.787,W=K>Y?K:(W-0.13793103448275862)/7.787,J*=95.047,V*=100,W*=108.883,[J,V,W]};R.lab.lch=function(Q){let X=Q[0],$=Q[1],Z=Q[2],J;if(J=Math.atan2(Z,$)*360/2/Math.PI,J<0)J+=360;let W=Math.sqrt($*$+Z*Z);return[X,W,J]};R.lch.lab=function(Q){let X=Q[0],$=Q[1],J=Q[2]/360*2*Math.PI,V=$*Math.cos(J),W=$*Math.sin(J);return[X,V,W]};R.rgb.ansi16=function(Q,X=null){let[$,Z,J]=Q,V=X===null?R.rgb.hsv(Q)[2]:X;if(V=Math.round(V/50),V===0)return 30;let W=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round($/255));if(V===2)W+=60;return W};R.hsv.ansi16=function(Q){return R.rgb.ansi16(R.hsv.rgb(Q),Q[2])};R.rgb.ansi256=function(Q){let X=Q[0],$=Q[1],Z=Q[2];if(X>>4===$>>4&&$>>4===Z>>4){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round($/255*5)+Math.round(Z/255*5)};R.ansi16.rgb=function(Q){Q=Q[0];let X=Q%10;if(X===0||X===7){if(Q>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let $=(Math.trunc(Q>50)+1)*0.5,Z=(X&1)*$*255,J=(X>>1&1)*$*255,V=(X>>2&1)*$*255;return[Z,J,V]};R.ansi256.rgb=function(Q){if(Q=Q[0],Q>=232){let V=(Q-232)*10+8;return[V,V,V]}Q-=16;let X,$=Math.floor(Q/36)/5*255,Z=Math.floor((X=Q%36)/6)/5*255,J=X%6/5*255;return[$,Z,J]};R.rgb.hex=function(Q){let $=(((Math.round(Q[0])&255)<<16)+((Math.round(Q[1])&255)<<8)+(Math.round(Q[2])&255)).toString(16).toUpperCase();return"000000".slice($.length)+$};R.hex.rgb=function(Q){let X=Q.toString(16).match(/[a-f\d]{6}|[a-f\d]{3}/i);if(!X)return[0,0,0];let $=X[0];if(X[0].length===3)$=[...$].map((q)=>q+q).join("");let Z=Number.parseInt($,16),J=Z>>16&255,V=Z>>8&255,W=Z&255;return[J,V,W]};R.rgb.hcg=function(Q){let X=Q[0]/255,$=Q[1]/255,Z=Q[2]/255,J=Math.max(Math.max(X,$),Z),V=Math.min(Math.min(X,$),Z),W=J-V,q,U=W<1?V/(1-W):0;if(W<=0)q=0;else if(J===X)q=($-Z)/W%6;else if(J===$)q=2+(Z-X)/W;else q=4+(X-$)/W;return q/=6,q%=1,[q*360,W*100,U*100]};R.hsl.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=$<0.5?2*X*$:2*X*(1-$),J=0;if(Z<1)J=($-0.5*Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hsv.hcg=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X*$,J=0;if(Z<1)J=($-Z)/(1-Z);return[Q[0],Z*100,J*100]};R.hcg.rgb=function(Q){let X=Q[0]/360,$=Q[1]/100,Z=Q[2]/100;if($===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],V=X%1*6,W=V%1,q=1-W,U=0;switch(Math.floor(V)){case 0:{J[0]=1,J[1]=W,J[2]=0;break}case 1:{J[0]=q,J[1]=1,J[2]=0;break}case 2:{J[0]=0,J[1]=1,J[2]=W;break}case 3:{J[0]=0,J[1]=q,J[2]=1;break}case 4:{J[0]=W,J[1]=0,J[2]=1;break}default:J[0]=1,J[1]=0,J[2]=q}return U=(1-$)*Z,[($*J[0]+U)*255,($*J[1]+U)*255,($*J[2]+U)*255]};R.hcg.hsv=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X),J=0;if(Z>0)J=X/Z;return[Q[0],J*100,Z*100]};R.hcg.hsl=function(Q){let X=Q[1]/100,Z=Q[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[Q[0],J*100,Z*100]};R.hcg.hwb=function(Q){let X=Q[1]/100,$=Q[2]/100,Z=X+$*(1-X);return[Q[0],(Z-X)*100,(1-Z)*100]};R.hwb.hcg=function(Q){let X=Q[1]/100,Z=1-Q[2]/100,J=Z-X,V=0;if(J<1)V=(Z-J)/(1-J);return[Q[0],J*100,V*100]};R.apple.rgb=function(Q){return[Q[0]/65535*255,Q[1]/65535*255,Q[2]/65535*255]};R.rgb.apple=function(Q){return[Q[0]/255*65535,Q[1]/255*65535,Q[2]/255*65535]};R.gray.rgb=function(Q){return[Q[0]/100*255,Q[0]/100*255,Q[0]/100*255]};R.gray.hsl=function(Q){return[0,0,Q[0]]};R.gray.hsv=R.gray.hsl;R.gray.hwb=function(Q){return[0,100,Q[0]]};R.gray.cmyk=function(Q){return[0,0,0,Q[0]]};R.gray.lab=function(Q){return[Q[0],0,0]};R.gray.hex=function(Q){let X=Math.round(Q[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".slice(Z.length)+Z};R.rgb.gray=function(Q){return[(Q[0]+Q[1]+Q[2])/3/255*100]};function S2(){let Q={},X=Object.keys(C);for(let{length:$}=X,Z=0;Z<$;Z++)Q[X[Z]]={distance:-1,parent:null};return Q}function k2(Q){let X=S2(),$=[Q];X[Q].distance=0;while($.length>0){let Z=$.pop(),J=Object.keys(C[Z]);for(let{length:V}=J,W=0;W<V;W++){let q=J[W],U=X[q];if(U.distance===-1)U.distance=X[Z].distance+1,U.parent=Z,$.unshift(q)}}return X}function w2(Q,X){return function($){return X(Q($))}}function A2(Q,X){let $=[X[Q].parent,Q],Z=C[X[Q].parent][Q],J=X[Q].parent;while(X[J].parent)$.unshift(X[J].parent),Z=w2(C[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=$,Z}function f2(Q){let X=k2(Q),$={},Z=Object.keys(X);for(let{length:J}=Z,V=0;V<J;V++){let W=Z[V];if(X[W].parent===null)continue;$[W]=A2(W,X)}return $}var K2=f2;var y={},x2=Object.keys(C);function d2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;return Q($)};if("conversion"in Q)X.conversion=Q.conversion;return X}function y2(Q){let X=function(...$){let Z=$[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)$=Z;let J=Q($);if(typeof J==="object")for(let{length:V}=J,W=0;W<V;W++)J[W]=Math.round(J[W]);return J};if("conversion"in Q)X.conversion=Q.conversion;return X}for(let Q of x2){y[Q]={},Object.defineProperty(y[Q],"channels",{value:C[Q].channels}),Object.defineProperty(y[Q],"labels",{value:C[Q].labels});let X=K2(Q),$=Object.keys(X);for(let Z of $){let J=X[Z];y[Q][Z]=y2(J),y[Q][Z].raw=d2(J)}}var G=y;var R2=["keyword","gray","hex"],n={};for(let Q of Object.keys(G))n[[...G[Q].labels].sort().join("")]=Q;var l={};function P(Q,X){if(!(this instanceof P))return new P(Q,X);if(X&&X in R2)X=null;if(X&&!(X in G))throw Error("Unknown model: "+X);let $,Z;if(Q==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(Q instanceof P)this.model=Q.model,this.color=[...Q.color],this.valpha=Q.valpha;else if(typeof Q==="string"){let J=k.get(Q);if(J===null)throw Error("Unable to parse color from string: "+Q);this.model=J.model,Z=G[this.model].channels,this.color=J.value.slice(0,Z),this.valpha=typeof J.value[Z]==="number"?J.value[Z]:1}else if(Q.length>0){this.model=X||"rgb",Z=G[this.model].channels;let J=Array.prototype.slice.call(Q,0,Z);this.color=s(J,Z),this.valpha=typeof Q[Z]==="number"?Q[Z]:1}else if(typeof Q==="number")this.model="rgb",this.color=[Q>>16&255,Q>>8&255,Q&255],this.valpha=1;else{this.valpha=1;let J=Object.keys(Q);if("alpha"in Q)J.splice(J.indexOf("alpha"),1),this.valpha=typeof Q.alpha==="number"?Q.alpha:0;let V=J.sort().join("");if(!(V in n))throw Error("Unable to parse color from object: "+JSON.stringify(Q));this.model=n[V];let{labels:W}=G[this.model],q=[];for($=0;$<W.length;$++)q.push(Q[W[$]]);this.color=s(q)}if(l[this.model]){Z=G[this.model].channels;for($=0;$<Z;$++){let J=l[this.model][$];if(J)this.color[$]=J(this.color[$])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)}P.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(Q){let X=this.model in k.to?this:this.rgb();X=X.round(typeof Q==="number"?Q:1);let $=X.valpha===1?X.color:[...X.color,this.valpha];return k.to[X.model](...$)},percentString(Q){let X=this.rgb().round(typeof Q==="number"?Q:1),$=X.valpha===1?X.color:[...X.color,this.valpha];return k.to.rgb.percent(...$)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){let Q={},{channels:X}=G[this.model],{labels:$}=G[this.model];for(let Z=0;Z<X;Z++)Q[$[Z]]=this.color[Z];if(this.valpha!==1)Q.alpha=this.valpha;return Q},unitArray(){let Q=this.rgb().color;if(Q[0]/=255,Q[1]/=255,Q[2]/=255,this.valpha!==1)Q.push(this.valpha);return Q},unitObject(){let Q=this.rgb().object();if(Q.r/=255,Q.g/=255,Q.b/=255,this.valpha!==1)Q.alpha=this.valpha;return Q},round(Q){return Q=Math.max(Q||0,0),new P([...this.color.map(v2(Q)),this.valpha],this.model)},alpha(Q){if(Q!==void 0)return new P([...this.color,Math.max(0,Math.min(1,Q))],this.model);return this.valpha},red:E("rgb",0,F(255)),green:E("rgb",1,F(255)),blue:E("rgb",2,F(255)),hue:E(["hsl","hsv","hsl","hwb","hcg"],0,(Q)=>(Q%360+360)%360),saturationl:E("hsl",1,F(100)),lightness:E("hsl",2,F(100)),saturationv:E("hsv",1,F(100)),value:E("hsv",2,F(100)),chroma:E("hcg",1,F(100)),gray:E("hcg",2,F(100)),white:E("hwb",1,F(100)),wblack:E("hwb",2,F(100)),cyan:E("cmyk",0,F(100)),magenta:E("cmyk",1,F(100)),yellow:E("cmyk",2,F(100)),black:E("cmyk",3,F(100)),x:E("xyz",0,F(95.047)),y:E("xyz",1,F(100)),z:E("xyz",2,F(108.833)),l:E("lab",0,F(100)),a:E("lab",1),b:E("lab",2),keyword(Q){if(Q!==void 0)return new P(Q);return G[this.model].keyword(this.color)},hex(Q){if(Q!==void 0)return new P(Q);return k.to.hex(...this.rgb().round().color)},hexa(Q){if(Q!==void 0)return new P(Q);let X=this.rgb().round().color,$=Math.round(this.valpha*255).toString(16).toUpperCase();if($.length===1)$="0"+$;return k.to.hex(...X)+$},rgbNumber(){let Q=this.rgb().color;return(Q[0]&255)<<16|(Q[1]&255)<<8|Q[2]&255},luminosity(){let Q=this.rgb().color,X=[];for(let[$,Z]of Q.entries()){let J=Z/255;X[$]=J<=0.04045?J/12.92:((J+0.055)/1.055)**2.4}return 0.2126*X[0]+0.7152*X[1]+0.0722*X[2]},contrast(Q){let X=this.luminosity(),$=Q.luminosity();if(X>$)return(X+0.05)/($+0.05);return($+0.05)/(X+0.05)},level(Q){let X=this.contrast(Q);if(X>=7)return"AAA";return X>=4.5?"AA":""},isDark(){let Q=this.rgb().color;return(Q[0]*2126+Q[1]*7152+Q[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){let Q=this.rgb();for(let X=0;X<3;X++)Q.color[X]=255-Q.color[X];return Q},lighten(Q){let X=this.hsl();return X.color[2]+=X.color[2]*Q,X},darken(Q){let X=this.hsl();return X.color[2]-=X.color[2]*Q,X},saturate(Q){let X=this.hsl();return X.color[1]+=X.color[1]*Q,X},desaturate(Q){let X=this.hsl();return X.color[1]-=X.color[1]*Q,X},whiten(Q){let X=this.hwb();return X.color[1]+=X.color[1]*Q,X},blacken(Q){let X=this.hwb();return X.color[2]+=X.color[2]*Q,X},grayscale(){let Q=this.rgb().color,X=Q[0]*0.3+Q[1]*0.59+Q[2]*0.11;return P.rgb(X,X,X)},fade(Q){return this.alpha(this.valpha-this.valpha*Q)},opaquer(Q){return this.alpha(this.valpha+this.valpha*Q)},rotate(Q){let X=this.hsl(),$=X.color[0];return $=($+Q)%360,$=$<0?360+$:$,X.color[0]=$,X},mix(Q,X){if(!Q||!Q.rgb)throw Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof Q);let $=Q.rgb(),Z=this.rgb(),J=X===void 0?0.5:X,V=2*J-1,W=$.alpha()-Z.alpha(),q=((V*W===-1?V:(V+W)/(1+V*W))+1)/2,U=1-q;return P.rgb(q*$.red()+U*Z.red(),q*$.green()+U*Z.green(),q*$.blue()+U*Z.blue(),$.alpha()*J+Z.alpha()*(1-J))}};for(let Q of Object.keys(G)){if(R2.includes(Q))continue;let{channels:X}=G[Q];P.prototype[Q]=function(...$){if(this.model===Q)return new P(this);if($.length>0)return new P($,Q);return new P([...u2(G[this.model][Q].raw(this.color)),this.valpha],Q)},P[Q]=function(...$){let Z=$[0];if(typeof Z==="number")Z=s($,X);return new P(Z,Q)}}function p2(Q,X){return Number(Q.toFixed(X))}function v2(Q){return function(X){return p2(X,Q)}}function E(Q,X,$){Q=Array.isArray(Q)?Q:[Q];for(let Z of Q)(l[Z]||=[])[X]=$;return Q=Q[0],function(Z){let J;if(Z!==void 0){if($)Z=$(Z);return J=this[Q](),J.color[X]=Z,J}if(J=this[Q]().color[X],$)J=$(J);return J}}function F(Q){return function(X){return Math.max(0,Math.min(Q,X))}}function u2(Q){return Array.isArray(Q)?Q:[Q]}function s(Q,X){for(let $=0;$<X;$++)if(typeof Q[$]!=="number")Q[$]=0;return Q}var t=P;var $2=z2(T2(),1),d1=(Q,X={})=>{let $=[],Z=[],J={aa:4.5,aaLarge:3,aaa:7,aaaLarge:4.5},W=Object.assign({threshold:0,compact:!1,uniq:!0},X);if(Array.isArray(Q)){let q=Q;if(W.uniq)q=$2.default(Q);if(q!==void 0)$=q.map((U)=>t(U))}else if(typeof Q==="object"){if($=Object.keys(Q).map((q)=>t(Q[q])),W.uniq)$=$2.default($)}else return console.error("Must provide an array or object"),!1;return Z=$.map((q)=>{let U=W.compact?{hex:"",combinations:[]}:{color:q.color,model:q.model,valpha:q.valpha,hex:"",combinations:[]};return U.hex=q.hex(),U.combinations=$.filter((K)=>q!==K).filter((K)=>{if(W.threshold!==void 0)return q.contrast(K)>W.threshold;return!0}).map((K)=>{let D=W.compact?{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0}:{accessibility:{aa:!1,aaLarge:!1,aaa:!1,aaaLarge:!1},hex:"",contrast:0,color:K.color,model:K.model,valpha:K.valpha};D=Object.assign(D,{hex:K.hex(),contrast:q.contrast(K)}),D.accessibility={aa:D.contrast>=J.aa,aaLarge:D.contrast>=J.aaLarge,aaa:D.contrast>=J.aaa,aaaLarge:D.contrast>=J.aaaLarge};let H=W2(q.hex(),K.hex());if(typeof H==="number"){let N=H,B=Math.abs(N),_=400,T=V2(N),L=(j)=>{if(typeof j==="number"&&j<400)return j;return"prohibited"},I={100:L(T[1]),200:L(T[2]),300:L(T[3]),400:L(T[4]),500:L(T[5]),600:L(T[6]),700:L(T[7]),800:L(T[8]),900:L(T[9])},A={lc:N,polarity:N<0?"light-on-dark":"dark-on-light",minimumFontSize:I,readability:{fluentText:{thresholdLc:90,meets:B>=90},bodyText:{thresholdLc:75,meets:B>=75},contentText:{thresholdLc:60,meets:B>=60},largeText:{thresholdLc:45,meets:B>=45},minimumText:{thresholdLc:30,meets:B>=30},nonText:{thresholdLc:15,meets:B>=15}}};if(W.apca?.fontSize&&W.apca?.fontWeight&&Number.isFinite(W.apca.fontSize)){let{fontSize:j,fontWeight:m}=W.apca,f=I[m];A.fontRequirement={fontSize:j,fontWeight:m,minimumFontSize:f,meetsRequirement:f!=="prohibited"&&j>=f}}D.apca=A}return D}),U}),Z},Z5=d1;export{Z5 as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "color-combos",
3
- "version": "1.1.2",
3
+ "version": "1.2.1",
4
4
  "description": "Get accessibility information about colour combinations",
5
5
  "entry": "src/index.ts",
6
6
  "type": "module",
@@ -65,6 +65,7 @@
65
65
  },
66
66
  "homepage": "https://github.com/SiTaggart/color-combos#readme",
67
67
  "dependencies": {
68
+ "apca-w3": "0.1.9",
68
69
  "color": "5.0.3",
69
70
  "lodash.uniq": "4.5.0"
70
71
  },
@@ -72,11 +73,12 @@
72
73
  "@biomejs/biome": "2.3.10",
73
74
  "@sitaggart/lint-config": "1.0.3",
74
75
  "@size-limit/preset-big-lib": "12.0.0",
76
+ "@types/apca-w3": "0.1.3",
75
77
  "@types/bun": "1.3.5",
76
78
  "@types/color": "4.2.0",
77
79
  "@types/lodash": "4.17.21",
78
80
  "@types/lodash.uniq": "4.5.9",
79
- "@types/node": "24.10.4",
81
+ "@types/node": "25.0.3",
80
82
  "husky": "9.1.7",
81
83
  "oxc-transform": "0.104.0",
82
84
  "precise-commits": "1.0.2",
@@ -86,11 +88,11 @@
86
88
  "size-limit": [
87
89
  {
88
90
  "path": "dist/*.js",
89
- "limit": "11 kB"
91
+ "limit": "14 kB"
90
92
  },
91
93
  {
92
94
  "path": "dist/*.mjs",
93
- "limit": "11 kB",
95
+ "limit": "14 kB",
94
96
  "import": "ColorCombos"
95
97
  }
96
98
  ],