Skip to content

Instantly share code, notes, and snippets.

@cjavad
Created May 26, 2020 00:15
Show Gist options
  • Save cjavad/042f302b67d2b44b87b9389da44d1b5b to your computer and use it in GitHub Desktop.
Save cjavad/042f302b67d2b44b87b9389da44d1b5b to your computer and use it in GitHub Desktop.
node-xml2js 1832e0b6b2de30a5e326d1cf21708cd32305a538 browerified and minified. https://github.com/Leonidas-from-XIV/node-xml2js/issues/277
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.xml2js=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){(function(){"use strict";exports.stripBOM=function(str){if(str[0]==="\ufeff"){return str.substring(1)}else{return str}}}).call(this)},{}],2:[function(require,module,exports){(function(){"use strict";var builder,defaults,escapeCDATA,requiresCDATA,wrapCDATA,hasProp={}.hasOwnProperty;builder=require("xmlbuilder");defaults=require("./defaults").defaults;requiresCDATA=function(entry){return typeof entry==="string"&&(entry.indexOf("&")>=0||entry.indexOf(">")>=0||entry.indexOf("<")>=0)};wrapCDATA=function(entry){return"<![CDATA["+escapeCDATA(entry)+"]]>"};escapeCDATA=function(entry){return entry.replace("]]>","]]]]><![CDATA[>")};exports.Builder=function(){function Builder(opts){var key,ref,value;this.options={};ref=defaults["0.2"];for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this.options[key]=value}for(key in opts){if(!hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}}Builder.prototype.buildObject=function(rootObj){var attrkey,charkey,render,rootElement,rootName;attrkey=this.options.attrkey;charkey=this.options.charkey;if(Object.keys(rootObj).length===1&&this.options.rootName===defaults["0.2"].rootName){rootName=Object.keys(rootObj)[0];rootObj=rootObj[rootName]}else{rootName=this.options.rootName}render=function(_this){return function(element,obj){var attr,child,entry,index,key,value;if(typeof obj!=="object"){if(_this.options.cdata&&requiresCDATA(obj)){element.raw(wrapCDATA(obj))}else{element.txt(obj)}}else if(Array.isArray(obj)){for(index in obj){if(!hasProp.call(obj,index))continue;child=obj[index];for(key in child){entry=child[key];element=render(element.ele(key),entry).up()}}}else{for(key in obj){if(!hasProp.call(obj,key))continue;child=obj[key];if(key===attrkey){if(typeof child==="object"){for(attr in child){value=child[attr];element=element.att(attr,value)}}}else if(key===charkey){if(_this.options.cdata&&requiresCDATA(child)){element=element.raw(wrapCDATA(child))}else{element=element.txt(child)}}else if(Array.isArray(child)){for(index in child){if(!hasProp.call(child,index))continue;entry=child[index];if(typeof entry==="string"){if(_this.options.cdata&&requiresCDATA(entry)){element=element.ele(key).raw(wrapCDATA(entry)).up()}else{element=element.ele(key,entry).up()}}else{element=render(element.ele(key),entry).up()}}}else if(typeof child==="object"){element=render(element.ele(key),child).up()}else{if(typeof child==="string"&&_this.options.cdata&&requiresCDATA(child)){element=element.ele(key).raw(wrapCDATA(child)).up()}else{if(child==null){child=""}element=element.ele(key,child.toString()).up()}}}}return element}}(this);rootElement=builder.create(rootName,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars});return render(rootElement,rootObj).end(this.options.renderOpts)};return Builder}()}).call(this)},{"./defaults":3,xmlbuilder:40}],3:[function(require,module,exports){(function(){exports.defaults={.1:{explicitCharkey:false,trim:true,normalize:true,normalizeTags:false,attrkey:"@",charkey:"#",explicitArray:false,ignoreAttrs:false,mergeAttrs:false,explicitRoot:false,validator:null,xmlns:false,explicitChildren:false,childkey:"@@",charsAsChildren:false,includeWhiteChars:false,async:false,strict:true,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:false,trim:false,normalize:false,normalizeTags:false,attrkey:"$",charkey:"_",explicitArray:true,ignoreAttrs:false,mergeAttrs:false,explicitRoot:true,validator:null,xmlns:false,explicitChildren:false,preserveChildrenOrder:false,childkey:"$$",charsAsChildren:false,includeWhiteChars:false,async:false,strict:true,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:true},doctype:null,renderOpts:{pretty:true,indent:" ",newline:"\n"},headless:false,chunkSize:1e4,emptyTag:"",cdata:false}}}).call(this)},{}],4:[function(require,module,exports){(function(){"use strict";var bom,defaults,events,isEmpty,processItem,processors,sax,setImmediate,bind=function(fn,me){return function(){return fn.apply(me,arguments)}},extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;sax=require("sax");events=require("events");bom=require("./bom");processors=require("./processors");setImmediate=require("timers").setImmediate;defaults=require("./defaults").defaults;isEmpty=function(thing){return typeof thing==="object"&&thing!=null&&Object.keys(thing).length===0};processItem=function(processors,item,key){var i,len,process;for(i=0,len=processors.length;i<len;i++){process=processors[i];item=process(item,key)}return item};exports.Parser=function(superClass){extend(Parser,superClass);function Parser(opts){this.parseStringPromise=bind(this.parseStringPromise,this);this.parseString=bind(this.parseString,this);this.reset=bind(this.reset,this);this.assignOrPush=bind(this.assignOrPush,this);this.processAsync=bind(this.processAsync,this);var key,ref,value;if(!(this instanceof exports.Parser)){return new exports.Parser(opts)}this.options={};ref=defaults["0.2"];for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this.options[key]=value}for(key in opts){if(!hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}if(this.options.xmlns){this.options.xmlnskey=this.options.attrkey+"ns"}if(this.options.normalizeTags){if(!this.options.tagNameProcessors){this.options.tagNameProcessors=[]}this.options.tagNameProcessors.unshift(processors.normalize)}this.reset()}Parser.prototype.processAsync=function(){var chunk,err;try{if(this.remaining.length<=this.options.chunkSize){chunk=this.remaining;this.remaining="";this.saxParser=this.saxParser.write(chunk);return this.saxParser.close()}else{chunk=this.remaining.substr(0,this.options.chunkSize);this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length);this.saxParser=this.saxParser.write(chunk);return setImmediate(this.processAsync)}}catch(error1){err=error1;if(!this.saxParser.errThrown){this.saxParser.errThrown=true;return this.emit(err)}}};Parser.prototype.assignOrPush=function(obj,key,newValue){if(!(key in obj)){if(!this.options.explicitArray){return obj[key]=newValue}else{return obj[key]=[newValue]}}else{if(!(obj[key]instanceof Array)){obj[key]=[obj[key]]}return obj[key].push(newValue)}};Parser.prototype.reset=function(){var attrkey,charkey,ontext,stack;this.removeAllListeners();this.saxParser=sax.parser(this.options.strict,{trim:false,normalize:false,xmlns:this.options.xmlns});this.saxParser.errThrown=false;this.saxParser.onerror=function(_this){return function(error){_this.saxParser.resume();if(!_this.saxParser.errThrown){_this.saxParser.errThrown=true;return _this.emit("error",error)}}}(this);this.saxParser.onend=function(_this){return function(){if(!_this.saxParser.ended){_this.saxParser.ended=true;return _this.emit("end",_this.resultObject)}}}(this);this.saxParser.ended=false;this.EXPLICIT_CHARKEY=this.options.explicitCharkey;this.resultObject=null;stack=[];attrkey=this.options.attrkey;charkey=this.options.charkey;this.saxParser.onopentag=function(_this){return function(node){var key,newValue,obj,processedKey,ref;obj={};obj[charkey]="";if(!_this.options.ignoreAttrs){ref=node.attributes;for(key in ref){if(!hasProp.call(ref,key))continue;if(!(attrkey in obj)&&!_this.options.mergeAttrs){obj[attrkey]={}}newValue=_this.options.attrValueProcessors?processItem(_this.options.attrValueProcessors,node.attributes[key],key):node.attributes[key];processedKey=_this.options.attrNameProcessors?processItem(_this.options.attrNameProcessors,key):key;if(_this.options.mergeAttrs){_this.assignOrPush(obj,processedKey,newValue)}else{obj[attrkey][processedKey]=newValue}}}obj["#name"]=_this.options.tagNameProcessors?processItem(_this.options.tagNameProcessors,node.name):node.name;if(_this.options.xmlns){obj[_this.options.xmlnskey]={uri:node.uri,local:node.local}}return stack.push(obj)}}(this);this.saxParser.onclosetag=function(_this){return function(){var cdata,emptyStr,key,node,nodeName,obj,objClone,old,s,xpath;obj=stack.pop();nodeName=obj["#name"];if(!_this.options.explicitChildren||!_this.options.preserveChildrenOrder){delete obj["#name"]}if(obj.cdata===true){cdata=obj.cdata;delete obj.cdata}s=stack[stack.length-1];if(obj[charkey].match(/^\s*$/)&&!cdata){emptyStr=obj[charkey];delete obj[charkey]}else{if(_this.options.trim){obj[charkey]=obj[charkey].trim()}if(_this.options.normalize){obj[charkey]=obj[charkey].replace(/\s{2,}/g," ").trim()}obj[charkey]=_this.options.valueProcessors?processItem(_this.options.valueProcessors,obj[charkey],nodeName):obj[charkey];if(Object.keys(obj).length===1&&charkey in obj&&!_this.EXPLICIT_CHARKEY){obj=obj[charkey]}}if(isEmpty(obj)){if(typeof _this.options.emptyTag==="function"){obj=_this.options.emptyTag()}else{obj=_this.options.emptyTag!==""?_this.options.emptyTag:emptyStr}}if(_this.options.validator!=null){xpath="/"+function(){var i,len,results;results=[];for(i=0,len=stack.length;i<len;i++){node=stack[i];results.push(node["#name"])}return results}().concat(nodeName).join("/");(function(){var err;try{return obj=_this.options.validator(xpath,s&&s[nodeName],obj)}catch(error1){err=error1;return _this.emit("error",err)}})()}if(_this.options.explicitChildren&&!_this.options.mergeAttrs&&typeof obj==="object"){if(!_this.options.preserveChildrenOrder){node={};if(_this.options.attrkey in obj){node[_this.options.attrkey]=obj[_this.options.attrkey];delete obj[_this.options.attrkey]}if(!_this.options.charsAsChildren&&_this.options.charkey in obj){node[_this.options.charkey]=obj[_this.options.charkey];delete obj[_this.options.charkey]}if(Object.getOwnPropertyNames(obj).length>0){node[_this.options.childkey]=obj}obj=node}else if(s){s[_this.options.childkey]=s[_this.options.childkey]||[];objClone={};for(key in obj){if(!hasProp.call(obj,key))continue;objClone[key]=obj[key]}s[_this.options.childkey].push(objClone);delete obj["#name"];if(Object.keys(obj).length===1&&charkey in obj&&!_this.EXPLICIT_CHARKEY){obj=obj[charkey]}}}if(stack.length>0){return _this.assignOrPush(s,nodeName,obj)}else{if(_this.options.explicitRoot){old=obj;obj={};obj[nodeName]=old}_this.resultObject=obj;_this.saxParser.ended=true;return _this.emit("end",_this.resultObject)}}}(this);ontext=function(_this){return function(text){var charChild,s;s=stack[stack.length-1];if(s){s[charkey]+=text;if(_this.options.explicitChildren&&_this.options.preserveChildrenOrder&&_this.options.charsAsChildren&&(_this.options.includeWhiteChars||text.replace(/\\n/g,"").trim()!=="")){s[_this.options.childkey]=s[_this.options.childkey]||[];charChild={"#name":"__text__"};charChild[charkey]=text;if(_this.options.normalize){charChild[charkey]=charChild[charkey].replace(/\s{2,}/g," ").trim()}s[_this.options.childkey].push(charChild)}return s}}}(this);this.saxParser.ontext=ontext;return this.saxParser.oncdata=function(_this){return function(text){var s;s=ontext(text);if(s){return s.cdata=true}}}(this)};Parser.prototype.parseString=function(str,cb){var err;if(cb!=null&&typeof cb==="function"){this.on("end",function(result){this.reset();return cb(null,result)});this.on("error",function(err){this.reset();return cb(err)})}try{str=str.toString();if(str.trim()===""){this.emit("end",null);return true}str=bom.stripBOM(str);if(this.options.async){this.remaining=str;setImmediate(this.processAsync);return this.saxParser}return this.saxParser.write(str).close()}catch(error1){err=error1;if(!(this.saxParser.errThrown||this.saxParser.ended)){this.emit("error",err);return this.saxParser.errThrown=true}else if(this.saxParser.ended){throw err}}};Parser.prototype.parseStringPromise=function(str){return new Promise(function(_this){return function(resolve,reject){return _this.parseString(str,function(err,value){if(err){return reject(err)}else{return resolve(value)}})}}(this))};return Parser}(events);exports.parseString=function(str,a,b){var cb,options,parser;if(b!=null){if(typeof b==="function"){cb=b}if(typeof a==="object"){options=a}}else{if(typeof a==="function"){cb=a}options={}}parser=new exports.Parser(options);return parser.parseString(str,cb)};exports.parseStringPromise=function(str,a){var options,parser;if(typeof a==="object"){options=a}parser=new exports.Parser(options);return parser.parseStringPromise(str)}}).call(this)},{"./bom":1,"./defaults":3,"./processors":5,events:45,sax:7,timers:70}],5:[function(require,module,exports){(function(){"use strict";var prefixMatch;prefixMatch=new RegExp(/(?!xmlns)^.*:/);exports.normalize=function(str){return str.toLowerCase()};exports.firstCharLowerCase=function(str){return str.charAt(0).toLowerCase()+str.slice(1)};exports.stripPrefix=function(str){return str.replace(prefixMatch,"")};exports.parseNumbers=function(str){if(!isNaN(str)){str=str%1===0?parseInt(str,10):parseFloat(str)}return str};exports.parseBooleans=function(str){if(/^(?:true|false)$/i.test(str)){str=str.toLowerCase()==="true"}return str}}).call(this)},{}],6:[function(require,module,exports){(function(){"use strict";var builder,defaults,parser,processors,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;defaults=require("./defaults");builder=require("./builder");parser=require("./parser");processors=require("./processors");exports.defaults=defaults.defaults;exports.processors=processors;exports.ValidationError=function(superClass){extend(ValidationError,superClass);function ValidationError(message){this.message=message}return ValidationError}(Error);exports.Builder=builder.Builder;exports.Parser=parser.Parser;exports.parseString=parser.parseString;exports.parseStringPromise=parser.parseStringPromise}).call(this)},{"./builder":2,"./defaults":3,"./parser":4,"./processors":5}],7:[function(require,module,exports){(function(Buffer){(function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)};sax.SAXParser=SAXParser;sax.SAXStream=SAXStream;sax.createStream=createStream;sax.MAX_BUFFER_LENGTH=64*1024;var buffers=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];sax.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function SAXParser(strict,opt){if(!(this instanceof SAXParser)){return new SAXParser(strict,opt)}var parser=this;clearBuffers(parser);parser.q=parser.c="";parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH;parser.opt=opt||{};parser.opt.lowercase=parser.opt.lowercase||parser.opt.lowercasetags;parser.looseCase=parser.opt.lowercase?"toLowerCase":"toUpperCase";parser.tags=[];parser.closed=parser.closedRoot=parser.sawRoot=false;parser.tag=parser.error=null;parser.strict=!!strict;parser.noscript=!!(strict||parser.opt.noscript);parser.state=S.BEGIN;parser.strictEntities=parser.opt.strictEntities;parser.ENTITIES=parser.strictEntities?Object.create(sax.XML_ENTITIES):Object.create(sax.ENTITIES);parser.attribList=[];if(parser.opt.xmlns){parser.ns=Object.create(rootNS)}parser.trackPosition=parser.opt.position!==false;if(parser.trackPosition){parser.position=parser.line=parser.column=0}emit(parser,"onready")}if(!Object.create){Object.create=function(o){function F(){}F.prototype=o;var newf=new F;return newf}}if(!Object.keys){Object.keys=function(o){var a=[];for(var i in o)if(o.hasOwnProperty(i))a.push(i);return a}}function checkBufferLength(parser){var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10);var maxActual=0;for(var i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length;if(len>maxAllowed){switch(buffers[i]){case"textNode":closeText(parser);break;case"cdata":emitNode(parser,"oncdata",parser.cdata);parser.cdata="";break;case"script":emitNode(parser,"onscript",parser.script);parser.script="";break;default:error(parser,"Max buffer length exceeded: "+buffers[i])}}maxActual=Math.max(maxActual,len)}var m=sax.MAX_BUFFER_LENGTH-maxActual;parser.bufferCheckPosition=m+parser.position}function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++){parser[buffers[i]]=""}}function flushBuffers(parser){closeText(parser);if(parser.cdata!==""){emitNode(parser,"oncdata",parser.cdata);parser.cdata=""}if(parser.script!==""){emitNode(parser,"onscript",parser.script);parser.script=""}}SAXParser.prototype={end:function(){end(this)},write:write,resume:function(){this.error=null;return this},close:function(){return this.write(null)},flush:function(){flushBuffers(this)}};var Stream;try{Stream=require("stream").Stream}catch(ex){Stream=function(){}}var streamWraps=sax.EVENTS.filter(function(ev){return ev!=="error"&&ev!=="end"});function createStream(strict,opt){return new SAXStream(strict,opt)}function SAXStream(strict,opt){if(!(this instanceof SAXStream)){return new SAXStream(strict,opt)}Stream.apply(this);this._parser=new SAXParser(strict,opt);this.writable=true;this.readable=true;var me=this;this._parser.onend=function(){me.emit("end")};this._parser.onerror=function(er){me.emit("error",er);me._parser.error=null};this._decoder=null;streamWraps.forEach(function(ev){Object.defineProperty(me,"on"+ev,{get:function(){return me._parser["on"+ev]},set:function(h){if(!h){me.removeAllListeners(ev);me._parser["on"+ev]=h;return h}me.on(ev,h)},enumerable:true,configurable:false})})}SAXStream.prototype=Object.create(Stream.prototype,{constructor:{value:SAXStream}});SAXStream.prototype.write=function(data){if(typeof Buffer==="function"&&typeof Buffer.isBuffer==="function"&&Buffer.isBuffer(data)){if(!this._decoder){var SD=require("string_decoder").StringDecoder;this._decoder=new SD("utf8")}data=this._decoder.write(data)}this._parser.write(data.toString());this.emit("data",data);return true};SAXStream.prototype.end=function(chunk){if(chunk&&chunk.length){this.write(chunk)}this._parser.end();return true};SAXStream.prototype.on=function(ev,handler){var me=this;if(!me._parser["on"+ev]&&streamWraps.indexOf(ev)!==-1){me._parser["on"+ev]=function(){var args=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);args.splice(0,0,ev);me.emit.apply(me,args)}}return Stream.prototype.on.call(me,ev,handler)};var CDATA="[CDATA[";var DOCTYPE="DOCTYPE";var XML_NAMESPACE="http://www.w3.org/XML/1998/namespace";var XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/";var rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE};var nameStart=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var nameBody=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;var entityStart=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var entityBody=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function isWhitespace(c){return c===" "||c==="\n"||c==="\r"||c==="\t"}function isQuote(c){return c==='"'||c==="'"}function isAttribEnd(c){return c===">"||isWhitespace(c)}function isMatch(regex,c){return regex.test(c)}function notMatch(regex,c){return!isMatch(regex,c)}var S=0;sax.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++};sax.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};sax.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(sax.ENTITIES).forEach(function(key){var e=sax.ENTITIES[key];var s=typeof e==="number"?String.fromCharCode(e):e;sax.ENTITIES[key]=s});for(var s in sax.STATE){sax.STATE[sax.STATE[s]]=s}S=sax.STATE;function emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){if(parser.textNode)closeText(parser);emit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode);if(parser.textNode)emit(parser,"ontext",parser.textNode);parser.textNode=""}function textopts(opt,text){if(opt.trim)text=text.trim();if(opt.normalize)text=text.replace(/\s+/g," ");return text}function error(parser,er){closeText(parser);if(parser.trackPosition){er+="\nLine: "+parser.line+"\nColumn: "+parser.column+"\nChar: "+parser.c}er=new Error(er);parser.error=er;emit(parser,"onerror",er);return parser}function end(parser){if(parser.sawRoot&&!parser.closedRoot)strictFail(parser,"Unclosed root tag");if(parser.state!==S.BEGIN&&parser.state!==S.BEGIN_WHITESPACE&&parser.state!==S.TEXT){error(parser,"Unexpected end")}closeText(parser);parser.c="";parser.closed=true;emit(parser,"onend");SAXParser.call(parser,parser.strict,parser.opt);return parser}function strictFail(parser,message){if(typeof parser!=="object"||!(parser instanceof SAXParser)){throw new Error("bad call to strictFail")}if(parser.strict){error(parser,message)}}function newTag(parser){if(!parser.strict)parser.tagName=parser.tagName[parser.looseCase]();var parent=parser.tags[parser.tags.length-1]||parser;var tag=parser.tag={name:parser.tagName,attributes:{}};if(parser.opt.xmlns){tag.ns=parent.ns}parser.attribList.length=0;emitNode(parser,"onopentagstart",tag)}function qname(name,attribute){var i=name.indexOf(":");var qualName=i<0?["",name]:name.split(":");var prefix=qualName[0];var local=qualName[1];if(attribute&&name==="xmlns"){prefix="xmlns";local=""}return{prefix:prefix,local:local}}function attrib(parser){if(!parser.strict){parser.attribName=parser.attribName[parser.looseCase]()}if(parser.attribList.indexOf(parser.attribName)!==-1||parser.tag.attributes.hasOwnProperty(parser.attribName)){parser.attribName=parser.attribValue="";return}if(parser.opt.xmlns){var qn=qname(parser.attribName,true);var prefix=qn.prefix;var local=qn.local;if(prefix==="xmlns"){if(local==="xml"&&parser.attribValue!==XML_NAMESPACE){strictFail(parser,"xml: prefix must be bound to "+XML_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else if(local==="xmlns"&&parser.attribValue!==XMLNS_NAMESPACE){strictFail(parser,"xmlns: prefix must be bound to "+XMLNS_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else{var tag=parser.tag;var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns===parent.ns){tag.ns=Object.create(parent.ns)}tag.ns[local]=parser.attribValue}}parser.attribList.push([parser.attribName,parser.attribValue])}else{parser.tag.attributes[parser.attribName]=parser.attribValue;emitNode(parser,"onattribute",{name:parser.attribName,value:parser.attribValue})}parser.attribName=parser.attribValue=""}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag;var qn=qname(parser.tagName);tag.prefix=qn.prefix;tag.local=qn.local;tag.uri=tag.ns[qn.prefix]||"";if(tag.prefix&&!tag.uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(parser.tagName));tag.uri=qn.prefix}var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns&&parent.ns!==tag.ns){Object.keys(tag.ns).forEach(function(p){emitNode(parser,"onopennamespace",{prefix:p,uri:tag.ns[p]})})}for(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i];var name=nv[0];var value=nv[1];var qualName=qname(name,true);var prefix=qualName.prefix;var local=qualName.local;var uri=prefix===""?"":tag.ns[prefix]||"";var a={name:name,value:value,prefix:prefix,local:local,uri:uri};if(prefix&&prefix!=="xmlns"&&!uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(prefix));a.uri=prefix}parser.tag.attributes[name]=a;emitNode(parser,"onattribute",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing;parser.sawRoot=true;parser.tags.push(parser.tag);emitNode(parser,"onopentag",parser.tag);if(!selfClosing){if(!parser.noscript&&parser.tagName.toLowerCase()==="script"){parser.state=S.SCRIPT}else{parser.state=S.TEXT}parser.tag=null;parser.tagName=""}parser.attribName=parser.attribValue="";parser.attribList.length=0}function closeTag(parser){if(!parser.tagName){strictFail(parser,"Weird empty close tag.");parser.textNode+="</>";parser.state=S.TEXT;return}if(parser.script){if(parser.tagName!=="script"){parser.script+="</"+parser.tagName+">";parser.tagName="";parser.state=S.SCRIPT;return}emitNode(parser,"onscript",parser.script);parser.script=""}var t=parser.tags.length;var tagName=parser.tagName;if(!parser.strict){tagName=tagName[parser.looseCase]()}var closeTo=tagName;while(t--){var close=parser.tags[t];if(close.name!==closeTo){strictFail(parser,"Unexpected close tag")}else{break}}if(t<0){strictFail(parser,"Unmatched closing tag: "+parser.tagName);parser.textNode+="</"+parser.tagName+">";parser.state=S.TEXT;return}parser.tagName=tagName;var s=parser.tags.length;while(s-- >t){var tag=parser.tag=parser.tags.pop();parser.tagName=parser.tag.name;emitNode(parser,"onclosetag",parser.tagName);var x={};for(var i in tag.ns){x[i]=tag.ns[i]}var parent=parser.tags[parser.tags.length-1]||parser;if(parser.opt.xmlns&&tag.ns!==parent.ns){Object.keys(tag.ns).forEach(function(p){var n=tag.ns[p];emitNode(parser,"onclosenamespace",{prefix:p,uri:n})})}}if(t===0)parser.closedRoot=true;parser.tagName=parser.attribValue=parser.attribName="";parser.attribList.length=0;parser.state=S.TEXT}function parseEntity(parser){var entity=parser.entity;var entityLC=entity.toLowerCase();var num;var numStr="";if(parser.ENTITIES[entity]){return parser.ENTITIES[entity]}if(parser.ENTITIES[entityLC]){return parser.ENTITIES[entityLC]}entity=entityLC;if(entity.charAt(0)==="#"){if(entity.charAt(1)==="x"){entity=entity.slice(2);num=parseInt(entity,16);numStr=num.toString(16)}else{entity=entity.slice(1);num=parseInt(entity,10);numStr=num.toString(10)}}entity=entity.replace(/^0+/,"");if(isNaN(num)||numStr.toLowerCase()!==entity){strictFail(parser,"Invalid character entity");return"&"+parser.entity+";"}return String.fromCodePoint(num)}function beginWhiteSpace(parser,c){if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else if(!isWhitespace(c)){strictFail(parser,"Non-whitespace before first tag.");parser.textNode=c;parser.state=S.TEXT}}function charAt(chunk,i){var result="";if(i<chunk.length){result=chunk.charAt(i)}return result}function write(chunk){var parser=this;if(this.error){throw this.error}if(parser.closed){return error(parser,"Cannot write after close. Assign an onready handler.")}if(chunk===null){return end(parser)}if(typeof chunk==="object"){chunk=chunk.toString()}var i=0;var c="";while(true){c=charAt(chunk,i++);parser.c=c;if(!c){break}if(parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else{parser.column++}}switch(parser.state){case S.BEGIN:parser.state=S.BEGIN_WHITESPACE;if(c==="\ufeff"){continue}beginWhiteSpace(parser,c);continue;case S.BEGIN_WHITESPACE:beginWhiteSpace(parser,c);continue;case S.TEXT:if(parser.sawRoot&&!parser.closedRoot){var starti=i-1;while(c&&c!=="<"&&c!=="&"){c=charAt(chunk,i++);if(c&&parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else{parser.column++}}}parser.textNode+=chunk.substring(starti,i-1)}if(c==="<"&&!(parser.sawRoot&&parser.closedRoot&&!parser.strict)){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else{if(!isWhitespace(c)&&(!parser.sawRoot||parser.closedRoot)){strictFail(parser,"Text data outside of root node.")}if(c==="&"){parser.state=S.TEXT_ENTITY}else{parser.textNode+=c}}continue;case S.SCRIPT:if(c==="<"){parser.state=S.SCRIPT_ENDING}else{parser.script+=c}continue;case S.SCRIPT_ENDING:if(c==="/"){parser.state=S.CLOSE_TAG}else{parser.script+="<"+c;parser.state=S.SCRIPT}continue;case S.OPEN_WAKA:if(c==="!"){parser.state=S.SGML_DECL;parser.sgmlDecl=""}else if(isWhitespace(c)){}else if(isMatch(nameStart,c)){parser.state=S.OPEN_TAG;parser.tagName=c}else if(c==="/"){parser.state=S.CLOSE_TAG;parser.tagName=""}else if(c==="?"){parser.state=S.PROC_INST;parser.procInstName=parser.procInstBody=""}else{strictFail(parser,"Unencoded <");if(parser.startTagPosition+1<parser.position){var pad=parser.position-parser.startTagPosition;c=new Array(pad).join(" ")+c}parser.textNode+="<"+c;parser.state=S.TEXT}continue;case S.SGML_DECL:if((parser.sgmlDecl+c).toUpperCase()===CDATA){emitNode(parser,"onopencdata");parser.state=S.CDATA;parser.sgmlDecl="";parser.cdata=""}else if(parser.sgmlDecl+c==="--"){parser.state=S.COMMENT;parser.comment="";parser.sgmlDecl=""}else if((parser.sgmlDecl+c).toUpperCase()===DOCTYPE){parser.state=S.DOCTYPE;if(parser.doctype||parser.sawRoot){strictFail(parser,"Inappropriately located doctype declaration")}parser.doctype="";parser.sgmlDecl=""}else if(c===">"){emitNode(parser,"onsgmldeclaration",parser.sgmlDecl);parser.sgmlDecl="";parser.state=S.TEXT}else if(isQuote(c)){parser.state=S.SGML_DECL_QUOTED;parser.sgmlDecl+=c}else{parser.sgmlDecl+=c}continue;case S.SGML_DECL_QUOTED:if(c===parser.q){parser.state=S.SGML_DECL;parser.q=""}parser.sgmlDecl+=c;continue;case S.DOCTYPE:if(c===">"){parser.state=S.TEXT;emitNode(parser,"ondoctype",parser.doctype);parser.doctype=true}else{parser.doctype+=c;if(c==="["){parser.state=S.DOCTYPE_DTD}else if(isQuote(c)){parser.state=S.DOCTYPE_QUOTED;parser.q=c}}continue;case S.DOCTYPE_QUOTED:parser.doctype+=c;if(c===parser.q){parser.q="";parser.state=S.DOCTYPE}continue;case S.DOCTYPE_DTD:parser.doctype+=c;if(c==="]"){parser.state=S.DOCTYPE}else if(isQuote(c)){parser.state=S.DOCTYPE_DTD_QUOTED;parser.q=c}continue;case S.DOCTYPE_DTD_QUOTED:parser.doctype+=c;if(c===parser.q){parser.state=S.DOCTYPE_DTD;parser.q=""}continue;case S.COMMENT:if(c==="-"){parser.state=S.COMMENT_ENDING}else{parser.comment+=c}continue;case S.COMMENT_ENDING:if(c==="-"){parser.state=S.COMMENT_ENDED;parser.comment=textopts(parser.opt,parser.comment);if(parser.comment){emitNode(parser,"oncomment",parser.comment)}parser.comment=""}else{parser.comment+="-"+c;parser.state=S.COMMENT}continue;case S.COMMENT_ENDED:if(c!==">"){strictFail(parser,"Malformed comment");parser.comment+="--"+c;parser.state=S.COMMENT}else{parser.state=S.TEXT}continue;case S.CDATA:if(c==="]"){parser.state=S.CDATA_ENDING}else{parser.cdata+=c}continue;case S.CDATA_ENDING:if(c==="]"){parser.state=S.CDATA_ENDING_2}else{parser.cdata+="]"+c;parser.state=S.CDATA}continue;case S.CDATA_ENDING_2:if(c===">"){if(parser.cdata){emitNode(parser,"oncdata",parser.cdata)}emitNode(parser,"onclosecdata");parser.cdata="";parser.state=S.TEXT}else if(c==="]"){parser.cdata+="]"}else{parser.cdata+="]]"+c;parser.state=S.CDATA}continue;case S.PROC_INST:if(c==="?"){parser.state=S.PROC_INST_ENDING}else if(isWhitespace(c)){parser.state=S.PROC_INST_BODY}else{parser.procInstName+=c}continue;case S.PROC_INST_BODY:if(!parser.procInstBody&&isWhitespace(c)){continue}else if(c==="?"){parser.state=S.PROC_INST_ENDING}else{parser.procInstBody+=c}continue;case S.PROC_INST_ENDING:if(c===">"){emitNode(parser,"onprocessinginstruction",{name:parser.procInstName,body:parser.procInstBody});parser.procInstName=parser.procInstBody="";parser.state=S.TEXT}else{parser.procInstBody+="?"+c;parser.state=S.PROC_INST_BODY}continue;case S.OPEN_TAG:if(isMatch(nameBody,c)){parser.tagName+=c}else{newTag(parser);if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else{if(!isWhitespace(c)){strictFail(parser,"Invalid character in tag name")}parser.state=S.ATTRIB}}continue;case S.OPEN_TAG_SLASH:if(c===">"){openTag(parser,true);closeTag(parser)}else{strictFail(parser,"Forward-slash in opening tag not followed by >");parser.state=S.ATTRIB}continue;case S.ATTRIB:if(isWhitespace(c)){continue}else if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else if(isMatch(nameStart,c)){parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_NAME:if(c==="="){parser.state=S.ATTRIB_VALUE}else if(c===">"){strictFail(parser,"Attribute without value");parser.attribValue=parser.attribName;attrib(parser);openTag(parser)}else if(isWhitespace(c)){parser.state=S.ATTRIB_NAME_SAW_WHITE}else if(isMatch(nameBody,c)){parser.attribName+=c}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_NAME_SAW_WHITE:if(c==="="){parser.state=S.ATTRIB_VALUE}else if(isWhitespace(c)){continue}else{strictFail(parser,"Attribute without value");parser.tag.attributes[parser.attribName]="";parser.attribValue="";emitNode(parser,"onattribute",{name:parser.attribName,value:""});parser.attribName="";if(c===">"){openTag(parser)}else if(isMatch(nameStart,c)){parser.attribName=c;parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name");parser.state=S.ATTRIB}}continue;case S.ATTRIB_VALUE:if(isWhitespace(c)){continue}else if(isQuote(c)){parser.q=c;parser.state=S.ATTRIB_VALUE_QUOTED}else{strictFail(parser,"Unquoted attribute value");parser.state=S.ATTRIB_VALUE_UNQUOTED;parser.attribValue=c}continue;case S.ATTRIB_VALUE_QUOTED:if(c!==parser.q){if(c==="&"){parser.state=S.ATTRIB_VALUE_ENTITY_Q}else{parser.attribValue+=c}continue}attrib(parser);parser.q="";parser.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:if(isWhitespace(c)){parser.state=S.ATTRIB}else if(c===">"){openTag(parser)}else if(c==="/"){parser.state=S.OPEN_TAG_SLASH}else if(isMatch(nameStart,c)){strictFail(parser,"No whitespace between attributes");parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name")}continue;case S.ATTRIB_VALUE_UNQUOTED:if(!isAttribEnd(c)){if(c==="&"){parser.state=S.ATTRIB_VALUE_ENTITY_U}else{parser.attribValue+=c}continue}attrib(parser);if(c===">"){openTag(parser)}else{parser.state=S.ATTRIB}continue;case S.CLOSE_TAG:if(!parser.tagName){if(isWhitespace(c)){continue}else if(notMatch(nameStart,c)){if(parser.script){parser.script+="</"+c;parser.state=S.SCRIPT}else{strictFail(parser,"Invalid tagname in closing tag.")}}else{parser.tagName=c}}else if(c===">"){closeTag(parser)}else if(isMatch(nameBody,c)){parser.tagName+=c}else if(parser.script){parser.script+="</"+parser.tagName;parser.tagName="";parser.state=S.SCRIPT}else{if(!isWhitespace(c)){strictFail(parser,"Invalid tagname in closing tag")}parser.state=S.CLOSE_TAG_SAW_WHITE}continue;case S.CLOSE_TAG_SAW_WHITE:if(isWhitespace(c)){continue}if(c===">"){closeTag(parser)}else{strictFail(parser,"Invalid characters in closing tag")}continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var returnState;var buffer;switch(parser.state){case S.TEXT_ENTITY:returnState=S.TEXT;buffer="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:returnState=S.ATTRIB_VALUE_QUOTED;buffer="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:returnState=S.ATTRIB_VALUE_UNQUOTED;buffer="attribValue";break}if(c===";"){parser[buffer]+=parseEntity(parser);parser.entity="";parser.state=returnState}else if(isMatch(parser.entity.length?entityBody:entityStart,c)){parser.entity+=c}else{strictFail(parser,"Invalid character in entity name");parser[buffer]+="&"+parser.entity+c;parser.entity="";parser.state=returnState}continue;default:throw new Error(parser,"Unknown state: "+parser.state)}}if(parser.position>=parser.bufferCheckPosition){checkBufferLength(parser)}return parser}if(!String.fromCodePoint){(function(){var stringFromCharCode=String.fromCharCode;var floor=Math.floor;var fromCodePoint=function(){var MAX_SIZE=16384;var codeUnits=[];var highSurrogate;var lowSurrogate;var index=-1;var length=arguments.length;if(!length){return""}var result="";while(++index<length){var codePoint=Number(arguments[index]);if(!isFinite(codePoint)||codePoint<0||codePoint>1114111||floor(codePoint)!==codePoint){throw RangeError("Invalid code point: "+codePoint)}if(codePoint<=65535){codeUnits.push(codePoint)}else{codePoint-=65536;highSurrogate=(codePoint>>10)+55296;lowSurrogate=codePoint%1024+56320;codeUnits.push(highSurrogate,lowSurrogate)}if(index+1===length||codeUnits.length>MAX_SIZE){result+=stringFromCharCode.apply(null,codeUnits);codeUnits.length=0}}return result};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(typeof exports==="undefined"?this.sax={}:exports)}).call(this,require("buffer").Buffer)},{buffer:43,stream:68,string_decoder:69}],8:[function(require,module,exports){(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},{}],9:[function(require,module,exports){(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},{}],10:[function(require,module,exports){(function(){var assign,getValue,isArray,isEmpty,isFunction,isObject,isPlainObject,slice=[].slice,hasProp={}.hasOwnProperty;assign=function(){var i,key,len,source,sources,target;target=arguments[0],sources=2<=arguments.length?slice.call(arguments,1):[];if(isFunction(Object.assign)){Object.assign.apply(null,arguments)}else{for(i=0,len=sources.length;i<len;i++){source=sources[i];if(source!=null){for(key in source){if(!hasProp.call(source,key))continue;target[key]=source[key]}}}}return target};isFunction=function(val){return!!val&&Object.prototype.toString.call(val)==="[object Function]"};isObject=function(val){var ref;return!!val&&((ref=typeof val)==="function"||ref==="object")};isArray=function(val){if(isFunction(Array.isArray)){return Array.isArray(val)}else{return Object.prototype.toString.call(val)==="[object Array]"}};isEmpty=function(val){var key;if(isArray(val)){return!val.length}else{for(key in val){if(!hasProp.call(val,key))continue;return false}return true}};isPlainObject=function(val){var ctor,proto;return isObject(val)&&(proto=Object.getPrototypeOf(val))&&(ctor=proto.constructor)&&typeof ctor==="function"&&ctor instanceof ctor&&Function.prototype.toString.call(ctor)===Function.prototype.toString.call(Object)};getValue=function(obj){if(isFunction(obj.valueOf)){return obj.valueOf()}else{return obj}};module.exports.assign=assign;module.exports.isFunction=isFunction;module.exports.isObject=isObject;module.exports.isArray=isArray;module.exports.isEmpty=isEmpty;module.exports.isPlainObject=isPlainObject;module.exports.getValue=getValue}).call(this)},{}],11:[function(require,module,exports){(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this)},{}],12:[function(require,module,exports){(function(){var NodeType,XMLAttribute,XMLNode;NodeType=require("./NodeType");XMLNode=require("./XMLNode");module.exports=XMLAttribute=function(){function XMLAttribute(parent,name,value){this.parent=parent;if(this.parent){this.options=this.parent.options;this.stringify=this.parent.stringify}if(name==null){throw new Error("Missing attribute name. "+this.debugInfo(name))}this.name=this.stringify.name(name);this.value=this.stringify.attValue(value);this.type=NodeType.Attribute;this.isId=false;this.schemaTypeInfo=null}Object.defineProperty(XMLAttribute.prototype,"nodeType",{get:function(){return this.type}});Object.defineProperty(XMLAttribute.prototype,"ownerElement",{get:function(){return this.parent}});Object.defineProperty(XMLAttribute.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}});Object.defineProperty(XMLAttribute.prototype,"namespaceURI",{get:function(){return""}});Object.defineProperty(XMLAttribute.prototype,"prefix",{get:function(){return""}});Object.defineProperty(XMLAttribute.prototype,"localName",{get:function(){return this.name}});Object.defineProperty(XMLAttribute.prototype,"specified",{get:function(){return true}});XMLAttribute.prototype.clone=function(){return Object.create(this)};XMLAttribute.prototype.toString=function(options){return this.options.writer.attribute(this,this.options.writer.filterOptions(options))};XMLAttribute.prototype.debugInfo=function(name){name=name||this.name;if(name==null){return"parent: <"+this.parent.name+">"}else{return"attribute: {"+name+"}, parent: <"+this.parent.name+">"}};XMLAttribute.prototype.isEqualNode=function(node){if(node.namespaceURI!==this.namespaceURI){return false}if(node.prefix!==this.prefix){return false}if(node.localName!==this.localName){return false}if(node.value!==this.value){return false}return true};return XMLAttribute}()}).call(this)},{"./NodeType":9,"./XMLNode":31}],13:[function(require,module,exports){(function(){var NodeType,XMLCData,XMLCharacterData,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLCData=function(superClass){extend(XMLCData,superClass);function XMLCData(parent,text){XMLCData.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing CDATA text. "+this.debugInfo())}this.name="#cdata-section";this.type=NodeType.CData;this.value=this.stringify.cdata(text)}XMLCData.prototype.clone=function(){return Object.create(this)};XMLCData.prototype.toString=function(options){return this.options.writer.cdata(this,this.options.writer.filterOptions(options))};return XMLCData}(XMLCharacterData)}).call(this)},{"./NodeType":9,"./XMLCharacterData":14}],14:[function(require,module,exports){(function(){var XMLCharacterData,XMLNode,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLNode=require("./XMLNode");module.exports=XMLCharacterData=function(superClass){extend(XMLCharacterData,superClass);function XMLCharacterData(parent){XMLCharacterData.__super__.constructor.call(this,parent);this.value=""}Object.defineProperty(XMLCharacterData.prototype,"data",{get:function(){return this.value},set:function(value){return this.value=value||""}});Object.defineProperty(XMLCharacterData.prototype,"length",{get:function(){return this.value.length}});Object.defineProperty(XMLCharacterData.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}});XMLCharacterData.prototype.clone=function(){return Object.create(this)};XMLCharacterData.prototype.substringData=function(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLCharacterData.prototype.appendData=function(arg){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLCharacterData.prototype.insertData=function(offset,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLCharacterData.prototype.deleteData=function(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLCharacterData.prototype.replaceData=function(offset,count,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLCharacterData.prototype.isEqualNode=function(node){if(!XMLCharacterData.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)){return false}if(node.data!==this.data){return false}return true};return XMLCharacterData}(XMLNode)}).call(this)},{"./XMLNode":31}],15:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLComment,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLComment=function(superClass){extend(XMLComment,superClass);function XMLComment(parent,text){XMLComment.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing comment text. "+this.debugInfo())}this.name="#comment";this.type=NodeType.Comment;this.value=this.stringify.comment(text)}XMLComment.prototype.clone=function(){return Object.create(this)};XMLComment.prototype.toString=function(options){return this.options.writer.comment(this,this.options.writer.filterOptions(options))};return XMLComment}(XMLCharacterData)}).call(this)},{"./NodeType":9,"./XMLCharacterData":14}],16:[function(require,module,exports){(function(){var XMLDOMConfiguration,XMLDOMErrorHandler,XMLDOMStringList;XMLDOMErrorHandler=require("./XMLDOMErrorHandler");XMLDOMStringList=require("./XMLDOMStringList");module.exports=XMLDOMConfiguration=function(){function XMLDOMConfiguration(){var clonedSelf;this.defaultParams={"canonical-form":false,"cdata-sections":false,comments:false,"datatype-normalization":false,"element-content-whitespace":true,entities:true,"error-handler":new XMLDOMErrorHandler,infoset:true,"validate-if-schema":false,namespaces:true,"namespace-declarations":true,"normalize-characters":false,"schema-location":"","schema-type":"","split-cdata-sections":true,validate:false,"well-formed":true};this.params=clonedSelf=Object.create(this.defaultParams)}Object.defineProperty(XMLDOMConfiguration.prototype,"parameterNames",{get:function(){return new XMLDOMStringList(Object.keys(this.defaultParams))}});XMLDOMConfiguration.prototype.getParameter=function(name){if(this.params.hasOwnProperty(name)){return this.params[name]}else{return null}};XMLDOMConfiguration.prototype.canSetParameter=function(name,value){return true};XMLDOMConfiguration.prototype.setParameter=function(name,value){if(value!=null){return this.params[name]=value}else{return delete this.params[name]}};return XMLDOMConfiguration}()}).call(this)},{"./XMLDOMErrorHandler":17,"./XMLDOMStringList":19}],17:[function(require,module,exports){(function(){var XMLDOMErrorHandler;module.exports=XMLDOMErrorHandler=function(){function XMLDOMErrorHandler(){}XMLDOMErrorHandler.prototype.handleError=function(error){throw new Error(error)};return XMLDOMErrorHandler}()}).call(this)},{}],18:[function(require,module,exports){(function(){var XMLDOMImplementation;module.exports=XMLDOMImplementation=function(){function XMLDOMImplementation(){}XMLDOMImplementation.prototype.hasFeature=function(feature,version){return true};XMLDOMImplementation.prototype.createDocumentType=function(qualifiedName,publicId,systemId){throw new Error("This DOM method is not implemented.")};XMLDOMImplementation.prototype.createDocument=function(namespaceURI,qualifiedName,doctype){throw new Error("This DOM method is not implemented.")};XMLDOMImplementation.prototype.createHTMLDocument=function(title){throw new Error("This DOM method is not implemented.")};XMLDOMImplementation.prototype.getFeature=function(feature,version){throw new Error("This DOM method is not implemented.")};return XMLDOMImplementation}()}).call(this)},{}],19:[function(require,module,exports){(function(){var XMLDOMStringList;module.exports=XMLDOMStringList=function(){function XMLDOMStringList(arr){this.arr=arr||[]}Object.defineProperty(XMLDOMStringList.prototype,"length",{get:function(){return this.arr.length}});XMLDOMStringList.prototype.item=function(index){return this.arr[index]||null};XMLDOMStringList.prototype.contains=function(str){return this.arr.indexOf(str)!==-1};return XMLDOMStringList}()}).call(this)},{}],20:[function(require,module,exports){(function(){var NodeType,XMLDTDAttList,XMLNode,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDAttList=function(superClass){extend(XMLDTDAttList,superClass);function XMLDTDAttList(parent,elementName,attributeName,attributeType,defaultValueType,defaultValue){XMLDTDAttList.__super__.constructor.call(this,parent);if(elementName==null){throw new Error("Missing DTD element name. "+this.debugInfo())}if(attributeName==null){throw new Error("Missing DTD attribute name. "+this.debugInfo(elementName))}if(!attributeType){throw new Error("Missing DTD attribute type. "+this.debugInfo(elementName))}if(!defaultValueType){throw new Error("Missing DTD attribute default. "+this.debugInfo(elementName))}if(defaultValueType.indexOf("#")!==0){defaultValueType="#"+defaultValueType}if(!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)){throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(elementName))}if(defaultValue&&!defaultValueType.match(/^(#FIXED|#DEFAULT)$/)){throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(elementName))}this.elementName=this.stringify.name(elementName);this.type=NodeType.AttributeDeclaration;this.attributeName=this.stringify.name(attributeName);this.attributeType=this.stringify.dtdAttType(attributeType);if(defaultValue){this.defaultValue=this.stringify.dtdAttDefault(defaultValue)}this.defaultValueType=defaultValueType}XMLDTDAttList.prototype.toString=function(options){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(options))};return XMLDTDAttList}(XMLNode)}).call(this)},{"./NodeType":9,"./XMLNode":31}],21:[function(require,module,exports){(function(){var NodeType,XMLDTDElement,XMLNode,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDElement=function(superClass){extend(XMLDTDElement,superClass);function XMLDTDElement(parent,name,value){XMLDTDElement.__super__.constructor.call(this,parent);if(name==null){throw new Error("Missing DTD element name. "+this.debugInfo())}if(!value){value="(#PCDATA)"}if(Array.isArray(value)){value="("+value.join(",")+")"}this.name=this.stringify.name(name);this.type=NodeType.ElementDeclaration;this.value=this.stringify.dtdElementValue(value)}XMLDTDElement.prototype.toString=function(options){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(options))};return XMLDTDElement}(XMLNode)}).call(this)},{"./NodeType":9,"./XMLNode":31}],22:[function(require,module,exports){(function(){var NodeType,XMLDTDEntity,XMLNode,isObject,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;isObject=require("./Utility").isObject;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDEntity=function(superClass){extend(XMLDTDEntity,superClass);function XMLDTDEntity(parent,pe,name,value){XMLDTDEntity.__super__.constructor.call(this,parent);if(name==null){throw new Error("Missing DTD entity name. "+this.debugInfo(name))}if(value==null){throw new Error("Missing DTD entity value. "+this.debugInfo(name))}this.pe=!!pe;this.name=this.stringify.name(name);this.type=NodeType.EntityDeclaration;if(!isObject(value)){this.value=this.stringify.dtdEntityValue(value);this.internal=true}else{if(!value.pubID&&!value.sysID){throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(name))}if(value.pubID&&!value.sysID){throw new Error("System identifier is required for a public external entity. "+this.debugInfo(name))}this.internal=false;if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}if(value.nData!=null){this.nData=this.stringify.dtdNData(value.nData)}if(this.pe&&this.nData){throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(name))}}}Object.defineProperty(XMLDTDEntity.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDTDEntity.prototype,"systemId",{get:function(){return this.sysID}});Object.defineProperty(XMLDTDEntity.prototype,"notationName",{get:function(){return this.nData||null}});Object.defineProperty(XMLDTDEntity.prototype,"inputEncoding",{get:function(){return null}});Object.defineProperty(XMLDTDEntity.prototype,"xmlEncoding",{get:function(){return null}});Object.defineProperty(XMLDTDEntity.prototype,"xmlVersion",{get:function(){return null}});XMLDTDEntity.prototype.toString=function(options){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(options))};return XMLDTDEntity}(XMLNode)}).call(this)},{"./NodeType":9,"./Utility":10,"./XMLNode":31}],23:[function(require,module,exports){(function(){var NodeType,XMLDTDNotation,XMLNode,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDNotation=function(superClass){extend(XMLDTDNotation,superClass);function XMLDTDNotation(parent,name,value){XMLDTDNotation.__super__.constructor.call(this,parent);if(name==null){throw new Error("Missing DTD notation name. "+this.debugInfo(name))}if(!value.pubID&&!value.sysID){throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(name))}this.name=this.stringify.name(name);this.type=NodeType.NotationDeclaration;if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}}Object.defineProperty(XMLDTDNotation.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDTDNotation.prototype,"systemId",{get:function(){return this.sysID}});XMLDTDNotation.prototype.toString=function(options){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(options))};return XMLDTDNotation}(XMLNode)}).call(this)},{"./NodeType":9,"./XMLNode":31}],24:[function(require,module,exports){(function(){var NodeType,XMLDeclaration,XMLNode,isObject,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;isObject=require("./Utility").isObject;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDeclaration=function(superClass){extend(XMLDeclaration,superClass);function XMLDeclaration(parent,version,encoding,standalone){var ref;XMLDeclaration.__super__.constructor.call(this,parent);if(isObject(version)){ref=version,version=ref.version,encoding=ref.encoding,standalone=ref.standalone}if(!version){version="1.0"}this.type=NodeType.Declaration;this.version=this.stringify.xmlVersion(version);if(encoding!=null){this.encoding=this.stringify.xmlEncoding(encoding)}if(standalone!=null){this.standalone=this.stringify.xmlStandalone(standalone)}}XMLDeclaration.prototype.toString=function(options){return this.options.writer.declaration(this,this.options.writer.filterOptions(options))};return XMLDeclaration}(XMLNode)}).call(this)},{"./NodeType":9,"./Utility":10,"./XMLNode":31}],25:[function(require,module,exports){(function(){var NodeType,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDocType,XMLNamedNodeMap,XMLNode,isObject,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;isObject=require("./Utility").isObject;XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDElement=require("./XMLDTDElement");XMLDTDNotation=require("./XMLDTDNotation");XMLNamedNodeMap=require("./XMLNamedNodeMap");module.exports=XMLDocType=function(superClass){extend(XMLDocType,superClass);function XMLDocType(parent,pubID,sysID){var child,i,len,ref,ref1,ref2;XMLDocType.__super__.constructor.call(this,parent);this.type=NodeType.DocType;if(parent.children){ref=parent.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.Element){this.name=child.name;break}}}this.documentObject=parent;if(isObject(pubID)){ref1=pubID,pubID=ref1.pubID,sysID=ref1.sysID}if(sysID==null){ref2=[pubID,sysID],sysID=ref2[0],pubID=ref2[1]}if(pubID!=null){this.pubID=this.stringify.dtdPubID(pubID)}if(sysID!=null){this.sysID=this.stringify.dtdSysID(sysID)}}Object.defineProperty(XMLDocType.prototype,"entities",{get:function(){var child,i,len,nodes,ref;nodes={};ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.EntityDeclaration&&!child.pe){nodes[child.name]=child}}return new XMLNamedNodeMap(nodes)}});Object.defineProperty(XMLDocType.prototype,"notations",{get:function(){var child,i,len,nodes,ref;nodes={};ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.NotationDeclaration){nodes[child.name]=child}}return new XMLNamedNodeMap(nodes)}});Object.defineProperty(XMLDocType.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDocType.prototype,"systemId",{get:function(){return this.sysID}});Object.defineProperty(XMLDocType.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});XMLDocType.prototype.element=function(name,value){var child;child=new XMLDTDElement(this,name,value);this.children.push(child);return this};XMLDocType.prototype.attList=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){var child;child=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue);this.children.push(child);return this};XMLDocType.prototype.entity=function(name,value){var child;child=new XMLDTDEntity(this,false,name,value);this.children.push(child);return this};XMLDocType.prototype.pEntity=function(name,value){var child;child=new XMLDTDEntity(this,true,name,value);this.children.push(child);return this};XMLDocType.prototype.notation=function(name,value){var child;child=new XMLDTDNotation(this,name,value);this.children.push(child);return this};XMLDocType.prototype.toString=function(options){return this.options.writer.docType(this,this.options.writer.filterOptions(options))};XMLDocType.prototype.ele=function(name,value){return this.element(name,value)};XMLDocType.prototype.att=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){return this.attList(elementName,attributeName,attributeType,defaultValueType,defaultValue)};XMLDocType.prototype.ent=function(name,value){return this.entity(name,value)};XMLDocType.prototype.pent=function(name,value){return this.pEntity(name,value)};XMLDocType.prototype.not=function(name,value){return this.notation(name,value)};XMLDocType.prototype.up=function(){return this.root()||this.documentObject};XMLDocType.prototype.isEqualNode=function(node){if(!XMLDocType.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)){return false}if(node.name!==this.name){return false}if(node.publicId!==this.publicId){return false}if(node.systemId!==this.systemId){return false}return true};return XMLDocType}(XMLNode)}).call(this)},{"./NodeType":9,"./Utility":10,"./XMLDTDAttList":20,"./XMLDTDElement":21,"./XMLDTDEntity":22,"./XMLDTDNotation":23,"./XMLNamedNodeMap":30,"./XMLNode":31}],26:[function(require,module,exports){(function(){var NodeType,XMLDOMConfiguration,XMLDOMImplementation,XMLDocument,XMLNode,XMLStringWriter,XMLStringifier,isPlainObject,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;isPlainObject=require("./Utility").isPlainObject;XMLDOMImplementation=require("./XMLDOMImplementation");XMLDOMConfiguration=require("./XMLDOMConfiguration");XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLStringifier=require("./XMLStringifier");XMLStringWriter=require("./XMLStringWriter");module.exports=XMLDocument=function(superClass){extend(XMLDocument,superClass);function XMLDocument(options){XMLDocument.__super__.constructor.call(this,null);this.name="#document";this.type=NodeType.Document;this.documentURI=null;this.domConfig=new XMLDOMConfiguration;options||(options={});if(!options.writer){options.writer=new XMLStringWriter}this.options=options;this.stringify=new XMLStringifier(options)}Object.defineProperty(XMLDocument.prototype,"implementation",{value:new XMLDOMImplementation});Object.defineProperty(XMLDocument.prototype,"doctype",{get:function(){var child,i,len,ref;ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.DocType){return child}}return null}});Object.defineProperty(XMLDocument.prototype,"documentElement",{get:function(){return this.rootObject||null}});Object.defineProperty(XMLDocument.prototype,"inputEncoding",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"strictErrorChecking",{get:function(){return false}});Object.defineProperty(XMLDocument.prototype,"xmlEncoding",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].encoding}else{return null}}});Object.defineProperty(XMLDocument.prototype,"xmlStandalone",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].standalone==="yes"}else{return false}}});Object.defineProperty(XMLDocument.prototype,"xmlVersion",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].version}else{return"1.0"}}});Object.defineProperty(XMLDocument.prototype,"URL",{get:function(){return this.documentURI}});Object.defineProperty(XMLDocument.prototype,"origin",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"compatMode",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"characterSet",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"contentType",{get:function(){return null}});XMLDocument.prototype.end=function(writer){var writerOptions;writerOptions={};if(!writer){writer=this.options.writer}else if(isPlainObject(writer)){writerOptions=writer;writer=this.options.writer}return writer.document(this,writer.filterOptions(writerOptions))};XMLDocument.prototype.toString=function(options){return this.options.writer.document(this,this.options.writer.filterOptions(options))};XMLDocument.prototype.createElement=function(tagName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createTextNode=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createComment=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createCDATASection=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createProcessingInstruction=function(target,data){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createAttribute=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createEntityReference=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.getElementsByTagName=function(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.importNode=function(importedNode,deep){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createElementNS=function(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createAttributeNS=function(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.getElementById=function(elementId){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.adoptNode=function(source){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.renameNode=function(node,namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.getElementsByClassName=function(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createEvent=function(eventInterface){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createNodeIterator=function(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLDocument.prototype.createTreeWalker=function(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())};return XMLDocument}(XMLNode)}).call(this)},{"./NodeType":9,"./Utility":10,"./XMLDOMConfiguration":16,"./XMLDOMImplementation":18,"./XMLNode":31,"./XMLStringWriter":36,"./XMLStringifier":37}],27:[function(require,module,exports){(function(){var NodeType,WriterState,XMLAttribute,XMLCData,XMLComment,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDeclaration,XMLDocType,XMLDocument,XMLDocumentCB,XMLElement,XMLProcessingInstruction,XMLRaw,XMLStringWriter,XMLStringifier,XMLText,getValue,isFunction,isObject,isPlainObject,ref,hasProp={}.hasOwnProperty;ref=require("./Utility"),isObject=ref.isObject,isFunction=ref.isFunction,isPlainObject=ref.isPlainObject,getValue=ref.getValue;NodeType=require("./NodeType");XMLDocument=require("./XMLDocument");XMLElement=require("./XMLElement");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDElement=require("./XMLDTDElement");XMLDTDNotation=require("./XMLDTDNotation");XMLAttribute=require("./XMLAttribute");XMLStringifier=require("./XMLStringifier");XMLStringWriter=require("./XMLStringWriter");WriterState=require("./WriterState");module.exports=XMLDocumentCB=function(){function XMLDocumentCB(options,onData,onEnd){var writerOptions;this.name="?xml";this.type=NodeType.Document;options||(options={});writerOptions={};if(!options.writer){options.writer=new XMLStringWriter}else if(isPlainObject(options.writer)){writerOptions=options.writer;options.writer=new XMLStringWriter}this.options=options;this.writer=options.writer;this.writerOptions=this.writer.filterOptions(writerOptions);this.stringify=new XMLStringifier(options);this.onDataCallback=onData||function(){};this.onEndCallback=onEnd||function(){};this.currentNode=null;this.currentLevel=-1;this.openTags={};this.documentStarted=false;this.documentCompleted=false;this.root=null}XMLDocumentCB.prototype.createChildNode=function(node){var att,attName,attributes,child,i,len,ref1,ref2;switch(node.type){case NodeType.CData:this.cdata(node.value);break;case NodeType.Comment:this.comment(node.value);break;case NodeType.Element:attributes={};ref1=node.attribs;for(attName in ref1){if(!hasProp.call(ref1,attName))continue;att=ref1[attName];attributes[attName]=att.value}this.node(node.name,attributes);break;case NodeType.Dummy:this.dummy();break;case NodeType.Raw:this.raw(node.value);break;case NodeType.Text:this.text(node.value);break;case NodeType.ProcessingInstruction:this.instruction(node.target,node.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+node.constructor.name)}ref2=node.children;for(i=0,len=ref2.length;i<len;i++){child=ref2[i];this.createChildNode(child);if(child.type===NodeType.Element){this.up()}}return this};XMLDocumentCB.prototype.dummy=function(){return this};XMLDocumentCB.prototype.node=function(name,attributes,text){var ref1;if(name==null){throw new Error("Missing node name.")}if(this.root&&this.currentLevel===-1){throw new Error("Document can only have one root node. "+this.debugInfo(name))}this.openCurrent();name=getValue(name);if(attributes==null){attributes={}}attributes=getValue(attributes);if(!isObject(attributes)){ref1=[attributes,text],text=ref1[0],attributes=ref1[1]}this.currentNode=new XMLElement(this,name,attributes);this.currentNode.children=false;this.currentLevel++;this.openTags[this.currentLevel]=this.currentNode;if(text!=null){this.text(text)}return this};XMLDocumentCB.prototype.element=function(name,attributes,text){var child,i,len,oldValidationFlag,ref1,root;if(this.currentNode&&this.currentNode.type===NodeType.DocType){this.dtdElement.apply(this,arguments)}else{if(Array.isArray(name)||isObject(name)||isFunction(name)){oldValidationFlag=this.options.noValidation;this.options.noValidation=true;root=new XMLDocument(this.options).element("TEMP_ROOT");root.element(name);this.options.noValidation=oldValidationFlag;ref1=root.children;for(i=0,len=ref1.length;i<len;i++){child=ref1[i];this.createChildNode(child);if(child.type===NodeType.Element){this.up()}}}else{this.node(name,attributes,text)}}return this};XMLDocumentCB.prototype.attribute=function(name,value){var attName,attValue;if(!this.currentNode||this.currentNode.children){throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(name))}if(name!=null){name=getValue(name)}if(isObject(name)){for(attName in name){if(!hasProp.call(name,attName))continue;attValue=name[attName];this.attribute(attName,attValue)}}else{if(isFunction(value)){value=value.apply()}if(this.options.keepNullAttributes&&value==null){this.currentNode.attribs[name]=new XMLAttribute(this,name,"")}else if(value!=null){this.currentNode.attribs[name]=new XMLAttribute(this,name,value)}}return this};XMLDocumentCB.prototype.text=function(value){var node;this.openCurrent();node=new XMLText(this,value);this.onData(this.writer.text(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.cdata=function(value){var node;this.openCurrent();node=new XMLCData(this,value);this.onData(this.writer.cdata(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.comment=function(value){var node;this.openCurrent();node=new XMLComment(this,value);this.onData(this.writer.comment(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.raw=function(value){var node;this.openCurrent();node=new XMLRaw(this,value);this.onData(this.writer.raw(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.instruction=function(target,value){var i,insTarget,insValue,len,node;this.openCurrent();if(target!=null){target=getValue(target)}if(value!=null){value=getValue(value)}if(Array.isArray(target)){for(i=0,len=target.length;i<len;i++){insTarget=target[i];this.instruction(insTarget)}}else if(isObject(target)){for(insTarget in target){if(!hasProp.call(target,insTarget))continue;insValue=target[insTarget];this.instruction(insTarget,insValue)}}else{if(isFunction(value)){value=value.apply()}node=new XMLProcessingInstruction(this,target,value);this.onData(this.writer.processingInstruction(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1)}return this};XMLDocumentCB.prototype.declaration=function(version,encoding,standalone){var node;this.openCurrent();if(this.documentStarted){throw new Error("declaration() must be the first node.")}node=new XMLDeclaration(this,version,encoding,standalone);this.onData(this.writer.declaration(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.doctype=function(root,pubID,sysID){this.openCurrent();if(root==null){throw new Error("Missing root node name.")}if(this.root){throw new Error("dtd() must come before the root node.")}this.currentNode=new XMLDocType(this,pubID,sysID);this.currentNode.rootNodeName=root;this.currentNode.children=false;this.currentLevel++;this.openTags[this.currentLevel]=this.currentNode;return this};XMLDocumentCB.prototype.dtdElement=function(name,value){var node;this.openCurrent();node=new XMLDTDElement(this,name,value);this.onData(this.writer.dtdElement(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.attList=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){var node;this.openCurrent();node=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue);this.onData(this.writer.dtdAttList(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.entity=function(name,value){var node;this.openCurrent();node=new XMLDTDEntity(this,false,name,value);this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.pEntity=function(name,value){var node;this.openCurrent();node=new XMLDTDEntity(this,true,name,value);this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.notation=function(name,value){var node;this.openCurrent();node=new XMLDTDNotation(this,name,value);this.onData(this.writer.dtdNotation(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this};XMLDocumentCB.prototype.up=function(){if(this.currentLevel<0){throw new Error("The document node has no parent.")}if(this.currentNode){if(this.currentNode.children){this.closeNode(this.currentNode)}else{this.openNode(this.currentNode)}this.currentNode=null}else{this.closeNode(this.openTags[this.currentLevel])}delete this.openTags[this.currentLevel];this.currentLevel--;return this};XMLDocumentCB.prototype.end=function(){while(this.currentLevel>=0){this.up()}return this.onEnd()};XMLDocumentCB.prototype.openCurrent=function(){if(this.currentNode){this.currentNode.children=true;return this.openNode(this.currentNode)}};XMLDocumentCB.prototype.openNode=function(node){var att,chunk,name,ref1;if(!node.isOpen){if(!this.root&&this.currentLevel===0&&node.type===NodeType.Element){this.root=node}chunk="";if(node.type===NodeType.Element){this.writerOptions.state=WriterState.OpenTag;chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<"+node.name;ref1=node.attribs;for(name in ref1){if(!hasProp.call(ref1,name))continue;att=ref1[name];chunk+=this.writer.attribute(att,this.writerOptions,this.currentLevel)}chunk+=(node.children?">":"/>")+this.writer.endline(node,this.writerOptions,this.currentLevel);this.writerOptions.state=WriterState.InsideTag}else{this.writerOptions.state=WriterState.OpenTag;chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+node.rootNodeName;if(node.pubID&&node.sysID){chunk+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){chunk+=' SYSTEM "'+node.sysID+'"'}if(node.children){chunk+=" [";this.writerOptions.state=WriterState.InsideTag}else{this.writerOptions.state=WriterState.CloseTag;chunk+=">"}chunk+=this.writer.endline(node,this.writerOptions,this.currentLevel)}this.onData(chunk,this.currentLevel);return node.isOpen=true}};XMLDocumentCB.prototype.closeNode=function(node){var chunk;if(!node.isClosed){chunk="";this.writerOptions.state=WriterState.CloseTag;if(node.type===NodeType.Element){chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"</"+node.name+">"+this.writer.endline(node,this.writerOptions,this.currentLevel)}else{chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(node,this.writerOptions,this.currentLevel)}this.writerOptions.state=WriterState.None;this.onData(chunk,this.currentLevel);return node.isClosed=true}};XMLDocumentCB.prototype.onData=function(chunk,level){this.documentStarted=true;return this.onDataCallback(chunk,level+1)};XMLDocumentCB.prototype.onEnd=function(){this.documentCompleted=true;return this.onEndCallback()};XMLDocumentCB.prototype.debugInfo=function(name){if(name==null){return""}else{return"node: <"+name+">"}};XMLDocumentCB.prototype.ele=function(){return this.element.apply(this,arguments)};XMLDocumentCB.prototype.nod=function(name,attributes,text){return this.node(name,attributes,text)};XMLDocumentCB.prototype.txt=function(value){return this.text(value)};XMLDocumentCB.prototype.dat=function(value){return this.cdata(value)};XMLDocumentCB.prototype.com=function(value){return this.comment(value)};XMLDocumentCB.prototype.ins=function(target,value){return this.instruction(target,value)};XMLDocumentCB.prototype.dec=function(version,encoding,standalone){return this.declaration(version,encoding,standalone)};XMLDocumentCB.prototype.dtd=function(root,pubID,sysID){return this.doctype(root,pubID,sysID)};XMLDocumentCB.prototype.e=function(name,attributes,text){return this.element(name,attributes,text)};XMLDocumentCB.prototype.n=function(name,attributes,text){return this.node(name,attributes,text)};XMLDocumentCB.prototype.t=function(value){return this.text(value)};XMLDocumentCB.prototype.d=function(value){return this.cdata(value)};XMLDocumentCB.prototype.c=function(value){return this.comment(value)};XMLDocumentCB.prototype.r=function(value){return this.raw(value)};XMLDocumentCB.prototype.i=function(target,value){return this.instruction(target,value)};XMLDocumentCB.prototype.att=function(){if(this.currentNode&&this.currentNode.type===NodeType.DocType){return this.attList.apply(this,arguments)}else{return this.attribute.apply(this,arguments)}};XMLDocumentCB.prototype.a=function(){if(this.currentNode&&this.currentNode.type===NodeType.DocType){return this.attList.apply(this,arguments)}else{return this.attribute.apply(this,arguments)}};XMLDocumentCB.prototype.ent=function(name,value){return this.entity(name,value)};XMLDocumentCB.prototype.pent=function(name,value){return this.pEntity(name,value)};XMLDocumentCB.prototype.not=function(name,value){return this.notation(name,value)};return XMLDocumentCB}()}).call(this)},{"./NodeType":9,"./Utility":10,"./WriterState":11,"./XMLAttribute":12,"./XMLCData":13,"./XMLComment":15,"./XMLDTDAttList":20,"./XMLDTDElement":21,"./XMLDTDEntity":22,"./XMLDTDNotation":23,"./XMLDeclaration":24,"./XMLDocType":25,"./XMLDocument":26,"./XMLElement":29,"./XMLProcessingInstruction":33,"./XMLRaw":34,"./XMLStringWriter":36,"./XMLStringifier":37,"./XMLText":38}],28:[function(require,module,exports){(function(){var NodeType,XMLDummy,XMLNode,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDummy=function(superClass){extend(XMLDummy,superClass);function XMLDummy(parent){XMLDummy.__super__.constructor.call(this,parent);this.type=NodeType.Dummy}XMLDummy.prototype.clone=function(){return Object.create(this)};XMLDummy.prototype.toString=function(options){return""};return XMLDummy}(XMLNode)}).call(this)},{"./NodeType":9,"./XMLNode":31}],29:[function(require,module,exports){(function(){var NodeType,XMLAttribute,XMLElement,XMLNamedNodeMap,XMLNode,getValue,isFunction,isObject,ref,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;ref=require("./Utility"),isObject=ref.isObject,isFunction=ref.isFunction,getValue=ref.getValue;XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLAttribute=require("./XMLAttribute");XMLNamedNodeMap=require("./XMLNamedNodeMap");module.exports=XMLElement=function(superClass){extend(XMLElement,superClass);function XMLElement(parent,name,attributes){var child,j,len,ref1;XMLElement.__super__.constructor.call(this,parent);if(name==null){throw new Error("Missing element name. "+this.debugInfo())}this.name=this.stringify.name(name);this.type=NodeType.Element;this.attribs={};this.schemaTypeInfo=null;if(attributes!=null){this.attribute(attributes)}if(parent.type===NodeType.Document){this.isRoot=true;this.documentObject=parent;parent.rootObject=this;if(parent.children){ref1=parent.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];if(child.type===NodeType.DocType){child.name=this.name;break}}}}}Object.defineProperty(XMLElement.prototype,"tagName",{get:function(){return this.name}});Object.defineProperty(XMLElement.prototype,"namespaceURI",{get:function(){return""}});Object.defineProperty(XMLElement.prototype,"prefix",{get:function(){return""}});Object.defineProperty(XMLElement.prototype,"localName",{get:function(){return this.name}});Object.defineProperty(XMLElement.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"attributes",{get:function(){if(!this.attributeMap||!this.attributeMap.nodes){this.attributeMap=new XMLNamedNodeMap(this.attribs)}return this.attributeMap}});XMLElement.prototype.clone=function(){var att,attName,clonedSelf,ref1;clonedSelf=Object.create(this);if(clonedSelf.isRoot){clonedSelf.documentObject=null}clonedSelf.attribs={};ref1=this.attribs;for(attName in ref1){if(!hasProp.call(ref1,attName))continue;att=ref1[attName];clonedSelf.attribs[attName]=att.clone()}clonedSelf.children=[];this.children.forEach(function(child){var clonedChild;clonedChild=child.clone();clonedChild.parent=clonedSelf;return clonedSelf.children.push(clonedChild)});return clonedSelf};XMLElement.prototype.attribute=function(name,value){var attName,attValue;if(name!=null){name=getValue(name)}if(isObject(name)){for(attName in name){if(!hasProp.call(name,attName))continue;attValue=name[attName];this.attribute(attName,attValue)}}else{if(isFunction(value)){value=value.apply()}if(this.options.keepNullAttributes&&value==null){this.attribs[name]=new XMLAttribute(this,name,"")}else if(value!=null){this.attribs[name]=new XMLAttribute(this,name,value)}}return this};XMLElement.prototype.removeAttribute=function(name){var attName,j,len;if(name==null){throw new Error("Missing attribute name. "+this.debugInfo())}name=getValue(name);if(Array.isArray(name)){for(j=0,len=name.length;j<len;j++){attName=name[j];delete this.attribs[attName]}}else{delete this.attribs[name]}return this};XMLElement.prototype.toString=function(options){return this.options.writer.element(this,this.options.writer.filterOptions(options))};XMLElement.prototype.att=function(name,value){return this.attribute(name,value)};XMLElement.prototype.a=function(name,value){return this.attribute(name,value)};XMLElement.prototype.getAttribute=function(name){if(this.attribs.hasOwnProperty(name)){return this.attribs[name].value}else{return null}};XMLElement.prototype.setAttribute=function(name,value){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getAttributeNode=function(name){if(this.attribs.hasOwnProperty(name)){return this.attribs[name]}else{return null}};XMLElement.prototype.setAttributeNode=function(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.removeAttributeNode=function(oldAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getElementsByTagName=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.setAttributeNS=function(namespaceURI,qualifiedName,value){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.removeAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getAttributeNodeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.setAttributeNodeNS=function(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.hasAttribute=function(name){return this.attribs.hasOwnProperty(name)};XMLElement.prototype.hasAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.setIdAttribute=function(name,isId){if(this.attribs.hasOwnProperty(name)){return this.attribs[name].isId}else{return isId}};XMLElement.prototype.setIdAttributeNS=function(namespaceURI,localName,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.setIdAttributeNode=function(idAttr,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getElementsByTagName=function(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.getElementsByClassName=function(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLElement.prototype.isEqualNode=function(node){var i,j,ref1;if(!XMLElement.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)){return false}if(node.namespaceURI!==this.namespaceURI){return false}if(node.prefix!==this.prefix){return false}if(node.localName!==this.localName){return false}if(node.attribs.length!==this.attribs.length){return false}for(i=j=0,ref1=this.attribs.length-1;0<=ref1?j<=ref1:j>=ref1;i=0<=ref1?++j:--j){if(!this.attribs[i].isEqualNode(node.attribs[i])){return false}}return true};return XMLElement}(XMLNode)}).call(this)},{"./NodeType":9,"./Utility":10,"./XMLAttribute":12,"./XMLNamedNodeMap":30,"./XMLNode":31}],30:[function(require,module,exports){(function(){var XMLNamedNodeMap;module.exports=XMLNamedNodeMap=function(){function XMLNamedNodeMap(nodes){this.nodes=nodes}Object.defineProperty(XMLNamedNodeMap.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}});XMLNamedNodeMap.prototype.clone=function(){return this.nodes=null};XMLNamedNodeMap.prototype.getNamedItem=function(name){return this.nodes[name]};XMLNamedNodeMap.prototype.setNamedItem=function(node){var oldNode;oldNode=this.nodes[node.nodeName];this.nodes[node.nodeName]=node;return oldNode||null};XMLNamedNodeMap.prototype.removeNamedItem=function(name){var oldNode;oldNode=this.nodes[name];delete this.nodes[name];return oldNode||null};XMLNamedNodeMap.prototype.item=function(index){return this.nodes[Object.keys(this.nodes)[index]]||null};XMLNamedNodeMap.prototype.getNamedItemNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented.")};XMLNamedNodeMap.prototype.setNamedItemNS=function(node){throw new Error("This DOM method is not implemented.")};XMLNamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented.")};return XMLNamedNodeMap}()}).call(this)},{}],31:[function(require,module,exports){(function(){var DocumentPosition,NodeType,XMLCData,XMLComment,XMLDeclaration,XMLDocType,XMLDummy,XMLElement,XMLNamedNodeMap,XMLNode,XMLNodeList,XMLProcessingInstruction,XMLRaw,XMLText,getValue,isEmpty,isFunction,isObject,ref1,hasProp={}.hasOwnProperty;ref1=require("./Utility"),isObject=ref1.isObject,isFunction=ref1.isFunction,isEmpty=ref1.isEmpty,getValue=ref1.getValue;XMLElement=null;XMLCData=null;XMLComment=null;XMLDeclaration=null;XMLDocType=null;XMLRaw=null;XMLText=null;XMLProcessingInstruction=null;XMLDummy=null;NodeType=null;XMLNodeList=null;XMLNamedNodeMap=null;DocumentPosition=null;module.exports=XMLNode=function(){function XMLNode(parent1){this.parent=parent1;if(this.parent){this.options=this.parent.options;this.stringify=this.parent.stringify}this.value=null;this.children=[];this.baseURI=null;if(!XMLElement){XMLElement=require("./XMLElement");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDummy=require("./XMLDummy");NodeType=require("./NodeType");XMLNodeList=require("./XMLNodeList");XMLNamedNodeMap=require("./XMLNamedNodeMap");DocumentPosition=require("./DocumentPosition")}}Object.defineProperty(XMLNode.prototype,"nodeName",{get:function(){return this.name}});Object.defineProperty(XMLNode.prototype,"nodeType",{get:function(){return this.type}});Object.defineProperty(XMLNode.prototype,"nodeValue",{get:function(){return this.value}});Object.defineProperty(XMLNode.prototype,"parentNode",{get:function(){return this.parent}});Object.defineProperty(XMLNode.prototype,"childNodes",{get:function(){if(!this.childNodeList||!this.childNodeList.nodes){this.childNodeList=new XMLNodeList(this.children)}return this.childNodeList}});Object.defineProperty(XMLNode.prototype,"firstChild",{get:function(){return this.children[0]||null}});Object.defineProperty(XMLNode.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}});Object.defineProperty(XMLNode.prototype,"previousSibling",{get:function(){var i;i=this.parent.children.indexOf(this);return this.parent.children[i-1]||null}});Object.defineProperty(XMLNode.prototype,"nextSibling",{get:function(){var i;i=this.parent.children.indexOf(this);return this.parent.children[i+1]||null}});Object.defineProperty(XMLNode.prototype,"ownerDocument",{get:function(){return this.document()||null}});Object.defineProperty(XMLNode.prototype,"textContent",{get:function(){var child,j,len,ref2,str;if(this.nodeType===NodeType.Element||this.nodeType===NodeType.DocumentFragment){str="";ref2=this.children;for(j=0,len=ref2.length;j<len;j++){child=ref2[j];if(child.textContent){str+=child.textContent}}return str}else{return null}},set:function(value){throw new Error("This DOM method is not implemented."+this.debugInfo())}});XMLNode.prototype.setParent=function(parent){var child,j,len,ref2,results;this.parent=parent;if(parent){this.options=parent.options;this.stringify=parent.stringify}ref2=this.children;results=[];for(j=0,len=ref2.length;j<len;j++){child=ref2[j];results.push(child.setParent(this))}return results};XMLNode.prototype.element=function(name,attributes,text){var childNode,item,j,k,key,lastChild,len,len1,ref2,ref3,val;lastChild=null;if(attributes===null&&text==null){ref2=[{},null],attributes=ref2[0],text=ref2[1]}if(attributes==null){attributes={}}attributes=getValue(attributes);if(!isObject(attributes)){ref3=[attributes,text],text=ref3[0],attributes=ref3[1]}if(name!=null){name=getValue(name)}if(Array.isArray(name)){for(j=0,len=name.length;j<len;j++){item=name[j];lastChild=this.element(item)}}else if(isFunction(name)){lastChild=this.element(name.apply())}else if(isObject(name)){for(key in name){if(!hasProp.call(name,key))continue;val=name[key];if(isFunction(val)){val=val.apply()}if(!this.options.ignoreDecorators&&this.stringify.convertAttKey&&key.indexOf(this.stringify.convertAttKey)===0){lastChild=this.attribute(key.substr(this.stringify.convertAttKey.length),val)}else if(!this.options.separateArrayItems&&Array.isArray(val)&&isEmpty(val)){lastChild=this.dummy()}else if(isObject(val)&&isEmpty(val)){lastChild=this.element(key)}else if(!this.options.keepNullNodes&&val==null){lastChild=this.dummy()}else if(!this.options.separateArrayItems&&Array.isArray(val)){for(k=0,len1=val.length;k<len1;k++){item=val[k];childNode={};childNode[key]=item;lastChild=this.element(childNode)}}else if(isObject(val)){if(!this.options.ignoreDecorators&&this.stringify.convertTextKey&&key.indexOf(this.stringify.convertTextKey)===0){lastChild=this.element(val)}else{lastChild=this.element(key);lastChild.element(val)}}else{lastChild=this.element(key,val)}}}else if(!this.options.keepNullNodes&&text===null){lastChild=this.dummy()}else{if(!this.options.ignoreDecorators&&this.stringify.convertTextKey&&name.indexOf(this.stringify.convertTextKey)===0){lastChild=this.text(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&name.indexOf(this.stringify.convertCDataKey)===0){lastChild=this.cdata(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&name.indexOf(this.stringify.convertCommentKey)===0){lastChild=this.comment(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertRawKey&&name.indexOf(this.stringify.convertRawKey)===0){lastChild=this.raw(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertPIKey&&name.indexOf(this.stringify.convertPIKey)===0){lastChild=this.instruction(name.substr(this.stringify.convertPIKey.length),text)}else{lastChild=this.node(name,attributes,text)}}if(lastChild==null){throw new Error("Could not create any elements with: "+name+". "+this.debugInfo())}return lastChild};XMLNode.prototype.insertBefore=function(name,attributes,text){var child,i,newChild,refChild,removed;if(name!=null?name.type:void 0){newChild=name;refChild=attributes;newChild.setParent(this);if(refChild){i=children.indexOf(refChild);removed=children.splice(i);children.push(newChild);Array.prototype.push.apply(children,removed)}else{children.push(newChild)}return newChild}else{if(this.isRoot){throw new Error("Cannot insert elements at root level. "+this.debugInfo(name))}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child}};XMLNode.prototype.insertAfter=function(name,attributes,text){var child,i,removed;if(this.isRoot){throw new Error("Cannot insert elements at root level. "+this.debugInfo(name))}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child};XMLNode.prototype.remove=function(){var i,ref2;if(this.isRoot){throw new Error("Cannot remove the root element. "+this.debugInfo())}i=this.parent.children.indexOf(this);[].splice.apply(this.parent.children,[i,i-i+1].concat(ref2=[])),ref2;return this.parent};XMLNode.prototype.node=function(name,attributes,text){var child,ref2;if(name!=null){name=getValue(name)}attributes||(attributes={});attributes=getValue(attributes);if(!isObject(attributes)){ref2=[attributes,text],text=ref2[0],attributes=ref2[1]}child=new XMLElement(this,name,attributes);if(text!=null){child.text(text)}this.children.push(child);return child};XMLNode.prototype.text=function(value){var child;if(isObject(value)){this.element(value)}child=new XMLText(this,value);this.children.push(child);return this};XMLNode.prototype.cdata=function(value){var child;child=new XMLCData(this,value);this.children.push(child);return this};XMLNode.prototype.comment=function(value){var child;child=new XMLComment(this,value);this.children.push(child);return this};XMLNode.prototype.commentBefore=function(value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.comment(value);Array.prototype.push.apply(this.parent.children,removed);return this};XMLNode.prototype.commentAfter=function(value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.comment(value);Array.prototype.push.apply(this.parent.children,removed);return this};XMLNode.prototype.raw=function(value){var child;child=new XMLRaw(this,value);this.children.push(child);return this};XMLNode.prototype.dummy=function(){var child;child=new XMLDummy(this);return child};XMLNode.prototype.instruction=function(target,value){var insTarget,insValue,instruction,j,len;if(target!=null){target=getValue(target)}if(value!=null){value=getValue(value)}if(Array.isArray(target)){for(j=0,len=target.length;j<len;j++){insTarget=target[j];this.instruction(insTarget)}}else if(isObject(target)){for(insTarget in target){if(!hasProp.call(target,insTarget))continue;insValue=target[insTarget];this.instruction(insTarget,insValue)}}else{if(isFunction(value)){value=value.apply()}instruction=new XMLProcessingInstruction(this,target,value);this.children.push(instruction)}return this};XMLNode.prototype.instructionBefore=function(target,value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.instruction(target,value);Array.prototype.push.apply(this.parent.children,removed);return this};XMLNode.prototype.instructionAfter=function(target,value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.instruction(target,value);Array.prototype.push.apply(this.parent.children,removed);return this};XMLNode.prototype.declaration=function(version,encoding,standalone){var doc,xmldec;doc=this.document();xmldec=new XMLDeclaration(doc,version,encoding,standalone);if(doc.children.length===0){doc.children.unshift(xmldec)}else if(doc.children[0].type===NodeType.Declaration){doc.children[0]=xmldec}else{doc.children.unshift(xmldec)}return doc.root()||doc};XMLNode.prototype.dtd=function(pubID,sysID){var child,doc,doctype,i,j,k,len,len1,ref2,ref3;doc=this.document();doctype=new XMLDocType(doc,pubID,sysID);ref2=doc.children;for(i=j=0,len=ref2.length;j<len;i=++j){child=ref2[i];if(child.type===NodeType.DocType){doc.children[i]=doctype;return doctype}}ref3=doc.children;for(i=k=0,len1=ref3.length;k<len1;i=++k){child=ref3[i];if(child.isRoot){doc.children.splice(i,0,doctype);return doctype}}doc.children.push(doctype);return doctype};XMLNode.prototype.up=function(){if(this.isRoot){throw new Error("The root node has no parent. Use doc() if you need to get the document object.")}return this.parent};XMLNode.prototype.root=function(){var node;node=this;while(node){if(node.type===NodeType.Document){return node.rootObject}else if(node.isRoot){return node}else{node=node.parent}}};XMLNode.prototype.document=function(){var node;node=this;while(node){if(node.type===NodeType.Document){return node}else{node=node.parent}}};XMLNode.prototype.end=function(options){return this.document().end(options)};XMLNode.prototype.prev=function(){var i;i=this.parent.children.indexOf(this);if(i<1){throw new Error("Already at the first node. "+this.debugInfo())}return this.parent.children[i-1]};XMLNode.prototype.next=function(){var i;i=this.parent.children.indexOf(this);if(i===-1||i===this.parent.children.length-1){throw new Error("Already at the last node. "+this.debugInfo())}return this.parent.children[i+1]};XMLNode.prototype.importDocument=function(doc){var clonedRoot;clonedRoot=doc.root().clone();clonedRoot.parent=this;clonedRoot.isRoot=false;this.children.push(clonedRoot);return this};XMLNode.prototype.debugInfo=function(name){var ref2,ref3;name=name||this.name;if(name==null&&!((ref2=this.parent)!=null?ref2.name:void 0)){return""}else if(name==null){return"parent: <"+this.parent.name+">"}else if(!((ref3=this.parent)!=null?ref3.name:void 0)){return"node: <"+name+">"}else{return"node: <"+name+">, parent: <"+this.parent.name+">"}};XMLNode.prototype.ele=function(name,attributes,text){return this.element(name,attributes,text)};XMLNode.prototype.nod=function(name,attributes,text){return this.node(name,attributes,text)};XMLNode.prototype.txt=function(value){return this.text(value)};XMLNode.prototype.dat=function(value){return this.cdata(value)};XMLNode.prototype.com=function(value){return this.comment(value)};XMLNode.prototype.ins=function(target,value){return this.instruction(target,value)};XMLNode.prototype.doc=function(){return this.document()};XMLNode.prototype.dec=function(version,encoding,standalone){return this.declaration(version,encoding,standalone)};XMLNode.prototype.e=function(name,attributes,text){return this.element(name,attributes,text)};XMLNode.prototype.n=function(name,attributes,text){return this.node(name,attributes,text)};XMLNode.prototype.t=function(value){return this.text(value)};XMLNode.prototype.d=function(value){return this.cdata(value)};XMLNode.prototype.c=function(value){return this.comment(value)};XMLNode.prototype.r=function(value){return this.raw(value)};XMLNode.prototype.i=function(target,value){return this.instruction(target,value)};XMLNode.prototype.u=function(){return this.up()};XMLNode.prototype.importXMLBuilder=function(doc){return this.importDocument(doc)};XMLNode.prototype.replaceChild=function(newChild,oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.removeChild=function(oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.appendChild=function(newChild){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.hasChildNodes=function(){return this.children.length!==0};XMLNode.prototype.cloneNode=function(deep){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.isSupported=function(feature,version){return true};XMLNode.prototype.hasAttributes=function(){return this.attribs.length!==0};XMLNode.prototype.compareDocumentPosition=function(other){var ref,res;ref=this;if(ref===other){return 0}else if(this.document()!==other.document()){res=DocumentPosition.Disconnected|DocumentPosition.ImplementationSpecific;if(Math.random()<.5){res|=DocumentPosition.Preceding}else{res|=DocumentPosition.Following}return res}else if(ref.isAncestor(other)){return DocumentPosition.Contains|DocumentPosition.Preceding}else if(ref.isDescendant(other)){return DocumentPosition.Contains|DocumentPosition.Following}else if(ref.isPreceding(other)){return DocumentPosition.Preceding}else{return DocumentPosition.Following}};XMLNode.prototype.isSameNode=function(other){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.lookupPrefix=function(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.isDefaultNamespace=function(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.lookupNamespaceURI=function(prefix){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.isEqualNode=function(node){var i,j,ref2;if(node.nodeType!==this.nodeType){return false}if(node.children.length!==this.children.length){return false}for(i=j=0,ref2=this.children.length-1;0<=ref2?j<=ref2:j>=ref2;i=0<=ref2?++j:--j){if(!this.children[i].isEqualNode(node.children[i])){return false}}return true};XMLNode.prototype.getFeature=function(feature,version){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.setUserData=function(key,data,handler){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.getUserData=function(key){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLNode.prototype.contains=function(other){if(!other){return false}return other===this||this.isDescendant(other)};XMLNode.prototype.isDescendant=function(node){var child,isDescendantChild,j,len,ref2;ref2=this.children;for(j=0,len=ref2.length;j<len;j++){child=ref2[j];if(node===child){return true}isDescendantChild=child.isDescendant(node);if(isDescendantChild){return true}}return false};XMLNode.prototype.isAncestor=function(node){return node.isDescendant(this)};XMLNode.prototype.isPreceding=function(node){var nodePos,thisPos;nodePos=this.treePosition(node);thisPos=this.treePosition(this);if(nodePos===-1||thisPos===-1){return false}else{return nodePos<thisPos}};XMLNode.prototype.isFollowing=function(node){var nodePos,thisPos;nodePos=this.treePosition(node);thisPos=this.treePosition(this);if(nodePos===-1||thisPos===-1){return false}else{return nodePos>thisPos}};XMLNode.prototype.treePosition=function(node){var found,pos;pos=0;found=false;this.foreachTreeNode(this.document(),function(childNode){pos++;if(!found&&childNode===node){return found=true}});if(found){return pos}else{return-1}};XMLNode.prototype.foreachTreeNode=function(node,func){var child,j,len,ref2,res;node||(node=this.document());ref2=node.children;for(j=0,len=ref2.length;j<len;j++){child=ref2[j];if(res=func(child)){return res}else{res=this.foreachTreeNode(child,func);if(res){return res}}}};return XMLNode}()}).call(this)},{"./DocumentPosition":8,"./NodeType":9,"./Utility":10,"./XMLCData":13,"./XMLComment":15,"./XMLDeclaration":24,"./XMLDocType":25,"./XMLDummy":28,"./XMLElement":29,"./XMLNamedNodeMap":30,"./XMLNodeList":32,"./XMLProcessingInstruction":33,"./XMLRaw":34,"./XMLText":38}],32:[function(require,module,exports){(function(){var XMLNodeList;module.exports=XMLNodeList=function(){function XMLNodeList(nodes){this.nodes=nodes}Object.defineProperty(XMLNodeList.prototype,"length",{get:function(){return this.nodes.length||0}});XMLNodeList.prototype.clone=function(){return this.nodes=null};XMLNodeList.prototype.item=function(index){return this.nodes[index]||null};return XMLNodeList}()}).call(this)},{}],33:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLProcessingInstruction,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLProcessingInstruction=function(superClass){extend(XMLProcessingInstruction,superClass);function XMLProcessingInstruction(parent,target,value){XMLProcessingInstruction.__super__.constructor.call(this,parent);if(target==null){throw new Error("Missing instruction target. "+this.debugInfo())}this.type=NodeType.ProcessingInstruction;this.target=this.stringify.insTarget(target);this.name=this.target;if(value){this.value=this.stringify.insValue(value)}}XMLProcessingInstruction.prototype.clone=function(){return Object.create(this)};XMLProcessingInstruction.prototype.toString=function(options){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(options))};XMLProcessingInstruction.prototype.isEqualNode=function(node){if(!XMLProcessingInstruction.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)){return false}if(node.target!==this.target){return false}return true};return XMLProcessingInstruction}(XMLCharacterData)}).call(this)},{"./NodeType":9,"./XMLCharacterData":14}],34:[function(require,module,exports){(function(){var NodeType,XMLNode,XMLRaw,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLNode=require("./XMLNode");module.exports=XMLRaw=function(superClass){extend(XMLRaw,superClass);function XMLRaw(parent,text){XMLRaw.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing raw text. "+this.debugInfo())}this.type=NodeType.Raw;this.value=this.stringify.raw(text)}XMLRaw.prototype.clone=function(){return Object.create(this)};XMLRaw.prototype.toString=function(options){return this.options.writer.raw(this,this.options.writer.filterOptions(options))};return XMLRaw}(XMLNode)}).call(this)},{"./NodeType":9,"./XMLNode":31}],35:[function(require,module,exports){(function(){var NodeType,WriterState,XMLStreamWriter,XMLWriterBase,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLWriterBase=require("./XMLWriterBase");WriterState=require("./WriterState");module.exports=XMLStreamWriter=function(superClass){extend(XMLStreamWriter,superClass);function XMLStreamWriter(stream,options){this.stream=stream;XMLStreamWriter.__super__.constructor.call(this,options)}XMLStreamWriter.prototype.endline=function(node,options,level){if(node.isLastRootNode&&options.state===WriterState.CloseTag){return""}else{return XMLStreamWriter.__super__.endline.call(this,node,options,level)}};XMLStreamWriter.prototype.document=function(doc,options){var child,i,j,k,len,len1,ref,ref1,results;ref=doc.children;for(i=j=0,len=ref.length;j<len;i=++j){child=ref[i];child.isLastRootNode=i===doc.children.length-1}options=this.filterOptions(options);ref1=doc.children;results=[];for(k=0,len1=ref1.length;k<len1;k++){child=ref1[k];results.push(this.writeChildNode(child,options,0))}return results};XMLStreamWriter.prototype.attribute=function(att,options,level){return this.stream.write(XMLStreamWriter.__super__.attribute.call(this,att,options,level))};XMLStreamWriter.prototype.cdata=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.cdata.call(this,node,options,level))};XMLStreamWriter.prototype.comment=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.comment.call(this,node,options,level))};XMLStreamWriter.prototype.declaration=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.declaration.call(this,node,options,level))};XMLStreamWriter.prototype.docType=function(node,options,level){var child,j,len,ref;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;this.stream.write(this.indent(node,options,level));this.stream.write("<!DOCTYPE "+node.root().name);if(node.pubID&&node.sysID){this.stream.write(' PUBLIC "'+node.pubID+'" "'+node.sysID+'"')}else if(node.sysID){this.stream.write(' SYSTEM "'+node.sysID+'"')}if(node.children.length>0){this.stream.write(" [");this.stream.write(this.endline(node,options,level));options.state=WriterState.InsideTag;ref=node.children;for(j=0,len=ref.length;j<len;j++){child=ref[j];this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;this.stream.write("]")}options.state=WriterState.CloseTag;this.stream.write(options.spaceBeforeSlash+">");this.stream.write(this.endline(node,options,level));options.state=WriterState.None;return this.closeNode(node,options,level)};XMLStreamWriter.prototype.element=function(node,options,level){var att,child,childNodeCount,firstChildNode,j,len,name,prettySuppressed,ref,ref1;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;this.stream.write(this.indent(node,options,level)+"<"+node.name);ref=node.attribs;for(name in ref){if(!hasProp.call(ref,name))continue;att=ref[name];this.attribute(att,options,level)}childNodeCount=node.children.length;firstChildNode=childNodeCount===0?null:node.children[0];if(childNodeCount===0||node.children.every(function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&e.value===""})){if(options.allowEmpty){this.stream.write(">");options.state=WriterState.CloseTag;this.stream.write("</"+node.name+">")}else{options.state=WriterState.CloseTag;this.stream.write(options.spaceBeforeSlash+"/>")}}else if(options.pretty&&childNodeCount===1&&(firstChildNode.type===NodeType.Text||firstChildNode.type===NodeType.Raw)&&firstChildNode.value!=null){this.stream.write(">");options.state=WriterState.InsideTag;options.suppressPrettyCount++;prettySuppressed=true;this.writeChildNode(firstChildNode,options,level+1);options.suppressPrettyCount--;prettySuppressed=false;options.state=WriterState.CloseTag;this.stream.write("</"+node.name+">")}else{this.stream.write(">"+this.endline(node,options,level));options.state=WriterState.InsideTag;ref1=node.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;this.stream.write(this.indent(node,options,level)+"</"+node.name+">")}this.stream.write(this.endline(node,options,level));options.state=WriterState.None;return this.closeNode(node,options,level)};XMLStreamWriter.prototype.processingInstruction=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this,node,options,level))};XMLStreamWriter.prototype.raw=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.raw.call(this,node,options,level))};XMLStreamWriter.prototype.text=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.text.call(this,node,options,level))};XMLStreamWriter.prototype.dtdAttList=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this,node,options,level))};XMLStreamWriter.prototype.dtdElement=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this,node,options,level))};XMLStreamWriter.prototype.dtdEntity=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this,node,options,level))};XMLStreamWriter.prototype.dtdNotation=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this,node,options,level))};return XMLStreamWriter}(XMLWriterBase)}).call(this)},{"./NodeType":9,"./WriterState":11,"./XMLWriterBase":39}],36:[function(require,module,exports){(function(){var XMLStringWriter,XMLWriterBase,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;XMLWriterBase=require("./XMLWriterBase");module.exports=XMLStringWriter=function(superClass){extend(XMLStringWriter,superClass);function XMLStringWriter(options){XMLStringWriter.__super__.constructor.call(this,options)}XMLStringWriter.prototype.document=function(doc,options){var child,i,len,r,ref;options=this.filterOptions(options);r="";ref=doc.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];r+=this.writeChildNode(child,options,0)}if(options.pretty&&r.slice(-options.newline.length)===options.newline){r=r.slice(0,-options.newline.length)}return r};return XMLStringWriter}(XMLWriterBase)}).call(this)},{"./XMLWriterBase":39}],37:[function(require,module,exports){(function(){var XMLStringifier,bind=function(fn,me){return function(){return fn.apply(me,arguments)}},hasProp={}.hasOwnProperty;module.exports=XMLStringifier=function(){function XMLStringifier(options){this.assertLegalName=bind(this.assertLegalName,this);this.assertLegalChar=bind(this.assertLegalChar,this);var key,ref,value;options||(options={});this.options=options;if(!this.options.version){this.options.version="1.0"}ref=options.stringify||{};for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this[key]=value}}XMLStringifier.prototype.name=function(val){if(this.options.noValidation){return val}return this.assertLegalName(""+val||"")};XMLStringifier.prototype.text=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(this.textEscape(""+val||""))};XMLStringifier.prototype.cdata=function(val){if(this.options.noValidation){return val}val=""+val||"";val=val.replace("]]>","]]]]><![CDATA[>");return this.assertLegalChar(val)};XMLStringifier.prototype.comment=function(val){if(this.options.noValidation){return val}val=""+val||"";if(val.match(/--/)){throw new Error("Comment text cannot contain double-hypen: "+val)}return this.assertLegalChar(val)};XMLStringifier.prototype.raw=function(val){if(this.options.noValidation){return val}return""+val||""};XMLStringifier.prototype.attValue=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(this.attEscape(val=""+val||""))};XMLStringifier.prototype.insTarget=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.insValue=function(val){if(this.options.noValidation){return val}val=""+val||"";if(val.match(/\?>/)){throw new Error("Invalid processing instruction value: "+val)}return this.assertLegalChar(val)};XMLStringifier.prototype.xmlVersion=function(val){if(this.options.noValidation){return val}val=""+val||"";if(!val.match(/1\.[0-9]+/)){throw new Error("Invalid version number: "+val)}return val};XMLStringifier.prototype.xmlEncoding=function(val){if(this.options.noValidation){return val}val=""+val||"";if(!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)){throw new Error("Invalid encoding: "+val)}return this.assertLegalChar(val)};XMLStringifier.prototype.xmlStandalone=function(val){if(this.options.noValidation){return val}if(val){return"yes"}else{return"no"}};XMLStringifier.prototype.dtdPubID=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdSysID=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdElementValue=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdAttType=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdAttDefault=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdEntityValue=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.dtdNData=function(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")};XMLStringifier.prototype.convertAttKey="@";XMLStringifier.prototype.convertPIKey="?";XMLStringifier.prototype.convertTextKey="#text";XMLStringifier.prototype.convertCDataKey="#cdata";XMLStringifier.prototype.convertCommentKey="#comment";XMLStringifier.prototype.convertRawKey="#raw";XMLStringifier.prototype.assertLegalChar=function(str){var regex,res;if(this.options.noValidation){return str}regex="";if(this.options.version==="1.0"){regex=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;if(res=str.match(regex)){throw new Error("Invalid character in string: "+str+" at index "+res.index)}}else if(this.options.version==="1.1"){regex=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;if(res=str.match(regex)){throw new Error("Invalid character in string: "+str+" at index "+res.index)}}return str};XMLStringifier.prototype.assertLegalName=function(str){var regex;if(this.options.noValidation){return str}this.assertLegalChar(str);regex=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/;if(!str.match(regex)){throw new Error("Invalid character in name")}return str};XMLStringifier.prototype.textEscape=function(str){var ampregex;if(this.options.noValidation){return str}ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g;return str.replace(ampregex,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#xD;")};XMLStringifier.prototype.attEscape=function(str){var ampregex;if(this.options.noValidation){return str}ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g;return str.replace(ampregex,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")};return XMLStringifier}()}).call(this)},{}],38:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLText,extend=function(child,parent){for(var key in parent){if(hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLText=function(superClass){extend(XMLText,superClass);function XMLText(parent,text){XMLText.__super__.constructor.call(this,parent);if(text==null){throw new Error("Missing element text. "+this.debugInfo())}this.name="#text";this.type=NodeType.Text;this.value=this.stringify.text(text)}Object.defineProperty(XMLText.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLText.prototype,"wholeText",{get:function(){var next,prev,str;str="";prev=this.previousSibling;while(prev){str=prev.data+str;prev=prev.previousSibling}str+=this.data;next=this.nextSibling;while(next){str=str+next.data;next=next.nextSibling}return str}});XMLText.prototype.clone=function(){return Object.create(this)};XMLText.prototype.toString=function(options){return this.options.writer.text(this,this.options.writer.filterOptions(options))};XMLText.prototype.splitText=function(offset){throw new Error("This DOM method is not implemented."+this.debugInfo())};XMLText.prototype.replaceWholeText=function(content){throw new Error("This DOM method is not implemented."+this.debugInfo())};return XMLText}(XMLCharacterData)}).call(this)},{"./NodeType":9,"./XMLCharacterData":14}],39:[function(require,module,exports){(function(){var NodeType,WriterState,XMLCData,XMLComment,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDeclaration,XMLDocType,XMLDummy,XMLElement,XMLProcessingInstruction,XMLRaw,XMLText,XMLWriterBase,assign,hasProp={}.hasOwnProperty;assign=require("./Utility").assign;NodeType=require("./NodeType");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLElement=require("./XMLElement");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDummy=require("./XMLDummy");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDElement=require("./XMLDTDElement");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDNotation=require("./XMLDTDNotation");WriterState=require("./WriterState");module.exports=XMLWriterBase=function(){function XMLWriterBase(options){var key,ref,value;options||(options={});this.options=options;ref=options.writer||{};for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this["_"+key]=this[key];this[key]=value}}XMLWriterBase.prototype.filterOptions=function(options){var filteredOptions,ref,ref1,ref2,ref3,ref4,ref5,ref6;options||(options={});options=assign({},this.options,options);filteredOptions={writer:this};filteredOptions.pretty=options.pretty||false;filteredOptions.allowEmpty=options.allowEmpty||false;filteredOptions.indent=(ref=options.indent)!=null?ref:" ";filteredOptions.newline=(ref1=options.newline)!=null?ref1:"\n";filteredOptions.offset=(ref2=options.offset)!=null?ref2:0;filteredOptions.dontPrettyTextNodes=(ref3=(ref4=options.dontPrettyTextNodes)!=null?ref4:options.dontprettytextnodes)!=null?ref3:0;filteredOptions.spaceBeforeSlash=(ref5=(ref6=options.spaceBeforeSlash)!=null?ref6:options.spacebeforeslash)!=null?ref5:"";if(filteredOptions.spaceBeforeSlash===true){filteredOptions.spaceBeforeSlash=" "}filteredOptions.suppressPrettyCount=0;filteredOptions.user={};filteredOptions.state=WriterState.None;return filteredOptions};XMLWriterBase.prototype.indent=function(node,options,level){var indentLevel;if(!options.pretty||options.suppressPrettyCount){return""}else if(options.pretty){indentLevel=(level||0)+options.offset+1;if(indentLevel>0){return new Array(indentLevel).join(options.indent)}}return""};XMLWriterBase.prototype.endline=function(node,options,level){if(!options.pretty||options.suppressPrettyCount){return""}else{return options.newline}};XMLWriterBase.prototype.attribute=function(att,options,level){var r;this.openAttribute(att,options,level);r=" "+att.name+'="'+att.value+'"';this.closeAttribute(att,options,level);return r};XMLWriterBase.prototype.cdata=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<![CDATA[";options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+="]]>"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.comment=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"\x3c!-- ";options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=" --\x3e"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.declaration=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<?xml";options.state=WriterState.InsideTag;r+=' version="'+node.version+'"';if(node.encoding!=null){r+=' encoding="'+node.encoding+'"'}if(node.standalone!=null){r+=' standalone="'+node.standalone+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"?>";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.docType=function(node,options,level){var child,i,len,r,ref;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);r+="<!DOCTYPE "+node.root().name;if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}if(node.children.length>0){r+=" [";r+=this.endline(node,options,level);options.state=WriterState.InsideTag;ref=node.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];r+=this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;r+="]"}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.element=function(node,options,level){var att,child,childNodeCount,firstChildNode,i,j,len,len1,name,prettySuppressed,r,ref,ref1,ref2;level||(level=0);prettySuppressed=false;r="";this.openNode(node,options,level);options.state=WriterState.OpenTag;r+=this.indent(node,options,level)+"<"+node.name;ref=node.attribs;for(name in ref){if(!hasProp.call(ref,name))continue;att=ref[name];r+=this.attribute(att,options,level)}childNodeCount=node.children.length;firstChildNode=childNodeCount===0?null:node.children[0];if(childNodeCount===0||node.children.every(function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&e.value===""})){if(options.allowEmpty){r+=">";options.state=WriterState.CloseTag;r+="</"+node.name+">"+this.endline(node,options,level)}else{options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"/>"+this.endline(node,options,level)}}else if(options.pretty&&childNodeCount===1&&(firstChildNode.type===NodeType.Text||firstChildNode.type===NodeType.Raw)&&firstChildNode.value!=null){r+=">";options.state=WriterState.InsideTag;options.suppressPrettyCount++;prettySuppressed=true;r+=this.writeChildNode(firstChildNode,options,level+1);options.suppressPrettyCount--;prettySuppressed=false;options.state=WriterState.CloseTag;r+="</"+node.name+">"+this.endline(node,options,level)}else{if(options.dontPrettyTextNodes){ref1=node.children;for(i=0,len=ref1.length;i<len;i++){child=ref1[i];if((child.type===NodeType.Text||child.type===NodeType.Raw)&&child.value!=null){options.suppressPrettyCount++;prettySuppressed=true;break}}}r+=">"+this.endline(node,options,level);options.state=WriterState.InsideTag;ref2=node.children;for(j=0,len1=ref2.length;j<len1;j++){child=ref2[j];r+=this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;r+=this.indent(node,options,level)+"</"+node.name+">";if(prettySuppressed){options.suppressPrettyCount--}r+=this.endline(node,options,level);options.state=WriterState.None}this.closeNode(node,options,level);return r};XMLWriterBase.prototype.writeChildNode=function(node,options,level){switch(node.type){case NodeType.CData:return this.cdata(node,options,level);case NodeType.Comment:return this.comment(node,options,level);case NodeType.Element:return this.element(node,options,level);case NodeType.Raw:return this.raw(node,options,level);case NodeType.Text:return this.text(node,options,level);case NodeType.ProcessingInstruction:return this.processingInstruction(node,options,level);case NodeType.Dummy:return"";case NodeType.Declaration:return this.declaration(node,options,level);case NodeType.DocType:return this.docType(node,options,level);case NodeType.AttributeDeclaration:return this.dtdAttList(node,options,level);case NodeType.ElementDeclaration:return this.dtdElement(node,options,level);case NodeType.EntityDeclaration:return this.dtdEntity(node,options,level);case NodeType.NotationDeclaration:return this.dtdNotation(node,options,level);default:throw new Error("Unknown XML node type: "+node.constructor.name)}};XMLWriterBase.prototype.processingInstruction=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<?";options.state=WriterState.InsideTag;r+=node.target;if(node.value){r+=" "+node.value}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"?>";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.raw=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.text=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.dtdAttList=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ATTLIST";options.state=WriterState.InsideTag;r+=" "+node.elementName+" "+node.attributeName+" "+node.attributeType;if(node.defaultValueType!=="#DEFAULT"){r+=" "+node.defaultValueType}if(node.defaultValue){r+=' "'+node.defaultValue+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.dtdElement=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ELEMENT";options.state=WriterState.InsideTag;r+=" "+node.name+" "+node.value;options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.dtdEntity=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ENTITY";options.state=WriterState.InsideTag;if(node.pe){r+=" %"}r+=" "+node.name;if(node.value){r+=' "'+node.value+'"'}else{if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}if(node.nData){r+=" NDATA "+node.nData}}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.dtdNotation=function(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!NOTATION";options.state=WriterState.InsideTag;r+=" "+node.name;if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.pubID){r+=' PUBLIC "'+node.pubID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r};XMLWriterBase.prototype.openNode=function(node,options,level){};XMLWriterBase.prototype.closeNode=function(node,options,level){};XMLWriterBase.prototype.openAttribute=function(att,options,level){};XMLWriterBase.prototype.closeAttribute=function(att,options,level){};return XMLWriterBase}()}).call(this)},{"./NodeType":9,"./Utility":10,"./WriterState":11,"./XMLCData":13,"./XMLComment":15,"./XMLDTDAttList":20,"./XMLDTDElement":21,"./XMLDTDEntity":22,"./XMLDTDNotation":23,"./XMLDeclaration":24,"./XMLDocType":25,"./XMLDummy":28,"./XMLElement":29,"./XMLProcessingInstruction":33,"./XMLRaw":34,"./XMLText":38}],40:[function(require,module,exports){(function(){var NodeType,WriterState,XMLDOMImplementation,XMLDocument,XMLDocumentCB,XMLStreamWriter,XMLStringWriter,assign,isFunction,ref;ref=require("./Utility"),assign=ref.assign,isFunction=ref.isFunction;XMLDOMImplementation=require("./XMLDOMImplementation");XMLDocument=require("./XMLDocument");XMLDocumentCB=require("./XMLDocumentCB");XMLStringWriter=require("./XMLStringWriter");XMLStreamWriter=require("./XMLStreamWriter");NodeType=require("./NodeType");WriterState=require("./WriterState");module.exports.create=function(name,xmldec,doctype,options){var doc,root;if(name==null){throw new Error("Root element needs a name.")}options=assign({},xmldec,doctype,options);doc=new XMLDocument(options);root=doc.element(name);if(!options.headless){doc.declaration(options);if(options.pubID!=null||options.sysID!=null){doc.dtd(options)}}return root};module.exports.begin=function(options,onData,onEnd){var ref1;if(isFunction(options)){ref1=[options,onData],onData=ref1[0],onEnd=ref1[1];options={}}if(onData){return new XMLDocumentCB(options,onData,onEnd)}else{return new XMLDocument(options)}};module.exports.stringWriter=function(options){return new XMLStringWriter(options)};module.exports.streamWriter=function(stream,options){return new XMLStreamWriter(stream,options)};module.exports.implementation=new XMLDOMImplementation;module.exports.nodeType=NodeType;module.exports.writerState=WriterState}).call(this)},{"./NodeType":9,"./Utility":10,"./WriterState":11,"./XMLDOMImplementation":18,"./XMLDocument":26,"./XMLDocumentCB":27,"./XMLStreamWriter":35,"./XMLStringWriter":36}],41:[function(require,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i}revLookup["-".charCodeAt(0)]=62;revLookup["_".charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[curByte++]=tmp>>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16&16711680)+(uint8[i+1]<<8&65280)+(uint8[i+2]&255);output.push(tripletToBase64(tmp))}return output.join("")}function fromByteArray(uint8){var tmp;var len=uint8.length;var extraBytes=len%3;var parts=[];var maxChunkLength=16383;for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],42:[function(require,module,exports){},{}],43:[function(require,module,exports){(function(Buffer){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}Object.defineProperty(Buffer.prototype,"parent",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.buffer}});Object.defineProperty(Buffer.prototype,"offset",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.byteOffset}});function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i<length;i+=1){buf[i]=array[i]&255}return buf}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset){throw new RangeError('"offset" is outside of buffer bounds')}if(array.byteLength<byteOffset+(length||0)){throw new RangeError('"length" is outside of buffer bounds')}var buf;if(byteOffset===undefined&&length===undefined){buf=new Uint8Array(array)}else if(length===undefined){buf=new Uint8Array(array,byteOffset)}else{buf=new Uint8Array(array,byteOffset,length)}buf.__proto__=Buffer.prototype;return buf}function fromObject(obj){if(Buffer.isBuffer(obj)){var len=checked(obj.length)|0;var buf=createBuffer(len);if(buf.length===0){return buf}obj.copy(buf,0,0,len);return buf}if(obj.length!==undefined){if(typeof obj.length!=="number"||numberIsNaN(obj.length)){return createBuffer(0)}return fromArrayLike(obj)}if(obj.type==="Buffer"&&Array.isArray(obj.data)){return fromArrayLike(obj.data)}}function checked(length){if(length>=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function isEncoding(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.concat=function concat(list,length){if(!Array.isArray(list)){throw new TypeError('"list" argument must be an Array of Buffers')}if(list.length===0){return Buffer.alloc(0)}var i;if(length===undefined){length=0;for(i=0;i<list.length;++i){length+=list[i].length}}var buffer=Buffer.allocUnsafe(length);var pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)){buf=Buffer.from(buf)}if(!Buffer.isBuffer(buf)){throw new TypeError('"list" argument must be an Array of Buffers')}buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string)){return string.length}if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer)){return string.byteLength}if(typeof string!=="string"){throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. '+"Received type "+typeof string)}var len=string.length;var mustMatch=arguments.length>2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i<len;i+=2){swap(this,i,i+1)}return this};Buffer.prototype.swap32=function swap32(){var len=this.length;if(len%4!==0){throw new RangeError("Buffer size must be a multiple of 32-bits")}for(var i=0;i<len;i+=4){swap(this,i,i+3);swap(this,i+1,i+2)}return this};Buffer.prototype.swap64=function swap64(){var len=this.length;if(len%8!==0){throw new RangeError("Buffer size must be a multiple of 64-bits")}for(var i=0;i<len;i+=8){swap(this,i,i+7);swap(this,i+1,i+6);swap(this,i+2,i+5);swap(this,i+3,i+4)}return this};Buffer.prototype.toString=function toString(){var length=this.length;if(length===0)return"";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.toLocaleString=Buffer.prototype.toString;Buffer.prototype.equals=function equals(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");if(this===b)return true;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function inspect(){var str="";var max=exports.INSPECT_MAX_BYTES;str=this.toString("hex",0,max).replace(/(.{2})/g,"$1 ").trim();if(this.length>max)str+=" ... ";return"<Buffer "+str+">"};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i<len;++i){if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i];y=targetCopy[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset==="string"){encoding=byteOffset;byteOffset=0}else if(byteOffset>2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++){if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1)foundIndex=i;if(i-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i-=i-foundIndex;foundIndex=-1}}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;j<valLength;j++){if(read(arr,i+j)!==read(val,j)){found=false;break}}if(found)return i}}return-1}Buffer.prototype.includes=function includes(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function indexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,true)};Buffer.prototype.lastIndexOf=function lastIndexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,false)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i<length;++i){var parsed=parseInt(string.substr(i*2,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function write(string,offset,length,encoding){if(offset===undefined){encoding="utf8";length=this.length;offset=0}else if(length===undefined&&typeof offset==="string"){encoding=offset;length=this.length;offset=0}else if(isFinite(offset)){offset=offset>>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i<end){var firstByte=buf[i];var codePoint=null;var bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(i<len){res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH))}return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]&127)}return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i])}return ret}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;++i){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function slice(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;var newBuf=this.subarray(start,end);newBuf.__proto__=Buffer.prototype;return newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}return val};Buffer.prototype.readUIntBE=function readUIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){if(value<0&&sub===0&&this[offset+i-1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0){throw new RangeError("targetStart out of bounds")}if(start<0||start>=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart<end-start){end=target.length-targetStart+start}var len=end-start;if(this===target&&typeof Uint8Array.prototype.copyWithin==="function"){this.copyWithin(targetStart,start,end)}else if(this===target&&start<targetStart&&targetStart<end){for(var i=len-1;i>=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length<start||this.length<end){throw new RangeError("Out of range index")}if(end<=start){return this}start=start>>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i<end;++i){this[i]=val}}else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding);var len=bytes.length;if(len===0){throw new TypeError('The value "'+val+'" is invalid for argument "value"')}for(i=0;i<end-start;++i){this[i+start]=bytes[i%len]}}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(str){str=str.split("=")[0];str=str.trim().replace(INVALID_BASE64_RE,"");if(str.length<2)return"";while(str.length%4!==0){str=str+"="}return str}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];for(var i=0;i<length;++i){codePoint=string.charCodeAt(i);if(codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;++i){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str,units){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;++i){if((units-=2)<0)break;c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;++i){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this,require("buffer").Buffer)},{"base64-js":41,buffer:43,ieee754:46}],44:[function(require,module,exports){(function(Buffer){function isArray(arg){if(Array.isArray){return Array.isArray(arg)}return objectToString(arg)==="[object Array]"}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=Buffer.isBuffer;function objectToString(o){return Object.prototype.toString.call(o)}}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":48}],45:[function(require,module,exports){var objectCreate=Object.create||objectCreatePolyfill;var objectKeys=Object.keys||objectKeysPolyfill;var bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){if(!this._events||!Object.prototype.hasOwnProperty.call(this,"_events")){this._events=objectCreate(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;var hasDefineProperty;try{var o={};if(Object.defineProperty)Object.defineProperty(o,"x",{value:0});hasDefineProperty=o.x===0}catch(err){hasDefineProperty=false}if(hasDefineProperty){Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||arg!==arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}})}else{EventEmitter.defaultMaxListeners=defaultMaxListeners}EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');this._maxListeners=n;return this};function $getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return $getMaxListeners(this)};function emitNone(handler,isFn,self){if(isFn)handler.call(self);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self)}}function emitOne(handler,isFn,self,arg1){if(isFn)handler.call(self,arg1);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1)}}function emitTwo(handler,isFn,self,arg1,arg2){if(isFn)handler.call(self,arg1,arg2);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1,arg2)}}function emitThree(handler,isFn,self,arg1,arg2,arg3){if(isFn)handler.call(self,arg1,arg2,arg3);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1,arg2,arg3)}}function emitMany(handler,isFn,self,args){if(isFn)handler.apply(self,args);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].apply(self,args)}}EventEmitter.prototype.emit=function emit(type){var er,handler,len,args,i,events;var doError=type==="error";events=this._events;if(events)doError=doError&&events.error==null;else if(!doError)return false;if(doError){if(arguments.length>1)er=arguments[1];if(er instanceof Error){throw er}else{var err=new Error('Unhandled "error" event. ('+er+")");err.context=er;throw err}return false}handler=events[type];if(!handler)return false;var isFn=typeof handler==="function";len=arguments.length;switch(len){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];emitMany(handler,isFn,this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');events=target._events;if(!events){events=target._events=objectCreate(null);target._eventsCount=0}else{if(events.newListener){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(!existing){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else{if(prepend){existing.unshift(listener)}else{existing.push(listener)}}if(!existing.warned){m=$getMaxListeners(target);if(m&&m>0&&existing.length>m){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners '+"added. Use emitter.setMaxListeners() to "+"increase limit.");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;if(typeof console==="object"&&console.warn){console.warn("%s: %s",w.name,w.message)}}}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;switch(arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:var args=new Array(arguments.length);for(var i=0;i<args.length;++i)args[i]=arguments[i];this.listener.apply(this.target,args)}}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=bind.call(onceWrapper,state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');events=this._events;if(!events)return this;list=events[type];if(!list)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=objectCreate(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else spliceOne(list,position);if(list.length===1)events[type]=list[0];if(events.removeListener)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(!events)return this;if(!events.removeListener){if(arguments.length===0){this._events=objectCreate(null);this._eventsCount=0}else if(events[type]){if(--this._eventsCount===0)this._events=objectCreate(null);else delete events[type]}return this}if(arguments.length===0){var keys=objectKeys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=objectCreate(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];if(!evlistener)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function spliceOne(list,index){for(var i=index,k=i+1,n=list.length;k<n;i+=1,k+=1)list[i]=list[k];list.pop()}function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function objectCreatePolyfill(proto){var F=function(){};F.prototype=proto;return new F}function objectKeysPolyfill(obj){var keys=[];for(var k in obj)if(Object.prototype.hasOwnProperty.call(obj,k)){keys.push(k)}return k}function functionBindPolyfill(context){var fn=this;return function(){return fn.apply(context,arguments)}}},{}],46:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],47:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],48:[function(require,module,exports){module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},{}],49:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}],50:[function(require,module,exports){(function(process){"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){module.exports={nextTick:nextTick}}else{module.exports=process}function nextTick(fn,arg1,arg2,arg3){if(typeof fn!=="function"){throw new TypeError('"callback" argument must be a function')}var len=arguments.length;var args,i;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function afterTickOne(){fn.call(null,arg1)});case 3:return process.nextTick(function afterTickTwo(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function afterTickThree(){fn.call(null,arg1,arg2,arg3)});default:args=new Array(len-1);i=0;while(i<args.length){args[i++]=arguments[i]}return process.nextTick(function afterTick(){fn.apply(null,args)})}}}).call(this,require("_process"))},{_process:51}],51:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};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")};process.umask=function(){return 0}},{}],52:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":53}],53:[function(require,module,exports){"use strict";var pna=require("process-nextick-args");var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var util=Object.create(require("core-util-is"));util.inherits=require("inherits");var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");util.inherits(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v<keys.length;v++){var method=keys[v];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);if(options&&options.readable===false)this.readable=false;if(options&&options.writable===false)this.writable=false;this.allowHalfOpen=true;if(options&&options.allowHalfOpen===false)this.allowHalfOpen=false;this.once("end",onend)}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function onend(){if(this.allowHalfOpen||this._writableState.ended)return;pna.nextTick(onEndNT,this)}function onEndNT(self){self.end()}Object.defineProperty(Duplex.prototype,"destroyed",{get:function(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function(value){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=value;this._writableState.destroyed=value}});Duplex.prototype._destroy=function(err,cb){this.push(null);this.end();pna.nextTick(cb,err)}},{"./_stream_readable":55,"./_stream_writable":57,"core-util-is":44,inherits:47,"process-nextick-args":50}],54:[function(require,module,exports){"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");var util=Object.create(require("core-util-is"));util.inherits=require("inherits");util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":56,"core-util-is":44,inherits:47}],55:[function(require,module,exports){(function(process,global){"use strict";var pna=require("process-nextick-args");module.exports=Readable;var isArray=require("isarray");var Duplex;Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length};var Stream=require("./internal/streams/stream");var Buffer=require("safe-buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var util=Object.create(require("core-util-is"));util.inherits=require("inherits");var debugUtil=require("util");var debug=void 0;if(debugUtil&&debugUtil.debuglog){debug=debugUtil.debuglog("stream")}else{debug=function(){}}var BufferList=require("./internal/streams/BufferList");var destroyImpl=require("./internal/streams/destroy");var StringDecoder;util.inherits(Readable,Stream);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener==="function")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(isArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}function ReadableState(options,stream){Duplex=Duplex||require("./_stream_duplex");options=options||{};var isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.readableObjectMode;var hwm=options.highWaterMark;var readableHwm=options.readableHighWaterMark;var defaultHwm=this.objectMode?16:16*1024;if(hwm||hwm===0)this.highWaterMark=hwm;else if(isDuplex&&(readableHwm||readableHwm===0))this.highWaterMark=readableHwm;else this.highWaterMark=defaultHwm;this.highWaterMark=Math.floor(this.highWaterMark);this.buffer=new BufferList;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.destroyed=false;this.defaultEncoding=options.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){Duplex=Duplex||require("./_stream_duplex");if(!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this);this.readable=true;if(options){if(typeof options.read==="function")this._read=options.read;if(typeof options.destroy==="function")this._destroy=options.destroy}Stream.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function(value){if(!this._readableState){return}this._readableState.destroyed=value}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){this.push(null);cb(err)};Readable.prototype.push=function(chunk,encoding){var state=this._readableState;var skipChunkCheck;if(!state.objectMode){if(typeof chunk==="string"){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=Buffer.from(chunk,encoding);encoding=""}skipChunkCheck=true}}else{skipChunkCheck=true}return readableAddChunk(this,chunk,encoding,false,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,true,false)};function readableAddChunk(stream,chunk,encoding,addToFront,skipChunkCheck){var state=stream._readableState;if(chunk===null){state.reading=false;onEofChunk(stream,state)}else{var er;if(!skipChunkCheck)er=chunkInvalid(state,chunk);if(er){stream.emit("error",er)}else if(state.objectMode||chunk&&chunk.length>0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)stream.emit("error",new Error("stream.unshift() after end event"));else addChunk(stream,state,chunk,true)}else if(state.ended){stream.emit("error",new Error("stream.push() after EOF"))}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false}}return needMoreData(state)}function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync){stream.emit("data",chunk);stream.read(0)}else{state.length+=state.objectMode?1:chunk.length;if(addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream)}maybeReadMore(stream,state)}function chunkInvalid(state,chunk){var er;if(!_isUint8Array(chunk)&&typeof chunk!=="string"&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}return er}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this._readableState.decoder=new StringDecoder(enc);this._readableState.encoding=enc;return this};var MAX_HWM=8388608;function computeNewHighWaterMark(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n<state.highWaterMark){doRead=true;debug("length less than watermark",doRead)}if(state.ended||state.reading){doRead=false;debug("reading or ended",doRead)}else if(doRead){debug("do read");state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false;if(!state.reading)n=howMuchToRead(nOrig,state)}var ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=true;n=0}else{state.length-=n}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;emitReadable(stream)}function emitReadable(stream){var state=stream._readableState;state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;if(state.sync)pna.nextTick(emitReadable_,stream);else emitReadable_(stream)}}function emitReadable_(stream){debug("emit readable");stream.emit("readable");flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;pna.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){var len=state.length;while(!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark){debug("maybeReadMore read 0");stream.read(0);if(len===state.length)break;else len=state.length}state.readingMore=false}Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:unpipe;if(state.endEmitted)pna.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe");if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===false){unpipeInfo.hasUnpiped=true;cleanup()}}}function onend(){debug("onend");dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=false;function cleanup(){debug("cleanup");dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",unpipe);src.removeListener("data",ondata);cleanedUp=true;if(state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain))ondrain()}var increasedAwaitDrain=false;src.on("data",ondata);function ondata(chunk){debug("ondata");increasedAwaitDrain=false;var ret=dest.write(chunk);if(false===ret&&!increasedAwaitDrain){if((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",src._readableState.awaitDrain);src._readableState.awaitDrain++;increasedAwaitDrain=true}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)dest.emit("error",er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i<len;i++){dests[i].emit("unpipe",this,unpipeInfo)}return this}var index=indexOf(state.pipes,dest);if(index===-1)return this;state.pipes.splice(index,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this,unpipeInfo);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(ev==="data"){if(this._readableState.flowing!==false)this.resume()}else if(ev==="readable"){var state=this._readableState;if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.emittedReadable=false;if(!state.reading){pna.nextTick(nReadingNextTick,this)}else if(state.length){emitReadable(this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=true;resume(this,state)}return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;pna.nextTick(resume_,stream,state)}}function resume_(stream,state){if(!state.reading){debug("resume read 0");stream.read(0)}state.resumeScheduled=false;state.awaitDrain=0;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(false!==this._readableState.flowing){debug("pause");this._readableState.flowing=false;this.emit("pause")}return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n<kProxyEvents.length;n++){stream.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]))}this._read=function(n){debug("wrapped _read",n);if(paused){paused=false;stream.resume()}};return this};Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:false,get:function(){return this._readableState.highWaterMark}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;var ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.head.data;else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=fromListPartial(n,state.buffer,state.decoder)}return ret}function fromListPartial(n,list,hasStrings){var ret;if(n<list.head.data.length){ret=list.head.data.slice(0,n);list.head.data=list.head.data.slice(n)}else if(n===list.head.data.length){ret=list.shift()}else{ret=hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list)}return ret}function copyFromBufferString(n,list){var p=list.head;var c=1;var ret=p.data;n-=ret.length;while(p=p.next){var str=p.data;var nb=n>str.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null}else{list.head=p;p.data=str.slice(nb)}break}++c}list.length-=c;return ret}function copyFromBuffer(n,list){var ret=Buffer.allocUnsafe(n);var p=list.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null}else{list.head=p;p.data=buf.slice(nb)}break}++c}list.length-=c;return ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!state.endEmitted){state.ended=true;pna.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end")}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./_stream_duplex":53,"./internal/streams/BufferList":58,"./internal/streams/destroy":59,"./internal/streams/stream":60,_process:51,"core-util-is":44,events:45,inherits:47,isarray:49,"process-nextick-args":50,"safe-buffer":61,"string_decoder/":62,util:42}],56:[function(require,module,exports){"use strict";module.exports=Transform;var Duplex=require("./_stream_duplex");var util=Object.create(require("core-util-is"));util.inherits=require("inherits");util.inherits(Transform,Duplex);function afterTransform(er,data){var ts=this._transformState;ts.transforming=false;var cb=ts.writecb;if(!cb){return this.emit("error",new Error("write callback called multiple times"))}ts.writechunk=null;ts.writecb=null;if(data!=null)this.push(data);cb(er);var rs=this._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){this._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(options){if(typeof options.transform==="function")this._transform=options.transform;if(typeof options.flush==="function")this._flush=options.flush}this.on("prefinish",prefinish)}function prefinish(){var _this=this;if(typeof this._flush==="function"){this._flush(function(er,data){done(_this,er,data)})}else{done(this,null,null)}}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechunk!==null&&ts.writecb&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex.prototype._destroy.call(this,err,function(err2){cb(err2);_this2.emit("close")})};function done(stream,er,data){if(er)return stream.emit("error",er);if(data!=null)stream.push(data);if(stream._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(stream._transformState.transforming)throw new Error("Calling transform done when still transforming");return stream.push(null)}},{"./_stream_duplex":53,"core-util-is":44,inherits:47}],57:[function(require,module,exports){(function(process,global,setImmediate){"use strict";var pna=require("process-nextick-args");module.exports=Writable;function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb;this.next=null}function CorkedRequest(state){var _this=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(_this,state)}}var asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick;var Duplex;Writable.WritableState=WritableState;var util=Object.create(require("core-util-is"));util.inherits=require("inherits");var internalUtil={deprecate:require("util-deprecate")};var Stream=require("./internal/streams/stream");var Buffer=require("safe-buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require("./internal/streams/destroy");util.inherits(Writable,Stream);function nop(){}function WritableState(options,stream){Duplex=Duplex||require("./_stream_duplex");options=options||{};var isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.writableObjectMode;var hwm=options.highWaterMark;var writableHwm=options.writableHighWaterMark;var defaultHwm=this.objectMode?16:16*1024;if(hwm||hwm===0)this.highWaterMark=hwm;else if(isDuplex&&(writableHwm||writableHwm===0))this.highWaterMark=writableHwm;else this.highWaterMark=defaultHwm;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var current=this.bufferedRequest;var out=[];while(current){out.push(current);current=current.next}return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(_){}})();var realHasInstance;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){realHasInstance=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){if(realHasInstance.call(this,object))return true;if(this!==Writable)return false;return object&&object._writableState instanceof WritableState}})}else{realHasInstance=function(object){return object instanceof this}}function Writable(options){Duplex=Duplex||require("./_stream_duplex");if(!realHasInstance.call(Writable,this)&&!(this instanceof Duplex)){return new Writable(options)}this._writableState=new WritableState(options,this);this.writable=true;if(options){if(typeof options.write==="function")this._write=options.write;if(typeof options.writev==="function")this._writev=options.writev;if(typeof options.destroy==="function")this._destroy=options.destroy;if(typeof options.final==="function")this._final=options.final}Stream.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(stream,cb){var er=new Error("write after end");stream.emit("error",er);pna.nextTick(cb,er)}function validChunk(stream,state,chunk,cb){var valid=true;var er=false;if(chunk===null){er=new TypeError("May not write null values to stream")}else if(typeof chunk!=="string"&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}if(er){stream.emit("error",er);pna.nextTick(cb,er);valid=false}return valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;var isBuf=!state.objectMode&&_isUint8Array(chunk);if(isBuf&&!Buffer.isBuffer(chunk)){chunk=_uint8ArrayToBuffer(chunk)}if(typeof encoding==="function"){cb=encoding;encoding=null}if(isBuf)encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=nop;if(state.ended)writeAfterEnd(this,cb);else if(isBuf||validChunk(this,state,chunk,cb)){state.pendingcb++;ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)}return ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++};Writable.prototype.uncork=function(){var state=this._writableState;if(state.corked){state.corked--;if(!state.writing&&!state.corked&&!state.finished&&!state.bufferProcessing&&state.bufferedRequest)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding==="string")encoding=encoding.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);this._writableState.defaultEncoding=encoding;return this};function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk:chunk,encoding:encoding,isBuf:isBuf,callback:cb,next:null};if(last){last.next=state.lastBufferedRequest}else{state.bufferedRequest=state.lastBufferedRequest}state.bufferedRequestCount+=1}else{doWrite(stream,state,false,len,chunk,encoding,cb)}return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){--state.pendingcb;if(sync){pna.nextTick(cb,er);pna.nextTick(finishMaybe,stream,state);stream._writableState.errorEmitted=true;stream.emit("error",er)}else{cb(er);stream._writableState.errorEmitted=true;stream.emit("error",er);finishMaybe(stream,state)}}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state);if(!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest){clearBuffer(stream,state)}if(sync){asyncWrite(afterWrite,stream,state,finished,cb)}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);state.pendingcb--;cb();finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount;var buffer=new Array(l);var holder=state.corkedRequestsFree;holder.entry=entry;var count=0;var allBuffers=true;while(entry){buffer[count]=entry;if(!entry.isBuf)allBuffers=false;entry=entry.next;count+=1}buffer.allBuffers=allBuffers;doWrite(stream,state,true,state.length,buffer,"",holder.finish);state.pendingcb++;state.lastBufferedRequest=null;if(holder.next){state.corkedRequestsFree=holder.next;holder.next=null}else{state.corkedRequestsFree=new CorkedRequest(state)}state.bufferedRequestCount=0}else{while(entry){var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,false,len,chunk,encoding,cb);entry=entry.next;state.bufferedRequestCount--;if(state.writing){break}}if(entry===null)state.lastBufferedRequest=null}state.bufferedRequest=entry;state.bufferProcessing=false}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"))};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(chunk!==null&&chunk!==undefined)this.write(chunk,encoding);if(state.corked){state.corked=1;this.uncork()}if(!state.ending&&!state.finished)endWritable(this,state,cb)};function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream,state){stream._final(function(err){state.pendingcb--;if(err){stream.emit("error",err)}state.prefinished=true;stream.emit("prefinish");finishMaybe(stream,state)})}function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled){if(typeof stream._final==="function"){state.pendingcb++;state.finalCalled=true;pna.nextTick(callFinal,stream,state)}else{state.prefinished=true;stream.emit("prefinish")}}}function finishMaybe(stream,state){var need=needFinish(state);if(need){prefinish(stream,state);if(state.pendingcb===0){state.finished=true;stream.emit("finish")}}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)pna.nextTick(cb);else stream.once("finish",cb)}state.ended=true;stream.writable=false}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;corkReq.entry=null;while(entry){var cb=entry.callback;state.pendingcb--;cb(err);entry=entry.next}if(state.corkedRequestsFree){state.corkedRequestsFree.next=corkReq}else{state.corkedRequestsFree=corkReq}}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function(value){if(!this._writableState){return}this._writableState.destroyed=value}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate)},{"./_stream_duplex":53,"./internal/streams/destroy":59,"./internal/streams/stream":60,_process:51,"core-util-is":44,inherits:47,"process-nextick-args":50,"safe-buffer":61,timers:70,"util-deprecate":71}],58:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var Buffer=require("safe-buffer").Buffer;var util=require("util");function copyBuffer(src,target,offset){src.copy(target,offset)}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length};BufferList.prototype.unshift=function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret};BufferList.prototype.concat=function concat(n){if(this.length===0)return Buffer.alloc(0);if(this.length===1)return this.head.data;var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret};return BufferList}();if(util&&util.inspect&&util.inspect.custom){module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+" "+obj}}},{"safe-buffer":61,util:42}],59:[function(require,module,exports){"use strict";var pna=require("process-nextick-args");function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err&&(!this._writableState||!this._writableState.errorEmitted)){pna.nextTick(emitErrorNT,this,err)}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){pna.nextTick(emitErrorNT,_this,err);if(_this._writableState){_this._writableState.errorEmitted=true}}else if(cb){cb(err)}});return this}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy}},{"process-nextick-args":50}],60:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:45}],61:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:43}],62:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||""};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length){buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length);this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":61}],63:[function(require,module,exports){module.exports=require("./readable").PassThrough},{"./readable":64}],64:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":53,"./lib/_stream_passthrough.js":54,"./lib/_stream_readable.js":55,"./lib/_stream_transform.js":56,"./lib/_stream_writable.js":57}],65:[function(require,module,exports){module.exports=require("./readable").Transform},{"./readable":64}],66:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":57}],67:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:43}],68:[function(require,module,exports){module.exports=Stream;var EE=require("events").EventEmitter;var inherits=require("inherits");inherits(Stream,EE);Stream.Readable=require("readable-stream/readable.js");Stream.Writable=require("readable-stream/writable.js");Stream.Duplex=require("readable-stream/duplex.js");Stream.Transform=require("readable-stream/transform.js");Stream.PassThrough=require("readable-stream/passthrough.js");Stream.Stream=Stream;function Stream(){EE.call(this)}Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;if(typeof dest.destroy==="function")dest.destroy()}function onerror(er){cleanup();if(EE.listenerCount(this,"error")===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:45,inherits:47,"readable-stream/duplex.js":52,"readable-stream/passthrough.js":63,"readable-stream/readable.js":64,"readable-stream/transform.js":65,"readable-stream/writable.js":66}],69:[function(require,module,exports){arguments[4][62][0].apply(exports,arguments)},{dup:62,"safe-buffer":67}],70:[function(require,module,exports){(function(setImmediate,clearImmediate){var nextTick=require("process/browser.js").nextTick;var apply=Function.prototype.apply;var slice=Array.prototype.slice;var immediateIds={};var nextImmediateId=0;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)};exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)};exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close()};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(window,this._id)};exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout(function onTimeout(){if(item._onTimeout)item._onTimeout()},msecs)}};exports.setImmediate=typeof setImmediate==="function"?setImmediate:function(fn){var id=nextImmediateId++;var args=arguments.length<2?false:slice.call(arguments,1);immediateIds[id]=true;nextTick(function onNextTick(){if(immediateIds[id]){if(args){fn.apply(null,args)}else{fn.call(null)}exports.clearImmediate(id)}});return id};exports.clearImmediate=typeof clearImmediate==="function"?clearImmediate:function(id){delete immediateIds[id]}}).call(this,require("timers").setImmediate,require("timers").clearImmediate)},{"process/browser.js":51,timers:70}],71:[function(require,module,exports){(function(global){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}]},{},[6])(6)});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment