You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-panel/share/static/js/libs/stanzaio.bundle.min.js

9 lines
274 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

/*! stanzaio 2014-01-08!function(a){"object"==typeof exports?module.exports=a():"function"==typeof define&&define.amd?define(a):"undefined"!=typeof window?window.XMPP=a():"undefined"!=typeof global?global.XMPP=a():"undefined"!=typeof self&&(self.XMPP=a())}(function(){var a;return function b(a,c,d){function e(g,h){if(!c[g]){if(!a[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};a[g][0].call(j.exports,function(b){var c=a[g][1][b];return e(c?c:b)},j,j.exports,b,a,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";c.Message=a("./lib/stanza/message"),c.Presence=a("./lib/stanza/presence"),c.Iq=a("./lib/stanza/iq"),c.Client=a("./lib/client"),c.crypto=a("crypto"),c.createClient=function(b){var d=new c.Client(b);return d.use(a("./lib/plugins/disco")),d.use(a("./lib/plugins/chatstates")),d.use(a("./lib/plugins/delayed")),d.use(a("./lib/plugins/forwarding")),d.use(a("./lib/plugins/carbons")),d.use(a("./lib/plugins/time")),d.use(a("./lib/plugins/mam")),d.use(a("./lib/plugins/receipts")),d.use(a("./lib/plugins/idle")),d.use(a("./lib/plugins/correction")),d.use(a("./lib/plugins/attention")),d.use(a("./lib/plugins/version")),d.use(a("./lib/plugins/invisible")),d.use(a("./lib/plugins/muc")),d.use(a("./lib/plugins/pubsub")),d.use(a("./lib/plugins/avatar")),d.use(a("./lib/plugins/private")),d.use(a("./lib/plugins/bookmarks")),d.use(a("./lib/plugins/jingle")),d.use(a("./lib/plugins/json")),d.use(a("./lib/plugins/hashes")),d.use(a("./lib/plugins/extdisco")),d.use(a("./lib/plugins/geoloc")),d.use(a("./lib/plugins/vcard")),d.use(a("./lib/plugins/oob")),d}},{"./lib/client":2,"./lib/plugins/attention":4,"./lib/plugins/avatar":5,"./lib/plugins/bookmarks":6,"./lib/plugins/carbons":7,"./lib/plugins/chatstates":8,"./lib/plugins/correction":9,"./lib/plugins/delayed":10,"./lib/plugins/disco":11,"./lib/plugins/extdisco":12,"./lib/plugins/forwarding":13,"./lib/plugins/geoloc":14,"./lib/plugins/hashes":15,"./lib/plugins/idle":16,"./lib/plugins/invisible":17,"./lib/plugins/jingle":18,"./lib/plugins/json":19,"./lib/plugins/mam":20,"./lib/plugins/muc":21,"./lib/plugins/oob":22,"./lib/plugins/private":23,"./lib/plugins/pubsub":24,"./lib/plugins/receipts":25,"./lib/plugins/time":26,"./lib/plugins/vcard":27,"./lib/plugins/version":28,"./lib/stanza/iq":44,"./lib/stanza/message":48,"./lib/stanza/presence":51,crypto:117}],2:[function(a,b){"use strict";function c(a){var b=this;d.call(this),a=a||{},this.config=e.extend({useStreamManagement:!0,transport:"websocket"},a),this.jid=new m,this._idPrefix=h.v4(),this._idCount=0,this.negotiatedFeatures={},this.featureOrder=["sasl","streamManagement","bind","streamManagement","session"],this.features={},this.transport=new n,this.transport.on("*",function(a,c){b.emit(a,c)}),this.on("streamFeatures",function(a){var c=[function(b){b(null,a)}],d=["setup"];b.featureOrder.forEach(function(e){a._extensions[e]&&!b.negotiatedFeatures[e]&&(c.push(function(a,c){!b.negotiatedFeatures[e]&&b.features[e]?b.features[e](a,c):c(null,a)}),d.push(e))}),g.waterfall(c,function(a){"restart"===a?b.transport.restart():"disconnect"===a&&b.disconnect()})}),this.features.sasl=function(a,c){var d=p.create(a.sasl.mechanisms);b.on("sasl:success","sasl",function(){b.negotiatedFeatures.sasl=!0,b.releaseGroup("sasl"),b.emit("auth:success"),c("restart")}),b.on("sasl:challenge","sasl",function(a){d.challenge(a.value),b.send(new i.Response({value:d.response(b.getCredentials())})),d.cache&&(e.each(d.cache,function(a,c){b.config.credentials[c]=btoa(a)}),b.emit("credentials:update",b.config.credentials)),c()}),b.on("sasl:failure","sasl",function(){b.releaseGroup("sasl"),b.emit("auth:failed"),c("disconnect")}),b.on("sasl:abort","sasl",function(){b.releaseGroup("sasl"),b.emit("auth:failed"),c("disconnect")});var f={mechanism:d.name};d.clientFirst&&(f.value=d.response(b.getCredentials())),b.send(new i.Auth(f))},this.features.bind=function(a,c){b.sendIq({type:"set",bind:{resource:b.config.resource}},function(d,e){b.negotiatedFeatures.bind=!0,b.emit("session:bound",e.bind.jid),b.jid=new m(e.bind.jid),a._extensions.session||(b.sessionStarted=!0,b.emit("session:started",e.bind.jid)),c(null,a)})},this.features.session=function(a,c){b.sendIq({type:"set",session:{}},function(){b.negotiatedFeatures.session=!0,b.sessionStarted=!0,b.emit("session:started",b.jid),c(null,a)})},this.features.streamManagement=function(a,c){return b.config.useStreamManagement?(b.on("stream:management:enabled","sm",function(d){b.transport.sm.enabled(d),b.negotiatedFeatures.streamManagement=!0,b.on("stream:management:ack","connection",function(a){b.transport.sm.process(a)}),b.on("stream:management:request","connection",function(){b.transport.sm.ack()}),b.releaseGroup("sm"),c(null,a)}),b.on("stream:management:resumed","sm",function(d){b.transport.sm.enabled(d),b.negotiatedFeatures.streamManagement=!0,b.negotiatedFeatures.bind=!0,b.sessionStarted=!0,b.on("stream:management:ack","connection",function(a){b.transport.sm.process(a)}),b.on("stream:management:request","connection",function(){b.transport.sm.ack()}),b.releaseGroup("sm"),c(null,a)}),b.on("stream:management:failed","sm",function(){b.transport.sm.failed(),b.emit("session:end"),b.releaseGroup("session"),b.releaseGroup("sm"),c(null,a)}),b.transport.sm.id?b.transport.sm.id&&b.transport.sm.allowResume?b.transport.sm.resume():c(null,a):b.negotiatedFeatures.bind?b.transport.sm.enable():c(null,a),void 0):c(null,a)},this.on("disconnected",function(){b.sessionStarted=!1,b.negotiatedFeatures.sasl=!1,b.negotiatedFeatures.streamManagement=!1,b.negotiatedFeatures.bind=!1,b.negotiatedFeatures.session=!1,b.releaseGroup("connection")}),this.on("iq:set:roster",function(a){b.emit("roster:update",a),b.sendIq({id:a.id,type:"result"})}),this.on("iq",function(a){var c=a.type,d=Object.keys(a._extensions),f=a.xml.childNodes,g=0;if(e.each(f,function(a){1===a.nodeType&&(g+=1)}),"get"===a.type||"set"===a.type){if(1!=g)return b.sendIq(a.errorReply({error:{type:"modify",condition:"bad-request"}}));if(!d.length)return b.sendIq(a.errorReply({error:{type:"cancel",condition:"feature-not-implemented"}}));var h="iq:"+c+":"+d[0];b.callbacks[h]?b.emit(h,a):b.sendIq(a.errorReply({error:{type:"cancel",condition:"feature-not-implemented"}}))}}),this.on("message",function(a){Object.keys(a.$body).length&&("chat"===a.type||"normal"===a.type?b.emit("chat",a):"groupchat"===a.type&&b.emit("groupchat",a))}),this.on("presence",function(a){var c=a.type||"available";b.emit(c,a)})}var d=a("wildemitter"),e=a("underscore"),f=a("bluebird"),g=a("async"),h=a("node-uuid"),i=a("./stanza/sasl"),j=a("./stanza/message"),k=a("./stanza/presence"),l=a("./stanza/iq"),m=a("./jid"),n=a("./websocket"),o=a("hostmeta"),p=a("saslmechanisms");p=new p,p.use(a("sasl-external")),p.use(a("sasl-scram-sha-1")),p.use(a("sasl-digest-md5")),p.use(a("sasl-plain")),p.use(a("sasl-anonymous")),a("./stanza/stream"),a("./stanza/sm"),a("./stanza/roster"),a("./stanza/error"),a("./stanza/streamError"),a("./stanza/streamFeatures"),a("./stanza/bind"),a("./stanza/session"),c.prototype=Object.create(d.prototype,{constructor:{value:c}}),c.prototype.__defineGetter__("stream",function(){return this.transport?this.transport.stream:void 0}),c.prototype.use=function(a){a(this)},c.prototype.nextId=function(){return this._idPrefix+"-"+(this._idCount++).toString(16)},c.prototype.discoverBindings=function(a,b){o(a,function(a,c){if(a)return b(a,[]);var d=[],e=c.links||[];e.forEach(function(a){a.href&&"urn:xmpp:alt-connections:websocket"===a.rel&&d.push(a.href),a.href&&"urn:xmpp:altconnect:websocket"===a.rel&&d.push(a.href)}),b(!1,d)})},c.prototype.getCredentials=function(){var a=this.config.credentials||{},b=new m(this.config.jid),c=a.username||b.local,d=a.server||b.domain,f={username:c,password:this.config.password,server:d,host:d,realm:d,serviceType:"xmpp",serviceName:d},g=e.extend(f,a),h=["saltedPassword","clientKey","serverKey"];return h.forEach(function(a){g[a]&&(g[a]=atob(g[a]))}),g},c.prototype.connect=function(a){var b=this;return e.extend(b.config,a||{}),b.config.wsURL?b.transport.connect(b.config):(b.discoverBindings(b.config.server,function(a,c){!a&&c.length?(b.config.wsURL=c[0],b.transport.connect(b.config)):b.disconnect()}),void 0)},c.prototype.disconnect=function(){this.sessionStarted&&(this.emit("session:end"),this.releaseGroup("session")),this.sessionStarted=!1,this.releaseGroup("connection"),this.transport&&this.transport.disconnect()},c.prototype.send=function(a){this.transport.send(a)},c.prototype.sendMessage=function(a){a=a||{},a.id||(a.id=this.nextId());var b=new j(a);return this.emit("message:sent",b),this.send(b),a.id},c.prototype.sendPresence=function(a){return a=a||{},a.id||(a.id=this.nextId()),this.send(new k(a)),a.id},c.prototype.sendIq=function(a,b){var c,d,e,g,h=this;a=a||{},a.id||(a.id=this.nextId());var i=a.toJSON?a:new l(a);return"error"===a.type?(this.send(i),void 0):(g=new m(a.to),e={},e[""]=!0,e[g.full]=!0,e[g.bare]=!0,e[g.domain]=!0,e[h.jid.bare]=!0,e[h.jid.domain]=!0,d="id:"+a.id,c=new f(function(a,b){var c=function(f){e[f.from.full]&&(h.off(d,c),f._extensions.error?b(f):a(f))};h.on(d,"session",c)}),this.send(i),c.timeout(1e3*h.config.timeout||15e3).catch(f.TimeoutError,function(){return{type:"error",error:{condition:"timeout"}}}).nodeify(b))},c.prototype.getRoster=function(a){var b=this;return a=a||function(){},this.sendIq({type:"get",roster:{ver:b.config.rosterVer}}).then(function(a){var c=a.roster.ver;return c&&(b.config.rosterVer=c,b.emit("roster:ver",c)),a}).nodeify(a)},c.prototype.updateRosterItem=function(a,b){return this.sendIq({type:"set",roster:{items:[a]}},b)},c.prototype.removeRosterItem=function(a,b){return this.updateRosterItem({jid:a,subscription:"remove"},b)},c.prototype.subscribe=function(a){this.sendPresence({type:"subscribe",to:a})},c.prototype.unsubscribe=function(a){this.sendPresence({type:"unsubscribe",to:a})},c.prototype.acceptSubscription=function(a){this.sendPresence({type:"subscribed",to:a})},c.prototype.denySubscription=function(a){this.sendPresence({type:"unsubscribed",to:a})},c.prototype.JID=function(a){return new m(a)},b.exports=c},{"./jid":3,"./stanza/bind":31,"./stanza/error":39,"./stanza/iq":44,"./stanza/message":48,"./stanza/presence":51,"./stanza/roster":54,"./stanza/sasl":57,"./stanza/session":58,"./stanza/sm":59,"./stanza/stream":60,"./stanza/streamError":61,"./stanza/streamFeatures":62,"./websocket":68,async:69,bluebird:73,hostmeta:122,"node-uuid":154,"sasl-anonymous":156,"sasl-digest-md5":158,"sasl-external":160,"sasl-plain":162,"sasl-scram-sha-1":164,saslmechanisms:166,underscore:167,wildemitter:168}],3:[function(a,b){"use strict";function c(a){a=a||"","string"==typeof a?(this.jid=a,this.parts={}):(this.jid=a.jid,this.parts=a.parts)}c.prototype={constructor:{value:c},toString:function(){return this.jid},get full(){return this.jid},get bare(){if(this.parts.bare)return this.parts.bare;var a=this.jid.indexOf("/");return this.parts.bare=a>0?this.jid.slice(0,a):this.jid,this.parts.bare},get resource(){if(this.parts.resource)return this.parts.resource;var a=this.jid.indexOf("/");return this.parts.resource=a>0?this.jid.slice(a+1):"",this.parts.resource},get local(){if(this.parts.local)return this.parts.local;var a=this.bare,b=a.indexOf("@");return this.parts.local=b>0?a.slice(0,b):a,this.parts.local},get domain(){if(this.parts.domain)return this.parts.domain;var a=this.bare,b=a.indexOf("@");return this.parts.domain=b>0?a.slice(b+1):a,this.parts.domain}},b.exports=c},{}],4:[function(a,b){"use strict";b.exports=function(a){a.disco.addFeature("urn:xmpp:attention:0"),a.getAttention=function(b,c){c=c||{},c.to=b,c.type="headline",c.attention=!0,a.sendMessage(c)},a.on("message",function(b){b._extensions._attention&&a.emit("attention",b)})}},{}],5:[function(a,b){"use strict";a("../stanza/avatar");b.exports=function(a){a.disco.addFeature("urn:xmpp:avatar:metadata+notify"),a.on("pubsubEvent",function(b){b.event._extensions.updated&&"urn:xmpp:avatar:metadata"===b.event.updated.node&&a.emit("avatar",{jid:b.from,source:"pubsub",avatars:b.event.updated.published[0].avatars})}),a.on("presence",function(b){b.avatarId&&a.emit("avatar",{jid:b.from,source:"vcard",avatars:[{id:b.avatarId}]})}),a.publishAvatar=function(a,b,c){return this.publish("","urn:xmpp:avatar:data",{id:a,avatarData:b},c)},a.useAvatars=function(a,b){return this.publish("","urn:xmpp:avatar:metadata",{id:"current",avatars:a},b)},a.getAvatar=function(a,b,c){return this.getItem(a,"urn:xmpp:avatar:data",b,c)}}},{"../stanza/avatar":30}],6:[function(a,b){"use strict";a("../stanza/bookmarks");b.exports=function(a){a.getBookmarks=function(a){return this.getPrivateData({bookmarks:{}},a)},a.setBookmarks=function(a,b){return this.setPrivateData({bookmarks:a},b)}}},{"../stanza/bookmarks":32}],7:[function(a,b){"use strict";a("../stanza/carbons");b.exports=function(a){a.disco.addFeature("urn:xmpp:carbons:2"),a.enableCarbons=function(a){return this.sendIq({type:"set",enableCarbons:!0},a)},a.disableCarbons=function(a){return this.sendIq({type:"set",disableCarbons:!0},a)},a.on("message",function(b){return b._extensions.carbonSent?a.emit("carbon:sent",b):b._extensions.carbonReceived?a.emit("carbon:received",b):void 0})}},{"../stanza/carbons":34}],8:[function(a,b){"use strict";a("../stanza/chatstates");b.exports=function(a){a.disco.addFeature("http://jabber.org/protocol/chatstates"),a.on("message",function(b){b.chatState&&a.emit("chatState",{to:b.to,from:b.from,chatState:b.chatState})})}},{"../stanza/chatstates":35}],9:[function(a,b){"use strict";b.exports=function(a){a.disco.addFeature("urn:xmpp:message-correct:0"),a.on("message",function(b){b.replace&&(a.emit("replace",b),a.emit("replace:"+b.id,b))})}},{}],10:[function(a,b){"use strict";a("../stanza/delayed");b.exports=function(a){a.disco.addFeature("urn:xmpp:delay")}},{"../stanza/delayed":37}],11:[function(a,b){"use strict";function c(a,b){var c="",d=a.features.sort(),e=[],i={},j=[];f.forEach(a.identities,function(a){e.push([a.category||"",a.type||"",a.lang||"",a.name||""].join("/"))});var k=e.length,l=d.length;if(e=f.unique(e,!0),d=f.unique(d,!0),l!=d.length||k!=e.length)return!1;c+=e.join("<")+"<",c+=d.join("<")+"<";var m=!1;if(f.forEach(a.extensions,function(a){for(var b=a.fields,c=0,d=b.length;d>c;c++)if("FORM_TYPE"==b[c].name&&"hidden"==b[c].type){var e=b[c].value;return i[e]?(m=!0,void 0):(i[e]=a,j.push(e),void 0)}}),m)return!1;j.sort(),f.forEach(j,function(a){var b=i[a],d={},e=[];c+="<"+a,f.forEach(b.fields,function(a){var b=a.name;if("FORM_TYPE"!=b){var c=a.value||"";"object"!=typeof c&&(c=c.split("\n")),d[b]=c.sort(),e.push(b)}}),e.sort(),f.forEach(e,function(a){c+="<"+a,f.forEach(d[a],function(a){c+="<"+a})})}),"sha-1"===b&&(b="sha1");var n=g.createHash(b).update(h.encode(c)).digest("base64"),o=4-n.length%4;4===o&&(o=0);for(var p=0;o>p;p++)n+="=";return n}function d(a,b,d){"sha-1"===b&&(b="sha1");var e=c(a,b);return e&&e==d}function e(){this.features={},this.identities={},this.extensions={},this.items={},this.caps={}}var f=a("underscore"),g=a("crypto");a("../stanza/disco"),a("../stanza/caps");var h={encode:function(a){return unescape(encodeURIComponent(a))},decode:function(a){return decodeURIComponent(escape(a))}};e.prototype={constructor:{value:e},addFeature:function(a,b){b=b||"",this.features[b]||(this.features[b]=[]),this.features[b].push(a)},addIdentity:function(a,b){b=b||"",this.identities[b]||(this.identities[b]=[]),this.identities[b].push(a)},addItem:function(a,b){b=b||"",this.items[b]||(this.items[b]=[]),this.items[b].push(a)},addExtension:function(a,b){b=b||"",this.extensions[b]||(this.extensions[b]=[]),this.extensions[b].push(a)}},b.exports=function(a){a.disco=new e(a),a.disco.addFeature("http://jabber.org/protocol/disco#info"),a.disco.addIdentity({category:"client",type:"web"}),a.getDiscoInfo=function(a,b,c){return this.sendIq({to:a,type:"get",discoInfo:{node:b}},c)},a.getDiscoItems=function(a,b,c){return this.sendIq({to:a,type:"get",discoItems:{node:b}},c)},a.updateCaps=function(){var b=this.config.capsNode||"https://stanza.io",d=JSON.parse(JSON.stringify({identities:this.disco.identities[""],features:this.disco.features[""],extensions:this.disco.extensions[""]})),e=c(d,"sha-1");return this.disco.caps={node:b,hash:"sha-1",ver:e},b=b+"#"+e,this.disco.features[b]=d.features,this.disco.identities[b]=d.identities,this.disco.extensions[b]=d.extensions,a.getCurrentCaps()},a.getCurrentCaps=function(){var b=a.disco.caps;if(!b.ver)return{ver:null,discoInfo:null};var c=b.node+"#"+b.ver;return{ver:b.ver,discoInfo:{identities:a.disco.identities[c],features:a.disco.features[c],extensions:a.disco.extensions[c]}}},a.on("presence",function(b){b._extensions.caps&&a.emit("disco:caps",b)}),a.on("iq:get:discoInfo",function(b){var c=b.discoInfo.node,d=b.discoInfo.node;c===a.disco.caps.node+"#"+a.disco.caps.ver&&(d=c,c=""),a.sendIq(b.resultReply({discoInfo:{node:d,identities:a.disco.identities[c]||[],features:a.disco.features[c]||[],extensions:a.disco.extensions[c]||[]}}))}),a.on("iq:get:discoItems",function(b){var c=b.discoInfo.node;a.sendIq(b.resultReply({discoItems:{node:c,items:a.disco.items[c]||[]}}))}),a.verifyVerString=d,a.generateVerString=c}},{"../stanza/caps":33,"../stanza/disco":38,crypto:117,underscore:167}],12:[function(a,b){"use strict";a("../stanza/extdisco");b.exports=function(a){a.disco.addFeature("urn:xmpp:extdisco:1"),a.getServices=function(a,b,c){return this.sendIq({type:"get",to:a,services:{type:b}},c)},a.getServiceCredentials=function(a,b,c){return this.sendIq({type:"get",to:a,credentials:{service:{host:b}}},c)}}},{"../stanza/extdisco":40}],13:[function(a,b){"use strict";a("../stanza/forwarded");b.exports=function(a){a.disco.addFeature("urn:xmpp:forward:0")}},{"../stanza/forwarded":41}],14:[function(a,b){"use strict";a("../stanza/geoloc");b.exports=function(a){a.disco.addFeature("http://jabber.org/protocol/geoloc"),a.disco.addFeature("http://jabber.org/protocol/geoloc+notify"),a.on("pubsubEvent",function(b){b.event._extensions.updated&&"http://jabber.org/protocol/geoloc"===b.event.updated.node&&a.emit("geoloc",{jid:b.from,geoloc:b.event.updated.published[0].geoloc})}),a.publishGeoLoc=function(a,b){return this.publish("","http://jabber.org/protocol/geoloc",{geoloc:a},b)}}},{"../stanza/geoloc":42}],15:[function(a,b){"use strict";b.exports=function(a){a.disco.addFeature("urn:xmpp:hashes:1"),a.disco.addFeature("urn:xmpp:hash-function-text-names:md5"),a.disco.addFeature("urn:xmpp:hash-function-text-names:sha-1"),a.disco.addFeature("urn:xmpp:hash-function-text-names:sha-256")}},{}],16:[function(a,b){"use strict";b.exports=function(a){a.disco.addFeature("urn:xmpp:idle:1")}},{}],17:[function(a,b){"use strict";a("../stanza/visibility"),b.exports=function(a){a.goInvisible=function(){return this.sendIq({type:"set",invisible:!0})},a.goVisible=function(){return this.sendIq({type:"set",visible:!0})}}},{"../stanza/visibility":67}],18:[function(a,b){"use strict";{var c=a("jingle");a("../stanza/jingle"),a("../stanza/rtp"),a("../stanza/iceUdp")}b.exports=function(a){var b=a.jingle=new c;b.capabilities.forEach(function(b){a.disco.addFeature(b)});var d=["outgoing","incoming","accepted","terminated","ringing","mute","unmute","hold","resumed"];d.forEach(function(c){b.on(c,function(b,d){a.emit("jingle:"+c,b,d)})}),b.on("localStream",function(b){a.emit("jingle:localstream:added",b)}),b.on("localStreamStopped",function(){a.emit("jingle:localstream:removed")}),b.on("peerStreamAdded",function(b){a.emit("jingle:remotestream:added",b)}),b.on("peerStreamRemoved",function(b){a.emit("jingle:remotestream:removed",b)}),b.on("send",function(b){a.sendIq(b)}),a.on("iq:set:jingle",function(a){a=a.toJSON(),b.process(a)}),a.on("unavailable",function(a){var c=a.from.full;b.endPeerSessions(c)}),a.call=function(c){c=c.full||c;var d=b.createMediaSession(c);return a.sendPresence({to:c}),d.start(),d},a.discoverICEServers=function(b){return this.getServices(a.config.server).then(function(b){for(var c=b.services.services,d=[],e=0;e<c.length;e++){var f=c[e],g={};"stun"===f.type?(g.url="stun:"+f.host,f.port&&(g.url+=":"+f.port),d.push(g),a.jingle.addICEServer(g)):"turn"===f.type&&(g.url="turn:"+f.host,f.port&&(g.url+=":"+f.port),f.transport&&"udp"!==f.transport&&(g.url+="?transport="+f.transport),f.username&&(g.username=f.username),f.password&&(g.credential=f.password),d.push(g),a.jingle.addICEServer(g))}return d}).nodeify(b)}}},{"../stanza/iceUdp":43,"../stanza/jingle":45,"../stanza/rtp":56,jingle:125}],19:[function(a,b){"use strict";a("../stanza/json");b.exports=function(a){a.disco.addFeature("urn:xmpp:json:tmp")}},{"../stanza/json":46}],20:[function(a,b){"use strict";a("../stanza/mam");b.exports=function(a){a.disco.addFeature("urn:xmpp:mam:tmp"),a.getHistory=function(a,b){var c=this,d=this.nextId();a=a||{},a.queryid=d;var e=[];return this.on("mam:"+d,"session",function(a){e.push(a)}),this.sendIq({type:"get",id:d,mamQuery:a}).then(function(a){return c.off("mam:"+d),a.mamQuery.results=e,a}).nodeify(b)},a.getHistoryPreferences=function(a){return this.sendIq({type:"get",mamPrefs:{}},a)},a.setHistoryPreferences=function(a,b){return this.sendIq({type:"set",mamPrefs:a},b)},a.on("message",function(b){b._extensions.mam&&a.emit("mam:"+b.mam.queryid,b)})}},{"../stanza/mam":47}],21:[function(a,b){"use strict";var c=a("../jid");a("../stanza/muc"),b.exports=function(a){a.disco.addFeature("","jabber:x:conference"),a.on("message",function(b){b._extensions.muc?(b._extensions.muc._extensions.invite&&a.emit("muc:invite",{from:b.muc.invite.from,room:b.from,reason:b.muc.invite.reason,password:b.muc.password,thread:b.muc.invite.thread}),b._extensions.muc._extensions.destroyed&&a.emit("muc:destroyed",{room:b.from,newRoom:b.muc.destroyed.jid,reason:b.muc.destroyed.reason,password:b.muc.password}),b._extensions.muc._extensions.decline&&a.emit("muc:declined",{room:b.from,from:b.muc.decline.from,reason:b.muc.decline.reason})):b._extensions.mucInvite&&a.emit("muc:invite",{from:b.from,room:b.mucInvite.jid,reason:b.mucInvite.reason,password:b.mucInvite.password,thread:b.mucInvite.thread}),"groupchat"===b.type&&b.subject&&a.emit("groupchat:subject",b)}),a.on("presence",function(b){b._extensions.muc&&("error"==b.type?a.emit("muc:error",b):"unavailable"==b.type?a.emit("muc:leave",b):a.emit("muc:join",b))}),a.joinRoom=function(a,b,c){c=c||{},c.to=a+"/"+b,c.caps=this.disco.caps,c.joinMuc=c.joinMuc||{},this.sendPresence(c)},a.leaveRoom=function(a,b,c){c=c||{},c.to=a+"/"+b,c.type="unavailable",this.sendPresence(c)},a.ban=function(b,c,d,e){a.setRoomAffiliation(b,c,"outcast",d,e)},a.kick=function(b,c,d,e){a.setRoomRole(b,c,"none",d,e)},a.invite=function(b,c){a.sendMessage({to:b,muc:{invites:c}})},a.directInvite=function(b,c){c.jid=b,a.sendMessage({to:c.to,mucInvite:c})},a.declineInvite=function(b,c,d){a.sendMessage({to:b,muc:{decline:{to:c,reason:d}}})},a.changeNick=function(b,d){a.sendPresence({to:new c(b).bare+"/"+d})},a.setSubject=function(b,c){a.sendMessage({to:b,type:"groupchat",subject:c})},a.discoverReservedNick=function(b,c){a.getDiscoInfo(b,"x-roomuser-item",function(a,b){if(a)return c(a);var d=b.discoInfo.identities[0]||{};c(null,d.name)})},a.requestRoomVoice=function(b){a.sendMessage({to:b,form:{fields:[{name:"FORM_TYPE",value:"http://jabber.org/protocol/muc#request"},{name:"muc#role",type:"text-single",value:"participant"}]}})},a.setRoomAffiliation=function(a,b,c,d,e){return this.sendIq({type:"set",to:a,mucAdmin:{jid:b,affiliation:c,reason:d}},e)},a.setRoomRole=function(a,b,c,d,e){return this.sendIq({type:"set",to:a,mucAdmin:{nick:b,role:c,reason:d}},e)},a.getRoomMembers=function(a,b,c){return this.sendIq({type:"get",to:a,mucAdmin:b},c)},a.getRoomConfig=function(a,b){return this.sendIq({to:a,type:"get",mucOwner:{}},b)},a.configureRoom=function(a,b,c){return b.type||(b.type="submit"),this.sendIq({to:a,type:"set",mucOwner:{form:b}},c)}}},{"../jid":3,"../stanza/muc":49}],22:[function(a,b){"use strict";a("../stanza/oob");b.exports=function(a){a.disco.addFeature("jabber:x:oob")}},{"../stanza/oob":50}],23:[function(a,b){"use strict";a("../stanza/private");b.exports=function(a){a.getPrivateData=function(a,b){return this.sendIq({type:"get",privateStorage:a},b)},a.setPrivateData=function(a,b){return this.sendIq({type:"set",privateStorage:a},b)}}},{"../stanza/private":52}],24:[function(a,b){"use strict";a("../stanza/pubsub");b.exports=function(a){a.on("message",function(b){b._extensions.event&&a.emit("pubsubEvent",b)}),a.subscribeToNode=function(b,c,d){return this.sendIq({type:"set",to:b,pubsub:{subscribe:{node:c.node,jid:c.jid||a.jid}}},d)},a.unsubscribeFromNode=function(b,c,d){return this.sendIq({type:"set",to:b,pubsub:{unsubscribe:{node:c.node,jid:c.jid||a.jid.split("/")[0]}}},d)},a.publish=function(a,b,c,d){return this.sendIq({type:"set",to:a,pubsub:{publish:{node:b,item:c}}},d)},a.getItem=function(a,b,c,d){return this.sendIq({type:"get",to:a,pubsub:{retrieve:{node:b,item:c}}},d)},a.getItems=function(a,b,c,d){return c=c||{},c.node=b,this.sendIq({type:"get",to:a,pubsub:{retrieve:{node:b,max:c.max},rsm:c.rsm}},d)},a.retract=function(a,b,c,d,e){return this.sendIq({type:"set",to:a,pubsub:{retract:{node:b,notify:d,id:c}}},e)},a.purgeNode=function(a,b,c){return this.sendIq({type:"set",to:a,pubsubOwner:{purge:b}},c)},a.deleteNode=function(a,b,c){return this.sendIq({type:"set",to:a,pubsubOwner:{del:b}},c)},a.createNode=function(a,b,c,d){var e={type:"set",to:a,pubsubOwner:{create:b}};return c&&(e.pubsubOwner.config={form:c}),this.sendIq(e,d)}}},{"../stanza/pubsub":53}],25:[function(a,b){"use strict";b.exports=function(a){a.disco.addFeature("urn:xmpp:receipts"),a.on("message",function(b){var c={normal:!0,chat:!0,headline:!0};c[b.type]&&b.requestReceipt&&!b.receipt&&a.sendMessage({to:b.from,receipt:b.id,id:b.id}),b.receipt&&(a.emit("receipt",b),a.emit("receipt:"+b.receipt))})}},{}],26:[function(a,b){"use strict";a("../stanza/time");b.exports=function(a){a.disco.addFeature("urn:xmpp:time"),a.getTime=function(a,b){return this.sendIq({to:a,type:"get",time:!0},b)},a.on("iq:get:time",function(b){var c=new Date;a.sendIq(b.resultReply({time:{utc:c,tzo:c.getTimezoneOffset()}}))})}},{"../stanza/time":63}],27:[function(a,b){"use strict";a("../stanza/vcard");b.exports=function(a){a.disco.addFeature("vcard-temp"),a.getVCard=function(a,b){return this.sendIq({to:a,type:"get",vCardTemp:{}},b)},a.publishVCard=function(a,b){return this.sendIq({type:"set",vCardTemp:a},b)}}},{"../stanza/vcard":65}],28:[function(a,b){"use strict";a("../stanza/version"),b.exports=function(a){a.disco.addFeature("jabber:iq:version"),a.on("iq:get:version",function(b){a.sendIq(b.resultReply({version:a.config.version||{name:"stanza.io"}}))}),a.getSoftwareVersion=function(a,b){return this.sendIq({to:a,type:"get",version:{}},b)}}},{"../stanza/version":66}],29:[function(a,b){"use strict";function c(a,b){return(a%b+b)%b}function d(a){this.conn=a,this.id=!1,this.allowResume=!0,this.started=!1,this.lastAck=0,this.handled=0,this.windowSize=1,this.unacked=[],this.pendingAck=!1}var e=a("./stanza/sm"),f=Math.pow(2,32);d.prototype={constructor:{value:d},enable:function(){var a=new e.Enable;a.resume=this.allowResume,this.conn.send(a),this.handled=0,this.started=!0},resume:function(){var a=new e.Resume({h:this.handled,previd:this.id});this.conn.send(a),this.started=!0},enabled:function(a){this.id=a.id},resumed:function(a){this.id=a.id,a.h&&this.process(a,!0)},failed:function(){this.started=!1,this.id=!1,this.lastAck=0,this.handled=0,this.unacked=[]},ack:function(){this.conn.send(new e.Ack({h:this.handled}))},request:function(){this.pendingAck=!0,this.conn.send(new e.Request)},process:function(a,b){var d=this,e=c(a.h-this.lastAck,f);this.pendingAck=!1;for(var g=0;e>g&&this.unacked.length>0;g++)this.conn.emit("stanza:acked",this.unacked.shift());if(this.lastAck=a.h,b){var h=this.unacked;this.unacked=[],h.forEach(function(a){d.conn.send(a)})}this.unacked.length>=this.windowSize&&this.request()},track:function(a){var b=a._name,c={message:!0,presence:!0,iq:!0};this.started&&c[b]&&(this.unacked.push(a),!this.pendingAck&&this.unacked.length>=this.windowSize&&this.request())},handle:function(){this.started&&(this.handled=c(this.handled+1,f))}},b.exports=d},{"./stanza/sm":59}],30:[function(a,b){"use strict";var c=a("underscore"),d=a("jxt"),e=a("./pubsub").Item,f=a("./pubsub").EventItem,g=b.exports=d.define({name:"avatar",namespace:"urn:xmpp:avatar:metadata",element:"info",fields:{id:d.attribute("id"),bytes:d.attribute("bytes"),height:d.attribute("height"),width:d.attribute("width"),type:d.attribute("type","image/png"),url:d.attribute("url")}}),h={get:function(){var a=d.find(this.xml,"urn:xmpp:avatar:metadata","metadata"),b=[];if(a.length){var e=d.find(a[0],"urn:xmpp:avatar:metadata","info");c.forEach(e,function(a){b.push(new g({},a))})}return b},set:function(a){var b=d.findOrCreate(this.xml,"urn:xmpp:avatar:metadata","metadata");d.setAttribute(b,"xmlns","urn:xmpp:avatar:metadata"),c.forEach(a,function(a){var c=new g(a);b.appendChild(c.xml)})}};d.add(e,"avatars",h),d.add(f,"avatars",h),d.add(e,"avatarData",d.subText("urn:xmpp:avatar:data","data")),d.add(f,"avatarData",d.subText("urn:xmpp:avatar:data","data"))},{"./pubsub":53,jxt:147,underscore:167}],31:[function(a,b){var c=a("jxt"),d=a("./iq"),e=a("./streamFeatures"),f=a("./util"),g="urn:ietf:params:xml:ns:xmpp-bind",h=b.exports=c.define({name:"bind",namespace:g,element:"bind",fields:{resource:c.subText(g,"resource"),jid:f.jidSub(g,"jid")}});c.extend(d,h),c.extend(e,h)},{"./iq":44,"./streamFeatures":62,"./util":64,jxt:147}],32:[function(a,b){var c=a("jxt"),d=a("./util"),e=a("./private"),f=c.define({name:"conference",namespace:"storage:bookmarks",element:"conference",fields:{name:c.attribute("name"),autoJoin:c.boolAttribute("autojoin"),jid:d.jidAttribute("jid"),nick:c.subText("storage:bookmarks","nick")}}),g=b.exports=c.define({name:"bookmarks",namespace:"storage:bookmarks",element:"storage"});c.extend(e,g),c.extend(g,f,"conferences")},{"./private":52,"./util":64,jxt:147}],33:[function(a,b){var c=a("jxt"),d=a("./presence"),e=a("./streamFeatures"),f=b.exports=c.define({name:"caps",namespace:"http://jabber.org/protocol/caps",element:"c",fields:{ver:c.attribute("ver"),node:c.attribute("node"),hash:c.attribute("hash"),ext:c.attribute("ext")}});c.extend(d,f),c.extend(e,f)},{"./presence":51,"./streamFeatures":62,jxt:147}],34:[function(a,b,c){var d=a("jxt"),e=a("./message"),f=a("./iq"),g=a("./forwarded");c.Sent=d.define({name:"carbonSent",eventName:"carbon:sent",namespace:"urn:xmpp:carbons:2",element:"sent"}),c.Received=d.define({name:"carbonReceived",eventName:"carbon:received",namespace:"urn:xmpp:carbons:2",element:"received"}),c.Private=d.define({name:"carbonPrivate",eventName:"carbon:private",namespace:"urn:xmpp:carbons:2",element:"private"}),c.Enable=d.define({name:"enableCarbons",namespace:"urn:xmpp:carbons:2",element:"enable"}),c.Disable=d.define({name:"disableCarbons",namespace:"urn:xmpp:carbons:2",element:"disable"}),d.extend(c.Sent,g),d.extend(c.Received,g),d.extend(e,c.Sent),d.extend(e,c.Received),d.extend(e,c.Private),d.extend(f,c.Enable),d.extend(f,c.Disable)},{"./forwarded":41,"./iq":44,"./message":48,jxt:147}],35:[function(a){"use strict";var b=a("jxt"),c=a("./message"),d="http://jabber.org/protocol/chatstates",e=b.define({name:"chatStateActive",eventName:"chat:active",namespace:d,element:"active"}),f=b.define({name:"chatStateComposing",eventName:"chat:composing",namespace:d,element:"composing"}),g=b.define({name:"chatStatePaused",eventName:"chat:paused",namespace:d,element:"paused"}),h=b.define({name:"chatStateInactive",eventName:"chat:inactive",namespace:d,element:"inactive"}),i=b.define({name:"chatStateGone",eventName:"chat:gone",namespace:d,element:"gone"});b.extend(c,e),b.extend(c,f),b.extend(c,g),b.extend(c,h),b.extend(c,i),b.add(c,"chatState",{get:function(){for(var a=this,b=["Active","Composing","Paused","Inactive","Gone"],c=0;c<b.length;c++)if(a._extensions["chatState"+b[c]])return b[c].toLowerCase();
return""},set:function(a){var b=this,c=["Active","Composing","Paused","Inactive","Gone"];c.forEach(function(a){b._extensions["chatState"+a]&&(b.xml.removeChild(b._extensions["chatState"+a].xml),delete b._extensions["chatState"+a])}),a&&this["chatState"+a.charAt(0).toUpperCase()+a.slice(1)]}})},{"./message":48,jxt:147}],36:[function(a,b,c){"use strict";var d=(a("underscore"),a("jxt")),e=(a("./util"),a("./message"));c.DataForm=d.define({name:"form",namespace:"jabber:x:data",element:"x",fields:{title:d.subText("jabber:x:data","title"),instructions:d.multiSubText("jabber:x:data","instructions"),type:d.attribute("type","form")}}),c.Field=d.define({name:"_field",namespace:"jabber:x:data",element:"field",init:function(a){this._type=(a||{}).type||this.type},fields:{type:{get:function(){return d.getAttribute(this.xml,"type","text-single")},set:function(a){this._type=a,d.setAttribute(this.xml,"type",a)}},name:d.attribute("var"),desc:d.subText("desc"),required:d.boolSub("jabber:x:data","required"),label:d.attribute("label"),value:{get:function(){var a=d.getMultiSubText(this.xml,this._NS,"value");return"boolean"===this._type?"1"===a[0]||"true"===a[0]:a.length>1?"text-multi"===this._type?a.join("\n"):a:a[0]},set:function(a){"boolean"===this._type?d.setSubText(this.xml,this._NS,"value",a?"1":"0"):("text-multi"===this._type&&(a=a.split("\n")),d.setMultiSubText(this.xml,this._NS,"value",a))}},options:{get:function(){var a=this;return d.getMultiSubText(this.xml,this._NS,"option",function(b){return d.getSubText(b,a._NS,"value")})},set:function(a){var b=this;d.setMultiSubText(this.xml,this._NS,"option",a,function(a){var c=document.createElementNS(b._NS,"option"),d=document.createElementNS(b._NS,"value");c.appendChild(d),d.textContent=a,b.xml.appendChild(c)})}}}}),d.extend(e,c.DataForm),d.extend(c.DataForm,c.Field,"fields")},{"./message":48,"./util":64,jxt:147,underscore:167}],37:[function(a,b){var c=a("jxt"),d=a("./message"),e=a("./presence"),f=a("./util"),g=b.exports=c.define({name:"delay",namespace:"urn:xmpp:delay",element:"delay",fields:{from:f.jidAttribute("from"),stamp:c.dateAttribute("stamp"),reason:c.text()}});c.extend(d,g),c.extend(e,g)},{"./message":48,"./presence":51,"./util":64,jxt:147}],38:[function(a,b,c){"use strict";var d=(a("underscore"),a("jxt")),e=a("../jid"),f=a("./iq"),g=a("./rsm"),h=a("./dataforms").DataForm;c.DiscoInfo=d.define({name:"discoInfo",namespace:"http://jabber.org/protocol/disco#info",element:"query",fields:{node:d.attribute("node"),identities:{get:function(){var a=[],b=d.find(this.xml,this._NS,"identity");return b.forEach(function(b){a.push({category:d.getAttribute(b,"category"),type:d.getAttribute(b,"type"),lang:b.getAttributeNS(d.XML_NS,"lang"),name:d.getAttribute(b,"name")})}),a},set:function(a){var b=this,c=d.find(this.xml,this._NS,"identity");c.forEach(function(a){b.xml.removeChild(a)}),a.forEach(function(a){var c=document.createElementNS(b._NS,"identity");d.setAttribute(c,"category",a.category),d.setAttribute(c,"type",a.type),d.setAttribute(c,"name",a.name),a.lang&&c.setAttributeNS(d.XML_NS,"lang",a.lang),b.xml.appendChild(c)})}},features:{get:function(){var a=[],b=d.find(this.xml,this._NS,"feature");return b.forEach(function(b){a.push(b.getAttribute("var"))}),a},set:function(a){var b=this,c=d.find(this.xml,this._NS,"feature");c.forEach(function(a){b.xml.removeChild(a)}),a.forEach(function(a){var c=document.createElementNS(b._NS,"feature");c.setAttribute("var",a),b.xml.appendChild(c)})}}}}),c.DiscoItems=d.define({name:"discoItems",namespace:"http://jabber.org/protocol/disco#items",element:"query",fields:{node:d.attribute("node"),items:{get:function(){var a=[],b=d.find(this.xml,this._NS,"item");return b.forEach(function(b){a.push({jid:new e(d.getAttribute(b,"jid")),node:d.getAttribute(b,"node"),name:d.getAttribute(b,"name")})}),a},set:function(a){var b=this,c=d.find(this.xml,this._NS,"item");c.forEach(function(a){b.xml.removeChild(a)}),a.forEach(function(a){var c=document.createElementNS(b._NS,"item");d.setAttribute(c,"jid",a.jid.toString()),d.setAttribute(c,"node",a.node),d.setAttribute(c,"name",a.name),b.xml.appendChild(c)})}}}}),d.extend(f,c.DiscoInfo),d.extend(f,c.DiscoItems),d.extend(c.DiscoItems,g),d.extend(c.DiscoInfo,h,"extensions")},{"../jid":3,"./dataforms":36,"./iq":44,"./rsm":55,jxt:147,underscore:167}],39:[function(a,b){"use strict";var c=(a("underscore"),a("jxt")),d=a("./util"),e=a("./message"),f=a("./presence"),g=a("./iq"),h="urn:ietf:params:xml:ns:xmpp-stanzas",i=["bad-request","conflict","feature-not-implemented","forbidden","gone","internal-server-error","item-not-found","jid-malformed","not-acceptable","not-allowed","not-authorized","payment-required","recipient-unavailable","redirect","registration-required","remote-server-not-found","remote-server-timeout","resource-constraint","service-unavailable","subscription-required","undefined-condition","unexpected-request"],j=b.exports=c.define({name:"error",namespace:"jabber:client",element:"error",fields:{lang:{get:function(){return(this.parent||{}).lang||""}},condition:{get:function(){var a=this,b=[];return i.forEach(function(d){var e=c.find(a.xml,h,d);e.length&&b.push(e[0].tagName)}),b[0]||""},set:function(a){var b=this;if(i.forEach(function(a){var d=c.find(b.xml,h,a);d.length&&b.xml.removeChild(d[0])}),a){var d=document.createElementNS(h,a);d.setAttribute("xmlns",h),this.xml.appendChild(d)}}},gone:{get:function(){return c.getSubText(this.xml,h,"gone")},set:function(a){this.condition="gone",c.setSubText(this.xml,h,"gone",a)}},redirect:{get:function(){return c.getSubText(this.xml,h,"redirect")},set:function(a){this.condition="redirect",c.setSubText(this.xml,h,"redirect",a)}},code:c.attribute("code"),type:c.attribute("type"),by:d.jidAttribute("by"),$text:{get:function(){return c.getSubLangText(this.xml,h,"text",this.lang)}},text:{get:function(){var a=this.$text;return a[this.lang]||""},set:function(a){c.setSubLangText(this.xml,h,"text",a,this.lang)}}}});c.extend(e,j),c.extend(f,j),c.extend(g,j)},{"./iq":44,"./message":48,"./presence":51,"./util":64,jxt:147,underscore:167}],40:[function(a,b,c){var d=a("jxt"),e=a("./iq"),f=a("./dataforms").DataForm,g="urn:xmpp:extdisco:1",h=c.Services=d.define({name:"services",namespace:g,element:"services",fields:{type:d.attribute("type")}}),i=c.Credentials=d.define({name:"credentials",namespace:g,element:"credentials"}),j=d.define({name:"service",namespace:g,element:"service",fields:{host:d.attribute("host"),port:d.attribute("port"),transport:d.attribute("transport"),type:d.attribute("type"),username:d.attribute("username"),password:d.attribute("password")}});d.extend(h,j,"services"),d.extend(i,j),d.extend(j,f),d.extend(e,h),d.extend(e,i)},{"./dataforms":36,"./iq":44,jxt:147}],41:[function(a,b){var c=a("jxt"),d=a("./message"),e=a("./presence"),f=a("./iq"),g=a("./delayed"),h=b.exports=c.define({name:"forwarded",eventName:"forward",namespace:"urn:xmpp:forward:0",element:"forwarded"});c.extend(d,h),c.extend(h,d),c.extend(h,e),c.extend(h,f),c.extend(h,g)},{"./delayed":37,"./iq":44,"./message":48,"./presence":51,jxt:147}],42:[function(a,b){"use strict";var c=a("jxt"),d=a("./pubsub").Item,e=a("./pubsub").EventItem,f="http://jabber.org/protocol/geoloc",g=b.exports=c.define({name:"geoloc",namespace:f,element:"geoloc",fields:{accuracy:c.numberSub(f,"accuracy",!0),altitude:c.numberSub(f,"alt",!0),area:c.subText(f,"area"),heading:c.numberSub(f,"bearing",!0),bearing:c.numberSub(f,"bearing",!0),building:c.subText(f,"building"),country:c.subText(f,"country"),countrycode:c.subText(f,"countrycode"),datum:c.subText(f,"datum"),description:c.subText(f,"description"),error:c.numberSub(f,"error",!0),floor:c.subText(f,"floor"),latitude:c.numberSub(f,"lat",!0),locality:c.subText(f,"locality"),longitude:c.numberSub(f,"lon",!0),postalcode:c.subText(f,"postalcode"),region:c.subText(f,"region"),room:c.subText(f,"room"),speed:c.numberSub(f,"speed",!0),street:c.subText(f,"street"),text:c.subText(f,"text"),timestamp:c.dateSub(f,"timestamp"),uri:c.subText(f,"uri")}});c.extend(d,g),c.extend(e,g)},{"./pubsub":53,jxt:147}],43:[function(a,b,c){var d=(a("underscore"),a("jxt")),e=(a("./util"),a("./jingle")),f="urn:xmpp:jingle:transports:ice-udp:1";c.ICEUDP=d.define({name:"_iceUdp",namespace:f,element:"transport",fields:{transType:{value:"iceUdp"},pwd:d.attribute("pwd"),ufrag:d.attribute("ufrag")}}),c.RemoteCandidate=d.define({name:"remoteCandidate",namespace:f,element:"remote-candidate",fields:{component:d.attribute("component"),ip:d.attribute("ip"),port:d.attribute("port")}}),c.Candidate=d.define({name:"_iceUdpCandidate",namespace:f,element:"candidate",fields:{component:d.attribute("component"),foundation:d.attribute("foundation"),generation:d.attribute("generation"),id:d.attribute("id"),ip:d.attribute("ip"),network:d.attribute("network"),port:d.attribute("port"),priority:d.attribute("priority"),protocol:d.attribute("protocol"),relAddr:d.attribute("rel-addr"),relPort:d.attribute("rel-port"),type:d.attribute("type")}}),c.Fingerprint=d.define({name:"_iceFingerprint",namespace:"urn:xmpp:tmp:jingle:apps:dtls:0",element:"fingerprint",fields:{hash:d.attribute("hash"),value:d.text(),required:d.boolAttribute("required")}}),d.extend(e.Content,c.ICEUDP),d.extend(c.ICEUDP,c.Candidate,"candidates"),d.extend(c.ICEUDP,c.RemoteCandidate),d.extend(c.ICEUDP,c.Fingerprint,"fingerprints")},{"./jingle":45,"./util":64,jxt:147,underscore:167}],44:[function(a,b){"use strict";var c=a("jxt"),d=a("./util"),e=b.exports=c.define({name:"iq",namespace:"jabber:client",element:"iq",topLevel:!0,fields:{lang:c.langAttribute(),id:c.attribute("id"),to:d.jidAttribute("to"),from:d.jidAttribute("from"),type:c.attribute("type")}});e.prototype.resultReply=function(a){return a.to=this.from,a.id=this.id,a.type="result",new e(a)},e.prototype.errorReply=function(a){return a.to=this.from,a.id=this.id,a.type="error",new e(a)}},{"./util":64,jxt:147}],45:[function(a,b,c){"use strict";var d=(a("underscore"),a("jxt")),e=(a("./util"),a("./iq")),f=a("./error"),g="urn:xmpp:jingle:1",h="urn:xmpp:jingle:errors:1",i=["out-of-order","tie-break","unknown-session","unsupported-info"],j=["alternative-session","busy","cancel","connectivity-error","decline","expired","failed-application","failed-transport","general-error","gone","incompatible-parameters","media-error","security-error","success","timeout","unsupported-applications","unsupported-transports"];c.Jingle=d.define({name:"jingle",namespace:g,element:"jingle",fields:{action:d.attribute("action"),initiator:d.attribute("initiator"),responder:d.attribute("responder"),sid:d.attribute("sid")}}),c.Content=d.define({name:"_jingleContent",namespace:g,element:"content",fields:{creator:d.attribute("creator"),disposition:d.attribute("disposition","session"),name:d.attribute("name"),senders:d.attribute("senders","both"),description:{get:function(){for(var a=["_rtp"],b=0;b<a.length;b++)if(this._extensions[a[b]])return this._extensions[a[b]]},set:function(a){var b="_"+a.descType;this[b]=a}},transport:{get:function(){for(var a=["_iceUdp"],b=0;b<a.length;b++)if(this._extensions[a[b]])return this._extensions[a[b]]},set:function(a){var b="_"+a.transType;this[b]=a}}}}),c.Reason=d.define({name:"reason",namespace:g,element:"reason",fields:{condition:{get:function(){var a=this,b=[];return j.forEach(function(c){var e=d.find(a.xml,g,c);e.length&&b.push(e[0].tagName)}),b[0]||""},set:function(a){var b=this;if(j.forEach(function(a){var c=d.find(b.xml,g,a);c.length&&b.xml.removeChild(c[0])}),a){var c=document.createElementNS(g,a);this.xml.appendChild(c)}}},alternativeSession:{get:function(){return d.getSubText(this.xml,g,"alternative-session")},set:function(a){this.condition="alternative-session",d.setSubText(this.xml,g,"alternative-session",a)}},text:d.subText(g,"text")}}),d.add(f,"jingleCondition",{get:function(){var a=this,b=[];return i.forEach(function(c){var e=d.find(a.xml,h,c);e.length&&b.push(e[0].tagName)}),b[0]||""},set:function(a){var b=this;if(i.forEach(function(a){var c=d.find(b.xml,h,a);c.length&&b.xml.removeChild(c[0])}),a){var c=document.createElementNS(h,a);this.xml.appendChild(c)}}}),d.extend(e,c.Jingle),d.extend(c.Jingle,c.Content,"contents"),d.extend(c.Jingle,c.Reason)},{"./error":39,"./iq":44,"./util":64,jxt:147,underscore:167}],46:[function(a,b){"use strict";var c=a("jxt"),d=a("./message"),e=a("./pubsub").Item,f=a("./pubsub").EventItem,g=b.exports={get:function(){var a=c.getSubText(this.xml,"urn:xmpp:json:0","json");return a?JSON.parse(a):void 0},set:function(a){a=JSON.stringify(a),a&&c.setSubText(this.xml,"urn:xmpp:json:0","json",a)}};c.add(d,"json",g),c.add(e,"json",g),c.add(f,"json",g)},{"./message":48,"./pubsub":53,jxt:147}],47:[function(a,b,c){"use strict";var d=a("jxt"),e=a("./util"),f=a("./message"),g=a("./iq"),h=a("./forwarded"),i=a("./rsm"),j=a("../jid");c.MAMQuery=d.define({name:"mamQuery",namespace:"urn:xmpp:mam:tmp",element:"query",fields:{queryid:d.attribute("queryid"),start:d.dateSub("urn:xmpp:mam:tmp","start"),end:d.dateSub("urn:xmpp:mam:tmp","end"),"with":e.jidSub("urn:xmpp:mam:tmp","with")}}),c.Result=d.define({name:"mam",eventName:"mam:result",namespace:"urn:xmpp:mam:tmp",element:"result",fields:{queryid:d.attribute("queryid"),id:d.attribute("id")}}),c.Archived=d.define({name:"mamArchived",namespace:"urn:xmpp:mam:tmp",element:"archived",fields:{by:e.jidAttribute("by"),id:d.attribute("id")}}),c.Prefs=d.define({name:"mamPrefs",namespace:"urn:xmpp:mam:tmp",element:"prefs",fields:{defaultCondition:d.attribute("default"),always:{get:function(){var a=[],b=d.find(this.xml,this._NS,"always");if(0===b.length)return a;b=b[0];var c=d.getMultiSubText(b,this._NS,"jid");return c.forEach(function(b){a.push(new j(b.textContent))}),a},set:function(a){if(a.length>0){var b=d.find(this.xml,this._NS,"always");d.setMultiSubText(b,this._NS,"jid",a)}}},never:{get:function(){var a=[],b=d.find(this.xml,this._NS,"always");if(0===b.length)return a;b=b[0];var c=d.getMultiSubText(b,this._NS,"jid");return c.forEach(function(b){a.push(new j(b.textContent))}),a},set:function(a){if(a.length>0){var b=d.find(this.xml,this._NS,"never");d.setMultiSubText(b,this._NS,"jid",a)}}}}}),d.extend(f,c.Archived,"archived"),d.extend(g,c.MAMQuery),d.extend(g,c.Prefs),d.extend(f,c.Result),d.extend(c.Result,h),d.extend(c.MAMQuery,i)},{"../jid":3,"./forwarded":41,"./iq":44,"./message":48,"./rsm":55,"./util":64,jxt:147}],48:[function(a,b){"use strict";var c=(a("underscore"),a("jxt")),d=a("./util");b.exports=c.define({name:"message",namespace:"jabber:client",element:"message",topLevel:!0,fields:{lang:c.langAttribute(),id:c.attribute("id"),to:d.jidAttribute("to"),from:d.jidAttribute("from"),type:c.attribute("type","normal"),thread:c.subText("jabber:client","thread"),parentThread:c.subAttribute("jabber:client","thread","parent"),subject:c.subText("jabber:client","subject"),$body:{get:function(){return c.getSubLangText(this.xml,this._NS,"body",this.lang)}},body:{get:function(){var a=this.$body;return a[this.lang]||""},set:function(a){c.setSubLangText(this.xml,this._NS,"body",a,this.lang)}},attention:c.boolSub("urn:xmpp:attention:0","attention"),replace:c.subAttribute("urn:xmpp:message-correct:0","replace","id"),requestReceipt:c.boolSub("urn:xmpp:receipts","request"),receipt:c.subAttribute("urn:xmpp:receipts","received","id")}})},{"./util":64,jxt:147,underscore:167}],49:[function(a,b,c){"use strict";var d=a("jxt"),e=a("./message"),f=a("./presence"),g=a("./iq"),h=a("./dataforms").DataForm,i=a("./util"),j="http://jabber.org/protocol/muc",k=j+"#user",l=j+"#admin",m=j+"#owner",n=function(a,b){return{get:function(){return this._extensions[a]?this[a][b]:void 0},set:function(c){this[a][b]=c}}},o=d.define({name:"_mucUserItem",namespace:k,element:"item",fields:{affiliation:d.attribute("affiliation"),nick:d.attribute("nick"),jid:i.jidAttribute("jid"),role:d.attribute("role"),reason:d.subText(k,"reason")}}),p=d.define({name:"_mucUserActor",namespace:k,element:"actor",fields:{nick:d.attribute("nick"),jid:i.jidAttribute("jid")}}),q=d.define({name:"destroyed",namespace:k,element:"destroy",fields:{jid:i.jidAttribute("jid"),reason:d.subText(k,"reason")}}),r=d.define({name:"invite",namespace:k,element:"invite",fields:{to:i.jidAttribute("to"),from:i.jidAttribute("from"),reason:d.subText(k,"reason"),thread:d.subAttribute(k,"continue","thread"),"continue":d.boolSub(k,"continue")}}),s=d.define({name:"decline",namespace:k,element:"decline",fields:{to:i.jidAttribute("to"),from:i.jidAttribute("from"),reason:d.subText(k,"reason")}}),t=d.define({name:"_mucAdminItem",namespace:l,element:"item",fields:{affiliation:d.attribute("affiliation"),nick:d.attribute("nick"),jid:i.jidAttribute("jid"),role:d.attribute("role"),reason:d.subText(l,"reason")}}),u=d.define({name:"actor",namespace:k,element:"actor",fields:{nick:d.attribute("nick"),jid:i.jidAttribute("jid")}}),v=d.define({name:"destroy",namespace:m,element:"destroy",fields:{jid:i.jidAttribute("jid"),password:d.subText(m,"password"),reason:d.subText(m,"reason")}});c.MUC=d.define({name:"muc",namespace:k,element:"x",fields:{affiliation:n("_mucUserItem","affiliation"),nick:n("_mucUserItem","nick"),jid:n("_mucUserItem","jid"),role:n("_mucUserItem","role"),actor:n("_mucUserItem","_mucUserActor"),reason:n("_mucUserItem","reason"),password:d.subText(k,"password"),codes:{get:function(){return d.getMultiSubText(this.xml,k,"status",function(a){return d.getAttribute(a,"code")})},set:function(a){var b=this;d.setMultiSubText(this.xml,k,"status",a,function(a){var c=d.createElement(k,"status",k);d.setAttribute(c,"code",a),b.xml.appendChild(c)})}}}}),c.MUCAdmin=d.define({name:"mucAdmin",namespace:l,element:"query",fields:{affiliation:n("_mucAdminItem","affiliation"),nick:n("_mucAdminItem","nick"),jid:n("_mucAdminItem","jid"),role:n("_mucAdminItem","role"),actor:n("_mucAdminItem","_mucAdminActor"),reason:n("_mucAdminItem","reason")}}),c.MUCOwner=d.define({name:"mucOwner",namespace:m,element:"query"}),c.MUCJoin=d.define({name:"joinMuc",namespace:j,element:"x",fields:{password:d.subText(j,"password"),history:{get:function(){var a={},b=d.find(this.xml,this._NS,"history");if(!b.length)return{};b=b[0];var c=b.getAttribute("maxchars")||"",e=b.getAttribute("maxstanas")||"",f=b.getAttribute("seconds")||"",g=b.getAttribute("since")||"";c&&(a.maxchars=parseInt(c,10)),e&&(a.maxstanzas=parseInt(e,10)),f&&(a.seconds=parseInt(f,10)),g&&(a.since=new Date(g))},set:function(a){var b=d.find(this.xml,this._NS,"history");if(b.length)for(var c=0;c<b.length;c++)this.xml.removeChild(b[c]);var e=d.createElement(this._NS,"history",this._NS);this.xml.appendChild(e),a.maxchars&&e.setAttribute(""+a.maxchars),a.maxstanzas&&e.setAttribute(""+a.maxstanzas),a.seconds&&e.setAttribute(""+a.seconds),a.since&&e.setAttribute(a.since.toISOString())}}}}),c.DirectInvite=d.define({name:"mucInvite",namespace:"jabber:x:conference",element:"x",fields:{jid:i.jidAttribute("jid"),password:d.attribute("password"),reason:d.attribute("reason"),thread:d.attribute("thread"),"continue":d.boolAttribute("continue")}}),d.extend(o,p),d.extend(c.MUC,o),d.extend(c.MUC,r,"invites"),d.extend(c.MUC,s),d.extend(c.MUC,q),d.extend(t,u),d.extend(c.MUCAdmin,t,"items"),d.extend(c.MUCOwner,v),d.extend(c.MUCOwner,h),d.extend(f,c.MUC),d.extend(e,c.MUC),d.extend(f,c.MUCJoin),d.extend(e,c.DirectInvite),d.extend(g,c.MUCAdmin),d.extend(g,c.MUCOwner)},{"./dataforms":36,"./iq":44,"./message":48,"./presence":51,"./util":64,jxt:147}],50:[function(a,b){"use strict";var c=a("jxt"),d=a("./message"),e="jabber:x:oob",f=b.exports=c.define({name:"oob",element:"x",namespace:e,fields:{url:c.subText(e,"url"),desc:c.subText(e,"desc")}});c.extend(d,f,"oobURIs")},{"./message":48,jxt:147}],51:[function(a,b){"use strict";var c=(a("underscore"),a("jxt")),d=a("./util");b.exports=c.define({name:"presence",namespace:"jabber:client",element:"presence",topLevel:!0,fields:{lang:c.langAttribute(),id:c.attribute("id"),to:d.jidAttribute("to"),from:d.jidAttribute("from"),priority:c.numberSub("jabber:client","priority"),show:c.subText("jabber:client","show"),type:{get:function(){return c.getAttribute(this.xml,"type","available")},set:function(a){"available"===a&&(a=!1),c.setAttribute(this.xml,"type",a)}},$status:{get:function(){return c.getSubLangText(this.xml,this._NS,"status",this.lang)}},status:{get:function(){var a=this.$status;return a[this.lang]||""},set:function(a){c.setSubLangText(this.xml,this._NS,"status",a,this.lang)}},idleSince:c.dateSubAttribute("urn:xmpp:idle:1","idle","since"),decloak:c.subAttribute("urn:xmpp:decloak:0","decloak","reason"),avatarId:{get:function(){var a="vcard-temp:x:update",b=c.find(this.xml,a,"x");return b.length?c.getSubText(b[0],a,"photo"):""},set:function(a){var b="vcard-temp:x:update",d=c.findOrCreate(this.xml,b,"x");if(""===a)c.setBoolSub(d,b,"photo",!0);else{if(a===!0)return;a?c.setSubText(d,b,"photo",a):this.xml.removeChild(d)}}}}})},{"./util":64,jxt:147,underscore:167}],52:[function(a,b){var c=a("jxt"),d=a("./iq"),e=b.exports=c.define({name:"privateStorage",namespace:"jabber:iq:private",element:"query"});c.extend(d,e)},{"./iq":44,jxt:147}],53:[function(a,b,c){"use strict";var d=a("underscore"),e=a("jxt"),f=a("./util"),g=a("./iq"),h=a("./message"),i=a("./dataforms").DataForm,j=a("./rsm"),k=(a("../jid"),"http://jabber.org/protocol/pubsub"),l="http://jabber.org/protocol/pubsub#owner",m="http://jabber.org/protocol/pubsub#event";c.Pubsub=e.define({name:"pubsub",namespace:"http://jabber.org/protocol/pubsub",element:"pubsub",fields:{publishOptions:{get:function(){var a=e.find(this.xml,this._NS,"publish-options");return a.length&&a[0].childNodes.length?new i({},a[0].childNodes[0]):void 0},set:function(a){var b=e.findOrCreate(this.xml,this._NS,"publish-options");if(a){var c=new i(a);b.appendChild(c.xml)}}}}}),c.PubsubOwner=e.define({name:"pubsubOwner",namespace:l,element:"pubsub",fields:{create:e.subAttribute(l,"create","node"),purge:e.subAttribute(l,"purge","node"),del:e.subAttribute(l,"delete","node"),redirect:{get:function(){var a=e.find(this.xml,this._NS,"delete");return a.length?e.getSubAttribute(a[0],this._NS,"redirect","uri"):""},set:function(a){var b=e.findOrCreate(this.xml,this._NS,"delete");e.setSubAttribute(b,this._NS,"redirect","uri",a)}}}}),c.Configure=e.define({name:"config",namespace:l,element:"configure",fields:{node:e.attribute("node")}}),c.Event=e.define({name:"event",namespace:m,element:"event"}),c.Subscribe=e.define({name:"subscribe",namespace:k,element:"subscribe",fields:{node:e.attribute("node"),jid:f.jidAttribute("jid")}}),c.Subscription=e.define({name:"subscription",namespace:k,element:"subscription",fields:{node:e.attribute("node"),jid:f.jidAttribute("jid"),subid:e.attribute("subid"),type:e.attribute("subscription")}}),c.Unsubscribe=e.define({name:"unsubscribe",namespace:k,element:"unsubscribe",fields:{node:e.attribute("node"),jid:f.jidAttribute("jid")}}),c.Publish=e.define({name:"publish",namespace:k,element:"publish",fields:{node:e.attribute("node")}}),c.Retract=e.define({name:"retract",namespace:k,element:"retract",fields:{node:e.attribute("node"),notify:e.boolAttribute("notify"),id:e.subAttribute(k,"item","id")}}),c.Retrieve=e.define({name:"retrieve",namespace:k,element:"items",fields:{node:e.attribute("node"),max:e.attribute("max_items")}}),c.Item=e.define({name:"item",namespace:k,element:"item",fields:{id:e.attribute("id")}}),c.EventItems=e.define({name:"updated",namespace:m,element:"items",fields:{node:e.attribute("node"),retracted:{get:function(){var a=[],b=e.find(this.xml,this._NS,"retract");return d.forEach(b,function(b){a.push(b.getAttribute("id"))}),a},set:function(a){var b=this;d.forEach(a,function(a){var c=document.createElementNS(b._NS,"retract");c.setAttribute("id",a),this.xml.appendChild(c)})}}}}),c.EventItem=e.define({name:"eventItem",namespace:m,element:"item",fields:{id:e.attribute("id"),node:e.attribute("node"),publisher:f.jidAttribute("publisher")}}),e.extend(c.Pubsub,c.Subscribe),e.extend(c.Pubsub,c.Unsubscribe),e.extend(c.Pubsub,c.Publish),e.extend(c.Pubsub,c.Retrieve),e.extend(c.Pubsub,c.Subscription),e.extend(c.PubsubOwner,c.Configure),e.extend(c.Publish,c.Item,"items"),e.extend(c.Retrieve,c.Item,"items"),e.extend(c.Configure,i),e.extend(c.Pubsub,j),e.extend(c.Event,c.EventItems),e.extend(c.EventItems,c.EventItem,"published"),e.extend(h,c.Event),e.extend(g,c.Pubsub),e.extend(g,c.PubsubOwner)},{"../jid":3,"./dataforms":36,"./iq":44,"./message":48,"./rsm":55,"./util":64,jxt:147,underscore:167}],54:[function(a,b){"use strict";var c=(a("underscore"),a("jxt")),d=a("./iq"),e=a("../jid"),f=b.exports=c.define({name:"roster",namespace:"jabber:iq:roster",element:"query",fields:{ver:{get:function(){return c.getAttribute(this.xml,"ver")},set:function(a){var b=""===a;c.setAttribute(this.xml,"ver",a,b)}},items:{get:function(){var a=this,b=c.find(this.xml,this._NS,"item");if(!b.length)return[];var d=[];return b.forEach(function(b){var f={jid:new e(c.getAttribute(b,"jid","")),name:c.getAttribute(b,"name",void 0),subscription:c.getAttribute(b,"subscription","none"),ask:c.getAttribute(b,"ask",void 0),groups:[]},g=c.find(b,a._NS,"group");g.forEach(function(a){f.groups.push(a.textContent)}),d.push(f)}),d},set:function(a){var b=this;a.forEach(function(a){var d=document.createElementNS(b._NS,"item");c.setAttribute(d,"jid",a.jid.toString()),c.setAttribute(d,"name",a.name),c.setAttribute(d,"subscription",a.subscription),c.setAttribute(d,"ask",a.ask),(a.groups||[]).forEach(function(a){var c=document.createElementNS(b._NS,"group");c.textContent=a,d.appendChild(c)}),b.xml.appendChild(d)})}}}});c.extend(d,f)},{"../jid":3,"./iq":44,jxt:147,underscore:167}],55:[function(a,b){"use strict";var c=a("jxt"),d=(a("./util"),"http://jabber.org/protocol/rsm");b.exports=c.define({name:"rsm",namespace:d,element:"set",fields:{after:c.subText(d,"after"),before:{get:function(){return c.getSubText(this.xml,this._NS,"before")},set:function(a){a===!0?c.findOrCreate(this.xml,this._NS,"before"):c.setSubText(this.xml,this._NS,"before",a)}},count:c.numberSub(d,"count"),first:c.subText(d,"first"),firstIndex:c.subAttribute(d,"first","index"),index:c.subText(d,"index"),last:c.subText(d,"last"),max:c.subText(d,"max")}})},{"./util":64,jxt:147}],56:[function(a,b,c){"use strict";var d=(a("underscore"),a("jxt")),e=(a("./util"),a("./jingle")),f="urn:xmpp:jingle:apps:rtp:1",g="urn:xmpp:jingle:apps:rtp:rtcp-fb:0",h="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",i="urn:xmpp:jingle:apps:rtp:info:1",j="urn:xmpp:jingle:apps:rtp:ssma:0",k={get:function(){var a=d.find(this.xml,g,"rtcp-fb"),b=[];return a.forEach(function(a){b.push({type:d.getAttribute(a,"type"),subtype:d.getAttribute(a,"subtype")})}),a=d.find(this.xml,g,"rtcp-fb-trr-int"),a.forEach(function(a){b.push({type:d.getAttribute(a,"type"),value:d.getAttribute(a,"value")})}),b},set:function(a){var b=this,c=d.find(this.xml,g,"rtcp-fb");c.forEach(function(a){b.xml.removeChild(a)}),c=d.find(this.xml,g,"rtcp-fb-trr-int"),c.forEach(function(a){b.xml.removeChild(a)}),a.forEach(function(a){var c;"trr-int"===a.type?(c=d.createElement(g,"rtcp-fb-trr-int",f),d.setAttribute(c,"type",a.type),d.setAttribute(c,"value",a.value)):(c=d.createElement(g,"rtcp-fb",f),d.setAttribute(c,"type",a.type),d.setAttribute(c,"subtype",a.subtype)),b.xml.appendChild(c)})}};c.RTP=d.define({name:"_rtp",namespace:f,element:"description",fields:{descType:{value:"rtp"},media:d.attribute("media"),ssrc:d.attribute("ssrc"),bandwidth:d.subText(f,"bandwidth"),bandwidthType:d.subAttribute(f,"bandwidth","type"),mux:d.boolSub(f,"rtcp-mux"),encryption:{get:function(){var a=d.find(this.xml,f,"encryption");if(!a.length)return[];a=a[0];var b=this,e=d.find(a,f,"crypto"),g=[];return e.forEach(function(a){g.push(new c.Crypto({},a,b).toJSON())}),g},set:function(a){var b=d.find(this.xml,f,"encryption");if(b.length&&this.xml.removeChild(b),a.length){d.setBoolSubAttribute(this.xml,f,"encryption","required",!0),b=d.find(this.xml,f,"encryption")[0];var e=this;a.forEach(function(a){var d=new c.Crypto(a,null,e);b.appendChild(d.xml)})}}},feedback:k,headerExtensions:{get:function(){var a=d.find(this.xml,h,"rtp-hdrext"),b=[];return a.forEach(function(a){b.push({id:d.getAttribute(a,"id"),uri:d.getAttribute(a,"uri"),senders:d.getAttribute(a,"senders")})}),b},set:function(a){var b=this,c=d.find(this.xml,h,"rtp-hdrext");c.forEach(function(a){b.xml.removeChild(a)}),a.forEach(function(a){var c=d.createElement(h,"rtp-hdrext",f);d.setAttribute(c,"id",a.id),d.setAttribute(c,"uri",a.uri),d.setAttribute(c,"senders",a.senders),b.xml.appendChild(c)})}}}}),c.PayloadType=d.define({name:"_payloadType",namespace:f,element:"payload-type",fields:{channels:d.attribute("channels"),clockrate:d.attribute("clockrate"),id:d.attribute("id"),maxptime:d.attribute("maxptime"),name:d.attribute("name"),ptime:d.attribute("ptime"),feedback:k,parameters:{get:function(){var a=[],b=d.find(this.xml,f,"parameter");return b.forEach(function(b){a.push({key:d.getAttribute(b,"name"),value:d.getAttribute(b,"value")})}),a},set:function(a){var b=this;a.forEach(function(a){var c=d.createElement(f,"parameter");d.setAttribute(c,"name",a.key),d.setAttribute(c,"value",a.value),b.xml.appendChild(c)})}}}}),c.Crypto=d.define({name:"crypto",namespace:f,element:"crypto",fields:{cipherSuite:d.attribute("crypto-suite"),keyParams:d.attribute("key-params"),sessionParams:d.attribute("session-params"),tag:d.attribute("tag")}}),c.ContentGroup=d.define({name:"_group",namespace:"urn:xmpp:jingle:apps:grouping:0",element:"group",fields:{semantics:d.attribute("semantics"),contents:{get:function(){return d.getMultiSubText(this.xml,this._NS,"content",function(a){return d.getAttribute(a,"name")})},set:function(a){var b=this;d.setMultiSubText(this.xml,this._NS,"content",a,function(a){var c=d.createElement(b._NS,"content",b._NS);d.setAttribute(c,"name",a),b.xml.appendChild(c)})}}}}),c.SourceGroup=d.define({name:"_sourceGroup",namespace:j,element:"ssrc-group",fields:{semantics:d.attribute("semantics"),sources:{get:function(){return d.getMultiSubText(this.xml,this._NS,"source",function(a){return d.getAttribute(a,"ssrc")})},set:function(a){var b=this;d.setMultiSubText(this.xml,this._NS,"source",a,function(a){var c=d.createElement(b._NS,"source",b._NS);d.setAttribute(c,"ssrc",a),b.xml.appendChild(c)})}}}}),c.Source=d.define({name:"_source",namespace:j,element:"source",fields:{ssrc:d.attribute("ssrc"),parameters:{get:function(){var a=[],b=d.find(this.xml,j,"parameter");return b.forEach(function(b){a.push({key:d.getAttribute(b,"name"),value:d.getAttribute(b,"value")})}),a},set:function(a){var b=this;a.forEach(function(a){var c=d.createElement(j,"parameter");d.setAttribute(c,"name",a.key),d.setAttribute(c,"value",a.value),b.xml.appendChild(c)})}}}}),c.Mute=d.define({name:"mute",namespace:i,element:"mute",fields:{creator:d.attribute("creator"),name:d.attribute("name")}}),c.Unmute=d.define({name:"unmute",namespace:i,element:"unmute",fields:{creator:d.attribute("creator"),name:d.attribute("name")}}),d.extend(e.Content,c.RTP),d.extend(c.RTP,c.PayloadType,"payloads"),d.extend(c.RTP,c.Source,"sources"),d.extend(c.RTP,c.SourceGroup,"sourceGroups"),d.extend(e.Jingle,c.Mute),d.extend(e.Jingle,c.Unmute),d.extend(e.Jingle,c.ContentGroup,"groups"),d.add(e.Jingle,"ringing",d.boolSub(i,"ringing")),d.add(e.Jingle,"hold",d.boolSub(i,"hold")),d.add(e.Jingle,"active",d.boolSub(i,"active"))},{"./jingle":45,"./util":64,jxt:147,underscore:167}],57:[function(a,b,c){"use strict";var d=(a("underscore"),a("jxt")),e=(a("./util"),a("./streamFeatures")),f="urn:ietf:params:xml:ns:xmpp-sasl",g=["aborted","account-disabled","credentials-expired","encryption-required","incorrect-encoding","invalid-authzid","invalid-mechanism","malformed-request","mechanism-too-weak","not-authorized","temporary-auth-failure"];c.Mechanisms=d.define({name:"sasl",namespace:f,element:"mechanisms",fields:{mechanisms:d.multiSubText(f,"mechanism")}}),c.Auth=d.define({name:"saslAuth",eventName:"sasl:auth",namespace:f,element:"auth",topLevel:!0,fields:{value:d.b64Text(),mechanism:d.attribute("mechanism")}}),c.Challenge=d.define({name:"saslChallenge",eventName:"sasl:challenge",namespace:f,element:"challenge",topLevel:!0,fields:{value:d.b64Text()}}),c.Response=d.define({name:"saslResponse",eventName:"sasl:response",namespace:f,element:"response",topLevel:!0,fields:{value:d.b64Text()}}),c.Abort=d.define({name:"saslAbort",eventName:"sasl:abort",namespace:f,element:"abort",topLevel:!0}),c.Success=d.define({name:"saslSuccess",eventName:"sasl:success",namespace:f,element:"success",topLevel:!0,fields:{value:d.b64Text()}}),c.Failure=d.define({name:"saslFailure",eventName:"sasl:failure",namespace:f,element:"failure",topLevel:!0,fields:{lang:{get:function(){return this._lang||""
},set:function(a){this._lang=a}},condition:{get:function(){var a=this,b=[];return g.forEach(function(c){var e=d.find(a.xml,f,c);e.length&&b.push(e[0].tagName)}),b[0]||""},set:function(a){var b=this;if(this._CONDITIONS.forEach(function(a){var c=d.find(b.xml,f,a);c.length&&b.xml.removeChild(c[0])}),a){var c=d.createElementNS(f,a);c.setAttribute("xmlns",f),this.xml.appendChild(c)}}},$text:{get:function(){return d.getSubLangText(this.xml,f,"text",this.lang)}},text:{get:function(){var a=this.$text;return a[this.lang]||""},set:function(a){d.setSubLangText(this.xml,f,"text",a,this.lang)}}}}),d.extend(e,c.Mechanisms)},{"./streamFeatures":62,"./util":64,jxt:147,underscore:167}],58:[function(a,b){var c=a("jxt"),d=a("./iq"),e=a("./streamFeatures"),f=b.exports=c.define({name:"session",namespace:"urn:ietf:params:xml:ns:xmpp-session",element:"session"});c.extend(e,f),c.extend(d,f)},{"./iq":44,"./streamFeatures":62,jxt:147}],59:[function(a,b,c){var d=a("jxt"),e=(a("./util"),a("./streamFeatures")),f="urn:xmpp:sm:3";c.SMFeature=d.define({name:"streamManagement",namespace:f,element:"sm"}),c.Enable=d.define({name:"smEnable",eventName:"stream:management:enable",namespace:f,element:"enable",topLevel:!0,fields:{resume:d.boolAttribute("resume")}}),c.Enabled=d.define({name:"smEnabled",eventName:"stream:management:enabled",namespace:f,element:"enabled",topLevel:!0,fields:{id:d.attribute("id"),resume:d.boolAttribute("resume")}}),c.Resume=d.define({name:"smResume",eventName:"stream:management:resume",namespace:f,element:"resume",topLevel:!0,fields:{h:d.numberAttribute("h"),previd:d.attribute("previd")}}),c.Resumed=d.define({name:"smResumed",eventName:"stream:management:resumed",namespace:f,element:"resumed",topLevel:!0,fields:{h:d.numberAttribute("h"),previd:d.attribute("previd")}}),c.Failed=d.define({name:"smFailed",eventName:"stream:management:failed",namespace:f,element:"failed",topLevel:!0}),c.Ack=d.define({name:"smAck",eventName:"stream:management:ack",namespace:f,element:"a",topLevel:!0,fields:{h:d.numberAttribute("h")}}),c.Request=d.define({name:"smRequest",eventName:"stream:management:request",namespace:f,element:"r",topLevel:!0}),d.extend(e,c.SMFeature)},{"./streamFeatures":62,"./util":64,jxt:147}],60:[function(a,b){"use strict";var c=a("jxt"),d=a("./util");b.exports=c.define({name:"stream",namespace:"http://etherx.jabber.org/streams",element:"stream",fields:{lang:{get:function(){return this.xml.getAttributeNS(c.XML_NS,"lang")||""},set:function(a){this.xml.setAttributeNS(c.XML_NS,"lang",a)}},id:c.attribute("id"),version:c.attribute("version","1.0"),to:d.jidAttribute("to"),from:d.jidAttribute("from")}})},{"./util":64,jxt:147}],61:[function(a,b){"use strict";var c=(a("underscore"),a("jxt")),d="urn:ietf:params:xml:ns:xmpp-streams",e=["bad-format","bad-namespace-prefix","conflict","connection-timeout","host-gone","host-unknown","improper-addressing","internal-server-error","invalid-from","invalid-namespace","invalid-xml","not-authorized","not-well-formed","policy-violation","remote-connection-failed","reset","resource-constraint","restricted-xml","see-other-host","system-shutdown","undefined-condition","unsupported-encoding","unsupported-feature","unsupported-stanza-type","unsupported-version"];b.exports=c.define({name:"streamError",namespace:"http://etherx.jabber.org/streams",element:"error",topLevel:!0,fields:{lang:{get:function(){return this._lang||""},set:function(a){this._lang=a}},condition:{get:function(){var a=this,b=[];return e.forEach(function(e){var f=c.find(a.xml,d,e);f.length&&b.push(f[0].tagName)}),b[0]||""},set:function(a){var b=this;if(this._CONDITIONS.forEach(function(a){var e=c.find(b.xml,d,a);e.length&&b.xml.removeChild(e[0])}),a){var e=c.createElementNS(d,a);e.setAttribute("xmlns",d),this.xml.appendChild(e)}}},seeOtherHost:{get:function(){return c.getSubText(this.xml,d,"see-other-host")},set:function(a){this.condition="see-other-host",c.setSubText(this.xml,d,"see-other-host",a)}},$text:{get:function(){return c.getSubLangText(this.xml,d,"text",this.lang)}},text:{get:function(){var a=this.$text;return a[this.lang]||""},set:function(a){c.setSubLangText(this.xml,d,"text",a,this.lang)}}}})},{jxt:147,underscore:167}],62:[function(a,b){"use strict";var c=a("jxt"),d=b.exports=c.define({name:"streamFeatures",namespace:"http://etherx.jabber.org/streams",element:"features",topLevel:!0,fields:{features:{get:function(){return this._extensions}}}}),e=c.define({name:"rosterVersioning",namespace:"urn:xmpp:features:rosterver",element:"ver"}),f=c.define({name:"subscriptionPreApproval",namespace:"urn:xmpp:features:pre-approval",element:"sub"});c.extend(d,e),c.extend(d,f)},{jxt:147}],63:[function(a,b){"use strict";var c=a("jxt"),d=(a("./util"),a("./iq")),e=b.exports=c.define({name:"time",namespace:"urn:xmpp:time",element:"time",fields:{utc:c.dateSub("urn:xmpp:time","utc"),tzo:{get:function(){var a,b,d,e=-1,f=c.getSubText(this.xml,this._NS,"tzo");return f?("-"===f.charAt(0)&&(e=1,f=f.slice(1)),a=f.split(":"),b=parseInt(a[0],10),d=parseInt(a[1],10),(60*b+d)*e):0},set:function(a){var b,d,e="-";"number"==typeof a?(0>a&&(a=-a,e="+"),b=a/60,d=a%60,e+=(10>b?"0":"")+b+":"+(10>d?"0":"")+d):e=a,c.setSubText(this.xml,this._NS,"tzo",e)}}}});c.extend(d,e)},{"./iq":44,"./util":64,jxt:147}],64:[function(a,b,c){"use strict";var d=a("jxt"),e=a("../jid");c.jidAttribute=d.field(function(a,b){return new e(d.getAttribute(a,b))},function(a,b,c){d.setAttribute(a,b,(c||"").toString())}),c.jidSub=d.field(function(a,b,c){return new e(d.getSubText(a,b,c))},function(a,b,c,e){d.setSubText(a,b,c,(e||"").toString())})},{"../jid":3,jxt:147}],65:[function(a,b){"use strict";var c=a("jxt"),d=a("./iq"),e="vcard-temp",f=b.exports=c.define({name:"vCardTemp",namespace:e,element:"vCard",fields:{fullName:c.subText(e,"FN"),birthday:c.dateSub(e,"BDAY"),nicknames:c.multiSubText(e,"NICKNAME")}}),g=c.define({name:"name",namespace:e,element:"N",fields:{family:c.subText(e,"FAMILY"),given:c.subText(e,"GIVEN"),middle:c.subText(e,"MIDDLE"),prefix:c.subText(e,"PREFIX"),suffix:c.subText(e,"SUFFIX")}}),h=c.define({name:"photo",namespace:e,element:"PHOTO",fields:{type:c.subText(e,"TYPE"),data:c.subText(e,"BINVAL"),url:c.subText(e,"EXTVAL")}});c.extend(f,g),c.extend(f,h),c.extend(d,f)},{"./iq":44,jxt:147}],66:[function(a,b){var c=a("jxt"),d=a("./iq"),e="jabber:iq:version",f=b.exports=c.define({name:"version",namespace:e,element:"query",fields:{name:c.subText(e,"name"),version:c.subText(e,"version"),os:c.subText(e,"os")}});c.extend(d,f)},{"./iq":44,jxt:147}],67:[function(a){var b=a("jxt"),c=a("./iq");b.add(c,"visible",b.boolSub("urn:xmpp:invisible:0","visible")),b.add(c,"invisible",b.boolSub("urn:xmpp:invisible:0","invisible"))},{"./iq":44,jxt:147}],68:[function(a,b){"use strict";function c(){function a(a){return[b.streamStart,a,b.streamEnd].join("")}var b=this;f.call(this),b.sm=new i(b),b.sendQueue=g.queue(function(a,c){b.conn&&(b.sm.track(a),"string"!=typeof a&&(a=a.toString()),b.emit("raw:outgoing",a),b.conn.send(a)),c()},1),b.on("connected",function(){b.send(["<stream:stream",'xmlns:stream="http://etherx.jabber.org/streams"','xmlns="jabber:client"','version="'+(b.config.version||"1.0")+'"','xml:lang="'+(b.config.lang||"en")+'"','to="'+b.config.server+'">'].join(" "))}),b.on("raw:incoming",function(c){var f,g;if(c=c.trim(),c=c.replace(/^(\s*<\?.*\?>\s*)*/,""),""!==c){if(c.match(b.streamEnd))return b.disconnect();if(b.hasStream)try{f=e.parse(h,a(c))}catch(i){return b.disconnect()}else{var j=c.match(/^<(\S+:)?(\S+) /);b.streamStart=c,b.streamEnd="</"+(j[1]||"")+j[2]+">",g=!1;try{f=e.parse(h,c+b.streamEnd)}catch(i){try{f=e.parse(h,c),g=!0}catch(k){return b.disconnect()}}b.hasStream=!0,b.stream=f,b.emit("stream:start",f)}d.each(f._extensions,function(a){a.lang||(a.lang=b.stream.lang),("message"===a._name||"presence"===a._name||"iq"===a._name)&&(b.sm.handle(a),b.emit("stanza",a)),b.emit(a._eventname||a._name,a),b.emit("stream:data",a),a.id&&b.emit("id:"+a.id,a)}),g&&b.emit("stream:end")}})}{var d=a("underscore"),e=a("jxt"),f=a("wildemitter"),g=a("async"),h=a("./stanza/stream"),i=(a("./stanza/message"),a("./stanza/presence"),a("./stanza/iq"),a("./sm"));a("node-uuid")}c.prototype=Object.create(f.prototype,{constructor:{value:c}}),c.prototype.connect=function(a){var b=this;b.config=a,b.hasStream=!1,b.streamStart='<stream:stream xmlns:stream="http://etherx.jabber.org/streams">',b.streamEnd="</stream:stream>",b.conn=new WebSocket(a.wsURL,"xmpp"),b.conn.onerror=function(a){return a.preventDefault(),b.emit("disconnected",b),!1},b.conn.onclose=function(){b.emit("disconnected",b)},b.conn.onopen=function(){b.sm.started=!1,b.emit("connected",b)},b.conn.onmessage=function(a){b.emit("raw:incoming",a.data)}},c.prototype.disconnect=function(){this.conn&&(this.hasStream&&(this.conn.send("</stream:stream>"),this.emit("raw:outgoing","</stream:stream>"),this.emit("stream:end")),this.hasStream=!1,this.conn.close(),this.stream=void 0,this.conn=void 0,this.sm.failed())},c.prototype.restart=function(){var a=this;a.hasStream=!1,a.send(["<stream:stream",'xmlns:stream="http://etherx.jabber.org/streams"','xmlns="jabber:client"','version="'+(a.config.version||"1.0")+'"','xml:lang="'+(a.config.lang||"en")+'"','to="'+a.config.server+'">'].join(" "))},c.prototype.send=function(a){this.sendQueue.push(a)},b.exports=c},{"./sm":29,"./stanza/iq":44,"./stanza/message":48,"./stanza/presence":51,"./stanza/stream":60,async:69,jxt:147,"node-uuid":154,underscore:167,wildemitter:168}],69:[function(b,c){var d=b("__browserify_process");!function(){function b(a){var b=!1;return function(){if(b)throw new Error("Callback was already called.");b=!0,a.apply(e,arguments)}}var e,f,g={};e=this,null!=e&&(f=e.async),g.noConflict=function(){return e.async=f,g};var h=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c+=1)b(a[c],c,a)},i=function(a,b){if(a.map)return a.map(b);var c=[];return h(a,function(a,d,e){c.push(b(a,d,e))}),c},j=function(a,b,c){return a.reduce?a.reduce(b,c):(h(a,function(a,d,e){c=b(c,a,d,e)}),c)},k=function(a){if(Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b};"undefined"!=typeof d&&d.nextTick?(g.nextTick=d.nextTick,g.setImmediate="undefined"!=typeof setImmediate?setImmediate:g.nextTick):"function"==typeof setImmediate?(g.nextTick=function(a){setImmediate(a)},g.setImmediate=g.nextTick):(g.nextTick=function(a){setTimeout(a,0)},g.setImmediate=g.nextTick),g.each=function(a,c,d){if(d=d||function(){},!a.length)return d();var e=0;h(a,function(f){c(f,b(function(b){b?(d(b),d=function(){}):(e+=1,e>=a.length&&d(null))}))})},g.forEach=g.each,g.eachSeries=function(a,b,c){if(c=c||function(){},!a.length)return c();var d=0,e=function(){b(a[d],function(b){b?(c(b),c=function(){}):(d+=1,d>=a.length?c(null):e())})};e()},g.forEachSeries=g.eachSeries,g.eachLimit=function(a,b,c,d){var e=l(b);e.apply(null,[a,c,d])},g.forEachLimit=g.eachLimit;var l=function(a){return function(b,c,d){if(d=d||function(){},!b.length||0>=a)return d();var e=0,f=0,g=0;!function h(){if(e>=b.length)return d();for(;a>g&&f<b.length;)f+=1,g+=1,c(b[f-1],function(a){a?(d(a),d=function(){}):(e+=1,g-=1,e>=b.length?d():h())})}()}},m=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.each].concat(b))}},n=function(a,b){return function(){var c=Array.prototype.slice.call(arguments);return b.apply(null,[l(a)].concat(c))}},o=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.eachSeries].concat(b))}},p=function(a,b,c,d){var e=[];b=i(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c,d){e[a.index]=d,b(c)})},function(a){d(a,e)})};g.map=m(p),g.mapSeries=o(p),g.mapLimit=function(a,b,c,d){return q(b)(a,c,d)};var q=function(a){return n(a,p)};g.reduce=function(a,b,c,d){g.eachSeries(a,function(a,d){c(b,a,function(a,c){b=c,d(a)})},function(a){d(a,b)})},g.inject=g.reduce,g.foldl=g.reduce,g.reduceRight=function(a,b,c,d){var e=i(a,function(a){return a}).reverse();g.reduce(e,b,c,d)},g.foldr=g.reduceRight;var r=function(a,b,c,d){var e=[];b=i(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c&&e.push(a),b()})},function(){d(i(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.filter=m(r),g.filterSeries=o(r),g.select=g.filter,g.selectSeries=g.filterSeries;var s=function(a,b,c,d){var e=[];b=i(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c||e.push(a),b()})},function(){d(i(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.reject=m(s),g.rejectSeries=o(s);var t=function(a,b,c,d){a(b,function(a,b){c(a,function(c){c?(d(a),d=function(){}):b()})},function(){d()})};g.detect=m(t),g.detectSeries=o(t),g.some=function(a,b,c){g.each(a,function(a,d){b(a,function(a){a&&(c(!0),c=function(){}),d()})},function(){c(!1)})},g.any=g.some,g.every=function(a,b,c){g.each(a,function(a,d){b(a,function(a){a||(c(!1),c=function(){}),d()})},function(){c(!0)})},g.all=g.every,g.sortBy=function(a,b,c){g.map(a,function(a,c){b(a,function(b,d){b?c(b):c(null,{value:a,criteria:d})})},function(a,b){if(a)return c(a);var d=function(a,b){var c=a.criteria,d=b.criteria;return d>c?-1:c>d?1:0};c(null,i(b.sort(d),function(a){return a.value}))})},g.auto=function(a,b){b=b||function(){};var c=k(a);if(!c.length)return b(null);var d={},e=[],f=function(a){e.unshift(a)},i=function(a){for(var b=0;b<e.length;b+=1)if(e[b]===a)return e.splice(b,1),void 0},l=function(){h(e.slice(0),function(a){a()})};f(function(){k(d).length===c.length&&(b(null,d),b=function(){})}),h(c,function(c){var e=a[c]instanceof Function?[a[c]]:a[c],m=function(a){var e=Array.prototype.slice.call(arguments,1);if(e.length<=1&&(e=e[0]),a){var f={};h(k(d),function(a){f[a]=d[a]}),f[c]=e,b(a,f),b=function(){}}else d[c]=e,g.setImmediate(l)},n=e.slice(0,Math.abs(e.length-1))||[],o=function(){return j(n,function(a,b){return a&&d.hasOwnProperty(b)},!0)&&!d.hasOwnProperty(c)};if(o())e[e.length-1](m,d);else{var p=function(){o()&&(i(p),e[e.length-1](m,d))};f(p)}})},g.waterfall=function(a,b){if(b=b||function(){},a.constructor!==Array){var c=new Error("First argument to waterfall must be an array of functions");return b(c)}if(!a.length)return b();var d=function(a){return function(c){if(c)b.apply(null,arguments),b=function(){};else{var e=Array.prototype.slice.call(arguments,1),f=a.next();f?e.push(d(f)):e.push(b),g.setImmediate(function(){a.apply(null,e)})}}};d(g.iterator(a))()};var u=function(a,b,c){if(c=c||function(){},b.constructor===Array)a.map(b,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};a.each(k(b),function(a,c){b[a](function(b){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[a]=e,c(b)})},function(a){c(a,d)})}};g.parallel=function(a,b){u({map:g.map,each:g.each},a,b)},g.parallelLimit=function(a,b,c){u({map:q(b),each:l(b)},a,c)},g.series=function(a,b){if(b=b||function(){},a.constructor===Array)g.mapSeries(a,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},b);else{var c={};g.eachSeries(k(a),function(b,d){a[b](function(a){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),c[b]=e,d(a)})},function(a){b(a,c)})}},g.iterator=function(a){var b=function(c){var d=function(){return a.length&&a[c].apply(null,arguments),d.next()};return d.next=function(){return c<a.length-1?b(c+1):null},d};return b(0)},g.apply=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b.concat(Array.prototype.slice.call(arguments)))}};var v=function(a,b,c,d){var e=[];a(b,function(a,b){c(a,function(a,c){e=e.concat(c||[]),b(a)})},function(a){d(a,e)})};g.concat=m(v),g.concatSeries=o(v),g.whilst=function(a,b,c){a()?b(function(d){return d?c(d):(g.whilst(a,b,c),void 0)}):c()},g.doWhilst=function(a,b,c){a(function(d){return d?c(d):(b()?g.doWhilst(a,b,c):c(),void 0)})},g.until=function(a,b,c){a()?c():b(function(d){return d?c(d):(g.until(a,b,c),void 0)})},g.doUntil=function(a,b,c){a(function(d){return d?c(d):(b()?c():g.doUntil(a,b,c),void 0)})},g.queue=function(a,c){function d(a,b,d,e){b.constructor!==Array&&(b=[b]),h(b,function(b){var f={data:b,callback:"function"==typeof e?e:null};d?a.tasks.unshift(f):a.tasks.push(f),a.saturated&&a.tasks.length===c&&a.saturated(),g.setImmediate(a.process)})}void 0===c&&(c=1);var e=0,f={tasks:[],concurrency:c,saturated:null,empty:null,drain:null,push:function(a,b){d(f,a,!1,b)},unshift:function(a,b){d(f,a,!0,b)},process:function(){if(e<f.concurrency&&f.tasks.length){var c=f.tasks.shift();f.empty&&0===f.tasks.length&&f.empty(),e+=1;var d=function(){e-=1,c.callback&&c.callback.apply(c,arguments),f.drain&&f.tasks.length+e===0&&f.drain(),f.process()},g=b(d);a(c.data,g)}},length:function(){return f.tasks.length},running:function(){return e}};return f},g.cargo=function(a,b){var c=!1,d=[],e={tasks:d,payload:b,saturated:null,empty:null,drain:null,push:function(a,c){a.constructor!==Array&&(a=[a]),h(a,function(a){d.push({data:a,callback:"function"==typeof c?c:null}),e.saturated&&d.length===b&&e.saturated()}),g.setImmediate(e.process)},process:function f(){if(!c){if(0===d.length)return e.drain&&e.drain(),void 0;var g="number"==typeof b?d.splice(0,b):d.splice(0),j=i(g,function(a){return a.data});e.empty&&e.empty(),c=!0,a(j,function(){c=!1;var a=arguments;h(g,function(b){b.callback&&b.callback.apply(null,a)}),f()})}},length:function(){return d.length},running:function(){return c}};return e};var w=function(a){return function(b){var c=Array.prototype.slice.call(arguments,1);b.apply(null,c.concat([function(b){var c=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(b?console.error&&console.error(b):console[a]&&h(c,function(b){console[a](b)}))}]))}};g.log=w("log"),g.dir=w("dir"),g.memoize=function(a,b){var c={},d={};b=b||function(a){return a};var e=function(){var e=Array.prototype.slice.call(arguments),f=e.pop(),g=b.apply(null,e);g in c?f.apply(null,c[g]):g in d?d[g].push(f):(d[g]=[f],a.apply(null,e.concat([function(){c[g]=arguments;var a=d[g];delete d[g];for(var b=0,e=a.length;e>b;b++)a[b].apply(null,arguments)}])))};return e.memo=c,e.unmemoized=a,e},g.unmemoize=function(a){return function(){return(a.unmemoized||a).apply(null,arguments)}},g.times=function(a,b,c){for(var d=[],e=0;a>e;e++)d.push(e);return g.map(d,b,c)},g.timesSeries=function(a,b,c){for(var d=[],e=0;a>e;e++)d.push(e);return g.mapSeries(d,b,c)},g.compose=function(){var a=Array.prototype.reverse.call(arguments);return function(){var b=this,c=Array.prototype.slice.call(arguments),d=c.pop();g.reduce(a,c,function(a,c,d){c.apply(b,a.concat([function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);d(a,b)}]))},function(a,c){d.apply(b,[a].concat(c))})}};var x=function(a,b){var c=function(){var c=this,d=Array.prototype.slice.call(arguments),e=d.pop();return a(b,function(a,b){a.apply(c,d.concat([b]))},e)};if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return c.apply(this,d)}return c};g.applyEach=m(x),g.applyEachSeries=o(x),g.forever=function(a,b){function c(d){if(d){if(b)return b(d);throw d}a(c)}c()},"undefined"!=typeof a&&a.amd?a([],function(){return g}):"undefined"!=typeof c&&c.exports?c.exports=g:e.async=g}()},{__browserify_process:116}],70:[function(a,b){"use strict";b.exports=function(b,c,d){function e(a,b,d){var e=c(a,f,d,b===!0&&a._isBound()?a._boundTo:void 0),g=e.promise();return g.isRejected()?g:(e.setHowMany(1),e.setUnwrap(),e.init(),g)}{var f=a("./some_promise_array.js")(d);a("./assert.js")}b.any=function(a){return e(a,!1,b.any)},b.prototype.any=function(){return e(this,!0,this.any)}}},{"./assert.js":71,"./some_promise_array.js":104}],71:[function(a,b){"use strict";b.exports=function(){var a=function(){function a(a){this.constructor$(a),this.message=a,this.name="AssertionError"}return a.prototype=new Error,a.prototype.constructor=a,a.prototype.constructor$=Error,a}();return function b(c,d){if(c!==!0){var e=new a(d);throw Error.captureStackTrace&&Error.captureStackTrace(e,b),console&&console.error&&console.error(e.stack+""),e}}}()},{}],72:[function(a,b){"use strict";function c(){this._isTickUsed=!1,this._length=0,this._lateBuffer=new e,this._functionBuffer=new e(75e3);var a=this;this.consumeFunctionBuffer=function(){a._consumeFunctionBuffer()}}var d=(a("./assert.js"),a("./schedule.js")),e=a("./queue.js"),f=a("./util.js").errorObj,g=a("./util.js").tryCatch1;c.prototype.haveItemsQueued=function(){return this._length>0},c.prototype.invokeLater=function(a,b,c){this._lateBuffer.push(a,b,c),this._queueTick()},c.prototype.invoke=function(a,b,c){var d=this._functionBuffer;d.push(a,b,c),this._length=d.length(),this._queueTick()},c.prototype._consumeFunctionBuffer=function(){for(var a=this._functionBuffer;a.length()>0;){var b=a.shift(),c=a.shift(),d=a.shift();b.call(c,d)}this._reset(),this._consumeLateBuffer()},c.prototype._consumeLateBuffer=function(){for(var a=this._lateBuffer;a.length()>0;){var b=a.shift(),c=a.shift(),d=a.shift(),e=g(b,c,d);if(e===f)throw this._queueTick(),e.e}},c.prototype._queueTick=function(){this._isTickUsed||(d(this.consumeFunctionBuffer),this._isTickUsed=!0)},c.prototype._reset=function(){this._isTickUsed=!1,this._length=0},b.exports=new c},{"./assert.js":71,"./queue.js":97,"./schedule.js":100,"./util.js":108}],73:[function(a,b){"use strict";var c=a("./promise.js")();b.exports=c},{"./promise.js":89}],74:[function(a,b){"use strict";b.exports=function(a){function b(a){var b="string"==typeof this?this:""+this;return a[b]}a.prototype.call=function(a){for(var b=arguments.length,c=new Array(b-1),d=1;b>d;++d)c[d-1]=arguments[d];return this._then(function(b){return b[a].apply(b,c)},void 0,void 0,void 0,void 0,this.call)},a.prototype.get=function(a){return this._then(b,void 0,void 0,a,void 0,this.get)}}},{}],75:[function(a,b){"use strict";b.exports=function(b,c){var d=a("./errors.js"),e=a("./async.js"),f=(a("./assert.js"),d.CancellationError),g={};b.prototype._cancel=function(){if(!this.isCancellable())return this;var a;if(void 0!==(a=this._cancellationParent))return a.cancel(g),void 0;var b=new f;this._attachExtraTrace(b),this._rejectUnchecked(b)},b.prototype.cancel=function(a){return this.isCancellable()?a===g?(this._cancel(),this):(e.invokeLater(this._cancel,this,void 0),this):this},b.prototype.cancellable=function(){return this._cancellable()?this:(this._setCancellable(),this._cancellationParent=void 0,this)},b.prototype.uncancellable=function(){var a=new b(c);return a._setTrace(this.uncancellable,this),a._follow(this),a._unsetCancellable(),this._isBound()&&a._setBoundTo(this._boundTo),a},b.prototype.fork=function(a,b,c){var d=this._then(a,b,c,void 0,void 0,this.fork);return d._setCancellable(),d._cancellationParent=void 0,d}}},{"./assert.js":71,"./async.js":72,"./errors.js":79}],76:[function(a,b){"use strict";b.exports=function(){function b(a){var b;if("function"==typeof a)b="[function "+(a.name||"anonymous")+"]";else{b=a.toString();var d=/\[object [a-zA-Z0-9$_]+\]/;if(d.test(b))try{var e=JSON.stringify(a);b=e}catch(f){}0===b.length&&(b="(empty array)")}return"(<"+c(b)+">, no stack trace)"}function c(a){var b=41;return a.length<b?a:a.substr(0,b-3)+"..."}function d(a,b){this.captureStackTrace(a,b)}var e=(a("./assert.js"),a("./util.js").inherits),f=a("./es5.js").defineProperty,g=new RegExp("\\b(?:[\\w.]*Promise(?:Array|Spawn)?\\$_\\w+|tryCatch(?:1|2|Apply)|new \\w*PromiseArray|\\w*PromiseArray\\.\\w*PromiseArray|setTimeout|CatchFilter\\$_\\w+|makeNodePromisified|processImmediate|process._tickCallback|nextTick|Async\\$\\w+)\\b"),h=null,i=null,j=!1;e(d,Error),d.prototype.captureStackTrace=function(a,b){k(this,a,b)},d.possiblyUnhandledRejection=function(a){if("object"==typeof console){var b;if("object"==typeof a||"function"==typeof a){var c=a.stack;b="Possibly unhandled "+i(c,a)}else b="Possibly unhandled "+String(a);"function"==typeof console.error||"object"==typeof console.error?console.error(b):("function"==typeof console.log||"object"==typeof console.error)&&console.log(b)}},j="CapturedTrace$captureStackTrace"!==d.prototype.captureStackTrace.name,d.combine=function(a,b){for(var c=a.length-1,d=b.length-1;d>=0;--d){var e=b[d];if(a[c]!==e)break;a.pop(),c--}a.push("From previous event:");for(var f=a.concat(b),i=[],d=0,j=f.length;j>d;++d)g.test(f[d])||d>0&&!h.test(f[d])&&"From previous event:"!==f[d]||i.push(f[d]);return i},d.isSupported=function(){return"function"==typeof k};var k=function l(){if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){h=/^\s*at\s*/,i=function(a,c){return"string"==typeof a?a:void 0!==c.name&&void 0!==c.message?c.name+". "+c.message:b(c)};var a=Error.captureStackTrace;return function(b,c){a(b,c)}}var c=new Error;if(!j&&"string"==typeof c.stack&&"function"==typeof"".startsWith&&c.stack.startsWith("stackDetection@")&&"stackDetection"===l.name){f(Error,"stackTraceLimit",{writable:!0,enumerable:!1,configurable:!1,value:25}),h=/@/;var d=/[@\n]/;return i=function(a,c){return"string"==typeof a?c.name+". "+c.message+"\n"+a:void 0!==c.name&&void 0!==c.message?c.name+". "+c.message:b(c)},function(a,b){var c,e=b.name,f=(new Error).stack,g=f.split(d),h=g.length;for(c=0;h>c&&g[c]!==e;c+=2);g=g.slice(c+2),h=g.length-2;var i="";for(c=0;h>c;c+=2)i+=g[c],i+="@",i+=g[c+1],i+="\n";a.stack=i}}return i=function(a,c){return"string"==typeof a?a:"object"!=typeof c&&"function"!=typeof c||void 0===c.name||void 0===c.message?b(c):c.name+". "+c.message},null}();return d}},{"./assert.js":71,"./es5.js":81,"./util.js":108}],77:[function(a,b){"use strict";b.exports=function(b){function c(a,b,c){this._instances=a,this._callback=b,this._promise=c}function d(a,b){var c={},d=f(a,c,b);if(d===g)return d;var e=h(c);return e.length?(g.e=new TypeError("Catch filter must inherit from Error or be a simple predicate function"),g):d}var e=a("./util.js"),f=e.tryCatch1,g=e.errorObj,h=a("./es5.js").keys;return c.prototype.doFilter=function(a){for(var c=this._callback,e=this._promise,h=e._isBound()?e._boundTo:void 0,i=0,j=this._instances.length;j>i;++i){var k=this._instances[i],l=k===Error||null!=k&&k.prototype instanceof Error;if(l&&a instanceof k){var m=f(c,h,a);return m===g?(b.e=m.e,b):m}if("function"==typeof k&&!l){var n=d(k,a);if(n===g){this._promise._attachExtraTrace(g.e),a=g.e;break}if(n){var m=f(c,h,a);return m===g?(b.e=m.e,b):m}}}return b.e=a,b},c}},{"./es5.js":81,"./util.js":108}],78:[function(a,b){"use strict";var c=a("./util.js"),d=(a("./assert.js"),c.isPrimitive),e=c.wrapsPrimitiveReceiver;b.exports=function(a){var b=function(){return this},c=function(){throw this},f=function(a,b){return 1===b?function(){throw a}:2===b?function(){return a}:void 0};a.prototype["return"]=a.prototype.thenReturn=function(a){return e&&d(a)?this._then(f(a,2),void 0,void 0,void 0,void 0,this.thenReturn):this._then(b,void 0,void 0,a,void 0,this.thenReturn)},a.prototype["throw"]=a.prototype.thenThrow=function(a){return e&&d(a)?this._then(f(a,1),void 0,void 0,void 0,void 0,this.thenThrow):this._then(c,void 0,void 0,a,void 0,this.thenThrow)}}},{"./assert.js":71,"./util.js":108}],79:[function(a,b){"use strict";function c(a){return(1&a)>0}function d(a){return(2&a)>0}function e(a){return 1|a}function f(a){return 2|a}function g(a){return-3&a}function h(a){var b;return t(a)&&void 0!==(b=a.__promiseHandled__)&&(a.__promiseHandled__=g(b)),a}function i(a){try{u(a,"__rejectionError__",o)}catch(b){}}function j(a){return null==a?!1:a instanceof o||a.__rejectionError__===o}function k(a){try{return u(a,"__promiseHandled__",0),!0}catch(b){return!1}}function l(a){return a instanceof v}function m(a){if(l(a)){var b=a.__promiseHandled__;return void 0===b?k(a):!c(b)}return!1}function n(a,b){function c(c){this.message="string"==typeof c?c:b,this.name=a,v.captureStackTrace&&v.captureStackTrace(this,this.constructor)}return s(c,v),c}function o(a){this.name="RejectionError",this.message=a,this.cause=a,a instanceof v?(this.message=a.message,this.stack=a.stack):v.captureStackTrace&&v.captureStackTrace(this,this.constructor)}var p=a("./global.js"),q=a("./es5.js").freeze,r=a("./util.js"),s=r.inherits,t=r.isObject,u=r.notEnumerableProp,v=p.Error,w=p.TypeError;"function"!=typeof w&&(w=n("TypeError","type error"));var x=p.RangeError;"function"!=typeof x&&(x=n("RangeError","range error"));var y=n("CancellationError","cancellation error"),z=n("TimeoutError","timeout error");s(o,v);var A="__BluebirdErrorTypes__",B=p[A];B||(B=q({CancellationError:y,TimeoutError:z,RejectionError:o}),u(p,A,B)),b.exports={Error:v,TypeError:w,RangeError:x,CancellationError:B.CancellationError,RejectionError:B.RejectionError,TimeoutError:B.TimeoutError,originatesFromRejection:j,markAsOriginatingFromRejection:i,attachDefaultState:k,ensureNotHandled:h,withHandledUnmarked:g,withHandledMarked:f,withStackAttached:e,isStackAttached:c,isHandled:d,canAttach:m}},{"./es5.js":81,"./global.js":85,"./util.js":108}],80:[function(a,b){"use strict";b.exports=function(b){function c(a){var c=new d(a),e=b.rejected(c),f=e._peekContext();return null!=f&&f._attachExtraTrace(c),e}var d=a("./errors.js").TypeError;return c}},{"./errors.js":79}],81:[function(a,b){function c(a){var b=[];for(var c in a)i.call(a,c)&&b.push(c);return b}function d(a,b,c){return a[b]=c.value,a}function e(a){return a}function f(a){try{return Object(a).constructor.prototype}catch(b){return k}}function g(a){try{return"[object Array]"===j.call(a)}catch(b){return!1}}var h=function(){"use strict";return void 0===this}();if(h)b.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,keys:Object.keys,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:h};else{var i={}.hasOwnProperty,j={}.toString,k={}.constructor.prototype;b.exports={isArray:g,keys:c,defineProperty:d,freeze:e,getPrototypeOf:f,isES5:h}}},{}],82:[function(a,b){"use strict";b.exports=function(b){function c(a){for(var b=this._settledValue,c=b.length,d=new Array(c),e=0,f=0;c>f;++f){var g=a[f];(void 0!==g||f in a)&&g&&(d[e++]=b[f])}return d.length=e,d}var d=(a("./assert.js"),a("./util.js").isArray,{ref:null});b.filter=function(a,e){return b.map(a,e,d)._then(c,void 0,void 0,d.ref,void 0,b.filter)},b.prototype.filter=function(a){return this.map(a,d)._then(c,void 0,void 0,d.ref,void 0,this.filter)}}},{"./assert.js":71,"./util.js":108}],83:[function(a,b){b.exports=function(b,c){function d(){return this}function e(){throw k(this),this}function f(a){return function(){return a}}function g(a){return function(){throw k(a),a}}function h(a,b,c){var i=l&&m(b);return c?a._then(i?d:f(b),n,void 0,b,void 0,h):a._then(i?e:g(b),n,void 0,b,void 0,h)}function i(a){var d=this.promise,e=this.handler,f=d._isBound()?e.call(d._boundTo):e();if(void 0!==f){var g=b._cast(f,i,void 0);if(b.is(g))return h(g,a,d.isFulfilled())}return d.isRejected()?(k(a),c.e=a,c):a}var j=a("./util.js"),k=a("./errors.js").ensureNotHandled,l=j.wrapsPrimitiveReceiver,m=j.isPrimitive,n=j.thrower;b.prototype.lastly=b.prototype["finally"]=function(a){if("function"!=typeof a)return this.then();var b={promise:this,handler:a};return this._then(i,i,void 0,b,void 0,this.lastly)}}},{"./errors.js":79,"./util.js":108}],84:[function(a,b){"use strict";b.exports=function(b,c,d){var e=a("./promise_spawn.js")(b,d),f=a("./errors.js"),g=f.TypeError;b.coroutine=function(a){if("function"!=typeof a)throw new g("generatorFunction must be a function");var b=e;return function c(){var d=a.apply(this,arguments),e=new b(void 0,void 0,c);return e._generator=d,e._next(void 0),e.promise()}},b.spawn=function(a){if("function"!=typeof a)return c("generatorFunction must be a function");var d=new e(a,this,b.spawn),f=d.promise();return d._run(b.spawn),f}}},{"./errors.js":79,"./promise_spawn.js":93}],85:[function(a,b){var c=a("__browserify_process"),d="undefined"!=typeof self?self:"undefined"!=typeof window?window:{};b.exports=function(){return"undefined"!=typeof this?this:"undefined"!=typeof c&&"undefined"!=typeof d&&"string"==typeof c.execPath?d:"undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator&&null!==navigator&&"string"==typeof navigator.appName?void 0!==window.wrappedJSObject?window.wrappedJSObject:window:void 0
}()},{__browserify_process:116}],86:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a){var e=this,g=void 0;"function"!=typeof e&&(g=e.receiver,e=e.fn);var h=!1,i=new Array(a.length);if(void 0===g){for(var j=0,k=a.length;k>j;++j)if(void 0!==a[j]||j in a){var l=e(a[j],j,k);if(!h){var m=b._cast(l,f,void 0);if(m instanceof b){if(m.isFulfilled()){i[j]=m._settledValue;continue}h=!0,l=m}}i[j]=l}}else for(var j=0,k=a.length;k>j;++j)if(void 0!==a[j]||j in a){var l=e.call(g,a[j],j,k);if(!h){var m=b._cast(l,f,void 0);if(m instanceof b){if(m.isFulfilled()){i[j]=m._settledValue;continue}h=!0,l=m}}i[j]=l}return h?c(i,d,f,void 0).promise():i}function g(a,b,g,h,i){if("function"!=typeof b)return e("fn must be a function");g===!0&&a._isBound()&&(b={fn:b,receiver:a._boundTo});var j=c(a,d,h,g===!0&&a._isBound()?a._boundTo:void 0).promise();return void 0!==i&&(i.ref=j),j._then(f,void 0,void 0,b,void 0,h)}a("./assert.js");b.prototype.map=function(a,b){return g(this,a,!0,this.map,b)},b.map=function(a,c,d){return g(a,c,!1,b.map,d)}}},{"./assert.js":71}],87:[function(a,b){"use strict";b.exports=function(b){function c(a){throw a}function d(a,b){var d=this,e=h(d,b,null,a);e===j&&g.invokeLater(c,void 0,e.e)}function e(a,b){var d=this,e=i(d,b,a);e===j&&g.invokeLater(c,void 0,e.e)}var f=a("./util.js"),g=a("./async.js"),h=(a("./assert.js"),f.tryCatch2),i=f.tryCatch1,j=f.errorObj;b.prototype.nodeify=function(a){return"function"==typeof a&&this._then(d,e,void 0,a,this._isBound()?this._boundTo:null,this.nodeify),this}}},{"./assert.js":71,"./async.js":72,"./util.js":108}],88:[function(a,b){"use strict";b.exports=function(b,c){var d=(a("./assert.js"),a("./util.js")),e=a("./async.js"),f=d.tryCatch1,g=d.errorObj;b.prototype.progressed=function(a){return this._then(void 0,void 0,a,void 0,void 0,this.progressed)},b.prototype._progress=function(a){this._isFollowingOrFulfilledOrRejected()||this._progressUnchecked(a)},b.prototype._progressHandlerAt=function(a){return 0===a?this._progressHandler0:this[a+2-5]},b.prototype._doProgressWith=function(a){var c=a.value,d=a.handler,e=a.promise,h=a.receiver;this._pushContext();var i=f(d,h,c);this._popContext(),i===g?null!=i.e&&"StopProgressPropagation"===i.e.name?i.e.__promiseHandled__=2:(e._attachExtraTrace(i.e),e._progress(i.e)):b.is(i)?i._then(e._progress,null,null,e,void 0,this._progress):e._progress(i)},b.prototype._progressUnchecked=function(a){if(this.isPending())for(var d=this._length(),f=0;d>f;f+=5){var g=this._progressHandlerAt(f),h=this._promiseAt(f);if(b.is(h))"function"==typeof g?e.invoke(this._doProgressWith,this,{handler:g,promise:h,receiver:this._receiverAt(f),value:a}):e.invoke(h._progress,h,a);else{var i=this._receiverAt(f);"function"==typeof g?g.call(i,a,h):b.is(i)&&i._isProxied()?i._progressUnchecked(a):c(i,h)&&i._promiseProgressed(a,h)}}}}},{"./assert.js":71,"./async.js":72,"./util.js":108}],89:[function(a,b){var c=a("__browserify_process");b.exports=function(){function b(a){return void 0===a?!1:a instanceof e}function d(a,b){return a instanceof o?b>=0:!1}function e(a){if("function"!=typeof a)throw new B("the promise constructor requires a resolver function");if(this.constructor!==e)throw new B("the promise constructor cannot be invoked directly");this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._settledValue=void 0,this._boundTo=void 0,a!==l&&this._resolveFromResolver(a)}function f(a,b,c){return g(a,o,c,b===!0&&a._isBound()?a._boundTo:void 0).promise()}function g(a,c,d,f){var h=null;return s(a)?h=a:(h=e._cast(a,d,void 0),h!==a?h._setBoundTo(f):b(h)||(h=null)),null!==h?new c(h,"function"==typeof d?d:g,f):{promise:function(){return O("expecting an array, a promise or a thenable")}}}var h=a("./global.js"),i=(a("./assert.js"),a("./util.js")),j=a("./async.js"),k=a("./errors.js"),l=function(){},m={},n={e:null},o=a("./promise_array.js")(e,l),p=a("./captured_trace.js")(),q=a("./catch_filter.js")(n),r=a("./promise_resolver.js"),s=i.isArray,t=i.notEnumerableProp,u=i.isObject,v=i.ensurePropertyExpansion,w=i.errorObj,x=i.tryCatch1,y=i.tryCatch2,z=i.tryCatchApply,A=k.RangeError,B=k.TypeError,C=k.CancellationError,D=k.TimeoutError,E=k.RejectionError,F=k.originatesFromRejection,G=k.markAsOriginatingFromRejection,H=k.ensureNotHandled,I=k.withHandledMarked,J=k.withStackAttached,K=k.isStackAttached,L=k.isHandled,M=k.canAttach,N=i.thrower,O=a("./errors_api_rejection")(e),P=function(){return new B("circular promise resolution chain")};e.prototype.bind=function(a){var b=new e(l);return Q&&b._setTrace(this.bind,this),b._follow(this),b._setBoundTo(a),this._cancellable()&&(b._setCancellable(),b._cancellationParent=this),b},e.prototype.toString=function(){return"[object Promise]"},e.prototype.caught=e.prototype["catch"]=function(a){var b=arguments.length;if(b>1){var c,d=new Array(b-1),e=0;for(c=0;b-1>c;++c){var f=arguments[c];if("function"!=typeof f){var g=new B("A catch filter must be an error constructor or a filter function");return this._attachExtraTrace(g),j.invoke(this._reject,this,g),void 0}d[e++]=f}d.length=e,a=arguments[c],this._resetTrace(this.caught);var h=new q(d,a,this);return this._then(void 0,h.doFilter,void 0,h,void 0,this.caught)}return this._then(void 0,a,void 0,void 0,void 0,this.caught)},e.prototype.then=function(a,b,c){return this._then(a,b,c,void 0,void 0,this.then)},e.prototype.done=function(a,b,c){var d=this._then(a,b,c,void 0,void 0,this.done);d._setIsFinal()},e.prototype.spread=function(a,b){return this._then(a,b,void 0,m,void 0,this.spread)},e.prototype.isFulfilled=function(){return(268435456&this._bitField)>0},e.prototype.isRejected=function(){return(134217728&this._bitField)>0},e.prototype.isPending=function(){return!this.isResolved()},e.prototype.isResolved=function(){return(402653184&this._bitField)>0},e.prototype.isCancellable=function(){return!this.isResolved()&&this._cancellable()},e.prototype.toJSON=function(){var a={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(a.fulfillmentValue=this._settledValue,a.isFulfilled=!0):this.isRejected()&&(a.rejectionReason=this._settledValue,a.isRejected=!0),a},e.prototype.all=function(){return f(this,!0,this.all)},e.is=b,e.all=function(a){return f(a,!1,e.all)},e.join=function(){for(var a=arguments.length,b=new Array(a),c=0;a>c;++c)b[c]=arguments[c];return g(b,o,e.join,void 0).promise()},e.resolve=e.fulfilled=function(a,b){var c=new e(l);return Q&&c._setTrace("function"==typeof b?b:e.resolve,void 0),c._tryFollow(a)?c:(c._cleanValues(),c._setFulfilled(),c._settledValue=a,c)},e.reject=e.rejected=function(a){var b=new e(l);return Q&&b._setTrace(e.reject,void 0),G(a),b._cleanValues(),b._setRejected(),b._settledValue=a,b},e.prototype.error=function(a){return this.caught(F,a)},e.prototype._resolveFromSyncValue=function(a,b){if(a===w)this._cleanValues(),this._setRejected(),this._settledValue=a.e;else{var c=e._cast(a,b,void 0);c instanceof e?this._follow(c):(this._cleanValues(),this._setFulfilled(),this._settledValue=a)}},e.method=function(a){if("function"!=typeof a)throw new B("fn must be a function");return function b(){var c;switch(arguments.length){case 0:c=x(a,this,void 0);break;case 1:c=x(a,this,arguments[0]);break;case 2:c=y(a,this,arguments[0],arguments[1]);break;default:for(var d=arguments.length,f=new Array(d),g=0;d>g;++g)f[g]=arguments[g];c=z(a,f,this)}var h=new e(l);return Q&&h._setTrace(b,void 0),h._resolveFromSyncValue(c,b),h}},e["try"]=e.attempt=function(a,b,c){if("function"!=typeof a)return O("fn must be a function");var d=s(b)?z(a,b,c):x(a,c,b),f=new e(l);return Q&&f._setTrace(e.attempt,void 0),f._resolveFromSyncValue(d,e.attempt),f},e.defer=e.pending=function(a){var b=new e(l);return Q&&b._setTrace("function"==typeof a?a:e.defer,void 0),new r(b)},e.bind=function(a){var b=new e(l);return Q&&b._setTrace(e.bind,void 0),b._setFulfilled(),b._setBoundTo(a),b},e.cast=function(a,b){"function"!=typeof b&&(b=e.cast);var c=e._cast(a,b,void 0);return c instanceof e?c:e.resolve(c,b)},e.onPossiblyUnhandledRejection=function(a){p.possiblyUnhandledRejection="function"==typeof a?a:void 0};var Q=!1||!("undefined"==typeof c||"string"!=typeof c.execPath||"object"!=typeof c.env||!c.env.BLUEBIRD_DEBUG&&"development"!==c.env.NODE_ENV);e.longStackTraces=function(){if(j.haveItemsQueued()&&Q===!1)throw new Error("cannot enable long stack traces after promises have been created");Q=p.isSupported()},e.hasLongStackTraces=function(){return Q&&p.isSupported()},e.prototype._setProxyHandlers=function(a,b){var c=this._length();if(c>=4194298&&(c=0,this._setLength(0)),0===c)this._promise0=b,this._receiver0=a;else{var d=c-5;this[d+3]=b,this[d+4]=a,this[d+0]=this[d+1]=this[d+2]=void 0}this._setLength(c+5)},e.prototype._proxyPromiseArray=function(a,b){this._setProxyHandlers(a,b)},e.prototype._proxyPromise=function(a){a._setProxied(),this._setProxyHandlers(a,-1)},e.prototype._then=function(a,b,c,d,f,g){var h=void 0!==f,i=h?f:new e(l);if(Q&&!h){var k=this._peekContext()===this._traceParent;i._traceParent=k?this._traceParent:this,i._setTrace("function"==typeof g?g:this._then,this)}!h&&this._isBound()&&i._setBoundTo(this._boundTo);var m=this._addCallbacks(a,b,c,i,d);return!h&&this._cancellable()&&(i._setCancellable(),i._cancellationParent=this),this.isResolved()&&j.invoke(this._queueSettleAt,this,m),i},e.prototype._length=function(){return 4194303&this._bitField},e.prototype._isFollowingOrFulfilledOrRejected=function(){return(939524096&this._bitField)>0},e.prototype._isFollowing=function(){return 536870912===(536870912&this._bitField)},e.prototype._setLength=function(a){this._bitField=-4194304&this._bitField|4194303&a},e.prototype._cancellable=function(){return(67108864&this._bitField)>0},e.prototype._setFulfilled=function(){this._bitField=268435456|this._bitField},e.prototype._setRejected=function(){this._bitField=134217728|this._bitField},e.prototype._setFollowing=function(){this._bitField=536870912|this._bitField},e.prototype._setIsFinal=function(){this._bitField=33554432|this._bitField},e.prototype._isFinal=function(){return(33554432&this._bitField)>0},e.prototype._setCancellable=function(){this._bitField=67108864|this._bitField},e.prototype._unsetCancellable=function(){this._bitField=-67108865&this._bitField},e.prototype._receiverAt=function(a){var b;return b=0===a?this._receiver0:this[a+4-5],this._isBound()&&void 0===b?this._boundTo:b},e.prototype._promiseAt=function(a){return 0===a?this._promise0:this[a+3-5]},e.prototype._fulfillmentHandlerAt=function(a){return 0===a?this._fulfillmentHandler0:this[a+0-5]},e.prototype._rejectionHandlerAt=function(a){return 0===a?this._rejectionHandler0:this[a+1-5]},e.prototype._unsetAt=function(a){0===a?this._fulfillmentHandler0=this._rejectionHandler0=this._progressHandler0=this._promise0=this._receiver0=void 0:this[a-5+0]=this[a-5+1]=this[a-5+2]=this[a-5+3]=this[a-5+4]=void 0},e.prototype._resolveFromResolver=function(a){function b(a){d._tryFollow(a)||d._fulfill(a)}function c(a){d._attachExtraTrace(a),G(a),d._reject(a)}var d=this,e=Q;e&&(this._setTrace(this._resolveFromResolver,void 0),this._pushContext());var f=y(a,void 0,b,c);e&&this._popContext(),void 0!==f&&f===w&&d._reject(f.e)},e.prototype._addCallbacks=function(a,b,c,d,e){var f=this._length();if(f>=4194298&&(f=0,this._setLength(0)),0===f)this._promise0=d,void 0!==e&&(this._receiver0=e),"function"==typeof a&&(this._fulfillmentHandler0=a),"function"==typeof b&&(this._rejectionHandler0=b),"function"==typeof c&&(this._progressHandler0=c);else{var g=f-5;this[g+3]=d,this[g+4]=e,this[g+0]="function"==typeof a?a:void 0,this[g+1]="function"==typeof b?b:void 0,this[g+2]="function"==typeof c?c:void 0}return this._setLength(f+5),f},e.prototype._setBoundTo=function(a){void 0!==a?(this._bitField=8388608|this._bitField,this._boundTo=a):this._bitField=-8388609&this._bitField},e.prototype._isBound=function(){return 8388608===(8388608&this._bitField)},e.prototype._spreadSlowCase=function(a,b,c,d){var e=g(c,o,this._spreadSlowCase,d).promise()._then(function(){return a.apply(d,arguments)},void 0,void 0,m,void 0,this._spreadSlowCase);b._follow(e)},e.prototype._markHandled=function(a){if("object"==typeof a&&null!==a){var b=a.__promiseHandled__;void 0===b?t(a,"__promiseHandled__",2):a.__promiseHandled__=I(b)}},e.prototype._callSpread=function(a,c,d,f){var g=this._isBound()?this._boundTo:void 0;if(s(d))for(var h=this._settlePromiseFromHandler,i=0,j=d.length;j>i;++i)if(b(e._cast(d[i],h,void 0)))return this._spreadSlowCase(a,c,d,g),void 0;return f&&c._pushContext(),z(a,d,g)},e.prototype._callHandler=function(a,b,c,d,e){var f;return b!==m||this.isRejected()?(e&&c._pushContext(),f=x(a,b,d)):f=this._callSpread(a,c,d,e),e&&c._popContext(),f},e.prototype._settlePromiseFromHandler=function(a,c,d,f){if(!b(f))return a.call(c,d,f),void 0;this.isRejected()&&this._markHandled(d);var g=Q,h=this._callHandler(a,c,f,d,g);if(!f._isFollowing())if(h===w||h===f||h===n){var i=h===f?P():H(h.e);h!==n&&f._attachExtraTrace(i),f._rejectUnchecked(i)}else{var j=e._cast(h,g?this._settlePromiseFromHandler:void 0,f);b(j)?(f._follow(j),j._cancellable()&&(f._cancellationParent=j,f._setCancellable())):f._fulfillUnchecked(h)}},e.prototype._follow=function(a){this._setFollowing(),a.isPending()?(a._cancellable()&&(this._cancellationParent=a,this._setCancellable()),a._proxyPromise(this)):a.isFulfilled()?this._fulfillUnchecked(a._settledValue):this._rejectUnchecked(a._settledValue),Q&&null==a._traceParent&&(a._traceParent=this)},e.prototype._tryFollow=function(a){if(this._isFollowingOrFulfilledOrRejected()||a===this)return!1;var c=e._cast(a,this._tryFollow,void 0);return b(c)?(this._follow(c),!0):!1},e.prototype._resetTrace=function(a){if(Q){var b=this._peekContext(),c=void 0===b;this._trace=new p("function"==typeof a?a:this._resetTrace,c)}},e.prototype._setTrace=function(a,b){if(Q){var c=this._peekContext();this._traceParent=c;var d=void 0===c;this._trace=void 0!==b&&b._traceParent===c?b._trace:new p("function"==typeof a?a:this._setTrace,d)}return this},e.prototype._attachExtraTrace=function(a){if(Q&&M(a)){var b=this,c=a.stack;c="string"==typeof c?c.split("\n"):[];for(var d=1;null!=b&&null!=b._trace;)c=p.combine(c,b._trace.stack.split("\n")),b=b._traceParent;var e=Error.stackTraceLimit+d,f=c.length;f>e&&(c.length=e),a.stack=c.length<=d?"(No stack trace)":c.join("\n"),a.__promiseHandled__=J(a.__promiseHandled__)}},e.prototype._notifyUnhandledRejection=function(a){L(a.__promiseHandled__)||(a.__promiseHandled__=I(a.__promiseHandled__),p.possiblyUnhandledRejection(a,this))},e.prototype._unhandledRejection=function(a){L(a.__promiseHandled__)||j.invokeLater(this._notifyUnhandledRejection,this,a)},e.prototype._cleanValues=function(){this._cancellable()&&(this._cancellationParent=void 0)},e.prototype._fulfill=function(a){this._isFollowingOrFulfilledOrRejected()||this._fulfillUnchecked(a)},e.prototype._reject=function(a){this._isFollowingOrFulfilledOrRejected()||this._rejectUnchecked(a)},e.prototype._settlePromiseAt=function(a){var b=this.isFulfilled()?this._fulfillmentHandlerAt(a):this._rejectionHandlerAt(a),c=this._settledValue,f=this._receiverAt(a),g=this._promiseAt(a);if("function"==typeof b)this._settlePromiseFromHandler(b,f,c,g);else{var h=!1,i=this.isFulfilled();void 0!==f&&(f instanceof e&&f._isProxied()?(f._unsetProxied(),i?f._fulfillUnchecked(c):f._rejectUnchecked(c),h=!0):d(f,g)&&(i?f._promiseFulfilled(c,g):f._promiseRejected(c,g),h=!0)),h||(i?g._fulfill(c):g._reject(c))}a>=256&&this._queueGC()},e.prototype._isProxied=function(){return 4194304===(4194304&this._bitField)},e.prototype._setProxied=function(){this._bitField=4194304|this._bitField},e.prototype._unsetProxied=function(){this._bitField=-4194305&this._bitField},e.prototype._isGcQueued=function(){return-1073741824===(-1073741824&this._bitField)},e.prototype._setGcQueued=function(){this._bitField=-1073741824|this._bitField},e.prototype._unsetGcQueued=function(){this._bitField=1073741823&this._bitField},e.prototype._queueGC=function(){this._isGcQueued()||(this._setGcQueued(),j.invokeLater(this._gc,this,void 0))},e.prototype._gc=function(){var a=this._length();this._unsetAt(0);for(var b=0;a>b;b++)delete this[b];this._setLength(0),this._unsetGcQueued()},e.prototype._queueSettleAt=function(a){j.invoke(this._settlePromiseAt,this,a)},e.prototype._fulfillUnchecked=function(a){if(this.isPending()){if(a===this){var b=P();return this._attachExtraTrace(b),this._rejectUnchecked(b)}this._cleanValues(),this._setFulfilled(),this._settledValue=a;var c=this._length();c>0&&j.invoke(this._fulfillPromises,this,c)}},e.prototype._fulfillPromises=function(a){a=this._length();for(var b=0;a>b;b+=5)this._settlePromiseAt(b)},e.prototype._rejectUnchecked=function(a){if(this.isPending()){if(a===this){var b=P();return this._attachExtraTrace(b),this._rejectUnchecked(b)}if(this._cleanValues(),this._setRejected(),this._settledValue=a,this._isFinal())return j.invokeLater(N,void 0,a),void 0;var c=this._length();c>0?j.invoke(this._rejectPromises,this,c):this._ensurePossibleRejectionHandled(a)}},e.prototype._rejectPromises=function(a){a=this._length();for(var c=!1,e=0;a>e;e+=5){var f=this._rejectionHandlerAt(e);if(!c)if("function"==typeof f)c=!0;else{var g=this._promiseAt(e);if(b(g)&&g._length()>0)c=!0;else{var h=this._receiverAt(e);(b(h)&&h._length()>0||d(h,g))&&(c=!0)}}this._settlePromiseAt(e)}c||this._ensurePossibleRejectionHandled(this._settledValue)},e.prototype._ensurePossibleRejectionHandled=function(a){if(void 0!==p.possiblyUnhandledRejection&&u(a)){var b=a.__promiseHandled__,c=a;if(void 0===b)c=v(a,"__promiseHandled__",0),b=0;else if(L(b))return;K(b)||this._attachExtraTrace(c),j.invoke(this._unhandledRejection,this,c)}};var R=[];e.prototype._peekContext=function(){var a=R.length-1;return a>=0?R[a]:void 0},e.prototype._pushContext=function(){Q&&R.push(this)},e.prototype._popContext=function(){Q&&R.pop()};var S=h.Promise;return e.noConflict=function(){return h.Promise===e&&(h.Promise=S),e},p.isSupported()||(e.longStackTraces=function(){},Q=!1),e._makeSelfResolutionError=P,a("./finally.js")(e,n),a("./direct_resolve.js")(e),a("./thenables.js")(e),e.RangeError=A,e.CancellationError=C,e.TimeoutError=D,e.TypeError=B,e.RejectionError=E,a("./timers.js")(e,l),a("./synchronous_inspection.js")(e),a("./any.js")(e,g,o),a("./race.js")(e,l),a("./call_get.js")(e),a("./filter.js")(e,g,o,O),a("./generators.js")(e,O,l),a("./map.js")(e,g,o,O),a("./nodeify.js")(e),a("./promisify.js")(e,l),a("./props.js")(e,o),a("./reduce.js")(e,g,o,O),a("./settle.js")(e,g,o),a("./some.js")(e,g,o,O),a("./progress.js")(e,d),a("./cancel.js")(e,l),e.prototype=e.prototype,e}},{"./any.js":70,"./assert.js":71,"./async.js":72,"./call_get.js":74,"./cancel.js":75,"./captured_trace.js":76,"./catch_filter.js":77,"./direct_resolve.js":78,"./errors.js":79,"./errors_api_rejection":80,"./filter.js":82,"./finally.js":83,"./generators.js":84,"./global.js":85,"./map.js":86,"./nodeify.js":87,"./progress.js":88,"./promise_array.js":90,"./promise_resolver.js":92,"./promisify.js":94,"./props.js":96,"./race.js":98,"./reduce.js":99,"./settle.js":101,"./some.js":103,"./synchronous_inspection.js":105,"./thenables.js":106,"./timers.js":107,"./util.js":108,__browserify_process:116}],90:[function(a,b){"use strict";b.exports=function(b,c){function d(a){switch(a){case-1:return void 0;case-2:return[];case-3:return{}}}function e(a,d,e){var f=this._promise=new b(c),g=void 0;b.is(a)&&(g=a,a._cancellable()&&(f._setCancellable(),f._cancellationParent=a),a._isBound()&&f._setBoundTo(e)),f._setTrace(d,g),this._values=a,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var f=(a("./assert.js"),a("./errors.js").ensureNotHandled),g=a("./util.js"),h=a("./async.js"),i={}.hasOwnProperty,j=g.isArray;return e.PropertiesPromiseArray=function(){},e.prototype.length=function(){return this._length},e.prototype.promise=function(){return this._promise},e.prototype._init=function(a,c){var f=this._values;if(b.is(f)){if(!f.isFulfilled())return f.isPending()?(f._then(this._init,this._reject,void 0,this,c,this.constructor),void 0):(this._reject(f._settledValue),void 0);if(f=f._settledValue,!j(f)){var g=new b.TypeError("expecting an array, a promise or a thenable");return this.__hardReject__(g),void 0}this._values=f}if(0===f.length)return this._resolve(d(c)),void 0;var k,l=f.length,m=l;k=this instanceof e.PropertiesPromiseArray?this._values:new Array(l);for(var n=!1,o=0;l>o;++o){var p=f[o];if(void 0!==p||i.call(f,o)){var q=b._cast(p,void 0,void 0);q instanceof b&&q.isPending()?q._proxyPromiseArray(this,o):n=!0,k[o]=q}else m--}if(0===m)return-2===c?this._resolve(k):this._resolve(d(c)),void 0;if(this._values=k,this._length=m,n){var r=m===l?this._scanDirectValues:this._scanDirectValuesHoled;h.invoke(r,this,l)}},e.prototype._settlePromiseAt=function(a){var c=this._values[a];b.is(c)?c.isFulfilled()?this._promiseFulfilled(c._settledValue,a):c.isRejected()&&this._promiseRejected(c._settledValue,a):this._promiseFulfilled(c,a)},e.prototype._scanDirectValuesHoled=function(a){for(var b=0;a>b&&!this._isResolved();++b)i.call(this._values,b)&&this._settlePromiseAt(b)},e.prototype._scanDirectValues=function(a){for(var b=0;a>b&&!this._isResolved();++b)this._settlePromiseAt(b)},e.prototype._isResolved=function(){return null===this._values},e.prototype._resolve=function(a){this._values=null,this._promise._fulfill(a)},e.prototype.__hardReject__=e.prototype._reject=function(a){f(a),this._values=null,this._promise._attachExtraTrace(a),this._promise._reject(a)},e.prototype._promiseProgressed=function(a,b){this._isResolved()||this._promise._progress({index:b,value:a})},e.prototype._promiseFulfilled=function(a,b){if(!this._isResolved()){this._values[b]=a;var c=++this._totalResolved;c>=this._length&&this._resolve(this._values)}},e.prototype._promiseRejected=function(a){this._isResolved()||(this._totalResolved++,this._reject(a))},e}},{"./assert.js":71,"./async.js":72,"./errors.js":79,"./util.js":108}],91:[function(a,b){"use strict";function c(a){void 0!==a?(this._bitField=a._bitField,this._settledValue=a.isResolved()?a._settledValue:void 0):(this._bitField=0,this._settledValue=void 0)}var d=a("./errors.js").TypeError;c.prototype.isFulfilled=function(){return(268435456&this._bitField)>0},c.prototype.isRejected=function(){return(134217728&this._bitField)>0},c.prototype.isPending=function(){return 0===(402653184&this._bitField)},c.prototype.value=function(){if(!this.isFulfilled())throw new d("cannot get fulfillment value of a non-fulfilled promise");return this._settledValue},c.prototype.error=function(){if(!this.isRejected())throw new d("cannot get rejection reason of a non-rejected promise");return this._settledValue},b.exports=c},{"./errors.js":79}],92:[function(a,b){"use strict";function c(a){return a instanceof Error&&n.getPrototypeOf(a)===Error.prototype}function d(a){var b;return b=c(a)?new k(a):a,i.markAsOriginatingFromRejection(b),b}function e(a){function b(b,c){if(b){var e=d(h(b));a._attachExtraTrace(e),a._reject(e)}else if(arguments.length>2){for(var f=arguments.length,g=new Array(f-1),i=1;f>i;++i)g[i-1]=arguments[i];a._fulfill(g)}else a._fulfill(c)}return b}var f,g=a("./util.js"),h=g.maybeWrapAsError,i=a("./errors.js"),j=i.TimeoutError,k=i.RejectionError,l=a("./async.js"),m=g.haveGetters,n=a("./es5.js");if(f=m?function(a){this.promise=a}:function(a){this.promise=a,this.asCallback=e(a),this.callback=this.asCallback},m){var o={get:function(){return e(this.promise)}};n.defineProperty(f.prototype,"asCallback",o),n.defineProperty(f.prototype,"callback",o)}f._nodebackForPromise=e,f.prototype.toString=function(){return"[object PromiseResolver]"},f.prototype.resolve=f.prototype.fulfill=function(a){var b=this.promise;b._tryFollow(a)||l.invoke(b._fulfill,b,a)},f.prototype.reject=function(a){var b=this.promise;i.markAsOriginatingFromRejection(a),b._attachExtraTrace(a),l.invoke(b._reject,b,a)},f.prototype.progress=function(a){l.invoke(this.promise._progress,this.promise,a)},f.prototype.cancel=function(){l.invoke(this.promise.cancel,this.promise,void 0)},f.prototype.timeout=function(){this.reject(new j("timeout"))},f.prototype.isResolved=function(){return this.promise.isResolved()},f.prototype.toJSON=function(){return this.promise.toJSON()},b.exports=f},{"./async.js":72,"./errors.js":79,"./es5.js":81,"./util.js":108}],93:[function(a,b){"use strict";b.exports=function(b,c){function d(a,d,e){var f=this._promise=new b(c);f._setTrace(e,void 0),this._generatorFunction=a,this._receiver=d,this._generator=void 0}var e=a("./errors.js"),f=e.TypeError,g=e.ensureNotHandled,h=a("./util.js"),i=h.isArray,j=h.errorObj,k=h.tryCatch1;return d.prototype.promise=function(){return this._promise},d.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._next(void 0)},d.prototype._continue=function l(a){if(a===j)return this._generator=void 0,this._promise._attachExtraTrace(a.e),this._promise._reject(a.e),void 0;var c=a.value;if(a.done===!0)this._generator=void 0,this._promise._fulfill(c);else{var d=b._cast(c,l,void 0);if(!(d instanceof b)){if(!i(d))return this._throw(new f("A value was yielded that could not be treated as a promise")),void 0;d=b.all(d)}d._then(this._next,this._throw,void 0,this,null,void 0)}},d.prototype._throw=function(a){g(a),this._promise._attachExtraTrace(a),this._continue(k(this._generator["throw"],this._generator,a))},d.prototype._next=function(a){this._continue(k(this._generator.next,this._generator,a))},d}},{"./errors.js":79,"./util.js":108}],94:[function(a,b){"use strict";b.exports=function(b,c){function d(a){return a.__isPromisified__===!0}function e(a,d,e){function f(b){for(var c=new Array(b),e=0,f=c.length;f>e;++e)c[e]="a"+(e+1);var g=b>0?",":"";return"string"==typeof a&&d===i?"this['"+a+"']("+c.join(",")+g+" fn);break;":(void 0===d?"callback("+c.join(",")+g+" fn);":"callback.call("+(d===i?"this":"receiver")+", "+c.join(",")+g+" fn);")+"break;"}function g(){return"var args = new Array(len + 1);var i = 0;for (var i = 0; i < len; ++i) { args[i] = arguments[i];}args[i] = fn;"}var h="string"==typeof e?e+"Async":"promisified";return new Function("Promise","callback","receiver","withAppended","maybeWrapAsError","nodebackForPromise","INTERNAL","var ret = function "+h+'(a1, a2, a3, a4, a5) {"use strict";var len = arguments.length;var promise = new Promise(INTERNAL);promise._setTrace('+h+", void 0);var fn = nodebackForPromise(promise);try{switch(len) {case 1:"+f(1)+"case 2:"+f(2)+"case 3:"+f(3)+"case 0:"+f(0)+"case 4:"+f(4)+"case 5:"+f(5)+"default: "+g()+("string"==typeof a?"this['"+a+"'].apply(":"callback.apply(")+(d===i?"this":"receiver")+", args); break;}}catch(e){ var wrapped = maybeWrapAsError(e);promise._attachExtraTrace(wrapped);promise._reject(wrapped);}return promise;}; ret.__isPromisified__ = true; return ret;")(b,a,d,m,n,l,c)}function f(a,d){function e(){var f=d;d===i&&(f=this),"string"==typeof a&&(a=f[a]);var g=new b(c);g._setTrace(e,void 0);var h=l(g);try{a.apply(f,m(arguments,h))}catch(j){var k=n(j);g._attachExtraTrace(k),g._reject(k)}return g}return e.__isPromisified__=!0,e}function g(){}function h(a,b,c){if(c){for(var d=t(a),e=0,f=d.length;f>e;e+=2){var h=d[e],j=d[e+1],k=h+"__beforePromisified__",l=h+"Async";p(a,k,j),a[l]=u(k,i,h)}return d.length>16&&(g.prototype=a),a}return u(a,b,void 0)}var i={},j=a("./util.js"),k=a("./es5.js"),l=a("./promise_resolver.js")._nodebackForPromise,m=j.withAppended,n=j.maybeWrapAsError,o=j.canEvaluate,p=j.notEnumerableProp,q=j.deprecated,r=(a("./assert.js"),new RegExp("__beforePromisified__$")),s={}.hasOwnProperty,t=function(){if(k.isES5){var a=Object.create,b=Object.getOwnPropertyDescriptor;return function(c){for(var e=c,f=[],g=a(null);null!==c;){for(var h=k.keys(c),i=0,j=h.length;j>i;++i){var l=h[i];if(!(g[l]||r.test(l)||s.call(e,l+"__beforePromisified__"))){g[l]=!0;var m=b(c,l);null==m||"function"!=typeof m.value||d(m.value)||f.push(l,m.value)}}c=k.getPrototypeOf(c)}return f}}return function(a){var b=[];for(var c in a)if(!r.test(c)&&!s.call(a,c+"__beforePromisified__")){var e=a[c];"function"!=typeof e||d(e)||b.push(c,e)}return b}}(),u=o?e:f;b.promisify=function(a,b){if("object"==typeof a&&null!==a)return q("Promise.promisify for promisifying entire objects is deprecated. Use Promise.promisifyAll instead."),h(a,b,!0);if("function"!=typeof a)throw new TypeError("fn must be a function");return d(a)?a:h(a,arguments.length<2?i:b,!1)},b.promisifyAll=function(a){if("function"!=typeof a&&"object"!=typeof a)throw new TypeError("the target of promisifyAll must be an object or a function");return h(a,void 0,!0)}}},{"./assert.js":71,"./es5.js":81,"./promise_resolver.js":92,"./util.js":108}],95:[function(a,b){"use strict";b.exports=function(b,c){function d(a,b,c){for(var d=g.keys(a),e=new Array(d.length),f=0,h=e.length;h>f;++f)e[f]=a[d[f]];if(this.constructor$(e,b,c),!this._isResolved())for(var f=0,h=d.length;h>f;++f)e.push(d[f])}var e=(a("./assert.js"),a("./util.js")),f=e.inherits,g=a("./es5.js");return f(d,c),d.prototype._init=function(){this._init$(void 0,-3)},d.prototype._promiseFulfilled=function(a,b){if(!this._isResolved()){this._values[b]=a;var c=++this._totalResolved;if(c>=this._length){for(var d={},e=this.length(),f=0,g=this.length();g>f;++f)d[this._values[f+e]]=this._values[f];this._resolve(d)}}},d.prototype._promiseProgressed=function(a,b){this._isResolved()||this._promise._progress({key:this._values[b+this.length()],value:a})},c.PropertiesPromiseArray=d,d}},{"./assert.js":71,"./es5.js":81,"./util.js":108}],96:[function(a,b){"use strict";b.exports=function(b,c){function d(a,c,d){var f,i=b._cast(a,d,void 0);return h(i)?(b.is(i)?f=i._then(b.props,void 0,void 0,void 0,void 0,d):(f=new e(i,d,c===!0&&i._isBound()?i._boundTo:void 0).promise(),c=!1),c===!0&&i._isBound()&&f._setBoundTo(i._boundTo),f):g("cannot await properties of a non-object")}var e=a("./properties_promise_array.js")(b,c),f=a("./util.js"),g=a("./errors_api_rejection")(b),h=f.isObject;b.prototype.props=function(){return d(this,!0,this.props)},b.props=function(a){return d(a,!1,b.props)}}},{"./errors_api_rejection":80,"./properties_promise_array.js":95,"./util.js":108}],97:[function(a,b){"use strict";function c(a,b,c,d,e){for(var f=0;e>f;++f)c[f+d]=a[f+b]}function d(a){return a>>>=0,a-=1,a|=a>>1,a|=a>>2,a|=a>>4,a|=a>>8,a|=a>>16,a+1}function e(a){return"number"!=typeof a?16:d(Math.min(Math.max(16,a),1073741824))}function f(a){this._capacity=e(a),this._length=0,this._front=0,this._makeCapacity()}a("./assert.js");f.prototype._willBeOverCapacity=function(a){return this._capacity<a},f.prototype._pushOne=function(a){var b=this.length();this._checkCapacity(b+1);var c=this._front+b&this._capacity-1;this[c]=a,this._length=b+1},f.prototype.push=function(a,b,c){var d=this.length()+3;if(this._willBeOverCapacity(d))return this._pushOne(a),this._pushOne(b),this._pushOne(c),void 0;var e=this._front+d-3;this._checkCapacity(d);var f=this._capacity-1;this[e+0&f]=a,this[e+1&f]=b,this[e+2&f]=c,this._length=d},f.prototype.shift=function(){var a=this._front,b=this[a];return this[a]=void 0,this._front=a+1&this._capacity-1,this._length--,b},f.prototype.length=function(){return this._length},f.prototype._makeCapacity=function(){for(var a=this._capacity,b=0;a>b;++b)this[b]=void 0},f.prototype._checkCapacity=function(a){this._capacity<a&&this._resizeTo(this._capacity<<3)},f.prototype._resizeTo=function(a){var b=this._front,d=this._capacity,e=new Array(d),f=this.length();if(c(this,0,e,0,d),this._capacity=a,this._makeCapacity(),this._front=0,d>=b+f)c(e,b,this,0,f);else{var g=f-(b+f&d-1);c(e,b,this,0,g),c(e,0,this,g,f-g)}},b.exports=f},{"./assert.js":71}],98:[function(a,b){"use strict";b.exports=function(b,c){function d(a,d,i){var j=b._cast(a,d,void 0);if(b.is(j))return g(j);if(!f(a))return e("expecting an array, a promise or a thenable");var k=new b(c);k._setTrace(d,i),void 0!==i&&(i._isBound()&&k._setBoundTo(i._boundTo),i._cancellable()&&(k._setCancellable(),k._cancellationParent=i));for(var l=k._fulfill,m=k._reject,n=0,o=a.length;o>n;++n){var p=a[n];
(void 0!==p||h.call(a,n))&&b.cast(p)._then(l,m,void 0,k,null,d)}return k}var e=a("./errors_api_rejection.js")(b),f=a("./util.js").isArray,g=function(a){return a.then(function b(c){return d(c,b,a)})},h={}.hasOwnProperty;b.race=function(a){return d(a,b.race,void 0)},b.prototype.race=function(){return d(this,this.race,void 0)}}},{"./errors_api_rejection.js":80,"./util.js":108}],99:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a,b){var c=this,d=void 0;"function"!=typeof c&&(d=c.receiver,c=c.fn);var e=a.length,f=void 0,g=0;if(void 0!==b)f=b,g=0;else if(g=1,e>0)for(var h=0;e>h;++h)if(void 0!==a[h]||h in a){f=a[h],g=h+1;break}if(void 0===d)for(var h=g;e>h;++h)(void 0!==a[h]||h in a)&&(f=c(f,a[h],h,e));else for(var h=g;e>h;++h)(void 0!==a[h]||h in a)&&(f=c.call(d,f,a[h],h,e));return f}function g(a){var b=this.fn,c=this.initialValue;return f.call(b,a,c)}function h(a,b,c,d,e){return c._then(function f(c){return i(a,b,c,d,f)},void 0,void 0,void 0,void 0,e)}function i(a,i,j,k,l){if("function"!=typeof i)return e("fn must be a function");if(k===!0&&a._isBound()&&(i={fn:i,receiver:a._boundTo}),void 0!==j){if(b.is(j)){if(!j.isFulfilled())return h(a,i,j,k,l);j=j._settledValue}return c(a,d,l,k===!0&&a._isBound()?a._boundTo:void 0).promise()._then(g,void 0,void 0,{fn:i,initialValue:j},void 0,b.reduce)}return c(a,d,l,k===!0&&a._isBound()?a._boundTo:void 0).promise()._then(f,void 0,void 0,i,void 0,l)}a("./assert.js");b.reduce=function(a,c,d){return i(a,c,d,!1,b.reduce)},b.prototype.reduce=function(a,b){return i(this,a,b,!0,this.reduce)}}},{"./assert.js":71}],100:[function(a,b){{var c,d=a("__browserify_process"),e=a("./global.js");a("./assert.js")}if("undefined"!=typeof d&&null!==d&&"function"==typeof d.cwd&&"function"==typeof d.nextTick)c=d.nextTick;else if("function"!=typeof MutationObserver&&"function"!=typeof WebkitMutationObserver&&"function"!=typeof WebKitMutationObserver||"undefined"==typeof document||"function"!=typeof document.createElement)if("function"==typeof e.postMessage&&"function"!=typeof e.importScripts&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener){var f="bluebird_message_key_"+Math.random();c=function(){function a(a){if(a.source===e&&a.data===f){var c=b;b=void 0,c()}}var b=void 0;return e.addEventListener("message",a,!1),function(a){b=a,e.postMessage(f,"*")}}()}else c="function"==typeof MessageChannel?function(){var a=void 0,b=new MessageChannel;return b.port1.onmessage=function(){var b=a;a=void 0,b()},function(c){a=c,b.port2.postMessage(null)}}():e.setTimeout?function(a){setTimeout(a,4)}:function(a){a()};else c=function(){var a=e.MutationObserver||e.WebkitMutationObserver||e.WebKitMutationObserver,b=document.createElement("div"),c=void 0,d=new a(function(){var a=c;c=void 0,a()});return d.observe(b,{attributes:!0}),function(a){c=a,b.setAttribute("class","foo")}}();b.exports=c},{"./assert.js":71,"./global.js":85,__browserify_process:116}],101:[function(a,b){"use strict";b.exports=function(b,c,d){function e(a,b,d){return c(a,f,d,b===!0&&a._isBound()?a._boundTo:void 0).promise()}var f=a("./settled_promise_array.js")(b,d);b.settle=function(a){return e(a,!1,b.settle)},b.prototype.settle=function(){return e(this,!0,this.settle)}}},{"./settled_promise_array.js":102}],102:[function(a,b){"use strict";b.exports=function(b,c){function d(a,b,c){this.constructor$(a,b,c)}var e=(a("./assert.js"),a("./promise_inspection.js")),f=a("./util.js"),g=f.inherits;return g(d,c),d.prototype._promiseResolved=function(a,b){this._values[a]=b;var c=++this._totalResolved;c>=this._length&&this._resolve(this._values)},d.prototype._promiseFulfilled=function(a,b){if(!this._isResolved()){var c=new e;c._bitField=268435456,c._settledValue=a,this._promiseResolved(b,c)}},d.prototype._promiseRejected=function(a,b){if(!this._isResolved()){var c=new e;c._bitField=134217728,c._settledValue=a,this._promiseResolved(b,c)}},d}},{"./assert.js":71,"./promise_inspection.js":91,"./util.js":108}],103:[function(a,b){"use strict";b.exports=function(b,c,d,e){function f(a,b,d,f){if((0|b)!==b||0>b)return e("expecting a positive integer");var h=c(a,g,f,d===!0&&a._isBound()?a._boundTo:void 0),i=h.promise();return i.isRejected()?i:(h.setHowMany(b),h.init(),i)}{var g=a("./some_promise_array.js")(d);a("./assert.js")}b.some=function(a,c){return f(a,c,!1,b.some)},b.prototype.some=function(a){return f(this,a,!0,this.some)}}},{"./assert.js":71,"./some_promise_array.js":104}],104:[function(a,b){"use strict";b.exports=function(b){function c(a,b,c){this.constructor$(a,b,c),this._howMany=0,this._unwrap=!1,this._initialized=!1}var d=a("./util.js"),e=a("./errors.js").RangeError,f=d.inherits,g=d.isArray;return f(c,b),c.prototype._init=function(){if(this._initialized){if(0===this._howMany)return this._resolve([]),void 0;this._init$(void 0,-2);var a=g(this._values);if(this._holes=a?this._values.length-this.length():0,!this._isResolved()&&a&&this._howMany>this._canPossiblyFulfill()){var b="(Promise.some) input array contains less than "+this._howMany+" promises";this._reject(new e(b))}}},c.prototype.init=function(){this._initialized=!0,this._init()},c.prototype.setUnwrap=function(){this._unwrap=!0},c.prototype.howMany=function(){return this._howMany},c.prototype.setHowMany=function(a){this._isResolved()||(this._howMany=a)},c.prototype._promiseFulfilled=function(a){this._isResolved()||(this._addFulfilled(a),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values)))},c.prototype._promiseRejected=function(a){this._isResolved()||(this._addRejected(a),this.howMany()>this._canPossiblyFulfill()&&(this._values.length===this.length()?this._reject([]):this._reject(this._values.slice(this.length()+this._holes))))},c.prototype._fulfilled=function(){return this._totalResolved},c.prototype._rejected=function(){return this._values.length-this.length()-this._holes},c.prototype._addRejected=function(a){this._values.push(a)},c.prototype._addFulfilled=function(a){this._values[this._totalResolved++]=a},c.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},c}},{"./errors.js":79,"./util.js":108}],105:[function(a,b){"use strict";b.exports=function(b){var c=a("./promise_inspection.js");b.prototype.inspect=function(){return new c(this)}}},{"./promise_inspection.js":91}],106:[function(a,b){"use strict";b.exports=function(b){function c(a){try{return a.then}catch(b){return h.e=b,h}}function d(a,f,g){if(i(a)){if(a instanceof b)return a;var j=c(a);if(j===h)return f="function"==typeof f?f:d,void 0!==g&&g._attachExtraTrace(j.e),b.reject(j.e,f);if("function"==typeof j)return f="function"==typeof f?f:d,e(a,j,f,g)}return a}function e(a,c,d,e){function g(c){if(!l){if(l=!0,a===c){var d=b._makeSelfResolutionError();return void 0!==e&&e._attachExtraTrace(d),k.reject(d),void 0}k.resolve(c)}}function i(a){l||(l=!0,f.markAsOriginatingFromRejection(a),void 0!==e&&e._attachExtraTrace(a),k.reject(a))}var k=b.defer(d),l=!1,m=j(c,a,g,i);return m!==h||l||(l=!0,void 0!==e&&e._attachExtraTrace(m.e),k.promise._reject(m.e)),k.promise}var f=(a("./assert.js"),a("./errors.js")),g=a("./util.js"),h=g.errorObj,i=g.isObject,j=g.tryCatch2;b._cast=d}},{"./assert.js":71,"./errors.js":79,"./util.js":108}],107:[function(a,b){"use strict";var c=a("./global.js"),d=function(a,b){for(var d=arguments.length,e=new Array(d-2),f=2;d>f;++f)e[f-2]=arguments[f];c.setTimeout(function(){a.apply(void 0,e)},b)},e={};c.setTimeout(function(a){a===e&&(d=c.setTimeout)},1,e),b.exports=function(b,c){var e=(a("./util.js"),a("./assert.js"),a("./errors.js")),f=a("./errors_api_rejection")(b),g=b.TimeoutError,h=function(a,b,c){if(a.isPending()){"string"!=typeof b&&(b="operation timed out after "+c+" ms");var d=new g(b);e.markAsOriginatingFromRejection(d),a._attachExtraTrace(d),a._rejectUnchecked(d)}},i=function(a,b){b._fulfill(a)};b.delay=function(a,e,g){if(void 0===e&&(e=a,a=void 0),(0|e)!==e||0>e)return f("expecting a positive integer");"function"!=typeof g&&(g=b.delay);var h=b._cast(a,g,void 0),j=new b(c);return b.is(h)?(h._isBound()&&j._setBoundTo(h._boundTo),h._cancellable()&&(j._setCancellable(),j._cancellationParent=h),j._setTrace(g,h),j._follow(h),j.then(function(a){return b.delay(a,e)})):(j._setTrace(g,void 0),d(i,e,a,j),j)},b.prototype.delay=function(a){return b.delay(this,a,this.delay)},b.prototype.timeout=function(a,e){if((0|a)!==a||0>a)return f("expecting a positive integer");var g=new b(c);return g._setTrace(this.timeout,this),this._isBound()&&g._setBoundTo(this._boundTo),this._cancellable()&&(g._setCancellable(),g._cancellationParent=this),g._follow(this),d(h,a,g,e,a),g}}},{"./assert.js":71,"./errors.js":79,"./errors_api_rejection":80,"./global.js":85,"./util.js":108}],108:[function(a,b){"use strict";function c(a){"undefined"!=typeof console&&null!==console&&"function"==typeof console.warn&&console.warn("Bluebird: "+a)}function d(a,b,c){try{return a.call(b,c)}catch(d){return s.e=d,s}}function e(a,b,c,d){try{return a.call(b,c,d)}catch(e){return s.e=e,s}}function f(a,b,c){try{return a.apply(c,b)}catch(d){return s.e=d,s}}function g(a){return"string"==typeof a?a:""+a}function h(a){return null==a||a===!0||a===!1||"string"==typeof a||"number"==typeof a}function i(a){return!h(a)}function j(a){return h(a)?new Error(g(a)):a}function k(a,b){var c,d=a.length,e=new Array(d+1);for(c=0;d>c;++c)e[c]=a[c];return e[c]=b,e}function l(a,b,c){var d={value:c,configurable:!0,enumerable:!1,writable:!0};return o.defineProperty(a,b,d),a}function m(a){throw a}var n=a("./global.js"),o=(a("./assert.js"),a("./es5.js")),p=function(){try{var a={};return o.defineProperty(a,"f",{get:function(){return 3}}),3===a.f}catch(b){return!1}}(),q=function(a,b,c){try{return l(a,b,c),a}catch(d){for(var e={},f=o.keys(a),g=0,h=f.length;h>g;++g)try{var i=f[g];e[i]=a[i]}catch(j){e[i]=j}return l(e,b,c),e}},r=function(){return"undefined"!=typeof window&&null!==window&&"undefined"!=typeof window.document&&"undefined"!=typeof navigator&&null!==navigator&&"string"==typeof navigator.appName&&window===n?!1:!0}(),s={e:{}},t=function(a,b){function c(){this.constructor=a,this.constructor$=b;for(var c in b.prototype)d.call(b.prototype,c)&&"$"!==c.charAt(c.length-1)&&(this[c+"$"]=b.prototype[c])}var d={}.hasOwnProperty;return c.prototype=b.prototype,a.prototype=new c,a.prototype},u=function(){return"string"!==this}.call("string"),v={thrower:m,isArray:o.isArray,haveGetters:p,notEnumerableProp:l,isPrimitive:h,isObject:i,ensurePropertyExpansion:q,canEvaluate:r,deprecated:c,errorObj:s,tryCatch1:d,tryCatch2:e,tryCatchApply:f,inherits:t,withAppended:k,asString:g,maybeWrapAsError:j,wrapsPrimitiveReceiver:u};b.exports=v},{"./assert.js":71,"./es5.js":81,"./global.js":85}],109:[function(a,b,c){function d(a){return"[object Array]"===j.call(a)}function e(a,b){var c;if(null===a)c={__proto__:null};else{if("object"!=typeof a)throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return"undefined"!=typeof b&&Object.defineProperties&&Object.defineProperties(c,b),c}function f(a){return"object"!=typeof a&&"function"!=typeof a||null===a}function g(a){if(f(a))throw new TypeError("Object.keys called on a non-object");var b=[];for(var c in a)k.call(a,c)&&b.push(c);return b}function h(a){if(f(a))throw new TypeError("Object.getOwnPropertyNames called on a non-object");var b=g(a);return c.isArray(a)&&-1===c.indexOf(a,"length")&&b.push("length"),b}function i(a,b){return{value:a[b]}}var j=Object.prototype.toString,k=Object.prototype.hasOwnProperty;c.isArray="function"==typeof Array.isArray?Array.isArray:d,c.indexOf=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(b===a[c])return c;return-1},c.filter=function(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d<a.length;d++)b(a[d],d,a)&&c.push(a[d]);return c},c.forEach=function(a,b,c){if(a.forEach)return a.forEach(b,c);for(var d=0;d<a.length;d++)b.call(c,a[d],d,a)},c.map=function(a,b){if(a.map)return a.map(b);for(var c=new Array(a.length),d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c},c.reduce=function(a,b,c){if(a.reduce)return a.reduce(b,c);var d,e=!1;2<arguments.length&&(d=c,e=!0);for(var f=0,g=a.length;g>f;++f)a.hasOwnProperty(f)&&(e?d=b(d,a[f],f,a):(d=a[f],e=!0));return d},c.substr="b"!=="ab".substr(-1)?function(a,b,c){return 0>b&&(b=a.length+b),a.substr(b,c)}:function(a,b,c){return a.substr(b,c)},c.trim=function(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")},c.bind=function(){var a=Array.prototype.slice.call(arguments),b=a.shift();if(b.bind)return b.bind.apply(b,a);var c=a.shift();return function(){b.apply(c,a.concat([Array.prototype.slice.call(arguments)]))}},c.create="function"==typeof Object.create?Object.create:e;var l="function"==typeof Object.keys?Object.keys:g,m="function"==typeof Object.getOwnPropertyNames?Object.getOwnPropertyNames:h;if((new Error).hasOwnProperty("description")){var n=function(a,b){return"[object Error]"===j.call(a)&&(b=c.filter(b,function(a){return"description"!==a&&"number"!==a&&"message"!==a})),b};c.keys=function(a){return n(a,l(a))},c.getOwnPropertyNames=function(a){return n(a,m(a))}}else c.keys=l,c.getOwnPropertyNames=m;if("function"==typeof Object.getOwnPropertyDescriptor)try{Object.getOwnPropertyDescriptor({a:1},"a"),c.getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor}catch(o){c.getOwnPropertyDescriptor=function(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return i(a,b)}}}else c.getOwnPropertyDescriptor=i},{}],110:[function(a,b){function c(a,b){return m.isUndefined(b)?""+b:!m.isNumber(b)||!isNaN(b)&&isFinite(b)?m.isFunction(b)||m.isRegExp(b)?b.toString():b:b.toString()}function d(a,b){return m.isString(a)?a.length<b?a:a.slice(0,b):a}function e(a){return d(JSON.stringify(a.actual,c),128)+" "+a.operator+" "+d(JSON.stringify(a.expected,c),128)}function f(a,b,c,d,e){throw new p.AssertionError({message:c,actual:a,expected:b,operator:d,stackStartFunction:e})}function g(a,b){a||f(a,!0,b,"==",p.ok)}function h(a,b){if(a===b)return!0;if(m.isBuffer(a)&&m.isBuffer(b)){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return m.isDate(a)&&m.isDate(b)?a.getTime()===b.getTime():m.isRegExp(a)&&m.isRegExp(b)?a.source===b.source&&a.global===b.global&&a.multiline===b.multiline&&a.lastIndex===b.lastIndex&&a.ignoreCase===b.ignoreCase:m.isObject(a)||m.isObject(b)?j(a,b):a==b}function i(a){return"[object Arguments]"==Object.prototype.toString.call(a)}function j(a,b){if(m.isNullOrUndefined(a)||m.isNullOrUndefined(b))return!1;if(a.prototype!==b.prototype)return!1;if(i(a))return i(b)?(a=o.call(a),b=o.call(b),h(a,b)):!1;try{var c,d,e=n.keys(a),f=n.keys(b)}catch(g){return!1}if(e.length!=f.length)return!1;for(e.sort(),f.sort(),d=e.length-1;d>=0;d--)if(e[d]!=f[d])return!1;for(d=e.length-1;d>=0;d--)if(c=e[d],!h(a[c],b[c]))return!1;return!0}function k(a,b){return a&&b?"[object RegExp]"==Object.prototype.toString.call(b)?b.test(a):a instanceof b?!0:b.call({},a)===!0?!0:!1:!1}function l(a,b,c,d){var e;m.isString(c)&&(d=c,c=null);try{b()}catch(g){e=g}if(d=(c&&c.name?" ("+c.name+").":".")+(d?" "+d:"."),a&&!e&&f(e,c,"Missing expected exception"+d),!a&&k(e,c)&&f(e,c,"Got unwanted exception"+d),a&&e&&c&&!k(e,c)||!a&&e)throw e}var m=a("util"),n=a("_shims"),o=Array.prototype.slice,p=b.exports=g;p.AssertionError=function(a){this.name="AssertionError",this.actual=a.actual,this.expected=a.expected,this.operator=a.operator,this.message=a.message||e(this)},m.inherits(p.AssertionError,Error),p.fail=f,p.ok=g,p.equal=function(a,b,c){a!=b&&f(a,b,c,"==",p.equal)},p.notEqual=function(a,b,c){a==b&&f(a,b,c,"!=",p.notEqual)},p.deepEqual=function(a,b,c){h(a,b)||f(a,b,c,"deepEqual",p.deepEqual)},p.notDeepEqual=function(a,b,c){h(a,b)&&f(a,b,c,"notDeepEqual",p.notDeepEqual)},p.strictEqual=function(a,b,c){a!==b&&f(a,b,c,"===",p.strictEqual)},p.notStrictEqual=function(a,b,c){a===b&&f(a,b,c,"!==",p.notStrictEqual)},p.throws=function(){l.apply(this,[!0].concat(o.call(arguments)))},p.doesNotThrow=function(){l.apply(this,[!1].concat(o.call(arguments)))},p.ifError=function(a){if(a)throw a}},{_shims:109,util:111}],111:[function(a,b,c){function d(a,b){var d={seen:[],stylize:f};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),o(b)?d.showHidden=b:b&&c._extend(d,b),u(d.showHidden)&&(d.showHidden=!1),u(d.depth)&&(d.depth=2),u(d.colors)&&(d.colors=!1),u(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=e),h(d,a,d.depth)}function e(a,b){var c=d.styles[b];return c?"["+d.colors[c][0]+"m"+a+"["+d.colors[c][1]+"m":a}function f(a){return a}function g(a){var b={};return G.forEach(a,function(a){b[a]=!0}),b}function h(a,b,d){if(a.customInspect&&b&&z(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d);return s(e)||(e=h(a,e,d)),e}var f=i(a,b);if(f)return f;var o=G.keys(b),p=g(o);if(a.showHidden&&(o=G.getOwnPropertyNames(b)),0===o.length){if(z(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(v(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(x(b))return a.stylize(Date.prototype.toString.call(b),"date");if(y(b))return j(b)}var r="",t=!1,u=["{","}"];if(n(b)&&(t=!0,u=["[","]"]),z(b)){var w=b.name?": "+b.name:"";r=" [Function"+w+"]"}if(v(b)&&(r=" "+RegExp.prototype.toString.call(b)),x(b)&&(r=" "+Date.prototype.toUTCString.call(b)),y(b)&&(r=" "+j(b)),0===o.length&&(!t||0==b.length))return u[0]+r+u[1];if(0>d)return v(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var A;return A=t?k(a,b,d,p,o):o.map(function(c){return l(a,b,d,p,c,t)}),a.seen.pop(),m(A,r,u)}function i(a,b){if(u(b))return a.stylize("undefined","undefined");if(s(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return r(b)?a.stylize(""+b,"number"):o(b)?a.stylize(""+b,"boolean"):p(b)?a.stylize("null","null"):void 0}function j(a){return"["+Error.prototype.toString.call(a)+"]"}function k(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)F(b,String(g))?f.push(l(a,b,c,d,String(g),!0)):f.push("");return G.forEach(e,function(e){e.match(/^\d+$/)||f.push(l(a,b,c,d,e,!0))}),f}function l(a,b,c,d,e,f){var g,i,j;if(j=G.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?i=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(i=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),i||(G.indexOf(a.seen,j.value)<0?(i=p(c)?h(a,j.value,null):h(a,j.value,c-1),i.indexOf("\n")>-1&&(i=f?i.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+i.split("\n").map(function(a){return" "+a}).join("\n"))):i=a.stylize("[Circular]","special")),u(g)){if(f&&e.match(/^\d+$/))return i;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+i}function m(a,b,c){var d=0,e=G.reduce(a,function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function n(a){return G.isArray(a)}function o(a){return"boolean"==typeof a}function p(a){return null===a}function q(a){return null==a}function r(a){return"number"==typeof a}function s(a){return"string"==typeof a}function t(a){return"symbol"==typeof a}function u(a){return void 0===a}function v(a){return w(a)&&"[object RegExp]"===C(a)}function w(a){return"object"==typeof a&&a}function x(a){return w(a)&&"[object Date]"===C(a)}function y(a){return w(a)&&"[object Error]"===C(a)}function z(a){return"function"==typeof a}function A(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function B(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.binarySlice}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),I[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=a("_shims"),H=/%[sdj%]/g;c.format=function(a){if(!s(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(d(arguments[c]));return b.join(" ")}for(var c=1,e=arguments,f=e.length,g=String(a).replace(H,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(e[c++]);case"%d":return Number(e[c++]);case"%j":try{return JSON.stringify(e[c++])}catch(b){return"[Circular]"}default:return a}}),h=e[c];f>c;h=e[++c])g+=p(h)||!w(h)?" "+h:" "+d(h);return g},c.inspect=d,d.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},d.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=n,c.isBoolean=o,c.isNull=p,c.isNullOrUndefined=q,c.isNumber=r,c.isString=s,c.isSymbol=t,c.isUndefined=u,c.isRegExp=v,c.isObject=w,c.isDate=x,c.isError=y,c.isFunction=z,c.isPrimitive=A,c.isBuffer=B;var I=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(){console.log("%s - %s",E(),c.format.apply(c,arguments))},c.inherits=function(a,b){a.super_=b,a.prototype=G.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})},c._extend=function(a,b){if(!b||!w(b))return a;for(var c=G.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}},{_shims:109}],112:[function(a,b,c){c.readIEEE754=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?0:e-1,m=c?1:-1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?0/0:1/0*(n?-1:1);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.writeIEEE754=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?f-1:0,o=d?-1:1,p=0>b||0===b&&0>1/b?1:0;for(b=Math.abs(b),isNaN(b)||1/0===b?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],113:[function(a,b,c){function d(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function e(b,c,f){if(E||(E=a("assert")),!(this instanceof e))return new e(b,c,f);if(this.parent=this,this.offset=0,"base64"==c&&"string"==typeof b)for(b=d(b);b.length%4!=0;)b+="=";var h;if("number"==typeof f){this.length=g(c);for(var j=0;j<this.length;j++)this[j]=b.get(j+f)}else{switch(h=typeof b){case"number":this.length=g(b);break;case"string":this.length=e.byteLength(b,c);break;case"object":this.length=g(b.length);break;default:throw new Error("First argument needs to be a number, array or string.")}if(i(b))for(var j=0;j<this.length;j++)this[j]=b instanceof e?b.readUInt8(j):b[j];else if("string"==h)this.length=this.write(b,0,c);else if("number"===h)for(var j=0;j<this.length;j++)this[j]=0}}function f(a,b,c){return"number"!=typeof a?c:(a=~~a,a>=b?b:a>=0?a:(a+=b,a>=0?a:0))}function g(a){return a=~~Math.ceil(+a),0>a?0:a}function h(a){return(Array.isArray||function(a){return"[object Array]"=={}.toString.apply(a)})(a)}function i(a){return h(a)||e.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length}function j(a){return 16>a?"0"+a.toString(16):a.toString(16)}function k(a){for(var b=[],c=0;c<a.length;c++)if(a.charCodeAt(c)<=127)b.push(a.charCodeAt(c));else for(var d=encodeURIComponent(a.charAt(c)).substr(1).split("%"),e=0;e<d.length;e++)b.push(parseInt(d[e],16));return b}function l(a){for(var b=[],c=0;c<a.length;c++)b.push(255&a.charCodeAt(c));return b}function m(b){return a("base64-js").toByteArray(b)}function n(a,b,c,d){for(var e=0;d>e&&!(e+c>=b.length||e>=a.length);)b[e+c]=a[e],e++;return e}function o(a){try{return decodeURIComponent(a)}catch(b){return String.fromCharCode(65533)}}function p(a,b,c,d){var e=0;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+1<a.length,"Trying to read beyond buffer length")),b>=a.length?0:(c?(e=a[b]<<8,b+1<a.length&&(e|=a[b+1])):(e=a[b],b+1<a.length&&(e|=a[b+1]<<8)),e)}function q(a,b,c,d){var e=0;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+3<a.length,"Trying to read beyond buffer length")),b>=a.length?0:(c?(b+1<a.length&&(e=a[b+1]<<16),b+2<a.length&&(e|=a[b+2]<<8),b+3<a.length&&(e|=a[b+3]),e+=a[b]<<24>>>0):(b+2<a.length&&(e=a[b+2]<<16),b+1<a.length&&(e|=a[b+1]<<8),e|=a[b],b+3<a.length&&(e+=a[b+3]<<24>>>0)),e)}function r(a,b,c,d){var e,f;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+1<a.length,"Trying to read beyond buffer length")),f=p(a,b,c,d),e=32768&f,e?-1*(65535-f+1):f}function s(a,b,c,d){var e,f;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+3<a.length,"Trying to read beyond buffer length")),f=q(a,b,c,d),e=2147483648&f,e?-1*(4294967295-f+1):f}function t(b,c,d,e){return e||(E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(c+3<b.length,"Trying to read beyond buffer length")),a("./buffer_ieee754").readIEEE754(b,c,d,23,4)}function u(b,c,d,e){return e||(E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(c+7<b.length,"Trying to read beyond buffer length")),a("./buffer_ieee754").readIEEE754(b,c,d,52,8)}function v(a,b){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(a>=0,"specified a negative value for writing an unsigned value"),E.ok(b>=a,"value is larger than maximum value for type"),E.ok(Math.floor(a)===a,"value has a fractional component")}function w(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+1<a.length,"trying to write beyond buffer length"),v(b,65535));for(var f=0;f<Math.min(a.length-c,2);f++)a[c+f]=(b&255<<8*(d?1-f:f))>>>8*(d?1-f:f)}function x(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+3<a.length,"trying to write beyond buffer length"),v(b,4294967295));for(var f=0;f<Math.min(a.length-c,4);f++)a[c+f]=b>>>8*(d?3-f:f)&255}function y(a,b,c){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(b>=a,"value larger than maximum allowed value"),E.ok(a>=c,"value smaller than minimum allowed value"),E.ok(Math.floor(a)===a,"value has a fractional component")}function z(a,b,c){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(b>=a,"value larger than maximum allowed value"),E.ok(a>=c,"value smaller than minimum allowed value")}function A(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+1<a.length,"Trying to write beyond buffer length"),y(b,32767,-32768)),b>=0?w(a,b,c,d,e):w(a,65535+b+1,c,d,e)}function B(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+3<a.length,"Trying to write beyond buffer length"),y(b,2147483647,-2147483648)),b>=0?x(a,b,c,d,e):x(a,4294967295+b+1,c,d,e)}function C(b,c,d,e,f){f||(E.ok(void 0!==c&&null!==c,"missing value"),E.ok("boolean"==typeof e,"missing or invalid endian"),E.ok(void 0!==d&&null!==d,"missing offset"),E.ok(d+3<b.length,"Trying to write beyond buffer length"),z(c,3.4028234663852886e38,-3.4028234663852886e38)),a("./buffer_ieee754").writeIEEE754(b,c,d,e,23,4)}function D(b,c,d,e,f){f||(E.ok(void 0!==c&&null!==c,"missing value"),E.ok("boolean"==typeof e,"missing or invalid endian"),E.ok(void 0!==d&&null!==d,"missing offset"),E.ok(d+7<b.length,"Trying to write beyond buffer length"),z(c,1.7976931348623157e308,-1.7976931348623157e308)),a("./buffer_ieee754").writeIEEE754(b,c,d,e,52,8)}var E;c.Buffer=e,c.SlowBuffer=e,e.poolSize=8192,c.INSPECT_MAX_BYTES=50,e.prototype.get=function(a){if(0>a||a>=this.length)throw new Error("oob");return this[a]},e.prototype.set=function(a,b){if(0>a||a>=this.length)throw new Error("oob");return this[a]=b},e.byteLength=function(a,b){switch(b||"utf8"){case"hex":return a.length/2;case"utf8":case"utf-8":return k(a).length;case"ascii":case"binary":return a.length;case"base64":return m(a).length;default:throw new Error("Unknown encoding")}},e.prototype.utf8Write=function(a,b,c){return e._charsWritten=n(k(a),this,b,c)},e.prototype.asciiWrite=function(a,b,c){return e._charsWritten=n(l(a),this,b,c)},e.prototype.binaryWrite=e.prototype.asciiWrite,e.prototype.base64Write=function(a,b,c){return e._charsWritten=n(m(a),this,b,c)},e.prototype.base64Slice=function(){var b=Array.prototype.slice.apply(this,arguments);return a("base64-js").fromByteArray(b)},e.prototype.utf8Slice=function(){for(var a=Array.prototype.slice.apply(this,arguments),b="",c="",d=0;d<a.length;)a[d]<=127?(b+=o(c)+String.fromCharCode(a[d]),c=""):c+="%"+a[d].toString(16),d++;return b+o(c)},e.prototype.asciiSlice=function(){for(var a=Array.prototype.slice.apply(this,arguments),b="",c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return b},e.prototype.binarySlice=e.prototype.asciiSlice,e.prototype.inspect=function(){for(var a=[],b=this.length,d=0;b>d;d++)if(a[d]=j(this[d]),d==c.INSPECT_MAX_BYTES){a[d+1]="...";break}return"<Buffer "+a.join(" ")+">"},e.prototype.hexSlice=function(a,b){var c=this.length;(!a||0>a)&&(a=0),(!b||0>b||b>c)&&(b=c);for(var d="",e=a;b>e;e++)d+=j(this[e]);return d},e.prototype.toString=function(a,b,c){if(a=String(a||"utf8").toLowerCase(),b=+b||0,"undefined"==typeof c&&(c=this.length),+c==b)return"";switch(a){case"hex":return this.hexSlice(b,c);case"utf8":case"utf-8":return this.utf8Slice(b,c);case"ascii":return this.asciiSlice(b,c);case"binary":return this.binarySlice(b,c);case"base64":return this.base64Slice(b,c);case"ucs2":case"ucs-2":return this.ucs2Slice(b,c);default:throw new Error("Unknown encoding")}},e.prototype.hexWrite=function(a,b,c){b=+b||0;var d=this.length-b;c?(c=+c,c>d&&(c=d)):c=d;var f=a.length;if(f%2)throw new Error("Invalid hex string");c>f/2&&(c=f/2);for(var g=0;c>g;g++){var h=parseInt(a.substr(2*g,2),16);if(isNaN(h))throw new Error("Invalid hex string");this[b+g]=h}return e._charsWritten=2*g,g},e.prototype.write=function(a,b,c,d){if(isFinite(b))isFinite(c)||(d=c,c=void 0);else{var e=d;d=b,b=c,c=e}b=+b||0;var f=this.length-b;switch(c?(c=+c,c>f&&(c=f)):c=f,d=String(d||"utf8").toLowerCase()){case"hex":return this.hexWrite(a,b,c);case"utf8":case"utf-8":return this.utf8Write(a,b,c);case"ascii":return this.asciiWrite(a,b,c);case"binary":return this.binaryWrite(a,b,c);case"base64":return this.base64Write(a,b,c);case"ucs2":case"ucs-2":return this.ucs2Write(a,b,c);default:throw new Error("Unknown encoding")}},e.prototype.slice=function(a,b){var c=this.length;return a=f(a,c,0),b=f(b,c,c),new e(this,b-a,+a)},e.prototype.copy=function(a,b,c,d){var e=this;if(c||(c=0),(void 0===d||isNaN(d))&&(d=this.length),b||(b=0),c>d)throw new Error("sourceEnd < sourceStart");if(d===c)return 0;if(0==a.length||0==e.length)return 0;if(0>b||b>=a.length)throw new Error("targetStart out of bounds");if(0>c||c>=e.length)throw new Error("sourceStart out of bounds");if(0>d||d>e.length)throw new Error("sourceEnd out of bounds");d>this.length&&(d=this.length),a.length-b<d-c&&(d=a.length-b+c);
for(var f=[],g=c;d>g;g++)E.ok("undefined"!=typeof this[g],"copying undefined buffer bytes!"),f.push(this[g]);for(var g=b;g<b+f.length;g++)a[g]=f[g-b]},e.prototype.fill=function(a,b,c){if(a||(a=0),b||(b=0),c||(c=this.length),"string"==typeof a&&(a=a.charCodeAt(0)),"number"!=typeof a||isNaN(a))throw new Error("value is not a number");if(b>c)throw new Error("end < start");if(c===b)return 0;if(0==this.length)return 0;if(0>b||b>=this.length)throw new Error("start out of bounds");if(0>c||c>this.length)throw new Error("end out of bounds");for(var d=b;c>d;d++)this[d]=a},e.isBuffer=function(a){return a instanceof e||a instanceof e},e.concat=function(a,b){if(!h(a))throw new Error("Usage: Buffer.concat(list, [totalLength])\n list should be an Array.");if(0===a.length)return new e(0);if(1===a.length)return a[0];if("number"!=typeof b){b=0;for(var c=0;c<a.length;c++){var d=a[c];b+=d.length}}for(var f=new e(b),g=0,c=0;c<a.length;c++){var d=a[c];d.copy(f,g),g+=d.length}return f},e.isEncoding=function(a){switch((a+"").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!0;default:return!1}},e.prototype.readUInt8=function(a,b){var c=this;return b||(E.ok(void 0!==a&&null!==a,"missing offset"),E.ok(a<c.length,"Trying to read beyond buffer length")),a>=c.length?void 0:c[a]},e.prototype.readUInt16LE=function(a,b){return p(this,a,!1,b)},e.prototype.readUInt16BE=function(a,b){return p(this,a,!0,b)},e.prototype.readUInt32LE=function(a,b){return q(this,a,!1,b)},e.prototype.readUInt32BE=function(a,b){return q(this,a,!0,b)},e.prototype.readInt8=function(a,b){var c,d=this;return b||(E.ok(void 0!==a&&null!==a,"missing offset"),E.ok(a<d.length,"Trying to read beyond buffer length")),a>=d.length?void 0:(c=128&d[a],c?-1*(255-d[a]+1):d[a])},e.prototype.readInt16LE=function(a,b){return r(this,a,!1,b)},e.prototype.readInt16BE=function(a,b){return r(this,a,!0,b)},e.prototype.readInt32LE=function(a,b){return s(this,a,!1,b)},e.prototype.readInt32BE=function(a,b){return s(this,a,!0,b)},e.prototype.readFloatLE=function(a,b){return t(this,a,!1,b)},e.prototype.readFloatBE=function(a,b){return t(this,a,!0,b)},e.prototype.readDoubleLE=function(a,b){return u(this,a,!1,b)},e.prototype.readDoubleBE=function(a,b){return u(this,a,!0,b)},e.prototype.writeUInt8=function(a,b,c){var d=this;c||(E.ok(void 0!==a&&null!==a,"missing value"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b<d.length,"trying to write beyond buffer length"),v(a,255)),b<d.length&&(d[b]=a)},e.prototype.writeUInt16LE=function(a,b,c){w(this,a,b,!1,c)},e.prototype.writeUInt16BE=function(a,b,c){w(this,a,b,!0,c)},e.prototype.writeUInt32LE=function(a,b,c){x(this,a,b,!1,c)},e.prototype.writeUInt32BE=function(a,b,c){x(this,a,b,!0,c)},e.prototype.writeInt8=function(a,b,c){var d=this;c||(E.ok(void 0!==a&&null!==a,"missing value"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b<d.length,"Trying to write beyond buffer length"),y(a,127,-128)),a>=0?d.writeUInt8(a,b,c):d.writeUInt8(255+a+1,b,c)},e.prototype.writeInt16LE=function(a,b,c){A(this,a,b,!1,c)},e.prototype.writeInt16BE=function(a,b,c){A(this,a,b,!0,c)},e.prototype.writeInt32LE=function(a,b,c){B(this,a,b,!1,c)},e.prototype.writeInt32BE=function(a,b,c){B(this,a,b,!0,c)},e.prototype.writeFloatLE=function(a,b,c){C(this,a,b,!1,c)},e.prototype.writeFloatBE=function(a,b,c){C(this,a,b,!0,c)},e.prototype.writeDoubleLE=function(a,b,c){D(this,a,b,!1,c)},e.prototype.writeDoubleBE=function(a,b,c){D(this,a,b,!0,c)}},{"./buffer_ieee754":112,assert:110,"base64-js":114}],114:[function(a,b){!function(){"use strict";function a(a){var b,c,e,f,g,h;if(a.length%4>0)throw"Invalid string. Length must be a multiple of 4";for(g=a.indexOf("="),g=g>0?a.length-g:0,h=[],e=g>0?a.length-4:a.length,b=0,c=0;e>b;b+=4,c+=3)f=d.indexOf(a[b])<<18|d.indexOf(a[b+1])<<12|d.indexOf(a[b+2])<<6|d.indexOf(a[b+3]),h.push((16711680&f)>>16),h.push((65280&f)>>8),h.push(255&f);return 2===g?(f=d.indexOf(a[b])<<2|d.indexOf(a[b+1])>>4,h.push(255&f)):1===g&&(f=d.indexOf(a[b])<<10|d.indexOf(a[b+1])<<4|d.indexOf(a[b+2])>>2,h.push(f>>8&255),h.push(255&f)),h}function c(a){function b(a){return d[a>>18&63]+d[a>>12&63]+d[a>>6&63]+d[63&a]}var c,e,f,g=a.length%3,h="";for(c=0,f=a.length-g;f>c;c+=3)e=(a[c]<<16)+(a[c+1]<<8)+a[c+2],h+=b(e);switch(g){case 1:e=a[a.length-1],h+=d[e>>2],h+=d[e<<4&63],h+="==";break;case 2:e=(a[a.length-2]<<8)+a[a.length-1],h+=d[e>>10],h+=d[e>>4&63],h+=d[e<<2&63],h+="="}return h}var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";b.exports.toByteArray=a,b.exports.fromByteArray=c}()},{}],115:[function(a,b){a=function c(b,d,e){function f(h,i){if(!d[h]){if(!b[h]){var j="function"==typeof a&&a;if(!i&&j)return j(h,!0);if(g)return g(h,!0);throw new Error("Cannot find module '"+h+"'")}var k=d[h]={exports:{}};b[h][0].call(k.exports,function(a){var c=b[h][1][a];return f(c?c:a)},k,k.exports,c,b,d,e)}return d[h].exports}for(var g="function"==typeof a&&a,h=0;h<e.length;h++)f(e[h]);return f}({1:[function(a,b,c){c.readIEEE754=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?0:e-1,m=c?1:-1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?0/0:1/0*(n?-1:1);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.writeIEEE754=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?f-1:0,o=d?-1:1,p=0>b||0===b&&0>1/b?1:0;for(b=Math.abs(b),isNaN(b)||1/0===b?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],q9TxCC:[function(a,b,c){function d(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function e(b,c,f){if(E||(E=a("assert")),!(this instanceof e))return new e(b,c,f);if(this.parent=this,this.offset=0,"base64"==c&&"string"==typeof b)for(b=d(b);b.length%4!=0;)b+="=";var h;if("number"==typeof f){this.length=g(c);for(var j=0;j<this.length;j++)this[j]=b.get(j+f)}else{switch(h=typeof b){case"number":this.length=g(b);break;case"string":this.length=e.byteLength(b,c);break;case"object":this.length=g(b.length);break;default:throw new Error("First argument needs to be a number, array or string.")}if(i(b))for(var j=0;j<this.length;j++)this[j]=b instanceof e?b.readUInt8(j):b[j];else if("string"==h)this.length=this.write(b,0,c);else if("number"===h)for(var j=0;j<this.length;j++)this[j]=0}}function f(a,b,c){return"number"!=typeof a?c:(a=~~a,a>=b?b:a>=0?a:(a+=b,a>=0?a:0))}function g(a){return a=~~Math.ceil(+a),0>a?0:a}function h(a){return(Array.isArray||function(a){return"[object Array]"=={}.toString.apply(a)})(a)}function i(a){return h(a)||e.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length}function j(a){return 16>a?"0"+a.toString(16):a.toString(16)}function k(a){for(var b=[],c=0;c<a.length;c++)if(a.charCodeAt(c)<=127)b.push(a.charCodeAt(c));else for(var d=encodeURIComponent(a.charAt(c)).substr(1).split("%"),e=0;e<d.length;e++)b.push(parseInt(d[e],16));return b}function l(a){for(var b=[],c=0;c<a.length;c++)b.push(255&a.charCodeAt(c));return b}function m(b){return a("base64-js").toByteArray(b)}function n(a,b,c,d){for(var e=0;d>e&&!(e+c>=b.length||e>=a.length);)b[e+c]=a[e],e++;return e}function o(a){try{return decodeURIComponent(a)}catch(b){return String.fromCharCode(65533)}}function p(a,b,c,d){var e=0;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+1<a.length,"Trying to read beyond buffer length")),b>=a.length?0:(c?(e=a[b]<<8,b+1<a.length&&(e|=a[b+1])):(e=a[b],b+1<a.length&&(e|=a[b+1]<<8)),e)}function q(a,b,c,d){var e=0;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+3<a.length,"Trying to read beyond buffer length")),b>=a.length?0:(c?(b+1<a.length&&(e=a[b+1]<<16),b+2<a.length&&(e|=a[b+2]<<8),b+3<a.length&&(e|=a[b+3]),e+=a[b]<<24>>>0):(b+2<a.length&&(e=a[b+2]<<16),b+1<a.length&&(e|=a[b+1]<<8),e|=a[b],b+3<a.length&&(e+=a[b+3]<<24>>>0)),e)}function r(a,b,c,d){var e,f;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+1<a.length,"Trying to read beyond buffer length")),f=p(a,b,c,d),e=32768&f,e?-1*(65535-f+1):f}function s(a,b,c,d){var e,f;return d||(E.ok("boolean"==typeof c,"missing or invalid endian"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b+3<a.length,"Trying to read beyond buffer length")),f=q(a,b,c,d),e=2147483648&f,e?-1*(4294967295-f+1):f}function t(b,c,d,e){return e||(E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(c+3<b.length,"Trying to read beyond buffer length")),a("./buffer_ieee754").readIEEE754(b,c,d,23,4)}function u(b,c,d,e){return e||(E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(c+7<b.length,"Trying to read beyond buffer length")),a("./buffer_ieee754").readIEEE754(b,c,d,52,8)}function v(a,b){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(a>=0,"specified a negative value for writing an unsigned value"),E.ok(b>=a,"value is larger than maximum value for type"),E.ok(Math.floor(a)===a,"value has a fractional component")}function w(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+1<a.length,"trying to write beyond buffer length"),v(b,65535));for(var f=0;f<Math.min(a.length-c,2);f++)a[c+f]=(b&255<<8*(d?1-f:f))>>>8*(d?1-f:f)}function x(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+3<a.length,"trying to write beyond buffer length"),v(b,4294967295));for(var f=0;f<Math.min(a.length-c,4);f++)a[c+f]=b>>>8*(d?3-f:f)&255}function y(a,b,c){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(b>=a,"value larger than maximum allowed value"),E.ok(a>=c,"value smaller than minimum allowed value"),E.ok(Math.floor(a)===a,"value has a fractional component")}function z(a,b,c){E.ok("number"==typeof a,"cannot write a non-number as a number"),E.ok(b>=a,"value larger than maximum allowed value"),E.ok(a>=c,"value smaller than minimum allowed value")}function A(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+1<a.length,"Trying to write beyond buffer length"),y(b,32767,-32768)),b>=0?w(a,b,c,d,e):w(a,65535+b+1,c,d,e)}function B(a,b,c,d,e){e||(E.ok(void 0!==b&&null!==b,"missing value"),E.ok("boolean"==typeof d,"missing or invalid endian"),E.ok(void 0!==c&&null!==c,"missing offset"),E.ok(c+3<a.length,"Trying to write beyond buffer length"),y(b,2147483647,-2147483648)),b>=0?x(a,b,c,d,e):x(a,4294967295+b+1,c,d,e)}function C(b,c,d,e,f){f||(E.ok(void 0!==c&&null!==c,"missing value"),E.ok("boolean"==typeof e,"missing or invalid endian"),E.ok(void 0!==d&&null!==d,"missing offset"),E.ok(d+3<b.length,"Trying to write beyond buffer length"),z(c,3.4028234663852886e38,-3.4028234663852886e38)),a("./buffer_ieee754").writeIEEE754(b,c,d,e,23,4)}function D(b,c,d,e,f){f||(E.ok(void 0!==c&&null!==c,"missing value"),E.ok("boolean"==typeof e,"missing or invalid endian"),E.ok(void 0!==d&&null!==d,"missing offset"),E.ok(d+7<b.length,"Trying to write beyond buffer length"),z(c,1.7976931348623157e308,-1.7976931348623157e308)),a("./buffer_ieee754").writeIEEE754(b,c,d,e,52,8)}var E;c.Buffer=e,c.SlowBuffer=e,e.poolSize=8192,c.INSPECT_MAX_BYTES=50,e.prototype.get=function(a){if(0>a||a>=this.length)throw new Error("oob");return this[a]},e.prototype.set=function(a,b){if(0>a||a>=this.length)throw new Error("oob");return this[a]=b},e.byteLength=function(a,b){switch(b||"utf8"){case"hex":return a.length/2;case"utf8":case"utf-8":return k(a).length;case"ascii":case"binary":return a.length;case"base64":return m(a).length;default:throw new Error("Unknown encoding")}},e.prototype.utf8Write=function(a,b,c){return e._charsWritten=n(k(a),this,b,c)},e.prototype.asciiWrite=function(a,b,c){return e._charsWritten=n(l(a),this,b,c)},e.prototype.binaryWrite=e.prototype.asciiWrite,e.prototype.base64Write=function(a,b,c){return e._charsWritten=n(m(a),this,b,c)},e.prototype.base64Slice=function(){var b=Array.prototype.slice.apply(this,arguments);return a("base64-js").fromByteArray(b)},e.prototype.utf8Slice=function(){for(var a=Array.prototype.slice.apply(this,arguments),b="",c="",d=0;d<a.length;)a[d]<=127?(b+=o(c)+String.fromCharCode(a[d]),c=""):c+="%"+a[d].toString(16),d++;return b+o(c)},e.prototype.asciiSlice=function(){for(var a=Array.prototype.slice.apply(this,arguments),b="",c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return b},e.prototype.binarySlice=e.prototype.asciiSlice,e.prototype.inspect=function(){for(var a=[],b=this.length,d=0;b>d;d++)if(a[d]=j(this[d]),d==c.INSPECT_MAX_BYTES){a[d+1]="...";break}return"<Buffer "+a.join(" ")+">"},e.prototype.hexSlice=function(a,b){var c=this.length;(!a||0>a)&&(a=0),(!b||0>b||b>c)&&(b=c);for(var d="",e=a;b>e;e++)d+=j(this[e]);return d},e.prototype.toString=function(a,b,c){if(a=String(a||"utf8").toLowerCase(),b=+b||0,"undefined"==typeof c&&(c=this.length),+c==b)return"";switch(a){case"hex":return this.hexSlice(b,c);case"utf8":case"utf-8":return this.utf8Slice(b,c);case"ascii":return this.asciiSlice(b,c);case"binary":return this.binarySlice(b,c);case"base64":return this.base64Slice(b,c);case"ucs2":case"ucs-2":return this.ucs2Slice(b,c);default:throw new Error("Unknown encoding")}},e.prototype.hexWrite=function(a,b,c){b=+b||0;var d=this.length-b;c?(c=+c,c>d&&(c=d)):c=d;var f=a.length;if(f%2)throw new Error("Invalid hex string");c>f/2&&(c=f/2);for(var g=0;c>g;g++){var h=parseInt(a.substr(2*g,2),16);if(isNaN(h))throw new Error("Invalid hex string");this[b+g]=h}return e._charsWritten=2*g,g},e.prototype.write=function(a,b,c,d){if(isFinite(b))isFinite(c)||(d=c,c=void 0);else{var e=d;d=b,b=c,c=e}b=+b||0;var f=this.length-b;switch(c?(c=+c,c>f&&(c=f)):c=f,d=String(d||"utf8").toLowerCase()){case"hex":return this.hexWrite(a,b,c);case"utf8":case"utf-8":return this.utf8Write(a,b,c);case"ascii":return this.asciiWrite(a,b,c);case"binary":return this.binaryWrite(a,b,c);case"base64":return this.base64Write(a,b,c);case"ucs2":case"ucs-2":return this.ucs2Write(a,b,c);default:throw new Error("Unknown encoding")}},e.prototype.slice=function(a,b){var c=this.length;return a=f(a,c,0),b=f(b,c,c),new e(this,b-a,+a)},e.prototype.copy=function(a,b,c,d){var e=this;if(c||(c=0),(void 0===d||isNaN(d))&&(d=this.length),b||(b=0),c>d)throw new Error("sourceEnd < sourceStart");if(d===c)return 0;if(0==a.length||0==e.length)return 0;if(0>b||b>=a.length)throw new Error("targetStart out of bounds");if(0>c||c>=e.length)throw new Error("sourceStart out of bounds");if(0>d||d>e.length)throw new Error("sourceEnd out of bounds");d>this.length&&(d=this.length),a.length-b<d-c&&(d=a.length-b+c);for(var f=[],g=c;d>g;g++)E.ok("undefined"!=typeof this[g],"copying undefined buffer bytes!"),f.push(this[g]);for(var g=b;g<b+f.length;g++)a[g]=f[g-b]},e.prototype.fill=function(a,b,c){if(a||(a=0),b||(b=0),c||(c=this.length),"string"==typeof a&&(a=a.charCodeAt(0)),"number"!=typeof a||isNaN(a))throw new Error("value is not a number");if(b>c)throw new Error("end < start");if(c===b)return 0;if(0==this.length)return 0;if(0>b||b>=this.length)throw new Error("start out of bounds");if(0>c||c>this.length)throw new Error("end out of bounds");for(var d=b;c>d;d++)this[d]=a},e.isBuffer=function(a){return a instanceof e||a instanceof e},e.concat=function(a,b){if(!h(a))throw new Error("Usage: Buffer.concat(list, [totalLength])\n list should be an Array.");if(0===a.length)return new e(0);if(1===a.length)return a[0];if("number"!=typeof b){b=0;for(var c=0;c<a.length;c++){var d=a[c];b+=d.length}}for(var f=new e(b),g=0,c=0;c<a.length;c++){var d=a[c];d.copy(f,g),g+=d.length}return f},e.isEncoding=function(a){switch((a+"").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!0;default:return!1}},e.prototype.readUInt8=function(a,b){var c=this;return b||(E.ok(void 0!==a&&null!==a,"missing offset"),E.ok(a<c.length,"Trying to read beyond buffer length")),a>=c.length?void 0:c[a]},e.prototype.readUInt16LE=function(a,b){return p(this,a,!1,b)},e.prototype.readUInt16BE=function(a,b){return p(this,a,!0,b)},e.prototype.readUInt32LE=function(a,b){return q(this,a,!1,b)},e.prototype.readUInt32BE=function(a,b){return q(this,a,!0,b)},e.prototype.readInt8=function(a,b){var c,d=this;return b||(E.ok(void 0!==a&&null!==a,"missing offset"),E.ok(a<d.length,"Trying to read beyond buffer length")),a>=d.length?void 0:(c=128&d[a],c?-1*(255-d[a]+1):d[a])},e.prototype.readInt16LE=function(a,b){return r(this,a,!1,b)},e.prototype.readInt16BE=function(a,b){return r(this,a,!0,b)},e.prototype.readInt32LE=function(a,b){return s(this,a,!1,b)},e.prototype.readInt32BE=function(a,b){return s(this,a,!0,b)},e.prototype.readFloatLE=function(a,b){return t(this,a,!1,b)},e.prototype.readFloatBE=function(a,b){return t(this,a,!0,b)},e.prototype.readDoubleLE=function(a,b){return u(this,a,!1,b)},e.prototype.readDoubleBE=function(a,b){return u(this,a,!0,b)},e.prototype.writeUInt8=function(a,b,c){var d=this;c||(E.ok(void 0!==a&&null!==a,"missing value"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b<d.length,"trying to write beyond buffer length"),v(a,255)),b<d.length&&(d[b]=a)},e.prototype.writeUInt16LE=function(a,b,c){w(this,a,b,!1,c)},e.prototype.writeUInt16BE=function(a,b,c){w(this,a,b,!0,c)},e.prototype.writeUInt32LE=function(a,b,c){x(this,a,b,!1,c)},e.prototype.writeUInt32BE=function(a,b,c){x(this,a,b,!0,c)},e.prototype.writeInt8=function(a,b,c){var d=this;c||(E.ok(void 0!==a&&null!==a,"missing value"),E.ok(void 0!==b&&null!==b,"missing offset"),E.ok(b<d.length,"Trying to write beyond buffer length"),y(a,127,-128)),a>=0?d.writeUInt8(a,b,c):d.writeUInt8(255+a+1,b,c)},e.prototype.writeInt16LE=function(a,b,c){A(this,a,b,!1,c)},e.prototype.writeInt16BE=function(a,b,c){A(this,a,b,!0,c)},e.prototype.writeInt32LE=function(a,b,c){B(this,a,b,!1,c)},e.prototype.writeInt32BE=function(a,b,c){B(this,a,b,!0,c)},e.prototype.writeFloatLE=function(a,b,c){C(this,a,b,!1,c)},e.prototype.writeFloatBE=function(a,b,c){C(this,a,b,!0,c)},e.prototype.writeDoubleLE=function(a,b,c){D(this,a,b,!1,c)},e.prototype.writeDoubleBE=function(a,b,c){D(this,a,b,!0,c)}},{"./buffer_ieee754":1,assert:6,"base64-js":4}],"buffer-browserify":[function(a,b){b.exports=a("q9TxCC")},{}],4:[function(a,b){!function(){"use strict";function a(a){var b,c,e,f,g,h;if(a.length%4>0)throw"Invalid string. Length must be a multiple of 4";for(g=a.indexOf("="),g=g>0?a.length-g:0,h=[],e=g>0?a.length-4:a.length,b=0,c=0;e>b;b+=4,c+=3)f=d.indexOf(a[b])<<18|d.indexOf(a[b+1])<<12|d.indexOf(a[b+2])<<6|d.indexOf(a[b+3]),h.push((16711680&f)>>16),h.push((65280&f)>>8),h.push(255&f);return 2===g?(f=d.indexOf(a[b])<<2|d.indexOf(a[b+1])>>4,h.push(255&f)):1===g&&(f=d.indexOf(a[b])<<10|d.indexOf(a[b+1])<<4|d.indexOf(a[b+2])>>2,h.push(f>>8&255),h.push(255&f)),h}function c(a){function b(a){return d[a>>18&63]+d[a>>12&63]+d[a>>6&63]+d[63&a]}var c,e,f,g=a.length%3,h="";for(c=0,f=a.length-g;f>c;c+=3)e=(a[c]<<16)+(a[c+1]<<8)+a[c+2],h+=b(e);switch(g){case 1:e=a[a.length-1],h+=d[e>>2],h+=d[e<<4&63],h+="==";break;case 2:e=(a[a.length-2]<<8)+a[a.length-1],h+=d[e>>10],h+=d[e>>4&63],h+=d[e<<2&63],h+="="}return h}var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";b.exports.toByteArray=a,b.exports.fromByteArray=c}()},{}],5:[function(a,b,c){function d(a){return"[object Array]"===j.call(a)}function e(a,b){var c;if(null===a)c={__proto__:null};else{if("object"!=typeof a)throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return"undefined"!=typeof b&&Object.defineProperties&&Object.defineProperties(c,b),c}function f(a){return"object"!=typeof a&&"function"!=typeof a||null===a}function g(a){if(f(a))throw new TypeError("Object.keys called on a non-object");var b=[];for(var c in a)k.call(a,c)&&b.push(c);return b}function h(a){if(f(a))throw new TypeError("Object.getOwnPropertyNames called on a non-object");var b=g(a);return c.isArray(a)&&-1===c.indexOf(a,"length")&&b.push("length"),b}function i(a,b){return{value:a[b]}}var j=Object.prototype.toString,k=Object.prototype.hasOwnProperty;c.isArray="function"==typeof Array.isArray?Array.isArray:d,c.indexOf=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c++)if(b===a[c])return c;return-1},c.filter=function(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d<a.length;d++)b(a[d],d,a)&&c.push(a[d]);return c},c.forEach=function(a,b,c){if(a.forEach)return a.forEach(b,c);for(var d=0;d<a.length;d++)b.call(c,a[d],d,a)},c.map=function(a,b){if(a.map)return a.map(b);for(var c=new Array(a.length),d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c},c.reduce=function(a,b,c){if(a.reduce)return a.reduce(b,c);var d,e=!1;2<arguments.length&&(d=c,e=!0);for(var f=0,g=a.length;g>f;++f)a.hasOwnProperty(f)&&(e?d=b(d,a[f],f,a):(d=a[f],e=!0));return d},c.substr="b"!=="ab".substr(-1)?function(a,b,c){return 0>b&&(b=a.length+b),a.substr(b,c)}:function(a,b,c){return a.substr(b,c)},c.trim=function(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")},c.bind=function(){var a=Array.prototype.slice.call(arguments),b=a.shift();if(b.bind)return b.bind.apply(b,a);var c=a.shift();return function(){b.apply(c,a.concat([Array.prototype.slice.call(arguments)]))}},c.create="function"==typeof Object.create?Object.create:e;var l="function"==typeof Object.keys?Object.keys:g,m="function"==typeof Object.getOwnPropertyNames?Object.getOwnPropertyNames:h;if((new Error).hasOwnProperty("description")){var n=function(a,b){return"[object Error]"===j.call(a)&&(b=c.filter(b,function(a){return"description"!==a&&"number"!==a&&"message"!==a})),b};c.keys=function(a){return n(a,l(a))},c.getOwnPropertyNames=function(a){return n(a,m(a))}}else c.keys=l,c.getOwnPropertyNames=m;if("function"==typeof Object.getOwnPropertyDescriptor)try{Object.getOwnPropertyDescriptor({a:1},"a"),c.getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor}catch(o){c.getOwnPropertyDescriptor=function(a,b){try{return Object.getOwnPropertyDescriptor(a,b)}catch(c){return i(a,b)}}}else c.getOwnPropertyDescriptor=i},{}],6:[function(a,b){function c(a,b){return m.isUndefined(b)?""+b:!m.isNumber(b)||!isNaN(b)&&isFinite(b)?m.isFunction(b)||m.isRegExp(b)?b.toString():b:b.toString()}function d(a,b){return m.isString(a)?a.length<b?a:a.slice(0,b):a}function e(a){return d(JSON.stringify(a.actual,c),128)+" "+a.operator+" "+d(JSON.stringify(a.expected,c),128)}function f(a,b,c,d,e){throw new p.AssertionError({message:c,actual:a,expected:b,operator:d,stackStartFunction:e})}function g(a,b){a||f(a,!0,b,"==",p.ok)}function h(a,b){if(a===b)return!0;if(m.isBuffer(a)&&m.isBuffer(b)){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return m.isDate(a)&&m.isDate(b)?a.getTime()===b.getTime():m.isRegExp(a)&&m.isRegExp(b)?a.source===b.source&&a.global===b.global&&a.multiline===b.multiline&&a.lastIndex===b.lastIndex&&a.ignoreCase===b.ignoreCase:m.isObject(a)||m.isObject(b)?j(a,b):a==b}function i(a){return"[object Arguments]"==Object.prototype.toString.call(a)}function j(a,b){if(m.isNullOrUndefined(a)||m.isNullOrUndefined(b))return!1;if(a.prototype!==b.prototype)return!1;if(i(a))return i(b)?(a=o.call(a),b=o.call(b),h(a,b)):!1;try{var c,d,e=n.keys(a),f=n.keys(b)}catch(g){return!1}if(e.length!=f.length)return!1;for(e.sort(),f.sort(),d=e.length-1;d>=0;d--)if(e[d]!=f[d])return!1;for(d=e.length-1;d>=0;d--)if(c=e[d],!h(a[c],b[c]))return!1;return!0}function k(a,b){return a&&b?"[object RegExp]"==Object.prototype.toString.call(b)?b.test(a):a instanceof b?!0:b.call({},a)===!0?!0:!1:!1}function l(a,b,c,d){var e;m.isString(c)&&(d=c,c=null);try{b()}catch(g){e=g}if(d=(c&&c.name?" ("+c.name+").":".")+(d?" "+d:"."),a&&!e&&f(e,c,"Missing expected exception"+d),!a&&k(e,c)&&f(e,c,"Got unwanted exception"+d),a&&e&&c&&!k(e,c)||!a&&e)throw e}var m=a("util"),n=a("_shims"),o=Array.prototype.slice,p=b.exports=g;p.AssertionError=function(a){this.name="AssertionError",this.actual=a.actual,this.expected=a.expected,this.operator=a.operator,this.message=a.message||e(this)},m.inherits(p.AssertionError,Error),p.fail=f,p.ok=g,p.equal=function(a,b,c){a!=b&&f(a,b,c,"==",p.equal)},p.notEqual=function(a,b,c){a==b&&f(a,b,c,"!=",p.notEqual)},p.deepEqual=function(a,b,c){h(a,b)||f(a,b,c,"deepEqual",p.deepEqual)},p.notDeepEqual=function(a,b,c){h(a,b)&&f(a,b,c,"notDeepEqual",p.notDeepEqual)},p.strictEqual=function(a,b,c){a!==b&&f(a,b,c,"===",p.strictEqual)},p.notStrictEqual=function(a,b,c){a===b&&f(a,b,c,"!==",p.notStrictEqual)},p.throws=function(){l.apply(this,[!0].concat(o.call(arguments)))},p.doesNotThrow=function(){l.apply(this,[!1].concat(o.call(arguments)))},p.ifError=function(a){if(a)throw a}},{_shims:5,util:7}],7:[function(a,b,c){function d(a,b){var d={seen:[],stylize:f};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),o(b)?d.showHidden=b:b&&c._extend(d,b),u(d.showHidden)&&(d.showHidden=!1),u(d.depth)&&(d.depth=2),u(d.colors)&&(d.colors=!1),u(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=e),h(d,a,d.depth)}function e(a,b){var c=d.styles[b];return c?"["+d.colors[c][0]+"m"+a+"["+d.colors[c][1]+"m":a}function f(a){return a}function g(a){var b={};return G.forEach(a,function(a){b[a]=!0}),b}function h(a,b,d){if(a.customInspect&&b&&z(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d);return s(e)||(e=h(a,e,d)),e}var f=i(a,b);if(f)return f;var o=G.keys(b),p=g(o);if(a.showHidden&&(o=G.getOwnPropertyNames(b)),0===o.length){if(z(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(v(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(x(b))return a.stylize(Date.prototype.toString.call(b),"date");if(y(b))return j(b)}var r="",t=!1,u=["{","}"];if(n(b)&&(t=!0,u=["[","]"]),z(b)){var w=b.name?": "+b.name:"";r=" [Function"+w+"]"}if(v(b)&&(r=" "+RegExp.prototype.toString.call(b)),x(b)&&(r=" "+Date.prototype.toUTCString.call(b)),y(b)&&(r=" "+j(b)),0===o.length&&(!t||0==b.length))return u[0]+r+u[1];if(0>d)return v(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var A;return A=t?k(a,b,d,p,o):o.map(function(c){return l(a,b,d,p,c,t)}),a.seen.pop(),m(A,r,u)}function i(a,b){if(u(b))return a.stylize("undefined","undefined");if(s(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return r(b)?a.stylize(""+b,"number"):o(b)?a.stylize(""+b,"boolean"):p(b)?a.stylize("null","null"):void 0}function j(a){return"["+Error.prototype.toString.call(a)+"]"}function k(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)F(b,String(g))?f.push(l(a,b,c,d,String(g),!0)):f.push("");return G.forEach(e,function(e){e.match(/^\d+$/)||f.push(l(a,b,c,d,e,!0))}),f}function l(a,b,c,d,e,f){var g,i,j;if(j=G.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?i=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(i=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),i||(G.indexOf(a.seen,j.value)<0?(i=p(c)?h(a,j.value,null):h(a,j.value,c-1),i.indexOf("\n")>-1&&(i=f?i.split("\n").map(function(a){return" "+a}).join("\n").substr(2):"\n"+i.split("\n").map(function(a){return" "+a}).join("\n"))):i=a.stylize("[Circular]","special")),u(g)){if(f&&e.match(/^\d+$/))return i;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+i}function m(a,b,c){var d=0,e=G.reduce(a,function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function n(a){return G.isArray(a)}function o(a){return"boolean"==typeof a}function p(a){return null===a}function q(a){return null==a}function r(a){return"number"==typeof a}function s(a){return"string"==typeof a}function t(a){return"symbol"==typeof a}function u(a){return void 0===a}function v(a){return w(a)&&"[object RegExp]"===C(a)}function w(a){return"object"==typeof a&&a}function x(a){return w(a)&&"[object Date]"===C(a)}function y(a){return w(a)&&"[object Error]"===C(a)}function z(a){return"function"==typeof a}function A(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function B(a){return a instanceof Buffer}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),I[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=a("_shims"),H=/%[sdj%]/g;c.format=function(a){if(!s(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(d(arguments[c]));return b.join(" ")}for(var c=1,e=arguments,f=e.length,g=String(a).replace(H,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(e[c++]);case"%d":return Number(e[c++]);case"%j":try{return JSON.stringify(e[c++])}catch(b){return"[Circular]"}default:return a}}),h=e[c];f>c;h=e[++c])g+=p(h)||!w(h)?" "+h:" "+d(h);return g},c.inspect=d,d.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},d.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=n,c.isBoolean=o,c.isNull=p,c.isNullOrUndefined=q,c.isNumber=r,c.isString=s,c.isSymbol=t,c.isUndefined=u,c.isRegExp=v,c.isObject=w,c.isDate=x,c.isError=y,c.isFunction=z,c.isPrimitive=A,c.isBuffer=B;var I=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(){console.log("%s - %s",E(),c.format.apply(c,arguments))},c.inherits=function(a,b){a.super_=b,a.prototype=G.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})},c._extend=function(a,b){if(!b||!w(b))return a;for(var c=G.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}},{_shims:5}]},{},[]),b.exports=a("buffer-browserify")},{}],116:[function(a,b){var c=b.exports={};c.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),c.title="browser",c.browser=!0,c.env={},c.argv=[],c.binding=function(){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(){throw new Error("process.chdir is not supported")}},{}],117:[function(a,b,c){function d(){var a=[].slice.call(arguments).join(" ");throw new Error([a,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}function e(a,b){for(var c in a)b(a[c],c)}var f=a("buffer").Buffer,g=a("./sha"),h=a("./sha256"),i=a("./rng"),j=a("./md5"),k={sha1:{hex:g.hex_sha1,base64:g.b64_sha1,binary:g.str_sha1},sha256:{hex:h.hex_sha256,base64:h.b64_sha256,binary:h.str_sha256},md5:{hex:j.hex_md5,base64:j.b64_md5,binary:j.bin_md5}},l={sha1:{hex:g.hex_hmac_sha1,base64:g.b64_hmac_sha1,binary:g.str_hmac_sha1},sha256:{hex:h.hex_hmac_sha256,base64:h.b64_hmac_sha256,binary:h.str_hmac_sha256},md5:{hex:j.hex_hmac_md5,base64:j.b64_hmac_md5,binary:j.bin_hmac_md5}};
c.createHash=function(a){a=a||"sha1",k[a]||d("algorithm:",a,"is not yet supported");var b="",c=k[a];return{update:function(a){return b+=a,this},digest:function(e){e=e||"binary";var f;(f=c[e])||d("encoding:",e,"is not yet supported for algorithm",a);var g=f(b);return b=null,g}}},c.createHmac=function(a,b){l[a]||d("algorithm:",a,"is not yet supported"),"string"!=typeof b&&(b=b.toString("binary"));var c="",e=l[a];return{update:function(a){return c+=a,this},digest:function(f){f=f||"binary";var g;(g=e[f])||d("encoding:",f,"is not yet support for algorithm",a);var h=g(b,c);return c=null,h}}},c.randomBytes=function(a,b){if(!b||!b.call)return new f(i(a));try{b.call(this,void 0,new f(i(a)))}catch(c){b(c)}},e(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],function(a){c[a]=function(){d("sorry,",a,"is not implemented yet")}})},{"./md5":118,"./rng":119,"./sha":120,"./sha256":121,buffer:113}],118:[function(a,b,c){function d(a){return u(j(s(a),a.length*y))}function e(a){return v(j(s(a),a.length*y))}function f(a){return t(j(s(a),a.length*y))}function g(a,b){return u(p(a,b))}function h(a,b){return v(p(a,b))}function i(a,b){return t(p(a,b))}function j(a,b){a[b>>5]|=128<<b%32,a[(b+64>>>9<<4)+14]=b;for(var c=1732584193,d=-271733879,e=-1732584194,f=271733878,g=0;g<a.length;g+=16){var h=c,i=d,j=e,k=f;c=l(c,d,e,f,a[g+0],7,-680876936),f=l(f,c,d,e,a[g+1],12,-389564586),e=l(e,f,c,d,a[g+2],17,606105819),d=l(d,e,f,c,a[g+3],22,-1044525330),c=l(c,d,e,f,a[g+4],7,-176418897),f=l(f,c,d,e,a[g+5],12,1200080426),e=l(e,f,c,d,a[g+6],17,-1473231341),d=l(d,e,f,c,a[g+7],22,-45705983),c=l(c,d,e,f,a[g+8],7,1770035416),f=l(f,c,d,e,a[g+9],12,-1958414417),e=l(e,f,c,d,a[g+10],17,-42063),d=l(d,e,f,c,a[g+11],22,-1990404162),c=l(c,d,e,f,a[g+12],7,1804603682),f=l(f,c,d,e,a[g+13],12,-40341101),e=l(e,f,c,d,a[g+14],17,-1502002290),d=l(d,e,f,c,a[g+15],22,1236535329),c=m(c,d,e,f,a[g+1],5,-165796510),f=m(f,c,d,e,a[g+6],9,-1069501632),e=m(e,f,c,d,a[g+11],14,643717713),d=m(d,e,f,c,a[g+0],20,-373897302),c=m(c,d,e,f,a[g+5],5,-701558691),f=m(f,c,d,e,a[g+10],9,38016083),e=m(e,f,c,d,a[g+15],14,-660478335),d=m(d,e,f,c,a[g+4],20,-405537848),c=m(c,d,e,f,a[g+9],5,568446438),f=m(f,c,d,e,a[g+14],9,-1019803690),e=m(e,f,c,d,a[g+3],14,-187363961),d=m(d,e,f,c,a[g+8],20,1163531501),c=m(c,d,e,f,a[g+13],5,-1444681467),f=m(f,c,d,e,a[g+2],9,-51403784),e=m(e,f,c,d,a[g+7],14,1735328473),d=m(d,e,f,c,a[g+12],20,-1926607734),c=n(c,d,e,f,a[g+5],4,-378558),f=n(f,c,d,e,a[g+8],11,-2022574463),e=n(e,f,c,d,a[g+11],16,1839030562),d=n(d,e,f,c,a[g+14],23,-35309556),c=n(c,d,e,f,a[g+1],4,-1530992060),f=n(f,c,d,e,a[g+4],11,1272893353),e=n(e,f,c,d,a[g+7],16,-155497632),d=n(d,e,f,c,a[g+10],23,-1094730640),c=n(c,d,e,f,a[g+13],4,681279174),f=n(f,c,d,e,a[g+0],11,-358537222),e=n(e,f,c,d,a[g+3],16,-722521979),d=n(d,e,f,c,a[g+6],23,76029189),c=n(c,d,e,f,a[g+9],4,-640364487),f=n(f,c,d,e,a[g+12],11,-421815835),e=n(e,f,c,d,a[g+15],16,530742520),d=n(d,e,f,c,a[g+2],23,-995338651),c=o(c,d,e,f,a[g+0],6,-198630844),f=o(f,c,d,e,a[g+7],10,1126891415),e=o(e,f,c,d,a[g+14],15,-1416354905),d=o(d,e,f,c,a[g+5],21,-57434055),c=o(c,d,e,f,a[g+12],6,1700485571),f=o(f,c,d,e,a[g+3],10,-1894986606),e=o(e,f,c,d,a[g+10],15,-1051523),d=o(d,e,f,c,a[g+1],21,-2054922799),c=o(c,d,e,f,a[g+8],6,1873313359),f=o(f,c,d,e,a[g+15],10,-30611744),e=o(e,f,c,d,a[g+6],15,-1560198380),d=o(d,e,f,c,a[g+13],21,1309151649),c=o(c,d,e,f,a[g+4],6,-145523070),f=o(f,c,d,e,a[g+11],10,-1120210379),e=o(e,f,c,d,a[g+2],15,718787259),d=o(d,e,f,c,a[g+9],21,-343485551),c=q(c,h),d=q(d,i),e=q(e,j),f=q(f,k)}return Array(c,d,e,f)}function k(a,b,c,d,e,f){return q(r(q(q(b,a),q(d,f)),e),c)}function l(a,b,c,d,e,f,g){return k(b&c|~b&d,a,b,e,f,g)}function m(a,b,c,d,e,f,g){return k(b&d|c&~d,a,b,e,f,g)}function n(a,b,c,d,e,f,g){return k(b^c^d,a,b,e,f,g)}function o(a,b,c,d,e,f,g){return k(c^(b|~d),a,b,e,f,g)}function p(a,b){var c=s(a);c.length>16&&(c=j(c,a.length*y));for(var d=Array(16),e=Array(16),f=0;16>f;f++)d[f]=909522486^c[f],e[f]=1549556828^c[f];var g=j(d.concat(s(b)),512+b.length*y);return j(e.concat(g),640)}function q(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function r(a,b){return a<<b|a>>>32-b}function s(a){for(var b=Array(),c=(1<<y)-1,d=0;d<a.length*y;d+=y)b[d>>5]|=(a.charCodeAt(d/y)&c)<<d%32;return b}function t(a){for(var b="",c=(1<<y)-1,d=0;d<32*a.length;d+=y)b+=String.fromCharCode(a[d>>5]>>>d%32&c);return b}function u(a){for(var b=w?"0123456789ABCDEF":"0123456789abcdef",c="",d=0;d<4*a.length;d++)c+=b.charAt(a[d>>2]>>d%4*8+4&15)+b.charAt(a[d>>2]>>d%4*8&15);return c}function v(a){for(var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c="",d=0;d<4*a.length;d+=3)for(var e=(a[d>>2]>>8*(d%4)&255)<<16|(a[d+1>>2]>>8*((d+1)%4)&255)<<8|a[d+2>>2]>>8*((d+2)%4)&255,f=0;4>f;f++)c+=8*d+6*f>32*a.length?x:b.charAt(e>>6*(3-f)&63);return c}var w=0,x="=",y=8;c.hex_md5=d,c.b64_md5=e,c.bin_md5=f,c.hex_hmac_md5=g,c.b64_hmac_md5=h,c.bin_hmac_md5=i},{}],119:[function(a,b){!function(){var a,c,d=this;if(a=function(a){for(var b,b,c=new Array(a),d=0;a>d;d++)0==(3&d)&&(b=4294967296*Math.random()),c[d]=b>>>((3&d)<<3)&255;return c},d.crypto&&crypto.getRandomValues){var e=new Uint32Array(4);c=function(a){var b=new Array(a);crypto.getRandomValues(e);for(var c=0;a>c;c++)b[c]=e[c>>2]>>>8*(3&c)&255;return b}}b.exports=c||a}()},{}],120:[function(a,b,c){function d(a){return r(j(p(a),a.length*v))}function e(a){return s(j(p(a),a.length*v))}function f(a){return q(j(p(a),a.length*v))}function g(a,b){return r(m(a,b))}function h(a,b){return s(m(a,b))}function i(a,b){return q(m(a,b))}function j(a,b){a[b>>5]|=128<<24-b%32,a[(b+64>>9<<4)+15]=b;for(var c=Array(80),d=1732584193,e=-271733879,f=-1732584194,g=271733878,h=-1009589776,i=0;i<a.length;i+=16){for(var j=d,m=e,p=f,q=g,r=h,s=0;80>s;s++){c[s]=16>s?a[i+s]:o(c[s-3]^c[s-8]^c[s-14]^c[s-16],1);var t=n(n(o(d,5),k(s,e,f,g)),n(n(h,c[s]),l(s)));h=g,g=f,f=o(e,30),e=d,d=t}d=n(d,j),e=n(e,m),f=n(f,p),g=n(g,q),h=n(h,r)}return Array(d,e,f,g,h)}function k(a,b,c,d){return 20>a?b&c|~b&d:40>a?b^c^d:60>a?b&c|b&d|c&d:b^c^d}function l(a){return 20>a?1518500249:40>a?1859775393:60>a?-1894007588:-899497514}function m(a,b){var c=p(a);c.length>16&&(c=j(c,a.length*v));for(var d=Array(16),e=Array(16),f=0;16>f;f++)d[f]=909522486^c[f],e[f]=1549556828^c[f];var g=j(d.concat(p(b)),512+b.length*v);return j(e.concat(g),672)}function n(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function o(a,b){return a<<b|a>>>32-b}function p(a){for(var b=Array(),c=(1<<v)-1,d=0;d<a.length*v;d+=v)b[d>>5]|=(a.charCodeAt(d/v)&c)<<32-v-d%32;return b}function q(a){for(var b="",c=(1<<v)-1,d=0;d<32*a.length;d+=v)b+=String.fromCharCode(a[d>>5]>>>32-v-d%32&c);return b}function r(a){for(var b=t?"0123456789ABCDEF":"0123456789abcdef",c="",d=0;d<4*a.length;d++)c+=b.charAt(a[d>>2]>>8*(3-d%4)+4&15)+b.charAt(a[d>>2]>>8*(3-d%4)&15);return c}function s(a){for(var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c="",d=0;d<4*a.length;d+=3)for(var e=(a[d>>2]>>8*(3-d%4)&255)<<16|(a[d+1>>2]>>8*(3-(d+1)%4)&255)<<8|a[d+2>>2]>>8*(3-(d+2)%4)&255,f=0;4>f;f++)c+=8*d+6*f>32*a.length?u:b.charAt(e>>6*(3-f)&63);return c}c.hex_sha1=d,c.b64_sha1=e,c.str_sha1=f,c.hex_hmac_sha1=g,c.b64_hmac_sha1=h,c.str_hmac_sha1=i;var t=0,u="=",v=8},{}],121:[function(a,b,c){function d(a){return x(v(w(a),a.length*l))}function e(a){return y(v(w(a),a.length*l))}function f(a){return j(v(w(a),a.length*l))}function g(a,b){return x(z(a,b))}function h(a,b){return y(z(a,b))}function i(a,b){return j(z(a,b))}function j(a){for(var b="",c=(1<<l)-1,d=0;d<32*a.length;d+=l)b+=String.fromCharCode(a[d>>5]>>>32-l-d%32&c);return b}c.hex_sha256=d,c.b64_sha256=e,c.str_sha256=f,c.hex_hmac_sha256=g,c.b64_hmac_sha256=h,c.str_hmac_sha256=i;var k=0,l=8,m=function(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c},n=function(a,b){return a>>>b|a<<32-b},o=function(a,b){return a>>>b},p=function(a,b,c){return a&b^~a&c},q=function(a,b,c){return a&b^a&c^b&c},r=function(a){return n(a,2)^n(a,13)^n(a,22)},s=function(a){return n(a,6)^n(a,11)^n(a,25)},t=function(a){return n(a,7)^n(a,18)^o(a,3)},u=function(a){return n(a,17)^n(a,19)^o(a,10)},v=function(a,b){var c,d,e,f,g,h,i,j,k,l,n,o,v=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),w=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),x=new Array(64);a[b>>5]|=128<<24-b%32,a[(b+64>>9<<4)+15]=b;for(var k=0;k<a.length;k+=16){c=w[0],d=w[1],e=w[2],f=w[3],g=w[4],h=w[5],i=w[6],j=w[7];for(var l=0;64>l;l++)x[l]=16>l?a[l+k]:m(m(m(u(x[l-2]),x[l-7]),t(x[l-15])),x[l-16]),n=m(m(m(m(j,s(g)),p(g,h,i)),v[l]),x[l]),o=m(r(c),q(c,d,e)),j=i,i=h,h=g,g=m(f,n),f=e,e=d,d=c,c=m(n,o);w[0]=m(c,w[0]),w[1]=m(d,w[1]),w[2]=m(e,w[2]),w[3]=m(f,w[3]),w[4]=m(g,w[4]),w[5]=m(h,w[5]),w[6]=m(i,w[6]),w[7]=m(j,w[7])}return w},w=function(a){for(var b=Array(),c=(1<<l)-1,d=0;d<a.length*l;d+=l)b[d>>5]|=(a.charCodeAt(d/l)&c)<<24-d%32;return b},x=function(a){for(var b=k?"0123456789ABCDEF":"0123456789abcdef",c="",d=0;d<4*a.length;d++)c+=b.charAt(a[d>>2]>>8*(3-d%4)+4&15)+b.charAt(a[d>>2]>>8*(3-d%4)&15);return c},y=function(a){var b,c,d,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f="",g=4*a.length,h="=";for(b=0;g>b;b+=3)for(d=(a[b>>2]>>8*(3-b%4)&255)<<16|(a[b+1>>2]>>8*(3-(b+1)%4)&255)<<8|a[b+2>>2]>>8*(3-(b+2)%4)&255,c=0;4>c;c+=1)f+=8*b+6*c<=32*a.length?e.charAt(d>>6*(3-c)&63):h;return f},z=function(a,b){var c=w(a);c.length>16&&(c=v(c,a.length*l));for(var d=Array(16),e=Array(16),f=0;16>f;f++)d[f]=909522486^c[f],e[f]=1549556828^c[f];var g=v(d.concat(w(b)),512+b.length*l);return v(e.concat(g),768)}},{}],122:[function(a,b){"use strict";var c=a("underscore"),d=a("bluebird"),e=d.promisify(a("request")),f=a("jxt"),g=a("./lib/xrd");b.exports=function(a,b){"string"==typeof a&&(a={host:a}),a=c.extend({ssl:!0,json:!0,xrd:!0},a);var h=a.ssl?"https://":"http://",i=new d(function(b,c){e(h+a.host+"/.well-known/host-meta.json").spread(function(a,c){b(JSON.parse(c))}).catch(c)}),j=new d(function(b,c){e(h+a.host+"/.well-known/host-meta").spread(function(a,c){var d=f.parse(g,c,"application/xml");b(d.toJSON())}).catch(c)});return new d(function(a,b){d.some([i,j],1).spread(a).catch(function(){b("no-host-meta")})}).nodeify(b)}},{"./lib/xrd":123,bluebird:73,jxt:147,request:124,underscore:167}],123:[function(a,b){"use strict";var c=a("underscore"),d=a("jxt"),e="http://docs.oasis-open.org/ns/xri/xrd-1.0",f={get:function(){var a={},b=d.find(this.xml,e,"Property");return c.each(b,function(b){var c=d.getAttribute(b,"type");a[c]=b.textContent}),a}},g=b.exports=d.define({name:"xrd",namespace:e,element:"XRD",fields:{subject:d.subText(e,"Subject"),expires:d.dateSub(e,"Expires"),aliases:d.multiSubText(e,"Alias"),properties:f}}),h=d.define({name:"xrdlink",namespace:e,element:"Link",fields:{rel:d.attribute("rel"),href:d.attribute("href"),type:d.attribute("type"),template:d.attribute("template"),titles:d.subLangText(e,"Title","default"),properties:f}});d.extend(g,h,"links")},{jxt:147,underscore:167}],124:[function(a,b){function c(a,b){if("function"!=typeof b)throw new Error("Bad callback given: "+b);if(!a)throw new Error("No options given");var g=a.onResponse;if(a="string"==typeof a?{uri:a}:JSON.parse(JSON.stringify(a)),a.onResponse=g,a.verbose&&(c.log=f()),a.url&&(a.uri=a.url,delete a.url),!a.uri&&""!==a.uri)throw new Error("options.uri is a required argument");if("string"!=typeof a.uri)throw new Error("options.uri must be a string");for(var h=["proxy","_redirectsFollowed","maxRedirects","followRedirect"],j=0;j<h.length;j++)if(a[h[j]])throw new Error("options."+h[j]+" is not supported");if(a.callback=b,a.method=a.method||"GET",a.headers=a.headers||{},a.body=a.body||null,a.timeout=a.timeout||c.DEFAULT_TIMEOUT,a.headers.host)throw new Error("Options.headers.host is not supported");return a.json&&(a.headers.accept=a.headers.accept||"application/json","GET"!==a.method&&(a.headers["content-type"]="application/json"),"boolean"!=typeof a.json?a.body=JSON.stringify(a.json):"string"!=typeof a.body&&(a.body=JSON.stringify(a.body))),a.onResponse=a.onResponse||e,a.onResponse===!0&&(a.onResponse=b,a.callback=e),!a.headers.authorization&&a.auth&&(a.headers.authorization="Basic "+i(a.auth.username+":"+a.auth.password)),d(a)}function d(a){function b(){k=!0;var b=new Error("ETIMEDOUT");return b.code="ETIMEDOUT",b.duration=a.timeout,c.log.error("Timeout",{id:i._id,milliseconds:a.timeout}),a.callback(b,i)}function d(){if(k)return c.log.debug("Ignoring timed out state change",{state:i.readyState,id:i.id});if(c.log.debug("State change",{state:i.readyState,id:i.id,timed_out:k}),i.readyState===j.OPENED){c.log.debug("Request started",{id:i.id});for(var b in a.headers)i.setRequestHeader(b,a.headers[b])}else i.readyState===j.HEADERS_RECEIVED?e():i.readyState===j.LOADING?(e(),f()):i.readyState===j.DONE&&(e(),f(),g())}function e(){if(!p.response){if(p.response=!0,c.log.debug("Got response",{id:i.id,status:i.status}),clearTimeout(i.timeoutTimer),i.statusCode=i.status,m&&0==i.statusCode){var b=new Error("CORS request rejected: "+a.uri);return b.cors="rejected",p.loading=!0,p.end=!0,a.callback(b,i)}a.onResponse(null,i)}}function f(){p.loading||(p.loading=!0,c.log.debug("Response body loading",{id:i.id}))}function g(){if(!p.end){if(p.end=!0,c.log.debug("Request done",{id:i.id}),i.body=i.responseText,a.json)try{i.body=JSON.parse(i.responseText)}catch(b){return a.callback(b,i)}a.callback(null,i,i.body)}}var i=new j,k=!1,m=h(a.uri),n="withCredentials"in i;if(l+=1,i.seq_id=l,i.id=l+": "+a.method+" "+a.uri,i._id=i.id,m&&!n){var o=new Error("Browser does not support cross-origin request: "+a.uri);return o.cors="unsupported",a.callback(o,i)}i.timeoutTimer=setTimeout(b,a.timeout);var p={response:!1,loading:!1,end:!1};return i.onreadystatechange=d,i.open(a.method,a.uri,!0),m&&(i.withCredentials=!!a.withCredentials),i.send(a.body),i}function e(){}function f(){var a,b,c={},d=["trace","debug","info","warn","error"];for(b=0;b<d.length;b++)a=d[b],c[a]=e,"undefined"!=typeof console&&console&&console[a]&&(c[a]=g(console,a));return c}function g(a,b){function c(c,d){return"object"==typeof d&&(c+=" "+JSON.stringify(d)),a[b].call(a,c)}return c}function h(a){var b,c=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/;try{b=location.href}catch(d){b=document.createElement("a"),b.href="",b=b.href}var e=c.exec(b.toLowerCase())||[],f=c.exec(a.toLowerCase()),g=!(!f||f[1]==e[1]&&f[2]==e[2]&&(f[3]||("http:"===f[1]?80:443))==(e[3]||("http:"===e[1]?80:443)));return g}function i(a){var b,c,d,e,f,g,h,i,j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k=0,l=0,m="",n=[];if(!a)return a;do b=a.charCodeAt(k++),c=a.charCodeAt(k++),d=a.charCodeAt(k++),i=b<<16|c<<8|d,e=i>>18&63,f=i>>12&63,g=i>>6&63,h=63&i,n[l++]=j.charAt(e)+j.charAt(f)+j.charAt(g)+j.charAt(h);while(k<a.length);switch(m=n.join(""),a.length%3){case 1:m=m.slice(0,-2)+"==";break;case 2:m=m.slice(0,-1)+"="}return m}var j=XMLHttpRequest;if(!j)throw new Error("missing XMLHttpRequest");b.exports=c,c.log={trace:e,debug:e,info:e,warn:e,error:e};var k=18e4,l=0;c.withCredentials=!1,c.DEFAULT_TIMEOUT=k,c.defaults=function(a){var b=function(b){var c=function(c,d){c="string"==typeof c?{uri:c}:JSON.parse(JSON.stringify(c));for(var e in a)void 0===c[e]&&(c[e]=a[e]);return b(c,d)};return c},d=b(c);return d.get=b(c.get),d.post=b(c.post),d.put=b(c.put),d.head=b(c.head),d};var m=["get","put","post","head"];m.forEach(function(a){var b=a.toUpperCase(),d=a.toLowerCase();c[d]=function(a){"string"==typeof a?a={method:b,uri:a}:(a=JSON.parse(JSON.stringify(a)),a.method=b);var d=[a].concat(Array.prototype.slice.apply(arguments,[1]));return c.apply(this,d)}}),c.couch=function(a,b){function d(a,c,d){if(a)return b(a,c,d);if((c.statusCode<200||c.statusCode>299)&&d.error){a=new Error("CouchDB error: "+(d.error.reason||d.error.error));for(var e in d)a[e]=d[e];return b(a,c,d)}return b(a,c,d)}"string"==typeof a&&(a={uri:a}),a.json=!0,a.body&&(a.json=a.body),delete a.body,b=b||e;var f=c(a,d);return f}},{}],125:[function(a,b){b.exports=a("./lib/sessionManager")},{"./lib/sessionManager":128}],126:[function(a,b){function c(a){var b=a.split("-");return"on"+b[0][0].toUpperCase()+b[0].substr(1)+b[1][0].toUpperCase()+b[1].substr(1)}function d(a){var b=this;this.sid=a.sid||Date.now().toString(),this.peer=a.peer,this.isInitiator=a.initiator||!1,this.state="starting",this.parent=a.parent,this.processingQueue=f.queue(function(a,c){var d=a.action,e=a.changes,f=a.cb;h(b.sid+": "+d),b[d](e,function(a){f(a),c()})})}var e=a("bows"),f=a("async"),g=a("wildemitter"),h=(a("jingle-rtcpeerconnection"),a("sdp-jingle-json"),e("JingleSession"));d.prototype=Object.create(g.prototype,{constructor:{value:d}}),d.prototype.process=function(a,b,d){var e=c(a);this.processingQueue.push({action:e,changes:b,cb:d})},d.prototype.send=function(a,b){b=b||{},b.sid=this.sid,b.action=a,this.parent.emit("send",{to:this.peer,type:"set",jingle:b})},Object.defineProperty(d.prototype,"state",{get:function(){return this._state},set:function(a){var b={starting:!0,pending:!0,active:!0,ended:!0};if(!b[a])throw new Error("Invalid Jingle Session State: "+a);this._state!==a&&(this._state=a,h(this.sid+": State changed to "+a))}}),Object.defineProperty(d.prototype,"starting",{get:function(){return"starting"==this._state}}),Object.defineProperty(d.prototype,"pending",{get:function(){return"pending"==this._state}}),Object.defineProperty(d.prototype,"active",{get:function(){return"active"==this._state}}),Object.defineProperty(d.prototype,"ended",{get:function(){return"ended"==this._state}}),d.prototype.start=function(){this.state="pending",h(this.sid+": Can not start generic session")},d.prototype.end=function(a,b){this.parent.peers[this.peer].splice(this.parent.peers[this.peer].indexOf(this),1),delete this.parent.sessions[this.sid],this.state="ended",a=a||{},b||this.send("session-terminate",{reason:a}),this.parent.emit("terminated",this,a)};var i=["content-accept","content-add","content-modify","conent-reject","content-remove","description-info","session-accept","session-info","session-initiate","session-terminate","transport-accept","transport-info","transport-reject","transport-replace"];i.forEach(function(a){var b=c(a);d.prototype[b]=function(b,c){h(this.sid+": Unsupported action "+a),c()}}),b.exports=d},{async:69,bows:129,"jingle-rtcpeerconnection":133,"sdp-jingle-json":142,wildemitter:168}],127:[function(a,b){function c(a){f.call(this,a);var b=this;this.pc=new g(this.parent.config.peerConnectionConfig,this.parent.config.peerConnectionConstraints),this.pc.on("ice",this.onIceCandidate.bind(this)),this.pc.on("addStream",this.onStreamAdded.bind(this)),this.pc.on("removeStream",this.onStreamRemoved.bind(this)),this.pendingAnswer=null,this.parent.localStream?(this.pc.addStream(this.parent.localStream),this.localStream=this.parent.localStream):this.parent.once("localStream",function(a){b.pc.addStream(a),this.localStream=a}),this.stream=null}var d=a("underscore"),e=a("bows"),f=a("./genericSession"),g=a("jingle-rtcpeerconnection"),h=e("JingleMedia");c.prototype=Object.create(f.prototype,{constructor:{value:c}}),c.prototype=d.extend(c.prototype,{start:function(){var a=this;this.state="pending",this.pc.isInitiator=!0,this.pc.offer(function(b,c){a.send("session-initiate",c.json)})},end:function(a){this.pc.close(),this.onStreamRemoved(),f.prototype.end.call(this,a)},accept:function(){h(this.sid+": Accepted incoming session"),this.state="active",this.send("session-accept",this.pendingAnswer)},ring:function(){h(this.sid+": Ringing on incoming session"),this.send("session-info",{ringing:!0})},mute:function(a,b){h(this.sid+": Muting"),this.send("session-info",{mute:{creator:a,name:b}})},unmute:function(a,b){h(this.sid+": Unmuting"),this.send("session-info",{unmute:{creator:a,name:b}})},hold:function(){h(this.sid+": Placing on hold"),this.send("session-info",{hold:!0})},resume:function(){h(this.sid+": Resuing from hold"),this.send("session-info",{active:!0})},onSessionInitiate:function(a,b){h(this.sid+": Initiating incoming session");var c=this;this.state="pending",this.pc.isInitiator=!1,this.pc.answer({type:"offer",json:a},function(a,d){return a?(h(c.sid+": Could not create WebRTC answer",a),b({condition:"general-error"})):(c.pendingAnswer=d.json,b(),void 0)})},onSessionAccept:function(a,b){var c=this;h(this.sid+": Activating accepted outbound session"),this.state="active",this.pc.handleAnswer({type:"answer",json:a},function(a){return a?(h(c.sid+": Could not process WebRTC answer",a),b({condition:"general-error"})):(c.parent.emit("accepted",c),b(),void 0)})},onSessionTerminate:function(a,b){h(this.sid+": Terminating session"),this.pc.close(),this.onStreamRemoved(),f.prototype.end.call(this,a.reason,!0),b()},onTransportInfo:function(a,b){var c=this;h(this.sid+": Adding ICE candidate"),this.pc.processIce(a,function(a){a&&h(c.sid+": Could not process ICE candidate",a),b()})},onSessionInfo:function(a,b){h(a),a.ringing&&(h(this.sid+": Ringing on remote stream"),this.parent.emit("ringing",this)),a.hold&&(h(this.sid+": On hold"),this.parent.emit("hold",this)),a.active&&(h(this.sid+": Resumed from hold"),this.parent.emit("resumed",this)),a.mute&&(h(this.sid+": Muted",a.mute),this.parent.emit("mute",this,a.mute)),a.unmute&&(h(this.sid+": Unmuted",a.unmute),this.parent.emit("unmute",this,a.unmute)),b()},onIceCandidate:function(a){h(this.sid+": Discovered new ICE candidate",a),this.send("transport-info",a)},onStreamAdded:function(a){this.stream?h(this.sid+": Received remote stream, but one already exists"):(h(this.sid+": Remote media stream added"),this.stream=a.stream,this.parent.emit("peerStreamAdded",this))},onStreamRemoved:function(){h(this.sid+": Remote media stream removed"),this.parent.emit("peerStreamRemoved",this)}}),b.exports=c},{"./genericSession":126,bows:129,"jingle-rtcpeerconnection":133,underscore:167}],128:[function(a,b){function c(a){a=a||{};var b=this.config={debug:!1,peerConnectionConfig:{iceServers:[{url:"stun:stun.l.google.com:19302"}]},peerConnectionConstraints:{optional:[{DtlsSrtpKeyAgreement:!0},{RtpDataChannels:!1}]},autoAdjustMic:!1,media:{audio:!0,video:!0}};this.MediaSession=l,this.jid=a.jid,this.sessions={},this.peers={},this.screenSharingSupport=g.screenSharing;for(var c in a)b[c]=a[c];this.capabilities=["urn:xmpp:jingle:1"],g.support?this.capabilities=["urn:xmpp:jingle:1","urn:xmpp:jingle:apps:rtp:1","urn:xmpp:jingle:apps:rtp:audio","urn:xmpp:jingle:apps:rtp:video","urn:xmpp:jingle:apps:rtp:rtcb-fb:0","urn:xmpp:jingle:apps:rtp:rtp-hdrext:0","urn:xmpp:jingle:apps:rtp:ssma:0","urn:xmpp:jingle:apps:dtls:0","urn:xmpp:jingle:apps:grouping:0","urn:xmpp:jingle:transports:ice-udp:1","urn:ietf:rfc:3264","urn:ietf:rfc:5576","urn:ietf:rfc:5888"]:m("WebRTC not supported"),i.call(this),this.config.debug&&this.on("*",function(a,b,c){m(a,b,c)})}var d=a("underscore"),e=a("bows"),f=a("hark"),g=a("webrtcsupport"),h=(a("mockconsole"),a("getusermedia")),i=(a("jingle-rtcpeerconnection"),a("wildemitter")),j=a("mediastream-gain"),k=a("./genericSession"),l=a("./mediaSession"),m=e("Jingle");c.prototype=Object.create(i.prototype,{constructor:{value:c}}),c.prototype.addICEServer=function(a){this.config.peerConnectionConfig.iceServers.push(a)},c.prototype.startLocalMedia=function(a,b){var c=this,d=a||{video:!0,audio:!0};h(d,function(a,e){a?m("Could not start local media"):(d.audio&&c.config.detectSpeakingEvents&&c.setupAudioMonitor(e),c.localStream=e,c.config.autoAdjustMic&&(c.gainController=new j(e),c.setMicIfEnabled(.5)),m("Local media stream started"),c.emit("localStream",e)),b&&b(a,e)})},c.prototype.stopLocalMedia=function(){this.localStream&&(this.localStream.stop(),this.emit("localStreamStopped"))},c.prototype.setupAudioMonitor=function(a){m("Setup audio");var b,c=f(a),d=this;c.on("speaking",function(){d.hardMuted||(d.setMicIfEnabled(1),d.emit("speaking"))}),c.on("stopped_speaking",function(){d.hardMuted||(b&&clearTimeout(b),b=setTimeout(function(){d.setMicIfEnabled(.5),d.emit("stoppedSpeaking")},1e3))})},c.prototype.setMicIfEnabled=function(a){this.config.autoAdjustMic&&this.gainController.setGain(a)},c.prototype.sendError=function(a,b,c){c.type="cancel",this.emit("send",{to:a,id:b,type:"error",error:c})},c.prototype.process=function(a){var b=this;if("error"===a.type)return this.emit("error",a);if("result"!==a.type){var c,e,f,g=a.jingle.sid,h=a.jingle.action,i=a.jingle.contents||[],j=d.map(i,function(a){return(a.description||{}).descType}),n=this.sessions[g]||null,o=a.from.full||a.from,p=a.id;if("session-initiate"!==h){if(!n)return m("Unknown session",g),this.sendError(o,p,{condition:"item-not-found",jingleCondition:"unknown-session"});if(n.peer!==o||n.ended)return m("Session has ended, or action has wrong sender"),this.sendError(o,p,{condition:"item-not-found",jingleCondition:"unknown-session"});if("session-accept"===h&&!n.pending)return m("Tried to accept session twice",g),this.sendError(o,p,{condition:"unexpected-request",jingleCondition:"out-of-order"});if("session-terminate"!==h&&n.pendingAction&&(m("Tie break during pending request"),n.isInitiator))return this.sendError(o,p,{condition:"conflict",jingleCondition:"tie-break"})}else{if(n)return n.peer!==o?(m("Duplicate sid from new sender"),this.sendError(o,p,{condition:"service-unavailable"})):n.pending&&this.jid>n.peer?(m("Tie break new session because of duplicate sids"),this.sendError(o,p,{condition:"conflict",jingleCondition:"tie-break"})):(m("Someone is doing this wrong"),this.sendError(o,p,{condition:"unexpected-request",jingleCondition:"out-of-order"}));if(Object.keys(this.peers[o]||{}).length){c=Object.keys(this.peers[o]);for(var q=0;q<c.length;q++)if(e=c[q],f=this.sessions[e],f&&f.pending&&d.intersection(j,f.contentTypes).length&&e>g)return m("Tie break"),this.sendError(o,p,{condition:"conflict",jingleCondition:"tie-break"})}}if("session-initiate"===h){var r={sid:g,peer:o,initiator:!1,parent:this};n=j.indexOf("rtp")>=0?new l(r):new k(r),this.sessions[g]=n,this.peers[o]||(this.peers[o]=[]),this.peers[o].push(n)}n.process(h,a.jingle,function(c){c?(m("Could not process request",a,c),b.sendError(o,p,c)):(b.emit("send",{to:o,id:p,type:"result",action:h}),"session-initiate"===h&&(m("Incoming session request from ",o,n),b.emit("incoming",n)))})}},c.prototype.createMediaSession=function(a,b){var c=new l({sid:b,peer:a,initiator:!0,parent:this});return b=c.sid,this.sessions[b]=c,this.peers[a]||(this.peers[a]=[]),this.peers[a].push(c),m("Outgoing session",c.sid,c),this.emit("outgoing",c),c},c.prototype.endPeerSessions=function(a){m("Ending all sessions with",a);var b=this.peers[a]||[];b.forEach(function(a){a.end()})},b.exports=c},{"./genericSession":126,"./mediaSession":127,bows:129,getusermedia:131,hark:132,"jingle-rtcpeerconnection":133,"mediastream-gain":139,mockconsole:141,underscore:167,webrtcsupport:146,wildemitter:168}],129:[function(a,b){(function(){var c,d,e,f="undefined"==typeof window,g=!f&&window.localStorage,h=g.debug,i=a("andlog"),j=.618033988749895,k=0,l=15,m=function(){};c=function(){return k+=j,k%=1,360*k};var e=h&&"/"===h[0]&&new RegExp(h.substring(1,h.length-1));d=function(a){var b;return b="%c"+a.slice(0,l),b+=Array(l+3-b.length).join(" ")+"|",e&&!a.match(e)?m:window.chrome?i.log.bind(i,b,"color: hsl("+c()+",99%,40%); font-weight: bold"):i.log.bind(i,b)},d.config=function(a){return a.padLength?l=a.padLength:void 0},"undefined"!=typeof b?b.exports=d:window.bows=d}).call()},{andlog:130}],130:[function(a,b,c){!function(){var a="undefined"==typeof window,d=!a&&window.localStorage,e={};if(a)return b.exports=console,void 0;if(d&&d.debug&&window.console)e=window.console;else for(var f="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),g=f.length,h=function(){};g--;)e[f[g]]=h;"undefined"!=typeof c?b.exports=e:window.console=e}()},{}],131:[function(a,b){var c=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;b.exports=function(a,b){var d,e=2===arguments.length,f={video:!0,audio:!0},g="PERMISSION_DENIED",h="CONSTRAINT_NOT_SATISFIED";return e||(b=a,a=f),c?(c.call(navigator,a,function(a){b(null,a)},function(a){var c;"string"==typeof a?(c=new Error("NavigatorUserMediaError"),c.name=a===g?g:h):(c=a,c.name||(a.name=c[g]?g:h)),b(c)}),void 0):(d=new Error("NavigatorUserMediaError"),d.name="NOT_SUPPORTED_ERROR",b(d))}},{}],132:[function(a,b){function c(a,b){var c=-1/0;a.getFloatFrequencyData(b);for(var d=0,e=b.length;e>d;d++)b[d]>c&&b[d]<0&&(c=b[d]);return c}var d=a("wildemitter");b.exports=function(a,b){var e=new d;if(!window.webkitAudioContext)return e;var f,g,h,b=b||{},i=b.smoothing||.5,j=b.interval||100,k=b.threshold,l=b.play,m=new webkitAudioContext;h=m.createAnalyser(),h.fftSize=512,h.smoothingTimeConstant=i,g=new Float32Array(h.fftSize),a.jquery&&(a=a[0]),a instanceof HTMLAudioElement?(f=m.createMediaElementSource(a),"undefined"==typeof l&&(l=!0),k=k||-65):(f=m.createMediaStreamSource(a),k=k||-45),f.connect(h),l&&h.connect(m.destination),e.speaking=!1,e.setThreshold=function(a){k=a},e.setInterval=function(a){j=a};var n=function(){setTimeout(function(){var a=c(h,g);e.emit("volume_change",a,k),a>k?e.speaking||(e.speaking=!0,e.emit("speaking")):e.speaking&&(e.speaking=!1,e.emit("stopped_speaking")),n()},j)};return n(),e}},{wildemitter:168}],133:[function(a,b){function c(a,b){this.sid="",this.sdpSessId=Date.now(),this.isInitiator=!0,this.localDescription={contents:[]},this.remoteDescription={contents:[]},this.iceConfigs={},f.call(this,a,b)}var d=a("underscore"),e=a("webrtcsupport"),f=a("rtcpeerconnection"),g=a("sdp-jingle-json");c.prototype=Object.create(f.prototype,{constructor:{value:c}}),c.prototype.offer=function(a,b){var c=this,e=2===arguments.length,f=e?a:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},h=e?b:a;this.pc.createOffer(function(a){a.sdp=c._applySdpHack(a.sdp),c.pc.setLocalDescription(a);var b=g.toSessionJSON(a.sdp,c.isInitiator?"initiator":"responder");b.sid=this.sid,c.localDescription=b,d.each(b.contents,function(a){(a.transport||{}).ufrag&&(c.iceConfigs[a.name]={ufrag:(a.transport||{}).ufrag,pwd:(a.transport||{}).pwd})});var e={type:"offer",sdp:a.sdp,json:b};c.emit("offer",e),h&&h(null,e)},function(a){c.emit("error",a),h&&h(a)},f)},f.prototype.handleAnswer=function(a,b){b=b||function(){};var c=this;a.sdp=g.toSessionSDP(a.json,this.sdpSessId),c.remoteDescription=a.json,this.pc.setRemoteDescription(new e.SessionDescription(a),function(){b(null)},function(a){b(a)})},c.prototype._answer=function(a,b,c){c=c||function(){};var d=this;a.sdp=g.toSessionSDP(a.json,d.sdpSessId),d.remoteDescription=a.json,this.pc.setRemoteDescription(new e.SessionDescription(a),function(){d.pc.createAnswer(function(a){a.sdp=d._applySdpHack(a.sdp),d.pc.setLocalDescription(a);var b=g.toSessionJSON(a.sdp);b.sid=d.sid,d.localDescription=b;var e={type:"answer",sdp:a.sdp,json:b};d.emit("answer",e),c&&c(null,e)},function(a){d.emit("error",a),c&&c(a)},b)},function(a){c(a)})},c.prototype.processIce=function(a,b){b=b||function(){};var c=this,f=d.map(this.remoteDescription.contents,function(a){return a.name}),h=a.contents||[];h.forEach(function(a){var b=a.transport||{},d=b.candidates||[],h=f.indexOf(a.name),i=a.name;d.forEach(function(a){var b=g.toCandidateSDP(a)+"\r\n",d={candidate:b,sdpMLineIndex:h,sdpMid:i};
c.pc.addIceCandidate(new e.IceCandidate(d))})}),b()},c.prototype._onIce=function(a){var b=this;if(a.candidate){var c=a.candidate;if(!b.iceConfigs[c.sdpMid]){var e=g.toSessionJSON(b.pc.localDescription.sdp,b.isInitiator?"initiator":"responder");d.each(e.contents,function(a){(a.transport||{}).ufrag&&(b.iceConfigs[a.name]={ufrag:(a.transport||{}).ufrag,pwd:(a.transport||{}).pwd})})}this.emit("ice",{contents:[{name:c.sdpMid,creator:b.isInitiator?"initiator":"responder",transport:{transType:"iceUdp",ufrag:b.iceConfigs[c.sdpMid].ufrag,pwd:b.iceConfigs[c.sdpMid].pwd,candidates:[g.toCandidateJSON(c.candidate)]}}]})}else this.emit("endOfCandidates")},b.exports=c},{rtcpeerconnection:134,"sdp-jingle-json":135,underscore:167,webrtcsupport:146}],134:[function(a,b){function c(a,b){var c;this.pc=new e.PeerConnection(a,b),d.call(this),this.pc.onremovestream=this.emit.bind(this,"removeStream"),this.pc.onnegotiationneeded=this.emit.bind(this,"negotiationNeeded"),this.pc.oniceconnectionstatechange=this.emit.bind(this,"iceConnectionStateChange"),this.pc.onsignalingstatechange=this.emit.bind(this,"signalingStateChange"),this.pc.onaddstream=this._onAddStream.bind(this),this.pc.onicecandidate=this._onIce.bind(this),this.pc.ondatachannel=this._onDataChannel.bind(this),this.config={debug:!1,sdpHack:!0};for(c in a)this.config[c]=a[c];this.config.debug&&this.on("*",function(){var b=a.logger||console;b.log("PeerConnection event:",arguments)})}var d=a("wildemitter"),e=a("webrtcsupport");c.prototype=Object.create(d.prototype,{constructor:{value:c}}),c.prototype.addStream=function(a){this.localStream=a,this.pc.addStream(a)},c.prototype.processIce=function(a){this.pc.addIceCandidate(new e.IceCandidate(a))},c.prototype.offer=function(a,b){var c=this,d=2===arguments.length,e=d?a:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},f=d?b:a;this.pc.createOffer(function(a){a.sdp=c._applySdpHack(a.sdp),c.pc.setLocalDescription(a),c.emit("offer",a),f&&f(null,a)},function(a){c.emit("error",a),f&&f(a)},e)},c.prototype.answerAudioOnly=function(a,b){var c={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!1}};this._answer(a,c,b)},c.prototype.answerBroadcastOnly=function(a,b){var c={mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}};this._answer(a,c,b)},c.prototype.answer=function(a,b,c){var d=3===arguments.length,e=d?c:b,f=d?b:{mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}};this._answer(a,f,e)},c.prototype.handleAnswer=function(a){this.pc.setRemoteDescription(new e.SessionDescription(a))},c.prototype.close=function(){this.pc.close(),this.emit("close")},c.prototype._answer=function(a,b,c){var d=this;this.pc.setRemoteDescription(new e.SessionDescription(a)),this.pc.createAnswer(function(a){a.sdp=d._applySdpHack(a.sdp),d.pc.setLocalDescription(a),d.emit("answer",a),c&&c(null,a)},function(a){d.emit("error",a),c&&c(a)},b)},c.prototype._onIce=function(a){a.candidate?this.emit("ice",a.candidate):this.emit("endOfCandidates")},c.prototype._onDataChannel=function(a){this.emit("addChannel",a.channel)},c.prototype._onAddStream=function(a){this.remoteStream=a.stream,this.emit("addStream",a)},c.prototype._applySdpHack=function(a){if(!this.config.sdpHack)return a;var b=a.split("b=AS:30");return 2===b.length?b[0]+"b=AS:102400"+b[1]:a},c.prototype.createDataChannel=function(a,b){b||(b={});var c,d,f=!!b.reliable,g=b.protocol||"text/plain",h=!(!b.negotiated&&!b.preset);return"moz"===e.prefix?(c=f?{protocol:g,preset:h,stream:a}:{},d=this.pc.createDataChannel(a,c),d.binaryType="blob"):(c=f?{reliable:!0}:{reliable:!1},d=this.pc.createDataChannel(a,c)),d},b.exports=c},{webrtcsupport:146,wildemitter:168}],135:[function(a,b,c){var d=a("./lib/tosdp"),e=a("./lib/tojson");c.toSessionSDP=d.toSessionSDP,c.toMediaSDP=d.toMediaSDP,c.toCandidateSDP=d.toCandidateSDP,c.toSessionJSON=e.toSessionJSON,c.toMediaJSON=e.toMediaJSON,c.toCandidateJSON=e.toCandidateJSON},{"./lib/tojson":137,"./lib/tosdp":138}],136:[function(a,b,c){c.lines=function(a){return a.split("\r\n").filter(function(a){return a.length>0})},c.findLine=function(a,b,c){for(var d=a.length,e=0;e<b.length;e++)if(b[e].substr(0,d)===a)return b[e];if(!c)return!1;for(var f=0;f<c.length;f++)if(c[f].substr(0,d)===a)return c[f];return!1},c.findLines=function(a,b,c){for(var d=[],e=a.length,f=0;f<b.length;f++)b[f].substr(0,e)===a&&d.push(b[f]);if(d.length||!c)return d;for(var g=0;g<c.length;g++)c[g].substr(0,e)===a&&d.push(c[g]);return d},c.mline=function(a){for(var b=a.substr(2).split(" "),c={media:b[0],port:b[1],proto:b[2],formats:[]},d=3;d<b.length;d++)b[d]&&c.formats.push(b[d]);return c},c.rtpmap=function(a){var b=a.substr(9).split(" "),c={id:b.shift()};return b=b[0].split("/"),c.name=b[0],c.clockrate=b[1],c.channels=3==b.length?b[2]:"1",c},c.fmtp=function(a){for(var b,c,d,e=a.substr(a.indexOf(" ")+1).split(";"),f=[],g=0;g<e.length;g++)b=e[g].split("="),c=b[0].trim(),d=b[1],c&&d?f.push({key:c,value:d}):c&&f.push({key:"",value:c});return f},c.crypto=function(a){var b=a.substr(9).split(" "),c={tag:b[0],cipherSuite:b[1],keyParams:b[2],sessionParams:b.slice(3).join(" ")};return c},c.fingerprint=function(a){var b=a.substr(14).split(" ");return{hash:b[0],value:b[1]}},c.extmap=function(a){var b=a.substr(9).split(" "),c={},d=b.shift(),e=d.indexOf("/");return e>=0?(c.id=d.substr(0,e),c.senders=d.substr(e)):(c.id=d,c.senders="sendrecv"),c.uri=b.shift(),c},c.rtcpfb=function(a){var b=a.substr(10).split(" "),c={};return c.id=b.shift(),c.type=b.shift(),"trr-int"===c.type?c.value=b.shift():c.subtype=b.shift(),c.parameters=b,c},c.candidate=function(a){for(var b=a.substring(12).split(" "),c={foundation:b[0],component:b[1],protocol:b[2].toLowerCase(),priority:b[3],ip:b[4],port:b[5],type:b[7]},d=8;d<b.length;d+=2)"raddr"===b[d]?c.relAddr=b[d+1]:"rport"===b[d]?c.relPort=b[d+1]:"generation"===b[d]&&(c.generation=b[d+1]);return c.network="1",c},c.ssrc=function(a){for(var b,c,d=[],e={},f=0;f<a.length;f++){b=a[f].substr(7).split(" "),c=b.shift(),b=b.join(" ").split(":");var g=b.shift(),h=b.join(":")||null;e[c]||(e[c]={}),e[c][g]=h}for(c in e){var i=e[c];i.ssrc=c,d.push(i)}return d},c.grouping=function(a){for(var b,c=[],d=0;d<a.length;d++)b=a[d].substr(8).split(" "),c.push({semantics:b.shift(),contents:b});return c}},{}],137:[function(a,b,c){var d=a("./parsers"),e=Math.random();c.toSessionJSON=function(a,b){for(var e=a.split("\r\nm="),f=1;f<e.length;f++)e[f]="m="+e[f],f!==e.length-1&&(e[f]+="\r\n");var g=e.shift()+"\r\n",h=d.lines(g),i={},j=[];e.forEach(function(a){j.push(c.toMediaJSON(a,g,b))}),i.contents=j;var k=d.findLines("a=group:",h);return k.length&&(i.groupings=d.grouping(k)),i},c.toMediaJSON=function(a,b,e){var f=d.lines(a),g=d.lines(b),h=d.mline(f[0]),i={creator:e,name:h.media,description:{descType:"rtp",media:h.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transType:"iceUdp",candidates:[],fingerprints:[]}},j=i.description,k=i.transport,l=d.findLine("a=ssrc:",f);l&&(j.ssrc=l.substr(7).split(" ")[0]);var m=d.findLine("a=mid:",f);m&&(i.name=m.substr(6)),d.findLine("a=sendrecv",f,g)?i.senders="both":d.findLine("a=sendonly",f,g)?i.senders="initiator":d.findLine("a=recvonly",f,g)?i.senders="responder":d.findLine("a=inactive",f,g)&&(i.senders="none");var n=d.findLines("a=rtpmap:",f);n.forEach(function(a){var b=d.rtpmap(a);b.feedback=[];var c=d.findLines("a=fmtp:"+b.id,f);c.forEach(function(a){b.parameters=d.fmtp(a)});var e=d.findLines("a=rtcp-fb:"+b.id,f);e.forEach(function(a){b.feedback.push(d.rtcpfb(a))}),j.payloads.push(b)});var o=d.findLines("a=crypto:",f,g);o.forEach(function(a){j.encryption.push(d.crypto(a))}),d.findLine("a=rtcp-mux",f)&&(j.mux=!0);var p=d.findLines("a=rtcp-fb:*",f);p.forEach(function(a){j.feedback.push(d.rtcpfb(a))});var q=d.findLines("a=extmap:",f);q.forEach(function(a){var b=d.extmap(a),c={sendonly:"responder",recvonly:"initiator",sendrecv:"both",inactive:"none"};b.senders=c[b.senders],j.headerExtensions.push(b)});var r=d.findLines("a=ssrc:",f);r.length&&(j.ssrcs=d.ssrc(r));var s=d.findLines("a=fingerprint:",f,g);s.forEach(function(a){k.fingerprints.push(d.fingerprint(a))});var t=d.findLine("a=ice-ufrag:",f,g),u=d.findLine("a=ice-pwd:",f,g);if(t&&u){k.ufrag=t.substr(12),k.pwd=u.substr(10),k.candidates=[];var v=d.findLines("a=candidate:",f,g);v.forEach(function(a){k.candidates.push(c.toCandidateJSON(a))})}return i},c.toCandidateJSON=function(a){var b=d.candidate(a.split("\r\n")[0]);return b.id=(e++).toString(36).substr(0,12),b}},{"./parsers":136}],138:[function(a,b,c){var d={initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",sendonly:"initator",recvonly:"responder",sendrecv:"both",inactive:"none"};c.toSessionSDP=function(a,b){var d=["v=0","o=- "+(b||a.sid||Date.now())+" "+Date.now()+" IN IP4 0.0.0.0","s=-","t=0 0"],e=a.groupings||[];e.forEach(function(a){d.push("a=group:"+a.semantics+" "+a.contents.join(" "))});var f=a.contents||[];return f.forEach(function(a){d.push(c.toMediaSDP(a))}),d.join("\r\n")+"\r\n"},c.toMediaSDP=function(a){var b=[],e=a.description,f=a.transport,g=e.payloads||[],h=f&&f.fingerprints||[],i=[e.media,"1"];e.encryption&&e.encryption.length>0||h.length>0?i.push("RTP/SAVPF"):i.push("RTP/AVPF"),g.forEach(function(a){i.push(a.id)}),b.push("m="+i.join(" ")),b.push("c=IN IP4 0.0.0.0"),b.push("a=rtcp:1 IN IP4 0.0.0.0"),f&&(f.ufrag&&b.push("a=ice-ufrag:"+f.ufrag),f.pwd&&b.push("a=ice-pwd:"+f.pwd),h.forEach(function(a){b.push("a=fingerprint:"+a.hash+" "+a.value)})),b.push("a="+(d[a.senders]||"sendrecv")),b.push("a=mid:"+a.name),e.mux&&b.push("a=rtcp-mux");var j=e.encryption||[];j.forEach(function(a){b.push("a=crypto:"+a.tag+" "+a.cipherSuite+" "+a.keyParams+(a.sessionParams?" "+a.sessionParams:""))}),g.forEach(function(a){var c="a=rtpmap:"+a.id+" "+a.name+"/"+a.clockrate;if(a.channels&&"1"!=a.channels&&(c+="/"+a.channels),b.push(c),a.parameters&&a.parameters.length){var d=["a=fmtp:"+a.id];a.parameters.forEach(function(a){d.push((a.key?a.key+"=":"")+a.value)}),b.push(d.join(" "))}a.feedback&&a.feedback.forEach(function(c){"trr-int"===c.type?b.push("a=rtcp-fb:"+a.id+" trr-int "+c.value?c.value:"0"):b.push("a=rtcp-fb:"+a.id+" "+c.type+(c.subtype?" "+c.subtype:""))})}),e.feedback&&e.feedback.forEach(function(a){"trr-int"===a.type?b.push(a.value):b.push("a=rtcp-fb:* "+a.type+(a.subtype?" "+a.subtype:""))});var k=e.headerExtensions||[];k.forEach(function(a){b.push("a=extmap:"+a.id+(a.senders?"/"+d[a.senders]:"")+" "+a.uri)});var l=e.ssrcs||[];l.forEach(function(a){for(var c in a)"ssrc"!=c&&b.push("a=ssrc:"+(a.ssrc||e.ssrc)+" "+c+(a[c]?":"+a[c]:""))});var m=f.candidates||[];return m.forEach(function(a){b.push(c.toCandidateSDP(a))}),b.join("\r\n")},c.toCandidateSDP=function(a){var b=[];b.push(a.foundation),b.push(a.component),b.push(a.protocol),b.push(a.priority),b.push(a.ip),b.push(a.port);var c=a.type;return b.push("typ"),b.push(c),("srflx"===c||"prflx"===c||"relay"===c)&&a.relAddr&&a.relPort&&(b.push("raddr"),b.push(a.relAddr),b.push("rport"),b.push(a.relPort)),b.push("generation"),b.push(a.generation||"0"),"a=candidate:"+b.join(" ")}},{}],139:[function(a,b){function c(a){if(this.support=d.webAudio&&d.mediaStream,this.gain=1,this.support){var b=this.context=new d.AudioContext;this.microphone=b.createMediaStreamSource(a),this.gainFilter=b.createGain(),this.destination=b.createMediaStreamDestination(),this.outputStream=this.destination.stream,this.microphone.connect(this.gainFilter),this.gainFilter.connect(this.destination),a.removeTrack(a.getAudioTracks()[0]),a.addTrack(this.outputStream.getAudioTracks()[0])}this.stream=a}var d=a("webrtcsupport");c.prototype.setGain=function(a){this.support&&(this.gainFilter.gain.value=a,this.gain=a)},c.prototype.getGain=function(){return this.gain},c.prototype.off=function(){return this.setGain(0)},c.prototype.on=function(){this.setGain(1)},b.exports=c},{webrtcsupport:140}],140:[function(a,b){var c=window.mozRTCPeerConnection||window.webkitRTCPeerConnection||window.RTCPeerConnection,d=window.mozRTCIceCandidate||window.RTCIceCandidate,e=window.mozRTCSessionDescription||window.RTCSessionDescription,f=function(){return window.mozRTCPeerConnection?"moz":window.webkitRTCPeerConnection?"webkit":void 0}(),g=window.webkitMediaStream||window.MediaStream,h=navigator.userAgent.match("Chrome")&&parseInt(navigator.userAgent.match(/Chrome\/(.*) /)[1],10)>=26,i=window.webkitAudioContext||window.AudioContext;b.exports={support:!!c,dataChannel:!!(c&&c.prototype&&c.prototype.createDataChannel),prefix:f,webAudio:!(!i||!i.prototype.createMediaStreamSource),mediaStream:!(!g||!g.prototype.removeTrack),screenSharing:h,AudioContext:i,PeerConnection:c,SessionDescription:e,IceCandidate:d}},{}],141:[function(a,b){for(var c="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),d=c.length,e=function(){},f={};d--;)f[c[d]]=e;b.exports=f},{}],142:[function(a,b,c){arguments[4][135][0].apply(c,arguments)},{"./lib/tojson":144,"./lib/tosdp":145}],143:[function(a,b,c){c.lines=function(a){return a.split("\r\n").filter(function(a){return a.length>0})},c.findLine=function(a,b,c){for(var d=a.length,e=0;e<b.length;e++)if(b[e].substr(0,d)===a)return b[e];if(!c)return!1;for(var f=0;f<c.length;f++)if(c[f].substr(0,d)===a)return c[f];return!1},c.findLines=function(a,b,c){for(var d=[],e=a.length,f=0;f<b.length;f++)b[f].substr(0,e)===a&&d.push(b[f]);if(d.length||!c)return d;for(var g=0;g<c.length;g++)c[g].substr(0,e)===a&&d.push(c[g]);return d},c.mline=function(a){for(var b=a.substr(2).split(" "),c={media:b[0],port:b[1],proto:b[2],formats:[]},d=3;d<b.length;d++)b[d]&&c.formats.push(b[d]);return c},c.rtpmap=function(a){var b=a.substr(9).split(" "),c={id:b.shift()};return b=b[0].split("/"),c.name=b[0],c.clockrate=b[1],c.channels=3==b.length?b[2]:"1",c},c.fmtp=function(a){for(var b,c,d,e=a.substr(a.indexOf(" ")+1).split(";"),f=[],g=0;g<e.length;g++)b=e[g].split("="),c=b[0].trim(),d=b[1],c&&d?f.push({key:c,value:d}):c&&f.push({key:"",value:c});return f},c.crypto=function(a){var b=a.substr(9).split(" "),c={tag:b[0],cipherSuite:b[1],keyParams:b[2],sessionParams:b.slice(3).join(" ")};return c},c.fingerprint=function(a){var b=a.substr(14).split(" ");return{hash:b[0],value:b[1]}},c.extmap=function(a){var b=a.substr(9).split(" "),c={},d=b.shift(),e=d.indexOf("/");return e>=0?(c.id=d.substr(0,e),c.senders=d.substr(e+1)):(c.id=d,c.senders="sendrecv"),c.uri=b.shift()||"",c},c.rtcpfb=function(a){var b=a.substr(10).split(" "),c={};return c.id=b.shift(),c.type=b.shift(),"trr-int"===c.type?c.value=b.shift():c.subtype=b.shift()||"",c.parameters=b,c},c.candidate=function(a){for(var b=a.substring(12).split(" "),c={foundation:b[0],component:b[1],protocol:b[2].toLowerCase(),priority:b[3],ip:b[4],port:b[5],type:b[7],generation:"0"},d=8;d<b.length;d+=2)"raddr"===b[d]?c.relAddr=b[d+1]:"rport"===b[d]?c.relPort=b[d+1]:"generation"===b[d]&&(c.generation=b[d+1]);return c.network="1",c},c.sourceGroups=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c].substr(13).split(" ");b.push({semantics:d.shift(),sources:d})}return b},c.sources=function(a){for(var b=[],c={},d=0;d<a.length;d++){var e=a[d].substr(7).split(" "),f=e.shift();if(!c[f]){var g={ssrc:f,parameters:[]};b.push(g),c[f]=g}e=e.join(" ").split(":");var h=e.shift(),i=e.join(":")||null;c[f].parameters.push({key:h,value:i})}return b},c.groups=function(a){for(var b,c=[],d=0;d<a.length;d++)b=a[d].substr(8).split(" "),c.push({semantics:b.shift(),contents:b});return c}},{}],144:[function(a,b,c){var d=a("./parsers"),e=Math.random();c._setIdCounter=function(a){e=a},c.toSessionJSON=function(a,b){for(var e=a.split("\r\nm="),f=1;f<e.length;f++)e[f]="m="+e[f],f!==e.length-1&&(e[f]+="\r\n");var g=e.shift()+"\r\n",h=d.lines(g),i={},j=[];e.forEach(function(a){j.push(c.toMediaJSON(a,g,b))}),i.contents=j;var k=d.findLines("a=group:",h);return k.length&&(i.groups=d.groups(k)),i},c.toMediaJSON=function(a,b,e){var f=d.lines(a),g=d.lines(b),h=d.mline(f[0]),i={creator:e,name:h.media,description:{descType:"rtp",media:h.media,payloads:[],encryption:[],feedback:[],headerExtensions:[]},transport:{transType:"iceUdp",candidates:[],fingerprints:[]}},j=i.description,k=i.transport,l=d.findLine("a=ssrc:",f);l&&(j.ssrc=l.substr(7).split(" ")[0]);var m=d.findLine("a=mid:",f);m&&(i.name=m.substr(6)),d.findLine("a=sendrecv",f,g)?i.senders="both":d.findLine("a=sendonly",f,g)?i.senders="initiator":d.findLine("a=recvonly",f,g)?i.senders="responder":d.findLine("a=inactive",f,g)&&(i.senders="none");var n=d.findLines("a=rtpmap:",f);n.forEach(function(a){var b=d.rtpmap(a);b.feedback=[];var c=d.findLines("a=fmtp:"+b.id,f);c.forEach(function(a){b.parameters=d.fmtp(a)});var e=d.findLines("a=rtcp-fb:"+b.id,f);e.forEach(function(a){b.feedback.push(d.rtcpfb(a))}),j.payloads.push(b)});var o=d.findLines("a=crypto:",f,g);o.forEach(function(a){j.encryption.push(d.crypto(a))}),d.findLine("a=rtcp-mux",f)&&(j.mux=!0);var p=d.findLines("a=rtcp-fb:*",f);p.forEach(function(a){j.feedback.push(d.rtcpfb(a))});var q=d.findLines("a=extmap:",f);q.forEach(function(a){var b=d.extmap(a),c={sendonly:"responder",recvonly:"initiator",sendrecv:"both",inactive:"none"};b.senders=c[b.senders],j.headerExtensions.push(b)});var r=d.findLines("a=ssrc-group:",f);j.sourceGroups=d.sourceGroups(r||[]);var s=d.findLines("a=ssrc:",f);j.sources=d.sources(s||[]);var t=d.findLines("a=fingerprint:",f,g);t.forEach(function(a){var b=d.fingerprint(a),c=d.findLine("a=setup:",f,g);c&&(b.setup=c.substr(8)),k.fingerprints.push(b)});var u=d.findLine("a=ice-ufrag:",f,g),v=d.findLine("a=ice-pwd:",f,g);if(u&&v){k.ufrag=u.substr(12),k.pwd=v.substr(10),k.candidates=[];var w=d.findLines("a=candidate:",f,g);w.forEach(function(a){k.candidates.push(c.toCandidateJSON(a))})}return i},c.toCandidateJSON=function(a){var b=d.candidate(a.split("\r\n")[0]);return b.id=(e++).toString(36).substr(0,12),b}},{"./parsers":143}],145:[function(a,b,c){var d={initiator:"sendonly",responder:"recvonly",both:"sendrecv",none:"inactive",sendonly:"initator",recvonly:"responder",sendrecv:"both",inactive:"none"};c.toSessionSDP=function(a,b,d){var e=["v=0","o=- "+(b||a.sid||Date.now())+" "+(d||Date.now())+" IN IP4 0.0.0.0","s=-","t=0 0"],f=a.groups||[];f.forEach(function(a){e.push("a=group:"+a.semantics+" "+a.contents.join(" "))});var g=a.contents||[];return g.forEach(function(a){e.push(c.toMediaSDP(a))}),e.join("\r\n")+"\r\n"},c.toMediaSDP=function(a){var b=[],e=a.description,f=a.transport,g=e.payloads||[],h=f&&f.fingerprints||[],i=[e.media,"1"];e.encryption&&e.encryption.length>0||h.length>0?i.push("RTP/SAVPF"):i.push("RTP/AVPF"),g.forEach(function(a){i.push(a.id)}),b.push("m="+i.join(" ")),b.push("c=IN IP4 0.0.0.0"),b.push("a=rtcp:1 IN IP4 0.0.0.0"),f&&(f.ufrag&&b.push("a=ice-ufrag:"+f.ufrag),f.pwd&&b.push("a=ice-pwd:"+f.pwd),f.setup&&b.push("a=setup:"+f.setup),h.forEach(function(a){b.push("a=fingerprint:"+a.hash+" "+a.value)})),b.push("a="+(d[a.senders]||"sendrecv")),b.push("a=mid:"+a.name),e.mux&&b.push("a=rtcp-mux");var j=e.encryption||[];j.forEach(function(a){b.push("a=crypto:"+a.tag+" "+a.cipherSuite+" "+a.keyParams+(a.sessionParams?" "+a.sessionParams:""))}),g.forEach(function(a){var c="a=rtpmap:"+a.id+" "+a.name+"/"+a.clockrate;if(a.channels&&"1"!=a.channels&&(c+="/"+a.channels),b.push(c),a.parameters&&a.parameters.length){var d=["a=fmtp:"+a.id];a.parameters.forEach(function(a){d.push((a.key?a.key+"=":"")+a.value)}),b.push(d.join(" "))}a.feedback&&a.feedback.forEach(function(c){"trr-int"===c.type?b.push("a=rtcp-fb:"+a.id+" trr-int "+c.value?c.value:"0"):b.push("a=rtcp-fb:"+a.id+" "+c.type+(c.subtype?" "+c.subtype:""))})}),e.feedback&&e.feedback.forEach(function(a){"trr-int"===a.type?b.push(a.value):b.push("a=rtcp-fb:* "+a.type+(a.subtype?" "+a.subtype:""))});var k=e.headerExtensions||[];k.forEach(function(a){b.push("a=extmap:"+a.id+(a.senders?"/"+d[a.senders]:"")+" "+a.uri)});var l=e.sourceGroups||[];l.forEach(function(a){b.push("a=ssrc-group:"+a.semantics+" "+a.sources.join(" "))});var m=e.sources||[];m.forEach(function(a){for(var c=0;c<a.parameters.length;c++){var d=a.parameters[c];b.push("a=ssrc:"+(a.ssrc||e.ssrc)+" "+d.key+(d.value?":"+d.value:""))}});var n=f.candidates||[];return n.forEach(function(a){b.push(c.toCandidateSDP(a))}),b.join("\r\n")},c.toCandidateSDP=function(a){var b=[];b.push(a.foundation),b.push(a.component),b.push(a.protocol),b.push(a.priority),b.push(a.ip),b.push(a.port);var c=a.type;return b.push("typ"),b.push(c),("srflx"===c||"prflx"===c||"relay"===c)&&a.relAddr&&a.relPort&&(b.push("raddr"),b.push(a.relAddr),b.push("rport"),b.push(a.relPort)),b.push("generation"),b.push(a.generation||"0"),"a=candidate:"+b.join(" ")}},{}],146:[function(a,b){var c,d=!1,e=!1,f=navigator.userAgent.toLowerCase();-1!==f.indexOf("firefox")?(c="moz",e=!0):-1!==f.indexOf("chrome")&&(c="webkit",d=!0);var g=window.mozRTCPeerConnection||window.webkitRTCPeerConnection,h=window.mozRTCIceCandidate||window.RTCIceCandidate,i=window.mozRTCSessionDescription||window.RTCSessionDescription,j=window.webkitMediaStream||window.MediaStream,k=navigator.userAgent.match("Chrome")&&parseInt(navigator.userAgent.match(/Chrome\/(.*) /)[1],10)>=26,l=window.webkitAudioContext||window.AudioContext;b.exports={support:!!g,dataChannel:d||e||g&&g.prototype&&g.prototype.createDataChannel,prefix:c,webAudio:!(!l||!l.prototype.createMediaStreamSource),mediaStream:!(!j||!j.prototype.removeTrack),screenSharing:!!k,AudioContext:l,PeerConnection:g,SessionDescription:i,IceCandidate:h}},{}],147:[function(a,b){"use strict";var c=a("underscore"),d=a("./lib/core"),e=a("./lib/helpers"),f=a("./lib/types");b.exports=c.extend({},d,e,f)},{"./lib/core":148,"./lib/helpers":149,"./lib/types":150,underscore:167}],148:[function(a,b,c){"use strict";function d(a){var b=a.prototype._NS+"|"+a.prototype._EL;k[b]=a,m[b]=a}function e(a){return h.serializeToString(a)}function f(a){var b,c={},d={constructor:!0,_EL:!0,_NS:!0,_extensions:!0,_name:!0,parent:!0,prototype:!0,toJSON:!0,toString:!0,xml:!0};for(b in a._extensions)a._extensions[b].toJSON&&"_"!==b[0]&&(c[b]=a._extensions[b].toJSON());for(b in a)if(!d[b]&&!(l[a._NS+"|"+a._EL]||{})[b]&&!a._extensions[b]&&"_"!==b[0]){var e=a[b];if("function"==typeof e)continue;var f=Object.prototype.toString.call(e);f.indexOf("Object")>=0?Object.keys(e).length>0&&(c[b]=e):f.indexOf("Array")>=0?e.length>0&&(c[b]=e):e&&(c[b]=e)}return c}var g=a("underscore"),h=(new(a("xmlshim").DOMParser),new(a("xmlshim").XMLSerializer)),i=a("./helpers"),j=a("./types"),k=(i.find,{}),l={},m={};c.build=function(a){var b=m[a.namespaceURI+"|"+a.localName];return b?new b(null,a):void 0},c.extend=function(a,b,d){var e=a.prototype._NS+"|"+a.prototype._EL,f=b.prototype._name,g=b.prototype._NS+"|"+b.prototype._EL;k[g]=b,l[g]||(l[g]={}),l[e]||(l[e]={}),l[e][f]=b,c.add(a,f,j.extension(b)),d&&c.add(a,d,j.multiExtension(b))},c.add=function(a,b,c){c.enumerable=!0,Object.defineProperty(a.prototype,b,c)},c.define=function(a){var b=function(b,c,d){var e=this,f=(c||{}).parentNode||(d||{}).xml,h=(f||{}).namespaceURI;return e.xml=c||i.createElement(e._NS,e._EL,h),e._extensions={},g.each(e.xml.childNodes,function(a){var b=a.namespaceURI+"|"+a.localName,c=k[b];if(void 0!==c){var d=c.prototype._name;e._extensions[d]=new c(null,a),e._extensions[d].parent=e}}),g.extend(e,b),a.init&&a.init(b),e};b.prototype={constructor:{value:b},_name:a.name,_eventname:a.eventName,_NS:a.namespace,_EL:a.element,toString:function(){return e(this.xml)},toJSON:function(){return f(this)}};var h=Object.keys(a.fields||{});return h.forEach(function(d){c.add(b,d,a.fields[d])}),a.topLevel&&d(b),b}},{"./helpers":149,"./types":150,underscore:167,xmlshim:153}],149:[function(a,b,c){"use strict";var d=a("underscore"),e=a("xmlshim"),f=c.XML_NS="http://www.w3.org/XML/1998/namespace",g=new e.XMLSerializer,h=new e.DOMParser,i=e.implementation.createDocument("","",null);c.parse=function(a,b){for(var c=h.parseFromString(b,"application/xml").childNodes,d=0;d<c.length;d++)if(1===c[d].nodeType){if("parsererror"===c[d].nodeName)throw new Error("Could not parse: "+b);if(c[d].childElementCount>0&&"parsererror"===c[d].childNodes[0].nodeName)throw new Error("Could not parse: "+b);return new a({},c[d])}throw new Error("Could not parse: "+b)},c.getParser=function(){return h},c.getSerializer=function(){return g},c.createElement=function(a,b,d){var e=i.createElementNS(a,b);return d&&d===a||c.setAttribute(e,"xmlns",a),e};var j=c.find=function(a,b,c){var e=a.getElementsByTagName(c);return d.filter(e,function(c){return c.namespaceURI===b&&c.parentNode==a})};c.findOrCreate=function(a,b,d){var e=c.find(a,b,d);if(e.length)return e[0];var f=c.createElement(b,d,a.namespaceURI);return a.appendChild(f),f},c.getAttribute=function(a,b,c){return a.getAttribute(b)||c||""},c.setAttribute=function(a,b,c,d){c||d?a.setAttribute(b,c):a.removeAttribute(b)},c.getBoolAttribute=function(a,b,c){var d=a.getAttribute(b)||c||"";return"true"===d||"1"===d},c.setBoolAttribute=function(a,b,c){c?a.setAttribute(b,"1"):a.removeAttribute(b)},c.getSubAttribute=function(a,b,c,d,e){var f=j(a,b,c);if(!f)return"";for(var g=0;g<f.length;g++)return f[g].getAttribute(d)||e||"";return""},c.setSubAttribute=function(a,b,d,e,f){var g=j(a,b,d);if(g.length)for(var h=0;h<g.length;h++){if(f)return g[h].setAttribute(e,f),void 0;g[h].removeAttribute(e)}else f&&(d=c.createElement(b,d,a.namespaceURI),d.setAttribute(e,f),a.appendChild(d))},c.getBoolSubAttribute=function(a,b,c,d,e){var f=a.getSubAttribute(b,c,d)||e||"";return"true"===f||"1"===f},c.setBoolSubAttribute=function(a,b,d,e,f){f=f?"1":"",c.setSubAttribute(a,b,d,e,f)},c.getText=function(a){return a.textContent},c.setText=function(a,b){a.textContent=b},c.getSubText=function(a,b,c,d){var e=j(a,b,c);return d=d||"",e.length?e[0].textContent||d:d},c.setSubText=function(a,b,d,e){var f=j(a,b,d);if(f.length)for(var g=0;g<f.length;g++){if(e)return f[g].textContent=e,void 0;a.removeChild(f[g])}else if(e){var h=c.createElement(b,d,a.namespaceURI);h.textContent=e,a.appendChild(h)}},c.getMultiSubText=function(a,b,c,d){var e=j(a,b,c),f=[];d=d||function(a){return a.textContent||""};for(var g=0;g<e.length;g++)f.push(d(e[g]));return f},c.setMultiSubText=function(a,b,e,f,g){var h=j(a,b,e),i=[];g=g||function(d){var f=c.createElement(b,e,a.namespaceURI);f.textContent=d,a.appendChild(f)},i="string"==typeof f?(f||"").split("\n"):f,d.forEach(h,function(b){a.removeChild(b)}),d.forEach(i,function(a){a&&g(a)})},c.getSubLangText=function(a,b,c,d){var e=j(a,b,c);if(!e.length)return{};for(var g,h,i={},k=[],l=0;l<e.length;l++)h=e[l],g=h.getAttributeNS(f,"lang")||d,k.push(g),i[g]=h.textContent||"";return i},c.setSubLangText=function(a,b,d,e,g){var h,i,k=j(a,b,d);if(k.length)for(var l=0;l<k.length;l++)a.removeChild(k[l]);if("string"==typeof e)h=c.createElement(b,d,a.namespaceURI),h.textContent=e,a.appendChild(h);else if("object"==typeof e)for(i in e)e.hasOwnProperty(i)&&(h=c.createElement(b,d,a.namespaceURI),i!==g&&h.setAttributeNS(f,"lang",i),h.textContent=e[i],a.appendChild(h))},c.getBoolSub=function(a,b,c){var d=j(a,b,c);return!!d.length},c.setBoolSub=function(a,b,d,e){var f=j(a,b,d);if(f.length)for(var g=0;g<f.length;g++){if(e)return;a.removeChild(f[g])}else if(e){var h=c.createElement(b,d,a.namespaceURI);a.appendChild(h)}}},{underscore:167,xmlshim:153}],150:[function(a,b,c){"use strict";var d=a("underscore"),e=a("atob"),f=a("btoa"),g=a("./helpers"),h=g.find,i=c.field=function(a,b){return function(){var c=d.toArray(arguments);return{get:function(){return a.apply(null,[this.xml].concat(c))},set:function(a){b.apply(null,[this.xml].concat(c).concat([a]))}}}};c.field=i,c.boolAttribute=i(g.getBoolAttribute,g.setBoolAttribute),c.subAttribute=i(g.getSubAttribute,g.setSubAttribute),c.boolSubAttribute=i(g.getSubBoolAttribute,g.setSubBoolAttribute),c.text=i(g.getText,g.setText),c.subText=i(g.getSubText,g.setSubText),c.multiSubText=i(g.getMultiSubText,g.setMultiSubText),c.subLangText=i(g.getSubLangText,g.setSubLangText),c.boolSub=i(g.getBoolSub,g.setBoolSub),c.langAttribute=i(function(a){return a.getAttributeNS(g.XML_NS,"lang")||""},function(a,b){a.setAttributeNS(g.XML_NS,"lang",b)}),c.b64Text=i(function(a){return a.textContent&&"="!=a.textContent?e(a.textContent):""},function(a,b){a.textContent=f(b)||"="}),c.dateAttribute=function(a,b){return{get:function(){var c=g.getAttribute(this.xml,a);return c?new Date(c):b?new Date(Date.now()):void 0},set:function(b){b&&("string"!=typeof b&&(b=b.toISOString()),g.setAttribute(this.xml,a,b))}}},c.dateSub=function(a,b,c){return{get:function(){var d=g.getSubText(this.xml,a,b);return d?new Date(d):c?new Date(Date.now()):void 0},set:function(c){c&&("string"!=typeof c&&(c=c.toISOString()),g.setSubText(this.xml,a,b,c))}}},c.dateSubAttribute=function(a,b,c,d){return{get:function(){var e=g.getSubAttribute(this.xml,a,b,c);return e?new Date(e):d?new Date(Date.now()):void 0},set:function(d){d&&("string"!=typeof d&&(d=d.toISOString()),g.setSubAttribute(this.xml,a,b,c,d))}}},c.numberAttribute=function(a,b){return{get:function(){var c=b?parseFloat:parseInt;return c(g.getAttribute(this.xml,a,"0"),10)},set:function(b){g.setAttribute(this.xml,a,b.toString())}}},c.numberSub=function(a,b,c){return{get:function(){var d=c?parseFloat:parseInt;return d(g.getSubText(this.xml,a,b,"0"),10)},set:function(c){g.setSubText(this.xml,a,b,c.toString())}}},c.attribute=function(a,b){return{get:function(){return g.getAttribute(this.xml,a,b)},set:function(b){g.setAttribute(this.xml,a,b)}}},c.extension=function(a){return{get:function(){var b=this,c=a.prototype._name;if(!this._extensions[c]){var d=h(this.xml,a.prototype._NS,a.prototype._EL);d.length?this._extensions[c]=new a(null,d[0],b):(this._extensions[c]=new a({},null,b),this.xml.appendChild(this._extensions[c].xml)),this._extensions[c].parent=this}return this._extensions[c]},set:function(b){var c=this[a.prototype._name];d.extend(c,b)}}},c.multiExtension=function(a){return{get:function(){var b=this,c=h(this.xml,a.prototype._NS,a.prototype._EL),e=[];return d.forEach(c,function(c){e.push(new a({},c,b).toJSON())}),e},set:function(b){var c=this,e=h(this.xml,a.prototype._NS,a.prototype._EL);d.forEach(e,function(a){c.xml.removeChild(a)}),d.forEach(b,function(b){var d=new a(b,null,c);c.xml.appendChild(d.xml)})}}}},{"./helpers":149,atob:151,btoa:152,underscore:167}],151:[function(a,b){var c=a("__browserify_Buffer").Buffer;!function(){"use strict";function a(a){return new c(a,"base64").toString("binary")}b.exports=a}()},{__browserify_Buffer:115}],152:[function(a,b){var c=a("__browserify_Buffer").Buffer;!function(){"use strict";function a(a){var b;return b=a instanceof c?a:new c(a.toString(),"binary"),b.toString("base64")}b.exports=a}()},{__browserify_Buffer:115}],153:[function(a,b,c){c.XMLSerializer=XMLSerializer,c.DOMParser=DOMParser,c.implementation=document.implementation},{}],154:[function(b,c){var d=b("__browserify_Buffer").Buffer;!function(){function e(a,b,c){var d=b&&c||0,e=0;for(b=b||[],a.toLowerCase().replace(/[0-9a-f]{2}/g,function(a){16>e&&(b[d+e++]=q[a])});16>e;)b[d+e++]=0;return b}function f(a,b){var c=b||0,d=p;return d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]}function g(a,b,c){var d=b&&c||0,e=b||[];a=a||{};var g=null!=a.clockseq?a.clockseq:u,h=null!=a.msecs?a.msecs:(new Date).getTime(),i=null!=a.nsecs?a.nsecs:w+1,j=h-v+(i-w)/1e4;if(0>j&&null==a.clockseq&&(g=g+1&16383),(0>j||h>v)&&null==a.nsecs&&(i=0),i>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=h,w=i,u=g,h+=122192928e5;var k=(1e4*(268435455&h)+i)%4294967296;e[d++]=k>>>24&255,e[d++]=k>>>16&255,e[d++]=k>>>8&255,e[d++]=255&k;var l=h/4294967296*1e4&268435455;e[d++]=l>>>8&255,e[d++]=255&l,e[d++]=l>>>24&15|16,e[d++]=l>>>16&255,e[d++]=g>>>8|128,e[d++]=255&g;for(var m=a.node||t,n=0;6>n;n++)e[d+n]=m[n];return b?b:f(e)}function h(a,b,c){var d=b&&c||0;"string"==typeof a&&(b="binary"==a?new o(16):null,a=null),a=a||{};var e=a.random||(a.rng||i)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,b)for(var g=0;16>g;g++)b[d+g]=e[g];
return b||f(e)}var i,j=this;if("function"==typeof b)try{var k=b("crypto").randomBytes;i=k&&function(){return k(16)}}catch(l){}if(!i&&j.crypto&&crypto.getRandomValues){var m=new Uint8Array(16);i=function(){return crypto.getRandomValues(m),m}}if(!i){var n=new Array(16);i=function(){for(var a,b=0;16>b;b++)0===(3&b)&&(a=4294967296*Math.random()),n[b]=a>>>((3&b)<<3)&255;return n}}for(var o="function"==typeof d?d:Array,p=[],q={},r=0;256>r;r++)p[r]=(r+256).toString(16).substr(1),q[p[r]]=r;var s=i(),t=[1|s[0],s[1],s[2],s[3],s[4],s[5]],u=16383&(s[6]<<8|s[7]),v=0,w=0,x=h;if(x.v1=g,x.v4=h,x.parse=e,x.unparse=f,x.BufferClass=o,j.define&&a.amd)a(function(){return x});else if("undefined"!=typeof c&&c.exports)c.exports=x;else{var y=j.uuid;x.noConflict=function(){return j.uuid=y,x},j.uuid=x}}()},{__browserify_Buffer:115,crypto:117}],155:[function(b,c,d){!function(b,e){"object"==typeof d?e(d,c):"function"==typeof a&&a.amd&&a(["exports","module"],e)}(this,function(a,b){function c(){}c.prototype.name="ANONYMOUS",c.prototype.clientFirst=!0,c.prototype.response=function(a){return a.trace||""},c.prototype.challenge=function(){},a=b.exports=c})},{}],156:[function(b,c,d){!function(e,f){"object"==typeof d?f(d,c,b("./lib/mechanism")):"function"==typeof a&&a.amd&&a(["exports","module","./lib/mechanism"],f)}(this,function(a,b,c){a=b.exports=c,a.Mechanism=c})},{"./lib/mechanism":155}],157:[function(b,c,d){!function(e,f){"object"==typeof d?f(d,c,b("crypto")):"function"==typeof a&&a.amd&&a(["exports","module","crypto"],f)}(this,function(a,b,c){function d(a){a=a||{},this._genNonce=a.genNonce||f(32)}function e(a){for(var b={},c=a.split(/,(?=(?:[^"]|"[^"]*")*$)/),d=0,e=c.length;e>d;d++){var f=/(\w+)=["]?([^"]+)["]?$/.exec(c[d]);f&&(b[f[1]]=f[2])}return b}function f(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",c=b.length;return function(){for(var d=[],e=0;a>e;++e)d.push(b[Math.random()*c|0]);return d.join("")}}function g(a,b){return c.createHash("md5").update(a).digest(b||"hex")}d.prototype.name="DIGEST-MD5",d.prototype.clientFirst=!1,d.prototype.response=function(a){var b=a.serviceType+"/"+a.host;a.serviceName&&a.host!==a.serviceName&&(b+="/"+serviceName);var c,d,e,f=a.realm||this._realm||"",h=this._genNonce(),i="00000001",j="auth",k="";return k+='username="'+a.username+'"',f&&(k+=',realm="'+f+'"'),k+=',nonce="'+this._nonce+'"',k+=',cnonce="'+h+'"',k+=",nc="+i,k+=",qop="+j,k+=',digest-uri="'+b+'"',c=a.authzid?g(g(a.username+":"+f+":"+a.password,"binary")+":"+this._nonce+":"+h+":"+a.authzid):g(g(a.username+":"+f+":"+a.password,"binary")+":"+this._nonce+":"+h),"auth"==j?d=g("AUTHENTICATE:"+b):("auth-int"==j||"auth-conf"==j)&&(d=g("AUTHENTICATE:"+b+":00000000000000000000000000000000")),e=g(c+":"+this._nonce+":"+i+":"+h+":"+j+":"+d),k+=",response="+e,"utf-8"==this._charset&&(k+=",charset=utf-8"),a.authzid&&(k+='authzid="'+a.authzid+'"'),k},d.prototype.challenge=function(a){var b=e(a);return this._realm=b.realm,this._nonce=b.nonce,this._qop=(b.qop||"auth").split(","),this._stale=b.stale,this._maxbuf=parseInt(b.maxbuf)||65536,this._charset=b.charset,this._algo=b.algorithm,this._cipher=b.cipher,this._cipher&&this._cipher.split(","),this},a=b.exports=d})},{crypto:117}],158:[function(a,b,c){arguments[4][156][0].apply(c,arguments)},{"./lib/mechanism":157}],159:[function(b,c,d){!function(b,e){"object"==typeof d?e(d,c):"function"==typeof a&&a.amd&&a(["exports","module"],e)}(this,function(a,b){function c(){}c.prototype.name="EXTERNAL",c.prototype.clientFirst=!0,c.prototype.response=function(a){return a.authzid||""},c.prototype.challenge=function(){},a=b.exports=c})},{}],160:[function(a,b,c){arguments[4][156][0].apply(c,arguments)},{"./lib/mechanism":159}],161:[function(b,c,d){!function(b,e){"object"==typeof d?e(d,c):"function"==typeof a&&a.amd&&a(["exports","module"],e)}(this,function(a,b){function c(){}c.prototype.name="PLAIN",c.prototype.clientFirst=!0,c.prototype.response=function(a){var b="";return b+=a.authzid||"",b+="\x00",b+=a.username,b+="\x00",b+=a.password},c.prototype.challenge=function(){return this},a=b.exports=c})},{}],162:[function(a,b,c){arguments[4][156][0].apply(c,arguments)},{"./lib/mechanism":161}],163:[function(b,c,d){!function(e,f){"object"==typeof d?f(d,c,b("crypto"),b("buffer")):"function"==typeof a&&a.amd&&a(["exports","module","crypto","buffer"],f)}(this,function(a,b,c,d){function e(a){a=a||{},this._genNonce=a.genNonce||l(32),this._stage=0}function f(a,b){return c.createHmac("sha1",a).update(b).digest("binary")}function g(a,b,c){for(var d=f(a,b+"\x00\x00\x00"),e=d,g=0;c-1>g;g++)d=f(a,d),e=i(e,d);return e}function h(a){return c.createHash("sha1").update(a).digest("binary")}function i(a,b){a=new m(a,"binary"),b=new m(b,"binary");var c=Math.min(a.length,b.length);result=[];for(var d=0;c>d;d++)result.push(a[d]^b[d]);return result=new m(result,"binary"),result.toString("binary")}function j(a){for(var b=[],c="",d=0;d<a.length;d++)c=a[d],","===c?b.push("=2C"):"="===c?b.push("=3D"):b.push(c);return b.join("")}function k(a){for(var b={},c=a.split(/,(?=(?:[^"]|"[^"]*")*$)/),d=0,e=c.length;e>d;d++){var f=/(\w+)=["]?([^"]+)["]?$/.exec(c[d]);f&&(b[f[1]]=f[2])}return b}function l(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",c=b.length;return function(){for(var d=[],e=0;a>e;++e)d.push(b[Math.random()*c|0]);return d.join("")}}var m=d.Buffer;e.prototype.name="SCRAM-SHA-1",e.prototype.clientFirst=!0,e.prototype.response=function(a){return n[this._stage](this,a)},e.prototype.challenge=function(a){var b=k(a);return this._salt=new m(b.s||"","base64").toString("binary"),this._iterationCount=parseInt(b.i,10),this._nonce=b.r,this._verifier=b.v,this._error=b.e,this._challenge=a,this};var n={};n[0]=function(a,b){a._cnonce=a._genNonce();var c="";b.authzid&&(c="a="+j(b.authzid)),a._gs2Header="n,"+c+",";var d="r="+a._cnonce,e="n="+j(b.username);a._clientFirstMessageBare=e+","+d;var f=a._gs2Header+a._clientFirstMessageBare;return a._stage=1,f},n[1]=function(a,b){var c=new m(a._gs2Header).toString("base64");a._clientFinalMessageWithoutProof="c="+c+",r="+a._nonce;var d,e,j;b.clientKey&&b.serverKey?(e=b.clientKey,j=b.serverKey):(d=b.saltedPassword||g(b.password,a._salt,a._iterationCount),e=f(d,"Client Key"),j=f(d,"Server Key"));var k=h(e),l=a._clientFirstMessageBare+","+a._challenge+","+a._clientFinalMessageWithoutProof,n=f(k,l),o=i(e,n),p=new m(o,"binary").toString("base64");a._serverSignature=f(j,l);var q=a._clientFinalMessageWithoutProof+",p="+p;return a._stage=2,a.cache={saltedPassword:d,clientKey:e,serverKey:j},q},n[2]=function(){return""},a=b.exports=e})},{buffer:113,crypto:117}],164:[function(a,b,c){arguments[4][156][0].apply(c,arguments)},{"./lib/mechanism":163}],165:[function(b,c,d){!function(b,e){"object"==typeof d?e(d,c):"function"==typeof a&&a.amd&&a(["exports","module"],e)}(this,function(a,b){function c(){this._mechs=[]}c.prototype.use=function(a,b){return b||(b=a,a=b.prototype.name),this._mechs.push({name:a,mech:b}),this},c.prototype.create=function(a){for(var b=0,c=this._mechs.length;c>b;b++)for(var d=0,e=a.length;e>d;d++){var f=this._mechs[b];if(f.name==a[d])return new f.mech}return null},a=b.exports=c})},{}],166:[function(b,c,d){!function(e,f){"object"==typeof d?f(d,c,b("./lib/factory")):"function"==typeof a&&a.amd&&a(["exports","module","./lib/factory"],f)}(this,function(a,b,c){a=b.exports=c,a.Factory=c})},{"./lib/factory":165}],167:[function(a,b,c){(function(){var a=this,d=a._,e={},f=Array.prototype,g=Object.prototype,h=Function.prototype,i=f.push,j=f.slice,k=f.concat,l=g.toString,m=g.hasOwnProperty,n=f.forEach,o=f.map,p=f.reduce,q=f.reduceRight,r=f.filter,s=f.every,t=f.some,u=f.indexOf,v=f.lastIndexOf,w=Array.isArray,x=Object.keys,y=h.bind,z=function(a){return a instanceof z?a:this instanceof z?(this._wrapped=a,void 0):new z(a)};"undefined"!=typeof c?("undefined"!=typeof b&&b.exports&&(c=b.exports=z),c._=z):a._=z,z.VERSION="1.5.2";var A=z.each=z.forEach=function(a,b,c){if(null!=a)if(n&&a.forEach===n)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,f=a.length;f>d;d++)if(b.call(c,a[d],d,a)===e)return}else for(var g=z.keys(a),d=0,f=g.length;f>d;d++)if(b.call(c,a[g[d]],g[d],a)===e)return};z.map=z.collect=function(a,b,c){var d=[];return null==a?d:o&&a.map===o?a.map(b,c):(A(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)};var B="Reduce of empty array with no initial value";z.reduce=z.foldl=z.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),p&&a.reduce===p)return d&&(b=z.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(A(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(B);return c},z.reduceRight=z.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),q&&a.reduceRight===q)return d&&(b=z.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=z.keys(a);f=g.length}if(A(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(B);return c},z.find=z.detect=function(a,b,c){var d;return C(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},z.filter=z.select=function(a,b,c){var d=[];return null==a?d:r&&a.filter===r?a.filter(b,c):(A(a,function(a,e,f){b.call(c,a,e,f)&&d.push(a)}),d)},z.reject=function(a,b,c){return z.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},z.every=z.all=function(a,b,c){b||(b=z.identity);var d=!0;return null==a?d:s&&a.every===s?a.every(b,c):(A(a,function(a,f,g){return(d=d&&b.call(c,a,f,g))?void 0:e}),!!d)};var C=z.some=z.any=function(a,b,c){b||(b=z.identity);var d=!1;return null==a?d:t&&a.some===t?a.some(b,c):(A(a,function(a,f,g){return d||(d=b.call(c,a,f,g))?e:void 0}),!!d)};z.contains=z.include=function(a,b){return null==a?!1:u&&a.indexOf===u?-1!=a.indexOf(b):C(a,function(a){return a===b})},z.invoke=function(a,b){var c=j.call(arguments,2),d=z.isFunction(b);return z.map(a,function(a){return(d?b:a[b]).apply(a,c)})},z.pluck=function(a,b){return z.map(a,function(a){return a[b]})},z.where=function(a,b,c){return z.isEmpty(b)?c?void 0:[]:z[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},z.findWhere=function(a,b){return z.where(a,b,!0)},z.max=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&z.isEmpty(a))return-1/0;var d={computed:-1/0,value:-1/0};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>d.computed&&(d={value:a,computed:g})}),d.value},z.min=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&z.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g<d.computed&&(d={value:a,computed:g})}),d.value},z.shuffle=function(a){var b,c=0,d=[];return A(a,function(a){b=z.random(c++),d[c-1]=d[b],d[b]=a}),d},z.sample=function(a,b,c){return arguments.length<2||c?a[z.random(a.length-1)]:z.shuffle(a).slice(0,Math.max(0,b))};var D=function(a){return z.isFunction(a)?a:function(b){return b[a]}};z.sortBy=function(a,b,c){var d=D(b);return z.pluck(z.map(a,function(a,b,e){return{value:a,index:b,criteria:d.call(c,a,b,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};var E=function(a){return function(b,c,d){var e={},f=null==c?z.identity:D(c);return A(b,function(c,g){var h=f.call(d,c,g,b);a(e,h,c)}),e}};z.groupBy=E(function(a,b,c){(z.has(a,b)?a[b]:a[b]=[]).push(c)}),z.indexBy=E(function(a,b,c){a[b]=c}),z.countBy=E(function(a,b){z.has(a,b)?a[b]++:a[b]=1}),z.sortedIndex=function(a,b,c,d){c=null==c?z.identity:D(c);for(var e=c.call(d,b),f=0,g=a.length;g>f;){var h=f+g>>>1;c.call(d,a[h])<e?f=h+1:g=h}return f},z.toArray=function(a){return a?z.isArray(a)?j.call(a):a.length===+a.length?z.map(a,z.identity):z.values(a):[]},z.size=function(a){return null==a?0:a.length===+a.length?a.length:z.keys(a).length},z.first=z.head=z.take=function(a,b,c){return null==a?void 0:null==b||c?a[0]:j.call(a,0,b)},z.initial=function(a,b,c){return j.call(a,0,a.length-(null==b||c?1:b))},z.last=function(a,b,c){return null==a?void 0:null==b||c?a[a.length-1]:j.call(a,Math.max(a.length-b,0))},z.rest=z.tail=z.drop=function(a,b,c){return j.call(a,null==b||c?1:b)},z.compact=function(a){return z.filter(a,z.identity)};var F=function(a,b,c){return b&&z.every(a,z.isArray)?k.apply(c,a):(A(a,function(a){z.isArray(a)||z.isArguments(a)?b?i.apply(c,a):F(a,b,c):c.push(a)}),c)};z.flatten=function(a,b){return F(a,b,[])},z.without=function(a){return z.difference(a,j.call(arguments,1))},z.uniq=z.unique=function(a,b,c,d){z.isFunction(b)&&(d=c,c=b,b=!1);var e=c?z.map(a,c,d):a,f=[],g=[];return A(e,function(c,d){(b?d&&g[g.length-1]===c:z.contains(g,c))||(g.push(c),f.push(a[d]))}),f},z.union=function(){return z.uniq(z.flatten(arguments,!0))},z.intersection=function(a){var b=j.call(arguments,1);return z.filter(z.uniq(a),function(a){return z.every(b,function(b){return z.indexOf(b,a)>=0})})},z.difference=function(a){var b=k.apply(f,j.call(arguments,1));return z.filter(a,function(a){return!z.contains(b,a)})},z.zip=function(){for(var a=z.max(z.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;a>c;c++)b[c]=z.pluck(arguments,""+c);return b},z.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},z.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=z.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(u&&a.indexOf===u)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},z.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(v&&a.lastIndexOf===v)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},z.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f};var G=function(){};z.bind=function(a,b){var c,d;if(y&&a.bind===y)return y.apply(a,j.call(arguments,1));if(!z.isFunction(a))throw new TypeError;return c=j.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(j.call(arguments)));G.prototype=a.prototype;var e=new G;G.prototype=null;var f=a.apply(e,c.concat(j.call(arguments)));return Object(f)===f?f:e}},z.partial=function(a){var b=j.call(arguments,1);return function(){return a.apply(this,b.concat(j.call(arguments)))}},z.bindAll=function(a){var b=j.call(arguments,1);if(0===b.length)throw new Error("bindAll must be passed function names");return A(b,function(b){a[b]=z.bind(a[b],a)}),a},z.memoize=function(a,b){var c={};return b||(b=z.identity),function(){var d=b.apply(this,arguments);return z.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},z.delay=function(a,b){var c=j.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},z.defer=function(a){return z.delay.apply(z,[a,1].concat(j.call(arguments,1)))},z.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},z.debounce=function(a,b,c){var d,e,f,g,h;return function(){f=this,e=arguments,g=new Date;var i=function(){var j=new Date-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e)))},j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e)),h}},z.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},z.wrap=function(a,b){return function(){var c=[a];return i.apply(c,arguments),b.apply(this,c)}},z.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},z.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},z.keys=x||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)z.has(a,c)&&b.push(c);return b},z.values=function(a){for(var b=z.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=a[b[e]];return d},z.pairs=function(a){for(var b=z.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=[b[e],a[b[e]]];return d},z.invert=function(a){for(var b={},c=z.keys(a),d=0,e=c.length;e>d;d++)b[a[c[d]]]=c[d];return b},z.functions=z.methods=function(a){var b=[];for(var c in a)z.isFunction(a[c])&&b.push(c);return b.sort()},z.extend=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},z.pick=function(a){var b={},c=k.apply(f,j.call(arguments,1));return A(c,function(c){c in a&&(b[c]=a[c])}),b},z.omit=function(a){var b={},c=k.apply(f,j.call(arguments,1));for(var d in a)z.contains(c,d)||(b[d]=a[d]);return b},z.defaults=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)void 0===a[c]&&(a[c]=b[c])}),a},z.clone=function(a){return z.isObject(a)?z.isArray(a)?a.slice():z.extend({},a):a},z.tap=function(a,b){return b(a),a};var H=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof z&&(a=a._wrapped),b instanceof z&&(b=b._wrapped);var e=l.call(a);if(e!=l.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;var g=a.constructor,h=b.constructor;if(g!==h&&!(z.isFunction(g)&&g instanceof g&&z.isFunction(h)&&h instanceof h))return!1;c.push(a),d.push(b);var i=0,j=!0;if("[object Array]"==e){if(i=a.length,j=i==b.length)for(;i--&&(j=H(a[i],b[i],c,d)););}else{for(var k in a)if(z.has(a,k)&&(i++,!(j=z.has(b,k)&&H(a[k],b[k],c,d))))break;if(j){for(k in b)if(z.has(b,k)&&!i--)break;j=!i}}return c.pop(),d.pop(),j};z.isEqual=function(a,b){return H(a,b,[],[])},z.isEmpty=function(a){if(null==a)return!0;if(z.isArray(a)||z.isString(a))return 0===a.length;for(var b in a)if(z.has(a,b))return!1;return!0},z.isElement=function(a){return!(!a||1!==a.nodeType)},z.isArray=w||function(a){return"[object Array]"==l.call(a)},z.isObject=function(a){return a===Object(a)},A(["Arguments","Function","String","Number","Date","RegExp"],function(a){z["is"+a]=function(b){return l.call(b)=="[object "+a+"]"}}),z.isArguments(arguments)||(z.isArguments=function(a){return!(!a||!z.has(a,"callee"))}),"function"!=typeof/./&&(z.isFunction=function(a){return"function"==typeof a}),z.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},z.isNaN=function(a){return z.isNumber(a)&&a!=+a},z.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==l.call(a)},z.isNull=function(a){return null===a},z.isUndefined=function(a){return void 0===a},z.has=function(a,b){return m.call(a,b)},z.noConflict=function(){return a._=d,this},z.identity=function(a){return a},z.times=function(a,b,c){for(var d=Array(Math.max(0,a)),e=0;a>e;e++)d[e]=b.call(c,e);return d},z.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var I={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};I.unescape=z.invert(I.escape);var J={escape:new RegExp("["+z.keys(I.escape).join("")+"]","g"),unescape:new RegExp("("+z.keys(I.unescape).join("|")+")","g")};z.each(["escape","unescape"],function(a){z[a]=function(b){return null==b?"":(""+b).replace(J[a],function(b){return I[a][b]})}}),z.result=function(a,b){if(null==a)return void 0;var c=a[b];return z.isFunction(c)?c.call(a):c},z.mixin=function(a){A(z.functions(a),function(b){var c=z[b]=a[b];z.prototype[b]=function(){var a=[this._wrapped];return i.apply(a,arguments),O.call(this,c.apply(z,a))}})};var K=0;z.uniqueId=function(a){var b=++K+"";return a?a+b:b},z.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L=/(.)^/,M={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},N=/\\|'|\r|\n|\t|\u2028|\u2029/g;z.template=function(a,b,c){var d;c=z.defaults({},c,z.templateSettings);var e=new RegExp([(c.escape||L).source,(c.interpolate||L).source,(c.evaluate||L).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(N,function(a){return"\\"+M[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,z);var i=function(a){return d.call(this,a,z)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},z.chain=function(a){return z(a).chain()};var O=function(a){return this._chain?z(a).chain():a};z.mixin(z),A(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=f[a];z.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],O.call(this,c)}}),A(["concat","join","slice"],function(a){var b=f[a];z.prototype[a]=function(){return O.call(this,b.apply(this._wrapped,arguments))}}),z.extend(z.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}],168:[function(a,b){function c(){this.callbacks={}}b.exports=c,c.prototype.on=function(a){var b=3===arguments.length,c=b?arguments[1]:void 0,d=b?arguments[2]:arguments[1];return d._groupName=c,(this.callbacks[a]=this.callbacks[a]||[]).push(d),this},c.prototype.once=function(a){function b(){c.off(a,b),f.apply(this,arguments)}var c=this,d=3===arguments.length,e=d?arguments[1]:void 0,f=d?arguments[2]:arguments[1];return this.on(a,e,b),this},c.prototype.releaseGroup=function(a){var b,c,d,e;for(b in this.callbacks)for(e=this.callbacks[b],c=0,d=e.length;d>c;c++)e[c]._groupName===a&&(e.splice(c,1),c--,d--);return this},c.prototype.off=function(a,b){var c,d=this.callbacks[a];return d?1===arguments.length?(delete this.callbacks[a],this):(c=d.indexOf(b),d.splice(c,1),this):this},c.prototype.emit=function(a){var b,c,d=[].slice.call(arguments,1),e=this.callbacks[a],f=this.getWildcardCallbacks(a);if(e)for(b=0,c=e.length;c>b&&e[b];++b)e[b].apply(this,d);if(f)for(b=0,c=f.length;c>b&&f[b];++b)f[b].apply(this,[a].concat(d));return this},c.prototype.getWildcardCallbacks=function(a){var b,c,d=[];for(b in this.callbacks)c=b.split("*"),("*"===b||2===c.length&&a.slice(0,c[1].length)===c[1])&&(d=d.concat(this.callbacks[b]));return d}},{}]},{},[1])(1)});