azproduction/autopolyfiller

View on GitHub
example_assets/index.browserify.js

Summary

Maintainability
A
0 mins
Test Coverage
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){var autopolyfiller=require("../lib");function $(sel){return document.querySelector(sel)}setTimeout(function(){var $code=$("#code"),$browsers=$("#browsers"),$polyfills=$("#polyfills"),$generateButton=$("#generate");function generate(){console.time("Scan for polyfills");try{var browsers=($browsers.value||"").toLowerCase().split(",").map(function(string){return string.trim()});var polyfills=autopolyfiller(browsers).add($code.value||"").polyfills;$polyfills.innerHTML=polyfills.map(function(polyfill){return"<Li>"+'<a href="https://github.com/jonathantneal/polyfill/blob/master/source/'+polyfill+'.js">'+polyfill+"</a>"+"</Li>"}).join("");console.timeEnd("Scan for polyfills")}catch(e){console.timeEnd("Scan for polyfills");console.error(e)}}$code.addEventListener("input",generate,false);$browsers.addEventListener("input",generate,false);$generateButton.addEventListener("click",generate,false);generate()},0)},{"../lib":2}],2:[function(require,module,exports){var scan=require("./polyfill-scan"),reduce=require("./polyfill-reduce"),wrap=require("./polyfill-wrap"),code=require("./polyfill-code");function AutoPolyFiller(options){this.browsers=options.browsers;this.polyfills=[];this.excluedPolyfills=[]}AutoPolyFiller.prototype={_scan:function(code){var polyfills=scan(code);if(this.browsers&&this.browsers.length===0){return polyfills}return reduce(polyfills,this.browsers)},_scanForPolyfillsOfPolyfills:function(polyfills){var hasIterated={};var iteratePolyfills=function(polyfills,polyfillName){if(hasIterated.hasOwnProperty(polyfillName)){return polyfills}hasIterated[polyfillName]=true;polyfills=polyfills.concat([]||this._scan(code(polyfillName)));return polyfills.concat(polyfills.reduce(iteratePolyfills,[]))}.bind(this);return polyfills.reduce(iteratePolyfills,[])},add:function(code){var polyfills=this._scan(code),polyfillsOfPolyfills=this._scanForPolyfillsOfPolyfills(polyfills);this.include(polyfills.concat(polyfillsOfPolyfills));return this},toString:function(){return this.polyfills.map(function(polyfillName){var polyfillCode=code(polyfillName);return wrap(polyfillCode,polyfillName)}).join("")},_isPolyfillIncluded:function(polyfill){return this.excluedPolyfills.indexOf(polyfill)===-1},include:function(polyfills){this.polyfills=this.polyfills.concat(polyfills).filter(this._isPolyfillIncluded.bind(this)).reduce(function(polyfills,polyfill){if(polyfills.indexOf(polyfill)===-1){polyfills.push(polyfill)}return polyfills},[]);return this},exclude:function(polyfills){this.excluedPolyfills.push.apply(this.excluedPolyfills,polyfills);this.polyfills=this.polyfills.filter(this._isPolyfillIncluded.bind(this));return this}};module.exports=function(){var browsers=1<=arguments.length?[].slice.call(arguments,0):[];if(browsers.length===1&&browsers[0]instanceof Array){browsers=browsers[0]}return new AutoPolyFiller({browsers:browsers})};module.exports.use=function(config){if(config.test){scan.use({test:config.test})}if(config.support){reduce.support(config.support)}if(config.polyfill){code.addSource(config.polyfill)}if(config.wrapper){wrap.addWrapper(config.wrapper)}}},{"./polyfill-code":3,"./polyfill-reduce":7,"./polyfill-scan":9,"./polyfill-wrap":15}],3:[function(require,module,exports){(function(__dirname){var polyfill=require("polyfill"),extend=require("node.extend"),fs=require("fs"),debug=require("debug")("polyfill:code");debug("defining polyfills getters");var polyfillsCode=polyfill.source;fs.readdirSync&&fs.readdirSync(__dirname+"/source").forEach(function(fileName){var polyfillName=fileName.replace(/\.js$/,"");polyfillsCode.__defineGetter__(polyfillName,function(){var code=fs.readFileSync(__dirname+"/source/"+fileName,"utf8");delete polyfillsCode[polyfillName];polyfillsCode[polyfillName]=code;return code})});debug("got %d polyfills",Object.keys(polyfillsCode).length);function code(polyfillName){debug("getting polyfill code for `%s`",polyfillName);var polyfillCode=polyfillsCode[polyfillName];if(!polyfillCode){throw new Error("Unknown feature: "+polyfillName)}return polyfillCode}function addSource(newPolyfills){debug("adding custom polyfill");extend(polyfillsCode,newPolyfills)}module.exports=code;module.exports.addSource=addSource}).call(this,"/../lib/polyfill-code")},{debug:24,fs:21,"node.extend":26,polyfill:32}],4:[function(require,module,exports){function propertyValue(property){if(property.type==="Identifier"){return property.name}else if(property.type==="Literal"){return property.value}}module.exports=function(ast){var chain=[];while(ast){if(ast.type==="Identifier"){chain.unshift(ast.name);return chain}if(ast.type!=="MemberExpression"){return chain}var value=propertyValue(ast.property);if(typeof value==="undefined"){return chain}chain.unshift(value);ast=ast.object}return chain}},{}],5:[function(require,module,exports){var quotemeta=require("quotemeta");var functionMethods=["call","apply","bind"];var padding=["window","this"];var propertySeparator=quotemeta(".");var types={"static":function(options){var objects=options.objects||{};var methods=Object.keys(objects).map(function(object){return object+propertySeparator+"(?:"+objects[object].join("|")+")"});var rx=new RegExp("^"+"(?:(?:"+padding.join("|")+")"+propertySeparator+")?"+"("+methods.join("|")+")"+"(?:"+propertySeparator+"(?:"+functionMethods.join("|")+"))*"+"$");return function(code){return(code.match(rx)||0)[1]}},method:function(options){var methods=options.methods||[];var rx=new RegExp("^"+"(?:[^"+propertySeparator+"]*"+propertySeparator+")*"+"("+methods.join("|")+")"+"(?:"+propertySeparator+"(?:"+functionMethods.join("|")+"))*"+"$");return function(code){return(code.match(rx)||0)[1]}},global:function(options){var methods=options.methods||[];var rx=new RegExp("^"+"(?:(?:"+padding.join("|")+")"+propertySeparator+")?"+"("+methods.join("|")+")"+"(?:"+propertySeparator+"(?:"+functionMethods.join("|")+"))*"+"$");return function(code){return(code.match(rx)||0)[1]}},constructor:function(options){var constructors=options.constructors||[];var rx=new RegExp("^"+"(?:(?:"+padding.join("|")+")"+propertySeparator+")?"+"("+constructors.join("|")+")"+"$");return function(code){return(code.match(rx)||0)[1]}}};module.exports=function(type,options){return types[type](options)}},{quotemeta:34}],6:[function(require,module,exports){module.exports={"Opera Mini":[{fill:"Promise Window.prototype.requestAnimationFrame"}],"Opera Mobile":[{fill:"Promise"},{min:"10",max:"12.1",fill:"Window.prototype.requestAnimationFrame"}],Opera:[{fill:"Promise"},{min:"9",max:"12.1",fill:"Window.prototype.requestAnimationFrame"}],Android:[{fill:"Promise"},{min:"2",max:"4.3",fill:"Window.prototype.requestAnimationFrame"}],BlackBerry:[{fill:"Promise Window.prototype.requestAnimationFrame"}],"Chrome iOS":[{fill:"Promise Window.prototype.requestAnimationFrame"}],"Safari iOS":[{fill:"Promise"},{min:"3",max:"6.1",fill:"Window.prototype.requestAnimationFrame"}],Chrome:[{fill:"Promise"},{min:"4",max:"23",fill:"Window.prototype.requestAnimationFrame"}],"Internet Explorer":[{fill:"Promise"},{min:"6",max:"9",fill:"Window.prototype.requestAnimationFrame"}],Firefox:[{fill:"Promise"},{min:"2",max:"22",fill:"Window.prototype.requestAnimationFrame"}],Safari:[{fill:"Promise"},{min:"3",max:"6",fill:"Window.prototype.requestAnimationFrame"}]}},{}],7:[function(require,module,exports){var Browsers=require("autoprefixer/lib/browsers"),browsersData=require("autoprefixer/data/browsers"),debug=require("debug")("polyfill:reduce"),polyfill=require("polyfill"),semver=require("semver");var polyFillSets=polyfill.agent.js;var browserMap={opera:"Opera",android:"Android",bb:"BlackBerry",ios:"Safari iOS",chrome:"Chrome",ie:"Internet Explorer",ff:"Firefox",safari:"Safari"};var reBrowserAndVersion=/^(\w+) ([\d\.]+)$/;function toSemver(version){return String(version).split(".").concat(0,0,0).slice(0,3).join(".")}function cmp(comparatorName,a,b){return semver[comparatorName](toSemver(a),toSemver(b))}function polyFillsFor(browserCode,version){var polyFillSet=polyFillSets[browserMap[browserCode]];if(!polyFillSet){return[]}return polyFillSet.reduce(function(polyfills,range){var isMatches=range.only&&cmp("eq",version,range.only)||range.min&&!range.max&&cmp("gte",version,range.min)||range.min&&range.max&&cmp("gte",version,range.min)&&cmp("lte",version,range.max)||!range.min&&!range.max&&!range.only;if(isMatches){return polyfills.concat(range.fill.split(" "))}return polyfills},[])}function reduce(polyfills,browsersRequest){var browsers=new Browsers(browsersData,browsersRequest).selected;debug("%s are selected",browsers);var requiredPolyFills=browsers.reduce(function(requiredPolyFills,browserAndVersion){var parts=browserAndVersion.match(reBrowserAndVersion);return requiredPolyFills.concat(polyFillsFor.apply(null,parts.slice(1,3)))},[]).reduce(function(polyfills,polyfill){polyfills[polyfill]=true;return polyfills},{});return polyfills.filter(function(polyfill){var shouldPolyFill=polyfill in requiredPolyFills;debug("%s `%s`",shouldPolyFill?"keeping":"removing",polyfill);return shouldPolyFill})}function support(polyfills){debug("adding custom supported polyfills");Object.keys(polyfills).forEach(function(browser){if(!polyFillSets[browser]){polyFillSets[browser]=[]}polyFillSets[browser].push.apply(polyFillSets[browser],polyfills[browser])})}function list(){return Object.keys(polyFillSets).reduce(function(polyfills,browserName){return polyFillSets[browserName].reduce(function(polyfills,sets){return polyfills.concat(sets.fill.split(" "))},polyfills)},[]).reduce(function(polyfills,polyfill){if(polyfills.indexOf(polyfill)===-1){polyfills.push(polyfill)}return polyfills},[])}support(require("./data/index.json"));module.exports=reduce;module.exports.support=support;module.exports.list=list},{"./data/index.json":6,"autoprefixer/data/browsers":18,"autoprefixer/lib/browsers":19,debug:24,polyfill:32,semver:35}],8:[function(require,module,exports){var traverse=require("estraverse").traverse;module.exports=function(ast){var expressions=[];traverse(ast,{enter:function(node){if(node.type==="MemberExpression"||node.type==="Identifier"){expressions.push(node)}}});return expressions}},{estraverse:25}],9:[function(require,module,exports){var parse=require("acorn").parse,debug=require("debug")("polyfill:scan");debug("loading matchers");var matchers=require("./matchers");debug("%d matchers are loaded",matchers.length);function use(matcher){debug("adding custom matcher");matchers.push(matcher)}function scan(code){debug("parsing code");var ast=parse(code);debug("parsing done");debug("scanning for polyfills using %d matchers",matchers.length);var polyfills=matchers.reduce(function(polyfills,matcher){return polyfills.concat(matcher.test(ast))},[]).reduce(function(polyfills,polyfill){if(polyfills.indexOf(polyfill)===-1){polyfills.push(polyfill)}return polyfills},[]);debug("got %d polyfill(s)",polyfills.length);return polyfills}module.exports=scan;module.exports.use=use},{"./matchers":12,acorn:17,debug:24}],10:[function(require,module,exports){var foldExpression=require("../../polyfill-expression-fold");var grepExpressions=require("../grep-expression");var matcher=require("../../polyfill-expression-matcher");var constructors={WeakMap:"WeakMap",Symbol:"Symbol",Set:"Set",Proxy:"Proxy",Promise:"Promise",Map:"Map"};var testConstructor=matcher("constructor",{constructors:Object.keys(constructors)});exports.test=function(ast){return grepExpressions(ast).map(foldExpression).reduce(function(polyfills,list){var polyfill=constructors[testConstructor(list.join("."))];if(polyfill){polyfills.push(polyfill)}return polyfills},[])}},{"../../polyfill-expression-fold":4,"../../polyfill-expression-matcher":5,"../grep-expression":8}],11:[function(require,module,exports){var foldExpression=require("../../polyfill-expression-fold");var grepExpressions=require("../grep-expression");var matcher=require("../../polyfill-expression-matcher");var globalFunctions={btoa:"Window.prototype.base64",atob:"Window.prototype.base64",matchMedia:"Window.prototype.matchMedia",requestAnimationFrame:"Window.prototype.requestAnimationFrame",cancelAnimationFrame:"Window.prototype.requestAnimationFrame"};var testMethod=matcher("global",{methods:Object.keys(globalFunctions)});exports.test=function(ast){return grepExpressions(ast).map(foldExpression).reduce(function(polyfills,list){var polyfill=globalFunctions[testMethod(list.join("."))];if(polyfill){polyfills.push(polyfill)}return polyfills},[])}},{"../../polyfill-expression-fold":4,"../../polyfill-expression-matcher":5,"../grep-expression":8}],12:[function(require,module,exports){module.exports=[require("./constructor"),require("./method"),require("./static"),require("./global")]},{"./constructor":10,"./global":11,"./method":13,"./static":14}],13:[function(require,module,exports){var foldExpression=require("../../polyfill-expression-fold");var grepExpressions=require("../grep-expression");var matcher=require("../../polyfill-expression-matcher");var methods={every:"Array.prototype.every",fill:"Array.prototype.fill",filter:"Array.prototype.filter",find:"Array.prototype.find",findIndex:"Array.prototype.findIndex",forEach:"Array.prototype.forEach",indexOf:"Array.prototype.indexOf",lastIndexOf:"Array.prototype.lastIndexOf",map:"Array.prototype.map",reduce:"Array.prototype.reduce",reduceRight:"Array.prototype.reduceRight",some:"Array.prototype.some",toISOString:"Date.prototype.toISOString",bind:"Function.prototype.bind",clz:"Number.prototype.clz",codePointAt:"String.prototype.codePointAt",contains:"String.prototype.contains",endsWith:"String.prototype.endsWith",repeat:"String.prototype.repeat",startsWith:"String.prototype.startsWith",toArray:"String.prototype.toArray",trim:"String.prototype.trim"};var testMethod=matcher("method",{methods:Object.keys(methods)});exports.test=function(ast){return grepExpressions(ast).map(foldExpression).reduce(function(polyfills,list){var polyfill=methods[testMethod(list.join("."))];if(polyfill){polyfills.push(polyfill)}return polyfills},[])}},{"../../polyfill-expression-fold":4,"../../polyfill-expression-matcher":5,"../grep-expression":8}],14:[function(require,module,exports){var foldExpression=require("../../polyfill-expression-fold");var grepExpressions=require("../grep-expression");var matcher=require("../../polyfill-expression-matcher");var statics={Array:{from:"Array.from",isArray:"Array.isArray",of:"Array.of"},Date:{now:"Date.now"},JSON:{parse:"Window.prototype.JSON",stringify:"Window.prototype.JSON"},Math:{acosh:"Math.acosh",asinh:"Math.asinh",atanh:"Math.atanh",cosh:"Math.cosh",expm1:"Math.expm1",fround:"Math.fround",hypot:"Math.hypot",imul:"Math.imul",log10:"Math.log10",log1p:"Math.log1p",log2:"Math.log2",sign:"Math.sign",sinh:"Math.sinh",tanh:"Math.tanh",trunc:"Math.trunc"},Number:{isFinite:"Number.isFinite",isInteger:"Number.isInteger",isNaN:"Number.isNaN",toInteger:"Number.toInteger"},Object:{assign:"Object.assign",create:"Object.create",defineProperties:"Object.defineProperties",defineProperty:"Object.defineProperty",freeze:"Object.freeze",getOwnPropertyDescriptor:"Object.getOwnPropertyDescriptor",getOwnPropertyDescriptors:"Object.getOwnPropertyDescriptors",getOwnPropertyNames:"Object.getOwnPropertyNames",getPropertyDescriptor:"Object.getPropertyDescriptor",getPropertyNames:"Object.getPropertyNames",getPrototypeOf:"Object.getPrototypeOf",is:"Object.is",isExtensible:"Object.isExtensible",isFrozen:"Object.isFrozen",isSealed:"Object.isSealed",keys:"Object.keys",observe:"Object.observe",preventExtensions:"Object.preventExtensions",seal:"Object.seal",setPrototypeOf:"Object.setPrototypeOf"}};var testStatic=matcher("static",{objects:Object.keys(statics).reduce(function(objects,object){objects[object]=Object.keys(statics[object]);return objects},{})});var expressionToPolyfillMap=Object.keys(statics).reduce(function(map,object){return Object.keys(statics[object]).reduce(function(map,method){map[object+"."+method]=statics[object][method];return map},map)},{});exports.test=function(ast){return grepExpressions(ast).map(foldExpression).reduce(function(polyfills,list){var polyfill=expressionToPolyfillMap[testStatic(list.join("."))];if(polyfill){polyfills.push(polyfill)}return polyfills},[])}},{"../../polyfill-expression-fold":4,"../../polyfill-expression-matcher":5,"../grep-expression":8}],15:[function(require,module,exports){var extend=require("node.extend"),debug=require("debug")("polyfill:wrap");var polyfillsWrappers=require("./wrappers");function wrapDefault(code,polyfillName){debug("wrapping code of `%s` using default wrapper",polyfillName);var parts=polyfillName.split("."),expression="true";if(parts.length===1){expression="typeof "+parts[0]+' === "undefined"'}else if(parts.length===2){expression="typeof "+parts[0]+' === "undefined" || '+parts[0]+" && !"+parts[0]+"."+parts[1]}else if(parts[0]==="Window"&&parts[1]==="prototype"&&parts[2]){expression="typeof window."+parts[2]+' === "undefined"'}else{expression="!"+polyfillName}debug("got `%s` condition expression for `%s`",expression,polyfillName);return"if ("+expression+") {\n"+code+"\n}\n"}function wrap(code,polyfillName){var wrapper=polyfillsWrappers[polyfillName];if(typeof wrapper!=="object"){return wrapDefault(code,polyfillName)}return wrapper.before+code+wrapper.after}function addWrapper(wrappers){extend(polyfillsWrappers,wrappers)}module.exports=wrap;module.exports.addWrapper=addWrapper},{"./wrappers":16,debug:24,"node.extend":26}],16:[function(require,module,exports){module.exports={"Window.prototype.base64":{before:"if (typeof window.atob === 'undefined' || typeof window.btoa === 'undefined') {\n",after:"\n}\n"},"Navigator.prototype.geolocation":{before:"if (typeof navigator.geolocation === 'undefined') {\n",after:"\n}\n"},"Window.prototype.requestAnimationFrame":{before:"",after:""}}},{}],17:[function(require,module,exports){(function(root,mod){if(typeof exports=="object"&&typeof module=="object")return mod(exports);if(typeof define=="function"&&define.amd)return define(["exports"],mod);mod(root.acorn||(root.acorn={}))})(this,function(exports){"use strict";exports.version="0.4.1";var options,input,inputLen,sourceFile;exports.parse=function(inpt,opts){input=String(inpt);inputLen=input.length;setOptions(opts);initTokenState();return parseTopLevel(options.program)};var defaultOptions=exports.defaultOptions={ecmaVersion:5,strictSemicolons:false,allowTrailingCommas:true,forbidReserved:false,locations:false,onComment:null,ranges:false,program:null,sourceFile:null,directSourceFile:null};function setOptions(opts){options=opts||{};for(var opt in defaultOptions)if(!Object.prototype.hasOwnProperty.call(options,opt))options[opt]=defaultOptions[opt];sourceFile=options.sourceFile||null}var getLineInfo=exports.getLineInfo=function(input,offset){for(var line=1,cur=0;;){lineBreak.lastIndex=cur;var match=lineBreak.exec(input);if(match&&match.index<offset){++line;cur=match.index+match[0].length}else break}return{line:line,column:offset-cur}};exports.tokenize=function(inpt,opts){input=String(inpt);inputLen=input.length;setOptions(opts);initTokenState();var t={};function getToken(forceRegexp){readToken(forceRegexp);t.start=tokStart;t.end=tokEnd;t.startLoc=tokStartLoc;t.endLoc=tokEndLoc;t.type=tokType;t.value=tokVal;return t}getToken.jumpTo=function(pos,reAllowed){tokPos=pos;if(options.locations){tokCurLine=1;tokLineStart=lineBreak.lastIndex=0;var match;while((match=lineBreak.exec(input))&&match.index<pos){++tokCurLine;tokLineStart=match.index+match[0].length}}tokRegexpAllowed=reAllowed;skipSpace()};return getToken};var tokPos;var tokStart,tokEnd;var tokStartLoc,tokEndLoc;var tokType,tokVal;var tokRegexpAllowed;var tokCurLine,tokLineStart;var lastStart,lastEnd,lastEndLoc;var inFunction,labels,strict;function raise(pos,message){var loc=getLineInfo(input,pos);message+=" ("+loc.line+":"+loc.column+")";var err=new SyntaxError(message);err.pos=pos;err.loc=loc;err.raisedAt=tokPos;throw err}var empty=[];var _num={type:"num"},_regexp={type:"regexp"},_string={type:"string"};var _name={type:"name"},_eof={type:"eof"};var _break={keyword:"break"},_case={keyword:"case",beforeExpr:true},_catch={keyword:"catch"};var _continue={keyword:"continue"},_debugger={keyword:"debugger"},_default={keyword:"default"};var _do={keyword:"do",isLoop:true},_else={keyword:"else",beforeExpr:true};var _finally={keyword:"finally"},_for={keyword:"for",isLoop:true},_function={keyword:"function"};var _if={keyword:"if"},_return={keyword:"return",beforeExpr:true},_switch={keyword:"switch"};var _throw={keyword:"throw",beforeExpr:true},_try={keyword:"try"},_var={keyword:"var"};var _while={keyword:"while",isLoop:true},_with={keyword:"with"},_new={keyword:"new",beforeExpr:true};var _this={keyword:"this"};var _null={keyword:"null",atomValue:null},_true={keyword:"true",atomValue:true};var _false={keyword:"false",atomValue:false};var _in={keyword:"in",binop:7,beforeExpr:true};var keywordTypes={"break":_break,"case":_case,"catch":_catch,"continue":_continue,"debugger":_debugger,"default":_default,"do":_do,"else":_else,"finally":_finally,"for":_for,"function":_function,"if":_if,"return":_return,"switch":_switch,"throw":_throw,"try":_try,"var":_var,"while":_while,"with":_with,"null":_null,"true":_true,"false":_false,"new":_new,"in":_in,"instanceof":{keyword:"instanceof",binop:7,beforeExpr:true},"this":_this,"typeof":{keyword:"typeof",prefix:true,beforeExpr:true},"void":{keyword:"void",prefix:true,beforeExpr:true},"delete":{keyword:"delete",prefix:true,beforeExpr:true}};var _bracketL={type:"[",beforeExpr:true},_bracketR={type:"]"},_braceL={type:"{",beforeExpr:true};var _braceR={type:"}"},_parenL={type:"(",beforeExpr:true},_parenR={type:")"};var _comma={type:",",beforeExpr:true},_semi={type:";",beforeExpr:true};var _colon={type:":",beforeExpr:true},_dot={type:"."},_question={type:"?",beforeExpr:true};var _slash={binop:10,beforeExpr:true},_eq={isAssign:true,beforeExpr:true};var _assign={isAssign:true,beforeExpr:true};var _incDec={postfix:true,prefix:true,isUpdate:true},_prefix={prefix:true,beforeExpr:true};var _logicalOR={binop:1,beforeExpr:true};var _logicalAND={binop:2,beforeExpr:true};var _bitwiseOR={binop:3,beforeExpr:true};var _bitwiseXOR={binop:4,beforeExpr:true};var _bitwiseAND={binop:5,beforeExpr:true};var _equality={binop:6,beforeExpr:true};var _relational={binop:7,beforeExpr:true};var _bitShift={binop:8,beforeExpr:true};var _plusMin={binop:9,prefix:true,beforeExpr:true};var _multiplyModulo={binop:10,beforeExpr:true};exports.tokTypes={bracketL:_bracketL,bracketR:_bracketR,braceL:_braceL,braceR:_braceR,parenL:_parenL,parenR:_parenR,comma:_comma,semi:_semi,colon:_colon,dot:_dot,question:_question,slash:_slash,eq:_eq,name:_name,eof:_eof,num:_num,regexp:_regexp,string:_string};for(var kw in keywordTypes)exports.tokTypes["_"+kw]=keywordTypes[kw];function makePredicate(words){words=words.split(" ");var f="",cats=[];out:for(var i=0;i<words.length;++i){for(var j=0;j<cats.length;++j)if(cats[j][0].length==words[i].length){cats[j].push(words[i]);continue out}cats.push([words[i]])}function compareTo(arr){if(arr.length==1)return f+="return str === "+JSON.stringify(arr[0])+";";f+="switch(str){";for(var i=0;i<arr.length;++i)f+="case "+JSON.stringify(arr[i])+":";f+="return true}return false;"}if(cats.length>3){cats.sort(function(a,b){return b.length-a.length});f+="switch(str.length){";for(var i=0;i<cats.length;++i){var cat=cats[i];f+="case "+cat[0].length+":";compareTo(cat)}f+="}"}else{compareTo(words)}return new Function("str",f)}var isReservedWord3=makePredicate("abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile");var isReservedWord5=makePredicate("class enum extends super const export import");var isStrictReservedWord=makePredicate("implements interface let package private protected public static yield");var isStrictBadIdWord=makePredicate("eval arguments");var isKeyword=makePredicate("break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this");var nonASCIIwhitespace=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;var nonASCIIidentifierStartChars="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ";var nonASCIIidentifierChars="̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍-﹏0-9_";var nonASCIIidentifierStart=new RegExp("["+nonASCIIidentifierStartChars+"]");var nonASCIIidentifier=new RegExp("["+nonASCIIidentifierStartChars+nonASCIIidentifierChars+"]");var newline=/[\n\r\u2028\u2029]/;var lineBreak=/\r\n|[\n\r\u2028\u2029]/g;var isIdentifierStart=exports.isIdentifierStart=function(code){if(code<65)return code===36;if(code<91)return true;if(code<97)return code===95;if(code<123)return true;return code>=170&&nonASCIIidentifierStart.test(String.fromCharCode(code))};var isIdentifierChar=exports.isIdentifierChar=function(code){if(code<48)return code===36;if(code<58)return true;if(code<65)return false;if(code<91)return true;if(code<97)return code===95;if(code<123)return true;return code>=170&&nonASCIIidentifier.test(String.fromCharCode(code))};function line_loc_t(){this.line=tokCurLine;this.column=tokPos-tokLineStart}function initTokenState(){tokCurLine=1;tokPos=tokLineStart=0;tokRegexpAllowed=true;skipSpace()}function finishToken(type,val){tokEnd=tokPos;if(options.locations)tokEndLoc=new line_loc_t;tokType=type;skipSpace();tokVal=val;tokRegexpAllowed=type.beforeExpr}function skipBlockComment(){var startLoc=options.onComment&&options.locations&&new line_loc_t;var start=tokPos,end=input.indexOf("*/",tokPos+=2);if(end===-1)raise(tokPos-2,"Unterminated comment");tokPos=end+2;if(options.locations){lineBreak.lastIndex=start;var match;while((match=lineBreak.exec(input))&&match.index<tokPos){++tokCurLine;tokLineStart=match.index+match[0].length}}if(options.onComment)options.onComment(true,input.slice(start+2,end),start,tokPos,startLoc,options.locations&&new line_loc_t)}function skipLineComment(){var start=tokPos;var startLoc=options.onComment&&options.locations&&new line_loc_t;var ch=input.charCodeAt(tokPos+=2);while(tokPos<inputLen&&ch!==10&&ch!==13&&ch!==8232&&ch!==8233){++tokPos;ch=input.charCodeAt(tokPos)}if(options.onComment)options.onComment(false,input.slice(start+2,tokPos),start,tokPos,startLoc,options.locations&&new line_loc_t)}function skipSpace(){while(tokPos<inputLen){var ch=input.charCodeAt(tokPos);if(ch===32){++tokPos}else if(ch===13){++tokPos;var next=input.charCodeAt(tokPos);if(next===10){++tokPos}if(options.locations){++tokCurLine;tokLineStart=tokPos}}else if(ch===10||ch===8232||ch===8233){++tokPos;if(options.locations){++tokCurLine;tokLineStart=tokPos}}else if(ch>8&&ch<14){++tokPos}else if(ch===47){var next=input.charCodeAt(tokPos+1);if(next===42){skipBlockComment()}else if(next===47){skipLineComment()}else break}else if(ch===160){++tokPos}else if(ch>=5760&&nonASCIIwhitespace.test(String.fromCharCode(ch))){++tokPos}else{break}}}function readToken_dot(){var next=input.charCodeAt(tokPos+1);if(next>=48&&next<=57)return readNumber(true);++tokPos;return finishToken(_dot)}function readToken_slash(){var next=input.charCodeAt(tokPos+1);if(tokRegexpAllowed){++tokPos;return readRegexp()}if(next===61)return finishOp(_assign,2);return finishOp(_slash,1)}function readToken_mult_modulo(){var next=input.charCodeAt(tokPos+1);if(next===61)return finishOp(_assign,2);return finishOp(_multiplyModulo,1)}function readToken_pipe_amp(code){var next=input.charCodeAt(tokPos+1);if(next===code)return finishOp(code===124?_logicalOR:_logicalAND,2);if(next===61)return finishOp(_assign,2);return finishOp(code===124?_bitwiseOR:_bitwiseAND,1)}function readToken_caret(){var next=input.charCodeAt(tokPos+1);if(next===61)return finishOp(_assign,2);return finishOp(_bitwiseXOR,1)}function readToken_plus_min(code){var next=input.charCodeAt(tokPos+1);if(next===code){if(next==45&&input.charCodeAt(tokPos+2)==62&&newline.test(input.slice(lastEnd,tokPos))){tokPos+=3;skipLineComment();skipSpace();return readToken()}return finishOp(_incDec,2)}if(next===61)return finishOp(_assign,2);return finishOp(_plusMin,1)}function readToken_lt_gt(code){var next=input.charCodeAt(tokPos+1);var size=1;if(next===code){size=code===62&&input.charCodeAt(tokPos+2)===62?3:2;if(input.charCodeAt(tokPos+size)===61)return finishOp(_assign,size+1);return finishOp(_bitShift,size)}if(next==33&&code==60&&input.charCodeAt(tokPos+2)==45&&input.charCodeAt(tokPos+3)==45){tokPos+=4;skipLineComment();skipSpace();return readToken()}if(next===61)size=input.charCodeAt(tokPos+2)===61?3:2;return finishOp(_relational,size)}function readToken_eq_excl(code){var next=input.charCodeAt(tokPos+1);if(next===61)return finishOp(_equality,input.charCodeAt(tokPos+2)===61?3:2);return finishOp(code===61?_eq:_prefix,1)}function getTokenFromCode(code){switch(code){case 46:return readToken_dot();case 40:++tokPos;return finishToken(_parenL);case 41:++tokPos;return finishToken(_parenR);case 59:++tokPos;return finishToken(_semi);case 44:++tokPos;return finishToken(_comma);case 91:++tokPos;return finishToken(_bracketL);case 93:++tokPos;return finishToken(_bracketR);case 123:++tokPos;return finishToken(_braceL);case 125:++tokPos;return finishToken(_braceR);case 58:++tokPos;return finishToken(_colon);case 63:++tokPos;return finishToken(_question);case 48:var next=input.charCodeAt(tokPos+1);if(next===120||next===88)return readHexNumber();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return readNumber(false);case 34:case 39:return readString(code);case 47:return readToken_slash(code);case 37:case 42:return readToken_mult_modulo();case 124:case 38:return readToken_pipe_amp(code);case 94:return readToken_caret();case 43:case 45:return readToken_plus_min(code);case 60:case 62:return readToken_lt_gt(code);case 61:case 33:return readToken_eq_excl(code);case 126:return finishOp(_prefix,1)}return false}function readToken(forceRegexp){if(!forceRegexp)tokStart=tokPos;else tokPos=tokStart+1;if(options.locations)tokStartLoc=new line_loc_t;if(forceRegexp)return readRegexp();if(tokPos>=inputLen)return finishToken(_eof);var code=input.charCodeAt(tokPos);if(isIdentifierStart(code)||code===92)return readWord();var tok=getTokenFromCode(code);if(tok===false){var ch=String.fromCharCode(code);
if(ch==="\\"||nonASCIIidentifierStart.test(ch))return readWord();raise(tokPos,"Unexpected character '"+ch+"'")}return tok}function finishOp(type,size){var str=input.slice(tokPos,tokPos+size);tokPos+=size;finishToken(type,str)}function readRegexp(){var content="",escaped,inClass,start=tokPos;for(;;){if(tokPos>=inputLen)raise(start,"Unterminated regular expression");var ch=input.charAt(tokPos);if(newline.test(ch))raise(start,"Unterminated regular expression");if(!escaped){if(ch==="[")inClass=true;else if(ch==="]"&&inClass)inClass=false;else if(ch==="/"&&!inClass)break;escaped=ch==="\\"}else escaped=false;++tokPos}var content=input.slice(start,tokPos);++tokPos;var mods=readWord1();if(mods&&!/^[gmsiy]*$/.test(mods))raise(start,"Invalid regexp flag");return finishToken(_regexp,new RegExp(content,mods))}function readInt(radix,len){var start=tokPos,total=0;for(var i=0,e=len==null?Infinity:len;i<e;++i){var code=input.charCodeAt(tokPos),val;if(code>=97)val=code-97+10;else if(code>=65)val=code-65+10;else if(code>=48&&code<=57)val=code-48;else val=Infinity;if(val>=radix)break;++tokPos;total=total*radix+val}if(tokPos===start||len!=null&&tokPos-start!==len)return null;return total}function readHexNumber(){tokPos+=2;var val=readInt(16);if(val==null)raise(tokStart+2,"Expected hexadecimal number");if(isIdentifierStart(input.charCodeAt(tokPos)))raise(tokPos,"Identifier directly after number");return finishToken(_num,val)}function readNumber(startsWithDot){var start=tokPos,isFloat=false,octal=input.charCodeAt(tokPos)===48;if(!startsWithDot&&readInt(10)===null)raise(start,"Invalid number");if(input.charCodeAt(tokPos)===46){++tokPos;readInt(10);isFloat=true}var next=input.charCodeAt(tokPos);if(next===69||next===101){next=input.charCodeAt(++tokPos);if(next===43||next===45)++tokPos;if(readInt(10)===null)raise(start,"Invalid number");isFloat=true}if(isIdentifierStart(input.charCodeAt(tokPos)))raise(tokPos,"Identifier directly after number");var str=input.slice(start,tokPos),val;if(isFloat)val=parseFloat(str);else if(!octal||str.length===1)val=parseInt(str,10);else if(/[89]/.test(str)||strict)raise(start,"Invalid number");else val=parseInt(str,8);return finishToken(_num,val)}function readString(quote){tokPos++;var out="";for(;;){if(tokPos>=inputLen)raise(tokStart,"Unterminated string constant");var ch=input.charCodeAt(tokPos);if(ch===quote){++tokPos;return finishToken(_string,out)}if(ch===92){ch=input.charCodeAt(++tokPos);var octal=/^[0-7]+/.exec(input.slice(tokPos,tokPos+3));if(octal)octal=octal[0];while(octal&&parseInt(octal,8)>255)octal=octal.slice(0,-1);if(octal==="0")octal=null;++tokPos;if(octal){if(strict)raise(tokPos-2,"Octal literal in strict mode");out+=String.fromCharCode(parseInt(octal,8));tokPos+=octal.length-1}else{switch(ch){case 110:out+="\n";break;case 114:out+="\r";break;case 120:out+=String.fromCharCode(readHexChar(2));break;case 117:out+=String.fromCharCode(readHexChar(4));break;case 85:out+=String.fromCharCode(readHexChar(8));break;case 116:out+="    ";break;case 98:out+="\b";break;case 118:out+="";break;case 102:out+="\f";break;case 48:out+="\x00";break;case 13:if(input.charCodeAt(tokPos)===10)++tokPos;case 10:if(options.locations){tokLineStart=tokPos;++tokCurLine}break;default:out+=String.fromCharCode(ch);break}}}else{if(ch===13||ch===10||ch===8232||ch===8233)raise(tokStart,"Unterminated string constant");out+=String.fromCharCode(ch);++tokPos}}}function readHexChar(len){var n=readInt(16,len);if(n===null)raise(tokStart,"Bad character escape sequence");return n}var containsEsc;function readWord1(){containsEsc=false;var word,first=true,start=tokPos;for(;;){var ch=input.charCodeAt(tokPos);if(isIdentifierChar(ch)){if(containsEsc)word+=input.charAt(tokPos);++tokPos}else if(ch===92){if(!containsEsc)word=input.slice(start,tokPos);containsEsc=true;if(input.charCodeAt(++tokPos)!=117)raise(tokPos,"Expecting Unicode escape sequence \\uXXXX");++tokPos;var esc=readHexChar(4);var escStr=String.fromCharCode(esc);if(!escStr)raise(tokPos-1,"Invalid Unicode escape");if(!(first?isIdentifierStart(esc):isIdentifierChar(esc)))raise(tokPos-4,"Invalid Unicode escape");word+=escStr}else{break}first=false}return containsEsc?word:input.slice(start,tokPos)}function readWord(){var word=readWord1();var type=_name;if(!containsEsc){if(isKeyword(word))type=keywordTypes[word];else if(options.forbidReserved&&(options.ecmaVersion===3?isReservedWord3:isReservedWord5)(word)||strict&&isStrictReservedWord(word))raise(tokStart,"The keyword '"+word+"' is reserved")}return finishToken(type,word)}function next(){lastStart=tokStart;lastEnd=tokEnd;lastEndLoc=tokEndLoc;readToken()}function setStrict(strct){strict=strct;tokPos=lastEnd;if(options.locations){while(tokPos<tokLineStart){tokLineStart=input.lastIndexOf("\n",tokLineStart-2)+1;--tokCurLine}}skipSpace();readToken()}function node_t(){this.type=null;this.start=tokStart;this.end=null}function node_loc_t(){this.start=tokStartLoc;this.end=null;if(sourceFile!==null)this.source=sourceFile}function startNode(){var node=new node_t;if(options.locations)node.loc=new node_loc_t;if(options.directSourceFile)node.sourceFile=options.directSourceFile;if(options.ranges)node.range=[tokStart,0];return node}function startNodeFrom(other){var node=new node_t;node.start=other.start;if(options.locations){node.loc=new node_loc_t;node.loc.start=other.loc.start}if(options.ranges)node.range=[other.range[0],0];return node}function finishNode(node,type){node.type=type;node.end=lastEnd;if(options.locations)node.loc.end=lastEndLoc;if(options.ranges)node.range[1]=lastEnd;return node}function isUseStrict(stmt){return options.ecmaVersion>=5&&stmt.type==="ExpressionStatement"&&stmt.expression.type==="Literal"&&stmt.expression.value==="use strict"}function eat(type){if(tokType===type){next();return true}}function canInsertSemicolon(){return!options.strictSemicolons&&(tokType===_eof||tokType===_braceR||newline.test(input.slice(lastEnd,tokStart)))}function semicolon(){if(!eat(_semi)&&!canInsertSemicolon())unexpected()}function expect(type){if(tokType===type)next();else unexpected()}function unexpected(){raise(tokStart,"Unexpected token")}function checkLVal(expr){if(expr.type!=="Identifier"&&expr.type!=="MemberExpression")raise(expr.start,"Assigning to rvalue");if(strict&&expr.type==="Identifier"&&isStrictBadIdWord(expr.name))raise(expr.start,"Assigning to "+expr.name+" in strict mode")}function parseTopLevel(program){lastStart=lastEnd=tokPos;if(options.locations)lastEndLoc=new line_loc_t;inFunction=strict=null;labels=[];readToken();var node=program||startNode(),first=true;if(!program)node.body=[];while(tokType!==_eof){var stmt=parseStatement();node.body.push(stmt);if(first&&isUseStrict(stmt))setStrict(true);first=false}return finishNode(node,"Program")}var loopLabel={kind:"loop"},switchLabel={kind:"switch"};function parseStatement(){if(tokType===_slash||tokType===_assign&&tokVal=="/=")readToken(true);var starttype=tokType,node=startNode();switch(starttype){case _break:case _continue:next();var isBreak=starttype===_break;if(eat(_semi)||canInsertSemicolon())node.label=null;else if(tokType!==_name)unexpected();else{node.label=parseIdent();semicolon()}for(var i=0;i<labels.length;++i){var lab=labels[i];if(node.label==null||lab.name===node.label.name){if(lab.kind!=null&&(isBreak||lab.kind==="loop"))break;if(node.label&&isBreak)break}}if(i===labels.length)raise(node.start,"Unsyntactic "+starttype.keyword);return finishNode(node,isBreak?"BreakStatement":"ContinueStatement");case _debugger:next();semicolon();return finishNode(node,"DebuggerStatement");case _do:next();labels.push(loopLabel);node.body=parseStatement();labels.pop();expect(_while);node.test=parseParenExpression();semicolon();return finishNode(node,"DoWhileStatement");case _for:next();labels.push(loopLabel);expect(_parenL);if(tokType===_semi)return parseFor(node,null);if(tokType===_var){var init=startNode();next();parseVar(init,true);finishNode(init,"VariableDeclaration");if(init.declarations.length===1&&eat(_in))return parseForIn(node,init);return parseFor(node,init)}var init=parseExpression(false,true);if(eat(_in)){checkLVal(init);return parseForIn(node,init)}return parseFor(node,init);case _function:next();return parseFunction(node,true);case _if:next();node.test=parseParenExpression();node.consequent=parseStatement();node.alternate=eat(_else)?parseStatement():null;return finishNode(node,"IfStatement");case _return:if(!inFunction)raise(tokStart,"'return' outside of function");next();if(eat(_semi)||canInsertSemicolon())node.argument=null;else{node.argument=parseExpression();semicolon()}return finishNode(node,"ReturnStatement");case _switch:next();node.discriminant=parseParenExpression();node.cases=[];expect(_braceL);labels.push(switchLabel);for(var cur,sawDefault;tokType!=_braceR;){if(tokType===_case||tokType===_default){var isCase=tokType===_case;if(cur)finishNode(cur,"SwitchCase");node.cases.push(cur=startNode());cur.consequent=[];next();if(isCase)cur.test=parseExpression();else{if(sawDefault)raise(lastStart,"Multiple default clauses");sawDefault=true;cur.test=null}expect(_colon)}else{if(!cur)unexpected();cur.consequent.push(parseStatement())}}if(cur)finishNode(cur,"SwitchCase");next();labels.pop();return finishNode(node,"SwitchStatement");case _throw:next();if(newline.test(input.slice(lastEnd,tokStart)))raise(lastEnd,"Illegal newline after throw");node.argument=parseExpression();semicolon();return finishNode(node,"ThrowStatement");case _try:next();node.block=parseBlock();node.handler=null;if(tokType===_catch){var clause=startNode();next();expect(_parenL);clause.param=parseIdent();if(strict&&isStrictBadIdWord(clause.param.name))raise(clause.param.start,"Binding "+clause.param.name+" in strict mode");expect(_parenR);clause.guard=null;clause.body=parseBlock();node.handler=finishNode(clause,"CatchClause")}node.guardedHandlers=empty;node.finalizer=eat(_finally)?parseBlock():null;if(!node.handler&&!node.finalizer)raise(node.start,"Missing catch or finally clause");return finishNode(node,"TryStatement");case _var:next();parseVar(node);semicolon();return finishNode(node,"VariableDeclaration");case _while:next();node.test=parseParenExpression();labels.push(loopLabel);node.body=parseStatement();labels.pop();return finishNode(node,"WhileStatement");case _with:if(strict)raise(tokStart,"'with' in strict mode");next();node.object=parseParenExpression();node.body=parseStatement();return finishNode(node,"WithStatement");case _braceL:return parseBlock();case _semi:next();return finishNode(node,"EmptyStatement");default:var maybeName=tokVal,expr=parseExpression();if(starttype===_name&&expr.type==="Identifier"&&eat(_colon)){for(var i=0;i<labels.length;++i)if(labels[i].name===maybeName)raise(expr.start,"Label '"+maybeName+"' is already declared");var kind=tokType.isLoop?"loop":tokType===_switch?"switch":null;labels.push({name:maybeName,kind:kind});node.body=parseStatement();labels.pop();node.label=expr;return finishNode(node,"LabeledStatement")}else{node.expression=expr;semicolon();return finishNode(node,"ExpressionStatement")}}}function parseParenExpression(){expect(_parenL);var val=parseExpression();expect(_parenR);return val}function parseBlock(allowStrict){var node=startNode(),first=true,strict=false,oldStrict;node.body=[];expect(_braceL);while(!eat(_braceR)){var stmt=parseStatement();node.body.push(stmt);if(first&&allowStrict&&isUseStrict(stmt)){oldStrict=strict;setStrict(strict=true)}first=false}if(strict&&!oldStrict)setStrict(false);return finishNode(node,"BlockStatement")}function parseFor(node,init){node.init=init;expect(_semi);node.test=tokType===_semi?null:parseExpression();expect(_semi);node.update=tokType===_parenR?null:parseExpression();expect(_parenR);node.body=parseStatement();labels.pop();return finishNode(node,"ForStatement")}function parseForIn(node,init){node.left=init;node.right=parseExpression();expect(_parenR);node.body=parseStatement();labels.pop();return finishNode(node,"ForInStatement")}function parseVar(node,noIn){node.declarations=[];node.kind="var";for(;;){var decl=startNode();decl.id=parseIdent();if(strict&&isStrictBadIdWord(decl.id.name))raise(decl.id.start,"Binding "+decl.id.name+" in strict mode");decl.init=eat(_eq)?parseExpression(true,noIn):null;node.declarations.push(finishNode(decl,"VariableDeclarator"));if(!eat(_comma))break}return node}function parseExpression(noComma,noIn){var expr=parseMaybeAssign(noIn);if(!noComma&&tokType===_comma){var node=startNodeFrom(expr);node.expressions=[expr];while(eat(_comma))node.expressions.push(parseMaybeAssign(noIn));return finishNode(node,"SequenceExpression")}return expr}function parseMaybeAssign(noIn){var left=parseMaybeConditional(noIn);if(tokType.isAssign){var node=startNodeFrom(left);node.operator=tokVal;node.left=left;next();node.right=parseMaybeAssign(noIn);checkLVal(left);return finishNode(node,"AssignmentExpression")}return left}function parseMaybeConditional(noIn){var expr=parseExprOps(noIn);if(eat(_question)){var node=startNodeFrom(expr);node.test=expr;node.consequent=parseExpression(true);expect(_colon);node.alternate=parseExpression(true,noIn);return finishNode(node,"ConditionalExpression")}return expr}function parseExprOps(noIn){return parseExprOp(parseMaybeUnary(),-1,noIn)}function parseExprOp(left,minPrec,noIn){var prec=tokType.binop;if(prec!=null&&(!noIn||tokType!==_in)){if(prec>minPrec){var node=startNodeFrom(left);node.left=left;node.operator=tokVal;var op=tokType;next();node.right=parseExprOp(parseMaybeUnary(),prec,noIn);var exprNode=finishNode(node,op===_logicalOR||op===_logicalAND?"LogicalExpression":"BinaryExpression");return parseExprOp(exprNode,minPrec,noIn)}}return left}function parseMaybeUnary(){if(tokType.prefix){var node=startNode(),update=tokType.isUpdate;node.operator=tokVal;node.prefix=true;tokRegexpAllowed=true;next();node.argument=parseMaybeUnary();if(update)checkLVal(node.argument);else if(strict&&node.operator==="delete"&&node.argument.type==="Identifier")raise(node.start,"Deleting local variable in strict mode");return finishNode(node,update?"UpdateExpression":"UnaryExpression")}var expr=parseExprSubscripts();while(tokType.postfix&&!canInsertSemicolon()){var node=startNodeFrom(expr);node.operator=tokVal;node.prefix=false;node.argument=expr;checkLVal(expr);next();expr=finishNode(node,"UpdateExpression")}return expr}function parseExprSubscripts(){return parseSubscripts(parseExprAtom())}function parseSubscripts(base,noCalls){if(eat(_dot)){var node=startNodeFrom(base);node.object=base;node.property=parseIdent(true);node.computed=false;return parseSubscripts(finishNode(node,"MemberExpression"),noCalls)}else if(eat(_bracketL)){var node=startNodeFrom(base);node.object=base;node.property=parseExpression();node.computed=true;expect(_bracketR);return parseSubscripts(finishNode(node,"MemberExpression"),noCalls)}else if(!noCalls&&eat(_parenL)){var node=startNodeFrom(base);node.callee=base;node.arguments=parseExprList(_parenR,false);return parseSubscripts(finishNode(node,"CallExpression"),noCalls)}else return base}function parseExprAtom(){switch(tokType){case _this:var node=startNode();next();return finishNode(node,"ThisExpression");case _name:return parseIdent();case _num:case _string:case _regexp:var node=startNode();node.value=tokVal;node.raw=input.slice(tokStart,tokEnd);next();return finishNode(node,"Literal");case _null:case _true:case _false:var node=startNode();node.value=tokType.atomValue;node.raw=tokType.keyword;next();return finishNode(node,"Literal");case _parenL:var tokStartLoc1=tokStartLoc,tokStart1=tokStart;next();var val=parseExpression();val.start=tokStart1;val.end=tokEnd;if(options.locations){val.loc.start=tokStartLoc1;val.loc.end=tokEndLoc}if(options.ranges)val.range=[tokStart1,tokEnd];expect(_parenR);return val;case _bracketL:var node=startNode();next();node.elements=parseExprList(_bracketR,true,true);return finishNode(node,"ArrayExpression");case _braceL:return parseObj();case _function:var node=startNode();next();return parseFunction(node,false);case _new:return parseNew();default:unexpected()}}function parseNew(){var node=startNode();next();node.callee=parseSubscripts(parseExprAtom(),true);if(eat(_parenL))node.arguments=parseExprList(_parenR,false);else node.arguments=empty;return finishNode(node,"NewExpression")}function parseObj(){var node=startNode(),first=true,sawGetSet=false;node.properties=[];next();while(!eat(_braceR)){if(!first){expect(_comma);if(options.allowTrailingCommas&&eat(_braceR))break}else first=false;var prop={key:parsePropertyName()},isGetSet=false,kind;if(eat(_colon)){prop.value=parseExpression(true);kind=prop.kind="init"}else if(options.ecmaVersion>=5&&prop.key.type==="Identifier"&&(prop.key.name==="get"||prop.key.name==="set")){isGetSet=sawGetSet=true;kind=prop.kind=prop.key.name;prop.key=parsePropertyName();if(tokType!==_parenL)unexpected();prop.value=parseFunction(startNode(),false)}else unexpected();if(prop.key.type==="Identifier"&&(strict||sawGetSet)){for(var i=0;i<node.properties.length;++i){var other=node.properties[i];if(other.key.name===prop.key.name){var conflict=kind==other.kind||isGetSet&&other.kind==="init"||kind==="init"&&(other.kind==="get"||other.kind==="set");if(conflict&&!strict&&kind==="init"&&other.kind==="init")conflict=false;if(conflict)raise(prop.key.start,"Redefinition of property")}}}node.properties.push(prop)}return finishNode(node,"ObjectExpression")}function parsePropertyName(){if(tokType===_num||tokType===_string)return parseExprAtom();return parseIdent(true)}function parseFunction(node,isStatement){if(tokType===_name)node.id=parseIdent();else if(isStatement)unexpected();else node.id=null;node.params=[];var first=true;expect(_parenL);while(!eat(_parenR)){if(!first)expect(_comma);else first=false;node.params.push(parseIdent())}var oldInFunc=inFunction,oldLabels=labels;inFunction=true;labels=[];node.body=parseBlock(true);inFunction=oldInFunc;labels=oldLabels;if(strict||node.body.body.length&&isUseStrict(node.body.body[0])){for(var i=node.id?-1:0;i<node.params.length;++i){var id=i<0?node.id:node.params[i];if(isStrictReservedWord(id.name)||isStrictBadIdWord(id.name))raise(id.start,"Defining '"+id.name+"' in strict mode");if(i>=0)for(var j=0;j<i;++j)if(id.name===node.params[j].name)raise(id.start,"Argument name clash in strict mode")}}return finishNode(node,isStatement?"FunctionDeclaration":"FunctionExpression")}function parseExprList(close,allowTrailingComma,allowEmpty){var elts=[],first=true;while(!eat(close)){if(!first){expect(_comma);if(allowTrailingComma&&options.allowTrailingCommas&&eat(close))break}else first=false;if(allowEmpty&&tokType===_comma)elts.push(null);else elts.push(parseExpression(true))}return elts}function parseIdent(liberal){var node=startNode();node.name=tokType===_name?tokVal:liberal&&!options.forbidReserved&&tokType.keyword||unexpected();tokRegexpAllowed=false;next();return finishNode(node,"Identifier")}})},{}],18:[function(require,module,exports){(function(){module.exports={android:{prefix:"-webkit-",minor:true,versions:[4.4,4.3,4.2,4.1,4,3,2.3,2.2,2.1],popularity:[.342673,.89871,.89871,2.22414,.92457,.00646552,1.15086,.0711207,.0258621]},bb:{prefix:"-webkit-",minor:true,versions:[10,7],popularity:[0,.13409]},chrome:{prefix:"-webkit-",future:[37,36,35],versions:[34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4],popularity:[.171534,28.4597,1.56618,1.07395,.253572,.440022,.201366,.328152,.193908,.089496,.052206,.067122,.126786,.454938,.03729,.029832,.067122,.022374,.03729,.052206,.044748,.044748,.052206,.119328,.029832,.014916,.022374,.022374,.029832,.022374,.022374]},ff:{prefix:"-moz-",future:[32,31,30],versions:[29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3.6,3.5,3,2],popularity:[.134244,1.82721,10.2175,.454938,.171534,.238656,.119328,.11187,.156618,.096954,.082038,.089496,.11187,.156618,.096954,.067122,.067122,.156618,.067122,.082038,.03729,.052206,.029832,.03729,.029832,.044748,.201366,.029832,.096954,.014916]},ie:{prefix:"-ms-",versions:[11,10,9,8,7,6,5.5],popularity:[7.01035,3.21991,2.94638,5.2519,.195383,.461104,.009298]},ios:{prefix:"-webkit-",versions:[7,6.1,6,5.1,5,4.3,4.2,4.1,4,3.2],popularity:[4.68985,.397055,.397055,.120843,.120843,.01150885,.01150885,.0057544,.0057544,0]},opera:{prefix:"-o-",future:[22,21],versions:[20,19,18,17,16,15,12.1,12,11.6,11.5,11.1,11,10.6,10.5,10.1,10,9.6,9.5],popularity:[.350526,.11187,.044748,.014916,.014916,.014916,.365442,.029832,.022374,.007458,.008219,.022374,.007458,.008392,.011187,.011187,.003729,.003729]},safari:{prefix:"-webkit-",versions:[7,6.1,6,5.1,5,4,3.2,3.1],popularity:[1.42448,.723426,.432564,.842754,.246114,.134244,.008692,0]}}}).call(this)},{}],19:[function(require,module,exports){(function(){var Browsers,utils;utils=require("./utils");Browsers=function(){Browsers.prefixes=function(){var data,i,name;if(this.prefixesCache){return this.prefixesCache}data=require("../data/browsers");return this.prefixesCache=utils.uniq(function(){var _results;_results=[];for(name in data){i=data[name];_results.push(i.prefix)}return _results}()).sort(function(a,b){return b.length-a.length})};Browsers.withPrefix=function(value){if(!this.prefixesRegexp){this.prefixesRegexp=RegExp(""+this.prefixes().join("|"))}return this.prefixesRegexp.test(value)};function Browsers(data,requirements){this.data=data;this.selected=this.parse(requirements)}Browsers.prototype.parse=function(requirements){var selected;if(!(requirements instanceof Array)){requirements=[requirements]}selected=[];requirements.map(function(_this){return function(req){var i,match,name,_ref;_ref=_this.requirements;for(name in _ref){i=_ref[name];if(match=req.match(i.regexp)){selected=selected.concat(i.select.apply(_this,match.slice(1)));return}}return utils.error("Unknown browser requirement `"+req+"`")}}(this));return utils.uniq(selected)};Browsers.prototype.aliases={fx:"ff",firefox:"ff",explorer:"ie",blackberry:"bb"};Browsers.prototype.requirements={none:{regexp:/^none$/i,select:function(){return[]}},lastVersions:{regexp:/^last (\d+) versions?$/i,select:function(versions){return this.browsers(function(data){if(data.minor){return[]}else{return data.versions.slice(0,versions)}})}},lastByBrowser:{regexp:/^last (\d+) (\w+) versions?$/i,select:function(versions,browser){var data;data=this.byName(browser);return data.versions.slice(0,versions).map(function(v){return""+data.name+" "+v})}},globalStatistics:{regexp:/^> (\d+(\.\d+)?)%$/,select:function(popularity){return this.browsers(function(data){return data.versions.filter(function(version,i){return data.popularity[i]>popularity})})}},newerThen:{regexp:/^(\w+) (>=?)\s*([\d\.]+)/,select:function(browser,sign,version){var data,filter;data=this.byName(browser);version=parseFloat(version);if(sign===">"){filter=function(v){return v>version}}else if(sign===">="){filter=function(v){return v>=version}}return data.versions.filter(filter).map(function(v){return""+data.name+" "+v})}},esr:{regexp:/^(firefox|ff|fx) esr$/i,select:function(){return["ff 24"]}},direct:{regexp:/^(\w+) ([\d\.]+)$/,select:function(browser,version){var data,first,last;data=this.byName(browser);version=parseFloat(version);last=data.future?data.future[0]:data.versions[0];first=data.versions[data.versions.length-1];if(version>last){version=last}else if(version<first){version=first}return[""+data.name+" "+version]}}};Browsers.prototype.browsers=function(criteria){var browser,data,selected,versions,_ref;selected=[];_ref=this.data;for(browser in _ref){data=_ref[browser];versions=criteria(data).map(function(version){return""+browser+" "+version});selected=selected.concat(versions)}return selected};Browsers.prototype.prefix=function(browser){var name,version,_ref;_ref=browser.split(" "),name=_ref[0],version=_ref[1];if(name==="opera"&&parseFloat(version)>=15){return"-webkit-"}else{return this.data[name].prefix}};Browsers.prototype.isSelected=function(browser){return this.selected.indexOf(browser)!==-1};Browsers.prototype.byName=function(name){var data;name=name.toLowerCase();name=this.aliases[name]||name;data=this.data[name];if(!data){utils.error("Unknown browser "+browser)}data.name=name;return data};return Browsers}();module.exports=Browsers}).call(this)},{"../data/browsers":18,"./utils":20}],20:[function(require,module,exports){(function(){module.exports={error:function(text){var err;err=new Error(text);err.autoprefixer=true;throw err},uniq:function(array){var filtered,i,_i,_len;filtered=[];for(_i=0,_len=array.length;_i<_len;_i++){i=array[_i];if(filtered.indexOf(i)===-1){filtered.push(i)}}return filtered},removeNote:function(string){if(string.indexOf(" ")===-1){return string}else{return string.split(" ")[0]}},escapeRegexp:function(string){return string.replace(/[.?*+\^\$\[\]\\(){}|\-]/g,"\\$&")},regexp:function(word,escape){if(escape==null){escape=true}if(escape){word=this.escapeRegexp(word)}return RegExp("(^|[\\s,(])("+word+"($|[\\s(,]))","gi")}}}).call(this)},{}],21:[function(require,module,exports){},{}],22:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){var source=ev.source;if((source===window||source===null)&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];function noop(){}process.on=noop;process.once=noop;process.off=noop;process.emit=noop;process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],23:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")};exports.sep="/";exports.delimiter=":";exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir};exports.basename=function(path,ext){var f=splitPath(path)[2];if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){return splitPath(path)[3]};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i])}return res}var substr="ab".substr(-1)==="b"?function(str,start,len){return str.substr(start,len)}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len)}}).call(this,require("/Volumes/DATA/Projects/autopolyfiller/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))},{"/Volumes/DATA/Projects/autopolyfiller/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":22}],24:[function(require,module,exports){module.exports=debug;function debug(name){if(!debug.enabled(name))return function(){};return function(fmt){fmt=coerce(fmt);var curr=new Date;var ms=curr-(debug[name]||curr);debug[name]=curr;fmt=name+" "+fmt+" +"+debug.humanize(ms);window.console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}}debug.names=[];debug.skips=[];debug.enable=function(name){try{localStorage.debug=name}catch(e){}var split=(name||"").split(/[\s,]+/),len=split.length;for(var i=0;i<len;i++){name=split[i].replace("*",".*?");if(name[0]==="-"){debug.skips.push(new RegExp("^"+name.substr(1)+"$"))}else{debug.names.push(new RegExp("^"+name+"$"))}}};debug.disable=function(){debug.enable("")};debug.humanize=function(ms){var sec=1e3,min=60*1e3,hour=60*min;if(ms>=hour)return(ms/hour).toFixed(1)+"h";if(ms>=min)return(ms/min).toFixed(1)+"m";if(ms>=sec)return(ms/sec|0)+"s";return ms+"ms"};debug.enabled=function(name){for(var i=0,len=debug.skips.length;i<len;i++){if(debug.skips[i].test(name)){return false}}for(var i=0,len=debug.names.length;i<len;i++){if(debug.names[i].test(name)){return true}}return false};function coerce(val){if(val instanceof Error)return val.stack||val.message;return val}try{if(window.localStorage)debug.enable(localStorage.debug)}catch(e){}},{}],25:[function(require,module,exports){(function(root,factory){"use strict";if(typeof define==="function"&&define.amd){define(["exports"],factory)}else if(typeof exports!=="undefined"){factory(exports)}else{factory(root.estraverse={})}})(this,function(exports){"use strict";var Syntax,isArray,VisitorOption,VisitorKeys,BREAK,SKIP;Syntax={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"};
function ignoreJSHintError(){}isArray=Array.isArray;if(!isArray){isArray=function isArray(array){return Object.prototype.toString.call(array)==="[object Array]"}}function deepCopy(obj){var ret={},key,val;for(key in obj){if(obj.hasOwnProperty(key)){val=obj[key];if(typeof val==="object"&&val!==null){ret[key]=deepCopy(val)}else{ret[key]=val}}}return ret}function shallowCopy(obj){var ret={},key;for(key in obj){if(obj.hasOwnProperty(key)){ret[key]=obj[key]}}return ret}ignoreJSHintError(shallowCopy);function upperBound(array,func){var diff,len,i,current;len=array.length;i=0;while(len){diff=len>>>1;current=i+diff;if(func(array[current])){len=diff}else{i=current+1;len-=diff+1}}return i}function lowerBound(array,func){var diff,len,i,current;len=array.length;i=0;while(len){diff=len>>>1;current=i+diff;if(func(array[current])){i=current+1;len-=diff+1}else{len=diff}}return i}ignoreJSHintError(lowerBound);VisitorKeys={AssignmentExpression:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","defaults","rest","body"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","body","superClass"],ClassExpression:["id","body","superClass"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],FunctionDeclaration:["id","params","defaults","rest","body"],FunctionExpression:["id","params","defaults","rest","body"],Identifier:[],IfStatement:["test","consequent","alternate"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handlers","handler","guardedHandlers","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};BREAK={};SKIP={};VisitorOption={Break:BREAK,Skip:SKIP};function Reference(parent,key){this.parent=parent;this.key=key}Reference.prototype.replace=function replace(node){this.parent[this.key]=node};function Element(node,path,wrap,ref){this.node=node;this.path=path;this.wrap=wrap;this.ref=ref}function Controller(){}Controller.prototype.path=function path(){var i,iz,j,jz,result,element;function addToPath(result,path){if(isArray(path)){for(j=0,jz=path.length;j<jz;++j){result.push(path[j])}}else{result.push(path)}}if(!this.__current.path){return null}result=[];for(i=2,iz=this.__leavelist.length;i<iz;++i){element=this.__leavelist[i];addToPath(result,element.path)}addToPath(result,this.__current.path);return result};Controller.prototype.parents=function parents(){var i,iz,result;result=[];for(i=1,iz=this.__leavelist.length;i<iz;++i){result.push(this.__leavelist[i].node)}return result};Controller.prototype.current=function current(){return this.__current.node};Controller.prototype.__execute=function __execute(callback,element){var previous,result;result=undefined;previous=this.__current;this.__current=element;this.__state=null;if(callback){result=callback.call(this,element.node,this.__leavelist[this.__leavelist.length-1].node)}this.__current=previous;return result};Controller.prototype.notify=function notify(flag){this.__state=flag};Controller.prototype.skip=function(){this.notify(SKIP)};Controller.prototype["break"]=function(){this.notify(BREAK)};Controller.prototype.__initialize=function(root,visitor){this.visitor=visitor;this.root=root;this.__worklist=[];this.__leavelist=[];this.__current=null;this.__state=null};Controller.prototype.traverse=function traverse(root,visitor){var worklist,leavelist,element,node,nodeType,ret,key,current,current2,candidates,candidate,sentinel;this.__initialize(root,visitor);sentinel={};worklist=this.__worklist;leavelist=this.__leavelist;worklist.push(new Element(root,null,null,null));leavelist.push(new Element(null,null,null,null));while(worklist.length){element=worklist.pop();if(element===sentinel){element=leavelist.pop();ret=this.__execute(visitor.leave,element);if(this.__state===BREAK||ret===BREAK){return}continue}if(element.node){ret=this.__execute(visitor.enter,element);if(this.__state===BREAK||ret===BREAK){return}worklist.push(sentinel);leavelist.push(element);if(this.__state===SKIP||ret===SKIP){continue}node=element.node;nodeType=element.wrap||node.type;candidates=VisitorKeys[nodeType];current=candidates.length;while((current-=1)>=0){key=candidates[current];candidate=node[key];if(!candidate){continue}if(!isArray(candidate)){worklist.push(new Element(candidate,key,null,null));continue}current2=candidate.length;while((current2-=1)>=0){if(!candidate[current2]){continue}if((nodeType===Syntax.ObjectExpression||nodeType===Syntax.ObjectPattern)&&"properties"===candidates[current]){element=new Element(candidate[current2],[key,current2],"Property",null)}else{element=new Element(candidate[current2],[key,current2],null,null)}worklist.push(element)}}}}};Controller.prototype.replace=function replace(root,visitor){var worklist,leavelist,node,nodeType,target,element,current,current2,candidates,candidate,sentinel,outer,key;this.__initialize(root,visitor);sentinel={};worklist=this.__worklist;leavelist=this.__leavelist;outer={root:root};element=new Element(root,null,null,new Reference(outer,"root"));worklist.push(element);leavelist.push(element);while(worklist.length){element=worklist.pop();if(element===sentinel){element=leavelist.pop();target=this.__execute(visitor.leave,element);if(target!==undefined&&target!==BREAK&&target!==SKIP){element.ref.replace(target)}if(this.__state===BREAK||target===BREAK){return outer.root}continue}target=this.__execute(visitor.enter,element);if(target!==undefined&&target!==BREAK&&target!==SKIP){element.ref.replace(target);element.node=target}if(this.__state===BREAK||target===BREAK){return outer.root}node=element.node;if(!node){continue}worklist.push(sentinel);leavelist.push(element);if(this.__state===SKIP||target===SKIP){continue}nodeType=element.wrap||node.type;candidates=VisitorKeys[nodeType];current=candidates.length;while((current-=1)>=0){key=candidates[current];candidate=node[key];if(!candidate){continue}if(!isArray(candidate)){worklist.push(new Element(candidate,key,null,new Reference(node,key)));continue}current2=candidate.length;while((current2-=1)>=0){if(!candidate[current2]){continue}if(nodeType===Syntax.ObjectExpression&&"properties"===candidates[current]){element=new Element(candidate[current2],[key,current2],"Property",new Reference(candidate,current2))}else{element=new Element(candidate[current2],[key,current2],null,new Reference(candidate,current2))}worklist.push(element)}}}return outer.root};function traverse(root,visitor){var controller=new Controller;return controller.traverse(root,visitor)}function replace(root,visitor){var controller=new Controller;return controller.replace(root,visitor)}function extendCommentRange(comment,tokens){var target;target=upperBound(tokens,function search(token){return token.range[0]>comment.range[0]});comment.extendedRange=[comment.range[0],comment.range[1]];if(target!==tokens.length){comment.extendedRange[1]=tokens[target].range[0]}target-=1;if(target>=0){comment.extendedRange[0]=tokens[target].range[1]}return comment}function attachComments(tree,providedComments,tokens){var comments=[],comment,len,i,cursor;if(!tree.range){throw new Error("attachComments needs range information")}if(!tokens.length){if(providedComments.length){for(i=0,len=providedComments.length;i<len;i+=1){comment=deepCopy(providedComments[i]);comment.extendedRange=[0,tree.range[0]];comments.push(comment)}tree.leadingComments=comments}return tree}for(i=0,len=providedComments.length;i<len;i+=1){comments.push(extendCommentRange(deepCopy(providedComments[i]),tokens))}cursor=0;traverse(tree,{enter:function(node){var comment;while(cursor<comments.length){comment=comments[cursor];if(comment.extendedRange[1]>node.range[0]){break}if(comment.extendedRange[1]===node.range[0]){if(!node.leadingComments){node.leadingComments=[]}node.leadingComments.push(comment);comments.splice(cursor,1)}else{cursor+=1}}if(cursor===comments.length){return VisitorOption.Break}if(comments[cursor].extendedRange[0]>node.range[1]){return VisitorOption.Skip}}});cursor=0;traverse(tree,{leave:function(node){var comment;while(cursor<comments.length){comment=comments[cursor];if(node.range[1]<comment.extendedRange[0]){break}if(node.range[1]===comment.extendedRange[0]){if(!node.trailingComments){node.trailingComments=[]}node.trailingComments.push(comment);comments.splice(cursor,1)}else{cursor+=1}}if(cursor===comments.length){return VisitorOption.Break}if(comments[cursor].extendedRange[0]>node.range[1]){return VisitorOption.Skip}}});return tree}exports.version="1.3.3-dev";exports.Syntax=Syntax;exports.traverse=traverse;exports.replace=replace;exports.attachComments=attachComments;exports.VisitorKeys=VisitorKeys;exports.VisitorOption=VisitorOption;exports.Controller=Controller})},{}],26:[function(require,module,exports){module.exports=require("./lib/extend")},{"./lib/extend":27}],27:[function(require,module,exports){var is=require("is");function extend(){var target=arguments[0]||{};var i=1;var length=arguments.length;var deep=false;var options,name,src,copy,copy_is_array,clone;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2}if(typeof target!=="object"&&!is.fn(target)){target={}}for(;i<length;i++){options=arguments[i];if(options!=null){if(typeof options==="string"){options=options.split("")}for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(is.hash(copy)||(copy_is_array=is.array(copy)))){if(copy_is_array){copy_is_array=false;clone=src&&is.array(src)?src:[]}else{clone=src&&is.hash(src)?src:{}}target[name]=extend(deep,clone,copy)}else if(typeof copy!=="undefined"){target[name]=copy}}}}return target}extend.version="1.0.8";module.exports=extend},{is:28}],28:[function(require,module,exports){var objProto=Object.prototype;var owns=objProto.hasOwnProperty;var toString=objProto.toString;var isActualNaN=function(value){return value!==value};var NON_HOST_TYPES={"boolean":1,number:1,string:1,undefined:1};var is=module.exports={};is.a=is.type=function(value,type){return typeof value===type};is.defined=function(value){return value!==undefined};is.empty=function(value){var type=toString.call(value);var key;if("[object Array]"===type||"[object Arguments]"===type){return value.length===0}if("[object Object]"===type){for(key in value)if(owns.call(value,key))return false;return true}if("[object String]"===type){return""===value}return false};is.equal=function(value,other){var strictlyEqual=value===other;if(strictlyEqual){return true}var type=toString.call(value);var key;if(type!==toString.call(other)){return false}if("[object Object]"===type){for(key in value){if(!is.equal(value[key],other[key])||!(key in other)){return false}}for(key in other){if(!is.equal(value[key],other[key])||!(key in value)){return false}}return true}if("[object Array]"===type){key=value.length;if(key!==other.length){return false}while(--key){if(!is.equal(value[key],other[key])){return false}}return true}if("[object Function]"===type){return value.prototype===other.prototype}if("[object Date]"===type){return value.getTime()===other.getTime()}return strictlyEqual};is.hosted=function(value,host){var type=typeof host[value];return type==="object"?!!host[value]:!NON_HOST_TYPES[type]};is.instance=is["instanceof"]=function(value,constructor){return value instanceof constructor};is["null"]=function(value){return value===null};is.undef=is["undefined"]=function(value){return value===undefined};is.args=is["arguments"]=function(value){var isStandardArguments="[object Arguments]"===toString.call(value);var isOldArguments=!is.array(value)&&is.arraylike(value)&&is.object(value)&&is.fn(value.callee);return isStandardArguments||isOldArguments};is.array=function(value){return"[object Array]"===toString.call(value)};is.args.empty=function(value){return is.args(value)&&value.length===0};is.array.empty=function(value){return is.array(value)&&value.length===0};is.arraylike=function(value){return!!value&&!is.boolean(value)&&owns.call(value,"length")&&isFinite(value.length)&&is.number(value.length)&&value.length>=0};is.boolean=function(value){return"[object Boolean]"===toString.call(value)};is["false"]=function(value){return is.boolean(value)&&(value===false||value.valueOf()===false)};is["true"]=function(value){return is.boolean(value)&&(value===true||value.valueOf()===true)};is.date=function(value){return"[object Date]"===toString.call(value)};is.element=function(value){return value!==undefined&&typeof HTMLElement!=="undefined"&&value instanceof HTMLElement&&value.nodeType===1};is.error=function(value){return"[object Error]"===toString.call(value)};is.fn=is["function"]=function(value){var isAlert=typeof window!=="undefined"&&value===window.alert;return isAlert||"[object Function]"===toString.call(value)};is.number=function(value){return"[object Number]"===toString.call(value)};is.infinite=function(value){return value===Infinity||value===-Infinity};is.decimal=function(value){return is.number(value)&&!isActualNaN(value)&&!is.infinite(value)&&value%1!==0};is.divisibleBy=function(value,n){var isDividendInfinite=is.infinite(value);var isDivisorInfinite=is.infinite(n);var isNonZeroNumber=is.number(value)&&!isActualNaN(value)&&is.number(n)&&!isActualNaN(n)&&n!==0;return isDividendInfinite||isDivisorInfinite||isNonZeroNumber&&value%n===0};is.int=function(value){return is.number(value)&&!isActualNaN(value)&&value%1===0};is.maximum=function(value,others){if(isActualNaN(value)){throw new TypeError("NaN is not a valid value")}else if(!is.arraylike(others)){throw new TypeError("second argument must be array-like")}var len=others.length;while(--len>=0){if(value<others[len]){return false}}return true};is.minimum=function(value,others){if(isActualNaN(value)){throw new TypeError("NaN is not a valid value")}else if(!is.arraylike(others)){throw new TypeError("second argument must be array-like")}var len=others.length;while(--len>=0){if(value>others[len]){return false}}return true};is.nan=function(value){return!is.number(value)||value!==value};is.even=function(value){return is.infinite(value)||is.number(value)&&value===value&&value%2===0};is.odd=function(value){return is.infinite(value)||is.number(value)&&value===value&&value%2!==0};is.ge=function(value,other){if(isActualNaN(value)||isActualNaN(other)){throw new TypeError("NaN is not a valid value")}return!is.infinite(value)&&!is.infinite(other)&&value>=other};is.gt=function(value,other){if(isActualNaN(value)||isActualNaN(other)){throw new TypeError("NaN is not a valid value")}return!is.infinite(value)&&!is.infinite(other)&&value>other};is.le=function(value,other){if(isActualNaN(value)||isActualNaN(other)){throw new TypeError("NaN is not a valid value")}return!is.infinite(value)&&!is.infinite(other)&&value<=other};is.lt=function(value,other){if(isActualNaN(value)||isActualNaN(other)){throw new TypeError("NaN is not a valid value")}return!is.infinite(value)&&!is.infinite(other)&&value<other};is.within=function(value,start,finish){if(isActualNaN(value)||isActualNaN(start)||isActualNaN(finish)){throw new TypeError("NaN is not a valid value")}else if(!is.number(value)||!is.number(start)||!is.number(finish)){throw new TypeError("all arguments must be numbers")}var isAnyInfinite=is.infinite(value)||is.infinite(start)||is.infinite(finish);return isAnyInfinite||value>=start&&value<=finish};is.object=function(value){return value&&"[object Object]"===toString.call(value)};is.hash=function(value){return is.object(value)&&value.constructor===Object&&!value.nodeType&&!value.setInterval};is.regexp=function(value){return"[object RegExp]"===toString.call(value)};is.string=function(value){return"[object String]"===toString.call(value)}},{}],29:[function(require,module,exports){module.exports={"Opera Mini":[{fill:"audio:not([controls]) main subline"}],"Opera Mobile":[{fill:"audio:not([controls]) main subline"}],Opera:[{min:"10",max:"11.64",fill:"details figure main subline summary"},{min:"10",max:"10.63",fill:"audio[controls] article aside canvas figcaption figure footer header hgroup nav section template"},{min:"15",fill:"subline"}],Android:[{fill:"main subline"}],BlackBerry:[{fill:"main subline"}],"Chrome iOS":[{fill:"audio:not([controls]) main subline"}],"Safari iOS":[{fill:"audio:not([controls]) main subline"}],Chrome:[{fill:"abbr[title] subline"}],"Internet Explorer":[{min:"6",fill:"details main subline summary"},{min:"6",max:"9",fill:"article aside figcaption figure footer header hgroup img legend mark nav section template _textarea"},{min:"6",max:"8",fill:"_audio canvas -ms-placeholder video"},{min:"6",max:"7",fill:"button dd dl form h1 h2 h3 h4 h5 h6 input _legend menu ol p _pre select ul"},{only:"6",fill:"_abbr _code _kbd _samp"},{min:"7",max:"9",fill:"[hidden] abbr[title]"},{only:"7",fill:'_button _input[type="button"] _input[type="checkbox"] _input[type="radio"] _input[type="reset"] _input[type="submit"]'},{min:"8",max:"9",fill:'input[type="checkbox"] input[type="radio"]'},{only:"9",fill:"audio:not([controls]) svg:not(:root)"},{only:"10",fill:"img"}],Firefox:[{min:"3",fill:"details summary subline"},{min:"3",max:"20",fill:"main"},{min:"3",max:"3.6",fill:"audio article aside b canvas figcaption figure footer header hgroup __legend nav section strong video"}],Safari:[{min:"3",fill:"main subline"},{min:"3",max:"5.1",fill:"abbr[title] article aside audio canvas code details dfn figcaption figure footer header hgroup kbd nav pre samp section summary video"}]}},{}],30:[function(require,module,exports){module.exports={"Opera Mini":[{fill:"Window.prototype.matchMedia Element.prototype.matches.o Element.prototype.mutation"}],"Opera Mobile":[{min:"10",max:"12",fill:"Window.prototype.matchMedia"},{fill:"Element.prototype.matches.o"}],Opera:[{only:"11.5",fill:"Object.defineProperty Object.defineProperties"},{min:"11.5",max:"12.1",fill:"Window.prototype.matchMedia Element.prototype.matches.o Element.prototype.mutation"},{only:"15",fill:"Navigator.prototype.geolocation"},{min:"15",fill:"Element.prototype.matches.webkit Element.prototype.mutation.blink"}],Android:[{min:"2.1",max:"2.3",fill:"Window.prototype.matchMedia"},{fill:"Element.prototype.matches.webkit Element.prototype.mutation"}],BlackBerry:[{only:"7",fill:"Window.prototype.matchMedia"},{fill:"Element.prototype.matches.webkit Element.prototype.mutation"}],"Chrome iOS":[{fill:"Element.prototype.matches.webkit Element.prototype.mutation"}],"Safari iOS":[{max:"4.3",fill:"Object.defineProperty Object.defineProperties"},{fill:"Window.prototype.devicePixelRatio.iossafari6 Element.prototype.matches.webkit Element.prototype.mutation"}],Chrome:[{fill:"Element.prototype.matches.webkit Element.prototype.mutation.blink"}],"Internet Explorer":[{min:"6",max:"7",fill:"Object.create.ie7 Object.defineProperty.ie7 Object.defineProperties Object.getPrototypeOf Object.keys Object.getOwnPropertyNames Date.prototype.toISOString Date.now Array.isArray Function.prototype.bind String.prototype.trim Array.prototype.every Array.prototype.filter Array.prototype.forEach Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.map Array.prototype.reduce Array.prototype.reduceRight Array.prototype.some Window.polyfill.ie7 Window.prototype.base64 Window.prototype.devicePixelRatio.ie7 Window.prototype.DOMTokenList Window.prototype.Event.ie8 Window.prototype.Event.ie8.DOMContentLoaded Window.prototype.Event.hashchange Window.prototype.getComputedStyle.ie8 Window.prototype.JSON Window.prototype.localStorage.ie7 Window.prototype.matchMedia Window.prototype.viewport.ie7 Window.prototype.XMLHttpRequest.ie7 Window.prototype.XMLHttpRequest.ie8 Navigator.prototype.geolocation Element.prototype.classList.ie7 Element.prototype.matches Element.prototype.mutation Element.prototype.placeholder.ie7 Window.polyfill.ie7.init"},{only:"8",fill:"Object.create Object.defineProperty.ie8 Object.defineProperties Object.getPrototypeOf Object.keys Object.getOwnPropertyNames Date.prototype.toISOString Date.now Array.isArray Function.prototype.bind String.prototype.trim Array.prototype.every Array.prototype.filter Array.prototype.forEach Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.map Array.prototype.reduce Array.prototype.reduceRight Array.prototype.some Window.polyfill.ie8 Window.prototype.base64 Window.prototype.devicePixelRatio.ie8 Window.prototype.DOMTokenList Window.prototype.Event.ie8 Window.prototype.Event.ie8.DOMContentLoaded Window.prototype.getComputedStyle.ie8 Window.prototype.matchMedia Window.prototype.viewport Window.prototype.XMLHttpRequest.ie8 Navigator.prototype.geolocation HTMLDocument.prototype.head Element.prototype.classList Element.prototype.matches Element.prototype.mutation Element.prototype.placeholder Window.polyfill.ie8.init"},{min:"9",max:"10",fill:"Window.prototype.Event Window.prototype.CustomEvent Window.prototype.scroll HTMLDocument"},{only:"9",fill:"Window.prototype.base64 Window.prototype.DOMTokenList Window.prototype.matchMedia Element.prototype.classList"},{min:"9",fill:"Element.prototype.matches.ms Element.prototype.mutation"}],Firefox:[{only:"3.6",fill:"Object.create Object.defineProperty Object.defineProperties Object.getPrototypeOf Object.keys Object.getOwnPropertyNames Array.isArray Function.prototype.bind"},{min:"3.6",max:"5",fill:"Window.prototype.Event Window.prototype.CustomEvent Window.prototype.matchMedia Window.prototype.Event.firefox5"},{min:"3.6",fill:"Element.prototype.matches.moz Element.prototype.mutation Window.prototype.Event.focus"}],Safari:[{only:"4",fill:"Array.isArray Object.create Object.defineProperty Object.defineProperties Object.getOwnPropertyNames Object.getPrototypeOf Object.keys Function.prototype.bind String.prototype.trim Window.polyfill.safari4 Window.prototype.DOMTokenList Window.prototype.Event Window.prototype.CustomEvent Window.prototype.Event.hashchange Navigator.prototype.geolocation HTMLDocument.prototype.head Element.prototype.classList"},{min:"5",max:"5.1",fill:"Function.prototype.bind"},{min:"4",max:"5",fill:"Window.prototype.matchMedia"},{min:"4",fill:"Window.prototype.devicePixelRatio.safari6 Element.prototype.matches.webkit Element.prototype.mutation"}]}},{}],31:[function(require,module,exports){module.exports={"Opera Mini":["\\sOpera\\sMini\\/(\\d+\\.?\\d*)"],"Opera Mobile":["\\sOpera\\sMobi\\/.+?Version\\/(\\d+\\.?\\d*)"],Opera:["\\sOPR\\/(\\d+\\.?\\d*)","^Opera\\/.+?Version\\/(\\d+\\.?\\d*)","\\sOpera\\s(\\d+\\.?\\d*)"],Android:["\\sAndroid\\s(\\d+\\.?\\d*)"],BlackBerry:["\\(BB\\d+\\.?\\d*;.+?\\sVersion\\/(\\d+\\.?\\d*)","\\(BlackBerry;.+?\\sVersion\\/(\\d+\\.?\\d*)"],"Chrome iOS":["\\sCriOS\\/(\\d+\\.?\\d*)"],"Safari iOS":["\\(iPad.+?\\Version\\/(\\d+\\.?\\d*).+?\\sSafari\\/","\\(iPhone.+?\\Version\\/(\\d+\\.?\\d*).+?\\sSafari\\/","iPhone\\sOS\\s(\\d+)"],Chrome:["\\sChrome\\/(\\d+\\.?\\d*)"],"Internet Explorer":["\\sTrident\\/.+?rv[:\\s](\\d+\\.?\\d*)","\\sMSIE\\s(\\d+\\.?\\d*)"],Firefox:["\\s[Ff]irefox[\\/\\s\\(\\/]?(\\d+\\.?\\d*)"],Safari:["\\sVersion\\/(\\d+\\.?\\d*).+?Safari\\/[\\d\\.]+$"]}},{}],32:[function(require,module,exports){(function(__dirname){var fs=require("fs");var join=require("path").join;exports.agent={js:require("./agent.js.json"),css:require("./agent.css.json")};exports.useragent=require("./agent.json");exports.normalize=require("./normalize.json");var source=exports.source={};var sourceFolder=join(__dirname,"source");fs.readdirSync&&fs.readdirSync(sourceFolder).forEach(function(filename){if(filename[0]===".")return;source[filename.replace(/\.js$/,"")]=fs.readFileSync(join(sourceFolder,filename),"utf8")})}).call(this,"/../node_modules/polyfill")},{"./agent.css.json":29,"./agent.js.json":30,"./agent.json":31,"./normalize.json":33,fs:21,path:23}],33:[function(require,module,exports){module.exports={"[hidden] template":"display: none","_abbr abbr[title]":"border-bottom: 1px dotted","article aside details figcaption figure footer header hgroup main nav section subhead summary":"display: block",_audio:"clip: rect(0 0 0 0); position: absolute","audio[controls] canvas video":"display: inline-block","audio:not([controls])":"height: 0","b strong":"font-weight: bold",'_button _input[type="button"] _input[type="reset"] _input[type="submit"]':"overflow: visible","button figure form input select textarea":"margin: 0","code kbd pre samp":"font-family: monospace serif; font-size: 1em","_code _kbd _pre _samp":'font-family: "Courier New" monospace',dd:"margin: 0 0 0 40px",dfn:"font-style: italic","dl h3 menu ol p _pre ul":"margin: 1em 0",h1:"font-size: 2em; margin: .67em 0",h2:"font-size: 1.5em; margin: .83em 0",h3:"font-size: 1.17em",h4:"font-size: 1em; margin: 1.33em 0",h5:"font-size: .83em; margin: 1.67em 0",h6:"font-size: .67em; margin: 2.33em 0",'_input[type="checkbox"] _input[type="radio"]':"height: 13px; width: 13px",'input[type="checkbox"] input[type="radio"]':"box-sizing: border-box; padding: 0","img legend":"border: 0",_legend:"margin-left: -7px",__legend:"white-space: normal",mark:"background: #FF0; color: #000","menu ol ul":"padding: 0 0 0 40px","-ms-placeholder":"color: #777",pre:"font-size: .9em","svg:not(:root)":"overflow: hidden",_textarea:"overflow: auto"}},{}],34:[function(require,module,exports){module.exports=function(str){return String(str).replace(/(\W)/g,"\\$1")}},{}],35:[function(require,module,exports){(function(exports){if(typeof module==="object"&&module.exports===exports)exports=module.exports=SemVer;exports.SEMVER_SPEC_VERSION="2.0.0";var re=exports.re=[];var src=exports.src=[];var R=0;var NUMERICIDENTIFIER=R++;src[NUMERICIDENTIFIER]="0|[1-9]\\d*";var NUMERICIDENTIFIERLOOSE=R++;src[NUMERICIDENTIFIERLOOSE]="[0-9]+";var NONNUMERICIDENTIFIER=R++;src[NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var MAINVERSION=R++;src[MAINVERSION]="("+src[NUMERICIDENTIFIER]+")\\."+"("+src[NUMERICIDENTIFIER]+")\\."+"("+src[NUMERICIDENTIFIER]+")";var MAINVERSIONLOOSE=R++;src[MAINVERSIONLOOSE]="("+src[NUMERICIDENTIFIERLOOSE]+")\\."+"("+src[NUMERICIDENTIFIERLOOSE]+")\\."+"("+src[NUMERICIDENTIFIERLOOSE]+")";var PRERELEASEIDENTIFIER=R++;src[PRERELEASEIDENTIFIER]="(?:"+src[NUMERICIDENTIFIER]+"|"+src[NONNUMERICIDENTIFIER]+")";var PRERELEASEIDENTIFIERLOOSE=R++;src[PRERELEASEIDENTIFIERLOOSE]="(?:"+src[NUMERICIDENTIFIERLOOSE]+"|"+src[NONNUMERICIDENTIFIER]+")";var PRERELEASE=R++;src[PRERELEASE]="(?:-("+src[PRERELEASEIDENTIFIER]+"(?:\\."+src[PRERELEASEIDENTIFIER]+")*))";var PRERELEASELOOSE=R++;src[PRERELEASELOOSE]="(?:-?("+src[PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+src[PRERELEASEIDENTIFIERLOOSE]+")*))";var BUILDIDENTIFIER=R++;src[BUILDIDENTIFIER]="[0-9A-Za-z-]+";var BUILD=R++;src[BUILD]="(?:\\+("+src[BUILDIDENTIFIER]+"(?:\\."+src[BUILDIDENTIFIER]+")*))";var FULL=R++;var FULLPLAIN="v?"+src[MAINVERSION]+src[PRERELEASE]+"?"+src[BUILD]+"?";src[FULL]="^"+FULLPLAIN+"$";var LOOSEPLAIN="[v=\\s]*"+src[MAINVERSIONLOOSE]+src[PRERELEASELOOSE]+"?"+src[BUILD]+"?";var LOOSE=R++;src[LOOSE]="^"+LOOSEPLAIN+"$";var GTLT=R++;src[GTLT]="((?:<|>)?=?)";var XRANGEIDENTIFIERLOOSE=R++;src[XRANGEIDENTIFIERLOOSE]=src[NUMERICIDENTIFIERLOOSE]+"|x|X|\\*";var XRANGEIDENTIFIER=R++;src[XRANGEIDENTIFIER]=src[NUMERICIDENTIFIER]+"|x|X|\\*";var XRANGEPLAIN=R++;src[XRANGEPLAIN]="[v=\\s]*("+src[XRANGEIDENTIFIER]+")"+"(?:\\.("+src[XRANGEIDENTIFIER]+")"+"(?:\\.("+src[XRANGEIDENTIFIER]+")"+"(?:("+src[PRERELEASE]+")"+")?)?)?";var XRANGEPLAINLOOSE=R++;src[XRANGEPLAINLOOSE]="[v=\\s]*("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:\\.("+src[XRANGEIDENTIFIERLOOSE]+")"+"(?:("+src[PRERELEASELOOSE]+")"+")?)?)?";var XRANGE=R++;src[XRANGE]="^"+src[GTLT]+"\\s*"+src[XRANGEPLAIN]+"$";var XRANGELOOSE=R++;src[XRANGELOOSE]="^"+src[GTLT]+"\\s*"+src[XRANGEPLAINLOOSE]+"$";var LONETILDE=R++;src[LONETILDE]="(?:~>?)";var TILDETRIM=R++;src[TILDETRIM]="(\\s*)"+src[LONETILDE]+"\\s+";re[TILDETRIM]=new RegExp(src[TILDETRIM],"g");var tildeTrimReplace="$1~";var TILDE=R++;src[TILDE]="^"+src[LONETILDE]+src[XRANGEPLAIN]+"$";var TILDELOOSE=R++;src[TILDELOOSE]="^"+src[LONETILDE]+src[XRANGEPLAINLOOSE]+"$";var LONECARET=R++;src[LONECARET]="(?:\\^)";var CARETTRIM=R++;src[CARETTRIM]="(\\s*)"+src[LONECARET]+"\\s+";re[CARETTRIM]=new RegExp(src[CARETTRIM],"g");var caretTrimReplace="$1^";var CARET=R++;src[CARET]="^"+src[LONECARET]+src[XRANGEPLAIN]+"$";var CARETLOOSE=R++;src[CARETLOOSE]="^"+src[LONECARET]+src[XRANGEPLAINLOOSE]+"$";var COMPARATORLOOSE=R++;src[COMPARATORLOOSE]="^"+src[GTLT]+"\\s*("+LOOSEPLAIN+")$|^$";var COMPARATOR=R++;src[COMPARATOR]="^"+src[GTLT]+"\\s*("+FULLPLAIN+")$|^$";var COMPARATORTRIM=R++;src[COMPARATORTRIM]="(\\s*)"+src[GTLT]+"\\s*("+LOOSEPLAIN+"|"+src[XRANGEPLAIN]+")";re[COMPARATORTRIM]=new RegExp(src[COMPARATORTRIM],"g");var comparatorTrimReplace="$1$2$3";var HYPHENRANGE=R++;src[HYPHENRANGE]="^\\s*("+src[XRANGEPLAIN]+")"+"\\s+-\\s+"+"("+src[XRANGEPLAIN]+")"+"\\s*$";var HYPHENRANGELOOSE=R++;src[HYPHENRANGELOOSE]="^\\s*("+src[XRANGEPLAINLOOSE]+")"+"\\s+-\\s+"+"("+src[XRANGEPLAINLOOSE]+")"+"\\s*$";var STAR=R++;src[STAR]="(<|>)?=?\\s*\\*";for(var i=0;i<R;i++){if(!re[i])re[i]=new RegExp(src[i])}exports.parse=parse;function parse(version,loose){var r=loose?re[LOOSE]:re[FULL];return r.test(version)?new SemVer(version,loose):null}exports.valid=valid;function valid(version,loose){var v=parse(version,loose);return v?v.version:null}exports.clean=clean;function clean(version,loose){var s=parse(version,loose);return s?s.version:null}exports.SemVer=SemVer;function SemVer(version,loose){if(version instanceof SemVer){if(version.loose===loose)return version;else version=version.version}if(!(this instanceof SemVer))return new SemVer(version,loose);this.loose=loose;var m=version.trim().match(loose?re[LOOSE]:re[FULL]);if(!m)throw new TypeError("Invalid Version: "+version);this.raw=version;this.major=+m[1];this.minor=+m[2];this.patch=+m[3];if(!m[4])this.prerelease=[];else this.prerelease=m[4].split(".").map(function(id){return/^[0-9]+$/.test(id)?+id:id});this.build=m[5]?m[5].split("."):[];this.format()}SemVer.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};SemVer.prototype.inspect=function(){return'<SemVer "'+this+'">'};SemVer.prototype.toString=function(){return this.version};SemVer.prototype.compare=function(other){if(!(other instanceof SemVer))other=new SemVer(other,this.loose);return this.compareMain(other)||this.comparePre(other)};SemVer.prototype.compareMain=function(other){if(!(other instanceof SemVer))other=new SemVer(other,this.loose);return compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch)};SemVer.prototype.comparePre=function(other){if(!(other instanceof SemVer))other=new SemVer(other,this.loose);if(this.prerelease.length&&!other.prerelease.length)return-1;else if(!this.prerelease.length&&other.prerelease.length)return 1;else if(!this.prerelease.lenth&&!other.prerelease.length)return 0;var i=0;do{var a=this.prerelease[i];var b=other.prerelease[i];if(a===undefined&&b===undefined)return 0;else if(b===undefined)return 1;else if(a===undefined)return-1;else if(a===b)continue;else return compareIdentifiers(a,b)}while(++i)};SemVer.prototype.inc=function(release){switch(release){case"major":this.major++;
this.minor=-1;case"minor":this.minor++;this.patch=-1;case"patch":this.patch++;this.prerelease=[];break;case"prerelease":if(this.prerelease.length===0)this.prerelease=[0];else{var i=this.prerelease.length;while(--i>=0){if(typeof this.prerelease[i]==="number"){this.prerelease[i]++;i=-2}}if(i===-1)this.prerelease.push(0)}break;default:throw new Error("invalid increment argument: "+release)}this.format();return this};exports.inc=inc;function inc(version,release,loose){try{return new SemVer(version,loose).inc(release).version}catch(er){return null}}exports.compareIdentifiers=compareIdentifiers;var numeric=/^[0-9]+$/;function compareIdentifiers(a,b){var anum=numeric.test(a);var bnum=numeric.test(b);if(anum&&bnum){a=+a;b=+b}return anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:a>b?1:0}exports.rcompareIdentifiers=rcompareIdentifiers;function rcompareIdentifiers(a,b){return compareIdentifiers(b,a)}exports.compare=compare;function compare(a,b,loose){return new SemVer(a,loose).compare(b)}exports.compareLoose=compareLoose;function compareLoose(a,b){return compare(a,b,true)}exports.rcompare=rcompare;function rcompare(a,b,loose){return compare(b,a,loose)}exports.sort=sort;function sort(list,loose){return list.sort(function(a,b){return exports.compare(a,b,loose)})}exports.rsort=rsort;function rsort(list,loose){return list.sort(function(a,b){return exports.rcompare(a,b,loose)})}exports.gt=gt;function gt(a,b,loose){return compare(a,b,loose)>0}exports.lt=lt;function lt(a,b,loose){return compare(a,b,loose)<0}exports.eq=eq;function eq(a,b,loose){return compare(a,b,loose)===0}exports.neq=neq;function neq(a,b,loose){return compare(a,b,loose)!==0}exports.gte=gte;function gte(a,b,loose){return compare(a,b,loose)>=0}exports.lte=lte;function lte(a,b,loose){return compare(a,b,loose)<=0}exports.cmp=cmp;function cmp(a,op,b,loose){var ret;switch(op){case"===":ret=a===b;break;case"!==":ret=a!==b;break;case"":case"=":case"==":ret=eq(a,b,loose);break;case"!=":ret=neq(a,b,loose);break;case">":ret=gt(a,b,loose);break;case">=":ret=gte(a,b,loose);break;case"<":ret=lt(a,b,loose);break;case"<=":ret=lte(a,b,loose);break;default:throw new TypeError("Invalid operator: "+op)}return ret}exports.Comparator=Comparator;function Comparator(comp,loose){if(comp instanceof Comparator){if(comp.loose===loose)return comp;else comp=comp.value}if(!(this instanceof Comparator))return new Comparator(comp,loose);this.loose=loose;this.parse(comp);if(this.semver===ANY)this.value="";else this.value=this.operator+this.semver.version}var ANY={};Comparator.prototype.parse=function(comp){var r=this.loose?re[COMPARATORLOOSE]:re[COMPARATOR];var m=comp.match(r);if(!m)throw new TypeError("Invalid comparator: "+comp);this.operator=m[1];if(!m[2])this.semver=ANY;else{this.semver=new SemVer(m[2],this.loose);if(this.operator==="<"&&!this.semver.prerelease.length){this.semver.prerelease=["0"];this.semver.format()}}};Comparator.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};Comparator.prototype.toString=function(){return this.value};Comparator.prototype.test=function(version){return this.semver===ANY?true:cmp(version,this.operator,this.semver,this.loose)};exports.Range=Range;function Range(range,loose){if(range instanceof Range&&range.loose===loose)return range;if(!(this instanceof Range))return new Range(range,loose);this.loose=loose;this.raw=range;this.set=range.split(/\s*\|\|\s*/).map(function(range){return this.parseRange(range.trim())},this).filter(function(c){return c.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+range)}this.format()}Range.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};Range.prototype.format=function(){this.range=this.set.map(function(comps){return comps.join(" ").trim()}).join("||").trim();return this.range};Range.prototype.toString=function(){return this.range};Range.prototype.parseRange=function(range){var loose=this.loose;range=range.trim();var hr=loose?re[HYPHENRANGELOOSE]:re[HYPHENRANGE];range=range.replace(hr,hyphenReplace);range=range.replace(re[COMPARATORTRIM],comparatorTrimReplace);range=range.replace(re[TILDETRIM],tildeTrimReplace);range=range.replace(re[CARETTRIM],caretTrimReplace);range=range.split(/\s+/).join(" ");var compRe=loose?re[COMPARATORLOOSE]:re[COMPARATOR];var set=range.split(" ").map(function(comp){return parseComparator(comp,loose)}).join(" ").split(/\s+/);if(this.loose){set=set.filter(function(comp){return!!comp.match(compRe)})}set=set.map(function(comp){return new Comparator(comp,loose)});return set};exports.toComparators=toComparators;function toComparators(range,loose){return new Range(range,loose).set.map(function(comp){return comp.map(function(c){return c.value}).join(" ").trim().split(" ")})}function parseComparator(comp,loose){comp=replaceCarets(comp,loose);comp=replaceTildes(comp,loose);comp=replaceXRanges(comp,loose);comp=replaceStars(comp,loose);return comp}function isX(id){return!id||id.toLowerCase()==="x"||id==="*"}function replaceTildes(comp,loose){return comp.trim().split(/\s+/).map(function(comp){return replaceTilde(comp,loose)}).join(" ")}function replaceTilde(comp,loose){var r=loose?re[TILDELOOSE]:re[TILDE];return comp.replace(r,function(_,M,m,p,pr){var ret;if(isX(M))ret="";else if(isX(m))ret=">="+M+".0.0-0 <"+(+M+1)+".0.0-0";else if(isX(p))ret=">="+M+"."+m+".0-0 <"+M+"."+(+m+1)+".0-0";else if(pr){if(pr.charAt(0)!=="-")pr="-"+pr;ret=">="+M+"."+m+"."+p+pr+" <"+M+"."+(+m+1)+".0-0"}else ret=">="+M+"."+m+"."+p+"-0"+" <"+M+"."+(+m+1)+".0-0";return ret})}function replaceCarets(comp,loose){return comp.trim().split(/\s+/).map(function(comp){return replaceCaret(comp,loose)}).join(" ")}function replaceCaret(comp,loose){var r=loose?re[CARETLOOSE]:re[CARET];return comp.replace(r,function(_,M,m,p,pr){var ret;if(isX(M))ret="";else if(isX(m))ret=">="+M+".0.0-0 <"+(+M+1)+".0.0-0";else if(isX(p)){if(M==="0")ret=">="+M+"."+m+".0-0 <"+M+"."+(+m+1)+".0-0";else ret=">="+M+"."+m+".0-0 <"+(+M+1)+".0.0-0"}else if(pr){if(pr.charAt(0)!=="-")pr="-"+pr;if(M==="0"){if(m==="0")ret="="+M+"."+m+"."+p+pr;else ret=">="+M+"."+m+"."+p+pr+" <"+M+"."+(+m+1)+".0-0"}else ret=">="+M+"."+m+"."+p+pr+" <"+(+M+1)+".0.0-0"}else{if(M==="0"){if(m==="0")ret="="+M+"."+m+"."+p;else ret=">="+M+"."+m+"."+p+"-0"+" <"+M+"."+(+m+1)+".0-0"}else ret=">="+M+"."+m+"."+p+"-0"+" <"+(+M+1)+".0.0-0"}return ret})}function replaceXRanges(comp,loose){return comp.split(/\s+/).map(function(comp){return replaceXRange(comp,loose)}).join(" ")}function replaceXRange(comp,loose){comp=comp.trim();var r=loose?re[XRANGELOOSE]:re[XRANGE];return comp.replace(r,function(ret,gtlt,M,m,p,pr){var xM=isX(M);var xm=xM||isX(m);var xp=xm||isX(p);var anyX=xp;if(gtlt==="="&&anyX)gtlt="";if(gtlt&&anyX){if(xM)M=0;if(xm)m=0;if(xp)p=0;if(gtlt===">"){gtlt=">=";if(xM){}else if(xm){M=+M+1;m=0;p=0}else if(xp){m=+m+1;p=0}}ret=gtlt+M+"."+m+"."+p+"-0"}else if(xM){ret="*"}else if(xm){ret=">="+M+".0.0-0 <"+(+M+1)+".0.0-0"}else if(xp){ret=">="+M+"."+m+".0-0 <"+M+"."+(+m+1)+".0-0"}return ret})}function replaceStars(comp,loose){return comp.trim().replace(re[STAR],"")}function hyphenReplace($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr,tb){if(isX(fM))from="";else if(isX(fm))from=">="+fM+".0.0-0";else if(isX(fp))from=">="+fM+"."+fm+".0-0";else from=">="+from;if(isX(tM))to="";else if(isX(tm))to="<"+(+tM+1)+".0.0-0";else if(isX(tp))to="<"+tM+"."+(+tm+1)+".0-0";else if(tpr)to="<="+tM+"."+tm+"."+tp+"-"+tpr;else to="<="+to;return(from+" "+to).trim()}Range.prototype.test=function(version){if(!version)return false;for(var i=0;i<this.set.length;i++){if(testSet(this.set[i],version))return true}return false};function testSet(set,version){for(var i=0;i<set.length;i++){if(!set[i].test(version))return false}return true}exports.satisfies=satisfies;function satisfies(version,range,loose){try{range=new Range(range,loose)}catch(er){return false}return range.test(version)}exports.maxSatisfying=maxSatisfying;function maxSatisfying(versions,range,loose){return versions.filter(function(version){return satisfies(version,range,loose)}).sort(function(a,b){return rcompare(a,b,loose)})[0]||null}exports.validRange=validRange;function validRange(range,loose){try{return new Range(range,loose).range||"*"}catch(er){return null}}exports.ltr=ltr;function ltr(version,range,loose){return outside(version,range,"<",loose)}exports.gtr=gtr;function gtr(version,range,loose){return outside(version,range,">",loose)}exports.outside=outside;function outside(version,range,hilo,loose){version=new SemVer(version,loose);range=new Range(range,loose);var gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt;ltefn=lte;ltfn=lt;comp=">";ecomp=">=";break;case"<":gtfn=lt;ltefn=gte;ltfn=gt;comp="<";ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies(version,range,loose)){return false}for(var i=0;i<range.set.length;++i){var comparators=range.set[i];var high=null;var low=null;comparators.forEach(function(comparator){high=high||comparator;low=low||comparator;if(gtfn(comparator.semver,high.semver,loose)){high=comparator}else if(ltfn(comparator.semver,low.semver,loose)){low=comparator}});if(high.operator===comp||high.operator===ecomp){return false}if((!low.operator||low.operator===comp)&&ltefn(version,low.semver)){return false}else if(low.operator===ecomp&&ltfn(version,low.semver)){return false}}return true}if(typeof define==="function"&&define.amd)define(exports)})(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={})},{}]},{},[1]);