/*! * eisenscript * https://github.com/after12am/eisenscript * (c)2013-2020 Satoshi Okami * Released under the MIT license */ var eisen=EISEN=function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var i=r(6),a=n(i),s=r(12),o=n(s);e.exports.Compiler=a.default,e.exports.OBJExporter=o.default},function(e,t){"use strict";function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(e){if(l===setTimeout)return setTimeout(e,0);if((l===r||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function a(e){if(c===clearTimeout)return clearTimeout(e);if((c===n||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(e);try{return c(e)}catch(t){try{return c.call(null,e)}catch(t){return c.call(this,e)}}}function s(){y&&p&&(y=!1,p.length?m=p.concat(m):d=-1,m.length&&o())}function o(){if(!y){var e=i(s);y=!0;for(var t=m.length;t;){for(p=m,m=[];++d1)for(var r=1;r0},n.brehaut.Color=s}.call(n.brehaut),e.exports=n.brehaut.Color},function(e,t){"use strict"},function(e,t,r){(function(e){"use strict";function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n=-1&&!i;a--){var s=a>=0?arguments[a]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return t=r(n(t.split("/"),function(e){return!!e}),!i).join("/"),(i?"/":"")+t||"."},t.normalize=function(e){var i=t.isAbsolute(e),a="/"===s(e,-1);return e=r(n(e.split("/"),function(e){return!!e}),!i).join("/"),e||i||(e="."),e&&a&&(e+="/"),(i?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var i=n(e.split("/")),a=n(r.split("/")),s=Math.min(i.length,a.length),o=s,u=0;u=1e3?(console.warn("[eisenscript.js] terminated because maximum number of generations reached (1000)"),!0):!!(this.maxobjects&&this.objectnum>this.maxobjects)||!!(this.maxdepth&&this.depth>this.maxdepth-3)}},{key:"pushState",value:function(){return this.depth++,this.stack.push({matrix:this.curr.matrix.clone(),hsv:this.curr.hsv.clone(),blend:u.extend({},this.curr.blend),alpha:this.curr.alpha}),this}},{key:"popState",value:function(){return this.stack.length>0&&(this.curr=this.stack.pop(),this.depth--),this}},{key:"translate",value:function(e,t,r){return this.curr.matrix.translate({x:e,y:t,z:r}),this}},{key:"rotateX",value:function(e){return this.curr.matrix.rotateX(e),this}},{key:"rotateY",value:function(e){return this.curr.matrix.rotateY(e),this}},{key:"rotateZ",value:function(e){return this.curr.matrix.rotateZ(e),this}},{key:"scale",value:function(e,t,r){return this.curr.matrix.scale({x:e,y:t,z:r}),this}},{key:"matrix",value:function(e){return this.curr.matrix.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1),this}},{key:"multiplyMatrices",value:function(e){return this.curr.matrix.multiplyMatrices(this.curr.matrix,new o(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1)),this}},{key:"randomColor",value:function(){if(this.colorpool===a.ColorList){if(this.colorscheme.length>0){var e=Math.floor(this.mt.next()*this.colorpool.length);return this.colorscheme[e]}}else{if(this.colorpool===a.ColorGreyscale){var t=255*this.mt.next();return"#"+u.rgb2hex(t,t,t)}if(this.colorpool===a.ColorRandomhue){var r=Math.floor(360*this.mt.next()),n=u.hsv2rgb(r,1,1);return"#"+u.rgb2hex(n[0],n[1],n[2])}if(this.colorpool===a.ColorRandomrgb){var i=[255*this.mt.next(),255*this.mt.next(),255*this.mt.next()];return"#"+u.rgb2hex(i[0],i[1],i[2])}}var s=16777215*this.mt.next(),o=Math.floor(s).toString(16);return"#"+o}},{key:"setColor",value:function(e){return this.curr.hsv=s("random"===e?this.randomColor():e).toHSV(),this}},{key:"setHue",value:function(e){return this.curr.hsv.computed=!0,this.curr.hsv.hue+=e%360,this}},{key:"setSaturation",value:function(e){this.curr.hsv.computed=!0;var t=this.curr.hsv.saturation;return(0>t*e||t*e>1)&&console.warn("[eisenscript.js] Saturation is measured from 0 to 1 and is clamped to this interval (i.e. values larger then 1 are set to 1."),this.curr.hsv.saturation=f(t*e,0,1),this}},{key:"setBrightness",value:function(e){this.curr.hsv.computed=!0;var t=this.curr.hsv.value;return(0>t*e||t*e>1)&&console.warn("[eisenscript.js] Brightness is measured from 0 to 1 and is clamped to this interval."),this.curr.hsv.value=f(t*e,0,1),this}},{key:"setBlend",value:function(e,t){return this.curr.blend.color=e,this.curr.blend.strength=this.curr.blend.strength+f(t,0,1)/2,this.curr.hsv=this.curr.hsv.blend(s("random"===this.curr.blend.color?this.randomColor():this.curr.blend.color).toHSV(),this.curr.blend.strength),this}},{key:"setAlpha",value:function(e){var t=this.curr.alpha;return(0>t*e||t*e>1)&&console.warn("[eisenscript.js] Alpha is measured from 0 to 1 and is clamped to this interval."),this.curr.alpha=f(this.curr.alpha*e,0,1),this}},{key:"resolveVarname",value:function(e){for(var t=0;t0)){i=s;break}n-=s.weight}}return i?i.maxdepth&&i.maxdepth=i.maxdepth)&&(this.depthr?r:e},e.exports.degToRad=function(e){return e*Math.PI/180}},function(e,t,r){(function(e){"use strict";function t(e){0==arguments.length&&(e=(new Date).getTime()),this._mt=new Array(624),this.setSeed(e)}t._mulUint32=function(e,t){var r=e>>>16,n=65535&e,i=t>>>16,a=65535&t;return(r*a+n*i<<16)+n*a>>>0},t._toNumber=function(e){return"number"!=typeof e||isNaN(e)?0:Math.ceil(e)},t.prototype.setSeed=function(e){var r=this._mt;if("number"==typeof e){r[0]=e>>>0;for(var n=1;n>>30;r[n]=t._mulUint32(1812433253,i)+n}this._index=r.length}else{if(!(e instanceof Array))throw new TypeError("MersenneTwister: illegal seed.");var n=1,a=0;this.setSeed(19650218);for(var s=Math.max(r.length,e.length);s>0;s--){var i=r[n-1]^r[n-1]>>>30;i=t._mulUint32(i,1664525),r[n]=(r[n]^i)+(e[a]>>>0)+a,++n>=r.length&&(r[0]=r[r.length-1],n=1),++a>=e.length&&(a=0)}for(var s=r.length-1;s>0;s--){var i=r[n-1]^r[n-1]>>>30;i=t._mulUint32(i,1566083941),r[n]=(r[n]^i)-n,++n>=r.length&&(r[0]=r[r.length-1],n=1)}r[0]=2147483648}},t.prototype._nextInt=function(){var e,t=this._mt;if(this._index>=t.length){var r=0,n=t.length,i=397;do e=2147483648&t[r]|2147483647&t[r+1],t[r]=t[r+i]^e>>>1^(1&e?2567483615:0);while(++r>>1^(1&e?2567483615:0);while(++r>>1^(1&e?2567483615:0),this._index=0}return e=t[this._index++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0},t.prototype.nextInt=function(){var e,r;switch(arguments.length){case 0:return this._nextInt();case 1:e=0,r=t._toNumber(arguments[0]);break;default:e=t._toNumber(arguments[0]),r=t._toNumber(arguments[1])-e}if(!(04294967296-(n-(n%=r)));return n+e},t.prototype.next=function(){var e=this._nextInt()>>>5,t=this._nextInt()>>>6;return(67108864*e+t)/9007199254740992},e&&(e.exports=t)}).call(t,r(2)(e))},function(e,t,r){(function(e,n){"use strict";var i=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r},r=[5,18,30,32,33,34,35,36,37,44,45,48,57,89,90,91,92,93,94,95,96,97,98],n=[30,48,57,89,90,91,92,93,94,95,96,97,98],i=[2,68],a=[1,19],s=[1,17],o=[1,18],u=[1,20],h=[1,21],l=[1,22],c=[1,32],f=[1,37],p=[1,38],m=[1,39],y=[1,40],d=[1,76],g=[5,18,30,32,33,34,35,36,37,44,45,48,50,57,74,75,76,77,78,79,80,81,82,83,84,89,90,91,92,93,94,95,96,97,98],b=[5,18,19,30,32,33,34,35,36,37,44,45,48,50,52,53,57,70,71,74,75,76,77,78,79,80,81,82,83,84,86,89,90,91,92,93,94,95,96,97,98],v=[19,48,52],k=[2,114],F=[5,18,30,32,33,34,35,36,37,44,45,48,50,57,89,90,91,92,93,94,95,96,97,98],E=[18,32,33,34,35,36,37,50,74,75,76,77,78,79,80,81,82,83,84],A=[60,66,70,71,89],x=[30,48,50,57,89,90,91,92,93,94,95,96,97,98],D=[1,152],S=[1,153],w=[60,66,69,70,71,89],R=[1,183],C={trace:function(){},yy:{},symbols_:{error:2,eisenscript:3,lines:4,EOF:5,line:6,maxdepth:7,maxobjects:8,minsize:9,maxsize:10,seed:11,background:12,color:13,colorpool:14,define:15,rule:16,statement:17,SET:18,MAXDEPTH:19,num:20,MAXOBJECTS:21,MINSIZE:22,MAXSIZE:23,SEED:24,INITIAL:25,BACKGROUND:26,COLOR3:27,COLOR6:28,COLORNAME:29,STRING:30,RANDOM:31,COLOR:32,HUE:33,ALPHA:34,BLEND:35,SATURATION:36,BRIGHTNESS:37,COLORPOOL:38,RANDOMHUE:39,RANDOMRGB:40,GREYSCALE:41,COLORLIST:42,IMAGE:43,DEFINE:44,RULE:45,id:46,modifiers:47,"{":48,statements:49,"}":50,modifier:51,WEIGHT:52,">":53,rulename:54,expressions:55,primitive:56,TRIANGLE:57,"[":58,coords:59,"]":60,expression:61,object:62,n:63,"*":64,properties:65,COORD_DELIMITER:66,coord:67,coord_point:68,",":69,"+":70,"-":71,property:72,geo:73,XSHIFT:74,YSHIFT:75,ZSHIFT:76,ROTATEX:77,ROTATEY:78,ROTATEZ:79,SIZE:80,MATRIX:81,FX:82,FY:83,FZ:84,"/":85,"(":86,e:87,")":88,NUMBER:89,BOX:90,SPHERE:91,GRID:92,LINE:93,POINT:94,MESH:95,CYLINDER:96,TUBE:97,SQUASH:98,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",18:"SET",19:"MAXDEPTH",21:"MAXOBJECTS",22:"MINSIZE",23:"MAXSIZE",24:"SEED",25:"INITIAL",26:"BACKGROUND",27:"COLOR3",28:"COLOR6",29:"COLORNAME",30:"STRING",31:"RANDOM",32:"COLOR",33:"HUE",34:"ALPHA",35:"BLEND",36:"SATURATION",37:"BRIGHTNESS",38:"COLORPOOL",39:"RANDOMHUE",40:"RANDOMRGB",41:"GREYSCALE",42:"COLORLIST",43:"IMAGE",44:"DEFINE",45:"RULE",48:"{",50:"}",52:"WEIGHT",53:">",57:"TRIANGLE",58:"[",60:"]",64:"*",66:"COORD_DELIMITER",69:",",70:"+",71:"-",74:"XSHIFT",75:"YSHIFT",76:"ZSHIFT",77:"ROTATEX",78:"ROTATEY",79:"ROTATEZ",80:"SIZE",81:"MATRIX",82:"FX",83:"FY",84:"FZ",85:"/",86:"(",87:"e",88:")",89:"NUMBER",90:"BOX",91:"SPHERE",92:"GRID",93:"LINE",94:"POINT",95:"MESH",96:"CYLINDER",97:"TUBE",98:"SQUASH"},productions_:[0,[3,2],[4,2],[4,0],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[7,3],[8,3],[9,3],[10,3],[11,3],[11,3],[12,3],[12,3],[12,3],[12,3],[12,3],[13,3],[13,2],[13,2],[13,2],[13,2],[13,2],[13,2],[13,2],[13,2],[13,2],[13,3],[13,3],[13,3],[13,3],[13,3],[13,2],[13,2],[13,2],[13,2],[14,3],[14,3],[14,3],[14,3],[14,3],[15,3],[15,3],[15,3],[15,3],[16,6],[47,2],[47,0],[51,2],[51,2],[51,4],[51,2],[51,4],[49,2],[49,0],[17,2],[17,5],[17,2],[55,2],[55,0],[61,1],[61,3],[61,3],[62,3],[59,3],[59,2],[59,0],[67,5],[68,1],[68,2],[68,2],[65,2],[65,0],[72,1],[72,1],[73,2],[73,2],[73,2],[73,2],[73,2],[73,2],[73,2],[73,4],[73,10],[73,2],[73,2],[73,2],[73,2],[73,2],[73,2],[73,1],[73,1],[73,1],[73,2],[73,4],[73,10],[20,1],[20,2],[20,2],[20,3],[20,3],[20,4],[20,4],[20,3],[63,1],[46,1],[54,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1]],performAction:function(e,t,r,n,i,a,s){var o=a.length-1;switch(i){case 1:return this.$=a[o-1],this.$;case 2:case 55:case 62:case 67:case 74:this.$=a[o-1],this.$.push(a[o]);break;case 3:case 56:case 63:case 68:case 75:case 81:this.$=[];break;case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:this.$=a[o];break;case 14:this.$=a[o],a[o].computed=!0;break;case 15:this.$={type:"set",key:"maxdepth",value:a[o]};break;case 16:this.$={type:"set",key:"maxobjects",value:a[o]};break;case 17:this.$={type:"set",key:"minsize",value:a[o]};break;case 18:this.$={type:"set",key:"maxsize",value:a[o]};break;case 19:case 20:this.$={type:"set",key:"seed",value:a[o]};break;case 21:case 22:case 23:case 24:case 25:this.$={type:"set",key:"background",value:a[o].toLowerCase()};break;case 26:this.$={type:"set",key:"color",value:a[o].toLowerCase()};break;case 27:this.$={type:"property",key:"hue",value:a[o]};break;case 28:this.$={type:"property",key:"hue",value:a[o],defined:!0};break;case 29:this.$={type:"property",key:"alpha",value:a[o]};break;case 30:this.$={type:"property",key:"alpha",value:a[o],defined:!0};break;case 31:case 32:case 33:case 34:this.$={type:"property",key:"color",value:a[o].toLowerCase()};break;case 35:this.$={type:"property",key:"color",value:a[o].toLowerCase(),defined:!0};break;case 36:case 37:case 38:case 39:case 40:this.$={type:"property",key:"blend",color:a[o-1].toLowerCase(),strength:a[o]};break;case 41:this.$={type:"property",key:"saturation",value:a[o]};break;case 42:this.$={type:"property",key:"saturation",value:a[o],defined:!0};break;case 43:this.$={type:"property",key:"brightness",value:a[o]};break;case 44:this.$={type:"property",key:"brightness",value:a[o],defined:!0};break;case 45:case 46:case 47:case 48:case 49:this.$={type:"set",key:"colorpool",value:a[o].toLowerCase()};break;case 50:case 51:case 52:case 53:this.$={type:"define",varname:a[o-1],value:a[o]};break;case 54:this.$={type:"rule",id:a[o-4],params:a[o-3],body:a[o-1]};break;case 57:this.$={type:"modifier",key:"weight",value:a[o]};break;case 58:this.$={type:"modifier",key:"maxdepth",value:a[o]};break;case 59:this.$={type:"modifier",key:"maxdepth",value:a[o-2],alternate:a[o]};break;case 60:this.$={type:"modifier",key:"maxdepth",value:a[o],defined:!0};break;case 61:this.$={type:"modifier",key:"maxdepth",value:a[o-2],alternate:a[o],defined:!0};break;case 64:this.$={type:"primitive",id:a[o],exprs:a[o-1]};break;case 65:this.$={type:"primitive",coords:a[o-1],id:a[o-3],exprs:a[o-4]};break;case 66:this.$={type:"statement",id:a[o],exprs:a[o-1]};break;case 69:this.$={type:"expr",left:1,right:a[o]};break;case 70:case 71:this.$={type:"expr",left:a[o-2],right:a[o]};break;case 72:this.$={type:"object",properties:a[o-1]};break;case 73:this.$=a[o-2],this.$.push(a[o]);break;case 76:this.$=[a[o-4],a[o-2],a[o]];break;case 78:case 106:this.$=a[o];break;case 79:case 107:this.$=-a[o];break;case 80:this.$=a[o-1],this.$.push(a[o]);break;case 84:this.$={type:"property",key:"xshift",value:a[o]};break;case 85:this.$={type:"property",key:"yshift",value:a[o]};break;case 86:this.$={type:"property",key:"zshift",value:a[o]};break;case 87:this.$={type:"property",key:"rotatex",value:a[o]};break;case 88:this.$={type:"property",key:"rotatey",value:a[o]};break;case 89:this.$={type:"property",key:"rotatez",value:a[o]};break;case 90:this.$={type:"property",key:"size",value:{x:a[o],y:a[o],z:a[o]}};break;case 91:this.$={type:"property",key:"size",value:{x:a[o-2],y:a[o-1],z:a[o]}};break;case 92:this.$={type:"property",key:"matrix",value:[a[o-8],a[o-7],a[o-6],a[o-5],a[o-4],a[o-3],a[o-2],a[o-1],a[o]]};break;case 93:this.$={type:"property",key:"xshift",value:a[o],defined:!0};break;case 94:this.$={type:"property",key:"yshift",value:a[o],defined:!0};break;case 95:this.$={type:"property",key:"zshift",value:a[o],defined:!0};break;case 96:this.$={type:"property",key:"rotatex",value:a[o],defined:!0};break;case 97:this.$={type:"property",key:"rotatey",value:a[o],defined:!0};break;case 98:this.$={type:"property",key:"rotatez",value:a[o],defined:!0};break;case 99:this.$={type:"property",key:"fx"};break;case 100:this.$={type:"property",key:"fy"};break;case 101:this.$={type:"property",key:"fz"};break;case 102:this.$={type:"property",key:"size",value:{x:a[o],y:a[o],z:a[o]},defined:!0};break;case 103:this.$={type:"property",key:"size",value:{x:a[o-2],y:a[o-1],z:a[o]},defined:!0};break;case 104:this.$={type:"property",key:"matrix",value:[a[o-8],a[o-7],a[o-6],a[o-5],a[o-4],a[o-3],a[o-2],a[o-1],a[o]],defined:!0};break;case 108:this.$=a[o-2]*a[o];break;case 109:this.$=a[o-2]/a[o];break;case 110:this.$=-a[o-2]*a[o];break;case 111:this.$=-a[o-2]/a[o];break;case 112:this.$=a[o-1];break;case 113:this.$=parseFloat(e);break;case 114:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:this.$=e;break;case 115:this.$=a[o]}},table:[t(r,[2,3],{3:1,4:2}),{1:[3]},t(n,i,{6:4,7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:12,15:13,16:14,17:15,55:25,5:[1,3],18:[1,16],32:a,33:s,34:o,35:u,36:h,37:l,44:[1,23],45:[1,24]}),{1:[2,1]},t(r,[2,2]),t(r,[2,4]),t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),{19:[1,26],21:[1,27],22:[1,28],23:[1,29],24:[1,30],26:[1,31],32:c,38:[1,33]},{20:34,30:[1,35],63:36,70:f,71:p,86:m,89:y},{20:41,30:[1,42],63:36,70:f,71:p,86:m,89:y},{27:[1,43],28:[1,44],29:[1,46],30:[1,47],31:[1,45]},{27:[1,48],28:[1,49],29:[1,50],30:[1,52],31:[1,51]},{20:53,30:[1,54],63:36,70:f,71:p,86:m,89:y},{20:55,30:[1,56],63:36,70:f,71:p,86:m,89:y},{30:[1,57]},{30:[1,59],46:58},{30:[1,73],46:62,48:d,56:60,57:[1,61],61:63,62:74,63:75,89:y,90:[1,64],91:[1,65],92:[1,66],93:[1,67],94:[1,68],95:[1,69],96:[1,70],97:[1,71],98:[1,72]},{20:77,63:36,70:f,71:p,86:m,89:y},{20:78,63:36,70:f,71:p,86:m,89:y},{20:79,63:36,70:f,71:p,86:m,89:y},{20:80,63:36,70:f,71:p,86:m,89:y},{20:81,25:[1,82],63:36,70:f,71:p,86:m,89:y},{27:[1,83],28:[1,84],29:[1,85],30:[1,86],31:[1,87]},{31:[1,88]},{39:[1,89],40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(g,[2,27]),t(g,[2,28]),t(b,[2,105],{64:[1,94],85:[1,95]}),{63:96,89:y},{63:97,89:y},{87:[1,98]},t([5,18,19,30,32,33,34,35,36,37,44,45,48,50,52,53,57,60,64,66,69,70,71,74,75,76,77,78,79,80,81,82,83,84,85,86,89,90,91,92,93,94,95,96,97,98],[2,113]),t(g,[2,29]),t(g,[2,30]),t(g,[2,31]),t(g,[2,32]),t(g,[2,33]),t(g,[2,34]),t(g,[2,35]),{20:99,63:36,70:f,71:p,86:m,89:y},{20:100,63:36,70:f,71:p,86:m,89:y},{20:101,63:36,70:f,71:p,86:m,89:y},{20:102,63:36,70:f,71:p,86:m,89:y},{20:103,63:36,70:f,71:p,86:m,89:y},t(g,[2,41]),t(g,[2,42]),t(g,[2,43]),t(g,[2,44]),{20:104,27:[1,105],28:[1,106],29:[1,107],63:36,70:f,71:p,86:m,89:y},t(v,[2,56],{47:108}),t(v,k),t(F,[2,64]),t(F,[2,121],{58:[1,109]}),t(F,[2,66]),t(n,[2,67]),t(F,[2,116]),t(F,[2,117]),t(F,[2,118]),t(F,[2,119]),t(F,[2,120]),t(F,[2,122]),t(F,[2,123]),t(F,[2,124]),t(F,[2,125]),t(F,k,{64:[1,110]}),t(n,[2,69]),{64:[1,111]},t(E,[2,81],{65:112}),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),t(r,[2,18]),t(r,[2,19]),t(r,[2,20]),t(r,[2,21]),t(r,[2,22]),t(r,[2,23]),t(r,[2,24]),t(r,[2,25]),t(g,[2,26]),t(r,[2,45]),t(r,[2,46]),t(r,[2,47]),t(r,[2,48]),t(r,[2,49]),{63:113,89:y},{63:114,89:y},t(b,[2,106]),t(b,[2,107],{64:[1,115],85:[1,116]}),{88:[1,117]},t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(r,[2,50]),t(r,[2,51]),t(r,[2,52]),t(r,[2,53]),{19:[1,121],48:[1,118],51:119,52:[1,120]},t(A,[2,75],{59:122}),{48:d,62:123},{48:d,62:124},{13:128,18:[1,140],32:a,33:s,34:o,35:u,36:h,37:l,50:[1,125],72:126,73:127,74:[1,129],75:[1,130],76:[1,131],77:[1,132],78:[1,133],79:[1,134],80:[1,135],81:[1,136],82:[1,137],83:[1,138],84:[1,139]},t(b,[2,108]),t(b,[2,109]),{63:141,89:y},{63:142,89:y},t(b,[2,112]),t(x,[2,63],{49:143}),t(v,[2,55]),{20:144,63:36,70:f,71:p,86:m,89:y},{20:145,30:[1,146],63:36,70:f,71:p,86:m,89:y},{60:[1,147],63:151,66:[1,148],67:149,68:150,70:D,71:S,89:y},t(n,[2,71]),t(n,[2,70]),t(n,[2,72]),t(E,[2,80]),t(E,[2,82]),t(E,[2,83]),{20:154,30:[1,155],63:36,70:f,71:p,86:m,89:y},{20:156,30:[1,157],63:36,70:f,71:p,86:m,89:y},{20:158,30:[1,159],63:36,70:f,71:p,86:m,89:y},{20:160,30:[1,161],63:36,70:f,71:p,86:m,89:y},{20:162,30:[1,163],63:36,70:f,71:p,86:m,89:y},{20:164,30:[1,165],63:36,70:f,71:p,86:m,89:y},{20:166,30:[1,167],63:36,70:f,71:p,86:m,89:y},{20:168,30:[1,169],63:36,70:f,71:p,86:m,89:y},t(E,[2,99]),t(E,[2,100]),t(E,[2,101]),{32:c},t(b,[2,110]),t(b,[2,111]),t(n,i,{55:25,17:171,50:[1,170]}),t(v,[2,57]),t(v,[2,58],{53:[1,172]}),t(v,[2,60],{53:[1,173]}),t(F,[2,65]),{63:151,67:174,68:150,70:D,71:S,89:y},t(A,[2,74]),{69:[1,175]},t(w,[2,77]),{63:176,89:y},{63:177,89:y},t(E,[2,84]),t(E,[2,93]),t(E,[2,85]),t(E,[2,94]),t(E,[2,86]),t(E,[2,95]),t(E,[2,87]),t(E,[2,96]),t(E,[2,88]),t(E,[2,97]),t(E,[2,89]),t(E,[2,98]),t(E,[2,90],{63:36,20:178,70:f,71:p,86:m,89:y}),t(E,[2,102],{30:[1,179]}),{20:180,63:36,70:f,71:p,86:m,89:y},{30:[1,181]},t(r,[2,54]),t(x,[2,62]),{30:R,54:182},{30:R,54:184},t(A,[2,73]),{63:151,68:185,70:D,71:S,89:y},t(w,[2,78]),t(w,[2,79]),{20:186,63:36,70:f,71:p,86:m,89:y},{30:[1,187]},{20:188,63:36,70:f,71:p,86:m,89:y},{30:[1,189]},t(v,[2,59]),t(v,[2,115]),t(v,[2,61]),{69:[1,190]},t(E,[2,91]),t(E,[2,103]),{20:191,63:36,70:f,71:p,86:m,89:y},{30:[1,192]},{63:151,68:193,70:D,71:S,89:y},{20:194,63:36,70:f,71:p,86:m,89:y},{30:[1,195]},t(A,[2,76]),{20:196,63:36,70:f,71:p,86:m,89:y},{30:[1,197]},{20:198,63:36,70:f,71:p,86:m,89:y},{30:[1,199]},{20:200,63:36,70:f,71:p,86:m,89:y},{30:[1,201]},{20:202,63:36,70:f,71:p,86:m,89:y},{30:[1,203]},t(E,[2,92]),t(E,[2,104])],defaultActions:{3:[2,1]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){var t=this,r=[0],n=[null],i=[],a=this.table,s="",o=0,u=0,h=0,l=2,c=1,f=i.slice.call(arguments,1),p=Object.create(this.lexer),m={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(m.yy[y]=this.yy[y]);p.setInput(e,m.yy),m.yy.lexer=p,m.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var d=p.yylloc;i.push(d);var g=p.options&&p.options.ranges;"function"==typeof m.yy.parseError?this.parseError=m.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,v,k,F,E,A,x,D,S,w=function(){var e;return e=p.lex()||c,"number"!=typeof e&&(e=t.symbols_[e]||e),e},R={};;){if(k=r[r.length-1],this.defaultActions[k]?F=this.defaultActions[k]:(null!==b&&"undefined"!=typeof b||(b=w()),F=a[k]&&a[k][b]),"undefined"==typeof F||!F.length||!F[0]){var C="";S=[];for(A in a[k])this.terminals_[A]&&A>l&&S.push("'"+this.terminals_[A]+"'");C=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(o+1)+": Unexpected "+(b==c?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(C,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:d,expected:S})}if(F[0]instanceof Array&&F.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+b);switch(F[0]){case 1:r.push(b),n.push(p.yytext),i.push(p.yylloc),r.push(F[1]),b=null,v?(b=v,v=null):(u=p.yyleng,s=p.yytext,o=p.yylineno,d=p.yylloc,h>0&&h--);break;case 2:if(x=this.productions_[F[1]][1],R.$=n[n.length-x],R._$={first_line:i[i.length-(x||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(x||1)].first_column,last_column:i[i.length-1].last_column},g&&(R._$.range=[i[i.length-(x||1)].range[0],i[i.length-1].range[1]]),E=this.performAction.apply(R,[s,u,o,m.yy,F[1],n,i].concat(f)),"undefined"!=typeof E)return E;x&&(r=r.slice(0,-1*x*2),n=n.slice(0,-1*x),i=i.slice(0,-1*x)),r.push(this.productions_[F[1]][0]),n.push(R.$),i.push(R._$),D=a[r[r.length-2]][r[r.length-1]],r.push(D);break;case 3:return!0}}return!0}},M=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var t=e.match(/(?:\r\n?|\n).*/g);return t?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;at[0].length)){if(t=r,n=a,this.options.backtrack_lexer){if(e=this.test_match(r,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[n]),e!==!1&&e):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){var e=this.conditionStack.length-1;return e>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,r,n){switch(r){case 0:break;case 1:break;case 2:break;case 3:return 18;case 4:return 52;case 5:return 52;case 6:return 19;case 7:return 19;case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 25;case 13:return 26;case 14:return 38;case 15:return 45;case 16:return 45;case 17:return 53;case 18:return 48;case 19:return 50;case 20:return 58;case 21:return 60;case 22:return"^";case 23:return 64;case 24:return 85;case 25:return 70;case 26:return 71;case 27:return 86;case 28:return 88;case 29:return 69;case 30:return 74;case 31:return 75;case 32:return 76;case 33:return 77;case 34:return 78;case 35:return 79;case 36:return 82;case 37:return 83;case 38:return 84;case 39:return 80;case 40:return 81;case 41:return 81;case 42:return 33;case 43:return 33;case 44:return 36;case 45:return 36;case 46:return 37;case 47:return 37;case 48:return 34;case 49:return 34;case 50:return 32;case 51:return 31;case 52:return 35;case 53:return 39;case 54:return 40;case 55:return 41;case 56:return 5;case 57:return 89;case 58:return 89;case 59:return 42;case 60:return 43;case 61:return 90;case 62:return 92;case 63:return 91;case 64:return 93;case 65:return 94;case 66:return 57;case 67:return 95;case 68:return 96;case 69:return 97;case 70:return 98;case 71:return 30;case 72:return 44;case 73:return 28;case 74:return 27;case 75:return 29;case 76:return 29;case 77:return 66}},rules:[/^(?:\s+)/,/^(?:\/\/.*)/,/^(?:\/\*[\w\W]*?\*\/)/,/^(?:set\b)/,/^(?:w\b)/,/^(?:weight\b)/,/^(?:md\b)/,/^(?:maxdepth\b)/,/^(?:maxobjects\b)/,/^(?:minsize\b)/,/^(?:maxsize\b)/,/^(?:seed\b)/,/^(?:initial\b)/,/^(?:background\b)/,/^(?:colorpool\b)/,/^(?:rule\b)/,/^(?:Rule\b)/,/^(?:>)/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:\^)/,/^(?:\*)/,/^(?:\/)/,/^(?:\+)/,/^(?:-)/,/^(?:\()/,/^(?:\))/,/^(?:,)/,/^(?:x\b)/,/^(?:y\b)/,/^(?:z\b)/,/^(?:rx\b)/,/^(?:ry\b)/,/^(?:rz\b)/,/^(?:fx\b)/,/^(?:fy\b)/,/^(?:fz\b)/,/^(?:s\b)/,/^(?:m\b)/,/^(?:matrix\b)/,/^(?:hue\b)/,/^(?:h\b)/,/^(?:saturation\b)/,/^(?:sat\b)/,/^(?:brightness\b)/,/^(?:b\b)/,/^(?:alpha\b)/,/^(?:a\b)/,/^(?:color\b)/,/^(?:random\b)/,/^(?:blend\b)/,/^(?:randomhue\b)/,/^(?:randomrgb\b)/,/^(?:greyscale\b)/,/^(?:$)/,/^(?:[0-9]+(\.[0-9]*)?)/,/^(?:\.[0-9]+)/,/^(?:list:[\w,#]+)/,/^(?:image:[\w\.\w]+)/,/^(?:box\b)/,/^(?:grid\b)/,/^(?:sphere\b)/,/^(?:line\b)/,/^(?:point\b)/,/^(?:triangle\b)/,/^(?:mesh\b)/,/^(?:cylinder\b)/,/^(?:tube\b)/,/^(?:squash\b)/,/^(?:[a-zA-Z_]+[a-zA-Z0-9_]*)/,/^(?:#define\b)/,/^(?:#[a-fA-F0-9]{6})/,/^(?:#[a-fA-F0-9]{3})/,/^(?:(aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgrey|darkgreen|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|grey|green|greenyellow|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgrey|lightgreen|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen))/,/^(?:(ALICEBLUE|ANTIQUEWHITE|AQUA|AQUAMARINE|AZURE|BEIGE|BISQUE|BLACK|BLANCHEDALMOND|BLUE|BLUEVIOLET|BROWN|BURLYWOOD|CADETBLUE|CHARTREUSE|CHOCOLATE|CORAL|CORNFLOWERBLUE|CORNSILK|CRIMSON|CYAN|DARKBLUE|DARKCYAN|DARKGOLDENROD|DARKGRAY|DARKGREY|DARKGREEN|DARKKHAKI|DARKMAGENTA|DARKOLIVEGREEN|DARKORANGE|DARKORCHID|DARKRED|DARKSALMON|DARKSEAGREEN|DARKSLATEBLUE|DARKSLATEGRAY|DARKSLATEGREY|DARKTURQUOISE|DARKVIOLET|DEEPPINK|DEEPSKYBLUE|DIMGRAY|DIMGREY|DODGERBLUE|FIREBRICK|FLORALWHITE|FORESTGREEN|FUCHSIA|GAINSBORO|GHOSTWHITE|GOLD|GOLDENROD|GRAY|GREY|GREEN|GREENYELLOW|HONEYDEW|HOTPINK|INDIANRED|INDIGO|IVORY|KHAKI|LAVENDER|LAVENDERBLUSH|LAWNGREEN|LEMONCHIFFON|LIGHTBLUE|LIGHTCORAL|LIGHTCYAN|LIGHTGOLDENRODYELLOW|LIGHTGRAY|LIGHTGREY|LIGHTGREEN|LIGHTPINK|LIGHTSALMON|LIGHTSEAGREEN|LIGHTSKYBLUE|LIGHTSLATEGRAY|LIGHTSLATEGREY|LIGHTSTEELBLUE|LIGHTYELLOW|LIME|LIMEGREEN|LINEN|MAGENTA|MAROON|MEDIUMAQUAMARINE|MEDIUMBLUE|MEDIUMORCHID|MEDIUMPURPLE|MEDIUMSEAGREEN|MEDIUMSLATEBLUE|MEDIUMSPRINGGREEN|MEDIUMTURQUOISE|MEDIUMVIOLETRED|MIDNIGHTBLUE|MINTCREAM|MISTYROSE|MOCCASIN|NAVAJOWHITE|NAVY|OLDLACE|OLIVE|OLIVEDRAB|ORANGE|ORANGERED|ORCHID|PALEGOLDENROD|PALEGREEN|PALETURQUOISE|PALEVIOLETRED|PAPAYAWHIP|PEACHPUFF|PERU|PINK|PLUM|POWDERBLUE|PURPLE|REBECCAPURPLE|RED|ROSYBROWN|ROYALBLUE|SADDLEBROWN|SALMON|SANDYBROWN|SEAGREEN|SEASHELL|SIENNA|SILVER|SKYBLUE|SLATEBLUE|SLATEGRAY|SLATEGREY|SNOW|SPRINGGREEN|STEELBLUE|TAN|TEAL|THISTLE|TOMATO|TURQUOISE|VIOLET|WHEAT|WHITE|WHITESMOKE|YELLOW|YELLOWGREEN))/,/^(?:;)/], conditions:{INITIAL:{rules:[0,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],inclusive:!0}}};return e}();return C.lexer=M,e.prototype=C,C.Parser=e,new e}();t.parser=i,t.Parser=i.Parser,t.parse=function(){return i.parse.apply(i,arguments)},t.main=function(n){n[1]||(console.log("Usage: "+n[0]+" FILE"),e.exit(1));var i=r(4).readFileSync(r(5).normalize(n[1]),"utf8");return t.parser.parse(i)},"undefined"!=typeof n&&r.c[0]===n&&t.main(e.argv.slice(1))}).call(t,r(1),r(2)(e))},function(e,t){"use strict";function r(){var e=n(arguments),t=e.shift(),r=void 0;for(r in e)t=t.replace("%s",e[r]);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var n=function(e){var t=[];if(null!=e){var r=e.length;if(null==r||e.split||e.setInterval||e.call)t[0]=e;else for(;r;)t[--r]=e[r]}return t}},function(e,t){"use strict";var r="0123456789ABCDEF";e.exports={extend:function(e,t){for(var r in t)e[r]=t[r];return e},real2dec:function(e){return Math.min(255,Math.round(256*e))},hsv2rgb:function(e,t,r){var n,i,a,s,o,u,h,l;switch(s=Math.floor(e/60%6),o=e/60-s,u=r*(1-t),h=r*(1-o*t),l=r*(1-(1-o)*t),s){case 0:n=r,i=l,a=u;break;case 1:n=h,i=r,a=u;break;case 2:n=u,i=r,a=l;break;case 3:n=u,i=h,a=r;break;case 4:n=l,i=u,a=r;break;case 5:n=r,i=u,a=h}var c=this.real2dec;return[c(n),c(i),c(a)]},rgb2hsv:function(e,t,r){e/=255,t/=255,r/=255;var n,i,a,s,o;switch(n=Math.min(Math.min(e,t),r),i=Math.max(Math.max(e,t),r),a=i-n,i){case n:s=0;break;case e:s=60*(t-r)/a,t255||e<0?0:e,r.charAt((e-e%16)/16)+r.charAt(e%16)},hex2dec:function(e){var t=function(e){return r.indexOf(e.toUpperCase())},n=e.split("");return 16*t(n[0])+t(n[1])},hex2rgb:function(e){var t=this.hex2dec;return[t(e.substr(0,2)),t(e.substr(2,2)),t(e.substr(4,2))]}}}]);