forked from gka/chroma.js
-
Notifications
You must be signed in to change notification settings - Fork 2
/
chroma-ultra-light.min.js
86 lines (85 loc) · 19.3 KB
/
chroma-ultra-light.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/**
* chroma.js - JavaScript library for color conversions
*
* Copyright (c) 2023, Regorxxx
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. The name Regorxxx may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* -------------------------------------------------------
* Copyright (c) 2011-2019, Gregor Aisch
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. The name Gregor Aisch may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* -------------------------------------------------------
*
* chroma.js includes colors from colorbrewer2.org, which are released under
* the following license:
*
* Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
* and The Pennsylvania State University.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
* ------------------------------------------------------
*
* Named colors are taken from X11 Color Names.
* http://www.w3.org/TR/css3-color/#svg-color
*
* @preserve
*/
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t="undefined"!=typeof globalThis?globalThis:t||self).chroma=r()}(this,(function(){"use strict";for(var t=function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=1),t<r?r:t>n?n:t},r=t,n={},e=0,a=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];e<a.length;e+=1){var o=a[e];n["[object "+o+"]"]=o.toLowerCase()}var u=function(t){return n[Object.prototype.toString.call(t)]||"object"},i=u,c=u,l=Math.PI,s={clip_rgb:function(t){t._clipped=!1,t._unclipped=t.slice(0);for(var n=0;n<=3;n++)n<3?((t[n]<0||t[n]>255)&&(t._clipped=!0),t[n]=r(t[n],0,255)):3===n&&(t[n]=r(t[n],0,1));return t},limit:t,type:u,unpack:function(t,r){return void 0===r&&(r=null),t.length>=3?Array.prototype.slice.call(t):"object"==i(t[0])&&r?r.split("").filter((function(r){return void 0!==t[0][r]})).map((function(r){return t[0][r]})):t[0]},last:function(t){if(t.length<2)return null;var r=t.length-1;return"string"==c(t[r])?t[r].toLowerCase():null},PI:l,TWOPI:2*l,PITHIRD:l/3,DEG2RAD:l/180,RAD2DEG:180/l},h={format:{},autodetect:[]},f=s.last,g=s.clip_rgb,d=s.type,p=h,v=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=this;if("object"===d(t[0])&&t[0].constructor&&t[0].constructor===this.constructor)return t[0];"array"===d(t[0])&&1===t.length&&(t=[].concat(t[0]));var e=f(t),a=!1;if(!e){a=!0,p.sorted||(p.autodetect=p.autodetect.sort((function(t,r){return r.p-t.p})),p.sorted=!0);for(var o=0,u=p.autodetect;o<u.length;o+=1){var i=u[o];if(e=i.test.apply(i,t))break}}if(!p.format[e])throw new Error("unknown format: "+t);var c=p.format[e].apply(null,a?t:t.slice(0,-1));n._rgb=g(c),3===n._rgb.length&&n._rgb.push(1)};v.prototype.toString=function(){return"function"==d(this.hex)?this.hex():"["+this._rgb.join(",")+"]"};var b=v,m=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(m.Color,[null].concat(t)))};m.Color=b,m.version="2.7.0",m.hueNaN=!0;var N=m,y=s.unpack,k=s.last,M=function(t){return Math.round(100*t)/100},w=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=y(t,"hsla"),e=k(t)||"lsa";return n[0]=M(n[0]||0),n[1]=M(100*n[1])+"%",n[2]=M(100*n[2])+"%","hsla"===e||n.length>3&&n[3]<1?(n[3]=n.length>3?n[3]:1,e="hsla"):n.length=3,e+"("+n.join(",")+")"},_=s.unpack,x=N,j=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=(t=_(t,"rgba"))[0],e=t[1],a=t[2];n/=255,e/=255,a/=255;var o,u,i=Math.min(n,e,a),c=Math.max(n,e,a),l=(c+i)/2;return c===i?(o=0,u=x.hueNaN?Number.NaN:0):o=l<.5?(c-i)/(c+i):(c-i)/(2-c-i),n==c?u=(e-a)/(c-i):e==c?u=2+(a-n)/(c-i):a==c&&(u=4+(n-e)/(c-i)),(u*=60)<0?u+=360:!x.hueNaN&&isNaN(u)&&(u=0),t.length>3&&void 0!==t[3]?[u,o,l,t[3]]:[u,o,l]},$=s.unpack,F=s.last,A=function(t){return Math.round(100*t)/100},D=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=$(t,"lch"),e=F(t)||"lch";return n[0]=A(n[0])+"%",n[1]=A(n[1])+"%",n[2]=A(n[2]||0),"lcha"===e||n.length>3&&n[3]<1?n[3]="/ "+(n.length>3?n[3]:1):n.length=3,"lch("+n.join(" ")+")"},E={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},I=E,C=s.unpack,R=Math.pow,S=function(t){return(t/=255)<=.04045?t/12.92:R((t+.055)/1.055,2.4)},G=function(t){return t>I.t3?R(t,1/3):t/I.t2+I.t0},L=function(t,r,n){return t=S(t),r=S(r),n=S(n),[G((.4124564*t+.3575761*r+.1804375*n)/I.Xn),G((.2126729*t+.7151522*r+.072175*n)/I.Yn),G((.0193339*t+.119192*r+.9503041*n)/I.Zn)]},O=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=C(t,"rgb"),e=n[0],a=n[1],o=n[2],u=L(e,a,o),i=u[0],c=u[1],l=116*c-16;return[l<0?0:l,500*(i-c),200*(c-u[2])]},P=s.unpack,T=s.RAD2DEG,W=Math.sqrt,X=Math.atan2,Y=Math.round,Z=N,q=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=P(t,"lab"),e=n[0],a=n[1],o=n[2],u=W(a*a+o*o),i=(X(o,a)*T+360)%360;return 0===Y(1e4*u)&&(i=Z.hueNaN?Number.NaN:0),[e,u,i]},B=s.unpack,H=O,K=q,U=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=B(t,"rgb"),e=n[0],a=n[1],o=n[2],u=H(e,a,o),i=u[0],c=u[1],l=u[2];return K(i,c,l)},z=s.unpack,J=s.last,Q=function(t){return Math.round(100*t)/100},V=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=z(t,"lab"),e=J(t)||"lab";return n[0]=Q(n[0])+"%",n[1]=Q(n[1])+"%",n[2]=Q(n[2])+"%","laba"===e||n.length>3&&n[3]<1?n[3]="/ "+(n.length>3?n[3]:1):n.length=3,"lab("+n.join(" ")+")"},tt=s.unpack,rt=s.last,nt=function(t){return Math.round(100*t)/100},et=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=tt(t,"lab"),e=rt(t)||"lab";return n[0]=nt(100*n[0])+"%",n[1]=nt(100*n[1])+"%",n[2]=nt(100*n[2])+"%","laba"===e||n.length>3&&n[3]<1?n[3]="/ "+(n.length>3?n[3]:1):n.length=3,"oklab("+n.join(" ")+")"},at=s.unpack,ot=Math.cbrt,ut=Math.pow,it=Math.sign,ct=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=at(t,"rgb"),e=n[0],a=n[1],o=n[2],u=[lt(e/255),lt(a/255),lt(o/255)],i=u[0],c=u[1],l=u[2],s=ot(.4122214708*i+.5363325363*c+.0514459929*l),h=ot(.2119034982*i+.6806995451*c+.1073969566*l),f=ot(.0883024619*i+.2817188376*c+.6299787005*l);return[.2104542553*s+.793617785*h-.0040720468*f,1.9779984951*s-2.428592205*h+.4505937099*f,.0259040371*s+.7827717662*h-.808675766*f]};function lt(t){var r=Math.abs(t);return r<.04045?t/12.92:(it(t)||1)*ut((r+.055)/1.055,2.4)}var st=s.unpack,ht=s.last,ft=function(t){return Math.round(100*t)/100},gt=Math.min,dt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=st(t,"lch"),e=ht(t)||"lch";return n[0]=ft(100*n[0])+"%",n[1]=gt(ft(n[1]/.4*100),100)+"%",n[2]=ft(n[2]||0),"lcha"===e||n.length>3&&n[3]<1?n[3]="/ "+(n.length>3?n[3]:1):n.length=3,"oklch("+n.join(" ")+")"},pt=s.unpack,vt=ct,bt=q,mt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=pt(t,"rgb"),e=n[0],a=n[1],o=n[2],u=vt(e,a,o),i=u[0],c=u[1],l=u[2];return bt(i,c,l)},Nt=s.unpack,yt=s.last,kt=w,Mt=j,wt=D,_t=U,xt=V,jt=O,$t=et,Ft=ct,At=dt,Dt=mt,Et=Math.round,It=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=Nt(t,"rgba"),e=yt(t)||"rgb";return"hsl"==e.substring(0,3)?kt(Mt(n),e):"lch"==e.substring(0,3)?wt(_t(n),e):"lab"==e.substring(0,3)?xt(jt(n).concat([n.length>3?n[3]:1]),e):"oklab"==e.substring(0,5)?$t(Ft(n).concat([n.length>3?n[3]:1]),"lab"):"oklch"==e.substring(0,5)?At(Dt(n).concat([n.length>3?n[3]:1]),"lch"):(n[0]=Et(n[0]),n[1]=Et(n[1]),n[2]=Et(n[2]),("rgba"===e||n.length>3&&n[3]<1)&&(n[3]=n.length>3?n[3]:1,e="rgba"),e+"("+n.slice(0,"rgb"===e?3:4).join(",")+")")},Ct=s.unpack,Rt=Math.round,St=function(){for(var t,r=[],n=arguments.length;n--;)r[n]=arguments[n];var e,a,o,u=(r=Ct(r,"hsl"))[0],i=r[1],c=r[2];if(0===i)e=a=o=255*c;else{var l=[0,0,0],s=[0,0,0],h=c<.5?c*(1+i):c+i-c*i,f=2*c-h,g=u/360;l[0]=g+1/3,l[1]=g,l[2]=g-1/3;for(var d=0;d<3;d++)l[d]<0&&(l[d]+=1),l[d]>1&&(l[d]-=1),6*l[d]<1?s[d]=f+6*(h-f)*l[d]:2*l[d]<1?s[d]=h:3*l[d]<2?s[d]=f+(h-f)*(2/3-l[d])*6:s[d]=f;e=(t=[Rt(255*s[0]),Rt(255*s[1]),Rt(255*s[2])])[0],a=t[1],o=t[2]}return r.length>3?[e,a,o,r[3]]:[e,a,o,1]},Gt=E,Lt=s.unpack,Ot=Math.pow,Pt=function(t){return 255*(t<=.00304?12.92*t:1.055*Ot(t,1/2.4)-.055)},Tt=function(t){return t>Gt.t1?t*t*t:Gt.t2*(t-Gt.t0)},Wt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n,e,a,o=(t=Lt(t,"lab"))[0],u=t[1],i=t[2];return e=(o+16)/116,n=isNaN(u)?e:e+u/500,a=isNaN(i)?e:e-i/200,e=Gt.Yn*Tt(e),n=Gt.Xn*Tt(n),a=Gt.Zn*Tt(a),[Pt(3.2404542*n-1.5371385*e-.4985314*a),Pt(-.969266*n+1.8760108*e+.041556*a),Pt(.0556434*n-.2040259*e+1.0572252*a),t.length>3?t[3]:1]},Xt=s.unpack,Yt=s.DEG2RAD,Zt=Math.sin,qt=Math.cos,Bt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=Xt(t,"lch"),e=n[0],a=n[1],o=n[2];return isNaN(o)&&(o=0),[e,qt(o*=Yt)*a,Zt(o)*a]},Ht=s.unpack,Kt=Bt,Ut=Wt,zt=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=(t=Ht(t,"lch"))[0],e=t[1],a=t[2],o=Kt(n,e,a),u=o[0],i=o[1],c=o[2],l=Ut(u,i,c);return[l[0],l[1],l[2],t.length>3?t[3]:1]},Jt=s.unpack,Qt=Math.pow,Vt=Math.sign,tr=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=(t=Jt(t,"lab"))[0],e=t[1],a=t[2],o=Qt(n+.3963377774*e+.2158037573*a,3),u=Qt(n-.1055613458*e-.0638541728*a,3),i=Qt(n-.0894841775*e-1.291485548*a,3);return[255*rr(4.0767416621*o-3.3077115913*u+.2309699292*i),255*rr(-1.2684380046*o+2.6097574011*u-.3413193965*i),255*rr(-.0041960863*o-.7034186147*u+1.707614701*i),t.length>3?t[3]:1]};function rr(t){var r=Math.abs(t);return r>.0031308?(Vt(t)||1)*(1.055*Qt(r,1/2.4)-.055):12.92*t}var nr=s.unpack,er=Bt,ar=tr,or=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=(t=nr(t,"lch"))[0],e=t[1],a=t[2],o=er(n,e,a),u=o[0],i=o[1],c=o[2],l=ar(u,i,c);return[l[0],l[1],l[2],t.length>3?t[3]:1]},ur=St,ir=Wt,cr=zt,lr=tr,sr=or,hr=h,fr=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,gr=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,dr=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,pr=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,vr=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,br=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,mr=/^lab\(\s*(\d+(?:\.\d+)?)%?\s* (-?\d+(?:\.\d+)?)%?\s* \s*(-?\d+(?:\.\d+)?)%?\s*(?:\/\s*([01]|[01]?\.\d+))?\)$/,Nr=/^lch\(\s*(\d+(?:\.\d+)?)%?\s* (\d+(?:\.\d+)?)%?\s* \s*(-?\d+(?:\.\d+)?)\s*(?:\/\s*([01]|[01]?\.\d+))?\)$/,yr=/^oklab\(\s*(\d+(?:\.\d+)?%?)\s* (-?\d+(?:\.\d+)?%?)\s* \s*(-?\d+(?:\.\d+)?%?)\s*(?:\/\s*([01]|[01]?\.\d+))?\)$/,kr=/^oklch\(\s*(\d+(?:\.\d+)?%?)\s* (\d+(?:\.\d+)?%?)\s* \s*(-?\d+(?:\.\d+)?)\s*(?:\/\s*([01]|[01]?\.\d+))?\)$/,Mr=Math.round,wr=Math.abs,_r=function(t){var r;if(t=t.toLowerCase().trim(),hr.format.named)try{return hr.format.named(t)}catch(t){}if(r=t.match(fr)){for(var n=r.slice(1,4),e=0;e<3;e++)n[e]=Number(n[e]);return n[3]=1,n}if(r=t.match(gr)){for(var a=r.slice(1,5),o=0;o<4;o++)a[o]=Number(a[o]);return a}if(r=t.match(dr)){for(var u=r.slice(1,4),i=0;i<3;i++)u[i]=Mr(2.55*Number(u[i]));return u[3]=1,u}if(r=t.match(pr)){for(var c=r.slice(1,5),l=0;l<3;l++)c[l]=Mr(2.55*Number(c[l]));return c[3]=Number(c[3]),c}if(r=t.match(vr)){for(var s=r.slice(1,4),h=0;h<=2;h++)s[h]=Number(s[h]);s[1]*=.01,s[2]*=.01;var f=ur(s);return f[3]=1,f}if(r=t.match(br)){for(var g=r.slice(1,4),d=0;d<=2;d++)g[d]=Number(g[d]);g[1]*=.01,g[2]*=.01;var p=ur(g);return p[3]=Number(r[4]),p}if(r=t.match(mr)){for(var v=r.slice(1,4),b=0;b<=2;b++)v[b]=Number(v[b]);var m=ir(v).map((function(t){return wr(Mr(t))}));return m[3]=Number(r[4]),m[3]||0===m[3]||(m[3]=1),m}if(r=t.match(Nr)){for(var N=r.slice(1,4),y=0;y<=2;y++)N[y]=Number(N[y]);var k=cr(N).map((function(t){return wr(Mr(t))}));return k[3]=Number(r[4]),k[3]||0===k[3]||(k[3]=1),k}if(r=t.match(yr)){for(var M=r.slice(1,4),w=0;w<=2;w++)M[w].endsWith("%")?M[w]=.01*Number(M[w].replace("%","")):M[w]=Number(M[w]);var _=lr(M).map((function(t){return wr(Mr(t))}));return _[3]=Number(r[4]),_[3]||0===_[3]||(_[3]=1),_}if(r=t.match(kr)){for(var x=r.slice(1,4),j=0;j<=1;j++)x[j].endsWith("%")?(x[j]=.01*Number(x[j].replace("%","")),1===j&&(x[j]*=.4)):x[j]=Number(x[j]);var $=sr(x).map((function(t){return wr(Mr(t))}));return $[3]=Number(r[4]),$[3]||0===$[3]||($[3]=1),$}};_r.test=function(t){return fr.test(t)||gr.test(t)||dr.test(t)||pr.test(t)||vr.test(t)||br.test(t)||mr.test(t)||Nr.test(t)||yr.test(t)||kr.test(t)};var xr=N,jr=b,$r=h,Fr=s.type,Ar=It,Dr=_r;jr.prototype.css=function(t){return Ar(this._rgb,t)},xr.css=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(jr,[null].concat(t,["css"])))},$r.format.css=Dr,$r.autodetect.push({p:5,test:function(t){for(var r=[],n=arguments.length-1;n-- >0;)r[n]=arguments[n+1];if(!r.length&&"string"===Fr(t)&&Dr.test(t))return"css"}});var Er=s.unpack,Ir=s.last,Cr=Math.round,Rr=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=Er(t,"rgba"),e=n[0],a=n[1],o=n[2],u=n[3],i=Ir(t)||"auto";void 0===u&&(u=1),"auto"===i&&(i=u<1?"rgba":"rgb");var c="000000"+((e=Cr(e))<<16|(a=Cr(a))<<8|(o=Cr(o))).toString(16);c=c.substring(c.length-6);var l="0"+Cr(255*u).toString(16);switch(l=l.substring(l.length-2),i.toLowerCase()){case"rgba":return"#"+c+l;case"argb":return"#"+l+c;default:return"#"+c}},Sr=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Gr=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Lr=function(t){if(t.match(Sr)){4!==t.length&&7!==t.length||(t=t.substring(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]);var r=parseInt(t,16);return[r>>16,r>>8&255,255&r,1]}if(t.match(Gr)){5!==t.length&&9!==t.length||(t=t.substring(1)),4===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]);var n=parseInt(t,16);return[n>>24&255,n>>16&255,n>>8&255,Math.round((255&n)/255*100)/100]}throw new Error("unknown hex color: "+t)},Or=N,Pr=b,Tr=s.type,Wr=h,Xr=Rr;Pr.prototype.hex=function(t){return Xr(this._rgb,t)},Or.hex=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(Pr,[null].concat(t,["hex"])))},Wr.format.hex=Lr,Wr.autodetect.push({p:4,test:function(t){for(var r=[],n=arguments.length-1;n-- >0;)r[n]=arguments[n+1];if(!r.length&&"string"===Tr(t)&&[3,4,5,6,7,8,9].indexOf(t.length)>=0)return"hex"}});var Yr=N,Zr=b,qr=h,Br=s.unpack,Hr=s.type,Kr=Math.round;Zr.prototype.rgb=function(t){return void 0===t&&(t=!0),!1===t?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Kr)},Zr.prototype.rgba=function(t){return void 0===t&&(t=!0),this._rgb.slice(0,4).map((function(r,n){return n<3?!1===t?r:Kr(r):r}))},Yr.rgb=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(Zr,[null].concat(t,["rgb"])))},qr.format.rgb=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=Br(t,"rgba");return void 0===n[3]&&(n[3]=1),n},qr.autodetect.push({p:3,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t=Br(t,"rgba"),"array"===Hr(t)&&(3===t.length||4===t.length&&"number"==Hr(t[3])&&t[3]>=0&&t[3]<=1))return"rgb"}});var Ur=s.unpack,zr=s.last,Jr=Math.round,Qr=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var n=Ur(t,"rgba"),e=(1!==n[3]?zr(t):"rgb")||"rgb";return n[0]=Jr(n[0]),n[1]=Jr(n[1]),n[2]=Jr(n[2]),("rgba"===e||n.length>3&&n[3]<1&&"rgb"!==zr(t))&&(n[3]=n.length>3?n[3]:1,e="rgba"),"rgba"===e?n[3]<<24|n[0]<<16|n[1]<<8|n[2]:4278190080|n[0]<<16|n[1]<<8|n[2]},Vr=s.type,tn=function(t){if("number"==Vr(t)){var r=(t>>24&255)/255;if(r>=0&&r<=1){var n=t-4278190080;return[n>>16&255,n>>8&255,255&n,r]}}throw new Error("unknown android color: "+t)},rn=N,nn=b,en=h,an=s.type,on=Qr;nn.prototype.android=function(t){return on(this._rgb,t)},rn.android=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return new(Function.prototype.bind.apply(nn,[null].concat(t,["android"])))},en.format.android=tn,en.autodetect.push({p:5,test:function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];if(1===t.length&&"number"===an(t[0])){var n=(t[0]>>24&255)/255;if(n>=0&&n<=1){var e=t[0]-4278190080;if([e>>16&255,e>>8&255,255&e].every((function(t){return t>=0&&t<=255})))return"android"}}}}),b.prototype.get=function(t){var r=t.split("."),n=r[0],e=r[1],a=this[n]();if(e){var o=n.indexOf(e)-("ok"===n.substring(0,2)?2:0);if(o>-1)return a[o];throw new Error("unknown channel "+e+" in mode "+n)}return a};var un=b,cn=N;return cn.valid=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];try{return new(Function.prototype.bind.apply(un,[null].concat(t))),!0}catch(t){return!1}},cn}));