!function(b,c){var d=function(){return window.JitsiMeetJS=c(),window.JitsiMeetJS};"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.JitsiMeetJS=d():b.JitsiMeetJS=d()}(this,function(){return function(a){function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}var b={};return c.m=a,c.c=b,c.p="",c(0)}([function(a,b,c){(function(b){"use strict";function t(a){return a&&a.__esModule?a:{default:a}}function u(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function K(a){if(!F[a])return null;var b=F[a].order,c=null,d=null;for(var e in F){var f=F[e];(!c||c.order0){c={};for(d in window.jitsiRegionInfo)window.jitsiRegionInfo.hasOwnProperty(d)&&(c[d]=window.jitsiRegionInfo[d]);c.id="deployment_info",E.sendLog(JSON.stringify(c))}return this.version&&(c={id:"component_version",component:"lib-jitsi-meet",version:this.version},E.sendLog(JSON.stringify(c))),C.init(b||{})},isDesktopSharingEnabled:function(){return C.isDesktopSharingEnabled()},setLogLevel:function(b){A.setLogLevel(b)},createLocalTracks:function(b,c){var d=!1;return c===!0&&window.setTimeout(function(){d||y.emitEvent(m.PERMISSION_PROMPT_IS_SHOWN,I.getBrowserName())},J),window.connectionTimes||(window.connectionTimes={}),window.connectionTimes["obtainPermissions.start"]=window.performance.now(),C.obtainAudioAndVideoPermissions(b||{}).then(function(a){if(d=!0,window.connectionTimes["obtainPermissions.end"]=window.performance.now(),E.analytics.sendEvent(L("getUserMedia.success",b),{value:b}),!C.options.disableAudioLevels)for(var c=0;c-1)&&("minWidth"===j||"maxWidth"===j||"minHeight"===j||"maxHeight"===j||"width"===j||"height"===j)?(g.name=f.UNSUPPORTED_RESOLUTION,g.message=k[g.name]+m(j,c)):(g.name=f.CONSTRAINT_FAILED,g.message=k[g.name]+a.constraintName);break;default:g.name=f.GENERAL,g.message=a.message||k[g.name]}else{if("string"!=typeof a)throw new Error("Invalid arguments");k[a]?(g.name=a,g.message=c||k[a]):g.message=a}return g.stack=a.stack||(new Error).stack,g}return j(b,a),b}(Error);b.default=l},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.CHROME_EXTENSION_GENERIC_ERROR="gum.chrome_extension_generic_error",b.CHROME_EXTENSION_INSTALLATION_ERROR="gum.chrome_extension_installation_error",b.CHROME_EXTENSION_USER_CANCELED="gum.chrome_extension_user_canceled",b.CONSTRAINT_FAILED="gum.constraint_failed",b.FIREFOX_EXTENSION_NEEDED="gum.firefox_extension_needed",b.GENERAL="gum.general",b.NOT_FOUND="gum.not_found",b.PERMISSION_DENIED="gum.permission_denied",b.TRACK_IS_DISPOSED="track.track_is_disposed",b.TRACK_MUTE_UNMUTE_IN_PROGRESS="track.mute_unmute_inprogress",b.TRACK_NO_STREAM_FOUND="track.no_stream_found",b.UNSUPPORTED_RESOLUTION="gum.unsupported_resolution",b.NO_DATA_FROM_SOURCE="track.no_data_from_source"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.LOCAL_TRACK_STOPPED="track.stopped",b.TRACK_AUDIO_LEVEL_CHANGED="track.audioLevelsChanged",b.TRACK_AUDIO_NOT_WORKING="track.audioNotWorking",b.TRACK_AUDIO_OUTPUT_CHANGED="track.audioOutputChanged",b.TRACK_MUTE_CHANGED="track.trackMuteChanged",b.TRACK_VIDEOTYPE_CHANGED="track.videoTypeChanged",b.NO_DATA_FROM_SOURCE="track.no_data_from_source"},function(a,b,c){var d=c(10),e={},f=[],g=d.levels.TRACE;a.exports={getLogger:function(a,b,c){var h=new d(g,a,b,c);return a?(e[a]=e[a]||[],e[a].push(h)):f.push(h),h},setLogLevelById:function(a,b){for(var c=b?e[b]||[]:f,d=0;d: ").apply(h,e)}}function f(a,b,d,g){this.id=b,this.format=g,this.transports||(this.transports=[],this.transports.push(f.consoleTransport)),this.level=c[a];for(var h=Object.keys(c),i=0;i1&&void 0!==arguments[1]?arguments[1]:"/http-bind";return a&&(b+=(b.indexOf("?")==-1?"?":"&")+"token="+a),new Strophe.Connection(b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c0&&this._events[a].length>e&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())),this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function e(){this.removeListener(a,e),c||(c=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var c=!1;return e.listener=b,this.on(a,e),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(e<0)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(d(b))return 1;if(b)return b.length}return 0},c.listenerCount=function(a,b){return a.listenerCount(b)}},function(a,b,c){"use strict";var d=c(16).assign,e=c(17),f=c(25),g=c(29),h={};d(h,e,f,g),a.exports=h},function(a,b){"use strict";var c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;b.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},b.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var d={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var c=d.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==l)throw new Error(g[c]);if(b.header&&d.deflateSetHeader(this.strm,b.header),b.dictionary){var j;if(j="string"==typeof b.dictionary?f.string2buf(b.dictionary):"[object ArrayBuffer]"===i.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=d.deflateSetDictionary(this.strm,j),c!==l)throw new Error(g[c]);this._dict_set=!0}}function s(a,b){var c=new r(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function t(a,b){return b=b||{},b.raw=!0,s(a,b)}function u(a,b){return b=b||{},b.gzip=!0,s(a,b)}var d=c(18),e=c(16),f=c(23),g=c(22),h=c(24),i=Object.prototype.toString,j=0,k=4,l=0,m=1,n=2,o=-1,p=0,q=8;r.prototype.push=function(a,b){var h,o,c=this.strm,g=this.options.chunkSize;if(this.ended)return!1;o=b===~~b?b:b===!0?k:j,"string"==typeof a?c.input=f.string2buf(a):"[object ArrayBuffer]"===i.call(a)?c.input=new Uint8Array(a):c.input=a,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new e.Buf8(g),c.next_out=0,c.avail_out=g),h=d.deflate(c,o),h!==m&&h!==l)return this.onEnd(h),this.ended=!0,!1;0!==c.avail_out&&(0!==c.avail_in||o!==k&&o!==n)||("string"===this.options.to?this.onData(f.buf2binstring(e.shrinkBuf(c.output,c.next_out))):this.onData(e.shrinkBuf(c.output,c.next_out)))}while((c.avail_in>0||0===c.avail_out)&&h!==m);return o===k?(h=d.deflateEnd(this.strm),this.onEnd(h),this.ended=!0,h===l):o!==n||(this.onEnd(l),c.avail_out=0,!0)},r.prototype.onData=function(a){this.chunks.push(a)},r.prototype.onEnd=function(a){a===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Deflate=r,b.deflate=s,b.deflateRaw=t,b.gzip=u},function(a,b,c){"use strict";function $(a,b){return a.msg=h[b],b}function _(a){return(a<<1)-(a>4?9:0)}function aa(a){for(var b=a.length;--b>=0;)a[b]=0}function ba(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(d.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function ca(a,b){e._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,ba(a.strm)}function da(a,b){a.pending_buf[a.pending++]=b}function ea(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function fa(a,b,c,e){var h=a.avail_in;return h>e&&(h=e),0===h?0:(a.avail_in-=h,d.arraySet(b,a.input,a.next_in,h,c),1===a.state.wrap?a.adler=f(a.adler,b,h,c):2===a.state.wrap&&(a.adler=g(a.adler,b,h,c)),a.next_in+=h,a.total_in+=h,h)}function ga(a,b){var e,f,c=a.max_chain_length,d=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-M?a.strstart-(a.w_size-M):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+L,n=j[d+g-1],o=j[d+g];a.prev_length>=a.good_match&&(c>>=2),h>a.lookahead&&(h=a.lookahead);do if(e=b,j[e+g]===o&&j[e+g-1]===n&&j[e]===j[d]&&j[++e]===j[d+1]){d+=2,e++;do;while(j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&dg){if(a.match_start=b,g=f,f>=h)break;n=j[d+g-1],o=j[d+g]}}while((b=l[b&k])>i&&0!==--c);return g<=a.lookahead?g:a.lookahead}function ha(a){var c,e,f,g,h,b=a.w_size;do{if(g=a.window_size-a.lookahead-a.strstart,a.strstart>=b+(b-M)){d.arraySet(a.window,a.window,b,b,0),a.match_start-=b,a.strstart-=b,a.block_start-=b,e=a.hash_size,c=e;do f=a.head[--c],a.head[c]=f>=b?f-b:0;while(--e);e=b,c=e;do f=a.prev[--c],a.prev[c]=f>=b?f-b:0;while(--e);g+=b}if(0===a.strm.avail_in)break;if(e=fa(a.strm,a.window,a.strstart+a.lookahead,g),a.lookahead+=e,a.lookahead+a.insert>=K)for(h=a.strstart-a.insert,a.ins_h=a.window[h],a.ins_h=(a.ins_h<a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(ha(a),0===a.lookahead&&b===i)return V;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,ca(a,!1),0===a.strm.avail_out))return V;if(a.strstart-a.block_start>=a.w_size-M&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.strstart>a.block_start&&(ca(a,!1),0===a.strm.avail_out)?V:V}function ja(a,b){for(var c,d;;){if(a.lookahead=K&&(a.ins_h=(a.ins_h<=K)if(d=e._tr_tally(a,a.strstart-a.match_start,a.match_length-K),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=K){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<=K&&(a.ins_h=(a.ins_h<4096)&&(a.match_length=K-1)),a.prev_length>=K&&a.match_length<=a.prev_length){f=a.strstart+a.lookahead-K,d=e._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-K),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=f&&(a.ins_h=(a.ins_h<=K&&a.strstart>0&&(f=a.strstart-1,d=h[f],d===h[++f]&&d===h[++f]&&d===h[++f])){g=a.strstart+L;do;while(d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&fa.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=K?(c=e._tr_tally(a,1,a.match_length-K),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=e._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function ma(a,b){for(var c;;){if(0===a.lookahead&&(ha(a),0===a.lookahead)){if(b===i)return V;break}if(a.match_length=0,c=e._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function na(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function pa(a){a.window_size=2*a.w_size,aa(a.head),a.max_lazy_match=oa[a.level].max_lazy,a.good_match=oa[a.level].good_length,a.nice_match=oa[a.level].nice_length,a.max_chain_length=oa[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=K-1,a.match_available=0,a.ins_h=0}function qa(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=z,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*I),this.dyn_dtree=new d.Buf16(2*(2*G+1)),this.bl_tree=new d.Buf16(2*(2*H+1)),aa(this.dyn_ltree),aa(this.dyn_dtree),aa(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(J+1),this.heap=new d.Buf16(2*F+1),aa(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*F+1),aa(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ra(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=y,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?O:T,a.adler=2===b.wrap?0:1,b.last_flush=i,e._tr_init(b),n):$(a,p)}function sa(a){var b=ra(a);return b===n&&pa(a.state),b}function ta(a,b){return a&&a.state?2!==a.state.wrap?p:(a.state.gzhead=b,n):p}function ua(a,b,c,e,f,g){if(!a)return p;var h=1;if(b===s&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>A||c!==z||e<8||e>15||b<0||b>9||g<0||g>w)return $(a,p);8===e&&(e=9);var i=new qa;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<m||b<0)return a?$(a,p):p;if(d=a.state,!a.output||!a.input&&0!==a.avail_in||d.status===U&&b!==l)return $(a,0===a.avail_out?r:p);if(d.strm=a,c=d.last_flush,d.last_flush=b,d.status===O)if(2===d.wrap)a.adler=0,da(d,31),da(d,139),da(d,8),d.gzhead?(da(d,(d.gzhead.text?1:0)+(d.gzhead.hcrc?2:0)+(d.gzhead.extra?4:0)+(d.gzhead.name?8:0)+(d.gzhead.comment?16:0)),da(d,255&d.gzhead.time),da(d,d.gzhead.time>>8&255),da(d,d.gzhead.time>>16&255),da(d,d.gzhead.time>>24&255),da(d,9===d.level?2:d.strategy>=u||d.level<2?4:0),da(d,255&d.gzhead.os),d.gzhead.extra&&d.gzhead.extra.length&&(da(d,255&d.gzhead.extra.length),da(d,d.gzhead.extra.length>>8&255)),d.gzhead.hcrc&&(a.adler=g(a.adler,d.pending_buf,d.pending,0)),d.gzindex=0,d.status=P):(da(d,0),da(d,0),da(d,0),da(d,0),da(d,0),da(d,9===d.level?2:d.strategy>=u||d.level<2?4:0),da(d,Z),d.status=T);else{var q=z+(d.w_bits-8<<4)<<8,s=-1;s=d.strategy>=u||d.level<2?0:d.level<6?1:6===d.level?2:3,q|=s<<6,0!==d.strstart&&(q|=N),q+=31-q%31,d.status=T,ea(d,q),0!==d.strstart&&(ea(d,a.adler>>>16),ea(d,65535&a.adler)),a.adler=1}if(d.status===P)if(d.gzhead.extra){for(f=d.pending;d.gzindex<(65535&d.gzhead.extra.length)&&(d.pending!==d.pending_buf_size||(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending!==d.pending_buf_size));)da(d,255&d.gzhead.extra[d.gzindex]),d.gzindex++;d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),d.gzindex===d.gzhead.extra.length&&(d.gzindex=0,d.status=Q)}else d.status=Q;if(d.status===Q)if(d.gzhead.name){f=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending===d.pending_buf_size)){h=1;break}h=d.gzindexf&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),0===h&&(d.gzindex=0,d.status=R)}else d.status=R;if(d.status===R)if(d.gzhead.comment){f=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending===d.pending_buf_size)){h=1;break}h=d.gzindexf&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),0===h&&(d.status=S)}else d.status=S;if(d.status===S&&(d.gzhead.hcrc?(d.pending+2>d.pending_buf_size&&ba(a),d.pending+2<=d.pending_buf_size&&(da(d,255&a.adler),da(d,a.adler>>8&255),a.adler=0,d.status=T)):d.status=T),0!==d.pending){if(ba(a),0===a.avail_out)return d.last_flush=-1,n}else if(0===a.avail_in&&_(b)<=_(c)&&b!==l)return $(a,r);if(d.status===U&&0!==a.avail_in)return $(a,r);if(0!==a.avail_in||0!==d.lookahead||b!==i&&d.status!==U){var t=d.strategy===u?ma(d,b):d.strategy===v?la(d,b):oa[d.level].func(d,b);if(t!==X&&t!==Y||(d.status=U),t===V||t===X)return 0===a.avail_out&&(d.last_flush=-1),n;if(t===W&&(b===j?e._tr_align(d):b!==m&&(e._tr_stored_block(d,0,0,!1),b===k&&(aa(d.head),0===d.lookahead&&(d.strstart=0,d.block_start=0,d.insert=0))),ba(a),0===a.avail_out))return d.last_flush=-1,n}return b!==l?n:d.wrap<=0?o:(2===d.wrap?(da(d,255&a.adler),da(d,a.adler>>8&255),da(d,a.adler>>16&255),da(d,a.adler>>24&255),da(d,255&a.total_in),da(d,a.total_in>>8&255),da(d,a.total_in>>16&255),da(d,a.total_in>>24&255)):(ea(d,a.adler>>>16),ea(d,65535&a.adler)),ba(a),d.wrap>0&&(d.wrap=-d.wrap),0!==d.pending?n:o)}function xa(a){var b;return a&&a.state?(b=a.state.status,b!==O&&b!==P&&b!==Q&&b!==R&&b!==S&&b!==T&&b!==U?$(a,p):(a.state=null,b===T?$(a,q):n)):p}function ya(a,b){var e,g,h,i,j,k,l,m,c=b.length;if(!a||!a.state)return p;if(e=a.state,i=e.wrap,2===i||1===i&&e.status!==O||e.lookahead)return p;for(1===i&&(a.adler=f(a.adler,b,c,0)),e.wrap=0,c>=e.w_size&&(0===i&&(aa(e.head),e.strstart=0,e.block_start=0,e.insert=0),m=new d.Buf8(e.w_size),d.arraySet(m,b,c-e.w_size,e.w_size,0),b=m,c=e.w_size),j=a.avail_in,k=a.next_in,l=a.input,a.avail_in=c,a.next_in=0,a.input=b,ha(e);e.lookahead>=K;){g=e.strstart,h=e.lookahead-(K-1);do e.ins_h=(e.ins_h<=0;)a[b]=0}function M(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function Q(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function R(a){return a<256?I[a]:I[256+(a>>>7)]}function S(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function T(a,b,c){a.bi_valid>v-c?(a.bi_buf|=b<>v-a.bi_valid,a.bi_valid+=c-v):(a.bi_buf|=b<>>=1,c<<=1;while(--b>0);return c>>>1}function W(a){16===a.bi_valid?(S(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function X(a,b){var j,k,l,m,n,o,c=b.dyn_tree,d=b.max_code,e=b.stat_desc.static_tree,f=b.stat_desc.has_stree,g=b.stat_desc.extra_bits,h=b.stat_desc.extra_base,i=b.stat_desc.max_length,p=0;for(m=0;m<=u;m++)a.bl_count[m]=0;for(c[2*a.heap[a.heap_max]+1]=0,j=a.heap_max+1;ji&&(m=i,p++),c[2*k+1]=m,k>d||(a.bl_count[m]++,n=0,k>=h&&(n=g[k-h]),o=c[2*k],a.opt_len+=o*(m+n),f&&(a.static_len+=o*(e[2*k+1]+n)));if(0!==p){do{for(m=i-1;0===a.bl_count[m];)m--;a.bl_count[m]--,a.bl_count[m+1]+=2,a.bl_count[i]--,p-=2}while(p>0);for(m=i;0!==m;m--)for(k=a.bl_count[m];0!==k;)l=a.heap[--j],l>d||(c[2*l+1]!==m&&(a.opt_len+=(m-c[2*l+1])*c[2*l],c[2*l+1]=m),k--)}}function Y(a,b,c){var f,g,d=new Array(u+1),e=0;for(f=1;f<=u;f++)d[f]=e=e+c[f-1]<<1;for(g=0;g<=b;g++){var h=a[2*g+1];0!==h&&(a[2*g]=V(d[h]++,h))}}function Z(){var a,b,c,d,e,f=new Array(u+1);for(c=0,d=0;d>=7;d8?S(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function aa(a,b,c,e){_(a),e&&(S(a,c),S(a,~c)),d.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function ba(a,b,c,d){var e=2*b,f=2*c;return a[e]>1;g>=1;g--)ca(a,c,g);j=f;do g=a.heap[1],a.heap[1]=a.heap[a.heap_len--],ca(a,c,1),h=a.heap[1],a.heap[--a.heap_max]=g,a.heap[--a.heap_max]=h,c[2*j]=c[2*g]+c[2*h],a.depth[j]=(a.depth[g]>=a.depth[h]?a.depth[g]:a.depth[h])+1,c[2*g+1]=c[2*h+1]=j,a.heap[1]=j++,ca(a,c,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],X(a,b),Y(c,i,a.bl_count)}function fa(a,b,c){var d,f,e=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)f=g,g=b[2*(d+1)+1],++h=3&&0===a.bl_tree[2*E[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function ia(a,b,c,d){var e;for(T(a,b-257,5),T(a,c-1,5),T(a,d-4,4),e=0;e>>=1)if(1&b&&0!==a.dyn_ltree[2*c])return f;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return g;for(c=32;c0?(a.strm.data_type===h&&(a.strm.data_type=ja(a)),ea(a,a.l_desc),ea(a,a.d_desc),i=ha(a),f=a.opt_len+3+7>>>3,g=a.static_len+3+7>>>3,g<=f&&(f=g)):f=g=c+5,c+4<=f&&b!==-1?ma(a,b,c,d):a.strategy===e||g===f?(T(a,(k<<1)+(d?1:0),3),da(a,G,H)):(T(a,(l<<1)+(d?1:0),3),ia(a,a.l_desc.max_code+1,a.d_desc.max_code+1,i+1),da(a,a.dyn_ltree,a.dyn_dtree)),$(a),d&&_(a)}function pa(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(J[c]+p+1)]++,a.dyn_dtree[2*R(b)]++),a.last_lit===a.lit_bufsize-1}var d=c(16),e=4,f=0,g=1,h=2,j=0,k=1,l=2,m=3,n=258,o=29,p=256,q=p+1+o,r=30,s=19,t=2*q+1,u=15,v=16,w=7,x=256,y=16,z=17,A=18,B=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],C=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],F=512,G=new Array(2*(q+2));i(G);var H=new Array(2*r);i(H);var I=new Array(F);i(I);var J=new Array(n-m+1);i(J);var K=new Array(o);i(K);var L=new Array(r);i(L);var N,O,P,ka=!1;b._tr_init=la,b._tr_stored_block=ma,b._tr_flush_block=oa,b._tr_tally=pa,b._tr_align=na},function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}a.exports=c},function(a,b){"use strict";function c(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,e){var f=d,g=e+c;a^=-1;for(var h=e;h>>8^f[255&(a^b[h])];return a^-1}var d=c();a.exports=e},function(a,b){"use strict";a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(a,b,c){"use strict";function i(a,b){if(b<65537&&(a.subarray&&f||!a.subarray&&e))return String.fromCharCode.apply(null,d.shrinkBuf(a,b));for(var c="",g=0;g=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1,b.string2buf=function(a){var b,c,e,f,g,h=a.length,i=0;for(f=0;f>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},b.buf2binstring=function(a){return i(a,a.length)},b.binstring2buf=function(a){for(var b=new d.Buf8(a.length),c=0,e=b.length;c4)j[d++]=65533,c+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&c1?j[d++]=65533:e<65536?j[d++]=e:(e-=65536,j[d++]=55296|e>>10&1023,j[d++]=56320|1023&e)}return i(j,d)},b.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+g[a[c]]>b?c:b}},function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}a.exports=c},function(a,b,c){"use strict";function l(a){if(!(this instanceof l))return new l(a);this.options=e.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var c=d.inflateInit2(this.strm,b.windowBits);if(c!==g.Z_OK)throw new Error(h[c]);this.header=new j,d.inflateGetHeader(this.strm,this.header)}function m(a,b){var c=new l(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function n(a,b){return b=b||{},b.raw=!0,m(a,b)}var d=c(26),e=c(16),f=c(23),g=c(29),h=c(22),i=c(24),j=c(30),k=Object.prototype.toString;l.prototype.push=function(a,b){var j,l,m,n,o,p,c=this.strm,h=this.options.chunkSize,i=this.options.dictionary,q=!1;if(this.ended)return!1;l=b===~~b?b:b===!0?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof a?c.input=f.binstring2buf(a):"[object ArrayBuffer]"===k.call(a)?c.input=new Uint8Array(a):c.input=a,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new e.Buf8(h),c.next_out=0,c.avail_out=h),j=d.inflate(c,g.Z_NO_FLUSH),j===g.Z_NEED_DICT&&i&&(p="string"==typeof i?f.string2buf(i):"[object ArrayBuffer]"===k.call(i)?new Uint8Array(i):i,j=d.inflateSetDictionary(this.strm,p)),j===g.Z_BUF_ERROR&&q===!0&&(j=g.Z_OK,q=!1),j!==g.Z_STREAM_END&&j!==g.Z_OK)return this.onEnd(j),this.ended=!0,!1;c.next_out&&(0!==c.avail_out&&j!==g.Z_STREAM_END&&(0!==c.avail_in||l!==g.Z_FINISH&&l!==g.Z_SYNC_FLUSH)||("string"===this.options.to?(m=f.utf8border(c.output,c.next_out),n=c.next_out-m,o=f.buf2string(c.output,m),c.next_out=n,c.avail_out=h-n,n&&e.arraySet(c.output,c.output,m,n,0),this.onData(o)):this.onData(e.shrinkBuf(c.output,c.next_out)))),0===c.avail_in&&0===c.avail_out&&(q=!0)}while((c.avail_in>0||0===c.avail_out)&&j!==g.Z_STREAM_END);return j===g.Z_STREAM_END&&(l=g.Z_FINISH),l===g.Z_FINISH?(j=d.inflateEnd(this.strm),this.onEnd(j),this.ended=!0,j===g.Z_OK):l!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),c.avail_out=0,!0)},l.prototype.onData=function(a){this.chunks.push(a)},l.prototype.onEnd=function(a){a===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Inflate=l,b.inflate=m,b.inflateRaw=n,b.ungzip=m},function(a,b,c){"use strict";function ea(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function fa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new d.Buf16(320),this.work=new d.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ga(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=w,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new d.Buf32(aa),b.distcode=b.distdyn=new d.Buf32(ba),b.sane=1,b.back=-1,o):r}function ha(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,ga(a)):r}function ia(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?r:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,ha(a))):r}function ja(a,b){var c,d;return a?(d=new fa,a.state=d,d.window=null,c=ia(a,b),c!==o&&(a.state=null),c):r}function ka(a){return ja(a,da)}function oa(a){if(la){var b;for(ma=new d.Buf32(512),na=new d.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(h(j,a.lens,0,288,ma,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;h(k,a.lens,0,32,na,0,a.work,{bits:5}),la=!1}a.lencode=ma,a.lenbits=9,a.distcode=na,a.distbits=5}function pa(a,b,c,e){var f,g=a.state;return null===g.window&&(g.wsize=1<=g.wsize?(d.arraySet(g.window,b,c-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):(f=g.wsize-g.wnext,f>e&&(f=e),d.arraySet(g.window,b,c-e,f,g.wnext),e-=f,e?(d.arraySet(g.window,b,c-e,e,0),g.wnext=e,g.whave=g.wsize):(g.wnext+=f,g.wnext===g.wsize&&(g.wnext=0),g.whave>>8&255,c.check=f(c.check,za,2,0),ha=0,ia=0,c.mode=x;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&ha)<<8)+(ha>>8))%31){a.msg="incorrect header check",c.mode=Z;break}if((15&ha)!==v){a.msg="unknown compression method",c.mode=Z;break}if(ha>>>=4,ia-=4,xa=(15&ha)+8,0===c.wbits)c.wbits=xa;else if(xa>c.wbits){a.msg="invalid window size",c.mode=Z;break}c.dmax=1<>8&1),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0,c.mode=y;case y:for(;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>8&255,za[2]=ha>>>16&255,za[3]=ha>>>24&255,c.check=f(c.check,za,4,0)),ha=0,ia=0,c.mode=z;case z:for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<>8),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0,c.mode=A;case A:if(1024&c.flags){for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0}else c.head&&(c.head.extra=null);c.mode=B;case B:if(1024&c.flags&&(la=c.length,la>fa&&(la=fa),la&&(c.head&&(xa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),d.arraySet(c.head.extra,aa,ca,la,xa)),512&c.flags&&(c.check=f(c.check,aa,la,ca)),fa-=la,ca+=la,c.length-=la),c.length))break a;c.length=0,c.mode=C;case C:if(2048&c.flags){if(0===fa)break a;la=0;do xa=aa[ca+la++],c.head&&xa&&c.length<65536&&(c.head.name+=String.fromCharCode(xa));while(xa&&la>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=H;break;case F:for(;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=7&ia,ia-=7&ia,c.mode=W;break}for(;ia<3;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=1,ia-=1,3&ha){case 0:c.mode=J;break;case 1:if(oa(c),c.mode=P,b===n){ha>>>=2,ia-=2;break a}break;case 2:c.mode=M;break;case 3:a.msg="invalid block type",c.mode=Z}ha>>>=2,ia-=2;break;case J:for(ha>>>=7&ia,ia-=7&ia;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>16^65535)){a.msg="invalid stored block lengths",c.mode=Z;break}if(c.length=65535&ha,ha=0,ia=0,c.mode=K,b===n)break a;case K:c.mode=L;case L:if(la=c.length){if(la>fa&&(la=fa),la>ga&&(la=ga),0===la)break a;d.arraySet(ba,aa,ca,la,da),fa-=la,ca+=la,ga-=la,da+=la,c.length-=la;break}c.mode=H;break;case M:for(;ia<14;){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=5,ia-=5,c.ndist=(31&ha)+1,ha>>>=5,ia-=5,c.ncode=(15&ha)+4,ha>>>=4,ia-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=Z;break}c.have=0,c.mode=N;case N:for(;c.have>>=3,ia-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,Aa={bits:c.lenbits},ya=h(i,c.lens,0,19,c.lencode,0,c.work,Aa),c.lenbits=Aa.bits,ya){a.msg="invalid code lengths set",c.mode=Z;break}c.have=0,c.mode=O;case O:for(;c.have>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=ra,ia-=ra,c.lens[c.have++]=ta;else{if(16===ta){for(Ba=ra+2;ia>>=ra,ia-=ra,0===c.have){a.msg="invalid bit length repeat",c.mode=Z;break}xa=c.lens[c.have-1],la=3+(3&ha),ha>>>=2,ia-=2}else if(17===ta){for(Ba=ra+3;ia>>=ra,ia-=ra,xa=0,la=3+(7&ha),ha>>>=3,ia-=3}else{for(Ba=ra+7;ia>>=ra,ia-=ra,xa=0,la=11+(127&ha),ha>>>=7,ia-=7}if(c.have+la>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=Z;break}for(;la--;)c.lens[c.have++]=xa}}if(c.mode===Z)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=Z;break}if(c.lenbits=9,Aa={bits:c.lenbits},ya=h(j,c.lens,0,c.nlen,c.lencode,0,c.work,Aa),c.lenbits=Aa.bits,ya){a.msg="invalid literal/lengths set",c.mode=Z;break}if(c.distbits=6,c.distcode=c.distdyn,Aa={bits:c.distbits},ya=h(k,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,Aa),c.distbits=Aa.bits,ya){a.msg="invalid distances set",c.mode=Z;break}if(c.mode=P,b===n)break a;case P:c.mode=Q;case Q:if(fa>=6&&ga>=258){a.next_out=da,a.avail_out=ga,a.next_in=ca,a.avail_in=fa,c.hold=ha,c.bits=ia,g(a,ka),da=a.next_out,ba=a.output,ga=a.avail_out,ca=a.next_in,aa=a.input,fa=a.avail_in,ha=c.hold,ia=c.bits,c.mode===H&&(c.back=-1);break}for(c.back=0;qa=c.lencode[ha&(1<>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<>ua)],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ua+ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=ua,ia-=ua,c.back+=ua}if(ha>>>=ra,ia-=ra,c.back+=ra,c.length=ta,0===sa){c.mode=V;break}if(32&sa){c.back=-1,c.mode=H;break}if(64&sa){a.msg="invalid literal/length code",c.mode=Z;break}c.extra=15&sa,c.mode=R; case R:if(c.extra){for(Ba=c.extra;ia>>=c.extra,ia-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=S;case S:for(;qa=c.distcode[ha&(1<>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<>ua)],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ua+ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<>>=ua,ia-=ua,c.back+=ua}if(ha>>>=ra,ia-=ra,c.back+=ra,64&sa){a.msg="invalid distance code",c.mode=Z;break}c.offset=ta,c.extra=15&sa,c.mode=T;case T:if(c.extra){for(Ba=c.extra;ia>>=c.extra,ia-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=Z;break}c.mode=U;case U:if(0===ga)break a;if(la=ka-ga,c.offset>la){if(la=c.offset-la,la>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=Z;break}la>c.wnext?(la-=c.wnext,ma=c.wsize-la):ma=c.wnext-la,la>c.length&&(la=c.length),na=c.window}else na=ba,ma=da-c.offset,la=c.length;la>ga&&(la=ga),ga-=la,c.length-=la;do ba[da++]=na[ma++];while(--la);0===c.length&&(c.mode=Q);break;case V:if(0===ga)break a;ba[da++]=c.length,ga--,c.mode=Q;break;case W:if(c.wrap){for(;ia<32;){if(0===fa)break a;fa--,ha|=aa[ca++]<>>24,q>>>=x,r-=x,x=w>>>16&255,0===x)D[i++]=65535&w;else{if(!(16&x)){if(0===(64&x)){w=s[(65535&w)+(q&(1<>>=x,r-=x),r<15&&(q+=C[g++]<>>24,q>>>=x,r-=x,x=w>>>16&255,!(16&x)){if(0===(64&x)){w=t[(65535&w)+(q&(1<l){b.msg="invalid distance too far back",f.mode=c;break a}if(q>>>=x,r-=x,x=i-j,z>x){if(x=z-x,x>n&&f.sane){b.msg="invalid distance too far back",f.mode=c;break a}if(A=0,B=p,0===o){if(A+=m-x,x2;)D[i++]=B[A++],D[i++]=B[A++],D[i++]=B[A++],y-=3;y&&(D[i++]=B[A++],y>1&&(D[i++]=B[A++]))}else{A=i-z;do D[i++]=D[A++],D[i++]=D[A++],D[i++]=D[A++],y-=3;while(y>2);y&&(D[i++]=D[A++],y>1&&(D[i++]=D[A++]))}break}}break}}while(g>3,g-=y,r-=y<<3,q&=(1<=1&&0===N[y];y--);if(z>y&&(z=y),0===y)return q[r++]=20971520,q[r++]=20971520,t.bits=1,0;for(x=1;x0&&(b===h||1!==y))return-1;for(O[1]=0,v=1;vf||b===j&&D>g)return 1;for(var U=0;;){U++,R=v-B,s[w]M?(S=P[Q+s[w]],T=K[L+s[w]]):(S=96,T=0),F=1<>B)+G]=R<<24|S<<16|T|0;while(0!==G);for(F=1<>=1;if(0!==F?(E&=F-1,E+=F):E=0,w++,0===--N[v]){if(v===y)break;v=c[o+s[w]]}if(v>z&&(E&I)!==H){for(0===B&&(B=z),J+=x,A=v-B,C=1<f||b===j&&D>g)return 1;H=E&I,q[H]=z<<24|A<<16|J-r|0}}return 0!==E&&(q[J+E]=v-B<<24|64<<16|0),t.bits=z,0}},function(a,b){"use strict";a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}a.exports=c},function(a,b){"use strict";function e(a,b){return Math.floor(Math.random()*(b-a+1))+a}function f(a){return a[e(0,a.length-1)]}function g(a){for(var b="",d=0;d0&&(a=parseInt(b.substring(c+5,b.indexOf(".",c)),10));var f=b.indexOf("Trident/");if(!a&&f>0){var g=b.indexOf("rv:");a=parseInt(b.substring(g+3,b.indexOf(".",g)),10)}var i=b.indexOf("Edge/");return!a&&i>0&&(a=parseInt(b.substring(i+5,b.indexOf(".",i)),10)),a&&(e=h.RTC_BROWSER_IEXPLORER,d.info("This appears to be IExplorer, ver: "+a)),a}function n(){var a=navigator.userAgent;if(a.match(/JitsiMeetNW/)){e=h.RTC_BROWSER_NWJS;var b=a.match(/JitsiMeetNW\/([\d.]+)/)[1];return d.info("This appears to be JitsiMeetNW, ver: "+b),b}return null}function o(){var b,a=navigator.userAgent.match(/\b(react[ \t_-]*native)(?:\/(\S+))?/i);if(a||"ReactNative"===navigator.product){e=h.RTC_BROWSER_REACT_NATIVE;var c;a&&a.length>2&&(c=a[1],b=a[2]),c||(c="react-native"),b||(b="unknown"),console.info("This appears to be "+c+", ver: "+b)}else b=null;return b}function p(){for(var a,b=[o,n,j,i,k,m,l],c=0;cx[xmlns="http://jabber.org/protocol/muc#user"]>status[code="201"]').length&&d.createNonAnonymousRoom(),d.onPresence(b),!0}},{key:"onPresenceUnavailable",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onPresenceUnavailable(b,c),!0}},{key:"onPresenceError",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onPresenceError(b,c),!0}},{key:"onMessage",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onMessage(b,c),!0}},{key:"setJingleSession",value:function(b,c){var d=this.rooms[Strophe.getBareJidFromJid(b)];d&&d.setJingleSession(c)}},{key:"onMute",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onMute(b),!0}}]),b}(j.default)}).call(b,"modules/xmpp/strophe.emuc.js")},function(a,b,c){(function(b){"use strict";function m(a,b){for(var c=[],d=0;dquery>feature[var="muc_passwordprotected"]').length;b!=this.locked&&(this.eventEmitter.emit(f.MUC_LOCK_CHANGED,b),this.locked=b)}.bind(this),function(a){k.callErrorHandler(a),e.error("Error getting room info: ",a)}.bind(this))},n.prototype.createNonAnonymousRoom=function(){var a=$iq({type:"get",to:this.roomjid}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"}).c("x",{xmlns:"jabber:x:data",type:"submit"}),b=this;this.connection.sendIQ(a,function(a){if(!$(a).find('>query>x[xmlns="jabber:x:data"]>field[var="muc#roomconfig_whois"]').length){var c="non-anonymous rooms not supported";return k.callErrorHandler(new Error(c)),void e.error(c)}var d=$iq({to:this.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"});d.c("x",{xmlns:"jabber:x:data",type:"submit"}),d.c("field",{var:"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#roomconfig").up().up(),d.c("field",{var:"muc#roomconfig_whois"}).c("value").t("anyone").up().up(),b.connection.sendIQ(d)},function(a){k.callErrorHandler(a),e.error("Error getting room configuration form: ",a)})},n.prototype.onPresence=function(a){var b=a.getAttribute("from"),c={};c.show=$(a).find(">show").text(),c.status=$(a).find(">status").text();var d=$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>item');c.affiliation=d.attr("affiliation"),c.role=d.attr("role");var g=d.attr("jid");c.jid=g,c.isFocus=g&&0===g.indexOf(this.moderator.getFocusUserJid()+"/"),c.isHiddenDomain=g&&g.indexOf("@")>0&&this.options.hiddenDomain===g.substring(g.indexOf("@")+1,g.indexOf("/")),$(a).find(">x").remove();var h=[];l.packet2JSON(a,h),this.lastPresences[b]=h;for(var i=null,j=0;j0&&this.eventEmitter.emit(f.DISPLAY_NAME_CHANGED,b,r)}break;case"bridgeNotAvailable":c.isFocus&&!this.noBridgeAvailable&&(this.noBridgeAvailable=!0,this.eventEmitter.emit(f.BRIDGE_DOWN));break;case"jibri-recording-status":i=q;break;case"call-control":var s=q.attributes;if(!s)break;this.phoneNumber=s.phone||null,this.phonePin=s.pin||null,this.eventEmitter.emit(f.PHONE_NUMBER_CHANGED);break;default:this.processNode(q,b)}}c.status&&this.eventEmitter.emit(f.PRESENCE_STATUS,b,c.status),i&&(this.lastJibri=i,this.recording&&this.recording.handleJibriPresence(i))},n.prototype._initFocus=function(a,b){this.focusMucJid=a,this.recording||(this.recording=new j(this.options.recordingType,this.eventEmitter,this.connection,this.focusMucJid,this.options.jirecon,this.roomjid),this.lastJibri&&this.recording.handleJibriPresence(this.lastJibri)),e.info("Ignore focus: "+a+", real JID: "+b)},n.prototype.setParticipantPropertyListener=function(a){this.participantPropertyListener=a},n.prototype.processNode=function(a,b){try{var c=this.presHandlers[a.tagName];a.tagName.startsWith("jitsi_participant_")&&(c=this.participantPropertyListener),c&&c(a,Strophe.getResourceFromJid(b),b)}catch(b){k.callErrorHandler(b),e.error("Error processing:"+a.tagName+" node.",b)}},n.prototype.sendMessage=function(a,b){var c=$msg({to:this.roomjid,type:"groupchat"});c.c("body",a).up(),b&&c.c("nick",{xmlns:"http://jabber.org/protocol/nick"}).t(b).up().up(),this.connection.send(c),this.eventEmitter.emit(f.SENDING_CHAT_MESSAGE,a)},n.prototype.setSubject=function(a){var b=$msg({to:this.roomjid,type:"groupchat"});b.c("subject",a),this.connection.send(b)},n.prototype.onParticipantLeft=function(a,b){delete this.lastPresences[a],b||(this.eventEmitter.emit(f.MUC_MEMBER_LEFT,a),this.moderator.onMucMemberLeft(a))},n.prototype.onPresenceUnavailable=function(a,b){if($(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>destroy').length){var c,d=$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>destroy>reason');return d.length&&(c=d.text()),this._dispose(),this.eventEmitter.emit(f.MUC_DESTROYED,c),this.connection.emuc.doLeave(this.roomjid),!0}var e=0!==$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length,g=0!==$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="307"]').length;if(e){if(Object.keys(this.members).length>0){for(var h in this.members){var i=this.members[h];delete this.members[h],this.onParticipantLeft(h,i.isFocus)}this.connection.emuc.doLeave(this.roomjid),g||this.eventEmitter.emit(f.MUC_LEFT)}}else delete this.members[b],this.onParticipantLeft(b,!1);g&&this.myroomjid===b&&(this._dispose(),this.eventEmitter.emit(f.KICKED))},n.prototype.onMessage=function(a,b){var c=$(a).find('>nick[xmlns="http://jabber.org/protocol/nick"]').text()||Strophe.getResourceFromJid(b),d=$(a).find(">body").text(),g=a.getAttribute("type");if("error"==g)return this.eventEmitter.emit(f.CHAT_ERROR_RECEIVED,$(a).find(">text").text(),d),!0;var h=$(a).find(">subject");if(h.length){var i=h.text();(i||""===i)&&(this.eventEmitter.emit(f.SUBJECT_CHANGED,i),e.log("Subject is changed to "+i))}var j=$(a).find(">delay").attr("stamp");if(!j&&(j=$(a).find('>[xmlns="jabber:x:delay"]').attr("stamp"))){var k=j.match(/(\d{4})(\d{2})(\d{2}T\d{2}:\d{2}:\d{2})/);j=k[1]+"-"+k[2]+"-"+k[3]+"Z"}b==this.roomjid&&$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="104"]').length&&this.discoRoomInfo(),d&&(e.log("chat",c,d),this.eventEmitter.emit(f.MESSAGE_RECEIVED,b,c,d,this.myroomjid,j))},n.prototype.onPresenceError=function(a,b){if($(a).find('>error[type="auth"]>not-authorized[xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"]').length)e.log("on password required",b),this.eventEmitter.emit(f.PASSWORD_REQUIRED);else if($(a).find('>error[type="cancel"]>not-allowed[xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"]').length){var c=Strophe.getDomainFromJid(a.getAttribute("to"));c===this.xmpp.options.hosts.anonymousdomain?this.eventEmitter.emit(f.ROOM_JOIN_ERROR):(e.warn("onPresError ",a),this.eventEmitter.emit(f.ROOM_CONNECT_NOT_ALLOWED_ERROR))}else $(a).find(">error>service-unavailable").length?(e.warn("Maximum users limit for the room has been reached",a),this.eventEmitter.emit(f.ROOM_MAX_USERS_ERROR)):(e.warn("onPresError ",a),this.eventEmitter.emit(f.ROOM_CONNECT_ERROR))},n.prototype.kick=function(a){var b=$iq({to:this.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#admin"}).c("item",{nick:Strophe.getResourceFromJid(a),role:"none"}).c("reason").t("You have been kicked.").up().up().up();this.connection.sendIQ(b,function(b){e.log("Kick participant with jid: ",a,b)},function(a){e.log("Kick participant error: ",a)})},n.prototype.lockRoom=function(a,b,c,d){var e=this;this.connection.sendIQ($iq({to:this.roomjid,type:"get"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"}),function(f){if($(f).find('>query>x[xmlns="jabber:x:data"]>field[var="muc#roomconfig_roomsecret"]').length){var g=$iq({to:e.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"});g.c("x",{xmlns:"jabber:x:data",type:"submit"}),g.c("field",{var:"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#roomconfig").up().up(),g.c("field",{var:"muc#roomconfig_roomsecret"}).c("value").t(a).up().up(),g.c("field",{var:"muc#roomconfig_whois"}).c("value").t("anyone").up().up(),e.connection.sendIQ(g,b,c)}else d()},c)},n.prototype.addToPresence=function(a,b){b.tagName=a,this.removeFromPresence(a),this.presMap.nodes.push(b)},n.prototype.removeFromPresence=function(a){var b=this.presMap.nodes.filter(function(b){return a!==b.tagName});this.presMap.nodes=b},n.prototype.addPresenceListener=function(a,b){this.presHandlers[a]=b},n.prototype.removePresenceListener=function(a){delete this.presHandlers[a]},n.prototype.isFocus=function(a){var b=this.members[a];return b?b.isFocus:null},n.prototype.isModerator=function(){return"moderator"===this.role},n.prototype.getMemberRole=function(a){return this.members[a]?this.members[a].role:null},n.prototype.setJingleSession=function(a){this.session=a},n.prototype.removeStream=function(a,b,c,d){return this.session?void this.session.removeStream(a,b,c,d):void b()},n.prototype.addStream=function(a,b,c,d,f){this.session?this.session.addStream(a,b,c,d,f):(e.warn("No conference handler or conference not started yet"),b())},n.prototype.generateNewStreamSSRCInfo=function(){return this.session?this.session.generateNewStreamSSRCInfo():(e.warn("The call haven't been started. Cannot generate ssrc info at the moment!"),null)},n.prototype.setVideoMute=function(a,b){this.sendVideoInfoPresence(a),b&&b(a)},n.prototype.setAudioMute=function(a,b){return this.sendAudioInfoPresence(a,b)},n.prototype.addAudioInfoToPresence=function(a){this.removeFromPresence("audiomuted"),this.addToPresence("audiomuted",{attributes:{xmlns:"http://jitsi.org/jitmeet/audio"},value:a.toString()})},n.prototype.sendAudioInfoPresence=function(a,b){this.addAudioInfoToPresence(a),this.connection&&this.sendPresence(),b&&b()},n.prototype.addVideoInfoToPresence=function(a){this.removeFromPresence("videomuted"),this.addToPresence("videomuted",{attributes:{xmlns:"http://jitsi.org/jitmeet/video"},value:a.toString()})},n.prototype.sendVideoInfoPresence=function(a){this.addVideoInfoToPresence(a),this.connection&&this.sendPresence()},n.prototype.addListener=function(a,b){this.eventEmitter.on(a,b)},n.prototype.removeListener=function(a,b){this.eventEmitter.removeListener(a,b)},n.prototype.remoteTrackAdded=function(a){var b=this.lastPresences[a.owner];if(b){var c=a.mediaType,d=null;if(c===g.AUDIO)d=m(b,"audiomuted");else if(c===g.VIDEO){d=m(b,"videomuted");var h=m(b,"videoType");h&&h.length>0&&h[0]&&(a.videoType=h[0].value)}else e.warn("Unsupported media type: "+c),a.muted=null;d&&(a.muted=d.length>0&&d[0]&&"true"===d[0].value)}this.eventEmitter.emit(f.REMOTE_TRACK_ADDED,a)},n.prototype.isRecordingSupported=function(){return!!this.recording&&this.recording.isSupported()},n.prototype.getRecordingState=function(){return this.recording?this.recording.getState():void 0},n.prototype.getRecordingURL=function(){return this.recording?this.recording.getURL():null},n.prototype.toggleRecording=function(a,b){return this.recording?this.recording.toggleRecording(a,b):b("error",new Error("The conference is not created yet!"))},n.prototype.isSIPCallingSupported=function(){return!!this.moderator&&this.moderator.isSipGatewayEnabled()},n.prototype.dial=function(a){return this.connection.rayo.dial(a,"fromnumber",Strophe.getNodeFromJid(this.myroomjid),this.password,this.focusMucJid)},n.prototype.hangup=function(){return this.connection.rayo.hangup()},n.prototype.getPhoneNumber=function(){return this.phoneNumber},n.prototype.getPhonePin=function(){return this.phonePin},n.prototype.getConnectionState=function(){return this.session?this.session.getIceConnectionState():null},n.prototype.muteParticipant=function(a,b){e.info("set mute",b);var c=$iq({to:this.focusMucJid,type:"set"}).c("mute",{xmlns:"http://jitsi.org/jitmeet/audio",jid:a}).t(b.toString()).up();this.connection.sendIQ(c,function(a){e.log("set mute",a)},function(a){e.log("set mute error",a)})},n.prototype.onMute=function(a){var b=a.getAttribute("from");if(b!==this.focusMucJid)return e.warn("Ignored mute from non focus peer"),!1;var c=$(a).find("mute");if(c.length){var d="true"===c.text();this.eventEmitter.emit(f.AUDIO_MUTED_BY_FOCUS,d)}return!0},n.prototype.leave=function(){var a=this;return this._dispose(),new Promise(function(b,c){function g(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e.removeListener(f.MUC_LEFT,g),clearTimeout(d),a?c(new Error("The timeout for the confirmation about leaving the room expired.")):b()}var d=setTimeout(function(){return g(!0)},5e3),e=a.eventEmitter;e.on(f.MUC_LEFT,g),a.doLeave()})},n.prototype._dispose=function(){this.session&&this.session.close()},a.exports=n}).call(b,"modules/xmpp/ChatRoom.js")},function(a,b){"use strict";var c={ADD_ICE_CANDIDATE_FAILED:"xmpp.add_ice_candidate_failed",AUDIO_MUTED_BY_FOCUS:"xmpp.audio_muted_by_focus",AUTHENTICATION_REQUIRED:"xmpp.authentication_required",BRIDGE_DOWN:"xmpp.bridge_down",CALL_INCOMING:"xmpp.callincoming.jingle",CALL_ENDED:"xmpp.callended.jingle",CHAT_ERROR_RECEIVED:"xmpp.chat_error_received",CONFERENCE_SETUP_FAILED:"xmpp.conference_setup_failed",CONNECTION_FAILED:"xmpp.connection.failed",CONNECTION_INTERRUPTED:"xmpp.connection.interrupted",CONNECTION_RESTORED:"xmpp.connection.restored",CONNECTION_ICE_FAILED:"xmpp.connection.ice.failed",CREATE_ANSWER_ERROR:"xmpp.create_answer_error",CREATE_ANSWER_FAILED:"xmpp.create_answer_failed",CREATE_OFFER_FAILED:"xmpp.create_offer_failed",DISPLAY_NAME_CHANGED:"xmpp.display_name_changed",ETHERPAD:"xmpp.etherpad",FOCUS_DISCONNECTED:"xmpp.focus_disconnected",FOCUS_LEFT:"xmpp.focus_left",GRACEFUL_SHUTDOWN:"xmpp.graceful_shutdown",ICE_RESTARTING:"rtc.ice_restarting",JINGLE_ERROR:"xmpp.jingle_error",JINGLE_FATAL_ERROR:"xmpp.jingle_fatal_error",KICKED:"xmpp.kicked",LOCAL_ROLE_CHANGED:"xmpp.localrole_changed",MESSAGE_RECEIVED:"xmpp.message_received",MUC_DESTROYED:"xmpp.muc_destroyed",MUC_JOINED:"xmpp.muc_joined",MUC_MEMBER_JOINED:"xmpp.muc_member_joined",MUC_MEMBER_LEFT:"xmpp.muc_member_left",MUC_LEFT:"xmpp.muc_left",MUC_ROLE_CHANGED:"xmpp.muc_role_changed",MUC_LOCK_CHANGED:"xmpp.muc_lock_changed",PARTICIPANT_AUDIO_MUTED:"xmpp.audio_muted",PARTICIPANT_VIDEO_MUTED:"xmpp.video_muted",PARTICIPANT_VIDEO_TYPE_CHANGED:"xmpp.video_type",PASSWORD_REQUIRED:"xmpp.password_required",PEERCONNECTION_READY:"xmpp.peerconnection_ready",PHONE_NUMBER_CHANGED:"conference.phoneNumberChanged",PRESENCE_STATUS:"xmpp.presence_status",PROMPT_FOR_LOGIN:"xmpp.prompt_for_login",READY_TO_JOIN:"xmpp.ready_to_join",RECORDER_STATE_CHANGED:"xmpp.recorderStateChanged",REMOTE_STATS:"xmpp.remote_stats",REMOTE_TRACK_ADDED:"xmpp.remote_track_added",REMOTE_TRACK_REMOVED:"xmpp.remote_track_removed",RESERVATION_ERROR:"xmpp.room_reservation_error",ROOM_CONNECT_ERROR:"xmpp.room_connect_error",ROOM_CONNECT_NOT_ALLOWED_ERROR:"xmpp.room_connect_error.not_allowed",ROOM_JOIN_ERROR:"xmpp.room_join_error",ROOM_MAX_USERS_ERROR:"xmpp.room_max_users_error",SENDING_CHAT_MESSAGE:"xmpp.sending_chat_message", SENDRECV_STREAMS_CHANGED:"xmpp.sendrecv_streams_changed",SESSION_ACCEPT_TIMEOUT:"xmpp.session_accept_timeout",SET_LOCAL_DESCRIPTION_ERROR:"xmpp.set_local_description_error",SET_LOCAL_DESCRIPTION_FAILED:"xmpp.set_local_description_failed",SET_REMOTE_DESCRIPTION_ERROR:"xmpp.set_remote_description_error",SET_REMOTE_DESCRIPTION_FAILED:"xmpp.set_remote_description_failed",START_MUTED_FROM_FOCUS:"xmpp.start_muted_from_focus",SUBJECT_CHANGED:"xmpp.subject_changed",LOCAL_UFRAG_CHANGED:"xmpp.local_ufrag_changed",REMOTE_UFRAG_CHANGED:"xmpp.remote_ufrag_changed"};a.exports=c},function(a,b){"use strict";var c={AUDIO:"audio",VIDEO:"video"};a.exports=c},function(a,b,c){(function(b){"use strict";function h(a){var b=1;return function(c){if(c)return void(b=1);var d=Math.pow(2,b-1);return b+=1,d*a}}function i(a,b,c,e,f){function g(a){if(a.data&&a.data.sessionId){if(a.origin!==window.location.origin)return void d.warn("Ignoring sessionId from different origin: "+a.origin);e.setSessionId(a.data.sessionId)}}this.roomName=a,this.xmppService=b,this.getNextTimeout=h(1e3),this.getNextErrorTimeout=h(1e3),this.externalAuthEnabled=!1,this.settings=e,this.options=f,this.sipGatewayEnabled=this.options.connection.hosts&&void 0!==this.options.connection.hosts.call_control,this.eventEmitter=c,this.connection=this.xmppService.connection,this.focusUserJid,window.addEventListener?window.addEventListener("message",g,!1):window.attachEvent("onmessage",g)}var d=c(9).getLogger(b),e=c(35),f=c(38),g=c(39);i.prototype.isExternalAuthEnabled=function(){return this.externalAuthEnabled},i.prototype.isSipGatewayEnabled=function(){return this.sipGatewayEnabled},i.prototype.onMucMemberLeft=function(a){d.info("Someone left is it focus ? "+a);var b=Strophe.getResourceFromJid(a);"focus"===b&&(d.info("Focus has left the room - leaving conference"),this.eventEmitter.emit(e.FOCUS_LEFT))},i.prototype.setFocusUserJid=function(a){this.focusUserJid||(this.focusUserJid=a,d.info("Focus jid set to: "+this.focusUserJid))},i.prototype.getFocusUserJid=function(){return this.focusUserJid},i.prototype.getFocusComponent=function(){var a=this.options.connection.hosts.focus;return a||(a="focus."+this.options.connection.hosts.domain),a},i.prototype.createConferenceIq=function(){var a=$iq({to:this.getFocusComponent(),type:"set"}),b=this.settings.getSessionId(),c=this.settings.getUserId();if(d.info("Session ID: "+b+" machine UID: "+c),a.c("conference",{xmlns:"http://jitsi.org/protocol/focus",room:this.roomName,"machine-uid":c}),b&&a.attrs({"session-id":b}),void 0!==this.options.connection.enforcedBridge&&a.c("property",{name:"enforcedBridge",value:this.options.connection.enforcedBridge}).up(),void 0!==this.options.connection.hosts&&void 0!==this.options.connection.hosts.call_control&&a.c("property",{name:"call_control",value:this.options.connection.hosts.call_control}).up(),void 0!==this.options.conference.channelLastN&&a.c("property",{name:"channelLastN",value:this.options.conference.channelLastN}).up(),void 0!==this.options.conference.adaptiveLastN&&a.c("property",{name:"adaptiveLastN",value:this.options.conference.adaptiveLastN}).up(),void 0!==this.options.conference.disableAdaptiveSimulcast||this.options.conference.disableSimulcast){var e=!!this.options.conference.disableSimulcast||this.options.conference.disableAdaptiveSimulcast;a.c("property",{name:"disableAdaptiveSimulcast",value:e}).up()}return a.c("property",{name:"disableRtx",value:!0}).up(),a.c("property",{name:"enableLipSync",value:!1!==this.options.connection.enableLipSync}).up(),void 0!==this.options.conference.audioPacketDelay&&a.c("property",{name:"audioPacketDelay",value:this.options.conference.audioPacketDelay}).up(),this.options.conference.startBitrate&&a.c("property",{name:"startBitrate",value:this.options.conference.startBitrate}).up(),this.options.conference.minBitrate&&a.c("property",{name:"minBitrate",value:this.options.conference.minBitrate}).up(),void 0!==this.options.conference.openSctp&&a.c("property",{name:"openSctp",value:this.options.conference.openSctp}).up(),void 0!==this.options.conference.startAudioMuted&&a.c("property",{name:"startAudioMuted",value:this.options.conference.startAudioMuted}).up(),void 0!==this.options.conference.startVideoMuted&&a.c("property",{name:"startVideoMuted",value:this.options.conference.startVideoMuted}).up(),void 0!==this.options.conference.stereo&&a.c("property",{name:"stereo",value:this.options.conference.stereo}).up(),a.c("property",{name:"simulcastMode",value:"rewriting"}).up(),void 0!==this.options.conference.useRoomAsSharedDocumentName&&a.c("property",{name:"useRoomAsSharedDocumentName",value:this.options.conference.useRoomAsSharedDocumentName}).up(),a.up(),a},i.prototype.parseSessionId=function(a){var b=$(a).find("conference").attr("session-id");b&&(d.info("Received sessionId: "+b),this.settings.setSessionId(b))},i.prototype.parseConfigOptions=function(a){this.setFocusUserJid($(a).find("conference").attr("focusjid"));var b=$(a).find(">conference>property[name='authentication'][value='true']").length>0;d.info("Authentication enabled: "+b),this.externalAuthEnabled=$(a).find(">conference>property[name='externalAuth'][value='true']").length>0,d.info("External authentication enabled: "+this.externalAuthEnabled),this.externalAuthEnabled||this.parseSessionId(a);var c=$(a).find(">conference").attr("identity");this.eventEmitter.emit(f.IDENTITY_UPDATED,b,c),$(a).find(">conference>property[name='sipGatewayEnabled'][value='true']").length&&(this.sipGatewayEnabled=!0),d.info("Sip gateway enabled: "+this.sipGatewayEnabled)},i.prototype.allocateConferenceFocus=function(a){this.setFocusUserJid(this.options.connection.focusUserJid);var b=this;this.connection.sendIQ(this.createConferenceIq(),function(c){b._allocateConferenceFocusSuccess(c,a)},function(c){b._allocateConferenceFocusError(c,a)}),this.connection.flush()},i.prototype._allocateConferenceFocusError=function(a,b){var c=this,f=$(a).find(">error>session-invalid").length;if(f&&(d.info("Session expired! - removing"),c.settings.clearSessionId()),$(a).find(">error>graceful-shutdown").length)return void c.eventEmitter.emit(e.GRACEFUL_SHUTDOWN);var h=$(a).find(">error>reservation-error");if(h.length){var k,i=h.attr("error-code"),j=$(a).find(">error>text");return j&&(k=j.text()),void c.eventEmitter.emit(e.RESERVATION_ERROR,i,k)}if($(a).find(">error>not-authorized").length){d.warn("Unauthorized to start the conference",a);var l=Strophe.getDomainFromJid(a.getAttribute("to"));return l!==c.options.connection.hosts.anonymousdomain&&(c.externalAuthEnabled=!0),void c.eventEmitter.emit(e.AUTHENTICATION_REQUIRED,function(){c.allocateConferenceFocus(b)})}if(this.retries>=this.maxRetries)return void c.eventEmitter.emit(e.ALLOCATE_FOCUS_MAX_RETRIES_ERROR);this.retries++;var m=c.getNextErrorTimeout(),n="Focus error, retry after "+m;g.callErrorHandler(new Error(n)),d.error(n,a);var o=c.getFocusComponent(),p=m/1e3;f||c.eventEmitter.emit(e.FOCUS_DISCONNECTED,o,p),c.getNextTimeout(!0),window.setTimeout(function(){c.allocateConferenceFocus(b)},m)},i.prototype._allocateConferenceFocusSuccess=function(a,b){if(this.parseConfigOptions(a),this.getNextErrorTimeout(!0),"true"===$(a).find("conference").attr("ready"))this.getNextTimeout(!0),b();else{var c=this.getNextTimeout();d.info("Waiting for the focus... "+c);var e=this;window.setTimeout(function(){e.allocateConferenceFocus(b)},c)}},i.prototype.authenticate=function(){var a=this;return new Promise(function(b,c){a.connection.sendIQ(a.createConferenceIq(),function(c){a.parseSessionId(c),b()},function(a){var b=$(a).find(">error").attr("code");c(a,b)})})},i.prototype.getLoginUrl=function(a,b){this._getLoginUrl(!1,a,b)},i.prototype._getLoginUrl=function(a,b,c){function i(a,b){g.callErrorHandler(new Error(a)),d.error(a,b),c(b)}var e=$iq({to:this.getFocusComponent(),type:"get"}),f={xmlns:"http://jitsi.org/protocol/focus",room:this.roomName,"machine-uid":this.settings.getUserId()},h="auth url";a&&(f.popup=!0,h="POPUP "+h),e.c("login-url",f),this.connection.sendIQ(e,function(a){var c=$(a).find("login-url").attr("url");c=decodeURIComponent(c),c?(d.info("Got "+h+": "+c),b(c)):i("Failed to get "+h+" from the focus",a)},i.bind(void 0,"Get "+h+" error"))},i.prototype.getPopupLoginUrl=function(a,b){this._getLoginUrl(!0,a,b)},i.prototype.logout=function(a){var b=$iq({to:this.getFocusComponent(),type:"set"}),c=this.settings.getSessionId();return c?(b.c("logout",{xmlns:"http://jitsi.org/protocol/focus","session-id":c}),void this.connection.sendIQ(b,function(b){var c=$(b).find("logout").attr("logout-url");c&&(c=decodeURIComponent(c)),d.info("Log out OK, url: "+c,b),this.settings.clearSessionId(),a(c)}.bind(this),function(a){var b="Logout error";g.callErrorHandler(new Error(b)),d.error(b,a)})):void a()},a.exports=i}).call(b,"modules/xmpp/moderator.js")},function(a,b){"use strict";var c={IDENTITY_UPDATED:"authentication.identity_updated"};a.exports=c},function(a,b){"use strict";function e(a,b,e,f,g){c.forEach(function(c){c(a,b,e,f,g)}),d&&d(a,b,e,f,g)}function g(a){c.forEach(function(b){b(null,null,null,null,a.reason)}),f&&f(a)}var c=[],d=window.onerror,f=window.onunhandledrejection;window.onerror=e,window.onunhandledrejection=g;var h={addHandler:function(b){c.push(b)},callErrorHandler:function(b){var c=window.onerror;c&&c(null,null,null,null,b)},callUnhandledRejectionHandler:function(b){var c=window.onunhandledrejection;c&&c(b)}};a.exports=h},function(a,b,c){(function(b){"use strict";function i(a,b,c,d,e,f){this.eventEmitter=b,this.connection=c,this.state=null,this.focusMucJid=d,this.jirecon=e,this.url=null,this.type=a,this._isSupported=!(a===i.types.JIRECON&&!this.jirecon||a!==i.types.JIBRI&&a!==i.types.COLIBRI),this.jireconRid=null,this.roomjid=f}var d=c(9),e=(0,d.getLogger)(b),f=c(35),g=c(41),h=c(39);i.types={COLIBRI:"colibri",JIRECON:"jirecon",JIBRI:"jibri"},i.status={ON:"on",OFF:"off",AVAILABLE:"available",UNAVAILABLE:"unavailable",PENDING:"pending",RETRYING:"retrying",BUSY:"busy",FAILED:"failed"},i.action={START:"start",STOP:"stop"},i.prototype.handleJibriPresence=function(a){var b=a.attributes;if(b){var c=b.status;e.log("Handle jibri presence : ",c),c!==this.state&&("undefined"===c?this.state=i.status.UNAVAILABLE:"off"===c?this.state&&"undefined"!==this.state&&this.state!==i.status.UNAVAILABLE?this.state=i.status.OFF:this.state=i.status.AVAILABLE:this.state=c,this.eventEmitter.emit(f.RECORDER_STATE_CHANGED,this.state))}},i.prototype.setRecordingJibri=function(a,b,c,d){a==this.state&&c(g.INVALID_STATE),d=d||{};var f=$iq({to:this.focusMucJid,type:"set"}).c("jibri",{xmlns:"http://jitsi.org/protocol/jibri",action:a===i.status.ON?i.action.START:i.action.STOP,streamid:d.streamId}).up();e.log("Set jibri recording: "+a,f.nodeTree),e.log(f.nodeTree),this.connection.sendIQ(f,function(a){e.log("Result",a),b($(a).find("jibri").attr("state"),$(a).find("jibri").attr("url"))},function(a){e.log("Failed to start recording, error: ",a),c(a)})},i.prototype.setRecordingJirecon=function(a,b,c){a==this.state&&c(new Error("Invalid state!"));var d=$iq({to:this.jirecon,type:"set"}).c("recording",{xmlns:"http://jitsi.org/protocol/jirecon",action:a===i.status.ON?i.action.START:i.action.STOP,mucjid:this.roomjid});"off"===a&&d.attrs({rid:this.jireconRid}),e.log("Start recording");var f=this;this.connection.sendIQ(d,function(c){f.jireconRid=$(c).find("recording").attr("rid"),e.log("Recording "+(a===i.status.ON?"started":"stopped")+"(jirecon)"+c),f.state=a,a===i.status.OFF&&(f.jireconRid=null),b(a)},function(a){e.log("Failed to start recording, error: ",a),c(a)})},i.prototype.setRecordingColibri=function(a,b,c,d){var f=$iq({to:this.focusMucJid,type:"set"});f.c("conference",{xmlns:"http://jitsi.org/protocol/colibri"}),f.c("recording",{state:a,token:d.token});var g=this;this.connection.sendIQ(f,function(c){e.log('Set recording "',a,'". Result:',c);var d=$(c).find(">conference>recording"),f=d.attr("state");g.state=f,b(f),"pending"===f&&g.connection.addHandler(function(a){var c=$(a).find("recording").attr("state");c&&(g.state=f,b(c))},"http://jitsi.org/protocol/colibri","iq",null,null,null)},function(a){e.warn(a),c(a)})},i.prototype.setRecording=function(a,b,c,d){switch(this.type){case i.types.JIRECON:this.setRecordingJirecon(a,b,c,d);break;case i.types.COLIBRI:this.setRecordingColibri(a,b,c,d);break;case i.types.JIBRI:this.setRecordingJibri(a,b,c,d);break;default:var f="Unknown recording type!";return h.callErrorHandler(new Error(f)),void e.error(f)}},i.prototype.toggleRecording=function(a,b){var c=this.state;if(c===i.status.UNAVAILABLE||c===i.status.FAILED?b(i.status.FAILED,g.RECORDER_UNAVAILABLE):c===i.status.BUSY&&b(i.status.BUSY,g.RECORDER_BUSY),(c===i.status.OFF||c===i.status.AVAILABLE)&&(!a.token&&this.type===i.types.COLIBRI||!a.streamId&&this.type===i.types.JIBRI))return b(i.status.FAILED,g.NO_TOKEN),void e.error("No token passed!");var d=c===i.status.AVAILABLE||c===i.status.OFF?i.status.ON:i.status.OFF,f=this;e.log("Toggle recording (old state, new state): ",c,d),this.setRecording(d,function(a,d){a&&a!==c&&(f.state=a,f.url=d,b(a))},function(a){b(i.status.FAILED,a)},a)},i.prototype.isSupported=function(){return this._isSupported},i.prototype.getState=function(){return this.state},i.prototype.getURL=function(){return this.url},a.exports=i}).call(b,"modules/xmpp/recording.js")},function(a,b){"use strict";var c={RECORDER_UNAVAILABLE:"recorder.unavailable",RECORDER_BUSY:"recorder.busy",NO_TOKEN:"recorder.noToken",STATE_CHANGE_FAILED:"recorder.stateChangeFailed",INVALID_STATE:"recorder.invalidState"};a.exports=c},function(a,b){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var c=function(){function a(a,b){for(var c=0;cstartmuted");if(k&&k.length>0){var m=k.attr("audio"),o=k.attr("video");this.eventEmitter.emit(j.default.START_MUTED_FROM_FOCUS,"true"===m,"true"===o)}g=new h.default($(b).attr("to"),$(b).find("jingle").attr("sid"),e,this.connection,this.media_constraints,this.ice_config,this.xmpp),this.sessions[g.sid]=g,this.eventEmitter.emit(j.default.CALL_INCOMING,g,$(b).find(">jingle"),i),n.default.analytics.sendEvent("xmpp.session-initiate",{value:i});break;case"session-terminate":u.log("terminating...",g.sid);var p=null,q=null;$(b).find(">jingle>reason").length&&(p=$(b).find(">jingle>reason>:first")[0].tagName,q=$(b).find(">jingle>reason>text").text()),this.terminate(g.sid,p,q),this.eventEmitter.emit(j.default.CALL_ENDED,g,p,q);break;case"transport-replace":u.info("(TIME) Start transport replace",i),n.default.analytics.sendEvent("xmpp.transport-replace.start",{value:i}),g.replaceTransport($(b).find(">jingle"),function(){var a=window.performance.now();u.info("(TIME) Transport replace success!",a),n.default.analytics.sendEvent("xmpp.transport-replace.success",{value:a})},function(a){l.default.callErrorHandler(a),u.error("Transport replace failed",a),g.sendTransportReject()});break;case"addsource":case"source-add":g.addSource($(b).find(">jingle>content"));break;case"removesource":case"source-remove":g.removeSource($(b).find(">jingle>content"));break;default:u.warn("jingle action not implemented",d),f.attrs({type:"error"}),f.c("error",{type:"cancel"}).c("bad-request",{xmlns:"urn:ietf:params:xml:ns:xmpp-stanzas"}).up()}return this.connection.send(f),!0}},{key:"terminate",value:function(b,c,d){this.sessions.hasOwnProperty(b)&&("ended"!=this.sessions[b].state&&this.sessions[b].onTerminated(c,d),delete this.sessions[b])}},{key:"getStunAndTurnCredentials",value:function(){var b=this;this.connection.sendIQ($iq({type:"get",to:this.connection.domain}).c("services",{xmlns:"urn:xmpp:extdisco:1"}).c("service",{host:"turn."+this.connection.domain}),function(a){var c=[];$(a).find(">services>service").each(function(a,b){b=$(b);var d={},e=b.attr("type");switch(e){case"stun":d.url="stun:"+b.attr("host"),b.attr("port")&&(d.url+=":"+b.attr("port")),c.push(d);break;case"turn":case"turns":d.url=e+":";var f=b.attr("username");f&&(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)&&parseInt(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)[2],10)<28?d.url+=f+"@":d.username=f),d.url+=b.attr("host");var g=b.attr("port");g&&"3478"!=g&&(d.url+=":"+b.attr("port"));var h=b.attr("transport");h&&"udp"!=h&&(d.url+="?transport="+h),d.credential=b.attr("password")||d.credential,c.push(d)}}),b.ice_config.iceServers=c},function(a){u.warn("getting turn credentials failed",a),u.warn("is mod_turncredentials or similar installed?")})}},{key:"getLog",value:function(){var b=this,c={};return Object.keys(this.sessions).forEach(function(a){var d=b.sessions[a],e=d.peerconnection;e&&e.updateLog&&(c["jingle_"+a]={updateLog:e.updateLog,stats:e.stats,url:window.location.href})}),c}}]),b}(p.default);a.exports=function(a,b){Strophe.addConnectionPlugin("jingle",new v(a,b))}}).call(b,"modules/xmpp/strophe.jingle.js")},function(a,b,c){(function(b){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function u(a,b,c,d,e,f,g,h){i.call(this,a,b,c,d,e,f,g,h),this.localSDP=null,this.lasticecandidate=!1,this.closed=!1,this.addssrc=[],this.removessrc=[],this.modifyingLocalStreams=!1,this.modifiedSSRCs={},this.localUfrag=null,this.remoteUfrag=null,this.ssrcOwners={},this.jingleOfferIq=null,this.webrtcIceUdpDisable=!!this.service.options.webrtcIceUdpDisable,this.webrtcIceTcpDisable=!!this.service.options.webrtcIceTcpDisable,this.failICE=!!this.service.options.failICE,this.modifySourcesQueue=n.queue(this._modifySources.bind(this),1)}function v(a,b){var c=$(a.tree()).find('>jingle>content[name="'+b+'"]');c&&c.length||($(a.tree()).find(">jingle").append(''),c=$(a.tree()).find('>jingle>content[name="'+b+'"]'));var d=c.find(">description");return d&&d.length||(c.append(''),d=c.find(">description")),d}function w(a){var b=a.split("\n").filter(function(a){return a.startsWith("a=ice-ufrag:")});if(b.length>0)return b[0].substr("a=ice-ufrag:".length)}var d=c(9),e=c(45),f=g(e),h=(0,d.getLogger)(b),i=c(46),j=c(47),k=c(129),l=c(52),m=c(130),n=c(131),o=c(35),p=c(32),q=c(48),r=c(39),s=c(59),t=1e4;u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.prototype.doInitialize=function(){var a=this;this.lasticecandidate=!1,this.isreconnect=!1,this.wasstable=!1,this.peerconnection=new j(this.connection.jingle.ice_config,q.getPCConstraints(),this),this.peerconnection.onicecandidate=function(b){if(b){var c=b.candidate;if(c){var d=c.protocol;if("string"==typeof d)if(d=d.toLowerCase(),"tcp"===d||"ssltcp"===d){if(a.webrtcIceTcpDisable)return}else if("udp"==d&&a.webrtcIceUdpDisable)return}a.sendIceCandidate(c)}},this.peerconnection.onaddstream=function(b){a.remoteStreamAdded(b.stream)},this.peerconnection.onremovestream=function(b){a.remoteStreamRemoved(b.stream)},this.peerconnection.onsignalingstatechange=function(){a&&a.peerconnection&&"stable"===a.peerconnection.signalingState&&(a.wasstable=!0)},this.peerconnection.oniceconnectionstatechange=function(){if(a&&a.peerconnection){var b=window.performance.now();switch(a.room.connectionTimes["ice.state."+a.peerconnection.iceConnectionState]=b,h.log("(TIME) ICE "+a.peerconnection.iceConnectionState+":\t",b),s.analytics.sendEvent("ice."+a.peerconnection.iceConnectionState,{value:b}),a.peerconnection.iceConnectionState){case"connected":"stable"===a.peerconnection.signalingState&&a.isreconnect&&a.room.eventEmitter.emit(o.CONNECTION_RESTORED),a.isreconnect=!1;break;case"disconnected":if(a.closed)break;a.isreconnect=!0,a.wasstable&&a.room.eventEmitter.emit(o.CONNECTION_INTERRUPTED);break;case"failed":a.room.eventEmitter.emit(o.CONNECTION_ICE_FAILED,a.peerconnection)}}},this.peerconnection.onnegotiationneeded=function(){a.room.eventEmitter.emit(o.PEERCONNECTION_READY,a)}},u.prototype.sendIceCandidate=function(a){var b=this;if(a&&!this.lasticecandidate){var c=l.iceparams(this.localSDP.media[a.sdpMLineIndex],this.localSDP.session),d=l.candidateToJingle(a.candidate);if(!c||!d){var e="failed to get ice && jcand";return r.callErrorHandler(new Error(e)),void h.error(e)}c.xmlns="urn:xmpp:jingle:transports:ice-udp:1",this.usedrip?(0===this.drip_container.length&&window.setTimeout(function(){0!==b.drip_container.length&&(b.sendIceCandidates(b.drip_container),b.drip_container=[])},20),this.drip_container.push(a)):b.sendIceCandidates([a])}else h.log("sendIceCandidate: last candidate."),this.lasticecandidate=!0},u.prototype.sendIceCandidates=function(a){h.log("sendIceCandidates",a);for(var b=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-info",initiator:this.initiator,sid:this.sid}),c=0;c0){var f=l.iceparams(this.localSDP.media[c],this.localSDP.session);f.xmlns="urn:xmpp:jingle:transports:ice-udp:1",b.c("content",{creator:this.initiator==this.me?"initiator":"responder",name:d[0].sdpMid?d[0].sdpMid:e.media}).c("transport",f);for(var g=0;gsource[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');d.each(function(){var a=this.getAttribute("ssrc");$(this).find('>ssrc-info[xmlns="http://jitsi.org/jitmeet"]').each(function(){var c=this.getAttribute("owner");b.ssrcOwners[a]=c})})})},u.prototype.acceptOffer=function(a,b,c){this.state=f.ACTIVE,this.setOfferCycle(a,function(){this.sendSessionAccept(this.localSDP,b,c)}.bind(this),c)},u.prototype.setOfferCycle=function(a,b,c){this.jingleOfferIq=a,this.modifySourcesQueue.push(b,function(a){a&&(c&&c(a),u.onJingleFatalError(this,a))}.bind(this))},u._fixAnswerRFC4145Setup=function(a,b){p.isChrome()&&a&&b&&a.media&&b.media&&a.media.length==b.media.length&&(b.media.forEach(function(c,d){l.find_line(a.media[d],"a=setup:actpass",a.session)&&(b.media[d]=c.replace(/a=setup:active/g,"a=setup:passive"))}),b.raw=b.session+b.media.join(""))},u.prototype.replaceTransport=function(a,b,c){this.room.eventEmitter.emit(o.ICE_RESTARTING);var d=a.clone();a.find(">content[name='data']").remove();var e=this;this.setOfferCycle(a,function(){e.setOfferCycle(d,function(){e.sendTransportAccept(e.localSDP,b,c)},c)},c)},u.prototype.sendSessionAccept=function(a,b,c){var d=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"session-accept",initiator:this.initiator,responder:this.responder,sid:this.sid});this.webrtcIceTcpDisable&&(a.removeTcpCandidates=!0),this.webrtcIceUdpDisable&&(a.removeUdpCandidates=!0),this.failICE&&(a.failICE=!0),a.toJingle(d,this.initiator==this.me?"initiator":"responder",null),this.fixJingle(d),d=d.tree(),h.info("Sending session-accept",d);var e=this;this.connection.sendIQ(d,b,this.newJingleErrorHandler(d,function(a){c(a),e.room.eventEmitter.emit(o.SESSION_ACCEPT_TIMEOUT)}),t)},u.prototype.sendTransportAccept=function(a,b,c){var d=this,e=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-accept",initiator:this.initiator,sid:this.sid});a.media.forEach(function(b,c){var f=l.parse_mline(b.split("\r\n")[0]);e.c("content",{creator:d.initiator==d.me?"initiator":"responder",name:f.media}),a.transportToJingle(c,e),e.up()}),e=e.tree(),console.info("Sending transport-accept: ",e),d.connection.sendIQ(e,b,d.newJingleErrorHandler(e,c),t)},u.prototype.sendTransportReject=function(a,b){var c=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-reject",initiator:this.initiator,sid:this.sid});c=c.tree(),h.info("Sending 'transport-reject",c),this.connection.sendIQ(c,a,this.newJingleErrorHandler(c,b),t)},u.prototype.terminate=function(a,b,c,d){this.state=f.ENDED;var e=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"session-terminate",initiator:this.initiator,sid:this.sid}).c("reason").c(a||"success");b&&e.up().c("text").t(b),e=e.tree(),h.info("Sending session-terminate",e),this.connection.sendIQ(e,c,this.newJingleErrorHandler(e,d),t),this.connection.jingle.terminate(this.sid)},u.prototype.onTerminated=function(a,b){this.state="ended",h.info("Session terminated",this,a,b),this.close()},u.prototype.addSource=function(a){var b=this;if(!this.peerconnection.localDescription)return h.warn("addSource - localDescription not ready yet"),void setTimeout(function(){b.addSource(a)},200);h.log("addssrc",(new Date).getTime()),h.log("ice",this.peerconnection.iceConnectionState),this.readSsrcInfo(a);var c=new m(this.peerconnection.remoteDescription.sdp),d=new m(this.peerconnection.localDescription.sdp);$(a).each(function(a,e){var f=$(e).attr("name"),g="";$(e).find('ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),b=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();b.length&&(g+="a=ssrc-group:"+a+" "+b.join(" ")+"\r\n")});var i=$(e).find('source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');i.each(function(){var a=$(this).attr("ssrc");return d.containsSSRC(a)?void h.warn("Got add stream request for my own ssrc: "+a):c.containsSSRC(a)?void h.warn("Source-add request for existing SSRC: "+a):void $(this).find(">parameter").each(function(){g+="a=ssrc:"+a+" "+$(this).attr("name"),$(this).attr("value")&&$(this).attr("value").length&&(g+=":"+$(this).attr("value")),g+="\r\n"})}),c.media.forEach(function(a,d){l.find_line(a,"a=mid:"+f)&&(c.media[d]+=g,b.addssrc[d]||(b.addssrc[d]=""),b.addssrc[d]+=g)}),c.raw=c.session+c.media.join("")}),this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(b.peerconnection.localDescription.sdp);h.log("SDPs",d,a),b.notifyMySSRCUpdate(d,a)})},u.prototype.removeSource=function(a){var b=this;if(!this.peerconnection.localDescription)return h.warn("removeSource - localDescription not ready yet"),void setTimeout(function(){b.removeSource(a)},200);h.log("removessrc",(new Date).getTime()),h.log("ice",this.peerconnection.iceConnectionState);var c=new m(this.peerconnection.remoteDescription.sdp),d=new m(this.peerconnection.localDescription.sdp);$(a).each(function(a,e){var f=$(e).attr("name"),g="";$(e).find('ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),b=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();b.length&&(g+="a=ssrc-group:"+a+" "+b.join(" ")+"\r\n")});var i=[],j=$(e).find('source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');j.each(function(){var a=$(this).attr("ssrc");if(d.containsSSRC(a)){var b="Got remove stream request for my own ssrc: "+a;return r.callErrorHandler(new Error(b)),void h.error(b)}i.push(a)}),c.media.forEach(function(a,c){l.find_line(a,"a=mid:"+f)&&(b.removessrc[c]||(b.removessrc[c]=""),i.forEach(function(d){var e=l.find_lines(a,"a=ssrc:"+d);e.length&&(b.removessrc[c]+=e.join("\r\n")+"\r\n"),b.addssrc[c]&&(b.addssrc[c]=b.addssrc[c].replace(new RegExp("^a=ssrc:"+d+" .*\r\n","gm"),""))}),b.removessrc[c]+=g)}),c.raw=c.session+c.media.join("")}),this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(b.peerconnection.localDescription.sdp);h.log("SDPs",d,a),b.notifyMySSRCUpdate(d,a)})},u.prototype._modifySources=function(a,b){function f(a,c){c?(a=a+": "+c,h.error(a,c)):(h.error(a),c=new Error(a)),r.callErrorHandler(new Error(a)),b(c)}var e,c=this,d=null;if("closed"!=this.peerconnection.signalingState){if(!(this.addssrc.length||this.removessrc.length||this.modifyingLocalStreams||null!==this.jingleOfferIq))return a&&a(),void b();this.jingleOfferIq?(d=new m(""),this.webrtcIceTcpDisable&&(d.removeTcpCandidates=!0),this.webrtcIceUdpDisable&&(d.removeUdpCandidates=!0),this.failICE&&(d.failICE=!0),d.fromJingle(this.jingleOfferIq),this.readSsrcInfo($(this.jingleOfferIq).find(">content")),this.jingleOfferIq=null,e=this.media_constraints):(this.modifyingLocalStreams=!1,d=new m(this.peerconnection.remoteDescription.sdp)),this.addssrc.forEach(function(a,b){d.media[b]+=a}),this.addssrc=[],this.removessrc.forEach(function(a,b){a=a.split("\r\n"),a.pop(),a.forEach(function(a){ d.media[b]=d.media[b].replace(a+"\r\n","")})}),this.removessrc=[],d.raw=d.session+d.media.join("");var g=w(d.raw);g!=c.remoteUfrag&&(c.remoteUfrag=g,c.room.eventEmitter.emit(o.REMOTE_UFRAG_CHANGED,g)),this.peerconnection.setRemoteDescription(new RTCSessionDescription({type:"offer",sdp:d.raw}),function(){return"closed"==c.signalingState?void f("createAnswer attempt on closed state"):void c.peerconnection.createAnswer(function(e){var g=new m(e.sdp);u._fixAnswerRFC4145Setup(d,g),e.sdp=g.raw,c.localSDP=new m(e.sdp),e.sdp=c.localSDP.raw;var h=w(e.sdp);h!=c.localUfrag&&(c.localUfrag=h,c.room.eventEmitter.emit(o.LOCAL_UFRAG_CHANGED,h)),c.peerconnection.setLocalDescription(e,function(){a&&a(),b()},f.bind(void 0,"modified setLocalDescription failed"))},f.bind(void 0,"modified answer failed"),e)},f.bind(void 0,"modify failed"))}},u.prototype.addStream=function(a,b,c,d,e){var f=null;if(this.peerconnection&&this.peerconnection.localDescription&&(f=new m(this.peerconnection.localDescription.sdp)),!f||!this.peerconnection||e)return this.peerconnection&&(a||d)&&this.peerconnection.addStream(a,d),d&&(this.modifiedSSRCs[d.type]=this.modifiedSSRCs[d.type]||[],this.modifiedSSRCs[d.type].push(d)),void b();(a||d)&&this.peerconnection.addStream(a,d),this.modifyingLocalStreams=!0;var g=this;this.modifySourcesQueue.push(function(){h.log("modify sources done"),d&&(g.modifiedSSRCs[d.type]=g.modifiedSSRCs[d.type]||[],g.modifiedSSRCs[d.type].push(d));var a=new m(g.peerconnection.localDescription.sdp);h.log("SDPs",f,a),g.notifyMySSRCUpdate(f,a)},function(a){a?c(a):b()})},u.prototype.generateNewStreamSSRCInfo=function(){return this.peerconnection.generateNewStreamSSRCInfo()},u.prototype.removeStream=function(a,b,c,d){if(!this.peerconnection)return void b();var e=null;if(this.peerconnection.localDescription&&(e=new m(this.peerconnection.localDescription.sdp)),!e)return void b();if(p.getBrowserType()===p.RTC_BROWSER_FIREFOX){if(!a)return void b();var f=null,g=null;if(a.getAudioTracks()&&a.getAudioTracks().length?g=a.getAudioTracks()[0]:a.getVideoTracks()&&a.getVideoTracks().length&&(g=a.getVideoTracks()[0]),!g){var i="Cannot remove tracks: no tracks.";return h.log(i),void c(new Error(i))}this.peerconnection.peerconnection.getSenders().some(function(a){if(a.track===g)return f=a,!0}),f?this.peerconnection.peerconnection.removeTrack(f):h.log("Cannot remove tracks: no RTPSender.")}else a&&this.peerconnection.removeStream(a,!1,d);this.modifyingLocalStreams=!0;var j=this;this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(j.peerconnection.localDescription.sdp);d&&(j.modifiedSSRCs[d.type]=j.modifiedSSRCs[d.type]||[],j.modifiedSSRCs[d.type].push(d)),h.log("SDPs",e,a),j.notifyMySSRCUpdate(e,a)},function(a){a?c(a):b()})},u.prototype.notifyMySSRCUpdate=function(a,b){if(this.state!==f.ACTIVE)return void h.warn("Skipping SSRC update in '"+this.state+" ' state.");e=new k(b,a);var c=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"source-remove",initiator:this.initiator,sid:this.sid});e.toJingle(c);var d=this.fixJingle(c);d&&c?(h.info("Sending source-remove",c.tree()),this.connection.sendIQ(c,null,this.newJingleErrorHandler(c,function(a){r.callErrorHandler(new Error("Jingle error: "+JSON.stringify(a)))}),t)):h.log("removal not necessary");var e=new k(a,b),g=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"source-add",initiator:this.initiator,sid:this.sid});e.toJingle(g);var i=this.fixJingle(g);i&&g?(h.info("Sending source-add",g.tree()),this.connection.sendIQ(g,null,this.newJingleErrorHandler(g,function(a){r.callErrorHandler(new Error("Jingle error: "+JSON.stringify(a)))}),t)):h.log("addition not necessary")},u.prototype.newJingleErrorHandler=function(a,b){return function(c){var d={},e=$(c).find("error");if(e.length){d.code=e.attr("code");var f=$(c).find("error :first");f.length&&(d.reason=f[0].tagName)}c||(d.reason="timeout"),d.source=null,a&&"function"==typeof a.tree&&(d.source=a.tree()),h.error("Jingle error",d),b&&b(d)}.bind(this)},u.onJingleFatalError=function(a,b){this.room.eventEmitter.emit(o.CONFERENCE_SETUP_FAILED,b),this.room.eventEmitter.emit(o.JINGLE_FATAL_ERROR,a,b)},u.prototype.remoteStreamAdded=function(a){var b=this;return q.isUserStream(a)?((p.isChrome()||p.isNWJS())&&(a.onaddtrack=function(a){b.remoteTrackAdded(a.target,a.track)},a.onremovetrack=function(a){b.remoteTrackRemoved(a.target,a.track)}),a.getAudioTracks().forEach(function(c){b.remoteTrackAdded(a,c)}),void a.getVideoTracks().forEach(function(c){b.remoteTrackAdded(a,c)})):void h.info("Ignored remote 'stream added' event for non-user stream",a)},u.prototype.remoteTrackAdded=function(a,b){h.info("Remote track added",a,b);var c=q.getStreamID(a),d=b.kind,e={stream:a,track:b,mediaType:b.kind,owner:void 0,muted:null};try{if(!d)throw h.error("MediaType undefined",b),new Error("MediaType undefined for remote track");var f=new m(this.peerconnection.remoteDescription.sdp),g=f.media.filter(function(a){return a.startsWith("m="+d)});if(!g.length)throw h.error("No media for type "+d+" found in remote SDP"),new Error("No media for type "+d+" found in remote SDP for remote track");var i=l.find_lines(g[0],"a=ssrc:");i=i.filter(function(a){var b=p.isTemasysPluginUsed()?"mslabel":"msid";return a.indexOf(b+":"+c)!==-1});var j;if(!i.length)throw h.error("No SSRC lines for ",c),new Error("No SSRC lines for streamId "+c+" for remote track");if(j=i[0].substring(7).split(" ")[0],!this.ssrcOwners[j])throw h.error("No SSRC owner known for: "+j),new Error("No SSRC owner known for: "+j+" for remote track");e.owner=this.ssrcOwners[j],h.log("associated jid",this.ssrcOwners[j],j),e.ssrc=j,this.room.remoteTrackAdded(e)}catch(a){r.callErrorHandler(a)}},u.prototype.remoteStreamRemoved=function(a){var b=this;return q.isUserStream(a)?(a.getVideoTracks().forEach(function(c){b.remoteTrackRemoved(a,c)}),void a.getAudioTracks().forEach(function(c){b.remoteTrackRemoved(a,c)})):void h.info("Ignored remote 'stream removed' event for non-user stream",a)},u.prototype.remoteTrackRemoved=function(a,b){h.info("Remote track removed",a,b);var c=q.getStreamID(a),d=b&&b.id;try{if(!c)throw h.error("No stream ID for",a),new Error("Remote track removal failed - No stream ID");if(!d)throw h.error("No track ID for",b),new Error("Remote track removal failed - No track ID");this.room.eventEmitter.emit(o.REMOTE_TRACK_REMOVED,c,d)}catch(a){r.callErrorHandler(a)}},u.prototype.getIceConnectionState=function(){return this.peerconnection.iceConnectionState},u.prototype.close=function(){this.closed=!0,this.peerconnection&&this.peerconnection.close()},u.prototype.fixJingle=function(a){var b=$(a.nodeTree).find("jingle").attr("action");switch(b){case"source-add":case"session-accept":this.fixSourceAddJingle(a);break;case"source-remove":this.fixSourceRemoveJingle(a);break;default:var c="Unknown jingle action!";return r.callErrorHandler(c),h.error(c),!1}var d=$(a.tree()).find(">jingle>content>description>source");return d&&d.length>0},u.prototype.fixSourceAddJingle=function(a){var b=this.modifiedSSRCs.unmute;this.modifiedSSRCs.unmute=[],b&&b.length&&b.forEach(function(b){var c=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description');c&&c.length&&(b.ssrc.ssrcs.forEach(function(a){var b=c.find('>source[ssrc="'+a+'"]');b.remove()}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b.remove()}))}),b=this.modifiedSSRCs.addMuted,this.modifiedSSRCs.addMuted=[],b&&b.length&&b.forEach(function(b){var c=v(a,b.mtype),d=Math.random().toString(36).substring(2);b.ssrc.ssrcs.forEach(function(a){var e=c.find('>source[ssrc="'+a+'"]');e.remove();var f='';c.append(f)}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b.remove(),c.append('')})})},u.prototype.fixSourceRemoveJingle=function(a){var b=this.modifiedSSRCs.mute;this.modifiedSSRCs.mute=[],b&&b.length&&b.forEach(function(b){b.ssrc.ssrcs.forEach(function(c){var d=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description>source[ssrc="'+c+'"]');d.remove()}),b.ssrc.groups.forEach(function(c){var d=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description>ssrc-group[semantics="'+c.group.semantics+'"]:has(source[ssrc="'+c.primarySSRC+'"])');d.remove()})}),b=this.modifiedSSRCs.remove,this.modifiedSSRCs.remove=[],b&&b.length&&b.forEach(function(b){var c=v(a,b.mtype);b.ssrc.ssrcs.forEach(function(a){var b=c.find('>source[ssrc="'+a+'"]');b&&b.length||c.append('')}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b&&b.length||c.append('')})})},a.exports=u}).call(b,"modules/xmpp/JingleSessionPC.js")},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.PENDING="pending",b.ACTIVE="active",b.ENDED="ended"},function(a,b,c){(function(b){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a,b,c,d,e,f,g,h){this.me=a,this.sid=b,this.peerjid=c,this.connection=d,this.service=g,this.eventEmitter=h,this.usedrip=!0,this.drip_container=[],this.media_constraints=e,this.ice_config=f,this.room=null,this.state=null}var d=c(9),e=c(45),f=g(e),h=(0,d.getLogger)(b);i.prototype.initialize=function(a,b){if(null!==this.state){var c="attempt to initiate on session "+this.sid+"in state "+this.state;throw h.error(c),new Error(c)}this.room=b,this.state=f.PENDING,this.initiator=a?this.me:this.peerjid,this.responder=a?this.peerjid:this.me,this.doInitialize()},i.prototype.doInitialize=function(){},i.prototype.addIceCandidates=function(a){},i.prototype.getState=function(){return this.state},i.prototype.addSources=function(a){},i.prototype.removeSources=function(a){},i.prototype.terminate=function(a,b,c,d){},i.prototype.acceptOffer=function(a,b,c){},a.exports=i}).call(b,"modules/xmpp/JingleSession.js")},function(a,b,c){(function(b){"use strict";function n(a,b,d){var e=this;this.session=d,this.replaceSSRCs={audio:[],video:[]},this.recvOnlySSRCs={};var f=null;f=h.isFirefox()?mozRTCPeerConnection:h.isTemasysPluginUsed()?RTCPeerConnection:webkitRTCPeerConnection,this.peerconnection=new f(a,b),this.updateLog=[],this.stats={},this.statsinterval=null,this.maxstats=0;var g=c(123).Interop;this.interop=new g;var i=c(127);this.simulcast=new i({numOfLayers:m,explodeRemoteSimulcast:!1}),this.eventEmitter=this.session.room.eventEmitter,this.trace=function(a,b){e.updateLog.push({time:new Date,type:a,value:b||""})},this.onicecandidate=null,this.peerconnection.onicecandidate=function(a){h.isTemasysPluginUsed()||e.trace("onicecandidate",JSON.stringify(a.candidate,null," ")),null!==e.onicecandidate&&e.onicecandidate(a)},this.onaddstream=null,this.peerconnection.onaddstream=function(a){e.trace("onaddstream",a.stream.id),null!==e.onaddstream&&e.onaddstream(a)},this.onremovestream=null,this.peerconnection.onremovestream=function(a){e.trace("onremovestream",a.stream.id),null!==e.onremovestream&&e.onremovestream(a)},this.onsignalingstatechange=null,this.peerconnection.onsignalingstatechange=function(a){e.trace("onsignalingstatechange",e.signalingState),null!==e.onsignalingstatechange&&e.onsignalingstatechange(a)},this.oniceconnectionstatechange=null,this.peerconnection.oniceconnectionstatechange=function(a){e.trace("oniceconnectionstatechange",e.iceConnectionState),null!==e.oniceconnectionstatechange&&e.oniceconnectionstatechange(a)},this.onnegotiationneeded=null,this.peerconnection.onnegotiationneeded=function(a){e.trace("onnegotiationneeded"),null!==e.onnegotiationneeded&&e.onnegotiationneeded(a)},e.ondatachannel=null,this.peerconnection.ondatachannel=function(a){e.trace("ondatachannel",a),null!==e.ondatachannel&&e.ondatachannel(a)},!h.isFirefox()&&this.maxstats&&(this.statsinterval=window.setInterval(function(){e.peerconnection.getStats(function(a){for(var b=a.result(),c=new Date,d=0;de.maxstats&&(e.stats[f].values.shift(),e.stats[f].times.shift()),e.stats[f].endTime=c})})},1e3))}function p(a){if("object"!==("undefined"==typeof a?"undefined":d(a))||null===a||"string"!=typeof a.sdp)return f.warn("An empty description was passed as an argument."),a;var b={},c={},e=j.parse(a.sdp);return Array.isArray(e.media)?(e.media.forEach(function(a){Array.isArray(a.ssrcs)&&("undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){if("undefined"!=typeof a.semantics&&"undefined"!=typeof a.ssrcs){var b=Number(a.ssrcs.split(" ")[0]);c[b]=c[b]||[],c[b].push(a)}}),a.ssrcs.forEach(function(a){"msid"===a.attribute&&(b[a.value]=b[a.value]||{groups:[],ssrcs:[]},b[a.value].ssrcs.push(a.id),c[a.id]&&c[a.id].forEach(function(c){b[a.value].groups.push({primarySSRC:a.id,group:c})}))}))}),b):void 0}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},e=c(9),f=(0,e.getLogger)(b),g=c(48),h=c(32),i=c(35),j=c(119),k=c(31),l=c(39),m=3,o=function(b){return"undefined"==typeof b||null==b?"":"type: "+b.type+"\r\n"+b.sdp};n.prototype.ssrcReplacement=function(a){if("object"!==("undefined"==typeof a?"undefined":d(a))||null===a||"string"!=typeof a.sdp)return f.warn("An empty description was passed as an argument."),a;var b=j.parse(a.sdp);if(Array.isArray(b.media)){var c=!1;return b.media.forEach(function(a){if(this.replaceSSRCs[a.type]){c=!0;for(var b=this.replaceSSRCs[a.type].splice(0,1),d=[];b&&b.length;){var e=b[0];switch(e.type){case"mute":case"addMuted":a.ssrcs||(a.ssrcs=[]);var g=e.ssrc.groups,h=null;if(g&&g.length)h=g[0].primarySSRC;else{if(!e.ssrc.ssrcs||!e.ssrc.ssrcs.length){l.callErrorHandler(new Error("SSRC replacement error!")),f.error("SSRC replacement error!");break}h=e.ssrc.ssrcs[0]}a.ssrcs.push({id:h,attribute:"cname",value:["recvonly-",h].join("")}),this.recvOnlySSRCs[a.type]=h;break;case"unmute":var i,j,m,n=function(){if(!e.ssrc||!e.ssrc.ssrcs||!e.ssrc.ssrcs.length)return"break";for(i={},j=e.ssrc.ssrcs.length-1,m=0;m=0&&(c.push(a.ssrcs[e]),delete a.ssrcs[e]);for(e=0;e=0){if(c.video={mandatory:{},optional:[]},b.cameraDeviceId)d&&(c.video.deviceId=b.cameraDeviceId),c.video.optional.push({sourceId:b.cameraDeviceId});else{var e=b.facingMode||p.USER;d&&(c.video.facingMode=e),c.video.optional.push({facingMode:e})}c.video.optional.push({googLeakyBucket:!0}),G(c,b.resolution)}if(a.indexOf("audio")>=0&&(h.isReactNative()?c.audio=!0:h.isFirefox()?b.micDeviceId?c.audio={mandatory:{},deviceId:b.micDeviceId,optional:[{sourceId:b.micDeviceId}]}:c.audio=!0:(c.audio={mandatory:{},optional:[]},b.micDeviceId&&(d&&(c.audio.deviceId=b.micDeviceId),c.audio.optional.push({sourceId:b.micDeviceId})),c.audio.optional.push({googEchoCancellation:!x},{googAutoGainControl:!0},{googNoiseSupression:!y},{googHighpassFilter:!0},{googNoiseSuppression2:!y},{googEchoCancellation2:!x},{googAutoGainControl2:!0}))),a.indexOf("screen")>=0)if(h.isChrome())c.video={mandatory:{chromeMediaSource:"screen",googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[]};else if(h.isTemasysPluginUsed())c.video={optional:[{sourceId:r.WebRTCPlugin.plugin.screensharingKey}]};else if(h.isFirefox())c.video={mozMediaSource:"window",mediaSource:"window"};else{var f="'screen' WebRTC media source is supported only in Chrome and with Temasys plugin";q.callErrorHandler(new Error(f)),g.error(f)}return a.indexOf("desktop")>=0&&(c.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:b.desktopStream,googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[]}),b.bandwidth&&(c.video||(c.video={mandatory:{},optional:[]}),c.video.optional.push({bandwidth:b.bandwidth})),(b.minFps||b.maxFps||b.fps)&&(c.video||(c.video={mandatory:{},optional:[]}),(b.minFps||b.fps)&&(b.minFps=b.minFps||b.fps,c.video.mandatory.minFrameRate=b.minFps),b.maxFps&&(c.video.mandatory.maxFrameRate=b.maxFps)),h.isFirefox()&&b.firefox_fake_device&&(c.fake=!0),c}function I(a,b){var c=b&&!!b.getAudioTracks().length,d=b&&!!b.getVideoTracks().length;a.indexOf("video")!=-1&&(u.video=d),a.indexOf("audio")!=-1&&(u.audio=c),s.emit(j.AVAILABLE_DEVICES_CHANGED,u)}function J(a){function b(a){return JSON.stringify({kind:a.kind,deviceId:a.deviceId,groupId:a.groupId,label:a.label,facing:a.facing})}return a.length!==B.length||a.map(b).sort().join("")!==B.map(b).sort().join("")}function K(){C&&C(function(a){"undefined"==typeof B?B=a.slice(0):J(a)&&L(a),window.setTimeout(K,t)})}function L(a){B=a.slice(0),g.info("list of media devices has changed:",B);var b=B.filter(function(a){return"videoinput"===a.kind}),c=B.filter(function(a){return"audioinput"===a.kind}),d=b.filter(function(a){return""===a.label}),e=c.filter(function(a){return""===a.label});b.length&&b.length===d.length&&(u.video=!1),c.length&&c.length===e.length&&(u.audio=!1), s.emit(j.DEVICE_LIST_CHANGED,a)}function M(a,b){F=!0,s.emit(j.RTC_READY,!0),m.init(a,b),D(),Y.isDeviceListAvailable()&&C&&C(function(a){B=a.splice(0),s.emit(j.DEVICE_LIST_AVAILABLE,B),E?navigator.mediaDevices.addEventListener("devicechange",function(){Y.enumerateDevices(L)}):K()})}function N(a,b){a&&a.apply(null,b||[])}function P(a){return function(b,c,d){a(b,function(a){N(c,[a]),O.initialized||(O.initialized=!0,O.callbacks.forEach(function(a){a()}),O.callbacks.length=0)},function(a){N(d,[a])})}}function Q(a){O.initialized?a():O.callbacks.push(a)}function R(a){return function(b){Q(function(){a().then(b,function(a){g.error("cannot enumerate devices: ",a),b([])})})}}function S(a){MediaStreamTrack.getSources(function(b){a(b.map(T))})}function T(a){var b=(a.kind||"").toLowerCase();return{facing:a.facing||null,label:a.label,kind:b?"audiooutput"===b?b:b+"input":null,deviceId:a.id,groupId:a.groupId||null}}function U(a){if(!a.devices||0===a.devices.length)return a.successCallback(a.streams||{});var b=a.devices.splice(0,1),c=[];c.push(b),a.deviceGUM[b](function(c){a.streams=a.streams||{},a.streams[b]=c,U(a)},function(c){Object.keys(a.streams).forEach(function(b){Y.stopMediaStream(a.streams[b])}),g.error("failed to obtain "+b+" stream - stop",c),a.errorCallback(c)})}function V(a,b){var c,d,e,f=[];if(a){var g=a.audioVideo;if(g){var h=g.getAudioTracks();if(h.length){c=new webkitMediaStream;for(var i=0;i= 40."),void c(new Error("Firefox version too old: "+d+". Required >= 40."));this.peerconnection=mozRTCPeerConnection,this.getUserMedia=P(navigator.mozGetUserMedia.bind(navigator)),this.enumerateDevices=R(navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices)),this.pc_constraints={},this.attachMediaStream=W(function(a,b){return a&&(X(a,b),b&&a.play()),a}),this.getStreamID=function(a){var b=a.id;if(!b){var c=a.getVideoTracks();c&&0!==c.length||(c=a.getAudioTracks()),b=c[0].id}return k.filter_special_chars(b)},RTCSessionDescription=mozRTCSessionDescription,RTCIceCandidate=mozRTCIceCandidate}else if(h.isChrome()||h.isOpera()||h.isNWJS()||h.isReactNative()){this.peerconnection=webkitRTCPeerConnection;var e=navigator.webkitGetUserMedia.bind(navigator);navigator.mediaDevices?(this.getUserMedia=P(e),this.enumerateDevices=R(navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices))):(this.getUserMedia=e,this.enumerateDevices=S),this.attachMediaStream=W(function(a,b){return X(a,b),a}),this.getStreamID=function(a){var b=a.id;return"number"==typeof b?b:k.filter_special_chars(b)},this.pc_constraints={optional:[{DtlsSrtpKeyAgreement:"true"}]},b.useIPv6&&this.pc_constraints.optional.push({googIPv6:!0}),h.isAndroid()&&(this.pc_constraints={}),webkitMediaStream.prototype.getVideoTracks||(webkitMediaStream.prototype.getVideoTracks=function(){return this.videoTracks}),webkitMediaStream.prototype.getAudioTracks||(webkitMediaStream.prototype.getAudioTracks=function(){return this.audioTracks})}else{if(!h.isTemasysPluginUsed()){var i="Browser does not appear to be WebRTC-capable";return g.error(i),void c(new Error(i))}var f=this;r.webRTCReady(function(){f.peerconnection=RTCPeerConnection,f.getUserMedia=window.getUserMedia,f.enumerateDevices=S,f.attachMediaStream=W(function(a,b){if(b){if("dummyAudio"===b.id||"dummyVideo"===b.id)return;var c=$(a);h.isTemasysPluginUsed()&&!c.is(":visible")&&c.show();var d=!!b.getVideoTracks().length;if(d&&!$(a).is(":visible"))throw new Error("video element must be visible to attach video stream")}return attachMediaStream(a,b)}),f.getStreamID=function(a){return k.filter_special_chars(a.label)},M(b,f.getUserMediaWithConstraints.bind(f)),a()})}h.isTemasysPluginUsed()||(M(b,this.getUserMediaWithConstraints.bind(this)),a())}.bind(this))},getUserMediaWithConstraints:function(b,c,d,f){f=f||{};var h=H(b,f);g.info("Get media constraints",h);try{this.getUserMedia(h,function(a){g.log("onUserMediaSuccess"),I(b,a),c(a)},function(a){I(b,void 0),g.warn("Failed to get access to local media. Error ",a,h),d&&d(new e.default(a,h,b))})}catch(a){g.error("GUM failed: ",a),d&&d(new e.default(a,h,b))}},obtainAudioAndVideoPermissions:function(b){var c=this;b=b||{};var d=b.desktopSharingExtensionExternalInstallation;return new Promise(function(a,f){var g=function(d){a(V(d,b.resolution))};if(b.devices=b.devices||["audio","video"],m.isSupported()||b.devices.indexOf("desktop")===-1||f(new Error("Desktop sharing is not supported!")),h.isFirefox()||h.isReactNative()||h.isTemasysPluginUsed()){var i=function(c,d,e){this.getUserMediaWithConstraints(c,d,e,b)},j={audio:i.bind(c,["audio"]),video:i.bind(c,["video"])};m.isSupported()&&(j.desktop=m.obtainStream.bind(m,d)),U({devices:b.devices,streams:[],successCallback:g,errorCallback:f,deviceGUM:j})}else{var k=b.devices.indexOf("desktop")>-1;k&&b.devices.splice(b.devices.indexOf("desktop"),1),b.resolution=b.resolution||"360",b.devices.length?this.getUserMediaWithConstraints(b.devices,function(a){var h=b.devices.indexOf("audio")!==-1,i=b.devices.indexOf("video")!==-1,j=!!a.getAudioTracks().length,l=!!a.getVideoTracks().length;if(h&&!j||i&&!l){c.stopMediaStream(a);var n=[];return h&&!j&&n.push("audio"),i&&!l&&n.push("video"),void c.getUserMediaWithConstraints(n,function(){f(new e.default({name:"UnknownError"},H(b.devices,b),n))},function(a){f(a)},b)}k?m.obtainStream(d,function(b){g({audioVideo:a,desktopStream:b})},function(b){c.stopMediaStream(a),f(b)}):g({audioVideo:a})},function(a){f(a)},b):k&&m.obtainStream(d,function(a){g({desktopStream:a})},function(a){f(a)})}}.bind(this))},addListener:function(b,c){s.on(b,c)},removeListener:function(b,c){s.removeListener(b,c)},getDeviceAvailability:function(){return u},isRTCReady:function(){return F},_isDeviceListAvailable:function(){if(!F)throw new Error("WebRTC not ready yet");var b=navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices;return!!b||!("undefined"==typeof MediaStreamTrack||!MediaStreamTrack.getSources)},onRTCReady:function(){return F?Promise.resolve():new Promise(function(a){var b=function b(){s.removeListener(j.RTC_READY,b),a()};s.addListener(j.RTC_READY,b)})},isDeviceListAvailable:function(){return this.onRTCReady().then(function(){return this._isDeviceListAvailable()}.bind(this))},isDeviceChangeAvailable:function(b){return"output"===b||"audiooutput"===b?A:h.isChrome()||h.isFirefox()||h.isOpera()||h.isTemasysPluginUsed()||h.isNWJS()},stopMediaStream:function(b){b.getTracks().forEach(function(a){!h.isTemasysPluginUsed()&&a.stop&&a.stop()}),b.stop&&b.stop(),b.release&&b.release();var c=b.jitsiObjectURL;c&&(delete b.jitsiObjectURL,(URL||webkitURL).revokeObjectURL(c))},isDesktopSharingEnabled:function(){return m.isSupported()},setAudioOutputDevice:function(b){return this.isDeviceChangeAvailable("output")||Promise.reject(new Error("Audio output device change is not supported")),z.setSinkId(b).then(function(){v=b,w=!0,g.log("Audio output device set to "+b),s.emit(j.AUDIO_OUTPUT_DEVICE_CHANGED,b)})},getAudioOutputDevice:function(){return v},getCurrentlyAvailableMediaDevices:function(){return B},getEventDataForActiveDevice:function(b){var c=[],d={deviceId:b.deviceId,kind:b.kind,label:b.label,groupId:b.groupId};return c.push(d),{deviceList:c}}};a.exports=Y}).call(b,"modules/RTC/RTCUtils.js")},function(a,b){"use strict";var c={1080:{width:1920,height:1080,order:7},fullhd:{width:1920,height:1080,order:7},720:{width:1280,height:720,order:6},hd:{width:1280,height:720,order:6},960:{width:960,height:720,order:5},360:{width:640,height:360,order:4},640:{width:640,height:480,order:3},vga:{width:640,height:480,order:3},180:{width:320,height:180,order:2},320:{width:320,height:240,order:1}};a.exports=c},function(a,b,c){(function(b){"use strict";var d=c(9),e=(0,d.getLogger)(b),f=c(32),g={filter_special_chars:function(b){return b?b.replace(/[\\\/\{,\}\+]/g,""):b},iceparams:function(b,c){var e,f,d=null;return(e=g.find_line(b,"a=ice-ufrag:",c))&&(f=g.find_line(b,"a=ice-pwd:",c))&&(d={ufrag:g.parse_iceufrag(e),pwd:g.parse_icepwd(f)}),d},parse_iceufrag:function(b){return b.substring(12)},build_iceufrag:function(b){return"a=ice-ufrag:"+b},parse_icepwd:function(b){return b.substring(10)},build_icepwd:function(b){return"a=ice-pwd:"+b},parse_mid:function(b){return b.substring(6)},parse_mline:function(b){var c=b.substring(2).split(" "),d={};return d.media=c.shift(),d.port=c.shift(),d.proto=c.shift(),""===c[c.length-1]&&c.pop(),d.fmt=c,d},build_mline:function(b){return"m="+b.media+" "+b.port+" "+b.proto+" "+b.fmt.join(" ")},parse_rtpmap:function(b){var c=b.substring(9).split(" "),d={};return d.id=c.shift(),c=c[0].split("/"),d.name=c.shift(),d.clockrate=c.shift(),d.channels=c.length?c.shift():"1",d},parse_sctpmap:function(b){var c=b.substring(10).split(" "),d=c[0],e=c[1],f=c.length>2?c[2]:null;return[d,e,f]},build_rtpmap:function(b){var c="a=rtpmap:"+b.getAttribute("id")+" "+b.getAttribute("name")+"/"+b.getAttribute("clockrate");return b.getAttribute("channels")&&"1"!=b.getAttribute("channels")&&(c+="/"+b.getAttribute("channels")),c},parse_crypto:function(b){var c=b.substring(9).split(" "),d={};return d.tag=c.shift(),d["crypto-suite"]=c.shift(),d["key-params"]=c.shift(),c.length&&(d["session-params"]=c.join(" ")),d},parse_fingerprint:function(b){var c=b.substring(14).split(" "),d={};return d.hash=c.shift(),d.fingerprint=c.shift(),d},parse_fmtp:function(b){var d,e,f,c=b.split(" "),g=[];for(c.shift(),c=c.join(" ").split(";"),d=0;dh}return!1}catch(a){return j.callErrorHandler(a),k.error("Failed to parse extension version",a),!0}}function x(a,b){return"undefined"!=typeof chrome&&chrome&&chrome.runtime?void chrome.runtime.sendMessage(b.desktopSharingChromeExtId||b.chromeExtensionId,{getVersion:!0},function(c){if(!c||!c.version)return k.warn("Extension not installed?: ",chrome.runtime.lastError),void a(!1,!1);var d=c.version;k.log("Extension version is: "+d);var e=w(b.desktopSharingChromeMinExtVersion||b.minChromeExtVersion,d);a(!e,e)}):void a(!1,!1)}function y(a,b,c){chrome.runtime.sendMessage(a.desktopSharingChromeExtId||a.chromeExtensionId,{getStream:!0,sources:a.desktopSharingChromeSources||a.desktopSharingSources},function(a){if(!a){var d=chrome.runtime.lastError;return void c(d instanceof Error?d:new e.default(g.CHROME_EXTENSION_GENERIC_ERROR,d))}if(k.log("Response from extension: ",a),a.streamId)q(["desktop"],function(a){return b(a)},c,{desktopStream:a.streamId});else{if(""===a.streamId)return void c(new e.default(g.CHROME_EXTENSION_USER_CANCELED));c(new e.default(g.CHROME_EXTENSION_GENERIC_ERROR,a.error))}})}function z(a){0===$("link[rel=chrome-webstore-item]").length&&$("head").append(''),$("link[rel=chrome-webstore-item]").attr("href",v(a))}function A(a){z(a),x(function(a,b){m=a,n=b,k.info("Chrome extension installed: "+m+" updateRequired: "+n)},a)}function B(a,b,c){return 0===c?Promise.reject():new Promise(function(d,e){var f=c,g=window.setInterval(function(){x(function(a){a?(window.clearInterval(g),d()):(f--,0===f&&(e(),window.clearInterval(g)))},a)},b)})}function C(a){if(!a.desktopSharingFirefoxDisabled&&o!==!1&&o!==!0){if(!a.desktopSharingFirefoxExtId)return void(o=!1);var b=document.createElement("img");b.onload=function(){k.log("Detected firefox screen sharing extension."),o=!0},b.onerror=function(){k.log("Detected lack of firefox screen sharing extension."),o=!1};var c="chrome://"+a.desktopSharingFirefoxExtId.replace("@",".")+"/content/"+document.location.hostname+".png";b.setAttribute("src",c)}}var d=c(6),e=i(d),f=c(7),g=h(f),j=c(39),k=c(9).getLogger(b),l=c(32),m=!1,n=!1,o=null,p=!1,q=null,r="Inline installs can not be initiated from pop-up windows.",t={obtainStream:null,init:function(b,d){var f=null;this.options=b=b||{},q=d,l.isFirefox()&&C(b);var h=b.desktopSharingChromeMethod||b.desktopSharing;if(l.isNWJS())f=function(b,c,d){window.JitsiMeetNW.obtainDesktopStream(c,function(a,b){var c;c=a&&"InvalidStateError"==a.name?new e.default(g.CHROME_EXTENSION_USER_CANCELED):new e.default(a,b,["desktop"]),"function"==typeof d&&d(c)})};else if(l.isTemasysPluginUsed()){var i=c(54);i.WebRTCPlugin.plugin.HasScreensharingFeature?i.WebRTCPlugin.plugin.isScreensharingAvailable?(f=u,k.info("Using Temasys plugin for desktop sharing")):k.info("Screensharing not available with Temasys plugin on this site"):k.info("Screensharing not supported by this plugin version")}else l.isChrome()?"ext"==h?l.getChromeVersion()>=34?(f=this.obtainScreenFromExtension,k.info("Using Chrome extension for desktop sharing"),A(b)):k.info("Chrome extension not supported until ver 34"):"webrtc"==h&&(f=u,k.info("Using Chrome WebRTC for desktop sharing")):l.isFirefox()&&(b.desktopSharingFirefoxDisabled?f=null:"http:"===window.location.protocol?(k.log("Screen sharing is not supported over HTTP. Use of HTTPS is required."),f=null):f=this.obtainScreenOnFirefox);f||k.info("Desktop sharing disabled"),this.obtainStream=f},isSupported:function(){return!!this.obtainStream},obtainScreenOnFirefox:function(b,c,d){var f=this,h=!1;return(this.options.desktopSharingFirefoxMaxVersionExtRequired===-1||this.options.desktopSharingFirefoxMaxVersionExtRequired>=0&&l.getFirefoxVersion()<=this.options.desktopSharingFirefoxMaxVersionExtRequired)&&(h=!0,k.log("Jidesha extension required on firefox version "+l.getFirefoxVersion())),h&&o!==!0?(p&&(p=!1,C(this.options)),null===o?(window.setTimeout(function(){null===o&&(o=!1),f.obtainScreenOnFirefox(c,d)},300),void k.log("Waiting for detection of jidesha on firefox to finish.")):(o=null,p=!0,void d(new e.default(g.FIREFOX_EXTENSION_NEEDED)))):void u(b,c,d)},obtainScreenFromExtension:function(b,c,d){var e=this;if(m)y(this.options,c,d);else{n&&alert("Jitsi Desktop Streamer requires update. Changes will take effect after next Chrome restart.");try{chrome.webstore.install(v(this.options),function(a){k.log("Extension installed successfully",a),m=!0,B(e.options,200,10).then(function(){y(e.options,c,d)}).catch(function(){e.handleExtensionInstallationError(b,c,d)})},this.handleExtensionInstallationError.bind(this,b,c,d))}catch(a){this.handleExtensionInstallationError(b,c,d,a)}}},handleExtensionInstallationError:function(b,c,d,f){var h=v(this.options);if(r===f&&b.interval>0&&"function"==typeof b.checkAgain&&"function"==typeof b.listener)return b.listener("waitingForExtension",h),void this.checkForChromeExtensionOnInterval(b,c,d,f);var i="Failed to install the extension from "+h;k.log(i,f),d(new e.default(g.CHROME_EXTENSION_INSTALLATION_ERROR,i))},checkForChromeExtensionOnInterval:function(b,c,d){var f=this;return b.checkAgain()===!1?void d(new e.default(g.CHROME_EXTENSION_INSTALLATION_ERROR)):void B(this.options,b.interval,1).then(function(){m=!0,b.listener("extensionFound"),f.obtainScreenFromExtension(b,c,d)}).catch(function(){f.checkForChromeExtensionOnInterval(b,c,d)})}};a.exports=t}).call(b,"modules/RTC/ScreenObtainer.js")},function(a,b,c){var d,d;(function(b){var e=c(9).getLogger(b),f=f||{};a.exports=f,f.options=f.options||{},f.VERSION="0.14.0",f.onwebrtcready=f.onwebrtcready||function(a){},f._onwebrtcreadies=[],f.webRTCReady=function(a){if("function"!=typeof a)throw new Error("Callback provided is not a function");!0===f.onwebrtcreadyDone?a(null!==f.WebRTCPlugin.plugin):f._onwebrtcreadies.push(a)},f.WebRTCPlugin=f.WebRTCPlugin||{},f.WebRTCPlugin.pluginInfo=f.WebRTCPlugin.pluginInfo||{prefix:"Tem",plugName:"TemWebRTCPlugin",pluginId:"plugin0",type:"application/x-temwebrtcplugin",onload:"__TemWebRTCReady0",portalLink:"http://skylink.io/plugin/",downloadLink:null,companyName:"Temasys",downloadLinks:{mac:"http://bit.ly/webrtcpluginpkg",win:"http://bit.ly/webrtcpluginmsi"}},"undefined"!=typeof f.WebRTCPlugin.pluginInfo.downloadLinks&&null!==f.WebRTCPlugin.pluginInfo.downloadLinks&&(navigator.platform.match(/^Mac/i)?f.WebRTCPlugin.pluginInfo.downloadLink=f.WebRTCPlugin.pluginInfo.downloadLinks.mac:navigator.platform.match(/^Win/i)&&(f.WebRTCPlugin.pluginInfo.downloadLink=f.WebRTCPlugin.pluginInfo.downloadLinks.win)),f.WebRTCPlugin.TAGS={NONE:"none",AUDIO:"audio",VIDEO:"video"},f.WebRTCPlugin.pageId=Math.random().toString(36).slice(2),f.WebRTCPlugin.plugin=null,f.WebRTCPlugin.setLogLevel=null,f.WebRTCPlugin.defineWebRTCInterface=null,f.WebRTCPlugin.isPluginInstalled=null,f.WebRTCPlugin.pluginInjectionInterval=null,f.WebRTCPlugin.injectPlugin=null,f.WebRTCPlugin.PLUGIN_STATES={NONE:0,INITIALIZING:1,INJECTING:2,INJECTED:3,READY:4},f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.NONE,f.onwebrtcreadyDone=!1,f.WebRTCPlugin.PLUGIN_LOG_LEVELS={NONE:"NONE",ERROR:"ERROR",WARNING:"WARNING",INFO:"INFO",VERBOSE:"VERBOSE",SENSITIVE:"SENSITIVE"},f.WebRTCPlugin.WaitForPluginReady=null,f.WebRTCPlugin.callWhenPluginReady=null,__TemWebRTCReady0=function(){if("complete"===document.readyState)f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.READY,f.maybeThroughWebRTCReady();else var a=setInterval(function(){"complete"===document.readyState&&(clearInterval(a),f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.READY,f.maybeThroughWebRTCReady())},100)},f.maybeThroughWebRTCReady=function(){f.onwebrtcreadyDone||(f.onwebrtcreadyDone=!0,f._onwebrtcreadies.length?f._onwebrtcreadies.forEach(function(a){"function"==typeof a&&a(null!==f.WebRTCPlugin.plugin)}):"function"==typeof f.onwebrtcready&&f.onwebrtcready(null!==f.WebRTCPlugin.plugin))},f.TEXT={PLUGIN:{REQUIRE_INSTALLATION:"This website requires you to install a WebRTC-enabling plugin to work on this browser.",NOT_SUPPORTED:"Your browser does not support WebRTC.",BUTTON:"Install Now"},REFRESH:{REQUIRE_REFRESH:"Please refresh page",BUTTON:"Refresh Page"}},f._iceConnectionStates={starting:"starting",checking:"checking",connected:"connected",completed:"connected",done:"completed",disconnected:"disconnected",failed:"failed",closed:"closed"},f._iceConnectionFiredStates=[],f.isDefined=null,f.parseWebrtcDetectedBrowser=function(){var a=null;if(window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0)a=navigator.userAgent.match(/OPR\/(\d+)/i)||[],webrtcDetectedBrowser="opera",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=26,webrtcDetectedType="webkit",webrtcDetectedDCSupport="SCTP";else if(navigator.userAgent.match(/Bowser\/[0-9.]*/g)){a=navigator.userAgent.match(/Bowser\/[0-9.]*/g)||[];var b=parseInt((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./i)||[])[2]||"0",10);webrtcDetectedBrowser="bowser",webrtcDetectedVersion=parseFloat((a[0]||"0/0").split("/")[1],10),webrtcMinimumVersion=0,webrtcDetectedType="webkit",webrtcDetectedDCSupport=b>30?"SCTP":"RTP"}else if(navigator.userAgent.indexOf("OPiOS")>0)a=navigator.userAgent.match(/OPiOS\/([0-9]+)\./),webrtcDetectedBrowser="opera",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(navigator.userAgent.indexOf("CriOS")>0)a=navigator.userAgent.match(/CriOS\/([0-9]+)\./)||[],webrtcDetectedBrowser="chrome",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(navigator.userAgent.indexOf("FxiOS")>0)a=navigator.userAgent.match(/FxiOS\/([0-9]+)\./)||[],webrtcDetectedBrowser="firefox",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(document.documentMode)a=/\brv[ :]+(\d+)/g.exec(navigator.userAgent)||[],webrtcDetectedBrowser="IE",webrtcDetectedVersion=parseInt(a[1],10),webrtcMinimumVersion=9,webrtcDetectedType="plugin",webrtcDetectedDCSupport="SCTP",webrtcDetectedVersion||(a=/\bMSIE[ :]+(\d+)/g.exec(navigator.userAgent)||[],webrtcDetectedVersion=parseInt(a[1]||"0",10));else if(window.StyleMedia||navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))a=navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)||[],webrtcDetectedBrowser="edge",webrtcDetectedVersion=parseFloat((a[0]||"0/0").split("/")[1],10),webrtcMinimumVersion=13.10547,webrtcDetectedType="ms",webrtcDetectedDCSupport=null;else if("undefined"!=typeof InstallTrigger||navigator.userAgent.indexOf("irefox")>0)a=navigator.userAgent.match(/Firefox\/([0-9]+)\./)||[],webrtcDetectedBrowser="firefox",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=31,webrtcDetectedType="moz",webrtcDetectedDCSupport="SCTP";else if(window.chrome&&window.chrome.webstore||navigator.userAgent.indexOf("Chrom")>0)a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./i)||[],webrtcDetectedBrowser="chrome",webrtcDetectedVersion=parseInt(a[2]||"0",10),webrtcMinimumVersion=38,webrtcDetectedType="webkit",webrtcDetectedDCSupport=webrtcDetectedVersion>30?"SCTP":"RTP";else if(/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){a=navigator.userAgent.match(/version\/(\d+)/i)||[];var c=navigator.userAgent.match(/(iPhone|iPad)/gi)||[];webrtcDetectedBrowser="safari",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=7,webrtcDetectedType=0===c.length?"plugin":null,webrtcDetectedDCSupport=0===c.length?"SCTP":null}window.webrtcDetectedBrowser=webrtcDetectedBrowser,window.webrtcDetectedVersion=webrtcDetectedVersion,window.webrtcMinimumVersion=webrtcMinimumVersion,window.webrtcDetectedType=webrtcDetectedType,window.webrtcDetectedDCSupport=webrtcDetectedDCSupport},f.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},f.renderNotificationBar=function(a,b,c,d,e){if("complete"===document.readyState){var g=window,h=document.createElement("iframe");h.name="adapterjs-alert",h.style.position="fixed",h.style.top="-41px",h.style.left=0,h.style.right=0,h.style.width="100%",h.style.height="40px",h.style.backgroundColor="#ffffe1",h.style.border="none",h.style.borderBottom="1px solid #888888",h.style.zIndex="9999999","string"==typeof h.style.webkitTransition?h.style.webkitTransition="all .5s ease-out":"string"==typeof h.style.transition&&(h.style.transition="all .5s ease-out"),document.body.appendChild(h);var i=h.contentWindow?h.contentWindow:h.contentDocument.document?h.contentDocument.document:h.contentDocument;i.document.open(),i.document.write(''+a+""),b&&c?(i.document.write(''),i.document.close(),f.addEvent(i.document.getElementById("okay"),"click",function(a){e&&f.renderNotificationBar(f.TEXT.EXTENSION?f.TEXT.EXTENSION.REQUIRE_REFRESH:f.TEXT.REFRESH.REQUIRE_REFRESH,f.TEXT.REFRESH.BUTTON,"javascript:location.reload()"),window.open(c,d?"_blank":"_top"),a.preventDefault();try{a.cancelBubble=!0}catch(a){}var b=setInterval(function(){isIE||navigator.plugins.refresh(!1),f.WebRTCPlugin.isPluginInstalled(f.WebRTCPlugin.pluginInfo.prefix,f.WebRTCPlugin.pluginInfo.plugName,f.WebRTCPlugin.pluginInfo.type,function(){clearInterval(b),f.WebRTCPlugin.defineWebRTCInterface()},function(){})},500)}),f.addEvent(i.document.getElementById("cancel"),"click",function(a){g.document.body.removeChild(h)})):i.document.close(),setTimeout(function(){"string"==typeof h.style.webkitTransform?h.style.webkitTransform="translateY(40px)":"string"==typeof h.style.transform?h.style.transform="translateY(40px)":h.style.top="0px"},300)}},webrtcDetectedType=null,checkMediaDataChannelSettings=function(a,b,c,d){if("function"==typeof c){var f=!0,g="firefox"===webrtcDetectedBrowser,h="moz"===webrtcDetectedType&&webrtcDetectedVersion>30,i="firefox"===a;if(g&&i||h)try{delete d.mandatory.MozDontOfferDataChannel}catch(a){e.error("Failed deleting MozDontOfferDataChannel"),e.error(a)}else g&&!i&&(d.mandatory.MozDontOfferDataChannel=!0);if(!g)for(var k in d.mandatory)d.mandatory.hasOwnProperty(k)&&k.indexOf("Moz")!==-1&&delete d.mandatory[k];!g||i||h||(f=!1),c(f,d)}},checkIceConnectionState=function(a,b,c){return"function"!=typeof c?void e.warn("No callback specified in checkIceConnectionState. Aborted."):(a=a?a:"peer",f._iceConnectionFiredStates[a]&&b!==f._iceConnectionStates.disconnected&&b!==f._iceConnectionStates.failed&&b!==f._iceConnectionStates.closed||(f._iceConnectionFiredStates[a]=[]),b=f._iceConnectionStates[b],void(f._iceConnectionFiredStates[a].indexOf(b)<0&&(f._iceConnectionFiredStates[a].push(b),b===f._iceConnectionStates.connected&&setTimeout(function(){f._iceConnectionFiredStates[a].push(f._iceConnectionStates.done),c(f._iceConnectionStates.done)},1e3),c(b))))},createIceServer=null,createIceServers=null,RTCPeerConnection=null,RTCSessionDescription="function"==typeof RTCSessionDescription?RTCSessionDescription:null,RTCIceCandidate="function"==typeof RTCIceCandidate?RTCIceCandidate:null,getUserMedia=null,attachMediaStream=null,reattachMediaStream=null,webrtcDetectedBrowser=null,webrtcDetectedVersion=null,webrtcMinimumVersion=null,!(navigator.mozGetUserMedia||navigator.webkitGetUserMedia||navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))||0===(navigator.userAgent.match(/android/gi)||[]).length&&0===(navigator.userAgent.match(/chrome/gi)||[]).length&&navigator.userAgent.indexOf("Safari/")>0?("object"==typeof e&&"function"==typeof e.log||(e={}||e,e.log=function(a){},e.info=function(a){},e.error=function(a){},e.dir=function(a){},e.exception=function(a){},e.trace=function(a){},e.warn=function(a){},e.count=function(a){},e.debug=function(a){},e.count=function(a){},e.time=function(a){},e.timeEnd=function(a){},e.group=function(a){},e.groupCollapsed=function(a){},e.groupEnd=function(a){}),f.parseWebrtcDetectedBrowser(),isIE="IE"===webrtcDetectedBrowser,f.WebRTCPlugin.WaitForPluginReady=function(){for(;f.WebRTCPlugin.pluginState!==f.WebRTCPlugin.PLUGIN_STATES.READY;);},f.WebRTCPlugin.callWhenPluginReady=function(a){if(f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY)a();else var b=setInterval(function(){ f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY&&(clearInterval(b),a())},100)},f.WebRTCPlugin.setLogLevel=function(a){f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.setLogLevel(a)})},f.WebRTCPlugin.injectPlugin=function(){if("complete"===document.readyState&&f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.INITIALIZING){if(f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INJECTING,"IE"===webrtcDetectedBrowser&&webrtcDetectedVersion<=10){var a=document.createDocumentFragment();for(f.WebRTCPlugin.plugin=document.createElement("div"),f.WebRTCPlugin.plugin.innerHTML=' '+(f.options.getAllCams?'':"")+"";f.WebRTCPlugin.plugin.firstChild;)a.appendChild(f.WebRTCPlugin.plugin.firstChild);document.body.appendChild(a),f.WebRTCPlugin.plugin=document.getElementById(f.WebRTCPlugin.pluginInfo.pluginId)}else f.WebRTCPlugin.plugin=document.createElement("object"),f.WebRTCPlugin.plugin.id=f.WebRTCPlugin.pluginInfo.pluginId,isIE?(f.WebRTCPlugin.plugin.width="1px",f.WebRTCPlugin.plugin.height="1px"):(f.WebRTCPlugin.plugin.width="0px",f.WebRTCPlugin.plugin.height="0px"),f.WebRTCPlugin.plugin.type=f.WebRTCPlugin.pluginInfo.type,f.WebRTCPlugin.plugin.innerHTML=' '+(f.options.getAllCams?'':"")+'',document.body.appendChild(f.WebRTCPlugin.plugin);f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INJECTED}},f.WebRTCPlugin.isPluginInstalled=function(a,b,c,d,e){if(isIE){try{new ActiveXObject(a+"."+b)}catch(a){return void e()}d()}else{for(var f=navigator.mimeTypes,g=0;g=0)return void d();e()}},f.WebRTCPlugin.defineWebRTCInterface=function(){if(f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY)return void e.error("AdapterJS - WebRTC interface has already been defined");f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INITIALIZING,f.isDefined=function(a){return null!==a&&void 0!==a},createIceServer=function(a,b,c){var d=null,e=a.split(":");return 0===e[0].indexOf("stun")?d={url:a,hasCredentials:!1}:0===e[0].indexOf("turn")&&(d={url:a,hasCredentials:!0,credential:c,username:b}),d},createIceServers=function(a,b,c){for(var d=[],e=0;e1)return d&&(a.iceServers=d),f.WebRTCPlugin.plugin.PeerConnection(a);var g=b&&b.mandatory?b.mandatory:null,h=b&&b.optional?b.optional:null;return f.WebRTCPlugin.plugin.PeerConnection(f.WebRTCPlugin.pageId,d,g,h)},MediaStreamTrack=function(){},MediaStreamTrack.getSources=function(a){f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.GetSources(a)})};var a=function(a){if("object"!=typeof a||a.mandatory||a.optional)return a;var b={};return Object.keys(a).forEach(function(c){if("require"!==c&&"advanced"!==c&&"mediaSource"!==c){var d="object"==typeof a[c]?a[c]:{ideal:a[c]};void 0!==d.exact&&"number"==typeof d.exact&&(d.min=d.max=d.exact);var e=function(a,b){return a?a+b.charAt(0).toUpperCase()+b.slice(1):"deviceId"===b?"sourceId":b};if(void 0!==d.ideal){b.optional=b.optional||[];var f={};"number"==typeof d.ideal?(f[e("min",c)]=d.ideal,b.optional.push(f),f={},f[e("max",c)]=d.ideal,b.optional.push(f)):(f[e("",c)]=d.ideal,b.optional.push(f))}void 0!==d.exact&&"number"!=typeof d.exact?(b.mandatory=b.mandatory||{},b.mandatory[e("",c)]=d.exact):["min","max"].forEach(function(a){void 0!==d[a]&&(b.mandatory=b.mandatory||{},b.mandatory[e(a,c)]=d[a])})}}),a.advanced&&(b.optional=(b.optional||[]).concat(a.advanced)),b};getUserMedia=function(b,c,d){var e={};e.audio=!!b.audio&&a(b.audio),e.video=!!b.video&&a(b.video),f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.getUserMedia(e,c,d)})},window.navigator.getUserMedia=getUserMedia,navigator.mediaDevices||"undefined"==typeof Promise||(requestUserMedia=function(a){return new Promise(function(b,c){getUserMedia(a,b,c)})},navigator.mediaDevices={getUserMedia:requestUserMedia,enumerateDevices:function(){return new Promise(function(a){var b={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(c){a(c.map(function(a){return{label:a.label,kind:b[a.kind],id:a.id,deviceId:a.id,groupId:""}}))})})}}),attachMediaStream=function(a,b){if(a&&a.parentNode){var c;null===b?c="":("undefined"!=typeof b.enableSoundTracks&&b.enableSoundTracks(!0),c=b.id);var d=0===a.id.length?Math.random().toString(36).slice(2):a.id,e=a.nodeName.toLowerCase();if("object"!==e){var g;switch(e){case"audio":g=f.WebRTCPlugin.TAGS.AUDIO;break;case"video":g=f.WebRTCPlugin.TAGS.VIDEO;break;default:g=f.WebRTCPlugin.TAGS.NONE}var h=document.createDocumentFragment(),i=document.createElement("div"),j="";for(a.className?j='class="'+a.className+'" ':a.attributes&&a.attributes.class&&(j='class="'+a.attributes.class.value+'" '),i.innerHTML=' ';i.firstChild;)h.appendChild(i.firstChild);var k="",l="";a.clientWidth||a.clientHeight?(l=a.clientWidth,k=a.clientHeight):(a.width||a.height)&&(l=a.width,k=a.height),a.parentNode.insertBefore(h,a),h=document.getElementById(d),h.width=l,h.height=k,a.parentNode.removeChild(a)}else{for(var m=a.children,n=0;n!==m.length;++n)if("streamId"===m[n].name){m[n].value=c;break}a.setStreamId(c)}var o=document.getElementById(d);return f.forwardEventHandlers(o,a,Object.getPrototypeOf(a)),o}},reattachMediaStream=function(a,b){for(var c=null,d=b.children,g=0;g!==d.length;++g)if("streamId"===d[g].name){f.WebRTCPlugin.WaitForPluginReady(),c=f.WebRTCPlugin.plugin.getStreamWithId(f.WebRTCPlugin.pageId,d[g].value);break}return null!==c?attachMediaStream(a,c):void e.log("Could not find the stream associated with this element")},window.attachMediaStream=attachMediaStream,window.reattachMediaStream=reattachMediaStream,window.getUserMedia=getUserMedia,f.attachMediaStream=attachMediaStream,f.reattachMediaStream=reattachMediaStream,f.getUserMedia=getUserMedia,f.forwardEventHandlers=function(a,b,c){properties=Object.getOwnPropertyNames(c);for(var d in properties)d&&(propName=properties[d],"function"==typeof propName.slice&&"on"===propName.slice(0,2)&&"function"==typeof b[propName]&&f.addEvent(a,propName.slice(2),b[propName]));var e=Object.getPrototypeOf(c);e&&f.forwardEventHandlers(a,b,e)},RTCIceCandidate=function(a){return a.sdpMid||(a.sdpMid=""),f.WebRTCPlugin.WaitForPluginReady(),f.WebRTCPlugin.plugin.ConstructIceCandidate(a.sdpMid,a.sdpMLineIndex,a.candidate)},f.addEvent(document,"readystatechange",f.WebRTCPlugin.injectPlugin),f.WebRTCPlugin.injectPlugin()},f.WebRTCPlugin.pluginNeededButNotInstalledCb=f.WebRTCPlugin.pluginNeededButNotInstalledCb||function(){f.addEvent(document,"readystatechange",f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv),f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv()},f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv=function(){if(!f.options.hidePluginInstallPrompt){var a=f.WebRTCPlugin.pluginInfo.downloadLink;if(a){var b;b=f.WebRTCPlugin.pluginInfo.portalLink?'This website requires you to install the '+f.WebRTCPlugin.pluginInfo.companyName+" WebRTC Plugin to work on this browser.":f.TEXT.PLUGIN.REQUIRE_INSTALLATION,f.renderNotificationBar(b,f.TEXT.PLUGIN.BUTTON,a)}else f.renderNotificationBar(f.TEXT.PLUGIN.NOT_SUPPORTED)}},f.WebRTCPlugin.isPluginInstalled(f.WebRTCPlugin.pluginInfo.prefix,f.WebRTCPlugin.pluginInfo.plugName,f.WebRTCPlugin.pluginInfo.type,f.WebRTCPlugin.defineWebRTCInterface,f.WebRTCPlugin.pluginNeededButNotInstalledCb)):(!function(b){a.exports=b()}(function(){return function a(b,c,e){function f(h,i){if(!c[h]){if(!b[h]){var j="function"==typeof d&&d;if(!i&&j)return d(h,!0);if(g)return g(h,!0);var k=new Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k}var l=c[h]={exports:{}};b[h][0].call(l.exports,function(a){var c=b[h][1][a];return f(c?c:a)},l,l.exports,a,b,c,e)}return c[h].exports}for(var g="function"==typeof d&&d,h=0;h0?"m="+a:a).trim()+"\r\n"})},d.matchPrefix=function(a,b){return d.splitLines(a).filter(function(a){return 0===a.indexOf(b)})},d.parseCandidate=function(a){var b;b=0===a.indexOf("a=candidate:")?a.substring(12).split(" "):a.substring(10).split(" ");for(var c={foundation:b[0],component:b[1],protocol:b[2].toLowerCase(),priority:parseInt(b[3],10),ip:b[4],port:parseInt(b[5],10),type:b[7]},d=8;d-1?(c.attribute=a.substr(b+1,d-b-1),c.value=a.substr(d+1)):c.attribute=a.substr(b+1),c},d.getDtlsParameters=function(a,b){var c=d.splitLines(a);c=c.concat(d.splitLines(b));var e=c.filter(function(a){return 0===a.indexOf("a=fingerprint:")})[0].substr(14),f={role:"auto",fingerprints:[{algorithm:e.split(" ")[0],value:e.split(" ")[1]}]};return f},d.writeDtlsParameters=function(a,b){var c="a=setup:"+b+"\r\n";return a.fingerprints.forEach(function(a){c+="a=fingerprint:"+a.algorithm+" "+a.value+"\r\n"}),c},d.getIceParameters=function(a,b){var c=d.splitLines(a);c=c.concat(d.splitLines(b));var e={usernameFragment:c.filter(function(a){return 0===a.indexOf("a=ice-ufrag:")})[0].substr(12),password:c.filter(function(a){return 0===a.indexOf("a=ice-pwd:")})[0].substr(10)};return e},d.writeIceParameters=function(a){return"a=ice-ufrag:"+a.usernameFragment+"\r\na=ice-pwd:"+a.password+"\r\n"},d.parseRtpParameters=function(a){for(var b={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},c=d.splitLines(a),e=c[0].split(" "),f=3;f0?"9":"0",c+=" UDP/TLS/RTP/SAVPF ",c+=b.codecs.map(function(a){return void 0!==a.preferredPayloadType?a.preferredPayloadType:a.payloadType}).join(" ")+"\r\n",c+="c=IN IP4 0.0.0.0\r\n",c+="a=rtcp:9 IN IP4 0.0.0.0\r\n",b.codecs.forEach(function(a){c+=d.writeRtpMap(a),c+=d.writeFmtp(a),c+=d.writeRtcpFb(a)}),c+="a=rtcp-mux\r\n"},d.parseRtpEncodingParameters=function(a){var i,b=[],c=d.parseRtpParameters(a),e=c.fecMechanisms.indexOf("RED")!==-1,f=c.fecMechanisms.indexOf("ULPFEC")!==-1,g=d.matchPrefix(a,"a=ssrc:").map(function(a){return d.parseSsrcMedia(a)}).filter(function(a){return"cname"===a.attribute}),h=g.length>0&&g[0].ssrc,j=d.matchPrefix(a,"a=ssrc-group:FID").map(function(a){var b=a.split(" ");return b.shift(),b.map(function(a){return parseInt(a,10)})});j.length>0&&j[0].length>1&&j[0][0]===h&&(i=j[0][1]),c.codecs.forEach(function(a){if("RTX"===a.name.toUpperCase()&&a.parameters.apt){var c={ssrc:h,codecPayloadType:parseInt(a.parameters.apt,10),rtx:{payloadType:a.payloadType,ssrc:i}};b.push(c),e&&(c=JSON.parse(JSON.stringify(c)),c.fec={ssrc:i,mechanism:f?"red+ulpfec":"red"},b.push(c))}}),0===b.length&&h&&b.push({ssrc:h});var k=d.matchPrefix(a,"b=");return k.length&&(0===k[0].indexOf("b=TIAS:")?k=parseInt(k[0].substr(7),10):0===k[0].indexOf("b=AS:")&&(k=parseInt(k[0].substr(5),10)),b.forEach(function(a){a.maxBitrate=k})),b},d.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},d.writeMediaSection=function(a,b,c,e){var f=d.writeRtpDescription(a.kind,b);if(f+=d.writeIceParameters(a.iceGatherer.getLocalParameters()),f+=d.writeDtlsParameters(a.dtlsTransport.getLocalParameters(),"offer"===c?"actpass":"active"),f+="a=mid:"+a.mid+"\r\n",f+=a.rtpSender&&a.rtpReceiver?"a=sendrecv\r\n":a.rtpSender?"a=sendonly\r\n":a.rtpReceiver?"a=recvonly\r\n":"a=inactive\r\n",a.rtpSender){var g="msid:"+e.id+" "+a.rtpSender.track.id+"\r\n";f+="a="+g,f+="a=ssrc:"+a.sendEncodingParameters[0].ssrc+" "+g}return f+="a=ssrc:"+a.sendEncodingParameters[0].ssrc+" cname:"+d.localCName+"\r\n"},d.getDirection=function(a,b){for(var c=d.splitLines(a),e=0;e0&&"function"==typeof a)return e(a,b);var g=function(a){var b={},c=a.result();return c.forEach(function(a){var c={id:a.id,timestamp:a.timestamp,type:a.type};a.names().forEach(function(b){c[b]=a.stat(b)}),b[c.id]=c}),b},h=function(a,b){var c=new Map(Object.keys(a).map(function(b){return[b,a[b]]}));return b=b||a,Object.keys(b).forEach(function(a){c[a]=b[a]}),c};if(arguments.length>=2){var i=function(a){f[1](h(g(a)))};return e.apply(this,[i,arguments[0]])}return new Promise(function(b,c){1===f.length&&"object"==typeof a?e.apply(d,[function(a){b(h(g(a)))},c]):e.apply(d,[function(a){b(h(g(a),a.result()))},c])}).then(b,c)},c},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){var a=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var c=1===arguments.length?arguments[0]:void 0;return new Promise(function(d,e){b.apply(a,[d,e,c])})}return b.apply(this,arguments)}}),e.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){var a=arguments,c=this,d=new Promise(function(d,e){b.apply(c,[a[0],d,e])});return a.length<2?d:d.then(function(){a[1].apply(null,[])},function(b){a.length>=3&&a[2].apply(null,[b])})}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){return arguments[0]=new("addIceCandidate"===a?RTCIceCandidate:RTCSessionDescription)(arguments[0]),b.apply(this,arguments)}});var a=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():a.apply(this,arguments)}}};b.exports={shimMediaStream:f.shimMediaStream,shimOnTrack:f.shimOnTrack,shimSourceObject:f.shimSourceObject,shimPeerConnection:f.shimPeerConnection,shimGetUserMedia:a("./getusermedia")}},{"../utils.js":10,"./getusermedia":4}],4:[function(a,b,c){"use strict";var d=a("../utils.js").log;b.exports=function(){var a=function(a){if("object"!=typeof a||a.mandatory||a.optional)return a;var b={};return Object.keys(a).forEach(function(c){if("require"!==c&&"advanced"!==c&&"mediaSource"!==c){var d="object"==typeof a[c]?a[c]:{ideal:a[c]};void 0!==d.exact&&"number"==typeof d.exact&&(d.min=d.max=d.exact);var e=function(a,b){return a?a+b.charAt(0).toUpperCase()+b.slice(1):"deviceId"===b?"sourceId":b};if(void 0!==d.ideal){b.optional=b.optional||[];var f={};"number"==typeof d.ideal?(f[e("min",c)]=d.ideal,b.optional.push(f),f={},f[e("max",c)]=d.ideal,b.optional.push(f)):(f[e("",c)]=d.ideal,b.optional.push(f))}void 0!==d.exact&&"number"!=typeof d.exact?(b.mandatory=b.mandatory||{},b.mandatory[e("",c)]=d.exact):["min","max"].forEach(function(a){void 0!==d[a]&&(b.mandatory=b.mandatory||{},b.mandatory[e(a,c)]=d[a])})}}),a.advanced&&(b.optional=(b.optional||[]).concat(a.advanced)),b},b=function(b,c){if(b=JSON.parse(JSON.stringify(b)),b&&b.audio&&(b.audio=a(b.audio)),b&&"object"==typeof b.video){var e=b.video.facingMode;if(e=e&&("object"==typeof e?e:{ideal:e}),e&&("user"===e.exact||"environment"===e.exact||"user"===e.ideal||"environment"===e.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete b.video.facingMode,"environment"===e.exact||"environment"===e.ideal))return navigator.mediaDevices.enumerateDevices().then(function(f){f=f.filter(function(a){return"videoinput"===a.kind});var g=f.find(function(a){return a.label.toLowerCase().indexOf("back")!==-1})||f.length&&f[f.length-1];return g&&(b.video.deviceId=e.exact?{exact:g.deviceId}:{ideal:g.deviceId}),b.video=a(b.video),d("chrome: "+JSON.stringify(b)),c(b)});b.video=a(b.video)}return d("chrome: "+JSON.stringify(b)),c(b)},c=function(a){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[a.name]||a.name,message:a.message,constraint:a.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},e=function(a,d,e){b(a,function(a){navigator.webkitGetUserMedia(a,d,function(a){e(c(a))})})};navigator.getUserMedia=e;var f=function(a){return new Promise(function(b,c){navigator.getUserMedia(a,b,c)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:f,enumerateDevices:function(){return new Promise(function(a){var b={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(c){a(c.map(function(a){return{label:a.label,kind:b[a.kind],deviceId:a.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var g=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(a){return b(a,function(a){return g(a).catch(function(a){return Promise.reject(c(a))})})}}else navigator.mediaDevices.getUserMedia=function(a){return f(a)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){d("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){d("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":10}],5:[function(a,b,c){"use strict";var d=a("sdp"),e=a("../utils").browserDetails,f={shimPeerConnection:function(){window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(a){return a}),window.RTCSessionDescription||(window.RTCSessionDescription=function(a){return a})),window.RTCPeerConnection=function(a){var b=this,c=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){b[a]=c[a].bind(c)}),this.onicecandidate=null,this.onaddstream=null,this.ontrack=null,this.onremovestream=null,this.onsignalingstatechange=null,this.oniceconnectionstatechange=null,this.onnegotiationneeded=null,this.ondatachannel=null,this.localStreams=[],this.remoteStreams=[],this.getLocalStreams=function(){return b.localStreams},this.getRemoteStreams=function(){return b.remoteStreams},this.localDescription=new RTCSessionDescription({type:"",sdp:""}),this.remoteDescription=new RTCSessionDescription({type:"",sdp:""}),this.signalingState="stable",this.iceConnectionState="new",this.iceGatheringState="new",this.iceOptions={gatherPolicy:"all",iceServers:[]},a&&a.iceTransportPolicy)switch(a.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=a.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=a&&"max-bundle"===a.bundlePolicy,a&&a.iceServers){var d=JSON.parse(JSON.stringify(a.iceServers));this.iceOptions.iceServers=d.filter(function(a){if(a&&a.urls){var b=a.urls;return"string"==typeof b&&(b=[b]),b=b.filter(function(a){return 0===a.indexOf("turn:")&&a.indexOf("transport=udp")!==-1&&a.indexOf("turn:[")===-1||0===a.indexOf("stun:")&&e.version>=14393})[0],!!b}return!1})}this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var a=this,b=d.splitSections(a.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(c){var d=!c.candidate||0===Object.keys(c.candidate).length;if(d)for(var e=1;e-1&&(this.localStreams.splice(b,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(a){return!!a.rtpSender}).map(function(a){return a.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(a){return!!a.rtpReceiver}).map(function(a){return a.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(a,b){var c={codecs:[],headerExtensions:[],fecMechanisms:[]};return a.codecs.forEach(function(a){for(var d=0;d0;c.forEach(function(a,c){var g=b.transceivers[c],h=g.iceGatherer,i=g.iceTransport,j=g.dtlsTransport,k=g.localCapabilities,l=g.remoteCapabilities,m="0"===a.split("\n",1)[0].split(" ",2)[1];if(!m&&!g.isDatachannel){var n=d.getIceParameters(a,e);if(f){var o=d.matchPrefix(a,"a=candidate:").map(function(a){return d.parseCandidate(a)}).filter(function(a){return"1"===a.component});o.length&&i.setRemoteCandidates(o)}var p=d.getDtlsParameters(a,e);f&&(p.role="server"),b.usingBundle&&0!==c||(i.start(h,n,f?"controlling":"controlled"),j.start(p));var q=b._getCommonCapabilities(k,l);b._transceive(g,q.codecs.length>0,!1)}})}switch(this.localDescription={type:a.type,sdp:a.sdp},a.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+a.type+'"')}var g=arguments.length>1&&"function"==typeof arguments[1];if(g){var h=arguments[1];window.setTimeout(function(){h(),"new"===b.iceGatheringState&&(b.iceGatheringState="gathering"),b._emitBufferedCandidates()},0)}var i=Promise.resolve();return i.then(function(){g||("new"===b.iceGatheringState&&(b.iceGatheringState="gathering"),window.setTimeout(b._emitBufferedCandidates.bind(b),500))}),i},window.RTCPeerConnection.prototype.setRemoteDescription=function(a){var b=this,c=new MediaStream,e=[],f=d.splitSections(a.sdp),g=f.shift(),h=d.matchPrefix(g,"a=ice-lite").length>0;switch(this.usingBundle=d.matchPrefix(g,"a=group:BUNDLE ").length>0,f.forEach(function(f,i){var j=d.splitLines(f),k=j[0].substr(2).split(" "),l=k[0],m="0"===k[1],n=d.getDirection(f,g),o=d.matchPrefix(f,"a=mid:");if(o=o.length?o[0].substr(6):d.generateIdentifier(),"application"===l&&"DTLS/SCTP"===k[2])return void(b.transceivers[i]={mid:o,isDatachannel:!0});var p,q,r,s,t,u,v,w,x,y,A,B,z=d.parseRtpParameters(f);m||(A=d.getIceParameters(f,g),B=d.getDtlsParameters(f,g),B.role="client"),w=d.parseRtpEncodingParameters(f);var C,D=d.matchPrefix(f,"a=ssrc:").map(function(a){return d.parseSsrcMedia(a)}).filter(function(a){return"cname"===a.attribute})[0];D&&(C=D.value);var E=d.matchPrefix(f,"a=end-of-candidates",g).length>0,F=d.matchPrefix(f,"a=candidate:").map(function(a){return d.parseCandidate(a)}).filter(function(a){return"1"===a.component});if("offer"!==a.type||m)"answer"!==a.type||m||(p=b.transceivers[i],q=p.iceGatherer,r=p.iceTransport,s=p.dtlsTransport,t=p.rtpSender,u=p.rtpReceiver,v=p.sendEncodingParameters,x=p.localCapabilities,b.transceivers[i].recvEncodingParameters=w,b.transceivers[i].remoteCapabilities=z,b.transceivers[i].cname=C,(h||E)&&F.length&&r.setRemoteCandidates(F),b.usingBundle&&0!==i||(r.start(q,A,"controlling"),s.start(B)),b._transceive(p,"sendrecv"===n||"recvonly"===n,"sendrecv"===n||"sendonly"===n),!u||"sendrecv"!==n&&"sendonly"!==n?delete p.rtpReceiver:(y=u.track,e.push([y,u]),c.addTrack(y)));else{var G=b.usingBundle&&i>0?{iceGatherer:b.transceivers[0].iceGatherer,iceTransport:b.transceivers[0].iceTransport,dtlsTransport:b.transceivers[0].dtlsTransport}:b._createIceAndDtlsTransports(o,i);if(E&&G.iceTransport.setRemoteCandidates(F),x=RTCRtpReceiver.getCapabilities(l),v=[{ssrc:1001*(2*i+2)}],u=new RTCRtpReceiver(G.dtlsTransport,l),y=u.track,e.push([y,u]),c.addTrack(y),b.localStreams.length>0&&b.localStreams[0].getTracks().length>=i){var H;"audio"===l?H=b.localStreams[0].getAudioTracks()[0]:"video"===l&&(H=b.localStreams[0].getVideoTracks()[0]),H&&(t=new RTCRtpSender(H,G.dtlsTransport))}b.transceivers[i]={iceGatherer:G.iceGatherer,iceTransport:G.iceTransport,dtlsTransport:G.dtlsTransport,localCapabilities:x,remoteCapabilities:z,rtpSender:t,rtpReceiver:u,kind:l,mid:o,cname:C,sendEncodingParameters:v,recvEncodingParameters:w},b._transceive(b.transceivers[i],!1,"sendrecv"===n||"sendonly"===n)}}),this.remoteDescription={type:a.type,sdp:a.sdp},a.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+a.type+'"')}return c.getTracks().length&&(b.remoteStreams.push(c),window.setTimeout(function(){var a=new Event("addstream");a.stream=c,b.dispatchEvent(a),null!==b.onaddstream&&window.setTimeout(function(){b.onaddstream(a)},0),e.forEach(function(d){var e=d[0],f=d[1],g=new Event("track");g.track=e,g.receiver=f,g.streams=[c],b.dispatchEvent(a),null!==b.ontrack&&window.setTimeout(function(){b.ontrack(g)},0)})},0)),arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.close=function(){this.transceivers.forEach(function(a){a.iceTransport&&a.iceTransport.stop(),a.dtlsTransport&&a.dtlsTransport.stop(),a.rtpSender&&a.rtpSender.stop(),a.rtpReceiver&&a.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(a){this.signalingState=a;var b=new Event("signalingstatechange");this.dispatchEvent(b),null!==this.onsignalingstatechange&&this.onsignalingstatechange(b)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var a=new Event("negotiationneeded");this.dispatchEvent(a),null!==this.onnegotiationneeded&&this.onnegotiationneeded(a)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var b,a=this,c={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(a){c[a.iceTransport.state]++,c[a.dtlsTransport.state]++}),c.connected+=c.completed,b="new",c.failed>0?b="failed":c.connecting>0||c.checking>0?b="connecting":c.disconnected>0?b="disconnected":c.new>0?b="new":(c.connected>0||c.completed>0)&&(b="connected"),b!==a.iceConnectionState){a.iceConnectionState=b;var d=new Event("iceconnectionstatechange");this.dispatchEvent(d),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(d)}},window.RTCPeerConnection.prototype.createOffer=function(){var a=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var b;1===arguments.length&&"function"!=typeof arguments[0]?b=arguments[0]:3===arguments.length&&(b=arguments[2]);var c=[],e=0,f=0;if(this.localStreams.length&&(e=this.localStreams[0].getAudioTracks().length,f=this.localStreams[0].getVideoTracks().length),b){if(b.mandatory||b.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==b.offerToReceiveAudio&&(e=b.offerToReceiveAudio),void 0!==b.offerToReceiveVideo&&(f=b.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(a){c.push({kind:a.kind,track:a,wantReceive:"audio"===a.kind?e>0:f>0}),"audio"===a.kind?e--:"video"===a.kind&&f--});e>0||f>0;)e>0&&(c.push({kind:"audio",wantReceive:!0}),e--),f>0&&(c.push({kind:"video",wantReceive:!0}),f--);var g=d.writeSessionBoilerplate(),h=[];c.forEach(function(b,c){var k,l,e=b.track,f=b.kind,g=d.generateIdentifier(),i=a.usingBundle&&c>0?{iceGatherer:h[0].iceGatherer,iceTransport:h[0].iceTransport,dtlsTransport:h[0].dtlsTransport}:a._createIceAndDtlsTransports(g,c),j=RTCRtpSender.getCapabilities(f),m=[{ssrc:1001*(2*c+1)}];e&&(k=new RTCRtpSender(e,i.dtlsTransport)),b.wantReceive&&(l=new RTCRtpReceiver(i.dtlsTransport,f)),h[c]={iceGatherer:i.iceGatherer,iceTransport:i.iceTransport,dtlsTransport:i.dtlsTransport,localCapabilities:j,remoteCapabilities:null,rtpSender:k,rtpReceiver:l,kind:f,mid:g,sendEncodingParameters:m,recvEncodingParameters:null}}),this.usingBundle&&(g+="a=group:BUNDLE "+h.map(function(a){return a.mid}).join(" ")+"\r\n"),c.forEach(function(b,c){var e=h[c];g+=d.writeMediaSection(e,e.localCapabilities,"offer",a.localStreams[0])}),this._pendingOffer=h;var i=new RTCSessionDescription({type:"offer",sdp:g});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,i),Promise.resolve(i)},window.RTCPeerConnection.prototype.createAnswer=function(){var a=this,b=d.writeSessionBoilerplate();this.usingBundle&&(b+="a=group:BUNDLE "+this.transceivers.map(function(a){return a.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(c){if(c.isDatachannel)return void(b+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+c.mid+"\r\n");var e=a._getCommonCapabilities(c.localCapabilities,c.remoteCapabilities);b+=d.writeMediaSection(c,e,"answer",a.localStreams[0])});var c=new RTCSessionDescription({type:"answer",sdp:b});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,c),Promise.resolve(c)},window.RTCPeerConnection.prototype.addIceCandidate=function(a){if(null===a)this.transceivers.forEach(function(a){a.iceTransport.addRemoteCandidate({})});else{var b=a.sdpMLineIndex;if(a.sdpMid)for(var c=0;c0?d.parseCandidate(a.candidate):{};if("tcp"===f.protocol&&(0===f.port||9===f.port))return;if("1"!==f.component)return;"endOfCandidates"===f.type&&(f={}),e.iceTransport.addRemoteCandidate(f);var g=d.splitSections(this.remoteDescription.sdp);g[b+1]+=(f.type?a.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=g.join("")}}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var a=[];this.transceivers.forEach(function(b){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(c){b[c]&&a.push(b[c].getStats())})});var b=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(c){var d=new Map;Promise.all(a).then(function(a){a.forEach(function(a){Object.keys(a).forEach(function(b){d.set(b,a[b]),d[b]=a[b]})}),b&&window.setTimeout(b,0,d),c(d)})})}}};b.exports={shimPeerConnection:f.shimPeerConnection,shimGetUserMedia:a("./getusermedia")}},{"../utils":10,"./getusermedia":6,sdp:1}],6:[function(a,b,c){"use strict";b.exports=function(){var a=function(a){return{name:{PermissionDeniedError:"NotAllowedError"}[a.name]||a.name,message:a.message,constraint:a.constraint,toString:function(){return this.name}}},b=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return b(c).catch(function(b){return Promise.reject(a(b))})}}},{}],7:[function(a,b,c){"use strict";var d=a("../utils").browserDetails,e={shimOnTrack:function(){"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(a){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=a),this.addEventListener("addstream",this._ontrackpoly=function(a){a.stream.getTracks().forEach(function(b){var c=new Event("track");c.track=b,c.receiver={track:b},c.streams=[a.stream],this.dispatchEvent(c)}.bind(this))}.bind(this))}})},shimSourceObject:function(){"object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return this.mozSrcObject},set:function(a){this.mozSrcObject=a}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(a,b){if(d.version<38&&a&&a.iceServers){for(var c=[],e=0;e=c&&parseInt(d[c],10)},detectBrowser:function(){var a={};if(a.browser=null,a.version=null,"undefined"==typeof window||!window.navigator)return a.browser="Not a browser.",a;if(navigator.mozGetUserMedia)a.browser="firefox",a.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)a.browser="chrome",a.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return a.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",a;a.browser="safari",a.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1)}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return a.browser="Not a supported browser.",a;a.browser="edge",a.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2)}return a}};b.exports={log:f.log,disableLog:f.disableLog,browserDetails:f.detectBrowser(),extractVersion:f.extractVersion}},{}]},{},[2])(2)}),f.parseWebrtcDetectedBrowser(),navigator.mozGetUserMedia?(MediaStreamTrack.getSources=function(a){setTimeout(function(){var b=[{kind:"audio",id:"default",label:"",facing:""},{kind:"video",id:"default",label:"",facing:""}];a(b)},0)},attachMediaStream=function(a,b){return a.srcObject=b,a},reattachMediaStream=function(a,b){return a.srcObject=b.srcObject,a},createIceServer=function(a,b,c){e.warn("createIceServer is deprecated. It should be replaced with an application level implementation.");var d=null,f=a.split(":");if(0===f[0].indexOf("stun"))d={urls:[a]};else if(0===f[0].indexOf("turn"))if(webrtcDetectedVersion<27){var g=a.split("?");1!==g.length&&0!==g[1].indexOf("transport=udp")||(d={urls:[g[0]],credential:c,username:b})}else d={urls:[a],credential:c,username:b};return d},createIceServers=function(a,b,c){e.warn("createIceServers is deprecated. It should be replaced with an application level implementation.");var d=[];for(i=0;i=43?a.srcObject=b:"undefined"!=typeof a.src?a.src=URL.createObjectURL(b):e.error("Error attaching stream to element."),a},reattachMediaStream=function(a,b){return webrtcDetectedVersion>=43?a.srcObject=b.srcObject:a.src=b.src,a},createIceServer=function(a,b,c){e.warn("createIceServer is deprecated. It should be replaced with an application level implementation.");var d=null,f=a.split(":");return 0===f[0].indexOf("stun")?d={url:a}:0===f[0].indexOf("turn")&&(d={url:a,credential:c,username:b}),d},createIceServers=function(a,b,c){e.warn("createIceServers is deprecated. It should be replaced with an application level implementation.");var d=[];if(webrtcDetectedVersion>=34)d={urls:a,credential:c,username:b};else for(i=0;i38?a.srcObject=b:"undefined"!=typeof a.src&&(a.src=URL.createObjectURL(b))}),attachMediaStream=function(a,b){return"chrome"!==webrtcDetectedBrowser&&"opera"!==webrtcDetectedBrowser||b?attachMediaStream_base(a,b):a.src="",a},reattachMediaStream_base=reattachMediaStream,reattachMediaStream=function(a,b){return reattachMediaStream_base(a,b),a},window.attachMediaStream=attachMediaStream,window.reattachMediaStream=reattachMediaStream,window.getUserMedia=function(a,b,c){navigator.getUserMedia(a,b,c)},f.attachMediaStream=attachMediaStream,f.reattachMediaStream=reattachMediaStream,f.getUserMedia=getUserMedia,"undefined"==typeof Promise&&(requestUserMedia=null),f.maybeThroughWebRTCReady()),function(){"use strict";var a=null;f.TEXT.EXTENSION={REQUIRE_INSTALLATION_FF:"To enable screensharing you need to install the Skylink WebRTC tools Firefox Add-on.",REQUIRE_INSTALLATION_CHROME:"To enable screensharing you need to install the Skylink WebRTC tools Chrome Extension.",REQUIRE_REFRESH:"Please refresh this page after the Skylink WebRTC tools extension has been installed.",BUTTON_FF:"Install Now",BUTTON_CHROME:"Go to Chrome Web Store"};var b=function(a){if(null===a||"object"!=typeof a)return a;var b=a.constructor();for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b};if(window.navigator.mozGetUserMedia?(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,d,e){if(c&&c.video&&c.video.mediaSource){if("screen"!==c.video.mediaSource&&"window"!==c.video.mediaSource)return void e(new Error('GetUserMedia: Only "screen" and "window" are supported as mediaSource constraints'));var g=b(c);g.video.mozMediaSource=g.video.mediaSource;var h=setInterval(function(){"complete"===document.readyState&&(clearInterval(h),a(g,d,function(a){["PermissionDeniedError","SecurityError"].indexOf(a.name)>-1&&"https:"===window.parent.location.protocol?f.renderNotificationBar(f.TEXT.EXTENSION.REQUIRE_INSTALLATION_FF,f.TEXT.EXTENSION.BUTTON_FF,"https://addons.mozilla.org/en-US/firefox/addon/skylink-webrtc-tools/",!0,!0):e(a)}))},1)}else a(c,d,e)},f.getUserMedia=window.getUserMedia=navigator.getUserMedia):window.navigator.webkitGetUserMedia&&"safari"!==window.webrtcDetectedBrowser?(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,e,g){if(c&&c.video&&c.video.mediaSource){if("chrome"!==window.webrtcDetectedBrowser)return void g(new Error("Current browser does not support screensharing"));var h=b(c),i=function(b,c){b?g("permission-denied"===b?new Error("Permission denied for screen retrieval"):new Error("Failed retrieving selected screen")):(h.video.mandatory=h.video.mandatory||{},h.video.mandatory.chromeMediaSource="desktop",h.video.mandatory.maxWidth=window.screen.width>1920?window.screen.width:1920,h.video.mandatory.maxHeight=window.screen.height>1080?window.screen.height:1080,c&&(h.video.mandatory.chromeMediaSourceId=c),delete h.video.mediaSource,a(h,e,g))},j=function(a){a.data&&(a.data.chromeMediaSourceId&&("PermissionDeniedError"===a.data.chromeMediaSourceId?i("permission-denied"):i(null,a.data.chromeMediaSourceId)),a.data.chromeExtensionStatus&&("not-installed"===a.data.chromeExtensionStatus?f.renderNotificationBar(f.TEXT.EXTENSION.REQUIRE_INSTALLATION_CHROME,f.TEXT.EXTENSION.BUTTON_CHROME,a.data.data,!0,!0):i(a.data.chromeExtensionStatus,null)),window.removeEventListener("message",j))};window.addEventListener("message",j),d({captureSourceId:!0})}else a(c,e,g)},f.getUserMedia=window.getUserMedia=navigator.getUserMedia,navigator.mediaDevices.getUserMedia=function(a){return new Promise(function(b,c){window.getUserMedia(a,b,c)})}):navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)?e.warn("Edge does not support screensharing feature in getUserMedia"):(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,d,e){if(c&&c.video&&c.video.mediaSource){var g=b(c);f.WebRTCPlugin.callWhenPluginReady(function(){return f.WebRTCPlugin.plugin.HasScreensharingFeature&&f.WebRTCPlugin.plugin.isScreensharingAvailable?(g.video.optional=g.video.optional||[],g.video.optional.push({sourceId:f.WebRTCPlugin.plugin.screensharingKey||"Screensharing"}),delete g.video.mediaSource,void a(g,d,e)):void e(new Error("Your version of the WebRTC plugin does not support screensharing"))})}else a(c,d,e)},f.getUserMedia=getUserMedia=window.getUserMedia=navigator.getUserMedia,navigator.mediaDevices&&"undefined"!=typeof Promise&&(navigator.mediaDevices.getUserMedia=requestUserMedia)),"chrome"===window.webrtcDetectedBrowser){var c=document.createElement("iframe");c.onload=function(){c.isLoaded=!0},c.src="https://cdn.temasys.com.sg/skylink/extensions/detectRTC.html",c.style.display="none",(document.body||document.documentElement).appendChild(c);var d=function(a){return a=a||{},c.isLoaded?void c.contentWindow.postMessage(a,"*"):void setTimeout(function(){c.contentWindow.postMessage(a,"*")},100)}}else"opera"===window.webrtcDetectedBrowser&&e.warn("Opera does not support screensharing feature in getUserMedia")}()}).call(b,"modules/RTC/adapter.screenshare.js")},function(a,b){"use strict";var c={CAMERA:"camera",DESKTOP:"desktop"};a.exports=c},function(a,b){"use strict";var c={ENVIRONMENT:"environment",USER:"user"};a.exports=c},function(a,b,c){(function(b){"use strict";function j(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function k(a){return a&&a.__esModule?a:{default:a}}function u(a,b,c,d,e,f,g){var h=this;m.call(this,null,a,b,function(){this.dontFireRemoveEvent||this.eventEmitter.emit(i.LOCAL_TRACK_STOPPED),this.dontFireRemoveEvent=!1}.bind(this),c,d,null),this.dontFireRemoveEvent=!1,this.resolution=e,p.isFirefox()&&(this.resolution=null),this.deviceId=f,this.startMuted=!1,this.initialMSID=this.getMSID(),this.inMuteOrUnmuteProgress=!1,this._facingMode=g,this._trackEnded=!1,this._bytesSent=null,this._testByteSent=!0,this._realDeviceId=""===this.deviceId?void 0:this.deviceId,this.stopStreamInProgress=!1,this._noDataFromSourceTimeout=null,this._onDeviceListChanged=function(a){h._setRealDeviceIdFromDeviceList(a),"undefined"!=typeof h.getTrack().readyState||"undefined"==typeof h._realDeviceId||a.find(function(a){return a.deviceId===h._realDeviceId})||(h._trackEnded=!0)},this.isAudioTrack()&&r.isDeviceChangeAvailable("output")&&(this._onAudioOutputDeviceChanged=this.setAudioOutput.bind(this),r.addListener(q.AUDIO_OUTPUT_DEVICE_CHANGED,this._onAudioOutputDeviceChanged)),r.addListener(q.DEVICE_LIST_CHANGED,this._onDeviceListChanged),this._initNoDataFromSourceHandlers()}function v(a,b){return a.inMuteOrUnmuteProgress?Promise.reject(new e.default(g.TRACK_MUTE_UNMUTE_IN_PROGRESS)):(a.inMuteOrUnmuteProgress=!0,a._setMute(b).then(function(){a.inMuteOrUnmuteProgress=!1}).catch(function(b){throw a.inMuteOrUnmuteProgress=!1,b}))}var d=c(6),e=k(d),f=c(7),g=j(f),h=c(8),i=j(h),l=c(56),m=c(58),n=c(9).getLogger(b),o=c(36),p=c(32),q=c(49),r=c(50),s=c(59),t=c(55);u.prototype=Object.create(m.prototype),u.prototype.constructor=u,u.prototype.isEnded=function(){return"ended"===this.getTrack().readyState||this._trackEnded},u.prototype._initNoDataFromSourceHandlers=function(){var a=this;this.isVideoTrack()&&this.videoType===t.CAMERA&&!function(){var b=a._onNoDataFromSourceError.bind(a);a._setHandler("track_mute",function(){a._checkForCameraIssues()&&!function(){var c=window.performance.now();a._noDataFromSourceTimeout=setTimeout(b,3e3),a._setHandler("track_unmute",function(){a._clearNoDataFromSourceMuteResources(),s.sendEventToAll(a.getType()+".track_unmute",{value:window.performance.now()-c})})}()}),a._setHandler("track_ended",b)}()},u.prototype._clearNoDataFromSourceMuteResources=function(){this._noDataFromSourceTimeout&&(clearTimeout(this._noDataFromSourceTimeout),this._noDataFromSourceTimeout=null),this._setHandler("track_unmute",void 0)},u.prototype._onNoDataFromSourceError=function(){this._clearNoDataFromSourceMuteResources(),this._checkForCameraIssues()&&this._fireNoDataFromSourceEvent()},u.prototype._fireNoDataFromSourceEvent=function(){this.eventEmitter.emit(i.NO_DATA_FROM_SOURCE),s.sendEventToAll(this.getType()+".no_data_from_source")},u.prototype._setRealDeviceIdFromDeviceList=function(a){var b=this.getTrack(),c=a.find(function(a){return a.kind===b.kind+"input"&&a.label===b.label});c&&(this._realDeviceId=c.deviceId)},u.prototype.mute=function(){return v(this,!0)},u.prototype.unmute=function(){return v(this,!1)},u.prototype._setMute=function(a){var b=this;if(this.isMuted()===a)return Promise.resolve();var c=Promise.resolve(),d=this;if(this.conference&&this.conference.room||(this.startMuted=a),this.dontFireRemoveEvent=!1,"https:"!==window.location.protocol||this.isAudioTrack()||this.videoType===t.DESKTOP||p.isFirefox())this.track&&(this.track.enabled=!a);else if(a)this.dontFireRemoveEvent=!0,c=new Promise(function(a,c){b._removeStreamFromConferenceAsMute(function(){b._stopMediaStream(),b._setStream(null),a()},function(a){c(a)})});else{var f={cameraDeviceId:this.getDeviceId(),devices:[o.VIDEO],facingMode:this.getCameraFacingMode()};this.resolution&&(f.resolution=this.resolution),c=r.obtainAudioAndVideoPermissions(f).then(function(a){var b=d.getType(),c=a.find(function(a){return a.mediaType===b});if(!c)throw new e.default(g.TRACK_NO_STREAM_FOUND);return d._setStream(c.stream),d.track=c.track,d.videoType!==c.videoType&&(n.warn("Video type has changed after unmute!",d.videoType,c.videoType),d.videoType=c.videoType),d.containers=d.containers.map(function(a){return r.attachMediaStream(a,d.stream)}),d._addStreamToConferenceAsUnmute()})}return c.then(function(){return d._sendMuteStatus(a)}).then(function(){d.eventEmitter.emit(i.TRACK_MUTE_CHANGED,this)})},u.prototype._addStreamToConferenceAsUnmute=function(){if(!this.conference||!this.conference.room)return Promise.resolve();var a=this;return new Promise(function(b,c){a.conference.room.addStream(a.stream,b,c,{mtype:a.type,type:"unmute",ssrc:a.ssrc,msid:a.getMSID()})})},u.prototype._removeStreamFromConferenceAsMute=function(a,b){return this.conference&&this.conference.room?void this.conference.room.removeStream(this.stream,a,b,{mtype:this.type,type:"mute",ssrc:this.ssrc}):void a()},u.prototype._sendMuteStatus=function(a){if(!this.conference||!this.conference.room)return Promise.resolve();var b=this;return new Promise(function(c){b.conference.room[b.isAudioTrack()?"setAudioMute":"setVideoMute"](a,c)})},u.prototype.dispose=function(){var a=this,b=Promise.resolve();return this.conference&&(b=this.conference.removeTrack(this)),this.stream&&(this._stopMediaStream(),this.detach()),r.removeListener(q.DEVICE_LIST_CHANGED,this._onDeviceListChanged),this._onAudioOutputDeviceChanged&&r.removeListener(q.AUDIO_OUTPUT_DEVICE_CHANGED,this._onAudioOutputDeviceChanged),b.then(function(){return m.prototype.dispose.call(a)})},u.prototype.isMuted=function(){return!this.stream||(!(!this.isVideoTrack()||this.isActive())||(!this.track||!this.track.enabled))},u.prototype._setSSRC=function(a){this.ssrc=a},u.prototype._setConference=function(a){this.conference=a;for(var b=0;b=0;--c){var d=b[c];a||i.attachMediaStream(d,null),a&&d!==a||b.splice(c,1)}a&&i.attachMediaStream(a,null)},o.prototype._attachTTFMTracker=function(a){},o.prototype.dispose=function(){return this.eventEmitter.removeAllListeners(),this.disposed=!0,Promise.resolve()},o.prototype.isScreenSharing=function(){},o.prototype._getId=function(){return this.getTrackId()},o.prototype.getId=function(){return this.stream?i.getStreamID(this.stream):null},o.prototype.isActive=function(){return"undefined"==typeof this.stream.active||this.stream.active},o.prototype.on=function(a,b){this.eventEmitter&&this.eventEmitter.on(a,b)},o.prototype.off=function(a,b){this.eventEmitter&&this.eventEmitter.removeListener(a,b)},o.prototype.addEventListener=o.prototype.on,o.prototype.removeEventListener=o.prototype.off,o.prototype.setAudioLevel=function(a){this.audioLevel!==a&&(this.eventEmitter.emit(e.TRACK_AUDIO_LEVEL_CHANGED,a),this.audioLevel=a)},o.prototype.getMSID=function(){var a=this.getStreamId(),b=this.getTrackId();return a&&b?a+" "+b:null},o.prototype.setAudioOutput=function(a){var b=this;return i.isDeviceChangeAvailable("output")?this.isVideoTrack()?Promise.resolve():Promise.all(this.containers.map(function(b){return b.setSinkId(a).catch(function(a){throw g.warn("Failed to change audio output device on element. Default or previously set audio output device will be used.",b,a),a})})).then(function(){b.eventEmitter.emit(e.TRACK_AUDIO_OUTPUT_CHANGED,a)}):Promise.reject(new Error("Audio output device change is not supported"))},a.exports=o}).call(b,"modules/RTC/JitsiTrack.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a){return a&&a.__esModule?a:{default:a}}function r(a){q||(p.loadScript(a?a:"https://api.callstats.io/static/callstats-ws.min.js",!0,!0),q=!0)}function s(a){p.loadScript(a?a:"analytics.js",!0,!1,!a,function(){v.analytics.loaded()},function(){v.analytics.dispose()})}function u(a){var b=new Error;return b.stack=a.stack,b.name=(a.name||"Unknown error")+(a.gum&&a.gum.error&&a.gum.error.name?" - "+a.gum.error.name:""),b.constraintName=a.gum&&a.gum.constraints?JSON.stringify(a.gum.constraints):"",b.message=a.message,b}function v(a,b){this.rtpStats=null,this.eventEmitter=new l,this.xmpp=a,this.options=b||{},this.callStatsIntegrationEnabled=this.options.callStatsID&&this.options.callStatsSecret&&v.disableThirdPartyRequests!==!0,this.callStatsIntegrationEnabled&&r(this.options.callStatsCustomScriptUrl),this.callStats=null,this.callStatsStarted=!1,this.logStatsIntervalId=null}var d=c(6),e=i(d),f=c(60),g=h(f),j=c(61),k=c(62),l=c(14),m=c(9).getLogger(b),n=c(112),o=c(113),p=c(114),q=!1,t=6e4;v.init=function(a){v.audioLevelsEnabled=!a.disableAudioLevels,"number"==typeof a.audioLevelsInterval&&(v.audioLevelsInterval=a.audioLevelsInterval),v.disableThirdPartyRequests=a.disableThirdPartyRequests,v.disableThirdPartyRequests!==!0?s(a.analyticsScriptUrl):v.analytics.dispose()},v.audioLevelsEnabled=!1,v.audioLevelsInterval=200,v.disableThirdPartyRequests=!1,v.analytics=j,v.callsStatsInstances=[],v.prototype.startRemoteStats=function(a){this.stopRemoteStats();try{this.rtpStats=new o(a,v.audioLevelsInterval,2e3,this.eventEmitter),this.rtpStats.start(v.audioLevelsEnabled)}catch(a){this.rtpStats=null,m.error("Failed to start collecting remote statistics: "+a)}this.rtpStats&&(this.logStatsIntervalId=setInterval(function(){var a=this.rtpStats.getCollectedStats();this.xmpp.sendLogs(a)&&this.rtpStats.clearCollectedStats()}.bind(this),t))},v.localStats=[],v.startLocalStats=function(a,b){if(v.audioLevelsEnabled){var c=new n(a,v.audioLevelsInterval,b);this.localStats.push(c),c.start()}},v.prototype.addAudioLevelListener=function(a){v.audioLevelsEnabled&&this.eventEmitter.on(g.AUDIO_LEVEL,a)},v.prototype.removeAudioLevelListener=function(a){v.audioLevelsEnabled&&this.eventEmitter.removeListener(g.AUDIO_LEVEL,a)},v.prototype.addAudioProblemListener=function(a){this.eventEmitter.on(g.AUDIO_NOT_WORKING,a)},v.prototype.addConnectionStatsListener=function(a){this.eventEmitter.on(g.CONNECTION_STATS,a)},v.prototype.removeConnectionStatsListener=function(a){this.eventEmitter.removeListener(g.CONNECTION_STATS,a)},v.prototype.addByteSentStatsListener=function(a){this.eventEmitter.on(g.BYTE_SENT_STATS,a)},v.prototype.removeByteSentStatsListener=function(a){this.eventEmitter.removeListener(g.BYTE_SENT_STATS,a)},v.prototype.dispose=function(){this.stopCallStats(),this.stopRemoteStats(),this.eventEmitter&&this.eventEmitter.removeAllListeners()},v.stopLocalStats=function(a){if(v.audioLevelsEnabled)for(var b=0;b-1&&v.callsStatsInstances.splice(a,1),k.dispose(),this.callStatsStarted=!1}},v.prototype.isCallstatsEnabled=function(){return this.callStatsIntegrationEnabled},v.prototype.sendIceConnectionFailedEvent=function(a){this.callstats&&this.callstats.sendIceConnectionFailedEvent(a,this.callstats),v.analytics.sendEvent("connection.ice_failed")},v.prototype.sendMuteEvent=function(a,b){this.callstats&&k.sendMuteEvent(a,b,this.callstats)},v.prototype.sendScreenSharingEvent=function(a){this.callstats&&k.sendScreenSharingEvent(a,this.callstats)},v.prototype.sendDominantSpeakerEvent=function(){this.callstats&&k.sendDominantSpeakerEvent(this.callstats)},v.sendActiveDeviceListEvent=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendActiveDeviceListEvent(a,b)}):k.sendActiveDeviceListEvent(a,null)},v.prototype.associateStreamWithVideoTag=function(a,b,c,d){this.callstats&&this.callstats.associateStreamWithVideoTag(a,b,c,d)},v.sendGetUserMediaFailed=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendGetUserMediaFailed(a instanceof e.default?u(a):a,b)}):k.sendGetUserMediaFailed(a instanceof e.default?u(a):a,null)},v.prototype.sendCreateOfferFailed=function(a,b){this.callstats&&k.sendCreateOfferFailed(a,b,this.callstats)},v.prototype.sendCreateAnswerFailed=function(a,b){this.callstats&&k.sendCreateAnswerFailed(a,b,this.callstats)},v.prototype.sendSetLocalDescFailed=function(a,b){this.callstats&&k.sendSetLocalDescFailed(a,b,this.callstats)},v.prototype.sendSetRemoteDescFailed=function(a,b){this.callstats&&k.sendSetRemoteDescFailed(a,b,this.callstats)},v.prototype.sendAddIceCandidateFailed=function(a,b){this.callstats&&k.sendAddIceCandidateFailed(a,b,this.callstats)},v.prototype.sendDetectedAudioProblem=function(a){this.callstats&&this.callstats.sendDetectedAudioProblem(a)},v.sendLog=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendApplicationLog(a,b)}):k.sendApplicationLog(a,null)},v.prototype.sendFeedback=function(a,b){this.callstats&&this.callstats.sendFeedback(a,b),v.analytics.sendEvent("feedback.rating",{value:a,detailed:b})},v.LOCAL_JID=c(116).LOCAL_JID,v.reportGlobalError=function(a){a instanceof e.default&&a.gum?v.sendGetUserMediaFailed(a):v.sendLog(a)},v.sendEventToAll=function(a,b){this.analytics.sendEvent(a,b),v.sendLog(JSON.stringify({name:a,data:b}))},a.exports=v}).call(b,"modules/statistics/statistics.js")},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.AUDIO_LEVEL="statistics.audioLevel",b.AUDIO_NOT_WORKING="statistics.audio_not_working",b.BYTE_SENT_STATS="statistics.byte_sent_stats",b.CONNECTION_STATS="statistics.connectionstats"},function(a,b,c){"use strict";function e(){}function f(){this.browserName=d.getBrowserName(),this.permanentProperties={}}var d=c(32);e.prototype.sendEvent=function(){},f.eventsQueue=[],f.prototype.sendEvent=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._checkAnalyticsAndMaybeCacheEvent(a,b)){b.browserName=this.browserName;try{this.analytics.sendEvent(a,Object.assign({},this.permanentProperties,b))}catch(a){}}},f.prototype._checkAnalyticsAndMaybeCacheEvent=function(a,b){if(null===this.analytics||"undefined"==typeof this.analytics){if(!window.Analytics)return f.eventsQueue.push({action:a,data:b}),!1;this.loaded()}return!0},f.prototype.dispose=function(){this.analytics=new e,f.eventsQueue.length=0},f.prototype.addPermanentProperties=function(a){this.permanentProperties=Object.assign(this.permanentProperties,a)},f.prototype.loaded=function(){var a=window.Analytics||e;this.analytics=new a,f.eventsQueue.length&&(f.eventsQueue.forEach(function(a){this.sendEvent(a.action,a.data)}.bind(this)),f.eventsQueue.length=0)},a.exports=new f},function(a,b,c){(function(b){"use strict";function l(a,b){if(d.log("CallStats Status: err="+a+" msg="+b),n.initializeInProgress=!1,"success"!==a)return void(n.initializeFailed=!0);var c=j.addNewFabric(this.peerconnection,k,j.fabricUsage.multiplex,this.confID,this.pcCallback.bind(this)),e="success"===c.status;return e?(n.initializeFailed=!1,n.initialized=!0,n.feedbackEnabled=!0,void(n.reportsQueue.length&&(n.reportsQueue.forEach(function(a){if(a.type===o.ERROR){var b=a.data;n._reportError.call(this,b.type,b.error,b.pc)}else if(a.type===o.EVENT&&e){var c=a.data;j.sendFabricEvent(this.peerconnection,c.event,this.confID,c.eventData)}else if(a.type===o.MST_WITH_USERID){var d=a.data;j.associateMstWithUserID(this.peerconnection,d.callStatsId,this.confID,d.ssrc,d.usageLabel,d.containerId)}},this),n.reportsQueue.length=0))):(n.initializeFailed=!0,void d.log("callstats fabric not initilized",c.message))}function m(a){return function(){try{a.apply(this,arguments)}catch(a){e.callErrorHandler(a),d.error(a)}}}var d=c(9).getLogger(b),e=c(39),f=c(63),g=c(64),h={createOffer:"createOffer",createAnswer:"createAnswer",setLocalDescription:"setLocalDescription",setRemoteDescription:"setRemoteDescription",addIceCandidate:"addIceCandidate",getUserMedia:"getUserMedia",iceConnectionFailure:"iceConnectionFailure",signalingError:"signalingError",applicationLog:"applicationLog"},i={fabricHold:"fabricHold",fabricResume:"fabricResume",audioMute:"audioMute",audioUnmute:"audioUnmute",videoPause:"videoPause",videoResume:"videoResume",fabricUsageEvent:"fabricUsageEvent",fabricStats:"fabricStats",fabricTerminated:"fabricTerminated",screenShareStart:"screenShareStart",screenShareStop:"screenShareStop",dominantSpeaker:"dominantSpeaker",activeDeviceList:"activeDeviceList"},j=null,k="jitsi",n=m(function(a,b,c){try{n.feedbackEnabled=!1,j=new callstats($,g,f),this.peerconnection=a.peerconnection.peerconnection,this.userID={aliasName:Strophe.getResourceFromJid(a.room.myroomjid),userName:b.getCallStatsUserName()};var h=window.location;this.confID=h.hostname+"/"+c.roomName,this.callStatsID=c.callStatsID,this.callStatsSecret=c.callStatsSecret,n.initializeInProgress=!0,j.initialize(this.callStatsID,this.callStatsSecret,this.userID,l.bind(this))}catch(a){e.callErrorHandler(a),j=null,d.error(a)}});n.reportsQueue=[],n.initialized=!1,n.initializeInProgress=!1,n.initializeFailed=!1,n.feedbackEnabled=!1,n._checkInitialize=function(){!n.initialized&&n.initializeFailed&&j&&!n.initializeInProgress&&(n.initializeInProgress=!0,j.initialize(j.callStatsID,j.callStatsSecret,j.userID,l.bind(j)))};var o={ERROR:"error",EVENT:"event",MST_WITH_USERID:"mstWithUserID"};n.prototype.pcCallback=m(function(a,b){j&&"success"!==a&&d.error("Monitoring status: "+a+" msg: "+b)}),n.prototype.associateStreamWithVideoTag=function(a,b,c,e){if(j){var f=b?this.userID:"focus";m(function(){d.debug("Calling callStats.associateMstWithUserID with:",this.peerconnection,f,this.confID,a,c,e),n.initialized?j.associateMstWithUserID(this.peerconnection,f,this.confID,a,c,e):(n.reportsQueue.push({type:o.MST_WITH_USERID,data:{callStatsId:f,containerId:e,ssrc:a,usageLabel:c}}),n._checkInitialize())}).bind(this)()}},n.sendMuteEvent=m(function(a,b,c){var d=void 0;d="video"===b?a?i.videoPause:i.videoResume:a?i.audioMute:i.audioUnmute,n._reportEvent.call(c,d)}),n.sendScreenSharingEvent=m(function(a,b){n._reportEvent.call(b,a?i.screenShareStart:i.screenShareStop)}),n.sendDominantSpeakerEvent=m(function(a){n._reportEvent.call(a,i.dominantSpeaker)}),n.sendActiveDeviceListEvent=m(function(a,b){n._reportEvent.call(b,i.activeDeviceList,a)}),n._reportEvent=function(a,b){n.initialized?j.sendFabricEvent(this.peerconnection,a,this.confID,b):(n.reportsQueue.push({type:o.EVENT,data:{event:a,eventData:b}}),n._checkInitialize())},n.prototype.sendTerminateEvent=m(function(){n.initialized&&j.sendFabricEvent(this.peerconnection,j.fabricEvent.fabricTerminated,this.confID)}),n.prototype.sendDetectedAudioProblem=m(function(a){n._reportError.call(this,h.applicationLog,a,this.peerconnection)}),n.prototype.sendIceConnectionFailedEvent=m(function(a,b){n._reportError.call(b,h.iceConnectionFailure,null,a)}),n.prototype.sendFeedback=m(function(a,b){n.feedbackEnabled&&j.sendUserFeedback(this.confID,{userID:this.userID,overall:a,comment:b})}),n._reportError=function(a,b,c){b||(d.warn("No error is passed!"),b=new Error("Unknown error")),n.initialized?j.reportError(c,this.confID,a,b):(n.reportsQueue.push({type:o.ERROR,data:{type:a,error:b,pc:c}}),n._checkInitialize())},n.sendGetUserMediaFailed=m(function(a,b){n._reportError.call(b,h.getUserMedia,a,null)}),n.sendCreateOfferFailed=m(function(a,b,c){n._reportError.call(c,h.createOffer,a,b)}),n.sendCreateAnswerFailed=m(function(a,b,c){n._reportError.call(c,h.createAnswer,a,b)}),n.sendSetLocalDescFailed=m(function(a,b,c){n._reportError.call(c,h.setLocalDescription,a,b)}),n.sendSetRemoteDescFailed=m(function(a,b,c){n._reportError.call(c,h.setRemoteDescription,a,b)}),n.sendAddIceCandidateFailed=m(function(a,b,c){n._reportError.call(c,h.addIceCandidate,a,b)}),n.sendApplicationLog=m(function(a,b){n._reportError.call(b,h.applicationLog,a,null)}),n.dispose=function(){n.initialized=!1,n.initializeFailed=!1,n.initializeInProgress=!1},a.exports=n}).call(b,"modules/statistics/CallStats.js")},function(a,b,c){var d;!function(e){function f(a,b,c){var d=0,e=[0],f="",g=null,f=c||"UTF8";if("UTF8"!==f&&"UTF16"!==f)throw"encoding must be UTF8 or UTF16";if("HEX"===b){if(0!==a.length%2)throw"srcString of HEX type must be in byte increments";g=i(a),d=g.binLen,e=g.value}else if("ASCII"===b||"TEXT"===b)g=h(a,f),d=g.binLen,e=g.value;else{if("B64"!==b)throw"inputFormat must be HEX, TEXT, ASCII, or B64";g=j(a),d=g.binLen,e=g.value}this.getHash=function(a,b,c,f){var j,g=null,h=e.slice(),i=d;if(3===arguments.length?"number"!=typeof c&&(f=c,c=1):2===arguments.length&&(c=1),c!==parseInt(c,10)||1>c)throw"numRounds must a integer >= 1";switch(b){case"HEX":g=k;break;case"B64":g=l;break;default:throw"format must be HEX or B64"}if("SHA-1"===a)for(j=0;jq/8&&(o[b]&=4294967040),p=0;p<=b;p+=1)s[p]=909522486^o[p],t[p]=1549556828^o[p];return c="SHA-1"===c?K(t.concat(K(s.concat(e),a+d)),a+r):L(t.concat(L(s.concat(e),a+d,c)),a+r,c),g(c,m(n))}}function g(a,b){this.a=a,this.b=b}function h(a,b){var d,g,c=[],e=[],f=0;if("UTF8"===b)for(g=0;g>>12,e[1]=128|(4032&d)>>>6,e[2]=128|63&d):128>>6,e[1]=128|63&d):e[0]=d,d=0;d>>2]|=e[d]<<24-f%4*8,f+=1;else if("UTF16"===b)for(g=0;g>>2]|=a.charCodeAt(g)<<16-f%4*8,f+=2;return{value:c,binLen:8*f}}function i(a){var d,e,b=[],c=a.length;if(0!==c%2)throw"String of HEX type must be in byte increments";for(d=0;d>>3]|=e<<24-d%8*4}return{value:b,binLen:4*c}}function j(a){var d,e,f,g,h,b=[],c=0;if(-1===a.search(/^[a-zA-Z0-9=+\/]+$/))throw"Invalid character in base-64 string";if(d=a.indexOf("="),a=a.replace(/\=/g,""),-1!==d&&d1)))/4)-B((a-1901+b)/100)+B((a-1601+b)/400)};if((p=n.hasOwnProperty)||(p=function(a){var c,b={};return(b.__proto__=null,b.__proto__={toString:1},b).toString!=o?p=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(c=b.constructor,p=function(a){var b=(this.constructor||c).prototype;return a in this&&!(a in b&&this[a]===b[a])}),b=null,p.call(this,a)}),q=function(a,b){var d,e,f,c=0;(d=function(){this.valueOf=0}).prototype.valueOf=0,e=new d;for(f in e)p.call(e,f)&&c++;return d=e=null,c?q=2==c?function(a,b){var e,c={},d=o.call(a)==u;for(e in a)d&&"prototype"==e||p.call(c,e)||!(c[e]=1)||!p.call(a,e)||b(e)}:function(a,b){var d,e,c=o.call(a)==u;for(d in a)c&&"prototype"==d||!p.call(a,d)||(e="constructor"===d)||b(d);(e||p.call(a,d="constructor"))&&b(d)}:(e=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],q=function(a,b){var d,f,c=o.call(a)==u,h=!c&&"function"!=typeof a.constructor&&g[typeof a.hasOwnProperty]&&a.hasOwnProperty||p;for(d in a)c&&"prototype"==d||!h.call(a,d)||b(d);for(f=e.length;d=e[--f];h.call(a,d)&&b(d));}),q(a,b)},!t("json-stringify")){var E={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},F="000000",G=function(a,b){return(F+(b||0)).slice(-a)},H="\\u00",I=function(a){for(var b='"',c=0,d=a.length,e=!A||d>10,f=e&&(A?a.split(""):a);c-1/0&&h<1/0){if(D){for(m=B(h/864e5),k=B(m/365.2425)+1970-1;D(k+1,0)<=m;k++);for(l=B((m-D(k,0))/30.42);D(k,l+1)<=m;l++);m=1+m-D(k,l),n=(h%864e5+864e5)%864e5,s=B(n/36e5)%24,t=B(n/6e4)%60,u=B(n/1e3)%60,A=n%1e3}else k=h.getUTCFullYear(),l=h.getUTCMonth(),m=h.getUTCDate(),s=h.getUTCHours(),t=h.getUTCMinutes(),u=h.getUTCSeconds(),A=h.getUTCMilliseconds();h=(k<=0||k>=1e4?(k<0?"-":"+")+G(6,k<0?-k:k):G(4,k))+"-"+G(2,l+1)+"-"+G(2,m)+"T"+G(2,s)+":"+G(2,t)+":"+G(2,u)+"."+G(3,A)+"Z"}else h=null;if(c&&(h=c.call(b,a,h)),null===h)return"null";if(i=o.call(h),i==z)return""+h;if(i==w)return h>-1/0&&h<1/0?""+h:"null";if(i==x)return I(""+h);if("object"==typeof h){for(H=g.length;H--;)if(g[H]===h)throw j();if(g.push(h),C=[],K=f,f+=e,i==y){for(F=0,H=h.length;F0)for(d="",c>10&&(c=10);d.length=48&&g<=57||g>=97&&g<=102||g>=65&&g<=70||O();c+=K("0x"+a.slice(d,M));break;default:O()}else{if(34==g)break;for(g=a.charCodeAt(M),d=M;g>=32&&92!=g&&34!=g;)g=a.charCodeAt(++M);c+=a.slice(d,M)}if(34==a.charCodeAt(M))return M++,c;O();default:if(d=M,45==g&&(f=!0,g=a.charCodeAt(++M)),g>=48&&g<=57){for(48==g&&(g=a.charCodeAt(M+1),g>=48&&g<=57)&&O(),f=!1;M=48&&g<=57);M++);if(46==a.charCodeAt(M)){for(e=++M;e=48&&g<=57);e++);e==M&&O(),M=e}if(g=a.charCodeAt(M),101==g||69==g){for(g=a.charCodeAt(++M),43!=g&&45!=g||M++,e=M;e=48&&g<=57);e++);e==M&&O(),M=e}return+a.slice(d,M)}if(f&&O(),"true"==a.slice(M,M+4))return M+=4,!0;if("false"==a.slice(M,M+5))return M+=5,!1;if("null"==a.slice(M,M+4))return M+=4,null;O()}return"$"},Q=function(a){var b,c;if("$"==a&&O(),"string"==typeof a){if("@"==(A?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=P(),"]"!=a;c||(c=!0))c&&(","==a?(a=P(),"]"==a&&O()):O()),","==a&&O(),b.push(Q(a));return b}if("{"==a){for(b={};a=P(),"}"!=a;c||(c=!0))c&&(","==a?(a=P(),"}"==a&&O()):O()),","!=a&&"string"==typeof a&&"@"==(A?a.charAt(0):a[0])&&":"==P()||O(),b[a.slice(1)]=Q(P());return b}O()}return a},R=function(a,b,c){var d=S(a,b,c);d===r?delete a[b]:a[b]=d},S=function(a,b,c){var e,d=a[b];if("object"==typeof d&&d)if(o.call(d)==y)for(e=d.length;e--;)R(d,e,c);else q(d,function(a){R(d,a,c)});return c.call(a,b,d)};b.parse=function(a,b){var c,d;return M=0,N=""+a,c=Q(P()),"$"!=P()&&O(),M=N=null,b&&o.call(b)==u?S((d={},d[""]=c,d),"",b):c}}}return b.runInContext=k,b}var f=c(73),g={function:!0,object:!0},h=g[typeof b]&&b&&!b.nodeType&&b,i=g[typeof window]&&window||this,j=h&&g[typeof a]&&a&&!a.nodeType&&"object"==typeof e&&e;if(!j||j.global!==j&&j.window!==j&&j.self!==j||(i=j),h&&!f)k(i,h);else{var l=i.JSON,m=i.JSON3,n=!1,o=k(i,i.JSON3={noConflict:function(){return n||(n=!0,i.JSON=l,i.JSON3=m,l=m=null),o}});i.JSON={parse:o.parse,stringify:o.stringify}}f&&(d=function(){return o}.call(b,c,b,a),!(void 0!==d&&(a.exports=d)))}).call(this)}).call(b,c(72)(a),function(){return this}())},function(a,b){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children=[],a.webpackPolyfill=1),a}},function(a,b){(function(b){a.exports=b}).call(b,{})},function(a,b){a.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},function(a,b){function c(a){if(a)return d(a)}function d(a){for(var b in c.prototype)a[b]=c.prototype[b];return a}a.exports=c,c.prototype.on=c.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},c.prototype.once=function(a,b){function d(){c.off(a,d),b.apply(this,arguments)}var c=this;return this._callbacks=this._callbacks||{},d.fn=b,this.on(a,d),this},c.prototype.off=c.prototype.removeListener=c.prototype.removeAllListeners=c.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;for(var d,e=0;e0&&!this.encoding){var a=this.packetBuffer.shift();this.packet(a)}},n.prototype.cleanup=function(){j("cleanup");for(var a;a=this.subs.shift();)a.destroy();this.packetBuffer=[],this.encoding=!1,this.lastPing=null,this.decoder.destroy()},n.prototype.close=n.prototype.disconnect=function(){j("disconnect"),this.skipReconnect=!0,this.reconnecting=!1,"opening"==this.readyState&&this.cleanup(),this.backoff.reset(),this.readyState="closed",this.engine&&this.engine.close()},n.prototype.onclose=function(a){j("onclose"),this.cleanup(),this.backoff.reset(),this.readyState="closed",this.emit("close",a),this._reconnection&&!this.skipReconnect&&this.reconnect()},n.prototype.reconnect=function(){if(this.reconnecting||this.skipReconnect)return this;var a=this;if(this.backoff.attempts>=this._reconnectionAttempts)j("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var b=this.backoff.duration();j("will wait %dms before reconnect attempt",b),this.reconnecting=!0;var c=setTimeout(function(){a.skipReconnect||(j("attempting reconnect"),a.emitAll("reconnect_attempt",a.backoff.attempts),a.emitAll("reconnecting",a.backoff.attempts),a.skipReconnect||a.open(function(b){b?(j("reconnect attempt error"),a.reconnecting=!1,a.reconnect(),a.emitAll("reconnect_error",b.data)):(j("reconnect success"),a.onreconnect())}))},b);this.subs.push({destroy:function(){clearTimeout(c)}})}},n.prototype.onreconnect=function(){var a=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",a)}},function(a,b,c){a.exports=c(80)},function(a,b,c){a.exports=c(81),a.exports.parser=c(88)},function(a,b,c){(function(b){function m(a,c){if(!(this instanceof m))return new m(a,c);c=c||{},a&&"object"==typeof a&&(c=a,a=null),a?(a=i(a),c.hostname=a.host,c.secure="https"==a.protocol||"wss"==a.protocol,c.port=a.port,a.query&&(c.query=a.query)):c.host&&(c.hostname=i(c.host).host),this.secure=null!=c.secure?c.secure:b.location&&"https:"==location.protocol,c.hostname&&!c.port&&(c.port=this.secure?"443":"80"),this.agent=c.agent||!1,this.hostname=c.hostname||(b.location?location.hostname:"localhost"),this.port=c.port||(b.location&&location.port?location.port:this.secure?443:80),this.query=c.query||{},"string"==typeof this.query&&(this.query=k.decode(this.query)),this.upgrade=!1!==c.upgrade,this.path=(c.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!c.forceJSONP,this.jsonp=!1!==c.jsonp,this.forceBase64=!!c.forceBase64,this.enablesXDR=!!c.enablesXDR,this.timestampParam=c.timestampParam||"t",this.timestampRequests=c.timestampRequests,this.transports=c.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.policyPort=c.policyPort||843,this.rememberUpgrade=c.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=c.onlyBinaryUpgrades,this.perMessageDeflate=!1!==c.perMessageDeflate&&(c.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=c.pfx||null,this.key=c.key||null,this.passphrase=c.passphrase||null,this.cert=c.cert||null,this.ca=c.ca||null,this.ciphers=c.ciphers||null,this.rejectUnauthorized=void 0===c.rejectUnauthorized?null:c.rejectUnauthorized;var d="object"==typeof b&&b;d.global===d&&c.extraHeaders&&Object.keys(c.extraHeaders).length>0&&(this.extraHeaders=c.extraHeaders),this.open()}function n(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var d=c(82),e=c(96),f=c(67)("engine.io-client:socket"),g=c(103),h=c(88),i=c(66),j=c(104),k=c(97);a.exports=m,m.priorWebsocketSuccess=!1,e(m.prototype),m.protocol=h.protocol,m.Socket=m,m.Transport=c(87),m.transports=c(82),m.parser=c(88),m.prototype.createTransport=function(a){f('creating transport "%s"',a);var b=n(this.query);b.EIO=h.protocol,b.transport=a,this.id&&(b.sid=this.id);var c=new d[a]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:b,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders});return c},m.prototype.open=function(){var a;if(this.rememberUpgrade&&m.priorWebsocketSuccess&&this.transports.indexOf("websocket")!=-1)a="websocket";else{if(0===this.transports.length){var b=this;return void setTimeout(function(){b.emit("error","No transports available")},0)}a=this.transports[0]}this.readyState="opening";try{a=this.createTransport(a)}catch(a){return this.transports.shift(),void this.open()}a.open(),this.setTransport(a)},m.prototype.setTransport=function(a){f("setting transport %s",a.name);var b=this;this.transport&&(f("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=a,a.on("drain",function(){b.onDrain()}).on("packet",function(a){b.onPacket(a)}).on("error",function(a){b.onError(a)}).on("close",function(){b.onClose("transport close")})},m.prototype.probe=function(a){function e(){if(d.onlyBinaryUpgrades){var e=!this.supportsBinary&&d.transport.supportsBinary;c=c||e}c||(f('probe transport "%s" opened',a),b.send([{type:"ping",data:"probe"}]),b.once("packet",function(e){if(!c)if("pong"==e.type&&"probe"==e.data){if(f('probe transport "%s" pong',a),d.upgrading=!0,d.emit("upgrading",b),!b)return;m.priorWebsocketSuccess="websocket"==b.name,f('pausing current transport "%s"',d.transport.name),d.transport.pause(function(){c||"closed"!=d.readyState&&(f("changing transport and sending upgrade packet"),l(),d.setTransport(b),b.send([{type:"upgrade"}]),d.emit("upgrade",b),b=null,d.upgrading=!1,d.flush())})}else{f('probe transport "%s" failed',a);var g=new Error("probe error");g.transport=b.name,d.emit("upgradeError",g)}}))}function g(){c||(c=!0,l(),b.close(),b=null)}function h(c){var e=new Error("probe error: "+c);e.transport=b.name,g(),f('probe transport "%s" failed because of error: %s',a,c),d.emit("upgradeError",e)}function i(){h("transport closed")}function j(){h("socket closed")}function k(a){b&&a.name!=b.name&&(f('"%s" works - aborting "%s"',a.name,b.name),g())}function l(){b.removeListener("open",e),b.removeListener("error",h),b.removeListener("close",i),d.removeListener("close",j),d.removeListener("upgrading",k)}f('probing transport "%s"',a);var b=this.createTransport(a,{probe:1}),c=!1,d=this;m.priorWebsocketSuccess=!1,b.once("open",e),b.once("error",h),b.once("close",i),this.once("close",j),this.once("upgrading",k),b.open()},m.prototype.onOpen=function(){if(f("socket open"),this.readyState="open",m.priorWebsocketSuccess="websocket"==this.transport.name,this.emit("open"),this.flush(),"open"==this.readyState&&this.upgrade&&this.transport.pause){f("starting upgrade probes");for(var a=0,b=this.upgrades.length;a1?{type:n[e],data:a.substring(1)}:{type:n[e]}:o}var g=new Uint8Array(a),e=g[0],h=f(a,1);return p&&"blob"===c&&(h=new p([h])),{type:n[e],data:h}},b.decodeBase64Packet=function(b,c){var d=n[b.charAt(0)];if(!a.ArrayBuffer)return{type:d,data:{base64:!0,data:b.substr(1)}};var e=g.decode(b.substr(1));return"blob"===c&&p&&(e=new p([e])),{type:d,data:e}},b.encodePayload=function(a,c,d){function g(a){return a.length+":"+a}function h(a,d){b.encodePacket(a,!!f&&c,!0,function(a){d(null,g(a))})}"function"==typeof c&&(d=c,c=null);var f=e(a);return c&&f?p&&!l?b.encodePayloadAsBlob(a,d):b.encodePayloadAsArrayBuffer(a,d):a.length?void u(a,h,function(a,b){return d(b.join(""))}):d("0:")},b.decodePayload=function(a,c,d){if("string"!=typeof a)return b.decodePayloadAsBinary(a,c,d);"function"==typeof c&&(d=c,c=null);var e;if(""==a)return d(o,0,1);for(var g,h,f="",i=0,j=a.length;i0;){for(var i=new Uint8Array(e),j=0===i[0],k="",l=1;255!=i[l];l++){if(k.length>310){h=!0;break}k+=i[l]}if(h)return d(o,0,1);e=f(e,2+k.length),k=parseInt(k);var m=f(e,0,k);if(j)try{m=String.fromCharCode.apply(null,new Uint8Array(m))}catch(a){var n=new Uint8Array(m);m="";for(var l=0;ld&&(c=d),b>=d||b>=c||0===d)return new ArrayBuffer(0);for(var e=new Uint8Array(a),f=new Uint8Array(c-b),g=b,h=0;g>2],f+=a[(3&c[d])<<4|c[d+1]>>4],f+=a[(15&c[d+1])<<2|c[d+2]>>6],f+=a[63&c[d+2]];return e%3===2?f=f.substring(0,f.length-1)+"=":e%3===1&&(f=f.substring(0,f.length-2)+"=="),f},b.decode=function(b){var e,g,h,i,j,c=.75*b.length,d=b.length,f=0;"="===b[b.length-1]&&(c--,"="===b[b.length-2]&&c--);var k=new ArrayBuffer(c),l=new Uint8Array(k);for(e=0;e>4,l[f++]=(15&h)<<4|i>>2,l[f++]=(3&i)<<6|63&j;return k}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(a,b){function c(a,b,c){function f(a,d){if(f.count<=0)throw new Error("after called too many times");--f.count,a?(e=!0,b(a),b=c):0!==f.count||e||b(null,d)}var e=!1;return c=c||d,f.count=a,0===a?b():f}function d(){}a.exports=c},function(a,b,c){var d;(function(a,e){!function(f){function k(a){for(var e,f,b=[],c=0,d=a.length;c=55296&&e<=56319&&c65535&&(d-=65536,e+=j(d>>>10&1023|55296),d=56320|1023&d),e+=j(d);return e}function m(a){if(a>=55296&&a<=57343)throw Error("Lone surrogate U+"+a.toString(16).toUpperCase()+" is not a scalar value")}function n(a,b){return j(a>>b&63|128)}function o(a){if(0==(4294967168&a))return j(a);var b="";return 0==(4294965248&a)?b=j(a>>6&31|192):0==(4294901760&a)?(m(a),b=j(a>>12&15|224),b+=n(a,6)):0==(4292870144&a)&&(b=j(a>>18&7|240),b+=n(a,12),b+=n(a,6)),b+=j(63&a|128)}function p(a){for(var e,b=k(a),c=b.length,d=-1,f="";++d=t)throw Error("Invalid byte index");var a=255&s[u];if(u++,128==(192&a))return 63&a;throw Error("Invalid continuation byte")}function r(){var a,b,c,d,e;if(u>t)throw Error("Invalid byte index");if(u==t)return!1;if(a=255&s[u],u++,0==(128&a))return a;if(192==(224&a)){var b=q();if(e=(31&a)<<6|b,e>=128)return e;throw Error("Invalid continuation byte")}if(224==(240&a)){if(b=q(),c=q(),e=(15&a)<<12|b<<6|c,e>=2048)return m(e),e;throw Error("Invalid continuation byte")}if(240==(248&a)&&(b=q(),c=q(),d=q(),e=(15&a)<<18|b<<12|c<<6|d,e>=65536&&e<=1114111))return e;throw Error("Invalid UTF-8 detected")}function v(a){s=k(a),t=s.length,u=0;for(var c,b=[];(c=r())!==!1;)b.push(c);return l(b)}var g="object"==typeof b&&b,i=("object"==typeof a&&a&&a.exports==g&&a,"object"==typeof e&&e);i.global!==i&&i.window!==i||(f=i);var s,t,u,j=String.fromCharCode,w={version:"2.0.0",encode:p,decode:v};d=function(){return w}.call(b,c,b,a),!(void 0!==d&&(a.exports=d))}(this)}).call(b,c(72)(a),function(){return this}())},function(a,b){(function(b){function g(a){for(var b=0;b0);return b}function j(a){var b=0;for(g=0;g';i=document.createElement(a)}catch(a){i=document.createElement("iframe"),i.name=c.iframeId,i.src="javascript:0"}i.id=c.iframeId,c.form.appendChild(i),c.iframe=i}var c=this;if(!this.form){var i,d=document.createElement("form"),e=document.createElement("textarea"),h=this.iframeId="eio_iframe_"+this.index;d.className="socketio",d.style.position="absolute",d.style.top="-1000px",d.style.left="-1000px",d.target=h,d.method="POST",d.setAttribute("accept-charset","utf-8"),e.name="d",d.appendChild(e),document.body.appendChild(d),this.form=d,this.area=e}this.form.action=this.uri(),k(),a=a.replace(g,"\\\n"),this.area.value=a.replace(f,"\\n");try{this.form.submit()}catch(a){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"==c.iframe.readyState&&j()}:this.iframe.onload=j}}).call(b,function(){return this}())},function(a,b,c){(function(b){function l(a){var b=a&&a.forceBase64;b&&(this.supportsBinary=!1),this.perMessageDeflate=a.perMessageDeflate,d.call(this,a)}var d=c(87),e=c(88),f=c(97),g=c(98),h=c(99),i=c(67)("engine.io-client:websocket"),j=b.WebSocket||b.MozWebSocket,k=j;if(!k&&"undefined"==typeof window)try{k=c(102)}catch(a){}a.exports=l,g(l,d),l.prototype.name="websocket",l.prototype.supportsBinary=!0,l.prototype.doOpen=function(){if(this.check()){var b=this.uri(),c=void 0,d={agent:this.agent,perMessageDeflate:this.perMessageDeflate};d.pfx=this.pfx,d.key=this.key,d.passphrase=this.passphrase,d.cert=this.cert,d.ca=this.ca,d.ciphers=this.ciphers,d.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(d.headers=this.extraHeaders),this.ws=j?new k(b):new k(b,c,d),void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="buffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},l.prototype.addEventListeners=function(){var a=this;this.ws.onopen=function(){a.onOpen()},this.ws.onclose=function(){a.onClose()},this.ws.onmessage=function(b){a.onData(b.data)},this.ws.onerror=function(b){a.onError("websocket error",b)}},"undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)&&(l.prototype.onData=function(a){var b=this;setTimeout(function(){d.prototype.onData.call(b,a)},0)}),l.prototype.write=function(a){function h(){c.emit("flush"),setTimeout(function(){c.writable=!0,c.emit("drain")},0)}var c=this;this.writable=!1;for(var d=a.length,f=0,g=d;f0&&a.jitter<=1?a.jitter:0,this.attempts=0}a.exports=c,c.prototype.duration=function(){var a=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var b=Math.random(),c=Math.floor(b*this.jitter*a);a=0==(1&Math.floor(10*b))?a-c:a+c}return 0|Math.min(a,this.max)},c.prototype.reset=function(){this.attempts=0},c.prototype.setMin=function(a){this.ms=a},c.prototype.setMax=function(a){this.max=a},c.prototype.setJitter=function(a){this.jitter=a}},function(a,b,c){"use strict";function h(a){for(var b=0,c=a.length,d=0;d.2?b-.2:d<-.4?b+.4:a,parseFloat(c.toFixed(3))}function j(a,b,c){this.stream=a,this.intervalId=null,this.intervalMilis=b,this.audioLevel=0,this.callback=c}var d=c(32),e=2048,f=.8;window.AudioContext=window.AudioContext||window.webkitAudioContext;var g=null;window.AudioContext&&(g=new AudioContext),j.prototype.start=function(){if(g&&!d.isTemasysPluginUsed()){var a=g.createAnalyser();a.smoothingTimeConstant=f,a.fftSize=e;var b=g.createMediaStreamSource(this.stream);b.connect(a);var c=this;this.intervalId=setInterval(function(){var b=new Uint8Array(a.frequencyBinCount);a.getByteTimeDomainData(b);var d=h(b);d!=c.audioLevel&&(c.audioLevel=i(d,c.audioLevel),c.callback(c.audioLevel))},this.intervalMilis)}},j.prototype.stop=function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)},a.exports=j},function(a,b,c){(function(b){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function l(a,b){return!b||b<=0||!a||a<=0?0:Math.round(a/b*100)}function m(a){return Math.min(Math.max(a,0),1)}function n(a,b,c){if("googCandidatePair"==b){if("googChannelId"==c)return!1}else if("ssrc"==b&&("googTrackId"==c||"transportId"==c||"ssrc"==c))return!1;return!0}function o(a,b){return"googComponent"!=b&&("googCertificate"!=a.substring(0,15)&&"googTrack"!=a.substring(0,9)&&"googLibjingleSession"!=a.substring(0,20))}function p(){this.ssrc2Loss={},this.ssrc2AudioLevel={},this.ssrc2bitrate={download:0,upload:0},this.ssrc2resolution={}}function q(){this.bandwidth={},this.bitrate={},this.packetLoss=null,this.transport=[]}function r(a,b,c,d){this._browserType=i.getBrowserType();var e=k[this._browserType];if(!e)throw"The browser type '"+this._browserType+"' isn't supported!";this._getStatValue=this._defineGetStatValueMethod(e),this.peerconnection=a,this.baselineAudioLevelsReport=null,this.currentAudioLevelsReport=null,this.currentStatsReport=null, this.baselineStatsReport=null,this.audioLevelsIntervalId=null,this.eventEmitter=d,this.conferenceStats=new q,this.GATHER_INTERVAL=15e3,this.gatherStatsIntervalId=null,this.statsToBeLogged={timestamps:[],stats:{}},this.audioLevelsIntervalMilis=b,this.statsIntervalId=null,this.statsIntervalMilis=c,this.ssrc2stats={}}var d=c(60),e=f(d),g=c(39),h=c(9).getLogger(b),i=c(32),j=i.isChrome()||i.isOpera()||i.isFirefox()||i.isNWJS(),k={};k[i.RTC_BROWSER_FIREFOX]={ssrc:"ssrc",packetsReceived:"packetsReceived",packetsLost:"packetsLost",packetsSent:"packetsSent",bytesReceived:"bytesReceived",bytesSent:"bytesSent"},k[i.RTC_BROWSER_CHROME]={receiveBandwidth:"googAvailableReceiveBandwidth",sendBandwidth:"googAvailableSendBandwidth",remoteAddress:"googRemoteAddress",transportType:"googTransportType",localAddress:"googLocalAddress",activeConnection:"googActiveConnection",ssrc:"ssrc",packetsReceived:"packetsReceived",packetsSent:"packetsSent",packetsLost:"packetsLost",bytesReceived:"bytesReceived",bytesSent:"bytesSent",googFrameHeightReceived:"googFrameHeightReceived",googFrameWidthReceived:"googFrameWidthReceived",googFrameHeightSent:"googFrameHeightSent",googFrameWidthSent:"googFrameWidthSent",audioInputLevel:"audioInputLevel",audioOutputLevel:"audioOutputLevel"},k[i.RTC_BROWSER_OPERA]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_NWJS]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_IEXPLORER]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_SAFARI]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_REACT_NATIVE]=k[i.RTC_BROWSER_CHROME],p.prototype.setSsrcLoss=function(a){this.ssrc2Loss=a||{}},p.prototype.setSsrcResolution=function(a){this.ssrc2resolution=a||{}},p.prototype.setSsrcBitrate=function(a){this.ssrc2bitrate.download+=a.download,this.ssrc2bitrate.upload+=a.upload},p.prototype.resetSsrcBitrate=function(){this.ssrc2bitrate.download=0,this.ssrc2bitrate.upload=0},p.prototype.setSsrcAudioLevel=function(a){this.ssrc2AudioLevel=m(a)},a.exports=r,r.prototype.stop=function(){this.audioLevelsIntervalId&&(clearInterval(this.audioLevelsIntervalId),this.audioLevelsIntervalId=null),this.statsIntervalId&&(clearInterval(this.statsIntervalId),this.statsIntervalId=null),this.gatherStatsIntervalId&&(clearInterval(this.gatherStatsIntervalId),this.gatherStatsIntervalId=null)},r.prototype.errorCallback=function(a){g.callErrorHandler(a),h.error("Get stats error",a),this.stop()},r.prototype.start=function(a){var b=this;a&&(this.audioLevelsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){var c=null;c=a&&a.result&&"function"==typeof a.result?a.result():a,b.currentAudioLevelsReport=c,b.processAudioLevelReport(),b.baselineAudioLevelsReport=b.currentAudioLevelsReport},b.errorCallback)},b.audioLevelsIntervalMilis)),j&&(this.statsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){var c=null;c=a&&a.result&&"function"==typeof a.result?a.result():a,b.currentStatsReport=c;try{b.processStatsReport()}catch(a){g.callErrorHandler(a),h.error("Unsupported key:"+a,a)}b.baselineStatsReport=b.currentStatsReport},b.errorCallback)},b.statsIntervalMilis)),j&&this._browserType!==i.RTC_BROWSER_FIREFOX&&(this.gatherStatsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){b.addStatsToBeLogged(a.result())},function(){})},this.GATHER_INTERVAL))},r.prototype.addStatsToBeLogged=function(a){var b=this,c=this.statsToBeLogged.timestamps.length;this.statsToBeLogged.timestamps.push((new Date).getTime()),a.forEach(function(a){if(o(a.id,a.type)){var d=b.statsToBeLogged.stats[a.id];d||(d=b.statsToBeLogged.stats[a.id]={}),d.type=a.type,a.names().forEach(function(b){if(n(a.id,a.type,b)){var e=d[b];for(e||(e=d[b]=[]);e.length0&&(E=F-a(r,"bytesSent"))));var G=Math.round((d.timestamp-r.timestamp)/1e3);D=D<=0||G<=0?0:Math.round(8*D/G/1e3),E=E<=0||G<=0?0:Math.round(8*E/G/1e3),D>10&&0===t.ssrc2AudioLevel&&this.eventEmitter.emit(e.AUDIO_NOT_WORKING,s),t.setSsrcBitrate({download:D,upload:E});var H={height:null,width:null};try{var I,J;(I=a(d,"googFrameHeightReceived"))&&(J=a(d,"googFrameWidthReceived"))?(H.height=I,H.width=J):(I=a(d,"googFrameHeightSent"))&&(J=a(d,"googFrameWidthSent"))&&(H.height=I,H.width=J)}catch(a){}H.height&&H.width?t.setSsrcResolution(H):t.setSsrcResolution(null)}else h.warn("No packetsReceived nor packetsSent stat found")}}else h.warn(s+" not enough data")}}else{var i,j,k,m;try{i=a(d,"remoteAddress"),j=a(d,"transportType"),k=a(d,"localAddress"),m=a(d,"activeConnection")}catch(a){}if(!i||!j||!k||"true"!=m)continue;var n=this.conferenceStats.transport;n.some(function(a){return a.ip==i&&a.type==j&&a.localip==k})||n.push({ip:i,type:j,localip:k})}}var K={download:0,upload:0},L={download:0,upload:0},M=0,N=0,O={};Object.keys(this.ssrc2stats).forEach(function(a){var b=this.ssrc2stats[a],c=b.ssrc2Loss,d=c.isDownloadStream?"download":"upload";K[d]+=c.packetsTotal,L[d]+=c.packetsLost;var e=b.ssrc2bitrate;M+=e.download,N+=e.upload,b.resetSsrcBitrate(),O[a]=b.ssrc2resolution},this),this.eventEmitter.emit(e.BYTE_SENT_STATS,b),this.conferenceStats.bitrate={upload:N,download:M},this.conferenceStats.packetLoss={total:l(L.download+L.upload,K.download+K.upload),download:l(L.download,K.download),upload:l(L.upload,K.upload)},this.eventEmitter.emit(e.CONNECTION_STATS,{bandwidth:this.conferenceStats.bandwidth,bitrate:this.conferenceStats.bitrate,packetLoss:this.conferenceStats.packetLoss,resolution:O,transport:this.conferenceStats.transport}),this.conferenceStats.transport=[]}},r.prototype.processAudioLevelReport=function(){if(this.baselineAudioLevelsReport){var a=this._getStatValue;for(var b in this.currentAudioLevelsReport){var c=this.currentAudioLevelsReport[b];if("ssrc"==c.type){var d=this.baselineAudioLevelsReport[b],f=a(c,"ssrc");if(d)if(f){var g=this.ssrc2stats[f]||(this.ssrc2stats[f]=new p);try{var i=a(c,"audioInputLevel")||a(c,"audioOutputLevel")}catch(a){return h.warn("Audio Levels are not available in the statistics."),void clearInterval(this.audioLevelsIntervalId)}if(i){var j=!a(c,"packetsReceived");i/=32767,g.setSsrcAudioLevel(i),this.eventEmitter.emit(e.AUDIO_LEVEL,f,i,j)}}else Date.now()-c.timestamp<3e3&&h.warn("No ssrc: ");else h.warn(f+" not enough data")}}}}}).call(b,"modules/statistics/RTPStatsCollector.js")},function(a,b,c){"use strict";var d=c(115),e={loadScript:function(b,c,e,f,g,h){var i=document,j="script",k=i.createElement(j),l=i.getElementsByTagName(j)[0];if(k.async=c,f){var m=d();if(m){var n=m.src,o=n.substring(0,n.lastIndexOf("/")+1);n&&o&&(b=o+b)}}g&&(k.onload=g),h&&(k.onerror=h),k.src=b,e?l.parentNode.insertBefore(k,l):l.parentNode.appendChild(k)}};a.exports=e},function(a,b,c){var d,e,f;!function(c,g){e=[],d=g,f="function"==typeof d?d.apply(b,e):d,!(void 0!==f&&(a.exports=f))}(this||window,function(){function k(a){return a?a.replace(/^\s+$|\s+$/g,"").replace(/\s\s+/g," "):""}function l(a,b){var c,e=null;if(b=b||d,"string"==typeof a&&a)for(c=b.length;c--;)if(b[c].src===a){e=b[c];break}return e}function m(a,b){var c,e,f=null,g=k(a);if(b=b||d,a&&g)for(c=b.length;c--;)if(!b[c].hasAttribute("src")&&(e=k(b[c].text),e.indexOf(g)!==-1)){if(f){f=null;break}f=b[c]}return f}function n(a){var b,c,e=null;for(a=a||d,b=0,c=a.length;b0?(d=a.slice(a.indexOf(c[0])+c[0].length),e=o(d,b-1)):e=c[1])),e}function p(){return null}function q(){return null}function r(){if(0===d.length)return null;var b,h,k,p,q,s=[],t=r.skipStackDepth||1,u=null;for(b=0;b-1&&(c._dataChannels=c._dataChannels.splice(a,1))},this._dataChannels.push(b)},h.prototype.closeAllChannels=function(){this._dataChannels.forEach(function(a){a.close()})},h.prototype.sendSelectedEndpointMessage=function(a){this._onXXXEndpointChanged("selected",a)},h.prototype.sendPinnedEndpointMessage=function(a){this._onXXXEndpointChanged("pinned",a)},h.prototype._onXXXEndpointChanged=function(a,b){var c=a.charAt(0),d=a.substring(1),f=c.toLowerCase()+d,g=c.toUpperCase()+d;e.log("sending "+f+" endpoint changed notification to the bridge: ",b);var h={};h.colibriClass=g+"EndpointChangedEvent",h[f+"Endpoint"]=b?b:null,this.send(h),e.log(f+" endpoint changed: ",b)},h.prototype._some=function(a,b){var c=this._dataChannels;return!(!c||0===c.length)&&(b?c.some(a,b):c.some(a))},h.prototype.send=function(a){if(!this._some(function(b){if("open"==b.readyState)return b.send(JSON.stringify(a)),!0}))throw new Error("No opened data channels found!")},h.prototype.sendDataChannelMessage=function(a,b){this.send({colibriClass:"EndpointMessage",to:a,msgPayload:b})},a.exports=h}).call(b,"modules/RTC/DataChannels.js")},function(a,b,c){(function(b){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function n(a,b,c,d,e,f,h,i,j){g.call(this,b,d,e,function(){},f,h,i),this.rtc=a,this.peerjid=c,this.muted=j,this.hasBeenMuted=j,this.rtc&&this.track&&this._bindMuteHandlers()}var d=c(8),e=f(d),g=c(58),h=c(9).getLogger(b),i=c(32),j=c(49),k=c(59),l=!1,m=!1;n.prototype=Object.create(g.prototype),n.prototype.constructor=n,n.prototype._bindMuteHandlers=function(){this.track.addEventListener("mute",function(){h.debug('"onmute" event('+Date.now()+"): ",this.getParticipantId(),this.getType(),this.getSSRC()),this.rtc.eventEmitter.emit(j.REMOTE_TRACK_MUTE,this)}.bind(this)),this.track.addEventListener("unmute",function(){h.debug('"onunmute" event('+Date.now()+"): ",this.getParticipantId(),this.getType(),this.getSSRC()),this.rtc.eventEmitter.emit(j.REMOTE_TRACK_UNMUTE,this)}.bind(this))},n.prototype.setMute=function(a){this.muted!==a&&(a&&(this.hasBeenMuted=!0),this.stream&&(this.stream.muted=a),this.muted=a,this.eventEmitter.emit(e.TRACK_MUTE_CHANGED,this))},n.prototype.isMuted=function(){return this.muted},n.prototype.getParticipantId=function(){return Strophe.getResourceFromJid(this.peerjid)},n.prototype.isLocal=function(){return!1},n.prototype.getSSRC=function(){return this.ssrc},n.prototype._setVideoType=function(a){this.videoType!==a&&(this.videoType=a,this.eventEmitter.emit(e.TRACK_VIDEOTYPE_CHANGED,a))},n.prototype._playCallback=function(){var a=this.isVideoTrack()?"video":"audio",b=window.performance.now();console.log("(TIME) Render "+a+":\t",b),this.conference.getConnectionTimes()[a+".render"]=b;var c=b-(this.conference.getConnectionTimes()["session.initiate"]-this.conference.getConnectionTimes()["muc.joined"])-(window.connectionTimes["obtainPermissions.end"]-window.connectionTimes["obtainPermissions.start"]);this.conference.getConnectionTimes()[a+".ttfm"]=c,console.log("(TIME) TTFM "+a+":\t",c);var d=a+".ttfm";this.hasBeenMuted&&(d+=".muted"),k.analytics.sendEvent(d,{value:c})},n.prototype._attachTTFMTracker=function(a){if(!(l&&this.isAudioTrack()||m&&this.isVideoTrack()))if(this.isAudioTrack()&&(l=!0),this.isVideoTrack()&&(m=!0),i.isTemasysPluginUsed()){var b=c(54);b.addEvent(a,"play",this._playCallback.bind(this))}else a.addEventListener("canplay",this._playCallback.bind(this))},a.exports=n}).call(b,"modules/RTC/JitsiRemoteTrack.js")},function(a,b,c){var d=c(120),e=c(122);b.write=e,b.parse=d.parse,b.parseFmtpConfig=d.parseFmtpConfig,b.parsePayloads=d.parsePayloads,b.parseRemoteCandidates=d.parseRemoteCandidates},function(a,b,c){var d=function(a){return String(Number(a))===a?Number(a):a},e=function(a,b,c,e){if(e&&!c)b[e]=d(a[1]);else for(var f=0;f=d)return a;var e=c[b];switch(b+=1,a){case"%%":return"%";case"%s":return String(e);case"%d":return Number(e);case"%v":return""}})},g=function(a,b,c){var d=b.format instanceof Function?b.format(b.push?c:c[b.name]):b.format,e=[a+"="+d];if(b.names)for(var g=0;g3||!c.media.every(function(a){return["video","audio","data"].indexOf(a.mid)!==-1}))return console.warn("This description does not look like Plan B."),a;var f=[];c.media.forEach(function(a){f.push(a.mid)});var g=!1;if("undefined"!=typeof c.groups&&Array.isArray(c.groups)&&(g=c.groups.every(function(a){return"BUNDLE"!==a.type||e.apply(a.mids.sort(),[f.sort()])})),!g)throw new Error("Cannot convert to Unified Plan because m-lines that are not bundled were found.");var h;"undefined"!=typeof this.cache[a.type]&&(h=d.parse(this.cache[a.type]));var i={audio:{},video:{}},j={};if(c.media.forEach(function(b){if(("string"!=typeof b.rtcpMux||"rtcp-mux"!==b.rtcpMux)&&"inactive"!==b.direction)throw new Error("Cannot convert to Unified Plan because m-lines without the rtcp-mux attribute were found.");if("application"===b.type)return void(j[b.mid]=b);var c=b.sources,d=b.ssrcGroups,e=b.candidates,f=b.iceUfrag,g=b.icePwd,k=b.fingerprint,l=b.port;delete b.sources,delete b.ssrcGroups,delete b.candidates,delete b.iceUfrag,delete b.icePwd,delete b.fingerprint,delete b.port,delete b.mid;var m={};"undefined"!=typeof d&&Array.isArray(d)&&d.forEach(function(a){"SIM"!==a.semantics&&"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&a.ssrcs.forEach(function(b){"undefined"==typeof m[b]&&(m[b]=[]),m[b].push(a)})});var n={};"object"==typeof c&&Object.keys(c).forEach(function(d){var o;if("offer"===a.type&&!c[d].msid)return void(i[b.type][d]=c[d]);if("undefined"!=typeof m[d]&&Array.isArray(m[d])&&m[d].some(function(a){return a.ssrcs.some(function(a){if("object"==typeof n[a])return o=n[a],!0})}),"object"==typeof o)o.sources[d]=c[d],delete c[d].msid;else{if(o=Object.create(b),n[d]=o,"undefined"!=typeof c[d].msid&&(o.msid=c[d].msid,o.direction="sendrecv",delete c[d].msid),o.sources={},o.sources[d]=c[d],o.ssrcGroups=m[d],"undefined"!=typeof h&&"undefined"!=typeof h.media&&Array.isArray(h.media)&&h.media.forEach(function(a){"object"==typeof a.sources&&Object.keys(a.sources).forEach(function(b){b===d&&(o.mid=a.mid)})}),"undefined"==typeof o.mid){if("answer"===a.type)throw new Error("An unmapped SSRC was found.");o.mid=[b.type,"-",d].join("")}o.candidates=e,o.iceUfrag=f,o.icePwd=g,o.fingerprint=k,o.port=l,j[o.mid]=o}})}),c.media=[],f=[],"answer"===a.type)for(var k=0;k0&&(d=b.getFirstSendingIndexFromAnswer(a),null===d))for(var e=0;ed){var f=c.media[d];Object.keys(i[a]).forEach(function(b){f.sources&&f.sources[b]&&console.warn("Replacing an existing SSRC."),f.sources||(f.sources={}),f.sources[b]=i[a][b]})}}}),c.groups.some(function(a){if("BUNDLE"===a.type)return a.mids=f.join(" "),!0}),c.msidSemantic={semantic:"WMS",token:"*"};var m=d.write(c);return this.cache[a.type]=m,new RTCSessionDescription({type:a.type,sdp:m})}},function(a,b,c){var d=c(119);b.write=function(a,b){return"undefined"!=typeof a&&"undefined"!=typeof a.media&&Array.isArray(a.media)&&a.media.forEach(function(a){"undefined"!=typeof a.sources&&0!==Object.keys(a.sources).length&&(a.ssrcs=[],Object.keys(a.sources).forEach(function(b){var c=a.sources[b];Object.keys(c).forEach(function(d){a.ssrcs.push({id:b,attribute:d,value:c[d]})})}),delete a.sources),"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&(a.ssrcs=a.ssrcs.join(" "))})}),"undefined"!=typeof a&&"undefined"!=typeof a.groups&&Array.isArray(a.groups)&&a.groups.forEach(function(a){"undefined"!=typeof a.mids&&Array.isArray(a.mids)&&(a.mids=a.mids.join(" "))}),d.write(a,b)},b.parse=function(a){var b=d.parse(a);return"undefined"!=typeof b&&"undefined"!=typeof b.media&&Array.isArray(b.media)&&b.media.forEach(function(a){"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&(a.sources={},a.ssrcs.forEach(function(b){a.sources[b.id]||(a.sources[b.id]={}),a.sources[b.id][b.attribute]=b.value}),delete a.ssrcs),"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){"string"==typeof a.ssrcs&&(a.ssrcs=a.ssrcs.split(" "))})}),"undefined"!=typeof b&&"undefined"!=typeof b.groups&&Array.isArray(b.groups)&&b.groups.forEach(function(a){"string"==typeof a.mids&&(a.mids=a.mids.split(" "))}),b}},function(a,b){a.exports=function a(b){if(!b)return!1;if(this.length!=b.length)return!1;for(var c=0,d=this.length;c0&&b[this.layers[0].ssrc]?this.layers[0].ssrc:parseInt(Object.keys(b)[0]);var d=b[c];if(this.layers.length>0&&(d.cname!==this.layers[0].cname||c!==this.layers[0].ssrc)&&(this.layers=[]),this.layers.length<1){this.layers.push({ssrc:c,msid:d.msid,cname:d.cname});var e=!1;Array.isArray(a.rtp)&&(e=a.rtp.some(function(a){return"rtx"===a.codec})),e&&(this.layers[0].rtx=j());for(var g=1;g=0)){var e=a[d];Object.keys(e).forEach(function(a){c.push({id:d,attribute:a,value:e[a]})})}})}return c},b.parseSsrcs=function(a){var b={};return"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&a.ssrcs.forEach(function(a){b[a.id]||(b[a.id]={}),b[a.id][a.attribute]=a.value}),b}},function(a,b,c){"use strict";function e(a,b){this.mySDP=a,this.otherSDP=b}var d=c(52);e.prototype.getNewMedia=function(){function a(a){if(!a)return!1;if(this.length!=a.length)return!1;for(var b=0,c=this.length;b0)r.forEach(function(b){var c=b.indexOf(" "),e=b.substr(0,c).substr(7);e!=h&&(a.up(),h=e,a.c("source",{ssrc:h,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}));var f=b.substr(c+1);if(a.c("parameter"),f.indexOf(":")==-1)a.attrs({name:f});else{var g=f.split(":",2)[0];a.attrs({name:g});var i=f.split(":",2)[1];i=d.filter_special_chars(i),a.attrs({value:i})}a.up()});else{a.up(),a.c("source",{ssrc:h,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),a.c("parameter"),a.attrs({name:"cname",value:Math.random().toString(36).substring(7)}),a.up();var s=null;s="audio"==g.media?APP.RTC.localAudio._getId():APP.RTC.localVideo._getId(),null!=s&&(s=d.filter_special_chars(s),a.c("parameter"),a.attrs({name:"msid",value:s}),a.up(),a.c("parameter"),a.attrs({name:"mslabel",value:s}),a.up(),a.c("parameter"),a.attrs({name:"label",value:s}),a.up())}a.up();var t=d.find_lines(this.media[c],"a=ssrc-group:");t.forEach(function(b){var c=b.indexOf(" "),d=b.substr(0,c).substr(13),e=b.substr(14+d.length).split(" ");e.length&&(a.c("ssrc-group",{semantics:d,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),e.forEach(function(b){a.c("source",{ssrc:b}).up()}),a.up())})}if(d.find_line(this.media[c],"a=rtcp-mux")&&a.c("rtcp-mux").up(),this.rtcpFbToJingle(c,a,"*"),k=d.find_lines(this.media[c],"a=extmap:"),k.length)for(e=0;e2&&b.attrs({streams:f[2]}),b.up()),g=d.find_lines(this.media[a],"a=fingerprint:",this.session),g.forEach(function(e){c=d.parse_fingerprint(e),c.xmlns="urn:xmpp:jingle:apps:dtls:0",b.c("fingerprint").t(c.fingerprint),delete c.fingerprint,e=d.find_line(h.media[a],"a=setup:",h.session),e&&(c.setup=e.substr(8)),b.attrs(c),b.up()}),c=d.iceparams(this.media[a],this.session),c&&(c.xmlns="urn:xmpp:jingle:transports:ice-udp:1",b.attrs(c),d.find_line(this.media[a],"a=candidate:",this.session))){var i=d.find_lines(this.media[a],"a=candidate:",this.session);i.forEach(function(a){var c=d.candidateToJingle(a);h.failICE&&(c.ip="1.1.1.1");var e=c&&"string"==typeof c.protocol?c.protocol.toLowerCase():"";h.removeTcpCandidates&&("tcp"===e||"ssltcp"===e)||h.removeUdpCandidates&&"udp"===e||b.c("candidate",c).up()})}b.up()},e.prototype.rtcpFbToJingle=function(a,b,c){var e=d.find_lines(this.media[a],"a=rtcp-fb:"+c);e.forEach(function(a){var c=d.parse_rtcpfb(a);"trr-int"==c.type?(b.c("rtcp-fb-trr-int",{xmlns:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",value:c.params[0]}),b.up()):(b.c("rtcp-fb",{xmlns:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",type:c.type}),c.params.length>0&&b.attrs({subtype:c.params[0]}),b.up())})},e.prototype.rtcpFbFromJingle=function(a,b){var c="",d=a.find('>rtcp-fb-trr-int[xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"]');return d.length&&(c+="a=rtcp-fb:* trr-int ",c+=d.attr("value")?d.attr("value"):"0",c+="\r\n"),d=a.find('>rtcp-fb[xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"]'),d.each(function(){c+="a=rtcp-fb:"+b+" "+$(this).attr("type"),$(this).attr("subtype")&&(c+=" "+$(this).attr("subtype")),c+="\r\n"}),c},e.prototype.fromJingle=function(a){var b=this;this.raw="v=0\r\no=- 1923518516 2 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\n",$(a).find('>group[xmlns="urn:xmpp:jingle:apps:grouping:0"]').length&&$(a).find('>group[xmlns="urn:xmpp:jingle:apps:grouping:0"]').each(function(a,c){var d=$(c).find(">content").map(function(a,b){return b.getAttribute("name")}).get();d.length>0&&(b.raw+="a=group:"+(c.getAttribute("semantics")||c.getAttribute("type"))+" "+d.join(" ")+"\r\n")}),this.session=this.raw,a.find(">content").each(function(){var a=b.jingle2media($(this));b.media.push(a)}),this.raw=this.session+this.media.join("")},e.prototype.jingle2media=function(a){var f,b="",c=a.find("description"),e=this,g=a.find('>transport>sctpmap[xmlns="urn:xmpp:jingle:transports:dtls-sctp:1"]');if(f={media:c.attr("media")},f.port="1","rejected"==a.attr("senders")&&(f.port="0"),a.find(">transport>fingerprint").length||c.find("encryption").length?f.proto=g.length?"DTLS/SCTP":"RTP/SAVPF":f.proto="RTP/AVPF",g.length){b+="m=application 1 DTLS/SCTP "+g.attr("number")+"\r\n",b+="a=sctpmap:"+g.attr("number")+" "+g.attr("protocol");var h=g.attr("streams");b+=h?" "+h+"\r\n":"\r\n"}else f.fmt=c.find("payload-type").map(function(){return this.getAttribute("id")}).get(),b+=d.build_mline(f)+"\r\n";switch(b+="c=IN IP4 0.0.0.0\r\n",g.length||(b+="a=rtcp:1 IN IP4 0.0.0.0\r\n"),f=a.find('>transport[xmlns="urn:xmpp:jingle:transports:ice-udp:1"]'),f.length&&(f.attr("ufrag")&&(b+=d.build_iceufrag(f.attr("ufrag"))+"\r\n"),f.attr("pwd")&&(b+=d.build_icepwd(f.attr("pwd"))+"\r\n"),f.find(">fingerprint").each(function(){b+="a=fingerprint:"+this.getAttribute("hash"),b+=" "+$(this).text(),b+="\r\n",this.getAttribute("setup")&&(b+="a=setup:"+this.getAttribute("setup")+"\r\n")})),a.attr("senders")){case"initiator":b+="a=sendonly\r\n";break;case"responder":b+="a=recvonly\r\n";break;case"none":b+="a=inactive\r\n";break;case"both":b+="a=sendrecv\r\n"}return b+="a=mid:"+a.attr("name")+"\r\n",c.find("rtcp-mux").length&&(b+="a=rtcp-mux\r\n"),c.find("encryption").length&&c.find("encryption>crypto").each(function(){b+="a=crypto:"+this.getAttribute("tag"),b+=" "+this.getAttribute("crypto-suite"),b+=" "+this.getAttribute("key-params"),this.getAttribute("session-params")&&(b+=" "+this.getAttribute("session-params")),b+="\r\n"}),c.find("payload-type").each(function(){b+=d.build_rtpmap(this)+"\r\n",$(this).find(">parameter").length&&(b+="a=fmtp:"+this.getAttribute("id")+" ",b+=$(this).find("parameter").map(function(){return(this.getAttribute("name")?this.getAttribute("name")+"=":"")+this.getAttribute("value")}).get().join("; "),b+="\r\n"),b+=e.rtcpFbFromJingle($(this),this.getAttribute("id"))}),b+=e.rtcpFbFromJingle(c,"*"),f=c.find('>rtp-hdrext[xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"]'),f.each(function(){b+="a=extmap:"+this.getAttribute("id")+" "+this.getAttribute("uri")+"\r\n"}),a.find('>transport[xmlns="urn:xmpp:jingle:transports:ice-udp:1"]>candidate').each(function(){var a=this.getAttribute("protocol");a="string"==typeof a?a.toLowerCase():"",e.removeTcpCandidates&&("tcp"===a||"ssltcp"===a)||e.removeUdpCandidates&&"udp"===a||(e.failICE&&this.setAttribute("ip","1.1.1.1"),b+=d.candidateFromJingle(this))}),a.find('description>ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),c=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();c.length&&(b+="a=ssrc-group:"+a+" "+c.join(" ")+"\r\n")}),f=a.find('description>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]'),f.each(function(){var a=this.getAttribute("ssrc");$(this).find(">parameter").each(function(){var c=this.getAttribute("name"),e=this.getAttribute("value");e=d.filter_special_chars(e),b+="a=ssrc:"+a+" "+c,e&&e.length&&(b+=":"+e),b+="\r\n"})}),b},a.exports=e},function(a,b,c){var d,e;(function(c,f){!function(){function j(a){var b=!1;return function(){if(b)throw new Error("Callback was already called.");b=!0,a.apply(h,arguments)}}var h,i,g={};h=this,null!=h&&(i=h.async),g.noConflict=function(){return h.async=i,g};var k=Object.prototype.toString,l=Array.isArray||function(a){return"[object Array]"===k.call(a)},m=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c=a.length&&c())}if(c=c||function(){},!a.length)return c();var d=0;m(a,function(a){b(a,j(e))})},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():e())})};e()},g.forEachSeries=g.eachSeries,g.eachLimit=function(a,b,c,d){var e=q(b);e.apply(null,[a,c,d])},g.forEachLimit=g.eachLimit;var q=function(a){return function(b,c,d){if(d=d||function(){},!b.length||a<=0)return d();var e=0,f=0,g=0;!function h(){if(e>=b.length)return d();for(;g=b.length?d():h())})}()}},r=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.each].concat(b))}},s=function(a,b){return function(){var c=Array.prototype.slice.call(arguments);return b.apply(null,[q(a)].concat(c))}},t=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.eachSeries].concat(b))}},u=function(a,b,c,d){if(b=n(b,function(a,b){return{index:b,value:a}}),d){var e=[];a(b,function(a,b){c(a.value,function(c,d){e[a.index]=d,b(c)})},function(a){d(a,e)})}else a(b,function(a,b){c(a.value,function(a){b(a)})})};g.map=r(u),g.mapSeries=t(u),g.mapLimit=function(a,b,c,d){return v(b)(a,c,d)};var v=function(a){return s(a,u)};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=n(a,function(a){return a}).reverse();g.reduce(e,b,c,d)},g.foldr=g.reduceRight;var w=function(a,b,c,d){var e=[];b=n(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(a){d(n(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.filter=r(w),g.filterSeries=t(w),g.select=g.filter,g.selectSeries=g.filterSeries;var x=function(a,b,c,d){var e=[];b=n(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(a){d(n(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.reject=r(x),g.rejectSeries=t(x);var y=function(a,b,c,d){a(b,function(a,b){c(a,function(c){c?(d(a),d=function(){}):b()})},function(a){d()})};g.detect=r(y),g.detectSeries=t(y),g.some=function(a,b,c){g.each(a,function(a,d){b(a,function(a){a&&(c(!0),c=function(){}),d()})},function(a){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(a){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 cd?1:0};c(null,n(b.sort(d),function(a){return a.value}))})},g.auto=function(a,b){b=b||function(){};var c=p(a),d=c.length;if(!d)return b();var e={},f=[],h=function(a){f.unshift(a)},i=function(a){for(var b=0;b>>1);c(b,a[f])>=0?d=f:e=f-1}return d}function e(a,b,e,f){return a.started||(a.started=!0),l(b)||(b=[b]),0==b.length?g.setImmediate(function(){a.drain&&a.drain()}):void m(b,function(b){var h={data:b,priority:e,callback:"function"==typeof f?f:null};a.tasks.splice(d(a.tasks,h,c)+1,0,h),a.saturated&&a.tasks.length===a.concurrency&&a.saturated(),g.setImmediate(a.process)})}var f=g.queue(a,b);return f.push=function(a,b,c){e(f,a,b,c)},delete f.unshift,f},g.cargo=function(a,b){var c=!1,d=[],e={tasks:d,payload:b,saturated:null,empty:null,drain:null,drained:!0,push:function(a,c){l(a)||(a=[a]),m(a,function(a){d.push({data:a,callback:"function"==typeof c?c:null}),e.drained=!1,e.saturated&&d.length===b&&e.saturated()}),g.setImmediate(e.process)},process:function f(){if(!c){if(0===d.length)return e.drain&&!e.drained&&e.drain(),void(e.drained=!0);var g="number"==typeof b?d.splice(0,b):d.splice(0,d.length),h=n(g,function(a){return a.data});e.empty&&e.empty(),c=!0,a(h,function(){c=!1;var a=arguments;m(g,function(b){b.callback&&b.callback.apply(null,a)}),f()})}},length:function(){return d.length},running:function(){return c}};return e};var B=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]&&m(c,function(b){console[a](b)}))}]))}};g.log=B("log"),g.dir=B("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(),h=b.apply(null,e);h in c?g.nextTick(function(){f.apply(null,c[h])}):h in d?d[h].push(f):(d[h]=[f],a.apply(null,e.concat([function(){c[h]=arguments;var a=d[h];delete d[h];for(var b=0,e=a.length;b2){var d=Array.prototype.slice.call(arguments,2);return c.apply(this,d)}return c};g.applyEach=r(C),g.applyEachSeries=t(C),g.forever=function(a,b){function c(d){if(d){if(b)return b(d);throw d}a(c)}c()},"undefined"!=typeof a&&a.exports?a.exports=g:(d=[],e=function(){return g}.apply(b,d),!(void 0!==e&&(a.exports=e)))}()}).call(b,c(132),c(133).setImmediate)},function(a,b){function f(){throw new Error("setTimeout has not been defined")}function g(){throw new Error("clearTimeout has not been defined")}function h(a){if(d===setTimeout)return setTimeout(a,0);if((d===f||!d)&&setTimeout)return d=setTimeout,setTimeout(a,0);try{return d(a,0)}catch(b){try{return d.call(null,a,0)}catch(b){return d.call(this,a,0)}}}function i(a){if(e===clearTimeout)return clearTimeout(a);if((e===g||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(a);try{return e(a)}catch(b){try{return e.call(null,a)}catch(b){return e.call(this,a)}}}function n(){k&&l&&(k=!1,l.length?j=l.concat(j):m=-1,j.length&&o())}function o(){if(!k){var a=h(n);k=!0;for(var b=j.length;b;){for(l=j,j=[];++m1)for(var c=1;c=0&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))},b.setImmediate="function"==typeof a?a:function(a){var c=i++,d=!(arguments.length<2)&&g.call(arguments,1);return h[c]=!0,e(function(){h[c]&&(d?a.apply(null,d):a.call(null),b.clearImmediate(c))}),c},b.clearImmediate="function"==typeof d?d:function(a){delete h[a]}}).call(b,c(133).setImmediate,c(133).clearImmediate)},function(a,b,c){(function(a){"use strict";function g(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(){Strophe.log=function(a,b){switch("string"==typeof b&&b.indexOf("Request ")!==-1&&b.indexOf("timed out (secondary), restarting")!==-1&&(a=Strophe.LogLevel.WARN),a){case Strophe.LogLevel.WARN:h.warn("Strophe: "+b);break;case Strophe.LogLevel.ERROR:case Strophe.LogLevel.FATAL:b="Strophe: "+b,f.default.callErrorHandler(new Error(b)),h.error(b)}},Strophe.getStatusString=function(a){switch(a){case Strophe.Status.ERROR:return"ERROR";case Strophe.Status.CONNECTING:return"CONNECTING";case Strophe.Status.CONNFAIL:return"CONNFAIL";case Strophe.Status.AUTHENTICATING:return"AUTHENTICATING";case Strophe.Status.AUTHFAIL:return"AUTHFAIL";case Strophe.Status.CONNECTED:return"CONNECTED";case Strophe.Status.DISCONNECTED:return"DISCONNECTED";case Strophe.Status.DISCONNECTING:return"DISCONNECTING";case Strophe.Status.ATTACHED:return"ATTACHED";default:return"unknown"}}};var d=c(9),e=c(39),f=g(e),h=(0,d.getLogger)(a)}).call(b,"modules/xmpp/strophe.util.js")},function(a,b,c){(function(a){"use strict";function k(a){return a&&a.__esModule?a:{default:a}}function l(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function m(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b; }function n(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c>feature[var="urn:xmpp:ping"]');c(b.length>0)},function(a){var b="Ping feature discovery error";j.default.callErrorHandler(new Error(b+": "+a)),o.error(b,a),c(!1)})}},{key:"startInterval",value:function(b){var c=this,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;if(this.intervalId){var e="Ping task scheduled already";return j.default.callErrorHandler(new Error(e)),void o.error(e)}this.intervalId=window.setInterval(function(){c.ping(b,function(){c.failedPings=0},function(a){c.failedPings+=1;var b="Ping "+(a?"error":"timeout");c.failedPings>=r?(j.default.callErrorHandler(new Error(b)),o.error(b,a)):o.warn(b,a)},q)},d),o.info("XMPP pings will be sent every "+d+" ms")}},{key:"stopInterval",value:function(){this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null,this.failedPings=0,o.info("Ping interval cleared"))}}]),b}(h.default)}).call(b,"modules/xmpp/strophe.ping.js")},function(a,b,c){(function(a){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function j(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function l(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;cquery>feature[var="urn:xmpp:jingle:dtmf:0"]').length>0,this.updateDTMFSupport()}.bind(this))}},G.prototype.onMemberLeft=function(a){var b=Strophe.getResourceFromJid(a);if("focus"!==b&&this.myUserId()!==b){var c=this.participants[b];delete this.participants[b];var d=this.rtc.removeRemoteTracks(b);d.forEach(function(a){this.eventEmitter.emit(g.TRACK_REMOVED,a)}.bind(this)),c&&this.eventEmitter.emit(g.USER_LEFT,b,c)}},G.prototype.onUserRoleChanged=function(a,b){var c=Strophe.getResourceFromJid(a),d=this.getParticipantById(c);d&&(d._role=b,this.eventEmitter.emit(g.USER_ROLE_CHANGED,c,b))},G.prototype.onDisplayNameChanged=function(a,b){var c=Strophe.getResourceFromJid(a),d=this.getParticipantById(c);d&&d._displayName!==b&&(d._displayName=b,this.eventEmitter.emit(g.DISPLAY_NAME_CHANGED,c,b))},G.prototype.onTrackAdded=function(a){var b=a.getParticipantId(),c=this.getParticipantById(b);if(c){c._tracks.push(a),this.transcriber&&this.transcriber.addTrack(a);var d=this.eventEmitter;a.addEventListener(o.TRACK_MUTE_CHANGED,function(){d.emit(g.TRACK_MUTE_CHANGED,a)}),a.addEventListener(o.TRACK_AUDIO_LEVEL_CHANGED,function(a){d.emit(g.TRACK_AUDIO_LEVEL_CHANGED,b,a)}),d.emit(g.TRACK_ADDED,a)}},G.prototype.onIncomingCall=function(a,b,c){if(!this.room.isFocus(a.peerjid)){var d="Rejecting session-initiate from non-focus user: "+a.peerjid;return B.callErrorHandler(new Error(d)),t.error(d),void a.terminate("security-error","Only focus can start new sessions",null,function(a){t.warn("An error occurred while trying to terminate invalid Jingle session",a)})}this.room.setJingleSession(a),this.room.connectionTimes["session.initiate"]=c,this.wasStopped&&x.sendEventToAll("session.restart");var e=null;window.jitsiRegionInfo&&(e=window.jitsiRegionInfo.CrossRegion),x.analytics.sendEvent("session.initiate",{value:c-this.room.connectionTimes["muc.joined"],label:e});try{a.initialize(!1,this.room)}catch(a){B.callErrorHandler(a)}this.rtc.onIncommingCall(a),this.rtc.localTracks.forEach(function(a){var b=null;a.isVideoTrack()&&a.isMuted()&&(a._setSSRC(this.room.generateNewStreamSSRCInfo()),b={mtype:a.getType(),type:"addMuted",ssrc:a.ssrc,msid:a.initialMSID});try{this.room.addStream(a.getOriginalStream(),function(){},function(){},b,!0)}catch(a){B.callErrorHandler(a),t.error(a)}}.bind(this)),a.acceptOffer(b,null,function(a){B.callErrorHandler(a),t.error("Failed to accept incoming Jingle session",a)}),this.statistics.startCallStats(a,this.settings),this.statistics.startRemoteStats(a.peerconnection)},G.prototype.onCallEnded=function(a,b,c){t.info("Call ended: "+b+" - "+c),this.wasStopped=!0,x.sendEventToAll("session.terminate"),this.statistics&&(this.statistics.stopRemoteStats(),this.statistics.stopCallStats()),this.room.setJingleSession(null),this.rtc.onCallEnded();var d=this;this.rtc.localTracks.forEach(function(a){a._setSSRC(null),d.room.addListener(v.SENDRECV_STREAMS_CHANGED,a.ssrcHandler)})},G.prototype.updateDTMFSupport=function(){for(var a=!1,b=this.getParticipants(),c=0;c.6&&(this._eventFired=!0,this._callback())}},{key:"_isLocalAudioTrack",value:function(b){return b.isAudioTrack()&&b.isLocal()}},{key:"_trackAdded",value:function(b){this._isLocalAudioTrack(b)&&(this.audioTrack=b)}},{key:"_trackMuteChanged",value:function(b){this._isLocalAudioTrack(b)&&b.isMuted()&&(this._eventFired=!1)}}]),a}();b.default=i},function(a,b,c){(function(a){"use strict";function d(a,c){var d=a.getTrack();if(!d)throw new Error("Failed to initialize DTMFSender: no audio track.");this.dtmfSender=c.peerconnection.createDTMFSender(d),b.debug("Initialized DTMFSender")}var b=c(9).getLogger(a);d.prototype.sendTones=function(a,b,c){this.dtmfSender.insertDTMF(a,b||200,c||200)}}).call(b,"modules/DTMF/JitsiDTMFManager.js")},function(a,b,c){(function(b){"use strict";function f(){var a="undefined"==typeof window?this:window;return a.localStorage}function g(){function a(){return(Math.random().toString(16)+"000000000").substr(2,8)}return a()+a()+a()+a()}function h(){var a=g();return d.log("generated id",a),a}function i(){var a=e.generateUsername();return d.log("generated callstats uid",a),a}function j(){this.userId,this.callStatsUserName;var a=f();a?(this.userId=a.getItem("jitsiMeetId")||h(),this.callStatsUserName=a.getItem("callStatsUserName")||i(),this.save()):(d.log("localStorage is not supported"),this.userId=h(),this.callStatsUserName=i())}var d=c(9).getLogger(b),e=c(143);j.prototype.save=function(){var a=f();a&&(a.setItem("jitsiMeetId",this.userId),a.setItem("callStatsUserName",this.callStatsUserName))},j.prototype.getUserId=function(){return this.userId},j.prototype.getCallStatsUserName=function(){return this.callStatsUserName},j.prototype.setSessionId=function(a){var b=f();b&&(a?b.setItem("sessionId",a):b.removeItem("sessionId"))},j.prototype.clearSessionId=function(){this.setSessionId(void 0)},j.prototype.getSessionId=function(){var a=f();return a?a.getItem("sessionId"):void 0},a.exports=j}).call(b,"modules/settings/Settings.js")},function(a,b,c){"use strict";function f(){var a=d.randomElement(e),b=d.randomAlphanumStr(3);return a+"-"+b}var d=c(31),e=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gay","Gayle","Gaylord","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"]; a.exports={generateUsername:f}},function(a,b,c){(function(b){"use strict";function f(a){this.versions={},this.conference=a,this.conference.addCommandListener("versions",this.processPresence.bind(this))}var d=c(9).getLogger(b),e=c(59);f.FOCUS_COMPONENT="focus",f.VIDEOBRIDGE_COMPONENT="videobridge",f.XMPP_SERVER_COMPONENT="xmpp",f.prototype.processPresence=function(a,b,c){if("http://jitsi.org/jitmeet"!==a.attributes.xmlns)return void d.warn("Ignored presence versions node - invalid xmlns",a);if(!this.conference._isFocus(c))return void d.warn("Received versions not from the focus user: "+a,c);var g=[];a.children.forEach(function(a){var b=a.attributes.name;if(b!==f.FOCUS_COMPONENT&&b!==f.XMPP_SERVER_COMPONENT&&b!==f.VIDEOBRIDGE_COMPONENT)return void d.warn("Received version for not supported component name: "+b);var c=a.value;this.versions[b]!==c&&(this.versions[b]=c,d.info("Got "+b+" version: "+c),g.push({id:"component_version",component:b,version:c}))}.bind(this)),g.length>0&&e.sendLog(JSON.stringify(g))},f.prototype.getComponentVersion=function(a){return this.versions[a]},a.exports=f}).call(b,"modules/version/ComponentsVersions.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function p(a){this.conference=a,a.on(g.TRACK_MUTE_CHANGED,function(b){b.isLocal()&&a.statistics&&a.statistics.sendMuteEvent(b.isMuted(),b.getType())})}var d=c(1),e=h(d),f=c(2),g=h(f),i=c(9).getLogger(b),j=c(146),k=c(35),l=c(49),m=c(38),n=c(59),o=c(36);p.prototype.setupChatRoomListeners=function(){var a=this.conference,b=a.room;this.chatRoomForwarder=new j(b,this.conference.eventEmitter),b.addListener(k.ICE_RESTARTING,function(){a.rtc.closeAllDataChannels()}),b.addListener(k.REMOTE_TRACK_ADDED,function(b){var c=a.rtc.createRemoteTrack(b);c&&a.onTrackAdded(c)}),b.addListener(k.REMOTE_TRACK_REMOVED,function(b,c){a.getParticipants().forEach(function(d){for(var e=d.getTracks(),f=0;f0){var c=b.startTime.getUTCMilliseconds()-this.startTime.getUTCMilliseconds();c<0&&(c=0);var d="[";b.wordArray.forEach(function(a){a.begin+=c,a.end+=c,d+=a.word+","}),d+="]",console.log(d),b.wordArray.name=b.name}this.results.push(b.wordArray),this.counter--,console.log("current counter: "+this.counter),this.maybeMerge()};k.prototype.maybeMerge=function(){this.state===h&&0===this.counter&&this.merge()},k.prototype.merge=function(){console.log("starting merge process!\n The length of the array: "+this.results.length),this.transcription="";var a=this.results,b=[];m(a),a.forEach(function(a){n(b,a)});for(var c,d,e;m(a);)for(c=a[0],a.forEach(function(a){a[0].begin0;)a.forEach(function(a){a[0].beginj&&(this.transcription+="\n ",this.lineLength=4),this.transcription+=" "+a.word,this.lineLength+=a.word.length+1};var m=function(b){var c;for(c=0;c0},n=function(b,c){if(0===b.length)b.push(c);else{if(b[b.length-1].begin<=c.begin)return void b.push(c);var d;for(d=0;d0&&b.data.push(a.data)},b}function k(){if(MediaRecorder.isTypeSupported(e))return e;if(MediaRecorder.isTypeSupported(f))return f;throw new Error("unable to create a MediaRecorder with theright mimetype!")}function m(){if("undefined"!=typeof MediaStream)return new MediaStream;if("undefined"!=typeof webkitMediaStream)return new webkitMediaStream;throw new Error("cannot create a clean mediaStream")}var d=c(149),e="audio/webm",f="audio/ogg",g=function(b){this.track=b,this.recorder=null,this.data=null,this.name=null,this.startTime=null},l=function(b){this.recorders=[],this.fileType=k(),this.isRecording=!1,this.jitsiConference=b};l.determineCorrectFileType=k,l.prototype.addTrack=function(a){if(a.isAudioTrack()){var b=j(a);this.recorders.push(b),this.updateNames(),this.isRecording&&h(b)}},l.prototype.removeTrack=function(a){if(!a.isVideoTrack()){var c,b=this.recorders;for(c=0;c0&&m(b,i.getCurrentlyAvailableMediaDevices()),i.setAudioOutputDevice(b)},addEventListener:function(b,c){l.addListener(b,c)},removeEventListener:function(b,c){l.removeListener(b,c)},emitEvent:function(b){l.emit.apply(l,arguments)}};a.exports=n},function(a,b,c){(function(b){"use strict";var d=c(9).getLogger(b),e=c(32),f={getVideoElementName:function(){return e.isTemasysPluginUsed()?"object":"video"},findVideoElement:function(b){var c=f.getVideoElementName();if(!e.isTemasysPluginUsed())return $(b).find(c)[0];var g=$(b).find(" "+c+'>param[value="video"]');return g.length?(g.length>1&&d.warn("Container with more than one video elements: ",b),g.parent()[0]):void 0},setVolume:function(b,c){e.isIExplorer()||(b.volume=c)},setAutoPlay:function(b,c){e.isIExplorer()||(b.autoplay=c)}};a.exports=f}).call(b,"modules/RTC/RTCUIHelper.js")}])});