(o=>{var t,n;void 0!==o.window&&o.document||o.require&&o.define||(o.console||(o.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},o.console.error=o.console.warn=o.console.log=o.console.trace=o.console),((o.window=o).ace=o).onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},o.normalizeModule=function(e,t){if(-1!==t.indexOf("!"))return n=t.split("!"),o.normalizeModule(e,n[0])+"!"+o.normalizeModule(e,n[1]);if("."==t.charAt(0)){var n=e.split("/").slice(0,-1).join("/");for(t=(n?n+"/":"")+t;-1!==t.indexOf(".")&&r!=t;){var r=t;t=t.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},o.require=function(e,t){if(t||(t=e,e=null),!t.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");t=o.normalizeModule(e,t);var n=o.require.modules[t];return n?(n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports):o.require.tlns?(".js"!=(n=((e,t)=>{for(var n=e,r="";n;){var i=t[n];if("string"==typeof i)return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(!1===i)return"";i=n.lastIndexOf("/");if(-1===i)break;r=n.substr(i)+r,n=n.slice(0,i)}return e})(t,o.require.tlns)).slice(-3)&&(n+=".js"),o.require.id=t,o.require.modules[t]={},importScripts(n),o.require(e,t)):console.log("unable to load "+t)},o.require.modules={},o.require.tlns={},o.define=function(t,n,r){var i;2==arguments.length?(r=n,"string"!=typeof t&&(n=t,t=o.require.id)):1==arguments.length&&(r=t,n=[],t=o.require.id),"function"!=typeof r?o.require.modules[t]={exports:r,initialized:!0}:(n.length||(n=["require","exports","module"]),i=function(e){return o.require(t,e)},o.require.modules[t]={exports:{},factory:function(){var t=this,e=r.apply(this,n.slice(0,r.length).map(function(e){switch(e){case"require":return i;case"exports":return t.exports;case"module":return t;default:return i(e)}}));return e&&(t.exports=e),t}})},o.define.amd={},require.tlns={},o.initBaseUrls=function(e){for(var t in e)require.tlns[t]=e[t]},o.initSender=function(){function e(){}var t=o.require("ace/lib/event_emitter").EventEmitter,n=o.require("ace/lib/oop");return function(){n.implement(this,t),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(e.prototype),new e},t=o.main=null,n=o.sender=null,o.onmessage=function(e){var e=e.data;if(e.event&&n)n._signal(e.event,e.data);else if(e.command)if(t[e.command])t[e.command].apply(t,e.args);else{if(!o[e.command])throw new Error("Unknown command:"+e.command);o[e.command].apply(o,e.args)}else e.init&&(o.initBaseUrls(e.tlns),n=o.sender=o.initSender(),e=require(e.module)[e.classname],t=o.main=new e(n))})})(this),define("ace/lib/oop",[],function(e,n,t){n.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},n.implement=function(e,t){n.mixin(e,t)}}),define("ace/lib/lang",[],function(e,t,n){t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){for(var n="";0<t;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t,n={};for(t in e)n[t]=e[t];return n},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&"object"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if("object"!=typeof t||!t)return t;if(Array.isArray(t))for(var n=[],r=0;r<t.length;r++)n[r]=e(t[r]);else{if("[object Object]"!==Object.prototype.toString.call(t))return t;for(var r in n={},t)n[r]=e(t[r])}return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t,n=Object.create(null);for(t in e)n[t]=e[t];return n},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){function t(){r=null,e()}function n(e){return n.cancel(),r=setTimeout(t,e||0),n}var r=null;return(n.schedule=n).call=function(){return this.cancel(),e(),n},n.cancel=function(){return clearTimeout(r),r=null,n},n.isPending=function(){return r},n},t.delayedCall=function(e,t){function n(){i=null,e()}function r(e){null==i&&(i=setTimeout(n,e||t))}var i=null;return r.delay=function(e){i&&clearTimeout(i),i=setTimeout(n,e||t)},(r.schedule=r).call=function(){this.cancel(),e()},r.cancel=function(){i&&clearTimeout(i),i=null},r.isPending=function(){return i},r}}),define("ace/range",[],function(e,t,n){function o(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}}(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t=e.end,e=e.start,t=this.compare(t.row,t.column);return 1==t?1==(t=this.compare(e.row,e.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(e.row,e.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){e=this.compareRange(e);return-1==e||0==e||1==e},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)&&!this.isStart(e,t)},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row!==e||t<=this.end.column?0:1:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){var n,r;return this.end.row>t?n={row:t+1,column:0}:this.end.row<e&&(n={row:e,column:0}),this.start.row>t?r={row:t+1,column:0}:this.start.row<e&&(r={row:e,column:0}),o.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n,r,i=this.compare(e,t);return 0==i?this:(-1==i?n={row:e,column:t}:r={row:e,column:t},o.fromPoints(n||this.start,r||this.end))},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),e=e.documentToScreenPosition(this.end);return new o(t.row,t.column,e.row,e.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(o.prototype),o.fromPoints=function(e,t){return new o(e.row,e.column,t.row,t.column)},o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=o}),define("ace/apply_delta",[],function(e,t,n){t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,o=e[r]||"";switch(t.action){case"insert":1===t.lines.length?e[r]=o.substring(0,i)+t.lines[0]+o.substring(i):(a=[r,1].concat(t.lines),e.splice.apply(e,a),e[r]=o.substring(0,i)+e[r],e[r+t.lines.length-1]+=o.substring(i));break;case"remove":var a=t.end.column,s=t.end.row;r===s?e[r]=o.substring(0,i)+o.substring(a):e.splice(r,s-r+1,o.substring(0,i)+e[s].substring(a))}}}),define("ace/lib/event_emitter",[],function(e,t,n){function o(){this.propagationStopped=!0}function a(){this.defaultPrevented=!0}var r={};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){(t="object"==typeof t&&t?t:{}).type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=a);for(var n=n.slice(),i=0;i<n.length&&(n[i](t,this),!t.propagationStopped);i++);return r&&!t.defaultPrevented?r(t,this):void 0}},r._signal=function(e,t){if(n=(this._eventRegistry||{})[e])for(var n=n.slice(),r=0;r<n.length;r++)n[r](t,this)},r.once=function(t,n){var r=this;if(this.on(t,function e(){r.off(t,e),n.apply(null,arguments)}),!n)return new Promise(function(e){n=e})},r.setDefaultHandler=function(e,t){var n,r,i=this._defaultHandlers;(i=i||(this._defaultHandlers={_disabled_:{}}))[e]&&(r=i[e],(n=i._disabled_[e])||(i._disabled_[e]=n=[]),n.push(r),-1!=(r=n.indexOf(t)))&&n.splice(r,1),i[e]=t},r.removeDefaultHandler=function(e,t){var n,r=this._defaultHandlers;r&&(n=r._disabled_[e],r[e]==t?n&&this.setDefaultHandler(e,n.pop()):n&&-1!=(r=n.indexOf(t))&&n.splice(r,1))},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return-1==(r=r||(this._eventRegistry[e]=[])).indexOf(t)&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};e=this._eventRegistry[e];e&&-1!==(t=e.indexOf(t))&&e.splice(t,1)},r.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[e]=void 0),this._defaultHandlers&&(this._defaultHandlers[e]=void 0)},t.EventEmitter=r}),define("ace/anchor",[],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,e=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),void 0===n?this.setPosition(t.row,t.column):this.setPosition(t,n)};!function(){function s(e,t,n){n=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&n}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t,n,r,i,o,a;e.start.row==e.end.row&&e.start.row!=this.row||e.start.row>this.row||(e=e,t={row:this.row,column:this.column},n=this.$insertRight,r=((a="insert"==e.action)?1:-1)*(e.end.row-e.start.row),i=(a?1:-1)*(e.end.column-e.start.column),o=e.start,a=a?o:e.end,e=s(t,o,n)?{row:t.row,column:t.column}:s(a,t,!n)?{row:t.row+r,column:t.column+(t.row==a.row?i:0)}:{row:o.row,column:o.column},this.setPosition(e.row,e.column,!0))},this.setPosition=function(e,t,n){n=n?{row:e,column:t}:this.$clipPositionToDocument(e,t);this.row==n.row&&this.column==n.column||(e={row:this.row,column:this.column},this.row=n.row,this.column=n.column,this._signal("change",{old:e,value:n}))},this.detach=function(){this.document.off("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}.call(e.prototype)}),define("ace/document",[],function(e,t,n){function r(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}var i=e("./lib/oop"),o=e("./apply_delta").applyDelta,a=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,l=e("./anchor").Anchor;(function(){i.implement(this,a),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new l(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){e=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=e?e[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t,n;return e.start.row===e.end.row?t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)]:((t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column),n=t.length-1,e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))),t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),e=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:e,action:"insert",lines:[t]},!0),this.clonePos(e)},this.clippedPos=function(e,t){var n=this.getLength(),n=(void 0===e?e=n:e<0?e=0:n<=e&&(e=n-1,t=void 0),this.getLine(e));return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var n=0,n=(e=Math.min(Math.max(e,0),this.getLength()))<this.getLength()?(t=t.concat([""]),0):(t=[""].concat(t),this.$lines[--e].length);this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var e=this.clippedPos(e.row,e.column),n={row:e.row+t.length-1,column:(1==t.length?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:n,action:"insert",lines:t}),this.clonePos(n)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),e=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},this.removeInLine=function(e,t,n){t=this.clippedPos(e,t),e=this.clippedPos(e,n);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})},!0),this.clonePos(t)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1);var n=(t=Math.min(Math.max(0,t),this.getLength()-1))==this.getLength()-1&&0<e,r=t<this.getLength()-1,i=n?e-1:e,n=n?this.getLine(i).length:0,o=r?t+1:t,r=r?0:this.getLine(o).length,i=new s(i,n,o,r),n=this.$lines.slice(e,t+1);return this.applyDelta({start:i.start,end:i.end,action:"remove",lines:this.getLinesForRange(i)}),n},this.removeNewLine=function(e){e<this.getLength()-1&&0<=e&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){return e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;0<=t;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n="insert"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&2e4<e.lines.length?this.$splitAndapplyLargeDelta(e,2e4):(o(this.$lines,e,t),this._signal("change",e)))},this.$safeApplyDelta=function(e){var t=this.$lines.length;("remove"==e.action&&e.start.row<t&&e.end.row<t||"insert"==e.action&&e.start.row<=t)&&this.applyDelta(e)},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length-t+1,i=e.start.row,o=e.start.column,a=0,s=0;a<r;a=s){s+=t-1;var l=n.slice(a,s);l.push(""),this.applyDelta({start:this.pos(i+a,o),end:this.pos(i+s,o=0),action:e.action,lines:l},!0)}e.lines=n.slice(a),e.start.row=i+a,e.start.column=o,this.applyDelta(e,!0)},this.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:"insert"==e.action?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,o=n.length;i<o;i++)if((e-=n[i].length+r)<0)return{row:i,column:e+n[i].length+r};return{row:o-1,column:e+n[o-1].length+r}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(e.row,n.length),a=t||0;a<o;++a)i+=n[a].length+r;return i+e.column}}).call(r.prototype),t.Document=r}),define("ace/worker/mirror",[],function(e,t,n){e("../range").Range;var r=e("../document").Document,s=e("../lib/lang"),e=t.Mirror=function(e){this.sender=e;var i=this.doc=new r(""),o=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),a=this;e.on("change",function(e){var t,n=e.data;if(n[0].start)i.applyDeltas(n);else for(var r=0;r<n.length;r+=2)t=Array.isArray(n[r+1])?{action:"insert",start:n[r],lines:n[r+1]}:{action:"remove",start:n[r],end:n[r+1]},i.applyDelta(t,!0);if(a.$timeout)return o.schedule(a.$timeout);a.onUpdate()})};!function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}.call(e.prototype)}),define("ace/mode/css/csslint",[],function(e,t,n){i={},g=(c=function r(i,o,a){function s(t,e){if(!o[t]){if(!i[t]){var n="function"==typeof c&&c;if(!e&&n)return n(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=o[t]={exports:{}},i[t][0].call(n.exports,function(e){return s(i[t][1][e]||e)},n,n.exports,r,i,o,a)}return o[t].exports}for(var l="function"==typeof c&&c,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(e,t,n){t.exports={__proto__:null,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",currentColor:"The value of the 'color' property.",activeborder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."}},{}],2:[function(e,t,n){function r(e,t,n){i.call(this,e,t,n,o.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":">"===e?this.type="child":"+"===e?this.type="adjacent-sibling":"~"===e&&(this.type="sibling")}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser");(r.prototype=new i).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],3:[function(r,e,t){function u(n,e){this.match=function(e){var t;return e.mark(),(t=n(e))?e.drop():e.restore(),t},this.toString="function"==typeof e?e:function(){return e}}e.exports=u;var c=r("../util/StringReader"),h=r("../util/SyntaxError");u.prec={MOD:5,SEQ:4,ANDAND:3,OROR:2,ALT:1},u.parse=function(e){var r=new c(e),i=function(e){var t=r.readMatch(e);if(null===t)throw new h("Expected "+e,r.getLine(),r.getCol());return t},t=function(){for(var e=[n()];null!==r.readMatch(" | ");)e.push(n());return 1===e.length?e[0]:u.alt.apply(u,e)},n=function(){for(var e=[o()];null!==r.readMatch(" || ");)e.push(o());return 1===e.length?e[0]:u.oror.apply(u,e)},o=function(){for(var e=[a()];null!==r.readMatch(" && ");)e.push(a());return 1===e.length?e[0]:u.andand.apply(u,e)},a=function(){for(var e=[s()];null!==r.readMatch(/^ (?![&|\]])/);)e.push(s());return 1===e.length?e[0]:u.seq.apply(u,e)},s=function(){var e,t,n=l();return null!==r.readMatch("?")?n.question():null!==r.readMatch("*")?n.star():null!==r.readMatch("+")?n.plus():null!==r.readMatch("#")?n.hash():null!==r.readMatch(/^\{\s*/)?(e=i(/^\d+/),i(/^\s*,\s*/),t=i(/^\d+/),i(/^\s*\}/),n.braces(Number(e),Number(t))):n},l=function(){var e;return null!==r.readMatch("[ ")?(e=t(),i(" ]"),e):u.fromType(i(/^[^ ?*+#{]+/))},e=t();if(r.eof())return e;throw new h("Expected end of string",r.getLine(),r.getCol())},u.cast=function(e){return e instanceof u?e:u.parse(e)},u.fromType=function(t){var n=r("./ValidationTypes");return new u(function(e){return e.hasNext()&&n.isType(e,t)},t)},u.seq=function(){var r=Array.prototype.slice.call(arguments).map(u.cast);return 1===r.length?r[0]:new u(function(e){for(var t=!0,n=0;t&&n<r.length;n++)t=r[n].match(e);return t},function(e){var t=u.prec.SEQ,n=r.map(function(e){return e.toString(t)}).join(" ");return n=t<e?"[ "+n+" ]":n})},u.alt=function(){var r=Array.prototype.slice.call(arguments).map(u.cast);return 1===r.length?r[0]:new u(function(e){for(var t=!1,n=0;!t&&n<r.length;n++)t=r[n].match(e);return t},function(e){var t=u.prec.ALT,n=r.map(function(e){return e.toString(t)}).join(" | ");return n=t<e?"[ "+n+" ]":n})},u.many=function(l){var c=Array.prototype.slice.call(arguments,1).reduce(function(e,t){var n;return t.expand?(n=r("./ValidationTypes"),e.push.apply(e,n.complex[t.expand].options)):e.push(u.cast(t)),e},[]),e=(!0===l&&(l=c.map(function(){return!0})),new u(function(r){function i(e){for(var t,n=0;n<c.length;n++)if(!o[n])if(r.mark(),c[n].match(r)){if(i(e+(!(o[n]=!0)===l||l[n]?1:0)))return r.drop(),1;r.restore(),o[n]=!1}else r.drop();return t=e,0===s?(a=Math.max(t,a),t===c.length):t===a}var o=[],a=0,s=0;if(i(0)||(s++,i(0)),!1===l)return 0<a;for(var e=0;e<c.length;e++)if(l[e]&&!o[e])return!1;return!0},function(e){var n=!1===l?u.prec.OROR:u.prec.ANDAND,t=c.map(function(e,t){return!1===l||l[t]?e.toString(n):e.toString(u.prec.MOD)+"?"}).join(!1===l?" || ":" && ");return t=n<e?"[ "+t+" ]":t}));return e.options=c,e},u.andand=function(){var e=Array.prototype.slice.call(arguments);return e.unshift(!0),u.many.apply(u,e)},u.oror=function(){var e=Array.prototype.slice.call(arguments);return e.unshift(!1),u.many.apply(u,e)},u.prototype={constructor:u,match:function(){throw new Error("unimplemented")},toString:function(){throw new Error("unimplemented")},func:function(){return this.match.bind(this)},then:function(e){return u.seq(this,e)},or:function(e){return u.alt(this,e)},andand:function(e){return u.many(!0,this,e)},oror:function(e){return u.many(!1,this,e)},star:function(){return this.braces(0,1/0,"*")},plus:function(){return this.braces(1,1/0,"+")},question:function(){return this.braces(0,1,"?")},hash:function(){return this.braces(1,1/0,"#",u.cast(","))},braces:function(n,r,e,i){var o=this,a=i?i.then(this):this;return e=e||"{"+n+","+r+"}",new u(function(e){for(var t=0;t<r&&(0<t&&i?a:o).match(e);t++);return n<=t},function(){return o.toString(u.prec.MOD)+e})}}},{"../util/StringReader":24,"../util/SyntaxError":25,"./ValidationTypes":21}],4:[function(e,t,n){function r(e,t){i.call(this,"("+e+(null!==t?":"+t:"")+")",e.startLine,e.startCol,o.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser");(r.prototype=new i).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],5:[function(e,t,n){function r(e,t,n,r,i){o.call(this,(e?e+" ":"")+(t||"")+(t&&0<n.length?" and ":"")+n.join(" and "),r,i,a.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}t.exports=r;var o=e("../util/SyntaxUnit"),a=e("./Parser");(r.prototype=new o).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],6:[function(e,t,n){function r(e){i.call(this),this.options=e||{},this._tokenStream=null}t.exports=r;var i=e("../util/EventTarget"),a=e("../util/SyntaxError"),o=e("../util/SyntaxUnit"),s=e("./Combinator"),l=e("./MediaFeature"),c=e("./MediaQuery"),u=e("./PropertyName"),h=e("./PropertyValue"),d=e("./PropertyValuePart"),p=e("./Selector"),f=e("./SelectorPart"),m=e("./SelectorSubPart"),g=e("./TokenStream"),b=e("./Tokens"),w=e("./Validation");r.DEFAULT_TYPE=0,r.COMBINATOR_TYPE=1,r.MEDIA_FEATURE_TYPE=2,r.MEDIA_QUERY_TYPE=3,r.PROPERTY_NAME_TYPE=4,r.PROPERTY_VALUE_TYPE=5,r.PROPERTY_VALUE_PART_TYPE=6,r.SELECTOR_TYPE=7,r.SELECTOR_PART_TYPE=8,r.SELECTOR_SUB_PART_TYPE=9,r.prototype=(()=>{var e,t=new i,n={__proto__:null,constructor:r,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e,t,n,r=this._tokenStream;for(this.fire("startstylesheet"),this._charset(),this._skipCruft();r.peek()===b.IMPORT_SYM;)this._import(),this._skipCruft();for(;r.peek()===b.NAMESPACE_SYM;)this._namespace(),this._skipCruft();for(n=r.peek();n>b.EOF;){try{switch(n){case b.MEDIA_SYM:this._media(),this._skipCruft();break;case b.PAGE_SYM:this._page(),this._skipCruft();break;case b.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case b.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case b.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case b.DOCUMENT_SYM:this._document(),this._skipCruft();break;case b.SUPPORTS_SYM:this._supports(),this._skipCruft();break;case b.UNKNOWN_SYM:if(r.get(),this.options.strict)throw new a("Unknown @ rule.",r.LT(0).startLine,r.LT(0).startCol);for(this.fire({type:"error",error:null,message:"Unknown @ rule: "+r.LT(0).value+".",line:r.LT(0).startLine,col:r.LT(0).startCol}),e=0;r.advance([b.LBRACE,b.RBRACE])===b.LBRACE;)e++;for(;e;)r.advance([b.RBRACE]),e--;break;case b.S:this._readWhitespace();break;default:if(!this._ruleset())switch(n){case b.CHARSET_SYM:throw t=r.LT(1),this._charset(!1),new a("@charset not allowed here.",t.startLine,t.startCol);case b.IMPORT_SYM:throw t=r.LT(1),this._import(!1),new a("@import not allowed here.",t.startLine,t.startCol);case b.NAMESPACE_SYM:throw t=r.LT(1),this._namespace(!1),new a("@namespace not allowed here.",t.startLine,t.startCol);default:r.get(),this._unexpectedToken(r.token())}}}catch(e){if(!(e instanceof a)||this.options.strict)throw e;this.fire({type:"error",error:e,message:e.message,line:e.line,col:e.col})}n=r.peek()}n!==b.EOF&&this._unexpectedToken(r.token()),this.fire("endstylesheet")},_charset:function(e){var t,n,r,i=this._tokenStream;i.match(b.CHARSET_SYM)&&(n=i.token().startLine,r=i.token().startCol,this._readWhitespace(),i.mustMatch(b.STRING),t=i.token().value,this._readWhitespace(),i.mustMatch(b.SEMICOLON),!1!==e)&&this.fire({type:"charset",charset:t,line:n,col:r})},_import:function(e){var t,n,r,i=this._tokenStream;i.mustMatch(b.IMPORT_SYM),n=i.token(),this._readWhitespace(),i.mustMatch([b.STRING,b.URI]),t=i.token().value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/,"$1"),this._readWhitespace(),r=this._media_query_list(),i.mustMatch(b.SEMICOLON),this._readWhitespace(),!1!==e&&this.fire({type:"import",uri:t,media:r,line:n.startLine,col:n.startCol})},_namespace:function(e){var t,n,r,i,o=this._tokenStream;o.mustMatch(b.NAMESPACE_SYM),t=o.token().startLine,n=o.token().startCol,this._readWhitespace(),o.match(b.IDENT)&&(r=o.token().value,this._readWhitespace()),o.mustMatch([b.STRING,b.URI]),i=o.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),o.mustMatch(b.SEMICOLON),this._readWhitespace(),!1!==e&&this.fire({type:"namespace",prefix:r,uri:i,line:t,col:n})},_supports:function(e){var t,n,r=this._tokenStream;if(r.match(b.SUPPORTS_SYM)){for(t=r.token().startLine,n=r.token().startCol,this._readWhitespace(),this._supports_condition(),this._readWhitespace(),r.mustMatch(b.LBRACE),this._readWhitespace(),!1!==e&&this.fire({type:"startsupports",line:t,col:n});this._ruleset(););r.mustMatch(b.RBRACE),this._readWhitespace(),this.fire({type:"endsupports",line:t,col:n})}},_supports_condition:function(){var e,t=this._tokenStream;if(t.match(b.IDENT))"not"===(e=t.token().value.toLowerCase())?(t.mustMatch(b.S),this._supports_condition_in_parens()):t.unget();else for(this._supports_condition_in_parens(),this._readWhitespace();t.peek()===b.IDENT;)"and"!==(e=t.LT(1).value.toLowerCase())&&"or"!==e||(t.mustMatch(b.IDENT),this._readWhitespace(),this._supports_condition_in_parens(),this._readWhitespace())},_supports_condition_in_parens:function(){var e=this._tokenStream;e.match(b.LPAREN)?(this._readWhitespace(),e.match(b.IDENT)?"not"===e.token().value.toLowerCase()?(this._readWhitespace(),this._supports_condition(),this._readWhitespace(),e.mustMatch(b.RPAREN)):(e.unget(),this._supports_declaration_condition(!1)):(this._supports_condition(),this._readWhitespace(),e.mustMatch(b.RPAREN))):this._supports_declaration_condition()},_supports_declaration_condition:function(e){var t=this._tokenStream;!1!==e&&t.mustMatch(b.LPAREN),this._readWhitespace(),this._declaration(),t.mustMatch(b.RPAREN)},_media:function(){var e,t,n,r=this._tokenStream;for(r.mustMatch(b.MEDIA_SYM),e=r.token().startLine,t=r.token().startCol,this._readWhitespace(),n=this._media_query_list(),r.mustMatch(b.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:n,line:e,col:t});;)if(r.peek()===b.PAGE_SYM)this._page();else if(r.peek()===b.FONT_FACE_SYM)this._font_face();else if(r.peek()===b.VIEWPORT_SYM)this._viewport();else if(r.peek()===b.DOCUMENT_SYM)this._document();else if(r.peek()===b.SUPPORTS_SYM)this._supports();else if(r.peek()===b.MEDIA_SYM)this._media();else if(!this._ruleset())break;r.mustMatch(b.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:n,line:e,col:t})},_media_query_list:function(){var e=this._tokenStream,t=[];for(this._readWhitespace(),e.peek()!==b.IDENT&&e.peek()!==b.LPAREN||t.push(this._media_query());e.match(b.COMMA);)this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];if(e.match(b.IDENT)&&("only"!==(n=e.token().value.toLowerCase())&&"not"!==n?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()===b.IDENT?(t=this._media_type(),null===r&&(r=e.token())):e.peek()===b.LPAREN&&(null===r&&(r=e.LT(1)),i.push(this._media_expression())),null===t&&0===i.length)return null;for(this._readWhitespace();e.match(b.IDENT);)"and"!==e.token().value.toLowerCase()&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new c(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e,t,n=this._tokenStream,r=null;return n.mustMatch(b.LPAREN),this._readWhitespace(),e=this._media_feature(),this._readWhitespace(),n.match(b.COLON)&&(this._readWhitespace(),t=n.LT(1),r=this._expression()),n.mustMatch(b.RPAREN),this._readWhitespace(),new l(e,r?new o(r,t.startLine,t.startCol):null)},_media_feature:function(){var e=this._tokenStream;return this._readWhitespace(),e.mustMatch(b.IDENT),o.fromToken(e.token())},_page:function(){var e,t,n=this._tokenStream,r=null,i=null;n.mustMatch(b.PAGE_SYM),e=n.token().startLine,t=n.token().startCol,this._readWhitespace(),n.match(b.IDENT)&&"auto"===(r=n.token().value).toLowerCase()&&this._unexpectedToken(n.token()),n.peek()===b.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:e,col:t}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:e,col:t})},_margin:function(){var e,t=this._tokenStream,n=this._margin_sym();return!!n&&(e=t.token().startLine,t=t.token().startCol,this.fire({type:"startpagemargin",margin:n,line:e,col:t}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:n,line:e,col:t}),!0)},_margin_sym:function(){var e=this._tokenStream;return e.match([b.TOPLEFTCORNER_SYM,b.TOPLEFT_SYM,b.TOPCENTER_SYM,b.TOPRIGHT_SYM,b.TOPRIGHTCORNER_SYM,b.BOTTOMLEFTCORNER_SYM,b.BOTTOMLEFT_SYM,b.BOTTOMCENTER_SYM,b.BOTTOMRIGHT_SYM,b.BOTTOMRIGHTCORNER_SYM,b.LEFTTOP_SYM,b.LEFTMIDDLE_SYM,b.LEFTBOTTOM_SYM,b.RIGHTTOP_SYM,b.RIGHTMIDDLE_SYM,b.RIGHTBOTTOM_SYM])?o.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(b.COLON),e.mustMatch(b.IDENT),e.token().value},_font_face:function(){var e,t=this._tokenStream;t.mustMatch(b.FONT_FACE_SYM),e=t.token().startLine,t=t.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:e,col:t}),this._readDeclarations(!0),this.fire({type:"endfontface",line:e,col:t})},_viewport:function(){var e,t=this._tokenStream;t.mustMatch(b.VIEWPORT_SYM),e=t.token().startLine,t=t.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:e,col:t}),this._readDeclarations(!0),this.fire({type:"endviewport",line:e,col:t})},_document:function(){var e,t=this._tokenStream,n=[],r="";for(t.mustMatch(b.DOCUMENT_SYM),e=t.token(),/^@-([^-]+)-/.test(e.value)&&(r=RegExp.$1),this._readWhitespace(),n.push(this._document_function());t.match(b.COMMA);)this._readWhitespace(),n.push(this._document_function());t.mustMatch(b.LBRACE),this._readWhitespace(),this.fire({type:"startdocument",functions:n,prefix:r,line:e.startLine,col:e.startCol});for(var i=!0;i;)switch(t.peek()){case b.PAGE_SYM:this._page();break;case b.FONT_FACE_SYM:this._font_face();break;case b.VIEWPORT_SYM:this._viewport();break;case b.MEDIA_SYM:this._media();break;case b.KEYFRAMES_SYM:this._keyframes();break;case b.DOCUMENT_SYM:this._document();break;default:i=Boolean(this._ruleset())}t.mustMatch(b.RBRACE),e=t.token(),this._readWhitespace(),this.fire({type:"enddocument",functions:n,prefix:r,line:e.startLine,col:e.startCol})},_document_function:function(){var e,t=this._tokenStream;return t.match(b.URI)?(e=t.token().value,this._readWhitespace()):e=this._function(),e},_operator:function(e){var t=this._tokenStream,n=null;return(t.match([b.SLASH,b.COMMA])||e&&t.match([b.PLUS,b.STAR,b.MINUS]))&&(n=t.token(),this._readWhitespace()),n?d.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null;return e.match([b.PLUS,b.GREATER,b.TILDE])&&(e=e.token(),t=new s(e.value,e.startLine,e.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([b.MINUS,b.PLUS])?e.token().value:null},_property:function(){var e,t,n,r=this._tokenStream,i=null,o=null,a="";return r.peek()===b.STAR&&this.options.starHack&&(r.get(),o=(e=r.token()).value,t=e.startLine,n=e.startCol),r.peek()===b.MINUS&&(r.get(),a=(e=r.token()).value,t=e.startLine,n=e.startCol),r.match(b.IDENT)?("_"===(a+=(e=r.token()).value).charAt(0)&&this.options.underscoreHack&&(o="_",a=a.substring(1)),i=new u(a,o,t||e.startLine,n||e.startCol),this._readWhitespace()):r.peek()!==b.RBRACE&&this._unexpectedToken(r.LT(1)),i},_ruleset:function(){var e,t=this._tokenStream;try{e=this._selectors_group()}catch(e){if(e instanceof a&&!this.options.strict){if(this.fire({type:"error",error:e,message:e.message,line:e.line,col:e.col}),t.advance([b.RBRACE])!==b.RBRACE)throw e;return!0}throw e}return e&&(this.fire({type:"startrule",selectors:e,line:e[0].line,col:e[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:e,line:e[0].line,col:e[0].col})),e},_selectors_group:function(){var e=this._tokenStream,t=[],n=this._selector();if(null!==n)for(t.push(n);e.match(b.COMMA);)this._readWhitespace(),null!==(n=this._selector())?t.push(n):this._unexpectedToken(e.LT(1));return t.length?t:null},_selector:function(){var e,t,n=this._tokenStream,r=[],i=null;if(null===(i=this._simple_selector_sequence()))return null;for(r.push(i);;)if(null!==(e=this._combinator()))r.push(e),null===(i=this._simple_selector_sequence())?this._unexpectedToken(n.LT(1)):r.push(i);else{if(!this._readWhitespace())break;t=new s(n.token().value,n.token().startLine,n.token().startCol),e=this._combinator(),null===(i=this._simple_selector_sequence())?null!==e&&this._unexpectedToken(n.LT(1)):(r.push(null!==e?e:t),r.push(i))}return new p(r,r[0].line,r[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(b.HASH)?new m(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],o=0,a=i.length,s=null,l=e.LT(1).startLine,c=e.LT(1).startCol;for(null!==(t=(t=this._type_selector())||this._universal())&&(r+=t);e.peek()!==b.S;){for(;o<a&&null===s;)s=i[o++].call(this);if(null===s){if(""===r)return null;break}o=0,n.push(s),r+=s.toString(),s=null}return""!==r?new f(t,n,r,l,c):null},_type_selector:function(){var e=this._tokenStream,t=this._namespace_prefix(),n=this._element_name();return n?(t&&(n.text=t+n.text,n.col-=t.length),n):(t&&(e.unget(),1<t.length)&&e.unget(),null)},_class:function(){var e=this._tokenStream;return e.match(b.DOT)?(e.mustMatch(b.IDENT),e=e.token(),new m("."+e.value,"class",e.startLine,e.startCol-1)):null},_element_name:function(){var e=this._tokenStream;return e.match(b.IDENT)?(e=e.token(),new m(e.value,"elementName",e.startLine,e.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";return e.LA(1)!==b.PIPE&&e.LA(2)!==b.PIPE||(e.match([b.IDENT,b.STAR])&&(t+=e.token().value),e.mustMatch(b.PIPE),t+="|"),t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n=this._namespace_prefix();return n&&(t+=n),e.match(b.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e,t,n=this._tokenStream,r=null;return n.match(b.LBRACKET)?(r=(t=n.token()).value,r+=this._readWhitespace(),(e=this._namespace_prefix())&&(r+=e),n.mustMatch(b.IDENT),r=(r+=n.token().value)+this._readWhitespace(),n.match([b.PREFIXMATCH,b.SUFFIXMATCH,b.SUBSTRINGMATCH,b.EQUALS,b.INCLUDES,b.DASHMATCH])&&(r=(r+=n.token().value)+this._readWhitespace(),n.mustMatch([b.IDENT,b.STRING]),r=(r+=n.token().value)+this._readWhitespace()),n.mustMatch(b.RBRACKET),new m(r+"]","attribute",t.startLine,t.startCol)):null},_pseudo:function(){var e,t,n,r=this._tokenStream,i=null,o=":";if(r.match(b.COLON)){if(r.match(b.COLON)&&(o+=":"),r.match(b.IDENT)?(i=r.token().value,e=r.token().startLine,t=r.token().startCol-o.length):r.peek()===b.FUNCTION&&(e=r.LT(1).startLine,t=r.LT(1).startCol-o.length,i=this._functional_pseudo()),!i)throw n=r.LT(1).startLine,r=r.LT(0).startCol,new a("Expected a `FUNCTION` or `IDENT` after colon at line "+n+", col "+r+".",n,r);i=new m(o+i,"pseudo",e,t)}return i},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(b.FUNCTION)&&(t=e.token().value,t=(t+=this._readWhitespace())+this._expression(),e.mustMatch(b.RPAREN),t+=")"),t},_expression:function(){for(var e=this._tokenStream,t="";e.match([b.PLUS,b.MINUS,b.DIMENSION,b.NUMBER,b.STRING,b.IDENT,b.LENGTH,b.FREQ,b.ANGLE,b.TIME,b.RESOLUTION,b.SLASH]);)t=(t+=e.token().value)+this._readWhitespace();return t.length?t:null},_negation:function(){var e,t,n,r=this._tokenStream,i="",o=null;return r.match(b.NOT)&&(i=r.token().value,e=r.token().startLine,t=r.token().startCol,i=(i=(i+=this._readWhitespace())+(n=this._negation_arg()))+this._readWhitespace(),r.match(b.RPAREN),i+=r.token().value,(o=new m(i,"not",e,t)).args.push(n)),o},_negation_arg:function(){for(var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(b.HASH)?new m(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,o=e.LT(1).startLine,a=e.LT(1).startCol;r<i&&null===n;)n=t[r].call(this),r++;return null===n&&this._unexpectedToken(e.LT(1)),"elementName"===n.type?new f(n,[],n.toString(),o,a):new f(null,[n],n.toString(),o,a)},_declaration:function(){var e,t=this._tokenStream,n=null,r=null,i="";if(null===(n=this._property()))return!1;t.mustMatch(b.COLON),this._readWhitespace(),(e=this._expr())&&0!==e.length||this._unexpectedToken(t.LT(1)),t=this._prio(),i=n.toString(),(this.options.starHack&&"*"===n.hack||this.options.underscoreHack&&"_"===n.hack)&&(i=n.text);try{this._validateProperty(i,e)}catch(e){r=e}return this.fire({type:"property",property:n,value:e,important:t,line:n.line,col:n.col,invalid:r}),!0},_prio:function(){var e=this._tokenStream.match(b.IMPORTANT_SYM);return this._readWhitespace(),e},_expr:function(e){var t,n=[],r=null;if(null!==(r=this._term(e)))for(n.push(r);;){if((t=this._operator(e))&&n.push(t),null===(r=this._term(e)))break;n.push(r)}return 0<n.length?new h(n,n[0].line,n[0].col):null},_term:function(e){var t,n,r,i,o,a=this._tokenStream,s=null,l=null;return null!==(o=this._unary_operator())&&(r=a.token().startLine,i=a.token().startCol),a.peek()===b.IE_FUNCTION&&this.options.ieFilters?(s=this._ie_function(),null===o&&(r=a.token().startLine,i=a.token().startCol)):e&&a.match([b.LPAREN,b.LBRACE,b.LBRACKET])?(t=(n=a.token()).endChar,s=n.value+this._expr(e).text,null===o&&(r=a.token().startLine,i=a.token().startCol),a.mustMatch(b.type(t)),s+=t,this._readWhitespace()):a.match([b.NUMBER,b.PERCENTAGE,b.LENGTH,b.ANGLE,b.TIME,b.FREQ,b.STRING,b.IDENT,b.URI,b.UNICODE_RANGE])?(s=a.token().value,null===o&&(r=a.token().startLine,i=a.token().startCol,l=d.fromToken(a.token())),this._readWhitespace()):null===(n=this._hexcolor())?(null===o&&(r=a.LT(1).startLine,i=a.LT(1).startCol),null===s&&(s=a.LA(3)===b.EQUALS&&this.options.ieFilters?this._ie_function():this._function())):(s=n.value,null===o&&(r=n.startLine,i=n.startCol)),null!==l?l:null!==s?new d(null!==o?o+s:s,r,i):null},_function:function(){var e,t=this._tokenStream,n=null;if(t.match(b.FUNCTION)){if(n=t.token().value,this._readWhitespace(),n+=this._expr(!0),this.options.ieFilters&&t.peek()===b.EQUALS)do{for(this._readWhitespace()&&(n+=t.token().value),t.LA(0)===b.COMMA&&(n+=t.token().value),t.match(b.IDENT),n+=t.token().value,t.match(b.EQUALS),n+=t.token().value,e=t.peek();e!==b.COMMA&&e!==b.S&&e!==b.RPAREN;)t.get(),n+=t.token().value,e=t.peek()}while(t.match([b.COMMA,b.S]));t.match(b.RPAREN),n+=")",this._readWhitespace()}return n},_ie_function:function(){var e,t=this._tokenStream,n=null;if(t.match([b.IE_FUNCTION,b.FUNCTION])){n=t.token().value;do{for(this._readWhitespace()&&(n+=t.token().value),t.LA(0)===b.COMMA&&(n+=t.token().value),t.match(b.IDENT),n+=t.token().value,t.match(b.EQUALS),n+=t.token().value,e=t.peek();e!==b.COMMA&&e!==b.S&&e!==b.RPAREN;)t.get(),n+=t.token().value,e=t.peek()}while(t.match([b.COMMA,b.S]));t.match(b.RPAREN),n+=")",this._readWhitespace()}return n},_hexcolor:function(){var e=this._tokenStream,t=null;if(e.match(b.HASH)){if(e=(t=e.token()).value,!/#[a-f0-9]{3,6}/i.test(e))throw new a("Expected a hex color but found '"+e+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e,t,n,r=this._tokenStream,i="";for(r.mustMatch(b.KEYFRAMES_SYM),e=r.token(),/^@-([^-]+)-/.test(e.value)&&(i=RegExp.$1),this._readWhitespace(),n=this._keyframe_name(),this._readWhitespace(),r.mustMatch(b.LBRACE),this.fire({type:"startkeyframes",name:n,prefix:i,line:e.startLine,col:e.startCol}),this._readWhitespace(),t=r.peek();t===b.IDENT||t===b.PERCENTAGE;)this._keyframe_rule(),this._readWhitespace(),t=r.peek();this.fire({type:"endkeyframes",name:n,prefix:i,line:e.startLine,col:e.startCol}),this._readWhitespace(),r.mustMatch(b.RBRACE),this._readWhitespace()},_keyframe_name:function(){var e=this._tokenStream;return e.mustMatch([b.IDENT,b.STRING]),o.fromToken(e.token())},_keyframe_rule:function(){var e=this._key_list();this.fire({type:"startkeyframerule",keys:e,line:e[0].line,col:e[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:e,line:e[0].line,col:e[0].col})},_key_list:function(){var e=this._tokenStream,t=[];for(t.push(this._key()),this._readWhitespace();e.match(b.COMMA);)this._readWhitespace(),t.push(this._key()),this._readWhitespace();return t},_key:function(){var e,t=this._tokenStream;if(t.match(b.PERCENTAGE))return o.fromToken(t.token());if(t.match(b.IDENT)){if(e=t.token(),/from|to/i.test(e.value))return o.fromToken(e);t.unget()}this._unexpectedToken(t.LT(1))},_skipCruft:function(){for(;this._tokenStream.match([b.S,b.CDO,b.CDC]););},_readDeclarations:function(t,n){var r=this._tokenStream;this._readWhitespace(),t&&r.mustMatch(b.LBRACE),this._readWhitespace();try{for(;;){if(!(r.match(b.SEMICOLON)||n&&this._margin())){if(!this._declaration())break;if(!r.match(b.SEMICOLON))break}this._readWhitespace()}r.mustMatch(b.RBRACE),this._readWhitespace()}catch(e){if(!(e instanceof a)||this.options.strict)throw e;if(this.fire({type:"error",error:e,message:e.message,line:e.line,col:e.col}),(t=r.advance([b.SEMICOLON,b.RBRACE]))===b.SEMICOLON)this._readDeclarations(!1,n);else if(t!==b.RBRACE)throw e}},_readWhitespace:function(){for(var e=this._tokenStream,t="";e.match(b.S);)t+=e.token().value;return t},_unexpectedToken:function(e){throw new a("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!==b.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){w.validate(e,t)},parse:function(e){this._tokenStream=new g(e,b),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new g(e,b);e=this._media_query();return this._verifyEnd(),e},parsePropertyValue:function(e){this._tokenStream=new g(e,b),this._readWhitespace();e=this._expr();return this._readWhitespace(),this._verifyEnd(),e},parseRule:function(e){this._tokenStream=new g(e,b),this._readWhitespace();e=this._ruleset();return this._readWhitespace(),this._verifyEnd(),e},parseSelector:function(e){this._tokenStream=new g(e,b),this._readWhitespace();e=this._selector();return this._readWhitespace(),this._verifyEnd(),e},parseStyleAttribute:function(e){this._tokenStream=new g(e+="}",b),this._readDeclarations()}};for(e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);return t})()},{"../util/EventTarget":23,"../util/SyntaxError":25,"../util/SyntaxUnit":26,"./Combinator":2,"./MediaFeature":4,"./MediaQuery":5,"./PropertyName":8,"./PropertyValue":9,"./PropertyValuePart":11,"./Selector":13,"./SelectorPart":14,"./SelectorSubPart":15,"./TokenStream":17,"./Tokens":18,"./Validation":19}],7:[function(e,t,n){t.exports={__proto__:null,"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch",all:"initial | inherit | unset","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length>","alignment-baseline":"auto | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":"<time>#","animation-direction":"<single-animation-direction>#","animation-duration":"<time>#","animation-fill-mode":"[ none | forwards | backwards | both ]#","animation-iteration-count":"[ <number> | infinite ]#","animation-name":"[ none | <single-animation-name> ]#","animation-play-state":"[ running | paused ]#","animation-timing-function":1,"-moz-animation-delay":"<time>#","-moz-animation-direction":"[ normal | alternate ]#","-moz-animation-duration":"<time>#","-moz-animation-iteration-count":"[ <number> | infinite ]#","-moz-animation-name":"[ none | <single-animation-name> ]#","-moz-animation-play-state":"[ running | paused ]#","-ms-animation-delay":"<time>#","-ms-animation-direction":"[ normal | alternate ]#","-ms-animation-duration":"<time>#","-ms-animation-iteration-count":"[ <number> | infinite ]#","-ms-animation-name":"[ none | <single-animation-name> ]#","-ms-animation-play-state":"[ running | paused ]#","-webkit-animation-delay":"<time>#","-webkit-animation-direction":"[ normal | alternate ]#","-webkit-animation-duration":"<time>#","-webkit-animation-fill-mode":"[ none | forwards | backwards | both ]#","-webkit-animation-iteration-count":"[ <number> | infinite ]#","-webkit-animation-name":"[ none | <single-animation-name> ]#","-webkit-animation-play-state":"[ running | paused ]#","-o-animation-delay":"<time>#","-o-animation-direction":"[ normal | alternate ]#","-o-animation-duration":"<time>#","-o-animation-iteration-count":"[ <number> | infinite ]#","-o-animation-name":"[ none | <single-animation-name> ]#","-o-animation-play-state":"[ running | paused ]#",appearance:"none | auto","-moz-appearance":"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized","-ms-appearance":"none | icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal","-webkit-appearance":"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | listbox | listitem | media-fullscreen-button | media-mute-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical","-o-appearance":"none | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal",azimuth:"<azimuth>","backface-visibility":"visible | hidden",background:1,"background-attachment":"<attachment>#","background-clip":"<box>#","background-color":"<color>","background-image":"<bg-image>#","background-origin":"<box>#","background-position":"<bg-position>","background-repeat":"<repeat-style>#","background-size":"<bg-size>#","baseline-shift":"baseline | sub | super | <percentage> | <length>",behavior:1,binding:1,bleed:"<length>","bookmark-label":"<content> | <attr> | <string>","bookmark-level":"none | <integer>","bookmark-state":"open | closed","bookmark-target":"none | <uri> | <attr>",border:"<border-width> || <border-style> || <color>","border-bottom":"<border-width> || <border-style> || <color>","border-bottom-color":"<color>","border-bottom-left-radius":"<x-one-radius>","border-bottom-right-radius":"<x-one-radius>","border-bottom-style":"<border-style>","border-bottom-width":"<border-width>","border-collapse":"collapse | separate","border-color":"<color>{1,4}","border-image":1,"border-image-outset":"[ <length> | <number> ]{1,4}","border-image-repeat":"[ stretch | repeat | round | space ]{1,2}","border-image-slice":"<border-image-slice>","border-image-source":"<image> | none","border-image-width":"[ <length> | <percentage> | <number> | auto ]{1,4}","border-left":"<border-width> || <border-style> || <color>","border-left-color":"<color>","border-left-style":"<border-style>","border-left-width":"<border-width>","border-radius":"<border-radius>","border-right":"<border-width> || <border-style> || <color>","border-right-color":"<color>","border-right-style":"<border-style>","border-right-width":"<border-width>","border-spacing":"<length>{1,2}","border-style":"<border-style>{1,4}","border-top":"<border-width> || <border-style> || <color>","border-top-color":"<color>","border-top-left-radius":"<x-one-radius>","border-top-right-radius":"<x-one-radius>","border-top-style":"<border-style>","border-top-width":"<border-width>","border-width":"<border-width>{1,4}",bottom:"<margin-width>","-moz-box-align":"start | end | center | baseline | stretch","-moz-box-decoration-break":"slice | clone","-moz-box-direction":"normal | reverse","-moz-box-flex":"<number>","-moz-box-flex-group":"<integer>","-moz-box-lines":"single | multiple","-moz-box-ordinal-group":"<integer>","-moz-box-orient":"horizontal | vertical | inline-axis | block-axis","-moz-box-pack":"start | end | center | justify","-o-box-decoration-break":"slice | clone","-webkit-box-align":"start | end | center | baseline | stretch","-webkit-box-decoration-break":"slice | clone","-webkit-box-direction":"normal | reverse","-webkit-box-flex":"<number>","-webkit-box-flex-group":"<integer>","-webkit-box-lines":"single | multiple","-webkit-box-ordinal-group":"<integer>","-webkit-box-orient":"horizontal | vertical | inline-axis | block-axis","-webkit-box-pack":"start | end | center | justify","box-decoration-break":"slice | clone","box-shadow":"<box-shadow>","box-sizing":"content-box | border-box","break-after":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-before":"auto | always | avoid | left | right | page | column | avoid-page | avoid-column","break-inside":"auto | avoid | avoid-page | avoid-column","caption-side":"top | bottom",clear:"none | right | left | both",clip:"<shape> | auto","-webkit-clip-path":"<clip-source> | <clip-path> | none","clip-path":"<clip-source> | <clip-path> | none","clip-rule":"nonzero | evenodd",color:"<color>","color-interpolation":"auto | sRGB | linearRGB","color-interpolation-filters":"auto | sRGB | linearRGB","color-profile":1,"color-rendering":"auto | optimizeSpeed | optimizeQuality","column-count":"<integer> | auto","column-fill":"auto | balance","column-gap":"<length> | normal","column-rule":"<border-width> || <border-style> || <color>","column-rule-color":"<color>","column-rule-style":"<border-style>","column-rule-width":"<border-width>","column-span":"none | all","column-width":"<length> | auto",columns:1,content:1,"counter-increment":1,"counter-reset":1,crop:"<shape> | auto",cue:"cue-after | cue-before","cue-after":1,"cue-before":1,cursor:1,direction:"ltr | rtl",display:"inline | block | list-item | inline-block | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | grid | inline-grid | run-in | ruby | ruby-base | ruby-text | ruby-base-container | ruby-text-container | contents | none | -moz-box | -moz-inline-block | -moz-inline-box | -moz-inline-grid | -moz-inline-stack | -moz-inline-table | -moz-grid | -moz-grid-group | -moz-grid-line | -moz-groupbox | -moz-deck | -moz-popup | -moz-stack | -moz-marker | -webkit-box | -webkit-inline-box | -ms-flexbox | -ms-inline-flexbox | flex | -webkit-flex | inline-flex | -webkit-inline-flex","dominant-baseline":"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge","drop-initial-after-adjust":"central | middle | after-edge | text-after-edge | ideographic | alphabetic | mathematical | <percentage> | <length>","drop-initial-after-align":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-before-adjust":"before-edge | text-before-edge | central | middle | hanging | mathematical | <percentage> | <length>","drop-initial-before-align":"caps-height | baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical","drop-initial-size":"auto | line | <length> | <percentage>","drop-initial-value":"<integer>",elevation:"<angle> | below | level | above | higher | lower","empty-cells":"show | hide","enable-background":1,fill:"<paint>","fill-opacity":"<opacity-value>","fill-rule":"nonzero | evenodd",filter:"<filter-function-list> | none",fit:"fill | hidden | meet | slice","fit-position":1,flex:"<flex>","flex-basis":"<width>","flex-direction":"row | row-reverse | column | column-reverse","flex-flow":"<flex-direction> || <flex-wrap>","flex-grow":"<number>","flex-shrink":"<number>","flex-wrap":"nowrap | wrap | wrap-reverse","-webkit-flex":"<flex>","-webkit-flex-basis":"<width>","-webkit-flex-direction":"row | row-reverse | column | column-reverse","-webkit-flex-flow":"<flex-direction> || <flex-wrap>","-webkit-flex-grow":"<number>","-webkit-flex-shrink":"<number>","-webkit-flex-wrap":"nowrap | wrap | wrap-reverse","-ms-flex":"<flex>","-ms-flex-align":"start | end | center | stretch | baseline","-ms-flex-direction":"row | row-reverse | column | column-reverse","-ms-flex-order":"<number>","-ms-flex-pack":"start | end | center | justify | distribute","-ms-flex-wrap":"nowrap | wrap | wrap-reverse",float:"left | right | none","float-offset":1,"flood-color":1,"flood-opacity":"<opacity-value>",font:"<font-shorthand> | caption | icon | menu | message-box | small-caption | status-bar","font-family":"<font-family>","font-feature-settings":"<feature-tag-value> | normal","font-kerning":"auto | normal | none","font-size":"<font-size>","font-size-adjust":"<number> | none","font-stretch":"<font-stretch>","font-style":"<font-style>","font-variant":"<font-variant> | normal | none","font-variant-alternates":"<font-variant-alternates> | normal","font-variant-caps":"<font-variant-caps> | normal","font-variant-east-asian":"<font-variant-east-asian> | normal","font-variant-ligatures":"<font-variant-ligatures> | normal | none","font-variant-numeric":"<font-variant-numeric> | normal","font-variant-position":"normal | sub | super","font-weight":"<font-weight>",gap:"[ <length> | <percentage> ]{1,2}","glyph-orientation-horizontal":"<glyph-angle>","glyph-orientation-vertical":"auto | <glyph-angle>",grid:1,"grid-area":1,"grid-auto-columns":1,"grid-auto-flow":1,"grid-auto-position":1,"grid-auto-rows":1,"grid-cell-stacking":"columns | rows | layer","grid-column":1,"grid-columns":1,"grid-column-align":"start | end | center | stretch","grid-column-sizing":1,"grid-column-start":1,"grid-column-end":1,"grid-column-span":"<integer>","grid-flow":"none | rows | columns","grid-gap":"[ <length> | <percentage> ]{1,2}","grid-layer":"<integer>","grid-row":1,"grid-rows":1,"grid-row-align":"start | end | center | stretch","grid-row-gap":1,"grid-row-start":1,"grid-row-end":1,"grid-row-span":"<integer>","grid-row-sizing":1,"grid-template":1,"grid-template-areas":1,"grid-template-columns":1,"grid-template-rows":1,"hanging-punctuation":1,height:"<margin-width> | <content-sizing>","hyphenate-after":"<integer> | auto","hyphenate-before":"<integer> | auto","hyphenate-character":"<string> | auto","hyphenate-lines":"no-limit | <integer>","hyphenate-resource":1,hyphens:"none | manual | auto",icon:1,"image-orientation":"angle | auto","image-rendering":"auto | optimizeSpeed | optimizeQuality","image-resolution":1,"ime-mode":"auto | normal | active | inactive | disabled","inline-box-align":"last | <integer>","justify-content":"flex-start | flex-end | center | space-between | space-around | space-evenly | stretch","-webkit-justify-content":"flex-start | flex-end | center | space-between | space-around | space-evenly | stretch",kerning:"auto | <length>",left:"<margin-width>","letter-spacing":"<length> | normal","line-height":"<line-height>","line-break":"auto | loose | normal | strict","line-stacking":1,"line-stacking-ruby":"exclude-ruby | include-ruby","line-stacking-shift":"consider-shifts | disregard-shifts","line-stacking-strategy":"inline-line-height | block-line-height | max-height | grid-height","list-style":1,"list-style-image":"<uri> | none","list-style-position":"inside | outside","list-style-type":"disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha | upper-alpha | none",margin:"<margin-width>{1,4}","margin-bottom":"<margin-width>","margin-left":"<margin-width>","margin-right":"<margin-width>","margin-top":"<margin-width>",mark:1,"mark-after":1,"mark-before":1,marker:1,"marker-end":1,"marker-mid":1,"marker-start":1,marks:1,"marquee-direction":1,"marquee-play-count":1,"marquee-speed":1,"marquee-style":1,mask:1,"max-height":"<length> | <percentage> | <content-sizing> | none","max-width":"<length> | <percentage> | <content-sizing> | none","min-height":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats","min-width":"<length> | <percentage> | <content-sizing> | contain-floats | -moz-contain-floats | -webkit-contain-floats","mix-blend-mode":"<blend-mode>","move-to":1,"nav-down":1,"nav-index":1,"nav-left":1,"nav-right":1,"nav-up":1,"object-fit":"fill | contain | cover | none | scale-down","object-position":"<position>",opacity:"<opacity-value>",order:"<integer>","-webkit-order":"<integer>",orphans:"<integer>",outline:1,"outline-color":"<color> | invert","outline-offset":1,"outline-style":"<border-style>","outline-width":"<border-width>",overflow:"visible | hidden | scroll | auto","overflow-style":1,"overflow-wrap":"normal | break-word","overflow-x":1,"overflow-y":1,padding:"<padding-width>{1,4}","padding-bottom":"<padding-width>","padding-left":"<padding-width>","padding-right":"<padding-width>","padding-top":"<padding-width>",page:1,"page-break-after":"auto | always | avoid | left | right","page-break-before":"auto | always | avoid | left | right","page-break-inside":"auto | avoid","page-policy":1,pause:1,"pause-after":1,"pause-before":1,perspective:1,"perspective-origin":1,phonemes:1,pitch:1,"pitch-range":1,"play-during":1,"pointer-events":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all",position:"static | relative | absolute | fixed | sticky | -webkit-sticky","presentation-level":1,"punctuation-trim":1,quotes:1,"rendering-intent":1,resize:1,rest:1,"rest-after":1,"rest-before":1,richness:1,right:"<margin-width>",rotation:1,"rotation-point":1,"ruby-align":1,"ruby-overhang":1,"ruby-position":1,"ruby-span":1,"shape-rendering":"auto | optimizeSpeed | crispEdges | geometricPrecision",size:1,speak:"normal | none | spell-out","speak-header":"once | always","speak-numeral":"digits | continuous","speak-punctuation":"code | none","speech-rate":1,src:1,"stop-color":1,"stop-opacity":"<opacity-value>",stress:1,"string-set":1,stroke:"<paint>","stroke-dasharray":"none | <dasharray>","stroke-dashoffset":"<percentage> | <length>","stroke-linecap":"butt | round | square","stroke-linejoin":"miter | round | bevel","stroke-miterlimit":"<miterlimit>","stroke-opacity":"<opacity-value>","stroke-width":"<percentage> | <length>","table-layout":"auto | fixed","tab-size":"<integer> | <length>",target:1,"target-name":1,"target-new":1,"target-position":1,"text-align":"left | right | center | justify | match-parent | start | end","text-align-last":1,"text-anchor":"start | middle | end","text-decoration":"<text-decoration-line> || <text-decoration-style> || <text-decoration-color>","text-decoration-color":"<text-decoration-color>","text-decoration-line":"<text-decoration-line>","text-decoration-style":"<text-decoration-style>","text-decoration-skip":"none | [ objects || spaces || ink || edges || box-decoration ]","-webkit-text-decoration-skip":"none | [ objects || spaces || ink || edges || box-decoration ]","text-underline-position":"auto | [ under || [ left | right ] ]","text-emphasis":1,"text-height":1,"text-indent":"<length> | <percentage>","text-justify":"auto | none | inter-word | inter-ideograph | inter-cluster | distribute | kashida","text-outline":1,"text-overflow":1,"text-rendering":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision","text-shadow":1,"text-transform":"capitalize | uppercase | lowercase | none","text-wrap":"normal | none | avoid",top:"<margin-width>","-ms-touch-action":"auto | none | pan-x | pan-y | pan-left | pan-right | pan-up | pan-down | manipulation","touch-action":"auto | none | pan-x | pan-y | pan-left | pan-right | pan-up | pan-down | manipulation",transform:1,"transform-origin":1,"transform-style":1,transition:1,"transition-delay":1,"transition-duration":1,"transition-property":1,"transition-timing-function":1,"unicode-bidi":"normal | embed | isolate | bidi-override | isolate-override | plaintext","user-modify":"read-only | read-write | write-only","user-select":"auto | text | none | contain | all","vertical-align":"auto | use-script | baseline | sub | super | top | text-top | central | middle | bottom | text-bottom | <percentage> | <length>",visibility:"visible | hidden | collapse","voice-balance":1,"voice-duration":1,"voice-family":1,"voice-pitch":1,"voice-pitch-range":1,"voice-rate":1,"voice-stress":1,"voice-volume":1,volume:1,"white-space":"normal | pre | nowrap | pre-wrap | pre-line | -pre-wrap | -o-pre-wrap | -moz-pre-wrap | -hp-pre-wrap","white-space-collapse":1,widows:"<integer>",width:"<length> | <percentage> | <content-sizing> | auto","will-change":"<will-change>","word-break":"normal | keep-all | break-all | break-word","word-spacing":"<length> | normal","word-wrap":"normal | break-word","writing-mode":"horizontal-tb | vertical-rl | vertical-lr | lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb","z-index":"<integer> | auto",zoom:"<number> | <percentage> | normal"}},{}],8:[function(e,t,n){function r(e,t,n,r){i.call(this,e,n,r,o.PROPERTY_NAME_TYPE),this.hack=t}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser");((r.prototype=new i).constructor=r).prototype.toString=function(){return(this.hack||"")+this.text}},{"../util/SyntaxUnit":26,"./Parser":6}],9:[function(e,t,n){function r(e,t,n){i.call(this,e.join(" "),t,n,o.PROPERTY_VALUE_TYPE),this.parts=e}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser");(r.prototype=new i).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],10:[function(e,t,n){function r(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}(t.exports=r).prototype.count=function(){return this._parts.length},r.prototype.isFirst=function(){return 0===this._i},r.prototype.hasNext=function(){return this._i<this._parts.length},r.prototype.mark=function(){this._marks.push(this._i)},r.prototype.peek=function(e){return this.hasNext()?this._parts[this._i+(e||0)]:null},r.prototype.next=function(){return this.hasNext()?this._parts[this._i++]:null},r.prototype.previous=function(){return 0<this._i?this._parts[--this._i]:null},r.prototype.restore=function(){this._marks.length&&(this._i=this._marks.pop())},r.prototype.drop=function(){this._marks.pop()}},{}],11:[function(e,t,n){function o(e,t,n,r){var i,r=r||{};if(a.call(this,e,t,n,l.PROPERTY_VALUE_PART_TYPE),this.type="unknown",/^([+-]?[\d.]+)([a-z]+)$/i.test(e))switch(this.type="dimension",this.value=Number(RegExp.$1),this.units=RegExp.$2,this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vmax":case"vmin":this.type="length";break;case"fr":this.type="grid";break;case"deg":case"rad":case"grad":case"turn":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}else/^([+-]?[\d.]+)%$/i.test(e)?(this.type="percentage",this.value=Number(RegExp.$1)):/^([+-]?\d+)$/i.test(e)?(this.type="integer",this.value=Number(RegExp.$1)):/^([+-]?[\d.]+)$/i.test(e)?(this.type="number",this.value=Number(RegExp.$1)):/^#([a-f0-9]{3,6})/i.test(e)?(this.type="color",3===(i=RegExp.$1).length?(this.red=parseInt(i.charAt(0)+i.charAt(0),16),this.green=parseInt(i.charAt(1)+i.charAt(1),16),this.blue=parseInt(i.charAt(2)+i.charAt(2),16)):(this.red=parseInt(i.substring(0,2),16),this.green=parseInt(i.substring(2,4),16),this.blue=parseInt(i.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(e)?(this.type="color",this.red=Number(RegExp.$1),this.green=Number(RegExp.$2),this.blue=Number(RegExp.$3)):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(e)?(this.type="color",this.red=255*Number(RegExp.$1)/100,this.green=255*Number(RegExp.$2)/100,this.blue=255*Number(RegExp.$3)/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)/i.test(e)?(this.type="color",this.red=Number(RegExp.$1),this.green=Number(RegExp.$2),this.blue=Number(RegExp.$3),this.alpha=Number(RegExp.$4)):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d.]+)\s*\)/i.test(e)?(this.type="color",this.red=255*Number(RegExp.$1)/100,this.green=255*Number(RegExp.$2)/100,this.blue=255*Number(RegExp.$3)/100,this.alpha=Number(RegExp.$4)):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(e)?(this.type="color",this.hue=Number(RegExp.$1),this.saturation=Number(RegExp.$2)/100,this.lightness=Number(RegExp.$3)/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d.]+)\s*\)/i.test(e)?(this.type="color",this.hue=Number(RegExp.$1),this.saturation=Number(RegExp.$2)/100,this.lightness=Number(RegExp.$3)/100,this.alpha=Number(RegExp.$4)):/^url\(("([^\\"]|\.)*")\)/i.test(e)?(this.type="uri",this.uri=o.parseString(RegExp.$1)):/^([^(]+)\(/i.test(e)?(this.type="function",this.name=RegExp.$1,this.value=e):/^"([^\n\r\f\\"]|\\\r\n|\\[^\r0-9a-f]|\\[0-9a-f]{1,6}(\r\n|[ \n\r\t\f])?)*"/i.test(e)||/^'([^\n\r\f\\']|\\\r\n|\\[^\r0-9a-f]|\\[0-9a-f]{1,6}(\r\n|[ \n\r\t\f])?)*'/i.test(e)?(this.type="string",this.value=o.parseString(e)):s[e.toLowerCase()]?(this.type="color",i=s[e.toLowerCase()].substring(1),this.red=parseInt(i.substring(0,2),16),this.green=parseInt(i.substring(2,4),16),this.blue=parseInt(i.substring(4,6),16)):/^[,/]$/.test(e)?(this.type="operator",this.value=e):/^-?[a-z_\u00A0-\uFFFF][a-z0-9\-_\u00A0-\uFFFF]*$/i.test(e)&&(this.type="identifier",this.value=e);this.wasIdent=Boolean(r.ident)}t.exports=o;var a=e("../util/SyntaxUnit"),s=e("./Colors"),l=e("./Parser"),r=e("./Tokens");o.prototype=new a,(o.prototype.constructor=o).parseString=function(e){return(e=e.slice(1,-1)).replace(/\\(\r\n|[^\r0-9a-f]|[0-9a-f]{1,6}(\r\n|[ \n\r\t\f])?)/gi,function(e,t){var n;return/^(\n|\r\n|\r|\f)$/.test(t)?"":(n=/^[0-9a-f]{1,6}/i.exec(t))?(n=parseInt(n[0],16),String.fromCodePoint?String.fromCodePoint(n):String.fromCharCode(n)):t})},o.serializeString=function(e){return'"'+e.replace(/["\r\n\f]/g,function(e,t){return'"'===t?"\\"+t:"\\"+(String.codePointAt?String.codePointAt(0):String.charCodeAt(0)).toString(16)+" "})+'"'},o.fromToken=function(e){return new o(e.value,e.startLine,e.startCol,{ident:e.type===r.IDENT})}},{"../util/SyntaxUnit":26,"./Colors":1,"./Parser":6,"./Tokens":18}],12:[function(e,t,n){var r=t.exports={__proto__:null,":first-letter":1,":first-line":1,":before":1,":after":1};r.ELEMENT=1,r.CLASS=2,r.isElement=function(e){return 0===e.indexOf("::")||r[e.toLowerCase()]===r.ELEMENT}},{}],13:[function(e,t,n){function r(e,t,n){i.call(this,e.join(" "),t,n,o.SELECTOR_TYPE),this.parts=e,this.specificity=a.calculate(this)}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser"),a=e("./Specificity");(r.prototype=new i).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6,"./Specificity":16}],14:[function(e,t,n){function r(e,t,n,r,i){o.call(this,n,r,i,a.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}t.exports=r;var o=e("../util/SyntaxUnit"),a=e("./Parser");(r.prototype=new o).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],15:[function(e,t,n){function r(e,t,n,r){i.call(this,e,n,r,o.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}t.exports=r;var i=e("../util/SyntaxUnit"),o=e("./Parser");(r.prototype=new i).constructor=r},{"../util/SyntaxUnit":26,"./Parser":6}],16:[function(e,t,n){function i(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}t.exports=i;var h=e("./Pseudos"),o=e("./SelectorPart");i.prototype={constructor:i,compare:function(e){for(var t=["a","b","c","d"],n=0,r=t.length;n<r;n++){if(this[t[n]]<e[t[n]])return-1;if(this[t[n]]>e[t[n]])return 1}return 0},valueOf:function(){return 1e3*this.a+100*this.b+10*this.c+this.d},toString:function(){return this.a+","+this.b+","+this.c+","+this.d}},i.calculate=function(e){for(var t,l=0,c=0,u=0,n=0,r=e.parts.length;n<r;n++)(t=e.parts[n])instanceof o&&function e(t){var n,r,i,o,a,s=t.elementName?t.elementName.text:"";for(s&&"*"!==s.charAt(s.length-1)&&u++,n=0,i=t.modifiers.length;n<i;n++)switch((a=t.modifiers[n]).type){case"class":case"attribute":c++;break;case"id":l++;break;case"pseudo":h.isElement(a.text)?u++:c++;break;case"not":for(r=0,o=a.args.length;r<o;r++)e(a.args[r])}}(t);return new i(0,l,c,u)}},{"./Pseudos":12,"./SelectorPart":14}],17:[function(e,t,n){function u(e){return null!=e&&p.test(e)}function o(e){return null!=e&&/\d/.test(e)}function h(e){return null!=e&&g.test(e)}function s(e){return null!=e&&/[a-z_\u00A0-\uFFFF\\]/i.test(e)}function a(e){return null!=e&&(s(e)||/[0-9\-\\]/.test(e))}function l(e){return"string"==typeof e&&(o(e[0])||"."===e[0]&&o(e[1]))}function r(e){i.call(this,e,d)}t.exports=r;var i=e("../util/TokenStreamBase"),c=e("./PropertyValuePart"),d=e("./Tokens"),p=/^[0-9a-fA-F]$/,f=/^[\u00A0-\uFFFF]$/,m=/\n|\r\n|\r|\f/,g=/\u0009|\u000a|\u000c|\u000d|\u0020/;r.prototype=((e,t)=>{for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e})(new i,{_getToken:function(){for(var e=this._reader,t=null,n=e.getLine(),r=e.getCol(),i=e.read();i;){switch(i){case"/":t="*"===e.peek()?this.commentToken(i,n,r):this.charToken(i,n,r);break;case"|":case"~":case"^":case"$":case"*":t="="===e.peek()?this.comparisonToken(i,n,r):this.charToken(i,n,r);break;case'"':case"'":t=this.stringToken(i,n,r);break;case"#":t=a(e.peek())?this.hashToken(i,n,r):this.charToken(i,n,r);break;case".":t=o(e.peek())?this.numberToken(i,n,r):this.charToken(i,n,r);break;case"-":l(e.peekCount(2))?t=this.numberToken(i,n,r):t="->"===e.peekCount(2)?this.htmlCommentEndToken(i,n,r):this._getDefaultToken(i,n,r);break;case"+":t=l(e.peekCount(2))?this.numberToken(i,n,r):this.charToken(i,n,r);break;case"!":t=this.importantToken(i,n,r);break;case"@":t=this.atRuleToken(i,n,r);break;case":":t=this.notToken(i,n,r);break;case"<":t=this.htmlCommentStartToken(i,n,r);break;case"\\":t=/[^\r\n\f]/.test(e.peek())?this.identOrFunctionToken(this.readEscape(i,!0),n,r):this.charToken(i,n,r);break;case"U":case"u":t="+"===e.peek()?this.unicodeRangeToken(i,n,r):this._getDefaultToken(i,n,r);break;default:t=this._getDefaultToken(i,n,r)}break}return t=t||null!==i?t:this.createToken(d.EOF,null,n,r)},_getDefaultToken:function(e,t,n){var r=this._reader;return o(e)?this.numberToken(e,t,n):h(e)?this.whitespaceToken(e,t,n):"string"==typeof(r=e+r.peekCount(1))&&("-"===r[0]&&s(r[1])||s(r[0]))?this.identOrFunctionToken(e,t,n):this.charToken(e,t,n)},createToken:function(e,t,n,r,i){var o=this._reader;return{value:t,type:e,channel:(i=i||{}).channel,endChar:i.endChar,hide:i.hide||!1,startLine:n,startCol:r,endLine:o.getLine(),endCol:o.getCol()}},atRuleToken:function(e,t,n){var r,i=e,o=this._reader,a=d.CHAR;return o.mark(),r=this.readName(),(a=d.type((i=e+r).toLowerCase()))!==d.CHAR&&a!==d.UNKNOWN||(1<i.length?a=d.UNKNOWN_SYM:(a=d.CHAR,i=e,o.reset())),this.createToken(a,i,t,n)},charToken:function(e,t,n){var r=d.type(e),i={};return-1===r?r=d.CHAR:i.endChar=d[r].endChar,this.createToken(r,e,t,n,i)},commentToken:function(e,t,n){e=this.readComment(e);return this.createToken(d.COMMENT,e,t,n)},comparisonToken:function(e,t,n){var e=e+this._reader.read(),r=d.type(e)||d.CHAR;return this.createToken(r,e,t,n)},hashToken:function(e,t,n){e=this.readName(e);return this.createToken(d.HASH,e,t,n)},htmlCommentStartToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),"\x3c!--"===(i+=r.readCount(3))?this.createToken(d.CDO,i,t,n):(r.reset(),this.charToken(e,t,n))},htmlCommentEndToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),"--\x3e"===(i+=r.readCount(2))?this.createToken(d.CDC,i,t,n):(r.reset(),this.charToken(e,t,n))},identOrFunctionToken:function(e,t,n){var r,i=this._reader,e=this.readName(e),o=d.IDENT;return"("===i.peek()?(e+=i.read(),-1<["url(","url-prefix(","domain("].indexOf(e.toLowerCase())?(i.mark(),null===(r=this.readURI(e))?(i.reset(),o=d.FUNCTION):(o=d.URI,e=r)):o=d.FUNCTION):":"===i.peek()&&"progid"===e.toLowerCase()&&(e+=i.readTo("("),o=d.IE_FUNCTION),this.createToken(o,e,t,n)},importantToken:function(e,t,n){var r,i,o=this._reader,a=e,s=d.CHAR;for(o.mark(),i=o.read();i;){if("/"===i){if("*"!==o.peek())break;if(""===(r=this.readComment(i)))break}else{if(!h(i)){if(/i/i.test(i)){r=o.readCount(8),/mportant/i.test(r)&&(a+=i+r,s=d.IMPORTANT_SYM);break}break}a+=i+this.readWhitespace()}i=o.read()}return s===d.CHAR?(o.reset(),this.charToken(e,t,n)):this.createToken(s,a,t,n)},notToken:function(e,t,n){var r=this._reader,i=e;return r.mark(),":not("===(i+=r.readCount(4)).toLowerCase()?this.createToken(d.NOT,i,t,n):(r.reset(),this.charToken(e,t,n))},numberToken:function(e,t,n){var r,i=this._reader,e=this.readNumber(e),o=d.NUMBER,a=i.peek();return null!=(r=a)&&(s(r)||/-\\/.test(r))?(e+=r=this.readName(i.read()),o=/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^fr$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(r)?d.LENGTH:/^deg|^rad$|^grad$|^turn$/i.test(r)?d.ANGLE:/^ms$|^s$/i.test(r)?d.TIME:/^hz$|^khz$/i.test(r)?d.FREQ:/^dpi$|^dpcm$/i.test(r)?d.RESOLUTION:d.DIMENSION):"%"===a&&(e+=i.read(),o=d.PERCENTAGE),this.createToken(o,e,t,n)},stringToken:function(e,t,n){for(var r,i,o=e,a=e,s=this._reader,l=d.STRING,c=s.read();c;){if(a+=c,"\\"===c){if(null===(c=s.read()))break;if(!/[^\r\n\f0-9a-f]/i.test(c)){for(r=0;u(c)&&r<6;r++)a+=c,c=s.read();if("\r"===c&&"\n"===s.peek()&&(a+=c,c=s.read()),!h(c))continue}a+=c}else{if(c===o)break;if(null!=(i=s.peek())&&m.test(i)){l=d.INVALID;break}}c=s.read()}return null===c&&(l=d.INVALID),this.createToken(l,a,t,n)},unicodeRangeToken:function(e,t,n){var r,i=this._reader,o=d.CHAR;return"+"===i.peek()&&(i.mark(),2===(e=(e+=i.read())+this.readUnicodeRangePart(!0)).length?i.reset():(o=d.UNICODE_RANGE,-1===e.indexOf("?")&&"-"===i.peek()&&(i.mark(),r=i.read(),1===(r+=this.readUnicodeRangePart(!1)).length?i.reset():e+=r))),this.createToken(o,e,t,n)},whitespaceToken:function(e,t,n){e+=this.readWhitespace();return this.createToken(d.S,e,t,n)},readUnicodeRangePart:function(e){for(var t=this._reader,n="",r=t.peek();u(r)&&n.length<6;)t.read(),n+=r,r=t.peek();if(e)for(;"?"===r&&n.length<6;)t.read(),n+=r,r=t.peek();return n},readWhitespace:function(){for(var e=this._reader,t="",n=e.peek();h(n);)e.read(),t+=n,n=e.peek();return t},readNumber:function(e){for(var t=this._reader,n=e,r="."===e,i=t.peek();i;){if(!o(i)){if("."!==i)break;if(r)break;r=!0}n+=t.read(),i=t.peek()}return n},readString:function(){var e=this.stringToken(this._reader.read(),0,0);return e.type===d.INVALID?null:e.value},readURI:function(e){for(var t=this._reader,n="",r=t.peek();r&&h(r);)t.read(),r=t.peek();for("'"===r||'"'===r?null!==(n=this.readString())&&(n=c.parseString(n)):n=this.readUnquotedURL(),r=t.peek();r&&h(r);)t.read(),r=t.peek();return null===n||")"!==r?e=null:e+=c.serializeString(n)+t.read(),e},readUnquotedURL:function(e){for(var t=this._reader,n=e||"",r=t.peek();r;r=t.peek())if(f.test(r)||/^[-!#$%&*-[\]-~]$/.test(r))n+=r,t.read();else{if("\\"!==r)break;if(!/^[^\r\n\f]$/.test(t.peek(2)))break;n+=this.readEscape(t.read(),!0)}return n},readName:function(e){for(var t=this._reader,n=e||"",r=t.peek();r;r=t.peek())if("\\"===r){if(!/^[^\r\n\f]$/.test(t.peek(2)))break;n+=this.readEscape(t.read(),!0)}else{if(!a(r))break;n+=t.read()}return n},readEscape:function(e,t){var n=this._reader,r=e||"",i=0,o=n.peek();if(u(o))for(;r+=n.read(),(o=n.peek())&&u(o)&&++i<6;);if(1===r.length){if(!/^[^\r\n\f0-9a-f]$/.test(o))throw new Error("Bad escape sequence.");if(n.read(),t)return o}else"\r"===o?(n.read(),"\n"===n.peek()&&(o+=n.read())):/^[ \t\n\f]$/.test(o)?n.read():o="";return t?(t=parseInt(r.slice(e.length),16),String.fromCodePoint?String.fromCodePoint(t):String.fromCharCode(t)):r+o},readComment:function(e){var t=this._reader,n=e||"",r=t.read();if("*"!==r)return"";for(;r;){if(2<(n+=r).length&&"*"===r&&"/"===t.peek()){n+=t.read();break}r=t.read()}return n}})},{"../util/TokenStreamBase":27,"./PropertyValuePart":11,"./Tokens":18}],18:[function(e,t,n){var r=t.exports=[{name:"CDO"},{name:"CDC"},{name:"S",whitespace:!0},{name:"COMMENT",comment:!0,hide:!0,channel:"comment"},{name:"INCLUDES",text:"~="},{name:"DASHMATCH",text:"|="},{name:"PREFIXMATCH",text:"^="},{name:"SUFFIXMATCH",text:"$="},{name:"SUBSTRINGMATCH",text:"*="},{name:"STRING"},{name:"IDENT"},{name:"HASH"},{name:"IMPORT_SYM",text:"@import"},{name:"PAGE_SYM",text:"@page"},{name:"MEDIA_SYM",text:"@media"},{name:"FONT_FACE_SYM",text:"@font-face"},{name:"CHARSET_SYM",text:"@charset"},{name:"NAMESPACE_SYM",text:"@namespace"},{name:"SUPPORTS_SYM",text:"@supports"},{name:"VIEWPORT_SYM",text:["@viewport","@-ms-viewport","@-o-viewport"]},{name:"DOCUMENT_SYM",text:["@document","@-moz-document"]},{name:"UNKNOWN_SYM"},{name:"KEYFRAMES_SYM",text:["@keyframes","@-webkit-keyframes","@-moz-keyframes","@-o-keyframes"]},{name:"IMPORTANT_SYM"},{name:"LENGTH"},{name:"ANGLE"},{name:"TIME"},{name:"FREQ"},{name:"DIMENSION"},{name:"PERCENTAGE"},{name:"NUMBER"},{name:"URI"},{name:"FUNCTION"},{name:"UNICODE_RANGE"},{name:"INVALID"},{name:"PLUS",text:"+"},{name:"GREATER",text:">"},{name:"COMMA",text:","},{name:"TILDE",text:"~"},{name:"NOT"},{name:"TOPLEFTCORNER_SYM",text:"@top-left-corner"},{name:"TOPLEFT_SYM",text:"@top-left"},{name:"TOPCENTER_SYM",text:"@top-center"},{name:"TOPRIGHT_SYM",text:"@top-right"},{name:"TOPRIGHTCORNER_SYM",text:"@top-right-corner"},{name:"BOTTOMLEFTCORNER_SYM",text:"@bottom-left-corner"},{name:"BOTTOMLEFT_SYM",text:"@bottom-left"},{name:"BOTTOMCENTER_SYM",text:"@bottom-center"},{name:"BOTTOMRIGHT_SYM",text:"@bottom-right"},{name:"BOTTOMRIGHTCORNER_SYM",text:"@bottom-right-corner"},{name:"LEFTTOP_SYM",text:"@left-top"},{name:"LEFTMIDDLE_SYM",text:"@left-middle"},{name:"LEFTBOTTOM_SYM",text:"@left-bottom"},{name:"RIGHTTOP_SYM",text:"@right-top"},{name:"RIGHTMIDDLE_SYM",text:"@right-middle"},{name:"RIGHTBOTTOM_SYM",text:"@right-bottom"},{name:"RESOLUTION",state:"media"},{name:"IE_FUNCTION"},{name:"CHAR"},{name:"PIPE",text:"|"},{name:"SLASH",text:"/"},{name:"MINUS",text:"-"},{name:"STAR",text:"*"},{name:"LBRACE",endChar:"}",text:"{"},{name:"RBRACE",text:"}"},{name:"LBRACKET",endChar:"]",text:"["},{name:"RBRACKET",text:"]"},{name:"EQUALS",text:"="},{name:"COLON",text:":"},{name:"SEMICOLON",text:";"},{name:"LPAREN",endChar:")",text:"("},{name:"RPAREN",text:")"},{name:"DOT",text:"."}],i=[],o=Object.create(null);r.UNKNOWN=-1,r.unshift({name:"EOF"});for(var a=0,s=r.length;a<s;a++)if(i.push(r[a].name),r[r[a].name]=a,r[a].text)if(r[a].text instanceof Array)for(var l=0;l<r[a].text.length;l++)o[r[a].text[l]]=a;else o[r[a].text]=a;r.name=function(e){return i[e]},r.type=function(e){return o[e]||-1}},{}],19:[function(e,t,n){var i=e("./Matcher"),o=e("./Properties"),a=e("./ValidationTypes"),s=e("./ValidationError"),l=e("./PropertyValueIterator");t.exports={validate:function(e,t){var n,r=e.toString().toLowerCase(),t=new l(t),i=o[r];if(i){if("number"!=typeof i)if(a.isAny(t,"inherit | initial | unset")){if(t.hasNext())throw n=t.next(),new s("Expected end of value but found '"+n+"'.",n.line,n.col)}else this.singleProperty(i,t)}else if(0!==r.indexOf("-"))throw new s("Unknown property '"+e+"'.",e.line,e.col)},singleProperty:function(e,t){var n,r=t.value;if(!i.parse(e).match(t))throw t.hasNext()&&!t.isFirst()?(n=t.peek(),new s("Expected end of value but found '"+n+"'.",n.line,n.col)):new s("Expected ("+a.describe(e)+") but found '"+r+"'.",r.line,r.col);if(t.hasNext())throw n=t.next(),new s("Expected end of value but found '"+n+"'.",n.line,n.col)}}},{"./Matcher":3,"./Properties":7,"./PropertyValueIterator":10,"./ValidationError":20,"./ValidationTypes":21}],20:[function(e,t,n){function r(e,t,n){this.col=n,this.line=t,this.message=e}(t.exports=r).prototype=new Error},{}],21:[function(e,t,n){var r,i,o=t.exports,a=e("./Matcher");r=o,i={isLiteral:function(e,t){for(var n=e.text.toString().toLowerCase(),r=t.split(" | "),i=!1,o=0,a=r.length;o<a&&!i;o++)"<"===r[o].charAt(0)?i=this.simple[r[o]](e):"()"===r[o].slice(-2)?i="function"===e.type&&e.name===r[o].slice(0,-2):n===r[o].toLowerCase()&&(i=!0);return i},isSimple:function(e){return Boolean(this.simple[e])},isComplex:function(e){return Boolean(this.complex[e])},describe:function(e){return this.complex[e]instanceof a?this.complex[e].toString(0):e},isAny:function(e,t){for(var n=t.split(" | "),r=!1,i=0,o=n.length;i<o&&!r&&e.hasNext();i++)r=this.isType(e,n[i]);return r},isAnyOfGroup:function(e,t){for(var n=t.split(" || "),r=!1,i=0,o=n.length;i<o&&!r;i++)r=this.isType(e,n[i]);return!!r&&n[i-1]},isType:function(e,t){var n=e.peek(),r=!1;return"<"!==t.charAt(0)?(r=this.isLiteral(n,t))&&e.next():this.simple[t]?(r=this.simple[t](n))&&e.next():r=this.complex[t]instanceof a?this.complex[t].match(e):this.complex[t](e),r},simple:{__proto__:null,"<absolute-size>":"xx-small | x-small | small | medium | large | x-large | xx-large","<animateable-feature>":"scroll-position | contents | <animateable-feature-name>","<animateable-feature-name>":function(e){return this["<ident>"](e)&&!/^(unset|initial|inherit|will-change|auto|scroll-position|contents)$/i.test(e)},"<angle>":function(e){return"angle"===e.type},"<attachment>":"scroll | fixed | local","<attr>":"attr()","<basic-shape>":"inset() | circle() | ellipse() | polygon()","<bg-image>":"<image> | <gradient> | none","<border-style>":"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset","<border-width>":"<length> | thin | medium | thick","<box>":"padding-box | border-box | content-box","<clip-source>":"<uri>","<color>":function(e){return"color"===e.type||"transparent"===String(e)||"currentColor"===String(e)},"<color-svg>":function(e){return"color"===e.type},"<content>":"content()","<content-sizing>":"fill-available | -moz-available | -webkit-fill-available | max-content | -moz-max-content | -webkit-max-content | min-content | -moz-min-content | -webkit-min-content | fit-content | -moz-fit-content | -webkit-fit-content","<feature-tag-value>":function(e){return"function"===e.type&&/^[A-Z0-9]{4}$/i.test(e)},"<filter-function>":"blur() | brightness() | contrast() | custom() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia()","<flex-basis>":"<width>","<flex-direction>":"row | row-reverse | column | column-reverse","<flex-grow>":"<number>","<flex-shrink>":"<number>","<flex-wrap>":"nowrap | wrap | wrap-reverse","<font-size>":"<absolute-size> | <relative-size> | <length> | <percentage>","<font-stretch>":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded","<font-style>":"normal | italic | oblique","<font-variant-caps>":"small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps","<font-variant-css21>":"normal | small-caps","<font-weight>":"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900","<generic-family>":"serif | sans-serif | cursive | fantasy | monospace","<geometry-box>":"<shape-box> | fill-box | stroke-box | view-box","<glyph-angle>":function(e){return"angle"===e.type&&"deg"===e.units},"<gradient>":function(e){return"function"===e.type&&/^(?:-(?:ms|moz|o|webkit)-)?(?:repeating-)?(?:radial-|linear-)?gradient/i.test(e)},"<icccolor>":"cielab() | cielch() | cielchab() | icc-color() | icc-named-color()","<ident>":function(e){return"identifier"===e.type||e.wasIdent},"<ident-not-generic-family>":function(e){return this["<ident>"](e)&&!this["<generic-family>"](e)},"<image>":"<uri>","<integer>":function(e){return"integer"===e.type},"<length>":function(e){return!("function"!==e.type||!/^(?:-(?:ms|moz|o|webkit)-)?calc/i.test(e))||"length"===e.type||"number"===e.type||"integer"===e.type||"0"===String(e)},"<line>":function(e){return"integer"===e.type},"<line-height>":"<number> | <length> | <percentage> | normal","<margin-width>":"<length> | <percentage> | auto","<miterlimit>":function(e){return this["<number>"](e)&&1<=e.value},"<nonnegative-length-or-percentage>":function(e){return(this["<length>"](e)||this["<percentage>"](e))&&("0"===String(e)||"function"===e.type||0<=e.value)},"<nonnegative-number-or-percentage>":function(e){return(this["<number>"](e)||this["<percentage>"](e))&&("0"===String(e)||"function"===e.type||0<=e.value)},"<number>":function(e){return"number"===e.type||this["<integer>"](e)},"<opacity-value>":function(e){return this["<number>"](e)&&0<=e.value&&e.value<=1},"<padding-width>":"<nonnegative-length-or-percentage>","<percentage>":function(e){return"percentage"===e.type||"0"===String(e)},"<relative-size>":"smaller | larger","<shape>":"rect() | inset-rect()","<shape-box>":"<box> | margin-box","<single-animation-direction>":"normal | reverse | alternate | alternate-reverse","<single-animation-name>":function(e){return this["<ident>"](e)&&/^-?[a-z_][-a-z0-9_]+$/i.test(e)&&!/^(none|unset|initial|inherit)$/i.test(e)},"<string>":function(e){return"string"===e.type},"<time>":function(e){return"time"===e.type},"<uri>":function(e){return"uri"===e.type},"<width>":"<margin-width>"},complex:{__proto__:null,"<azimuth>":"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards","<bg-position>":"<position>#","<bg-size>":"[ <length> | <percentage> | auto ]{1,2} | cover | contain","<blend-mode>":"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity","<border-image-slice>":a.many([!0],a.cast("<nonnegative-number-or-percentage>"),a.cast("<nonnegative-number-or-percentage>"),a.cast("<nonnegative-number-or-percentage>"),a.cast("<nonnegative-number-or-percentage>"),"fill"),"<border-radius>":"<nonnegative-length-or-percentage>{1,4} [ / <nonnegative-length-or-percentage>{1,4} ]?","<box-shadow>":"none | <shadow>#","<clip-path>":"<basic-shape> || <geometry-box>","<dasharray>":a.cast("<nonnegative-length-or-percentage>").braces(1,1/0,"#",a.cast(",").question()),"<family-name>":"<string> | <ident-not-generic-family> <ident>*","<filter-function-list>":"[ <filter-function> | <uri> ]+","<flex>":"none | [ <flex-grow> <flex-shrink>? || <flex-basis> ]","<font-family>":"[ <generic-family> | <family-name> ]#","<font-shorthand>":"[ <font-style> || <font-variant-css21> || <font-weight> || <font-stretch> ]? <font-size> [ / <line-height> ]? <font-family>","<font-variant-alternates>":"stylistic() || historical-forms || styleset() || character-variant() || swash() || ornaments() || annotation()","<font-variant-ligatures>":"[ common-ligatures | no-common-ligatures ] || [ discretionary-ligatures | no-discretionary-ligatures ] || [ historical-ligatures | no-historical-ligatures ] || [ contextual | no-contextual ]","<font-variant-numeric>":"[ lining-nums | oldstyle-nums ] || [ proportional-nums | tabular-nums ] || [ diagonal-fractions | stacked-fractions ] || ordinal || slashed-zero","<font-variant-east-asian>":"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ] || [ full-width | proportional-width ] || ruby","<paint>":"<paint-basic> | <uri> <paint-basic>?","<paint-basic>":"none | currentColor | <color-svg> <icccolor>?","<position>":"[ center | [ left | right ] [ <percentage> | <length> ]? ] && [ center | [ top | bottom ] [ <percentage> | <length> ]? ] | [ left | center | right | <percentage> | <length> ] [ top | center | bottom | <percentage> | <length> ] | [ left | center | right | top | bottom | <percentage> | <length> ]","<repeat-style>":"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}","<shadow>":a.many([!0],a.cast("<length>").braces(2,4),"inset","<color>"),"<text-decoration-color>":"<color>","<text-decoration-line>":"none | [ underline || overline || line-through || blink ]","<text-decoration-style>":"solid | double | dotted | dashed | wavy","<will-change>":"auto | <animateable-feature>#","<x-one-radius>":"[ <length> | <percentage> ]{1,2}"}},Object.keys(i).forEach(function(e){r[e]=i[e]}),Object.keys(o.simple).forEach(function(e){var t=o.simple[e];"string"==typeof t&&(o.simple[e]=function(e){return o.isLiteral(e,t)})}),Object.keys(o.complex).forEach(function(e){var t=o.complex[e];"string"==typeof t&&(o.complex[e]=a.parse(t))}),o.complex["<font-variant>"]=a.oror({expand:"<font-variant-ligatures>"},{expand:"<font-variant-alternates>"},"<font-variant-caps>",{expand:"<font-variant-numeric>"},{expand:"<font-variant-east-asian>"})},{"./Matcher":3}],22:[function(e,t,n){t.exports={Colors:e("./Colors"),Combinator:e("./Combinator"),Parser:e("./Parser"),PropertyName:e("./PropertyName"),PropertyValue:e("./PropertyValue"),PropertyValuePart:e("./PropertyValuePart"),Matcher:e("./Matcher"),MediaFeature:e("./MediaFeature"),MediaQuery:e("./MediaQuery"),Selector:e("./Selector"),SelectorPart:e("./SelectorPart"),SelectorSubPart:e("./SelectorSubPart"),Specificity:e("./Specificity"),TokenStream:e("./TokenStream"),Tokens:e("./Tokens"),ValidationError:e("./ValidationError")}},{"./Colors":1,"./Combinator":2,"./Matcher":3,"./MediaFeature":4,"./MediaQuery":5,"./Parser":6,"./PropertyName":8,"./PropertyValue":9,"./PropertyValuePart":11,"./Selector":13,"./SelectorPart":14,"./SelectorSubPart":15,"./Specificity":16,"./TokenStream":17,"./Tokens":18,"./ValidationError":20}],23:[function(e,t,n){function r(){this._listeners=Object.create(null)}(t.exports=r).prototype={constructor:r,addListener:function(e,t){this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t)},fire:function(e){if(void 0!==(e="string"==typeof e?{type:e}:e).target&&(e.target=this),void 0===e.type)throw new Error("Event object missing 'type' property.");if(this._listeners[e.type])for(var t=this._listeners[e.type].concat(),n=0,r=t.length;n<r;n++)t[n].call(this,e)},removeListener:function(e,t){if(this._listeners[e])for(var n=this._listeners[e],r=0,i=n.length;r<i;r++)if(n[r]===t){n.splice(r,1);break}}}},{}],24:[function(e,t,n){function r(e){this._input=e.replace(/(\r\n?|\n)/g,"\n"),this._line=1,this._col=1,this._cursor=0}(t.exports=r).prototype={constructor:r,getCol:function(){return this._col},getLine:function(){return this._line},eof:function(){return this._cursor===this._input.length},peek:function(e){var t=null;return e=void 0===e?1:e,t=this._cursor<this._input.length?this._input.charAt(this._cursor+e-1):t},read:function(){var e=null;return this._cursor<this._input.length&&("\n"===this._input.charAt(this._cursor)?(this._line++,this._col=1):this._col++,e=this._input.charAt(this._cursor++)),e},mark:function(){this._bookmark={cursor:this._cursor,line:this._line,col:this._col}},reset:function(){this._bookmark&&(this._cursor=this._bookmark.cursor,this._line=this._bookmark.line,this._col=this._bookmark.col,delete this._bookmark)},peekCount:function(e){return e=void 0===e?1:Math.max(e,0),this._input.substring(this._cursor,this._cursor+e)},readTo:function(e){for(var t,n="";n.length<e.length||n.lastIndexOf(e)!==n.length-e.length;){if(!(t=this.read()))throw new Error('Expected "'+e+'" at line '+this._line+", col "+this._col+".");n+=t}return n},readWhile:function(e){for(var t="",n=this.peek();null!==n&&e(n);)t+=this.read(),n=this.peek();return t},readMatch:function(e){var t=this._input.substring(this._cursor),n=null;return"string"==typeof e?t.slice(0,e.length)===e&&(n=this.readCount(e.length)):e instanceof RegExp&&e.test(t)&&(n=this.readCount(RegExp.lastMatch.length)),n},readCount:function(e){for(var t="";e--;)t+=this.read();return t}}},{}],25:[function(e,t,n){function r(e,t,n){Error.call(this),this.name=this.constructor.name,this.col=n,this.line=t,this.message=e}((t.exports=r).prototype=Object.create(Error.prototype)).constructor=r},{}],26:[function(e,t,n){function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}(t.exports=r).fromToken=function(e){return new r(e.value,e.startLine,e.startCol)},r.prototype={constructor:r,valueOf:function(){return this.toString()},toString:function(){return this.text}}},{}],27:[function(e,t,n){function r(e,t){this._reader=new i(e?e.toString():""),this._token=null,this._tokenData=t,this._lt=[],this._ltIndex=0,this._ltIndexCache=[]}t.exports=r;var i=e("./StringReader"),o=e("./SyntaxError");r.createTokenData=function(e){var t=[],n=Object.create(null),r=e.concat([]),i=0,o=r.length+1;for(r.UNKNOWN=-1,r.unshift({name:"EOF"});i<o;i++)t.push(r[i].name),r[r[i].name]=i,r[i].text&&(n[r[i].text]=i);return r.name=function(e){return t[e]},r.type=function(e){return n[e]},r},r.prototype={constructor:r,match:function(e,t){e instanceof Array||(e=[e]);for(var n=this.get(t),r=0,i=e.length;r<i;)if(n===e[r++])return!0;return this.unget(),!1},mustMatch:function(e){var t;if(e instanceof Array||(e=[e]),!this.match.apply(this,arguments))throw t=this.LT(1),new o("Expected "+this._tokenData[e[0]].name+" at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol)},advance:function(e,t){for(;0!==this.LA(0)&&!this.match(e,t);)this.get();return this.LA(0)},get:function(e){var t,n,r=this._tokenData,i=0;if(this._lt.length&&0<=this._ltIndex&&this._ltIndex<this._lt.length){for(i++,this._token=this._lt[this._ltIndex++],n=r[this._token.type];void 0!==n.channel&&e!==n.channel&&this._ltIndex<this._lt.length;)this._token=this._lt[this._ltIndex++],n=r[this._token.type],i++;if((void 0===n.channel||e===n.channel)&&this._ltIndex<=this._lt.length)return this._ltIndexCache.push(i),this._token.type}return-1<(t=this._getToken()).type&&!r[t.type].hide&&(t.channel=r[t.type].channel,this._token=t,this._lt.push(t),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),5<this._lt.length&&this._lt.shift(),5<this._ltIndexCache.length&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),(n=r[t.type])&&(n.hide||void 0!==n.channel&&e!==n.channel)?this.get(e):t.type},LA:function(e){var t,n=e;if(0<e){if(5<e)throw new Error("Too much lookahead.");for(;n;)t=this.get(),n--;for(;n<e;)this.unget(),n++}else if(e<0){if(!this._lt[this._ltIndex+e])throw new Error("Too much lookbehind.");t=this._lt[this._ltIndex+e].type}else t=this._token.type;return t},LT:function(e){return this.LA(e),this._lt[this._ltIndex+e-1]},peek:function(){return this.LA(1)},token:function(){return this._token},tokenName:function(e){return e<0||e>this._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}}},{"./StringReader":24,"./SyntaxError":25}],28:[function(e,t,n){t.exports={StringReader:e("./StringReader"),SyntaxError:e("./SyntaxError"),SyntaxUnit:e("./SyntaxUnit"),EventTarget:e("./EventTarget"),TokenStreamBase:e("./TokenStreamBase")}},{"./EventTarget":23,"./StringReader":24,"./SyntaxError":25,"./SyntaxUnit":26,"./TokenStreamBase":27}],parserlib:[function(e,t,n){t.exports={css:e("./css"),util:e("./util")}},{"./css":22,"./util":28}]},{},[]))("parserlib"),b=(()=>{function k(e,t){return null!=t&&e instanceof t}function y(e,p,t,f,m){"object"==typeof p&&(t=p.depth,f=p.prototype,m=p.includeNonEnumerable,p=p.circular);var g=[],b=[],w="undefined"!=typeof Buffer;return void 0===p&&(p=!0),function r(e,i){if(null===e)return null;if(0===i)return e;var n,t,o;if("object"!=typeof e)return e;if(k(e,v))n=new v;else if(k(e,x))n=new x;else if(k(e,E))n=new E(function(t,n){e.then(function(e){t(r(e,i-1))},function(e){n(r(e,i-1))})});else if(y.__isArray(e))n=[];else if(y.__isRegExp(e))n=new RegExp(e.source,_(e)),e.lastIndex&&(n.lastIndex=e.lastIndex);else if(y.__isDate(e))n=new Date(e.getTime());else{if(w&&Buffer.isBuffer(e))return n=Buffer.allocUnsafe?Buffer.allocUnsafe(e.length):new Buffer(e.length),e.copy(n),n;k(e,Error)?n=Object.create(e):void 0===f?(t=Object.getPrototypeOf(e),n=Object.create(t)):(n=Object.create(f),t=f)}if(p){var a=g.indexOf(e);if(-1!=a)return b[a];g.push(e),b.push(n)}for(l in k(e,v)&&e.forEach(function(e,t){t=r(t,i-1),e=r(e,i-1),n.set(t,e)}),k(e,x)&&e.forEach(function(e){e=r(e,i-1),n.add(e)}),e)(o=t?Object.getOwnPropertyDescriptor(t,l):o)&&null==o.set||(n[l]=r(e[l],i-1));if(Object.getOwnPropertySymbols)for(var s=Object.getOwnPropertySymbols(e),l=0;l<s.length;l++){var c=s[l];(h=Object.getOwnPropertyDescriptor(e,c))&&!h.enumerable&&!m||(n[c]=r(e[c],i-1),h.enumerable)||Object.defineProperty(n,c,{enumerable:!1})}if(m)for(var u=Object.getOwnPropertyNames(e),l=0;l<u.length;l++){var h,d=u[l];(h=Object.getOwnPropertyDescriptor(e,d))&&h.enumerable||(n[d]=r(e[d],i-1),Object.defineProperty(n,d,{enumerable:!1}))}return n}(e,t=void 0===t?1/0:t)}function t(e){return Object.prototype.toString.call(e)}function _(e){var t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),t}var v,x,E;try{v=Map}catch(e){v=function(){}}try{x=Set}catch(e){x=function(){}}try{E=Promise}catch(e){E=function(){}}return y.clonePrototype=function(e){var t;return null===e?null:((t=function(){}).prototype=e,new t)},y.__objToStr=t,y.__isDate=function(e){return"object"==typeof e&&"[object Date]"===t(e)},y.__isArray=function(e){return"object"==typeof e&&"[object Array]"===t(e)},y.__isRegExp=function(e){return"object"==typeof e&&"[object RegExp]"===t(e)},y.__getRegExpFlags=_,y})(),"object"==typeof i&&i.exports&&(i.exports=b),p=[],r=[],f=/\/\*\s*csslint([^\*]*)\*\//,(m=new g.util.EventTarget).version="1.0.5",m.addRule=function(e){p.push(e),p[e.id]=e},m.clearRules=function(){p=[]},m.getRules=function(){return[].concat(p).sort(function(e,t){return e.id>t.id?1:0})},m.getRuleset=function(){for(var e={},t=0,n=p.length;t<n;)e[p[t++].id]=1;return e},m.addFormatter=function(e){r[e.id]=e},m.getFormatter=function(e){return r[e]},m.format=function(e,t,n,r){var n=m.getFormatter(n),i=null;return n&&(i=n.startFormat(),i=(i+=n.formatResults(e,t,r||{}))+n.endFormat()),i},m.hasFormat=function(e){return r.hasOwnProperty(e)},m.verify=function(e,t){var n,r,i,o,a=0,s={},l=[],c=new g.css.Parser({starHack:!0,ieFilters:!0,underscoreHack:!0,strict:!1}),u=e.replace(/\n\r?/g,"$split$").split("$split$"),h=(w.Util.forEach(u,function(e,t){var e=e&&e.match(/\/\*[ \t]*csslint[ \t]+allow:[ \t]*([^\*]*)\*\//i),e=e&&e[1],n={};e&&(e.toLowerCase().split(",").forEach(function(e){n[e.trim()]=!0}),0<Object.keys(n).length)&&(s[t+1]=n)}),null),d=null;for(a in w.Util.forEach(u,function(e,t){null===h&&e.match(/\/\*[ \t]*csslint[ \t]+ignore:start[ \t]*\*\//i)&&(h=t),e.match(/\/\*[ \t]*csslint[ \t]+ignore:end[ \t]*\*\//i)&&(d=t),null!==h&&null!==d&&(l.push([h,d]),h=d=null)}),null!==h&&l.push([h,u.length]),t=t||m.getRuleset(),f.test(e)&&(t=b(t),i=t,(r=(r=(r=e)&&r.match(f))&&r[1])&&(o={true:2,"":1,false:0,2:2,1:1,0:0},r.toLowerCase().split(",").forEach(function(e){var e=e.split(":"),t=e[0]||"",e=e[1]||"";i[t.trim()]=o[e.trim()]})),t=i),n=new k(u,t,s,l),t.errors=2,t)t.hasOwnProperty(a)&&t[a]&&p[a]&&p[a].init(c,n);try{c.parse(e)}catch(e){n.error("Fatal error, cannot continue: "+e.message,e.line,e.col,{})}return(r={messages:n.messages,stats:n.stats,ruleset:n.ruleset,allow:n.allow,ignore:n.ignore}).messages.sort(function(e,t){return e.rollup&&!t.rollup?1:!e.rollup&&t.rollup?-1:e.line-t.line}),r},w=m,k.prototype={constructor:k,error:function(e,t,n,r){this.messages.push({type:"error",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r||{}})},warn:function(e,t,n,r){this.report(e,t,n,r)},report:function(e,t,n,r){this.allow.hasOwnProperty(t)&&this.allow[t].hasOwnProperty(r.id)||this.isIgnored(t)||this.messages.push({type:2===this.ruleset[r.id]?"error":"warning",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},info:function(e,t,n,r){this.messages.push({type:"info",line:t,col:n,message:e,evidence:this.lines[t-1],rule:r})},rollupError:function(e,t){this.messages.push({type:"error",rollup:!0,message:e,rule:t})},rollupWarn:function(e,t){this.messages.push({type:"warning",rollup:!0,message:e,rule:t})},stat:function(e,t){this.stats[e]=t},isIgnored:function(t){var n=!1;return w.Util.forEach(this.ignore,function(e){e[0]<=t&&t<=e[1]&&(n=!0)}),n}},w._Reporter=k,w.Util={mix:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return n},indexOf:function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},forEach:function(e,t){if(e.forEach)return e.forEach(t);for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)}},w.addRule({id:"box-model",name:"Beware of broken box size",desc:"Don't use width or height when using padding or border.",url:"https://github.com/CSSLint/csslint/wiki/Beware-of-box-model-size",browsers:"All",init:function(e,n){function t(){l=!(i={})}function r(){var e,t;if(!l){if(i.height)for(e in s)s.hasOwnProperty(e)&&i[e]&&(t=i[e].value,"padding"!==e||2!==t.parts.length||0!==t.parts[0].value)&&n.report("Using height with "+e+" can sometimes make elements larger than you expect.",i[e].line,i[e].col,o);if(i.width)for(e in a)a.hasOwnProperty(e)&&i[e]&&(t=i[e].value,"padding"!==e||2!==t.parts.length||0!==t.parts[1].value)&&n.report("Using width with "+e+" can sometimes make elements larger than you expect.",i[e].line,i[e].col,o)}}var i,o=this,a={border:1,"border-left":1,"border-right":1,padding:1,"padding-left":1,"padding-right":1},s={border:1,"border-bottom":1,"border-top":1,padding:1,"padding-bottom":1,"padding-top":1},l=!1;e.addListener("startrule",t),e.addListener("startfontface",t),e.addListener("startpage",t),e.addListener("startpagemargin",t),e.addListener("startkeyframerule",t),e.addListener("startviewport",t),e.addListener("property",function(e){var t=e.property.text.toLowerCase();s[t]||a[t]?/^0\S*$/.test(e.value)||"border"===t&&"none"===e.value.toString()||(i[t]={line:e.property.line,col:e.property.col,value:e.value}):/^(width|height)/i.test(t)&&/^(length|percentage)/.test(e.value.parts[0].type)?i[t]=1:"box-sizing"===t&&(l=!0)}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r),e.addListener("endviewport",r)}}),w.addRule({id:"bulletproof-font-face",name:"Use the bulletproof @font-face syntax",desc:"Use the bulletproof @font-face syntax to avoid 404's in old IE (http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).",url:"https://github.com/CSSLint/csslint/wiki/Bulletproof-font-face",browsers:"All",init:function(e,t){var r,i,n=this,o=!1,a=!0,s=!1;e.addListener("startfontface",function(){o=!0}),e.addListener("property",function(e){var t,n;o&&(t=e.property.toString().toLowerCase(),n=e.value.toString(),r=e.line,i=e.col,"src"===t)&&(!n.match(e=/^\s?url\(['"].+\.eot\?.*['"]\)\s*format\(['"]embedded-opentype['"]\).*$/i)&&a?a=!(s=!0):n.match(e)&&!a&&(s=!1))}),e.addListener("endfontface",function(){o=!1,s&&t.report("@font-face declaration doesn't follow the fontspring bulletproof syntax.",r,i,n)})}}),w.addRule({id:"compatible-vendor-prefixes",name:"Require compatible vendor prefixes",desc:"Include all compatible vendor prefixes to reach a wider range of users.",url:"https://github.com/CSSLint/csslint/wiki/Require-compatible-vendor-prefixes",browsers:"All",init:function(e,h){var d,t,n,r,i,o,p=this,a=!1,s=Array.prototype.push,l=[],f={animation:"webkit","animation-delay":"webkit","animation-direction":"webkit","animation-duration":"webkit","animation-fill-mode":"webkit","animation-iteration-count":"webkit","animation-name":"webkit","animation-play-state":"webkit","animation-timing-function":"webkit",appearance:"webkit moz","border-end":"webkit moz","border-end-color":"webkit moz","border-end-style":"webkit moz","border-end-width":"webkit moz","border-image":"webkit moz o","border-radius":"webkit","border-start":"webkit moz","border-start-color":"webkit moz","border-start-style":"webkit moz","border-start-width":"webkit moz","box-align":"webkit moz","box-direction":"webkit moz","box-flex":"webkit moz","box-lines":"webkit","box-ordinal-group":"webkit moz","box-orient":"webkit moz","box-pack":"webkit moz","box-sizing":"","box-shadow":"","column-count":"webkit moz ms","column-gap":"webkit moz ms","column-rule":"webkit moz ms","column-rule-color":"webkit moz ms","column-rule-style":"webkit moz ms","column-rule-width":"webkit moz ms","column-width":"webkit moz ms",flex:"webkit ms","flex-basis":"webkit","flex-direction":"webkit ms","flex-flow":"webkit","flex-grow":"webkit","flex-shrink":"webkit",hyphens:"epub moz","line-break":"webkit ms","margin-end":"webkit moz","margin-start":"webkit moz","marquee-speed":"webkit wap","marquee-style":"webkit wap","padding-end":"webkit moz","padding-start":"webkit moz","tab-size":"moz o","text-size-adjust":"webkit ms",transform:"webkit ms","transform-origin":"webkit ms",transition:"","transition-delay":"","transition-duration":"","transition-property":"","transition-timing-function":"","user-modify":"webkit moz","user-select":"webkit moz ms","word-break":"epub ms","writing-mode":"epub ms"};for(t in f)if(f.hasOwnProperty(t)){for(n=[],i=0,o=(r=f[t].split(" ")).length;i<o;i++)n.push("-"+r[i]+"-"+t);f[t]=n,s.apply(l,n)}e.addListener("startrule",function(){d=[]}),e.addListener("startkeyframes",function(e){a=e.prefix||!0}),e.addListener("endkeyframes",function(){a=!1}),e.addListener("property",function(e){e=e.property;-1<w.Util.indexOf(l,e.text)&&(!a||"string"!=typeof a||0!==e.text.indexOf("-"+a+"-"))&&d.push(e)}),e.addListener("endrule",function(){if(d.length){for(var e,t,n,r,i,o,a,s,l={},c=0,u=d.length;c<u;c++)for(t in e=d[c],f)f.hasOwnProperty(t)&&(n=f[t],-1<w.Util.indexOf(n,e.text))&&(l[t]||(l[t]={full:n.slice(0),actual:[],actualNodes:[]}),-1===w.Util.indexOf(l[t].actual,e.text))&&(l[t].actual.push(e.text),l[t].actualNodes.push(e));for(t in l)if(l.hasOwnProperty(t)&&(i=(r=l[t]).full).length>(o=r.actual).length)for(c=0,u=i.length;c<u;c++)a=i[c],-1===w.Util.indexOf(o,a)&&(s=1===o.length?o[0]:2===o.length?o.join(" and "):o.join(", "),h.report("The property "+a+" is compatible with "+s+" and should be included as well.",r.actualNodes[0].line,r.actualNodes[0].col,p))}})}}),w.addRule({id:"display-property-grouping",name:"Require properties appropriate for display",desc:"Certain properties shouldn't be used with certain display property values.",url:"https://github.com/CSSLint/csslint/wiki/Require-properties-appropriate-for-display",browsers:"All",init:function(e,r){function t(e,t,n){!o[e]||"string"==typeof s[e]&&o[e].value.toLowerCase()===s[e]||r.report(n||e+" can't be used with display: "+t+".",o[e].line,o[e].col,a)}function n(){o={}}function i(){var e=o.display?o.display.value:null;if(e)switch(e){case"inline":t("height",e),t("width",e),t("margin",e),t("margin-top",e),t("margin-bottom",e),t("float",e,"display:inline has no effect on floated elements (but may be used to fix the IE6 double-margin bug).");break;case"block":t("vertical-align",e);break;case"inline-block":t("float",e);break;default:0===e.indexOf("table-")&&(t("margin",e),t("margin-left",e),t("margin-right",e),t("margin-top",e),t("margin-bottom",e),t("float",e))}}var o,a=this,s={display:1,float:"none",height:1,width:1,margin:1,"margin-left":1,"margin-right":1,"margin-bottom":1,"margin-top":1,padding:1,"padding-left":1,"padding-right":1,"padding-bottom":1,"padding-top":1,"vertical-align":1};e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startkeyframerule",n),e.addListener("startpagemargin",n),e.addListener("startpage",n),e.addListener("startviewport",n),e.addListener("property",function(e){var t=e.property.text.toLowerCase();s[t]&&(o[t]={value:e.value.text,line:e.property.line,col:e.property.col})}),e.addListener("endrule",i),e.addListener("endfontface",i),e.addListener("endkeyframerule",i),e.addListener("endpagemargin",i),e.addListener("endpage",i),e.addListener("endviewport",i)}}),w.addRule({id:"duplicate-background-images",name:"Disallow duplicate background images",desc:"Every background-image should be unique. Use a common class for e.g. sprites.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-duplicate-background-images",browsers:"All",init:function(e,o){var a=this,s={};e.addListener("property",function(e){var t,n,r=e.property.text,i=e.value;if(r.match(/background/i))for(t=0,n=i.parts.length;t<n;t++)"uri"===i.parts[t].type&&(void 0===s[i.parts[t].uri]?s[i.parts[t].uri]=e:o.report("Background image '"+i.parts[t].uri+"' was used multiple times, first declared at line "+s[i.parts[t].uri].line+", col "+s[i.parts[t].uri].col+".",e.line,e.col,a))})}}),w.addRule({id:"duplicate-properties",name:"Disallow duplicate properties",desc:"Duplicate properties must appear one after the other.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-duplicate-properties",browsers:"All",init:function(e,n){function t(){r={}}var r,i,o=this;e.addListener("startrule",t),e.addListener("startfontface",t),e.addListener("startpage",t),e.addListener("startpagemargin",t),e.addListener("startkeyframerule",t),e.addListener("startviewport",t),e.addListener("property",function(e){var t=e.property.text.toLowerCase();!r[t]||i===t&&r[t]!==e.value.text||n.report("Duplicate property '"+e.property+"' found.",e.line,e.col,o),r[t]=e.value.text,i=t})}}),w.addRule({id:"empty-rules",name:"Disallow empty rules",desc:"Rules without any properties specified should be removed.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-empty-rules",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(){r=0}),e.addListener("property",function(){r++}),e.addListener("endrule",function(e){e=e.selectors;0===r&&t.report("Rule is empty.",e[0].line,e[0].col,n)})}}),w.addRule({id:"errors",name:"Parsing Errors",desc:"This rule looks for recoverable syntax errors.",browsers:"All",init:function(e,t){var n=this;e.addListener("error",function(e){t.error(e.message,e.line,e.col,n)})}}),w.addRule({id:"floats",name:"Disallow too many floats",desc:"This rule tests if the float property is used too many times",url:"https://github.com/CSSLint/csslint/wiki/Disallow-too-many-floats",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){t.isIgnored(e.property.line)||"float"===e.property.text.toLowerCase()&&"none"!==e.value.text.toLowerCase()&&r++}),e.addListener("endstylesheet",function(){t.stat("floats",r),10<=r&&t.rollupWarn("Too many floats ("+r+"), you're probably using them for layout. Consider using a grid system instead.",n)})}}),w.addRule({id:"font-faces",name:"Don't use too many web fonts",desc:"Too many different web fonts in the same stylesheet.",url:"https://github.com/CSSLint/csslint/wiki/Don%27t-use-too-many-web-fonts",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("startfontface",function(e){t.isIgnored(e.line)||r++}),e.addListener("endstylesheet",function(){5<r&&t.rollupWarn("Too many @font-face declarations ("+r+").",n)})}}),w.addRule({id:"font-sizes",name:"Disallow too many font sizes",desc:"Checks the number of font-size declarations.",url:"https://github.com/CSSLint/csslint/wiki/Don%27t-use-too-many-font-size-declarations",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){t.isIgnored(e.property.line)||"font-size"===e.property.toString()&&r++}),e.addListener("endstylesheet",function(){t.stat("font-sizes",r),10<=r&&t.rollupWarn("Too many font-size declarations ("+r+"), abstraction needed.",n)})}}),w.addRule({id:"gradients",name:"Require all gradient definitions",desc:"When using a vendor-prefixed gradient, make sure to use them all.",url:"https://github.com/CSSLint/csslint/wiki/Require-all-gradient-definitions",browsers:"All",init:function(e,n){var r,i=this;e.addListener("startrule",function(){r={moz:0,webkit:0,oldWebkit:0,o:0}}),e.addListener("property",function(e){/\-(moz|o|webkit)(?:\-(?:linear|radial))\-gradient/i.test(e.value)?r[RegExp.$1]=1:/\-webkit\-gradient/i.test(e.value)&&(r.oldWebkit=1)}),e.addListener("endrule",function(e){var t=[];r.moz||t.push("Firefox 3.6+"),r.webkit||t.push("Webkit (Safari 5+, Chrome)"),r.oldWebkit||t.push("Old Webkit (Safari 4+, Chrome)"),r.o||t.push("Opera 11.1+"),t.length&&t.length<4&&n.report("Missing vendor-prefixed CSS gradients for "+t.join(", ")+".",e.selectors[0].line,e.selectors[0].col,i)})}}),w.addRule({id:"ids",name:"Disallow IDs in selectors",desc:"Selectors should not contain IDs.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-IDs-in-selectors",browsers:"All",init:function(l,c){var u=this;l.addListener("startrule",function(e){for(var t,n,r,i,o,a=e.selectors,s=0;s<a.length;s++){for(t=a[s],i=r=0;i<t.parts.length;i++)if((n=t.parts[i]).type===l.SELECTOR_PART_TYPE)for(o=0;o<n.modifiers.length;o++)"id"===n.modifiers[o].type&&r++;1===r?c.report("Don't use IDs in selectors.",t.line,t.col,u):1<r&&c.report(r+" IDs in the selector, really?",t.line,t.col,u)}})}}),w.addRule({id:"import-ie-limit",name:"@import limit on IE6-IE9",desc:"IE6-9 supports up to 31 @import per stylesheet",browsers:"IE6, IE7, IE8, IE9",init:function(e,t){var n=this,r=0;e.addListener("startpage",function(){r=0}),e.addListener("import",function(){r++}),e.addListener("endstylesheet",function(){31<r&&t.rollupError("Too many @import rules ("+r+"). IE6-9 supports up to 31 import per stylesheet.",n)})}}),w.addRule({id:"import",name:"Disallow @import",desc:"Don't use @import, use <link> instead.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-%40import",browsers:"All",init:function(e,t){var n=this;e.addListener("import",function(e){t.report("@import prevents parallel downloads, use <link> instead.",e.line,e.col,n)})}}),w.addRule({id:"important",name:"Disallow !important",desc:"Be careful when using !important declaration",url:"https://github.com/CSSLint/csslint/wiki/Disallow-%21important",browsers:"All",init:function(e,t){var n=this,r=0;e.addListener("property",function(e){t.isIgnored(e.line)||!0===e.important&&(r++,t.report("Use of !important",e.line,e.col,n))}),e.addListener("endstylesheet",function(){t.stat("important",r),10<=r&&t.rollupWarn("Too many !important declarations ("+r+"), try to use less than 10 to avoid specificity issues.",n)})}}),w.addRule({id:"known-properties",name:"Require use of known properties",desc:"Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property.",url:"https://github.com/CSSLint/csslint/wiki/Require-use-of-known-properties",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){e.invalid&&t.report(e.invalid.message,e.line,e.col,n)})}}),w.addRule({id:"order-alphabetical",name:"Alphabetical order",desc:"Assure properties are in alphabetical order",browsers:"All",init:function(e,t){function n(){i=[]}function r(e){i.join(",")!==i.sort().join(",")&&t.report("Rule doesn't have all its properties in alphabetical order.",e.line,e.col,o)}var i,o=this;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("startviewport",n),e.addListener("property",function(e){e=e.property.text.toLowerCase().replace(/^-.*?-/,"");i.push(e)}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r),e.addListener("endviewport",r)}}),w.addRule({id:"outline-none",name:"Disallow outline: none",desc:"Use of outline: none or outline: 0 should be limited to :focus rules.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-outline%3Anone",browsers:"All",tags:["Accessibility"],init:function(e,t){function n(e){i=e.selectors?{line:e.line,col:e.col,selectors:e.selectors,propCount:0,outline:!1}:null}function r(){i&&i.outline&&(-1===i.selectors.toString().toLowerCase().indexOf(":focus")?t.report("Outlines should only be modified using :focus.",i.line,i.col,o):1===i.propCount&&t.report("Outlines shouldn't be hidden unless other visual changes are made.",i.line,i.col,o))}var i,o=this;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("startpage",n),e.addListener("startpagemargin",n),e.addListener("startkeyframerule",n),e.addListener("startviewport",n),e.addListener("property",function(e){var t=e.property.text.toLowerCase(),e=e.value;!i||(i.propCount++,"outline"!==t)||"none"!==e.toString()&&"0"!==e.toString()||(i.outline=!0)}),e.addListener("endrule",r),e.addListener("endfontface",r),e.addListener("endpage",r),e.addListener("endpagemargin",r),e.addListener("endkeyframerule",r),e.addListener("endviewport",r)}}),w.addRule({id:"overqualified-elements",name:"Disallow overqualified elements",desc:"Don't use classes or IDs with elements (a.foo or a#foo).",url:"https://github.com/CSSLint/csslint/wiki/Disallow-overqualified-elements",browsers:"All",init:function(l,c){var u=this,h={};l.addListener("startrule",function(e){for(var t,n,r,i,o,a=e.selectors,s=0;s<a.length;s++)for(t=a[s],i=0;i<t.parts.length;i++)if((n=t.parts[i]).type===l.SELECTOR_PART_TYPE)for(o=0;o<n.modifiers.length;o++)r=n.modifiers[o],n.elementName&&"id"===r.type?c.report("Element ("+n+") is overqualified, just use "+r+" without element name.",n.line,n.col,u):"class"===r.type&&(h[r]||(h[r]=[]),h[r].push({modifier:r,part:n}))}),l.addListener("endstylesheet",function(){for(var e in h)h.hasOwnProperty(e)&&1===h[e].length&&h[e][0].part.elementName&&c.report("Element ("+h[e][0].part+") is overqualified, just use "+h[e][0].modifier+" without element name.",h[e][0].part.line,h[e][0].part.col,u)})}}),w.addRule({id:"regex-selectors",name:"Disallow selectors that look like regexs",desc:"Selectors that look like regular expressions are slow and should be avoided.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-selectors-that-look-like-regular-expressions",browsers:"All",init:function(l,c){var u=this;l.addListener("startrule",function(e){for(var t,n,r,i,o,a=e.selectors,s=0;s<a.length;s++)for(t=a[s],i=0;i<t.parts.length;i++)if((n=t.parts[i]).type===l.SELECTOR_PART_TYPE)for(o=0;o<n.modifiers.length;o++)"attribute"===(r=n.modifiers[o]).type&&/([~\|\^\$\*]=)/.test(r)&&c.report("Attribute selectors with "+RegExp.$1+" are slow!",r.line,r.col,u)})}}),w.addRule({id:"rules-count",name:"Rules Count",desc:"Track how many rules there are.",browsers:"All",init:function(e,t){var n=0;e.addListener("startrule",function(){n++}),e.addListener("endstylesheet",function(){t.stat("rule-count",n)})}}),w.addRule({id:"selector-max-approaching",name:"Warn when approaching the 4095 selector limit for IE",desc:"Will warn when selector count is >= 3800 selectors.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){3800<=r&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),w.addRule({id:"selector-max",name:"Error when past the 4095 selector limit for IE",desc:"Will error when selector count is > 4095.",browsers:"IE",init:function(e,t){var n=this,r=0;e.addListener("startrule",function(e){r+=e.selectors.length}),e.addListener("endstylesheet",function(){4095<r&&t.report("You have "+r+" selectors. Internet Explorer supports a maximum of 4095 selectors per stylesheet. Consider refactoring.",0,0,n)})}}),w.addRule({id:"selector-newline",name:"Disallow new-line characters in selectors",desc:"New-line characters in selectors are usually a forgotten comma and not a descendant combinator.",browsers:"All",init:function(e,h){var d=this;e.addListener("startrule",function(e){for(var t,n,r,i,o,a,s,l=e.selectors,c=0,u=l.length;c<u;c++)for(n=0,i=(t=l[c]).parts.length;n<i;n++)for(r=n+1;r<i;r++)a=t.parts[n],s=t.parts[r],o=a.type,a=a.line,s=s.line,"descendant"===o&&a<s&&h.report("newline character found in selector (forgot a comma?)",a,l[c].parts[0].col,d)})}}),w.addRule({id:"shorthand",name:"Require shorthand properties",desc:"Use shorthand properties where possible.",url:"https://github.com/CSSLint/csslint/wiki/Require-shorthand-properties",browsers:"All",init:function(e,o){function t(){s={}}function n(e){var t,n,r,i;for(t in u)if(u.hasOwnProperty(t)){for(n=i=0,r=u[t].length;n<r;n++)i+=s[u[t][n]]?1:0;i===u[t].length&&o.report("The properties "+u[t].join(", ")+" can be replaced by "+t+".",e.line,e.col,l)}}var r,i,a,s,l=this,c={},u={margin:["margin-top","margin-bottom","margin-left","margin-right"],padding:["padding-top","padding-bottom","padding-left","padding-right"]};for(r in u)if(u.hasOwnProperty(r))for(i=0,a=u[r].length;i<a;i++)c[u[r][i]]=r;e.addListener("startrule",t),e.addListener("startfontface",t),e.addListener("property",function(e){e=e.property.toString().toLowerCase();c[e]&&(s[e]=1)}),e.addListener("endrule",n),e.addListener("endfontface",n)}}),w.addRule({id:"star-property-hack",name:"Disallow properties with a star prefix",desc:"Checks for the star property hack (targets IE6/7)",url:"https://github.com/CSSLint/csslint/wiki/Disallow-star-hack",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){"*"===e.property.hack&&t.report("Property with star prefix found.",e.property.line,e.property.col,n)})}}),w.addRule({id:"text-indent",name:"Disallow negative text-indent",desc:"Checks for text indent less than -99px",url:"https://github.com/CSSLint/csslint/wiki/Disallow-negative-text-indent",browsers:"All",init:function(e,t){function n(){i=!1,o="inherit"}function r(){i&&"ltr"!==o&&t.report("Negative text-indent doesn't work well with RTL. If you use text-indent for image replacement explicitly set direction for that item to ltr.",i.line,i.col,a)}var i,o,a=this;e.addListener("startrule",n),e.addListener("startfontface",n),e.addListener("property",function(e){var t=e.property.toString().toLowerCase(),n=e.value;"text-indent"===t&&n.parts[0].value<-99?i=e.property:"direction"===t&&"ltr"===n.toString()&&(o="ltr")}),e.addListener("endrule",r),e.addListener("endfontface",r)}}),w.addRule({id:"underscore-property-hack",name:"Disallow properties with an underscore prefix",desc:"Checks for the underscore property hack (targets IE6)",url:"https://github.com/CSSLint/csslint/wiki/Disallow-underscore-hack",browsers:"All",init:function(e,t){var n=this;e.addListener("property",function(e){"_"===e.property.hack&&t.report("Property with underscore prefix found.",e.property.line,e.property.col,n)})}}),w.addRule({id:"universal-selector",name:"Disallow universal selector",desc:"The universal selector (*) is known to be slow.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-universal-selector",browsers:"All",init:function(e,i){var o=this;e.addListener("startrule",function(e){for(var t,n=e.selectors,r=0;r<n.length;r++)"*"===(t=(t=n[r]).parts[t.parts.length-1]).elementName&&i.report(o.desc,t.line,t.col,o)})}}),w.addRule({id:"unqualified-attributes",name:"Disallow unqualified attribute selectors",desc:"Unqualified attribute selectors are known to be slow.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-unqualified-attribute-selectors",browsers:"All",init:function(l,c){var u=this;l.addListener("startrule",function(e){for(var t,n,r,i,o=e.selectors,a=!1,s=0;s<o.length;s++)if((n=(t=o[s]).parts[t.parts.length-1]).type===l.SELECTOR_PART_TYPE){for(i=0;i<n.modifiers.length;i++)if("class"===(r=n.modifiers[i]).type||"id"===r.type){a=!0;break}if(!a)for(i=0;i<n.modifiers.length;i++)"attribute"!==(r=n.modifiers[i]).type||n.elementName&&"*"!==n.elementName||c.report(u.desc,n.line,n.col,u)}})}}),w.addRule({id:"vendor-prefix",name:"Require standard property with vendor prefix",desc:"When using a vendor-prefixed property, make sure to include the standard one.",url:"https://github.com/CSSLint/csslint/wiki/Require-standard-property-with-vendor-prefix",browsers:"All",init:function(e,a){function t(){s={},r=1}function n(){var e,t,n,r,i,o=[];for(e in s)c[e]&&o.push({actual:e,needed:c[e]});for(t=0,n=o.length;t<n;t++)r=o[t].needed,i=o[t].actual,s[r]?s[r][0].pos<s[i][0].pos&&a.report("Standard property '"+r+"' should come after vendor-prefixed property '"+i+"'.",s[i][0].name.line,s[i][0].name.col,l):a.report("Missing standard property '"+r+"' to go along with '"+i+"'.",s[i][0].name.line,s[i][0].name.col,l)}var s,r,l=this,c={"-webkit-border-radius":"border-radius","-webkit-border-top-left-radius":"border-top-left-radius","-webkit-border-top-right-radius":"border-top-right-radius","-webkit-border-bottom-left-radius":"border-bottom-left-radius","-webkit-border-bottom-right-radius":"border-bottom-right-radius","-o-border-radius":"border-radius","-o-border-top-left-radius":"border-top-left-radius","-o-border-top-right-radius":"border-top-right-radius","-o-border-bottom-left-radius":"border-bottom-left-radius","-o-border-bottom-right-radius":"border-bottom-right-radius","-moz-border-radius":"border-radius","-moz-border-radius-topleft":"border-top-left-radius","-moz-border-radius-topright":"border-top-right-radius","-moz-border-radius-bottomleft":"border-bottom-left-radius","-moz-border-radius-bottomright":"border-bottom-right-radius","-moz-column-count":"column-count","-webkit-column-count":"column-count","-moz-column-gap":"column-gap","-webkit-column-gap":"column-gap","-moz-column-rule":"column-rule","-webkit-column-rule":"column-rule","-moz-column-rule-style":"column-rule-style","-webkit-column-rule-style":"column-rule-style","-moz-column-rule-color":"column-rule-color","-webkit-column-rule-color":"column-rule-color","-moz-column-rule-width":"column-rule-width","-webkit-column-rule-width":"column-rule-width","-moz-column-width":"column-width","-webkit-column-width":"column-width","-webkit-column-span":"column-span","-webkit-columns":"columns","-moz-box-shadow":"box-shadow","-webkit-box-shadow":"box-shadow","-moz-transform":"transform","-webkit-transform":"transform","-o-transform":"transform","-ms-transform":"transform","-moz-transform-origin":"transform-origin","-webkit-transform-origin":"transform-origin","-o-transform-origin":"transform-origin","-ms-transform-origin":"transform-origin","-moz-box-sizing":"box-sizing","-webkit-box-sizing":"box-sizing"};e.addListener("startrule",t),e.addListener("startfontface",t),e.addListener("startpage",t),e.addListener("startpagemargin",t),e.addListener("startkeyframerule",t),e.addListener("startviewport",t),e.addListener("property",function(e){var t=e.property.text.toLowerCase();s[t]||(s[t]=[]),s[t].push({name:e.property,value:e.value,pos:r++})}),e.addListener("endrule",n),e.addListener("endfontface",n),e.addListener("endpage",n),e.addListener("endpagemargin",n),e.addListener("endkeyframerule",n),e.addListener("endviewport",n)}}),w.addRule({id:"zero-units",name:"Disallow units for 0 values",desc:"You don't need to specify units when a value is 0.",url:"https://github.com/CSSLint/csslint/wiki/Disallow-units-for-zero-values",browsers:"All",init:function(e,i){var o=this;e.addListener("property",function(e){for(var t=e.value.parts,n=0,r=t.length;n<r;)!t[n].units&&"percentage"!==t[n].type||0!==t[n].value||"time"===t[n].type||i.report("Values of 0 shouldn't have units specified.",t[n].line,t[n].col,o),n++})}}),w.addFormatter({id:"checkstyle-xml",name:"Checkstyle XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><checkstyle>'},endFormat:function(){return"</checkstyle>"},readError:function(e,t){return'<file name="'+o(e)+'"><error line="0" column="0" severty="error" message="'+o(t)+'"></error></file>'},formatResults:function(e,t){var e=e.messages,n=[];return 0<e.length&&(n.push('<file name="'+t+'">'),w.Util.forEach(e,function(e){e.rollup||n.push('<error line="'+e.line+'" column="'+e.col+'" severity="'+e.type+'" message="'+o(e.message)+'" source="'+((e=e.rule)&&"name"in e?"net.csslint."+e.name.replace(/\s/g,""):"")+'"/>')}),n.push("</file>")),n.join("")}}),w.addFormatter({id:"compact",name:"Compact, 'porcelain' format",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}var e=e.messages,i="";n=n||{};return 0===e.length?n.quiet?"":t+": Lint Free!":(w.Util.forEach(e,function(e){e.rollup?i+=t+": "+r(e.type)+" - "+e.message+" ("+e.rule.id+")\n":i+=t+": line "+e.line+", col "+e.col+", "+r(e.type)+" - "+e.message+" ("+e.rule.id+")\n"}),i)}}),w.addFormatter({id:"csslint-xml",name:"CSSLint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><csslint>'},endFormat:function(){return"</csslint>"},formatResults:function(e,t){function n(e){return e&&e.constructor===String?e.replace(/"/g,"'").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""}var e=e.messages,r=[];return 0<e.length&&(r.push('<file name="'+t+'">'),w.Util.forEach(e,function(e){e.rollup?r.push('<issue severity="'+e.type+'" reason="'+n(e.message)+'" evidence="'+n(e.evidence)+'"/>'):r.push('<issue line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'" reason="'+n(e.message)+'" evidence="'+n(e.evidence)+'"/>')}),r.push("</file>")),r.join("")}}),w.addFormatter({id:"json",name:"JSON",startFormat:function(){return this.json=[],""},endFormat:function(){var e="";return e=0<this.json.length?1===this.json.length?JSON.stringify(this.json[0]):JSON.stringify(this.json):e},formatResults:function(e,t,n){return(0<e.messages.length||!n.quiet)&&this.json.push({filename:t,messages:e.messages,stats:e.stats}),""}}),w.addFormatter({id:"junit-xml",name:"JUNIT XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><testsuites>'},endFormat:function(){return"</testsuites>"},formatResults:function(e,t){function r(e){return e&&e.constructor===String?e.replace(/"/g,"'").replace(/</g,"<").replace(/>/g,">"):""}var e=e.messages,i=[],o={error:0,failure:0};return 0<e.length&&(e.forEach(function(e){var t,n="warning"===e.type?"error":e.type;e.rollup||(i.push('<testcase time="0" name="'+((t=e.rule)&&"name"in t?"net.csslint."+t.name.replace(/\s/g,""):"")+'">'),i.push("<"+n+' message="'+r(e.message)+'"><![CDATA['+e.line+":"+e.col+":"+r(e.evidence)+"]]></"+n+">"),i.push("</testcase>"),o[n]+=1)}),i.unshift('<testsuite time="0" tests="'+e.length+'" skipped="0" errors="'+o.error+'" failures="'+o.failure+'" package="net.csslint" name="'+t+'">'),i.push("</testsuite>")),i.join("")}}),w.addFormatter({id:"lint-xml",name:"Lint XML format",startFormat:function(){return'<?xml version="1.0" encoding="utf-8"?><lint>'},endFormat:function(){return"</lint>"},formatResults:function(e,t){function n(e){return e&&e.constructor===String?e.replace(/"/g,"'").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):""}var e=e.messages,r=[];return 0<e.length&&(r.push('<file name="'+t+'">'),w.Util.forEach(e,function(e){var t;e.rollup?r.push('<issue severity="'+e.type+'" reason="'+n(e.message)+'" evidence="'+n(e.evidence)+'"/>'):(t="",e.rule&&e.rule.id&&(t='rule="'+n(e.rule.id)+'" '),r.push("<issue "+t+'line="'+e.line+'" char="'+e.col+'" severity="'+e.type+'" reason="'+n(e.message)+'" evidence="'+n(e.evidence)+'"/>'))}),r.push("</file>")),r.join("")}}),w.addFormatter({id:"text",name:"Plain Text",startFormat:function(){return""},endFormat:function(){return""},formatResults:function(e,t,n){var r,e=e.messages,i="";return n=n||{},0===e.length?n.quiet?"":"\n\ncsslint: No errors in "+t+".":(i=(i="\n\ncsslint: There ")+(1===e.length?"is 1 problem":"are "+e.length+" problems")+" in "+t+".",n=t.lastIndexOf("/"),r=t,-1<(n=-1===n?t.lastIndexOf("\\"):n)&&(r=t.substring(n+1)),w.Util.forEach(e,function(e,t){i=i+"\n\n"+r,e.rollup?i=(i+="\n"+(t+1)+": "+e.type)+("\n"+e.message):i=(i=(i+="\n"+(t+1)+": "+e.type+" at line "+e.line+", col "+e.col)+("\n"+e.message))+("\n"+e.evidence)}),i)}});var c,p,r,f,m,g,b,w,i=w;function k(e,t,n,r){this.messages=[],this.stats=[],this.lines=e,this.ruleset=t,this.allow=n,this.allow||(this.allow={}),this.ignore=r,this.ignore||(this.ignore=[])}function o(e){return e&&e.constructor===String?e.replace(/["&><]/g,function(e){switch(e){case'"':return""";case"&":return"&";case"<":return"<";case">":return">"}}):""}n.exports.CSSLint=i}),define("ace/mode/css_worker",[],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),o=e("../worker/mirror").Mirror,a=e("./css/csslint").CSSLint,e=t.Worker=function(e){o.call(this,e),this.setTimeout(400),this.ruleset=null,this.setDisabledRules("ids|order-alphabetical"),this.setInfoRules("adjoining-classes|zero-units|gradients|box-model|import|outline-none|vendor-prefix")};r.inherits(e,o),function(){this.setInfoRules=function(e){"string"==typeof e&&(e=e.split("|")),this.infoRules=i.arrayToMap(e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.setDisabledRules=function(e){var t;e?("string"==typeof e&&(e=e.split("|")),t={},a.getRules().forEach(function(e){t[e.id]=!0}),e.forEach(function(e){delete t[e]}),this.ruleset=t):this.ruleset=null,this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.onUpdate=function(){var e=this.doc.getValue();if(!e)return this.sender.emit("annotate",[]);var t=this.infoRules,e=a.verify(e,this.ruleset);this.sender.emit("annotate",e.messages.map(function(e){return{row:e.line-1,column:e.col-1,text:e.message,type:t[e.rule.id]?"info":e.type,rule:e.rule.name}}))}}.call(e.prototype)});