@flashphoner/websdk 2.0.244 → 2.0.246
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docTemplate/README.md +1 -1
- package/examples/demo/streaming/hls-js-player/hls-js-player.js +79 -1
- package/examples/demo/streaming/hls-player/hls-player.js +135 -12
- package/examples/demo/streaming/hls-player/player-page.html +27 -12
- package/examples/demo/streaming/hls-player/videojs7/videojs-contrib-quality-levels.js +308 -0
- package/flashphoner-no-flash.js +606 -136
- package/flashphoner-no-flash.min.js +2 -2
- package/flashphoner-no-webrtc.js +554 -130
- package/flashphoner-no-webrtc.min.js +2 -2
- package/flashphoner-no-wsplayer.js +605 -135
- package/flashphoner-no-wsplayer.min.js +2 -2
- package/flashphoner-room-api.js +366 -18
- package/flashphoner-room-api.min.js +2 -2
- package/flashphoner-temasys-flash-websocket-without-adapterjs.js +555 -131
- package/flashphoner-temasys-flash-websocket.js +554 -130
- package/flashphoner-temasys-flash-websocket.min.js +1 -1
- package/flashphoner-webrtc-only.js +604 -134
- package/flashphoner-webrtc-only.min.js +1 -1
- package/flashphoner.js +606 -136
- package/flashphoner.min.js +2 -2
- package/package.json +1 -1
- package/src/client-info.js +237 -0
- package/src/flashphoner-core.js +83 -5
- package/src/webrtc-media-provider.js +37 -5
package/flashphoner-room-api.js
CHANGED
|
@@ -8287,6 +8287,244 @@ function filterStats(result, track, outbound) {
|
|
|
8287
8287
|
var _0x8674=['feedDecoder','postMessage','now','getBufferTimeLength','Unknown\x20request','bind','audioChunkLength','context','sampleRate','videoWidth','videoHeight','token','dropDelayMultiplier','Failed\x20to\x20init\x20stream\x20receiver\x20','videoDecoder','decoderPath','onmessage','No\x20timestamp\x20available\x20for\x20decoded\x20picture,\x20discarding','shift','STOPPED','audioBuffer','sync','start','setVolume','requestVideoFrameCallback','Failed\x20to\x20init\x20video\x20decoder\x20','fps','framesRendered','noDataSince','prototype','receivedIframe','lastPlayedVideoTime','kframe','decode','payload','play','stream','STARTUP','playFirstSound','createBuffer','getChannelData','random','createBufferSource','buffer','connect','destination','mute','PAUSED','unmute','resume','getVolume','lastFpsTime','lastPlayedVideoTimestamp','log','trace','requestVideoFrameCallback,\x20audio\x20player\x20time\x20','\x20callback\x20timestamp\x20','render','playing','dispatchEvent','riseApiEvent','lastEventRised','PLAYBACK_PROBLEM','logToCanvas','ctx2D','height','fillStyle','black','font','textAlign','center','width','40pt','fillText','initLogger','verbosity','console','apply','warn','wsLogger','debug','renderFunction','force2D','YTexture','CBTexture','CRTexture','RGBTexture','rgbaBuffer','mbWidth','codedWidth','halfWidth','precision\x20mediump\x20float;','uniform\x20sampler2D\x20CBTexture;','void\x20main()\x20{','float\x20y\x20=\x20texture2D(YTexture,\x20texCoord).r;','float\x20cb\x20=\x20texture2D(CBTexture,\x20texCoord).r\x20-\x200.5;','gl_FragColor\x20=\x20vec4(','y\x20+\x20-0.343\x20*\x20cb\x20-\x200.711\x20*\x20cr,','1.0','join','attribute\x20vec2\x20vertex;','varying\x20vec2\x20texCoord;','texCoord\x20=\x20vertex;','gl_Position\x20=\x20vec4((vertex\x20*\x202.0\x20-\x201.0)\x20*\x20vec2(1,\x20-1),\x200.0,\x201.0);','SHADER_VERTEX_IDENTITY_RGBA','varying\x20vec2\x20tc;','void\x20main(){','gl_Position\x20=\x20vertex;','SHADER_FRAGMENT_RGBA','uniform\x20sampler2D\x20RGBTexture;','gl_FragColor\x20=\x20texture2D(RGBTexture,\x20tc);','getContext','experimental-webgl','inputFormat','rgba','initWebGLRGB','initWebGLYUV','renderFrame2D','bindBuffer','ARRAY_BUFFER','bufferData','STATIC_DRAW','program','attachShader','compileShader','SHADER_VERTEX_IDENTITY_YUV','FRAGMENT_SHADER','SHADER_FRAGMENT_YCBCRTORGBA','linkProgram','getProgramParameter','Failed\x20to\x20init\x20WebGL!\x20Message\x20','getProgramInfoLog','useProgram','createTexture','getAttribLocation','vertex','enableVertexAttribArray','vertexAttribPointer','createProgram','bindAttribLocation','FLOAT','renderFrameGLRGB','undefined','createImageData','putImageData','clear','COLOR_BUFFER_BIT','DEPTH_BUFFER_BIT','TEXTURE_2D','texParameteri','TEXTURE_MAG_FILTER','LINEAR','TEXTURE_MIN_FILTER','CLAMP_TO_EDGE','TEXTURE_WRAP_T','getUniformLocation','createShader','getShaderParameter','COMPILE_STATUS','getShaderInfoLog','isUsingWebGL','activeTexture','bindTexture','texImage2D','LUMINANCE','UNSIGNED_BYTE','TEXTURE1','TEXTURE2','drawArrays','TRIANGLE_STRIP','TEXTURE0','RGBA','TRIANGLES','type','YCbCrToRGBA','set','Changing\x20canvas\x20resolution\x20from\x20','\x20to\x20','lastTimeRendered','getLastTimeRendered','nodeConnected','gainNode','createGain','abs','Audio\x20node\x20buffer\x20size\x20','internalBufferSize','createScriptProcessor','audioJSNode','previousSync','lastSync','lastSyncTime','playbackTime','value','disconnect','resetBuffers','playAudio','getBufferLength','currentTime','audioChunkTimeLength','No\x20audio!\x20','previousSyncTime','Audio\x20player\x20mute','gain','Audio\x20player\x20resume','setTimeout','state','initialized','init','canvas','api','configuration','initBuffers','initialVolume','audioPlayer','error','Failed\x20to\x20init\x20audio\x20player\x20','yuv','videoRenderer','Failed\x20to\x20init\x20video\x20renderer\x20','receiver','terminate','receiverPath','addEventListener','message','data','status','failed','closed','stop','AVData','audioLength','audioReceived','audio','length','videoLength','Received\x20video,\x20frames:','videoReceived','video','videoBuffer','push','videoFrameTimeLength','getCurrentSync','PLAYING','muted','decodedVideoBuffer','tsVideoWaitingList'];(function(_0x56e2ba,_0x54ffbb){var _0x53abc2=function(_0x5bd6fa){while(--_0x5bd6fa){_0x56e2ba['push'](_0x56e2ba['shift']());}};_0x53abc2(++_0x54ffbb);}(_0x8674,0x1c2));var _0x162a=function(_0x289e5c,_0x18e4c1){_0x289e5c=_0x289e5c-0x0;var _0x1d4b0e=_0x8674[_0x289e5c];return _0x1d4b0e;};var requestAnimFrame=function(){return function(_0x452c50){window[_0x162a('0x0')](_0x452c50,0x3e8/0x1e);};}();function WSPlayer(){this[_0x162a('0x1')]=WSPlayerState['STOPPED'];this[_0x162a('0x2')]=![];}WSPlayer['prototype'][_0x162a('0x3')]=function(_0x566b31,_0x2633b5,_0x439354){this['canvas']=_0x566b31[_0x162a('0x4')];this[_0x162a('0x5')]=_0x566b31[_0x162a('0x5')];this[_0x162a('0x6')]=_0x566b31;this[_0x162a('0x7')]();this[_0x162a('0x8')]=-0x1;try{this[_0x162a('0x9')]=new AudioPlayer(_0x2633b5);}catch(_0x388ad2){wsLogger[_0x162a('0xa')](_0x162a('0xb')+_0x388ad2);return;}try{this['videoRenderer']=new VideoRenderer(this[_0x162a('0x4')],![],_0x162a('0xc'));this[_0x162a('0xd')]['init']();}catch(_0x4a3ba3){wsLogger['error'](_0x162a('0xe')+_0x4a3ba3);return;}if(!_0x439354){try{if(this[_0x162a('0xf')]){this[_0x162a('0xf')][_0x162a('0x10')]();}this[_0x162a('0xf')]=new Worker(_0x566b31[_0x162a('0x11')]);this['receiver'][_0x162a('0x12')](_0x162a('0x13'),function(_0xd32be3){switch(_0xd32be3[_0x162a('0x14')][_0x162a('0x13')]){case'connection':if(_0xd32be3[_0x162a('0x14')][_0x162a('0x15')]==_0x162a('0x16')||_0xd32be3[_0x162a('0x14')][_0x162a('0x15')]==_0x162a('0x17')){this[_0x162a('0x18')]();this[_0x162a('0x2')]=![];}break;case _0x162a('0x19'):var _0x223990;if(_0xd32be3[_0x162a('0x14')][_0x162a('0x1a')]>0x0){this[_0x162a('0x1b')]=!![];for(_0x223990=0x0;_0x223990<_0xd32be3[_0x162a('0x14')][_0x162a('0x1c')][_0x162a('0x1d')];_0x223990++){this[_0x162a('0x9')]['playAudio'](_0xd32be3['data']['audio'][_0x223990]);}}if(_0xd32be3[_0x162a('0x14')][_0x162a('0x1e')]>0x0){wsLogger['debug'](_0x162a('0x1f')+_0xd32be3[_0x162a('0x14')]['videoLength']);this[_0x162a('0x20')]=!![];for(_0x223990=0x0;_0x223990<_0xd32be3[_0x162a('0x14')][_0x162a('0x21')][_0x162a('0x1d')];_0x223990++){this[_0x162a('0x22')][_0x162a('0x23')](_0xd32be3[_0x162a('0x14')]['video'][_0x223990]);}this[_0x162a('0x24')]=_0xd32be3[_0x162a('0x14')][_0x162a('0x1e')]/_0xd32be3['data']['video'][_0x162a('0x1d')];}var _0x3677b1=this[_0x162a('0x9')][_0x162a('0x25')]();if(this[_0x162a('0x22')][_0x162a('0x1d')]>0x0){if(this[_0x162a('0x1')]==WSPlayerState[_0x162a('0x26')]){if(this[_0x162a('0xd')][_0x162a('0x27')]){this[_0x162a('0x28')][_0x162a('0x1d')]=0x0;this[_0x162a('0x29')][_0x162a('0x1d')]=0x0;while(this[_0x162a('0x22')][_0x162a('0x1d')]>0x0){if(this['videoBuffer'][0x0]['ts']<_0x3677b1+0x32){this['feedDecoder']();}else{break;}}}else if(this[_0x162a('0x29')][_0x162a('0x1d')]<0x2){this['feedDecoder']();}}else{while(this[_0x162a('0x2a')]()){}}}this['receiver'][_0x162a('0x2b')]({'message':'ack','data':{'seq':_0xd32be3[_0x162a('0x14')]['seq'],'time':Date[_0x162a('0x2c')](),'audioReceivedLength':_0xd32be3[_0x162a('0x14')][_0x162a('0x1a')],'videoReceivedLength':_0xd32be3[_0x162a('0x14')][_0x162a('0x1e')],'audioCurrentTime':_0x3677b1,'audioBufferTimeLength':this['audioPlayer'][_0x162a('0x2d')](),'videoBufferTimeLength':(this[_0x162a('0x22')]['length']+this[_0x162a('0x29')][_0x162a('0x1d')]+this[_0x162a('0x28')]['length'])*this[_0x162a('0x24')]}});break;default:wsLogger[_0x162a('0xa')](_0x162a('0x2e'));}}[_0x162a('0x2f')](this),![]);var _0x56370c={};_0x56370c[_0x162a('0x30')]=this[_0x162a('0x9')]['internalBufferSize'];_0x56370c['audioContextSampleRate']=this[_0x162a('0x9')][_0x162a('0x31')][_0x162a('0x32')];_0x56370c[_0x162a('0x33')]=_0x566b31[_0x162a('0x33')];_0x56370c[_0x162a('0x34')]=_0x566b31[_0x162a('0x34')];_0x56370c['urlWsServer']=_0x566b31['urlWsServer'];_0x56370c[_0x162a('0x35')]=_0x566b31[_0x162a('0x35')];_0x56370c['audioBufferWaitFor']=_0x566b31['audioBufferWaitFor'];_0x56370c['videoBufferWaitFor']=_0x566b31['videoBufferWaitFor'];_0x56370c['dropDelayMultiplier']=_0x566b31[_0x162a('0x36')];this[_0x162a('0xf')][_0x162a('0x2b')]({'message':_0x162a('0x3'),'data':_0x56370c});}catch(_0x2e5046){wsLogger[_0x162a('0xa')](_0x162a('0x37')+_0x2e5046);return;}}try{if(this[_0x162a('0x38')]){this[_0x162a('0x38')][_0x162a('0x10')]();}this[_0x162a('0x38')]=new Worker(_0x566b31[_0x162a('0x39')]);this['videoDecoder'][_0x162a('0x3a')]=function(_0x67846e){if(this[_0x162a('0x29')][_0x162a('0x1d')]==0x0){wsLogger['warn'](_0x162a('0x3b'));return;}_0x67846e['data']['sync']=this[_0x162a('0x29')][_0x162a('0x3c')]();this['decodedVideoBuffer']['push'](_0x67846e[_0x162a('0x14')]);if(this['state']!=WSPlayerState['PLAYING']&&this[_0x162a('0x1')]!=WSPlayerState[_0x162a('0x3d')]){if(this[_0x162a('0x28')][_0x162a('0x1d')]<0x5){if(this[_0x162a('0x28')]['length']>0x1&&this[_0x162a('0x9')][_0x162a('0x3e')][_0x162a('0x1d')]>0x0){if(this[_0x162a('0x9')][_0x162a('0x3e')][0x0][_0x162a('0x3f')]>this['decodedVideoBuffer'][0x0]['sync']){this[_0x162a('0x28')][0x0]=null;this[_0x162a('0x28')]['shift']();}}this[_0x162a('0x2a')]();}else{this[_0x162a('0x1')]=WSPlayerState['PLAYING'];this['audioPlayer'][_0x162a('0x40')]();if(this[_0x162a('0x8')]!=-0x1){this[_0x162a('0x41')](this[_0x162a('0x8')]);this[_0x162a('0x8')]=-0x1;}requestAnimFrame(this[_0x162a('0x42')]['bind'](this));}}else{if(this[_0x162a('0x29')][_0x162a('0x1d')]<0x2){this['feedDecoder']();}}}[_0x162a('0x2f')](this);this[_0x162a('0x38')][_0x162a('0x2b')]({'message':'init','width':_0x566b31[_0x162a('0x33')],'height':_0x566b31[_0x162a('0x34')],'outputGl':!![]});}catch(_0x5236ab){wsLogger[_0x162a('0xa')](_0x162a('0x43')+_0x5236ab);return;}this[_0x162a('0x44')]=0x0;this['lastFpsTime']=0x0;this[_0x162a('0x45')]=0x0;this['noDataFlag']=![];this[_0x162a('0x46')]=0x0;this['initialized']=!![];};WSPlayer[_0x162a('0x47')][_0x162a('0x7')]=function(){this[_0x162a('0x1b')]=![];this[_0x162a('0x20')]=![];if(this[_0x162a('0x22')]){this[_0x162a('0x22')][_0x162a('0x1d')]=0x0;}else{this[_0x162a('0x22')]=[];}if(this['tsVideoWaitingList']){this[_0x162a('0x29')][_0x162a('0x1d')]=0x0;}else{this[_0x162a('0x29')]=[];}if(this['decodedVideoBuffer']){this[_0x162a('0x28')]['length']=0x0;}else{this[_0x162a('0x28')]=[];}this[_0x162a('0x48')]=![];this[_0x162a('0x49')]=0x0;this['lastPlayedVideoTimestamp']=0x0;};WSPlayer['prototype'][_0x162a('0x2a')]=function(){if(this[_0x162a('0x22')][_0x162a('0x1d')]>0x0){if(this[_0x162a('0x48')]||this[_0x162a('0x22')][0x0][_0x162a('0x4a')]){this[_0x162a('0x48')]=!![];if(!this['videoRenderer'][_0x162a('0x27')]){this['tsVideoWaitingList'][_0x162a('0x23')](this[_0x162a('0x22')][0x0]['ts']);}this['videoDecoder'][_0x162a('0x2b')]({'message':_0x162a('0x4b'),'skip':this[_0x162a('0xd')][_0x162a('0x27')],'data':this[_0x162a('0x22')][0x0][_0x162a('0x4c')]},[this['videoBuffer'][0x0][_0x162a('0x4c')]['buffer']]);this[_0x162a('0x22')][0x0]=null;this[_0x162a('0x22')][_0x162a('0x3c')]();return!![];}this[_0x162a('0x22')][0x0]=null;this['videoBuffer'][_0x162a('0x3c')]();}};WSPlayer['prototype'][_0x162a('0x4d')]=function(_0x394048){if(!this['initialized']){wsLogger['error']('Can\x27t\x20play\x20stream,\x20player\x20not\x20initialized!');return;}this[_0x162a('0x7')]();this['receiver'][_0x162a('0x2b')]({'message':_0x162a('0x4d')});this[_0x162a('0x4e')]=_0x394048;this['unmute']();this[_0x162a('0x1')]=WSPlayerState[_0x162a('0x4f')];};WSPlayer[_0x162a('0x47')][_0x162a('0x50')]=function(){var _0x17a93a=this[_0x162a('0x9')][_0x162a('0x31')][_0x162a('0x51')](0x1,0x1b9,0xac44);var _0x311ab3=_0x17a93a[_0x162a('0x52')](0x0);for(var _0x455a72=0x0;_0x455a72<_0x311ab3['length'];_0x455a72++){_0x311ab3[_0x455a72]=Math[_0x162a('0x53')]()*0x2-0x1;}var _0x2b7b90=this[_0x162a('0x9')][_0x162a('0x31')][_0x162a('0x54')]();_0x2b7b90[_0x162a('0x55')]=_0x17a93a;_0x2b7b90[_0x162a('0x56')](this['audioPlayer'][_0x162a('0x31')][_0x162a('0x57')]);_0x2b7b90[_0x162a('0x40')](0x0);};WSPlayer[_0x162a('0x47')]['pause']=function(){this[_0x162a('0x58')]();this[_0x162a('0xf')][_0x162a('0x2b')]({'message':'pause'});this[_0x162a('0x1')]=WSPlayerState[_0x162a('0x59')];};WSPlayer['prototype'][_0x162a('0x58')]=function(){if(this[_0x162a('0x9')]){this[_0x162a('0x9')][_0x162a('0x58')](!![]);}if(this[_0x162a('0xd')]){this[_0x162a('0xd')][_0x162a('0x58')](!![]);}};WSPlayer[_0x162a('0x47')][_0x162a('0x5a')]=function(){if(this['audioPlayer']){this[_0x162a('0x9')]['mute'](![]);}if(this['videoRenderer']){this[_0x162a('0xd')][_0x162a('0x58')](![]);}};WSPlayer[_0x162a('0x47')][_0x162a('0x5b')]=function(){this[_0x162a('0x7')]();this[_0x162a('0x1')]=WSPlayerState[_0x162a('0x4f')];this[_0x162a('0xf')][_0x162a('0x2b')]({'message':_0x162a('0x5b')});this['unmute']();};WSPlayer['prototype']['setVolume']=function(_0x5a1f09){if(this[_0x162a('0x1')]==WSPlayerState[_0x162a('0x26')]){this[_0x162a('0x9')][_0x162a('0x41')](_0x5a1f09);}else{this[_0x162a('0x8')]=_0x5a1f09;}};WSPlayer[_0x162a('0x47')][_0x162a('0x5c')]=function(){return this[_0x162a('0x9')]['getVolume']();};WSPlayer[_0x162a('0x47')][_0x162a('0x18')]=function(){this['state']=WSPlayerState[_0x162a('0x3d')];if(this[_0x162a('0xf')]){this[_0x162a('0xf')][_0x162a('0x2b')]({'message':_0x162a('0x18')});}if(this[_0x162a('0x9')]){this[_0x162a('0x9')]['stop']();}if(this[_0x162a('0xd')]){this[_0x162a('0xd')][_0x162a('0x18')]();}this['fps']=0x0;this[_0x162a('0x5d')]=0x0;this[_0x162a('0x45')]=0x0;};WSPlayer[_0x162a('0x47')][_0x162a('0x42')]=function(_0x253d91){if(this[_0x162a('0x1')]!=WSPlayerState[_0x162a('0x26')]){return;}if(this[_0x162a('0x28')][_0x162a('0x1d')]>0x0){var _0x813081=this[_0x162a('0x9')][_0x162a('0x25')]();if(_0x813081==-0x1){var _0x44a14e=Date[_0x162a('0x2c')]();if(this[_0x162a('0x49')]==0x0){_0x813081=this[_0x162a('0x28')][0x0]['sync'];this[_0x162a('0x49')]=_0x44a14e;this[_0x162a('0x5e')]=_0x813081;wsLogger[_0x162a('0x5f')]('Init\x20Video\x20playout\x20without\x20sync,\x20currentTime\x20'+_0x44a14e+',\x20timestamp\x20'+this['lastPlayedVideoTimestamp']);}else{var _0x393d46=_0x44a14e-this[_0x162a('0x49')];var _0x160d46=this['decodedVideoBuffer'][0x0][_0x162a('0x3f')]-this['lastPlayedVideoTimestamp'];if(_0x393d46>=_0x160d46){_0x813081=this[_0x162a('0x28')][0x0]['sync'];this[_0x162a('0x49')]+=_0x160d46;this[_0x162a('0x5e')]=_0x813081;}else{_0x813081=this[_0x162a('0x28')][0x0][_0x162a('0x3f')]-0x1;}}}wsLogger[_0x162a('0x60')](_0x162a('0x61')+_0x813081+_0x162a('0x62')+_0x253d91);if(_0x813081-this[_0x162a('0x28')][0x0][_0x162a('0x3f')]>0x64&&this[_0x162a('0x28')]['length']>0x1){this[_0x162a('0x28')][_0x162a('0x3c')]();}if(this[_0x162a('0x28')][0x0][_0x162a('0x3f')]<=_0x813081){this['videoRenderer'][_0x162a('0x63')](this[_0x162a('0x28')]['shift']());this['framesRendered']++;if(this[_0x162a('0x45')]==0x1){var _0x2e90ca=this[_0x162a('0x4')];setTimeout(function(){var _0x1e1c6f=new CustomEvent(_0x162a('0x64'));_0x2e90ca[_0x162a('0x65')](_0x1e1c6f);},0xa);}}}if(this[_0x162a('0x29')][_0x162a('0x1d')]<0x3){this['feedDecoder']();}requestAnimFrame(this[_0x162a('0x42')]['bind'](this));};WSPlayer[_0x162a('0x47')][_0x162a('0x66')]=function(_0x35dabe){if(this[_0x162a('0x67')]){if(Date[_0x162a('0x2c')]()-this['lastEventRised']<0x3e8){return;}}var _0x54b410={'status':_0x162a('0x68'),'info':_0x35dabe};this[_0x162a('0x5')](_0x54b410);this[_0x162a('0x67')]=Date['now']();};WSPlayer[_0x162a('0x47')][_0x162a('0x69')]=function(_0x3c7c23){var _0x248bc3=this[_0x162a('0xd')][_0x162a('0x6a')];if(_0x248bc3){var _0x2635b7=_0x248bc3['measureText'](_0x3c7c23);_0x248bc3['fillStyle']='white';var _0x4db686=0x1e;_0x248bc3['fillRect'](0x0,this['canvas'][_0x162a('0x6b')]/0x2-_0x4db686/0x2,this[_0x162a('0x4')]['width'],_0x4db686);_0x248bc3[_0x162a('0x6c')]=_0x162a('0x6d');_0x248bc3[_0x162a('0x6e')]='30pt';_0x248bc3[_0x162a('0x6f')]=_0x162a('0x70');_0x248bc3['fillText'](_0x3c7c23,this[_0x162a('0x4')][_0x162a('0x71')]/0x2,this[_0x162a('0x4')][_0x162a('0x6b')]/0x2);}else{}};WSPlayer[_0x162a('0x47')]['fpsToCanvas']=function(_0x48eb03){var _0x4b03da=this[_0x162a('0xd')][_0x162a('0x6a')];if(_0x4b03da){_0x4b03da[_0x162a('0x6c')]='red';_0x4b03da[_0x162a('0x6e')]=_0x162a('0x72');_0x4b03da[_0x162a('0x73')](_0x48eb03,0x14,this['canvas'][_0x162a('0x6b')]-0x14);}else{}};WSPlayer['prototype'][_0x162a('0x74')]=function(_0x43edeb){this[_0x162a('0x75')]=_0x43edeb||0x2;var _0x556035=this;if(window['wsLogger']==undefined){window['wsLogger']={'log':function(){if(_0x556035[_0x162a('0x75')]>=0x2){window[_0x162a('0x76')][_0x162a('0x5f')][_0x162a('0x77')](window[_0x162a('0x76')],arguments);}},'warn':function(){if(_0x556035[_0x162a('0x75')]>=0x1){window[_0x162a('0x76')][_0x162a('0x78')][_0x162a('0x77')](window[_0x162a('0x76')],arguments);}},'error':function(){if(_0x556035[_0x162a('0x75')]>=0x0){window[_0x162a('0x76')][_0x162a('0xa')][_0x162a('0x77')](window[_0x162a('0x76')],arguments);}},'debug':function(){if(_0x556035[_0x162a('0x75')]>=0x3){window['console'][_0x162a('0x5f')][_0x162a('0x77')](window['console'],arguments);}},'trace':function(){if(_0x556035[_0x162a('0x75')]>=0x4){window['console'][_0x162a('0x5f')]['apply'](window[_0x162a('0x76')],arguments);}}};}if(window[_0x162a('0x79')][_0x162a('0x7a')]==undefined){window['wsLogger']['debug']=function(){if(_0x556035[_0x162a('0x75')]>=0x3){window[_0x162a('0x76')][_0x162a('0x5f')][_0x162a('0x77')](window[_0x162a('0x76')],arguments);}};}if(window['wsLogger'][_0x162a('0x60')]==undefined){window['wsLogger'][_0x162a('0x60')]=function(){if(_0x556035[_0x162a('0x75')]>=0x4){window[_0x162a('0x76')][_0x162a('0x5f')]['apply'](window[_0x162a('0x76')],arguments);}};}};WSPlayer[_0x162a('0x47')]['getStreamStatistics']=function(_0x351dd5){if(_0x351dd5==_0x162a('0x1c')){return this['audioReceived'];}else if(_0x351dd5==_0x162a('0x21')){return this[_0x162a('0x20')];}};var VideoRenderer=function(_0x2008fb,_0x328799,_0x5c39da){this[_0x162a('0x4')]=_0x2008fb;this[_0x162a('0x71')]=_0x2008fb[_0x162a('0x71')];this['height']=_0x2008fb['height'];this[_0x162a('0x7b')]=null;this[_0x162a('0x6a')]=null;this[_0x162a('0x7c')]=_0x328799;this['inputFormat']=_0x5c39da;this['gl']=null;this['program']=null;this[_0x162a('0x55')]=null;this[_0x162a('0x7d')]=null;this[_0x162a('0x7e')]=null;this[_0x162a('0x7f')]=null;this[_0x162a('0x80')]=null;this[_0x162a('0x81')]=null;this[_0x162a('0x82')]=null;this[_0x162a('0x83')]=null;this[_0x162a('0x84')]=null;this['muted']=![];this['SHADER_FRAGMENT_YCBCRTORGBA']=[_0x162a('0x85'),'uniform\x20sampler2D\x20YTexture;',_0x162a('0x86'),'uniform\x20sampler2D\x20CRTexture;','varying\x20vec2\x20texCoord;',_0x162a('0x87'),_0x162a('0x88'),'float\x20cr\x20=\x20texture2D(CRTexture,\x20texCoord).r\x20-\x200.5;',_0x162a('0x89'),_0x162a('0x8a'),'y\x20+\x201.4\x20*\x20cr,',_0x162a('0x8b'),'y\x20+\x201.765\x20*\x20cb,',_0x162a('0x8c'),');','}'][_0x162a('0x8d')]('\x0a');this['SHADER_VERTEX_IDENTITY_YUV']=[_0x162a('0x8e'),_0x162a('0x8f'),'void\x20main()\x20{',_0x162a('0x90'),_0x162a('0x91'),'}'][_0x162a('0x8d')]('\x0a');this[_0x162a('0x92')]=['attribute\x20vec4\x20vertex;',_0x162a('0x93'),_0x162a('0x94'),_0x162a('0x95'),'tc\x20=\x20vertex.xy*0.5+0.5;','}'][_0x162a('0x8d')]('\x0a');this[_0x162a('0x96')]=['precision\x20mediump\x20float;',_0x162a('0x97'),'varying\x20vec2\x20tc;','void\x20main(){',_0x162a('0x98'),'}'][_0x162a('0x8d')]('\x0a');};VideoRenderer[_0x162a('0x47')]['init']=function(){if(!this[_0x162a('0x7c')]){try{var _0x1a7035=this['gl']=this[_0x162a('0x4')][_0x162a('0x99')]('webgl')||this[_0x162a('0x4')][_0x162a('0x99')](_0x162a('0x9a'));}catch(_0x1fa2db){wsLogger[_0x162a('0xa')]('Failed\x20to\x20get\x20webgl\x20context,\x20error\x20'+_0x1fa2db);}}if(_0x1a7035){if(this[_0x162a('0x9b')]==_0x162a('0x9c')){this[_0x162a('0x9d')](_0x1a7035);}else{this[_0x162a('0x9e')](_0x1a7035);}}else{this[_0x162a('0x6a')]=this[_0x162a('0x4')][_0x162a('0x99')]('2d');this['renderFunction']=this[_0x162a('0x9f')];}this[_0x162a('0x7')]();};VideoRenderer[_0x162a('0x47')][_0x162a('0x9e')]=function(_0x4f5fef){this[_0x162a('0x55')]=_0x4f5fef[_0x162a('0x51')]();_0x4f5fef[_0x162a('0xa0')](_0x4f5fef[_0x162a('0xa1')],this['buffer']);_0x4f5fef[_0x162a('0xa2')](_0x4f5fef[_0x162a('0xa1')],new Float32Array([0x0,0x0,0x0,0x1,0x1,0x0,0x1,0x1]),_0x4f5fef[_0x162a('0xa3')]);this[_0x162a('0xa4')]=_0x4f5fef['createProgram']();_0x4f5fef[_0x162a('0xa5')](this['program'],this[_0x162a('0xa6')](_0x4f5fef['VERTEX_SHADER'],this[_0x162a('0xa7')]));_0x4f5fef[_0x162a('0xa5')](this[_0x162a('0xa4')],this[_0x162a('0xa6')](_0x4f5fef[_0x162a('0xa8')],this[_0x162a('0xa9')]));_0x4f5fef[_0x162a('0xaa')](this[_0x162a('0xa4')]);if(!_0x4f5fef[_0x162a('0xab')](this['program'],_0x4f5fef['LINK_STATUS'])){wsLogger[_0x162a('0xa')](_0x162a('0xac')+_0x4f5fef[_0x162a('0xad')](this[_0x162a('0xa4')]));this['ctx2D']=this[_0x162a('0x4')][_0x162a('0x99')]('2d');this['renderFunction']=this[_0x162a('0x9f')];return;}_0x4f5fef[_0x162a('0xae')](this[_0x162a('0xa4')]);this['YTexture']=this['createTexture'](0x0,_0x162a('0x7d'));this[_0x162a('0x7f')]=this[_0x162a('0xaf')](0x1,_0x162a('0x7f'));this[_0x162a('0x7e')]=this['createTexture'](0x2,'CBTexture');var _0x441c07=_0x4f5fef[_0x162a('0xb0')](this[_0x162a('0xa4')],_0x162a('0xb1'));_0x4f5fef[_0x162a('0xb2')](_0x441c07);_0x4f5fef[_0x162a('0xb3')](_0x441c07,0x2,_0x4f5fef['FLOAT'],![],0x0,0x0);this[_0x162a('0x7b')]=this['renderFrameGLYUV'];};VideoRenderer[_0x162a('0x47')][_0x162a('0x9d')]=function(_0x45a8b0){this[_0x162a('0x55')]=_0x45a8b0[_0x162a('0x51')]();_0x45a8b0['bindBuffer'](_0x45a8b0[_0x162a('0xa1')],this[_0x162a('0x55')]);_0x45a8b0[_0x162a('0xa2')](_0x45a8b0[_0x162a('0xa1')],new Float32Array([-0x1,-0x1,0x1,-0x1,0x1,0x1,0x1,0x1,-0x1,0x1,-0x1,-0x1]),_0x45a8b0[_0x162a('0xa3')]);this[_0x162a('0xa4')]=_0x45a8b0[_0x162a('0xb4')]();_0x45a8b0['attachShader'](this[_0x162a('0xa4')],this[_0x162a('0xa6')](_0x45a8b0['VERTEX_SHADER'],this[_0x162a('0x92')]));_0x45a8b0['attachShader'](this[_0x162a('0xa4')],this['compileShader'](_0x45a8b0[_0x162a('0xa8')],this['SHADER_FRAGMENT_RGBA']));_0x45a8b0[_0x162a('0xb5')](this[_0x162a('0xa4')],0x0,_0x162a('0xb1'));_0x45a8b0[_0x162a('0xaa')](this['program']);if(!_0x45a8b0['getProgramParameter'](this[_0x162a('0xa4')],_0x45a8b0['LINK_STATUS'])){wsLogger['error'](_0x162a('0xac')+_0x45a8b0[_0x162a('0xad')](this[_0x162a('0xa4')]));this[_0x162a('0x6a')]=this[_0x162a('0x4')][_0x162a('0x99')]('2d');this[_0x162a('0x7b')]=this[_0x162a('0x9f')];return;}_0x45a8b0[_0x162a('0xae')](this[_0x162a('0xa4')]);_0x45a8b0[_0x162a('0xb2')](0x0);_0x45a8b0[_0x162a('0xb3')](0x0,0x2,_0x45a8b0[_0x162a('0xb6')],![],0x0,0x0);this['RGBTexture']=this[_0x162a('0xaf')](0x0,'RGBTexture');this['renderFunction']=this[_0x162a('0xb7')];};VideoRenderer[_0x162a('0x47')][_0x162a('0x7')]=function(){this[_0x162a('0x71')]=this[_0x162a('0x4')]['width'];this[_0x162a('0x6b')]=this[_0x162a('0x4')][_0x162a('0x6b')];this[_0x162a('0x82')]=parseInt(this[_0x162a('0x71')])+0xf>>0x4;this[_0x162a('0x83')]=this['mbWidth']<<0x4;this[_0x162a('0x84')]=this[_0x162a('0x82')]<<0x3;var _0xe37a89;if(typeof Uint8ClampedArray!==_0x162a('0xb8')){_0xe37a89=Uint8ClampedArray;}else{_0xe37a89=Uint8Array;}if(this['ctx2D']){this[_0x162a('0x81')]=new _0xe37a89(this['canvas']['width']*this['canvas']['height']*0x4);for(var _0x46edaf=0x0,_0x9090eb=this[_0x162a('0x81')][_0x162a('0x1d')];_0x46edaf<_0x9090eb;_0x46edaf++){this[_0x162a('0x81')][_0x46edaf]=0xff;}}else if(this['gl']){this['gl']['viewport'](0x0,0x0,this[_0x162a('0x71')],this['height']);}};VideoRenderer[_0x162a('0x47')][_0x162a('0x18')]=function(){if(this[_0x162a('0x6a')]){var _0x2083e7=this[_0x162a('0x6a')][_0x162a('0xb9')](this[_0x162a('0x71')],this[_0x162a('0x6b')]);this['ctx2D'][_0x162a('0xba')](_0x2083e7,0x0,0x0);}else if(this['gl']){this['gl'][_0x162a('0xbb')](this['gl'][_0x162a('0xbc')]|this['gl'][_0x162a('0xbd')]);}};VideoRenderer[_0x162a('0x47')][_0x162a('0xaf')]=function(_0x10fdad,_0x34889c){var _0x6b3e76=this['gl'];var _0x18fcea=_0x6b3e76[_0x162a('0xaf')]();_0x6b3e76['bindTexture'](_0x6b3e76[_0x162a('0xbe')],_0x18fcea);_0x6b3e76[_0x162a('0xbf')](_0x6b3e76[_0x162a('0xbe')],_0x6b3e76[_0x162a('0xc0')],_0x6b3e76[_0x162a('0xc1')]);_0x6b3e76['texParameteri'](_0x6b3e76[_0x162a('0xbe')],_0x6b3e76[_0x162a('0xc2')],_0x6b3e76[_0x162a('0xc1')]);_0x6b3e76[_0x162a('0xbf')](_0x6b3e76[_0x162a('0xbe')],_0x6b3e76['TEXTURE_WRAP_S'],_0x6b3e76[_0x162a('0xc3')]);_0x6b3e76[_0x162a('0xbf')](_0x6b3e76['TEXTURE_2D'],_0x6b3e76[_0x162a('0xc4')],_0x6b3e76[_0x162a('0xc3')]);_0x6b3e76['uniform1i'](_0x6b3e76[_0x162a('0xc5')](this['program'],_0x34889c),_0x10fdad);return _0x18fcea;};VideoRenderer['prototype']['compileShader']=function(_0x41c03b,_0x5f4578){var _0x4f8efd=this['gl'];var _0x57e0eb=_0x4f8efd[_0x162a('0xc6')](_0x41c03b);_0x4f8efd['shaderSource'](_0x57e0eb,_0x5f4578);_0x4f8efd[_0x162a('0xa6')](_0x57e0eb);if(!_0x4f8efd[_0x162a('0xc7')](_0x57e0eb,_0x4f8efd[_0x162a('0xc8')])){throw new Error(_0x4f8efd[_0x162a('0xc9')](_0x57e0eb));}return _0x57e0eb;};VideoRenderer[_0x162a('0x47')][_0x162a('0xca')]=function(){return(this['gl']!==null||this['gl']!==undefined)&&(this['ctx2D']==null||this[_0x162a('0x6a')]==undefined);};VideoRenderer[_0x162a('0x47')]['renderFrameGLYUV']=function(_0x24528e){var _0x5c538d=this['gl'];_0x5c538d[_0x162a('0xcb')](_0x5c538d['TEXTURE0']);_0x5c538d[_0x162a('0xcc')](_0x5c538d[_0x162a('0xbe')],this[_0x162a('0x7d')]);_0x5c538d[_0x162a('0xcd')](_0x5c538d[_0x162a('0xbe')],0x0,_0x5c538d[_0x162a('0xce')],this[_0x162a('0x83')],this[_0x162a('0x6b')],0x0,_0x5c538d[_0x162a('0xce')],_0x5c538d[_0x162a('0xcf')],_0x24528e['y']);_0x5c538d[_0x162a('0xcb')](_0x5c538d[_0x162a('0xd0')]);_0x5c538d['bindTexture'](_0x5c538d[_0x162a('0xbe')],this['CRTexture']);_0x5c538d[_0x162a('0xcd')](_0x5c538d['TEXTURE_2D'],0x0,_0x5c538d[_0x162a('0xce')],this[_0x162a('0x84')],this[_0x162a('0x6b')]/0x2,0x0,_0x5c538d[_0x162a('0xce')],_0x5c538d[_0x162a('0xcf')],_0x24528e['cr']);_0x5c538d[_0x162a('0xcb')](_0x5c538d[_0x162a('0xd1')]);_0x5c538d[_0x162a('0xcc')](_0x5c538d['TEXTURE_2D'],this[_0x162a('0x7e')]);_0x5c538d[_0x162a('0xcd')](_0x5c538d[_0x162a('0xbe')],0x0,_0x5c538d['LUMINANCE'],this[_0x162a('0x84')],this['height']/0x2,0x0,_0x5c538d[_0x162a('0xce')],_0x5c538d[_0x162a('0xcf')],_0x24528e['cb']);_0x5c538d[_0x162a('0xd2')](_0x5c538d[_0x162a('0xd3')],0x0,0x4);};VideoRenderer['prototype'][_0x162a('0xb7')]=function(_0x5982ea){var _0x36021f=this['gl'];_0x36021f[_0x162a('0xcb')](_0x36021f[_0x162a('0xd4')]);_0x36021f['bindTexture'](_0x36021f[_0x162a('0xbe')],this['RGBTexture']);_0x36021f[_0x162a('0xcd')](_0x36021f['TEXTURE_2D'],0x0,_0x36021f[_0x162a('0xd5')],_0x5982ea[_0x162a('0x71')],_0x5982ea['height'],0x0,_0x36021f[_0x162a('0xd5')],_0x36021f['UNSIGNED_BYTE'],_0x5982ea[_0x162a('0x14')]);_0x36021f[_0x162a('0xd2')](_0x36021f[_0x162a('0xd6')],0x0,0x6);};VideoRenderer[_0x162a('0x47')]['renderFrame2D']=function(_0x4d5a01){var _0x84c411=this[_0x162a('0x6a')][_0x162a('0xb9')](_0x4d5a01['width'],_0x4d5a01[_0x162a('0x6b')]);if(_0x4d5a01[_0x162a('0xd7')]==_0x162a('0xc')){this[_0x162a('0xd8')](_0x4d5a01);_0x84c411['data'][_0x162a('0xd9')](this[_0x162a('0x81')]);}else{_0x84c411[_0x162a('0x14')]['set'](_0x4d5a01[_0x162a('0x14')]);}this[_0x162a('0x6a')][_0x162a('0xba')](_0x84c411,0x0,0x0);};VideoRenderer[_0x162a('0x47')]['render']=function(_0x467dad){if(!this[_0x162a('0x27')]){if(this[_0x162a('0x4')][_0x162a('0x71')]!=_0x467dad['width']||this[_0x162a('0x4')][_0x162a('0x6b')]!=_0x467dad[_0x162a('0x6b')]){wsLogger[_0x162a('0x5f')](_0x162a('0xda')+this[_0x162a('0x4')][_0x162a('0x71')]+'x'+this[_0x162a('0x4')]['height']+_0x162a('0xdb')+_0x467dad[_0x162a('0x71')]+'x'+_0x467dad[_0x162a('0x6b')]);this[_0x162a('0x4')]['width']=_0x467dad[_0x162a('0x71')];this[_0x162a('0x4')][_0x162a('0x6b')]=_0x467dad[_0x162a('0x6b')];var _0x44e234=new Event('resize');this[_0x162a('0x4')][_0x162a('0x65')](_0x44e234);this[_0x162a('0x7')]();}this[_0x162a('0x7b')](_0x467dad);}this[_0x162a('0xdc')]=Date[_0x162a('0x2c')]();};VideoRenderer[_0x162a('0x47')]['YCbCrToRGBA']=function(_0x3a6afc){var _0x2d188b=_0x3a6afc['y'];var _0x31895c=_0x3a6afc['cb'];var _0x1a9970=_0x3a6afc['cr'];var _0x410b7d=this[_0x162a('0x81')];var _0x599197=0x0;var _0x7186b7=this[_0x162a('0x83')];var _0xfec764=this['codedWidth']+(this[_0x162a('0x83')]-_0x3a6afc[_0x162a('0x71')]);var _0x48cdb2=0x0;var _0x5adcf1=this[_0x162a('0x84')]-(_0x3a6afc['width']>>0x1);var _0x1efcdf=0x0;var _0x306a15=_0x3a6afc[_0x162a('0x71')]*0x4;var _0x5b89c9=_0x3a6afc[_0x162a('0x71')]*0x4;var _0x83a94e=_0x3a6afc[_0x162a('0x71')]>>0x1;var _0x46e569=_0x3a6afc[_0x162a('0x6b')]>>0x1;var _0x170074,_0x356f54,_0x42843a,_0x402f62,_0x1fe8a6,_0xb3c8fd;for(var _0x4574e3=0x0;_0x4574e3<_0x46e569;_0x4574e3++){for(var _0x33b5b4=0x0;_0x33b5b4<_0x83a94e;_0x33b5b4++){_0x356f54=_0x31895c[_0x48cdb2];_0x42843a=_0x1a9970[_0x48cdb2];_0x48cdb2++;_0x402f62=_0x42843a+(_0x42843a*0x67>>0x8)-0xb3;_0x1fe8a6=(_0x356f54*0x58>>0x8)-0x2c+(_0x42843a*0xb7>>0x8)-0x5b;_0xb3c8fd=_0x356f54+(_0x356f54*0xc6>>0x8)-0xe3;var _0xba7424=_0x2d188b[_0x599197++];var _0x5ab42c=_0x2d188b[_0x599197++];_0x410b7d[_0x1efcdf]=_0xba7424+_0x402f62;_0x410b7d[_0x1efcdf+0x1]=_0xba7424-_0x1fe8a6;_0x410b7d[_0x1efcdf+0x2]=_0xba7424+_0xb3c8fd;_0x410b7d[_0x1efcdf+0x4]=_0x5ab42c+_0x402f62;_0x410b7d[_0x1efcdf+0x5]=_0x5ab42c-_0x1fe8a6;_0x410b7d[_0x1efcdf+0x6]=_0x5ab42c+_0xb3c8fd;_0x1efcdf+=0x8;var _0x2dbbbe=_0x2d188b[_0x7186b7++];var _0x1e85ab=_0x2d188b[_0x7186b7++];_0x410b7d[_0x306a15]=_0x2dbbbe+_0x402f62;_0x410b7d[_0x306a15+0x1]=_0x2dbbbe-_0x1fe8a6;_0x410b7d[_0x306a15+0x2]=_0x2dbbbe+_0xb3c8fd;_0x410b7d[_0x306a15+0x4]=_0x1e85ab+_0x402f62;_0x410b7d[_0x306a15+0x5]=_0x1e85ab-_0x1fe8a6;_0x410b7d[_0x306a15+0x6]=_0x1e85ab+_0xb3c8fd;_0x306a15+=0x8;}_0x599197+=_0xfec764;_0x7186b7+=_0xfec764;_0x1efcdf+=_0x5b89c9;_0x306a15+=_0x5b89c9;_0x48cdb2+=_0x5adcf1;}};VideoRenderer['prototype'][_0x162a('0xdd')]=function(){return this['lastTimeRendered'];};VideoRenderer[_0x162a('0x47')][_0x162a('0x58')]=function(_0x282d57){if(_0x282d57){this['muted']=!![];}else{this[_0x162a('0x27')]=![];}};function AudioPlayer(_0x21395c){var _0xfdbf8=this;this[_0x162a('0x7')]();this[_0x162a('0xde')]=![];this[_0x162a('0x31')]=_0x21395c;this[_0x162a('0xdf')]=_0x21395c[_0x162a('0xe0')]();this[_0x162a('0xdf')][_0x162a('0x56')](_0x21395c['destination']);this[_0x162a('0x58')](!![]);wsLogger[_0x162a('0x5f')]('Sample\x20rate\x20'+this[_0x162a('0x31')][_0x162a('0x32')]);var _0x363810=[];var _0x4a5353;for(_0x4a5353=0x100;_0x4a5353<=0x4000;_0x4a5353=_0x4a5353*0x2){_0x363810[_0x162a('0x23')](_0x4a5353);}var _0x4d6dd9=this[_0x162a('0x31')][_0x162a('0x32')]/0x1;var _0x3b65d4=_0x363810[0x0];var _0x4e4e5e=Math[_0x162a('0xe1')](_0x4d6dd9-_0x3b65d4);for(_0x4a5353=0x0;_0x4a5353<_0x363810['length'];_0x4a5353++){var _0xec6c77=Math[_0x162a('0xe1')](_0x4d6dd9-_0x363810[_0x4a5353]);if(_0xec6c77<_0x4e4e5e){_0x4e4e5e=_0xec6c77;_0x3b65d4=_0x363810[_0x4a5353];}}wsLogger[_0x162a('0x5f')](_0x162a('0xe2')+_0x3b65d4);this[_0x162a('0xe3')]=_0x3b65d4;this['audioChunkTimeLength']=this['internalBufferSize']/this[_0x162a('0x31')][_0x162a('0x32')]*0x3e8;try{this[_0x162a('0x31')][_0x162a('0xe4')]=this[_0x162a('0x31')]['createScriptProcessor']||this['context']['createJavaScriptNode'];this['audioJSNode']=this[_0x162a('0x31')]['createScriptProcessor'](this[_0x162a('0xe3')],0x1,0x1);}catch(_0x5e2288){wsLogger[_0x162a('0xa')]('JS\x20Audio\x20Node\x20is\x20not\x20supported\x20in\x20this\x20browser'+_0x5e2288);}this[_0x162a('0xe5')]['onaudioprocess']=function(_0x26db61){var _0x163877=_0x26db61['outputBuffer'][_0x162a('0x52')](0x0);var _0x4a5353;if(_0xfdbf8[_0x162a('0x3e')][_0x162a('0x1d')]>0x0){var _0x1d8762=_0xfdbf8[_0x162a('0x3e')][_0x162a('0x3c')]();for(_0x4a5353=0x0;_0x4a5353<_0x163877['length'];_0x4a5353++){_0x163877[_0x4a5353]=_0x1d8762[_0x162a('0x4c')][_0x4a5353];}if(!_0xfdbf8['lastSync']){_0xfdbf8['previousSync']=_0x1d8762[_0x162a('0x3f')];}else{_0xfdbf8[_0x162a('0xe6')]=_0xfdbf8[_0x162a('0xe7')];}_0xfdbf8['lastSync']=_0x1d8762[_0x162a('0x3f')];if(!_0xfdbf8[_0x162a('0xe8')]){_0xfdbf8['previousSyncTime']=_0x26db61[_0x162a('0xe9')]*0x3e8;}else{_0xfdbf8['previousSyncTime']=_0xfdbf8[_0x162a('0xe8')];}_0xfdbf8['lastSyncTime']=_0x26db61[_0x162a('0xe9')]*0x3e8;_0xfdbf8['bufferExhausted']=![];}else{for(_0x4a5353=0x0;_0x4a5353<_0x163877['length'];_0x4a5353++){_0x163877[_0x4a5353]=0x0;}_0xfdbf8['bufferExhausted']=!![];if(_0xfdbf8[_0x162a('0xdf')]['gain'][_0x162a('0xea')]!=0x0){wsLogger[_0x162a('0x7a')]('No\x20audio\x20in\x20audio\x20buffer!');}}};}AudioPlayer[_0x162a('0x47')][_0x162a('0x40')]=function(){if(!this[_0x162a('0xde')]){this['audioJSNode'][_0x162a('0x56')](this['gainNode']);this[_0x162a('0xde')]=!![];}this[_0x162a('0x58')](![]);};AudioPlayer[_0x162a('0x47')]['stop']=function(){this['audioJSNode'][_0x162a('0xeb')]();this[_0x162a('0xde')]=![];this[_0x162a('0xe7')]=undefined;this[_0x162a('0xe8')]=undefined;this[_0x162a('0x3e')]=[];this['mute'](!![]);};AudioPlayer[_0x162a('0x47')][_0x162a('0x7')]=function(){if(this[_0x162a('0x3e')]){this[_0x162a('0x3e')]['length']=0x0;}else{this[_0x162a('0x3e')]=[];}};AudioPlayer[_0x162a('0x47')][_0x162a('0xec')]=function(){this['initBuffers']();};AudioPlayer[_0x162a('0x47')][_0x162a('0xed')]=function(_0x554ebf){this['audioBuffer'][_0x162a('0x23')](_0x554ebf);};AudioPlayer[_0x162a('0x47')][_0x162a('0xee')]=function(){return this[_0x162a('0x3e')]['length'];};AudioPlayer[_0x162a('0x47')][_0x162a('0x25')]=function(){if(this[_0x162a('0xe7')]&&this['lastSyncTime']){var _0x21f724=this[_0x162a('0x31')][_0x162a('0xef')]*0x3e8;if(_0x21f724>=this[_0x162a('0xe8')]){if(_0x21f724-this[_0x162a('0xe8')]>this[_0x162a('0xf0')]){wsLogger[_0x162a('0x7a')](_0x162a('0xf1')+(_0x21f724-this[_0x162a('0xf0')]-this[_0x162a('0xe8')]));return this['lastSync']+this[_0x162a('0xf0')];}return _0x21f724-this[_0x162a('0xe8')]+this['lastSync'];}else{return _0x21f724-this[_0x162a('0xf2')]+this[_0x162a('0xe6')];}}return-0x1;};AudioPlayer[_0x162a('0x47')][_0x162a('0x2d')]=function(){var _0x4d5368=this[_0x162a('0x31')][_0x162a('0xef')]*0x3e8-this[_0x162a('0xe8')];var _0xd6ff56=this[_0x162a('0xf0')]-_0x4d5368;return _0xd6ff56>0x0?this['audioChunkTimeLength']*this[_0x162a('0x3e')]['length']+_0xd6ff56:this[_0x162a('0xf0')]*this['audioBuffer'][_0x162a('0x1d')];};AudioPlayer[_0x162a('0x47')]['getLastTimePlayed']=function(){return this[_0x162a('0xe8')];};AudioPlayer['prototype'][_0x162a('0x58')]=function(_0x197c70){if(_0x197c70){wsLogger[_0x162a('0x5f')](_0x162a('0xf3'));this['gainNode'][_0x162a('0xf4')]['value']=0x0;}else{wsLogger['log'](_0x162a('0xf5'));this[_0x162a('0xdf')][_0x162a('0xf4')][_0x162a('0xea')]=0x1;}};AudioPlayer['prototype'][_0x162a('0x41')]=function(_0x36b36f){this[_0x162a('0xdf')][_0x162a('0xf4')][_0x162a('0xea')]=_0x36b36f/0x64;};AudioPlayer['prototype'][_0x162a('0x5c')]=function(){return this['gainNode'][_0x162a('0xf4')][_0x162a('0xea')]*0x64;};var WSPlayerState=function(){};WSPlayerState[_0x162a('0x3d')]=_0x162a('0x3d');WSPlayerState[_0x162a('0x26')]='PLAYING';WSPlayerState[_0x162a('0x59')]='PAUSED';WSPlayerState['STARTUP']='STARTUP';exports['WSPlayer']=WSPlayer;
|
|
8288
8288
|
},{}],39:[function(require,module,exports){
|
|
8289
8289
|
'use strict';
|
|
8290
|
+
|
|
8291
|
+
function getClientHints(navigator) {
|
|
8292
|
+
let {userAgent} = navigator;
|
|
8293
|
+
let mobile, platform = '', platformVersion = '', architecture = '', bitness = '', model = '', uaFullVersion = '', fullVersionList = [];
|
|
8294
|
+
let platformInfo = userAgent;
|
|
8295
|
+
let found = false;
|
|
8296
|
+
let versionInfo = userAgent.replace(/\(([^)]+)\)?/g, ($0, $1) => {
|
|
8297
|
+
if (!found) {
|
|
8298
|
+
platformInfo = $1;
|
|
8299
|
+
found = true;
|
|
8300
|
+
}
|
|
8301
|
+
return '';
|
|
8302
|
+
});
|
|
8303
|
+
let items = versionInfo.match(/(\S+)\/(\S+)/g);
|
|
8304
|
+
let webview = false;
|
|
8305
|
+
// detect mobile
|
|
8306
|
+
mobile = userAgent.indexOf('Mobile') !== -1;
|
|
8307
|
+
let m;
|
|
8308
|
+
let m2;
|
|
8309
|
+
// detect platform
|
|
8310
|
+
if ((m = /Windows NT (\d+(\.\d+)*)/.exec(platformInfo)) !== null) {
|
|
8311
|
+
platform = 'Windows';
|
|
8312
|
+
// see https://docs.microsoft.com/en-us/microsoft-edge/web-platform/how-to-detect-win11
|
|
8313
|
+
let nt2win = {
|
|
8314
|
+
'6.1': '0.1', // win-7
|
|
8315
|
+
'6.2': '0.2', // win-8
|
|
8316
|
+
'6.3': '0.3', // win-8.1
|
|
8317
|
+
'10.0': '10.0', // win-10
|
|
8318
|
+
'11.0': '13.0', // win-11
|
|
8319
|
+
};
|
|
8320
|
+
let ver = nt2win[m[1]];
|
|
8321
|
+
if (ver)
|
|
8322
|
+
platformVersion = padVersion(ver, 3);
|
|
8323
|
+
if ((m2 = /\b(WOW64|Win64|x64)\b/.exec(platformInfo)) !== null) {
|
|
8324
|
+
architecture = 'x86';
|
|
8325
|
+
bitness = '64';
|
|
8326
|
+
}
|
|
8327
|
+
} else if ((m = /Android (\d+(\.\d+)*)/.exec(platformInfo)) !== null) {
|
|
8328
|
+
platform = 'Android';
|
|
8329
|
+
platformVersion = padVersion(m[1]);
|
|
8330
|
+
if ((m2 = /Linux (\w+)/.exec(navigator.platform)) !== null) {
|
|
8331
|
+
if (m2[1]) {
|
|
8332
|
+
m2 = parseArch(m2[1]);
|
|
8333
|
+
architecture = m2[0];
|
|
8334
|
+
bitness = m2[1];
|
|
8335
|
+
}
|
|
8336
|
+
}
|
|
8337
|
+
} else if ((m = /(iPhone|iPod touch); CPU iPhone OS (\d+(_\d+)*)/.exec(platformInfo)) !== null) {
|
|
8338
|
+
// see special notes at https://www.whatismybrowser.com/guides/the-latest-user-agent/safari
|
|
8339
|
+
platform = 'iOS';
|
|
8340
|
+
platformVersion = padVersion(m[2].replace(/_/g, '.'));
|
|
8341
|
+
} else if ((m = /(iPad); CPU OS (\d+(_\d+)*)/.exec(platformInfo)) !== null) {
|
|
8342
|
+
platform = 'iOS';
|
|
8343
|
+
platformVersion = padVersion(m[2].replace(/_/g, '.'));
|
|
8344
|
+
} else if ((m = /Macintosh; (Intel|\w+) Mac OS X (\d+([_.]\d+)*)/.exec(platformInfo)) !== null) {
|
|
8345
|
+
platform = 'macOS';
|
|
8346
|
+
platformVersion = padVersion(m[2].replace(/_/g, '.'));
|
|
8347
|
+
} else if ((m = /Linux/.exec(platformInfo)) !== null) {
|
|
8348
|
+
platform = 'Linux';
|
|
8349
|
+
platformVersion = '';
|
|
8350
|
+
// TODO
|
|
8351
|
+
} else if ((m = /CrOS (\w+) (\d+(\.\d+)*)/.exec(platformInfo)) !== null) {
|
|
8352
|
+
platform = 'Chrome OS';
|
|
8353
|
+
platformVersion = padVersion(m[2]);
|
|
8354
|
+
m2 = parseArch(m[1]);
|
|
8355
|
+
architecture = m2[0];
|
|
8356
|
+
bitness = m2[1];
|
|
8357
|
+
}
|
|
8358
|
+
if (!platform) {
|
|
8359
|
+
platform = 'Unknown';
|
|
8360
|
+
}
|
|
8361
|
+
// detect fullVersionList / brands
|
|
8362
|
+
let notABrand = {brand: ' Not;A Brand', version: '99.0.0.0'};
|
|
8363
|
+
if ((m = /Chrome\/(\d+(\.\d+)*)/.exec(versionInfo)) !== null && navigator.vendor === 'Google Inc.') {
|
|
8364
|
+
fullVersionList.push({brand: 'Chromium', version: padVersion(m[1], 4)});
|
|
8365
|
+
if ((m2 = /(Edge?)\/(\d+(\.\d+)*)/.exec(versionInfo)) !== null) {
|
|
8366
|
+
let identBrandMap = {
|
|
8367
|
+
'Edge': 'Microsoft Edge',
|
|
8368
|
+
'Edg': 'Microsoft Edge',
|
|
8369
|
+
};
|
|
8370
|
+
let brand = identBrandMap[m[1]];
|
|
8371
|
+
fullVersionList.push({brand: brand, version: padVersion(m2[2], 4)});
|
|
8372
|
+
} else {
|
|
8373
|
+
fullVersionList.push({brand: 'Google Chrome', version: padVersion(m[1], 4)});
|
|
8374
|
+
}
|
|
8375
|
+
if (/\bwv\b/.exec(platformInfo)) {
|
|
8376
|
+
webview = true;
|
|
8377
|
+
}
|
|
8378
|
+
} else if ((m = /AppleWebKit\/(\d+(\.\d+)*)/.exec(versionInfo)) !== null && navigator.vendor === 'Apple Computer, Inc.') {
|
|
8379
|
+
fullVersionList.push({brand: 'WebKit', version: padVersion(m[1])});
|
|
8380
|
+
if (platform === 'iOS' && (m2 = /(CriOS|EdgiOS|FxiOS|Version)\/(\d+(\.\d+)*)/.exec(versionInfo)) != null) {
|
|
8381
|
+
let identBrandMap = { // no
|
|
8382
|
+
'CriOS': 'Google Chrome',
|
|
8383
|
+
'EdgiOS': 'Microsoft Edge',
|
|
8384
|
+
'FxiOS': 'Mozilla Firefox',
|
|
8385
|
+
'Version': 'Apple Safari',
|
|
8386
|
+
};
|
|
8387
|
+
let brand = identBrandMap[m2[1]];
|
|
8388
|
+
fullVersionList.push({brand, version: padVersion(m2[2])});
|
|
8389
|
+
if (items.findIndex((s) => s.startsWith('Safari/')) === -1) {
|
|
8390
|
+
webview = true;
|
|
8391
|
+
}
|
|
8392
|
+
}
|
|
8393
|
+
} else if ((m = /Firefox\/(\d+(\.\d+)*)/.exec(versionInfo)) !== null) {
|
|
8394
|
+
fullVersionList.push({brand: 'Firefox', version: padVersion(m[1])});
|
|
8395
|
+
} else {
|
|
8396
|
+
fullVersionList.push(notABrand);
|
|
8397
|
+
}
|
|
8398
|
+
uaFullVersion = fullVersionList.length > 0 ? fullVersionList[fullVersionList.length - 1] : '';
|
|
8399
|
+
let brands = fullVersionList.map((b) => {
|
|
8400
|
+
let pos = b.version.indexOf('.');
|
|
8401
|
+
let version = pos === -1 ? b.version : b.version.slice(0, pos);
|
|
8402
|
+
return {brand: b.brand, version};
|
|
8403
|
+
});
|
|
8404
|
+
// TODO detect architecture, bitness and model
|
|
8405
|
+
return {
|
|
8406
|
+
mobile,
|
|
8407
|
+
platform,
|
|
8408
|
+
brands,
|
|
8409
|
+
platformVersion,
|
|
8410
|
+
architecture,
|
|
8411
|
+
bitness,
|
|
8412
|
+
model,
|
|
8413
|
+
uaFullVersion,
|
|
8414
|
+
fullVersionList,
|
|
8415
|
+
webview
|
|
8416
|
+
};
|
|
8417
|
+
}
|
|
8418
|
+
|
|
8419
|
+
function parseArch(arch) {
|
|
8420
|
+
switch (arch) {
|
|
8421
|
+
case 'x86_64':
|
|
8422
|
+
case 'x64':
|
|
8423
|
+
return ['x86', '64'];
|
|
8424
|
+
case 'x86_32':
|
|
8425
|
+
case 'x86':
|
|
8426
|
+
return ['x86', ''];
|
|
8427
|
+
case 'armv6l':
|
|
8428
|
+
case 'armv7l':
|
|
8429
|
+
case 'armv8l':
|
|
8430
|
+
return [arch, ''];
|
|
8431
|
+
case 'aarch64':
|
|
8432
|
+
return ['arm', '64'];
|
|
8433
|
+
default:
|
|
8434
|
+
return ['', ''];
|
|
8435
|
+
}
|
|
8436
|
+
}
|
|
8437
|
+
function padVersion(ver, minSegs = 3) {
|
|
8438
|
+
let parts = ver.split('.');
|
|
8439
|
+
let len = parts.length;
|
|
8440
|
+
if (len < minSegs) {
|
|
8441
|
+
for (let i = 0, lenToPad = minSegs - len; i < lenToPad; i += 1) {
|
|
8442
|
+
parts.push('0');
|
|
8443
|
+
}
|
|
8444
|
+
return parts.join('.');
|
|
8445
|
+
}
|
|
8446
|
+
return ver;
|
|
8447
|
+
}
|
|
8448
|
+
|
|
8449
|
+
class NavigatorUAData {
|
|
8450
|
+
constructor(navigator) {
|
|
8451
|
+
this._ch = getClientHints(navigator);
|
|
8452
|
+
Object.defineProperties(this, {
|
|
8453
|
+
_ch: {enumerable: false},
|
|
8454
|
+
});
|
|
8455
|
+
}
|
|
8456
|
+
get mobile() {
|
|
8457
|
+
return this._ch.mobile;
|
|
8458
|
+
}
|
|
8459
|
+
get platform() {
|
|
8460
|
+
return this._ch.platform;
|
|
8461
|
+
}
|
|
8462
|
+
get brands() {
|
|
8463
|
+
return this._ch.brands;
|
|
8464
|
+
}
|
|
8465
|
+
getHighEntropyValues(hints) {
|
|
8466
|
+
return new Promise((resolve, reject) => {
|
|
8467
|
+
if (!Array.isArray(hints)) {
|
|
8468
|
+
throw new TypeError('argument hints is not an array');
|
|
8469
|
+
}
|
|
8470
|
+
let hintSet = new Set(hints);
|
|
8471
|
+
let data = this._ch;
|
|
8472
|
+
let obj = {
|
|
8473
|
+
mobile: data.mobile,
|
|
8474
|
+
platform: data.platform,
|
|
8475
|
+
brands: data.brands,
|
|
8476
|
+
};
|
|
8477
|
+
if (hintSet.has('architecture'))
|
|
8478
|
+
obj.architecture = data.architecture;
|
|
8479
|
+
if (hintSet.has('bitness'))
|
|
8480
|
+
obj.bitness = data.bitness;
|
|
8481
|
+
if (hintSet.has('model'))
|
|
8482
|
+
obj.model = data.model;
|
|
8483
|
+
if (hintSet.has('platformVersion'))
|
|
8484
|
+
obj.platformVersion = data.platformVersion;
|
|
8485
|
+
if (hintSet.has('uaFullVersion'))
|
|
8486
|
+
obj.uaFullVersion = data.uaFullVersion;
|
|
8487
|
+
if (hintSet.has('fullVersionList'))
|
|
8488
|
+
obj.fullVersionList = data.fullVersionList;
|
|
8489
|
+
resolve(obj);
|
|
8490
|
+
});
|
|
8491
|
+
}
|
|
8492
|
+
toJSON() {
|
|
8493
|
+
let data = this._ch;
|
|
8494
|
+
return {
|
|
8495
|
+
mobile: data.mobile,
|
|
8496
|
+
brands: data.brands,
|
|
8497
|
+
};
|
|
8498
|
+
}
|
|
8499
|
+
}
|
|
8500
|
+
Object.defineProperty(NavigatorUAData.prototype, Symbol.toStringTag, {
|
|
8501
|
+
enumerable: false,
|
|
8502
|
+
configurable: true,
|
|
8503
|
+
writable: false,
|
|
8504
|
+
value: 'NavigatorUAData'
|
|
8505
|
+
});
|
|
8506
|
+
|
|
8507
|
+
async function getClientInfo(navigator, keys) {
|
|
8508
|
+
let info = {};
|
|
8509
|
+
if (location.protocol === 'https:') {
|
|
8510
|
+
if (!keys) {
|
|
8511
|
+
keys = ['brands', 'mobile', 'platform', 'platformVersion', 'architecture', 'bitness', 'model', 'fullVersionList'];
|
|
8512
|
+
}
|
|
8513
|
+
if (!navigator.userAgentData) {
|
|
8514
|
+
let customUAData = new NavigatorUAData(navigator);
|
|
8515
|
+
info = await customUAData.getHighEntropyValues(keys);
|
|
8516
|
+
} else {
|
|
8517
|
+
info = await navigator.userAgentData.getHighEntropyValues(keys);
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
return info;
|
|
8521
|
+
}
|
|
8522
|
+
|
|
8523
|
+
module.exports = {
|
|
8524
|
+
getClientInfo
|
|
8525
|
+
};
|
|
8526
|
+
},{}],40:[function(require,module,exports){
|
|
8527
|
+
'use strict';
|
|
8290
8528
|
/**
|
|
8291
8529
|
* @namespace Flashphoner.constants.SESSION_STATUS
|
|
8292
8530
|
* @see Session
|
|
@@ -9133,13 +9371,14 @@ module.exports = {
|
|
|
9133
9371
|
CONTENT_HINT_TYPE
|
|
9134
9372
|
};
|
|
9135
9373
|
|
|
9136
|
-
},{}],
|
|
9374
|
+
},{}],41:[function(require,module,exports){
|
|
9137
9375
|
'use strict';
|
|
9138
9376
|
|
|
9139
9377
|
const { v1: uuid_v1 } = require('uuid');
|
|
9140
9378
|
const constants = require("./constants");
|
|
9141
9379
|
const util = require('./util');
|
|
9142
9380
|
const LoggerObject = require('./util').logger;
|
|
9381
|
+
const clientInfo = require('./client-info');
|
|
9143
9382
|
const Promise = require('promise-polyfill');
|
|
9144
9383
|
const KalmanFilter = require('kalmanjs');
|
|
9145
9384
|
const browserDetails = require('webrtc-adapter').default.browserDetails;
|
|
@@ -9147,6 +9386,7 @@ const LOG_PREFIX = "core";
|
|
|
9147
9386
|
var coreLogger;
|
|
9148
9387
|
var loggerConf = {push: false, severity: "INFO"};
|
|
9149
9388
|
var isUsingTemasysPlugin = false;
|
|
9389
|
+
var clientUAData;
|
|
9150
9390
|
|
|
9151
9391
|
/**
|
|
9152
9392
|
* @namespace Flashphoner
|
|
@@ -9198,7 +9438,7 @@ var disableConnectionQualityCalculation;
|
|
|
9198
9438
|
* @throws {Error} Error if none of MediaProviders available
|
|
9199
9439
|
* @memberof Flashphoner
|
|
9200
9440
|
*/
|
|
9201
|
-
var init = function (options) {
|
|
9441
|
+
var init = async function (options) {
|
|
9202
9442
|
if (!initialized) {
|
|
9203
9443
|
if (!options) {
|
|
9204
9444
|
options = {};
|
|
@@ -9326,8 +9566,12 @@ var init = function (options) {
|
|
|
9326
9566
|
if (!waitingTemasys && options.mediaProvidersReadyCallback) {
|
|
9327
9567
|
options.mediaProvidersReadyCallback(Object.keys(MediaProvider));
|
|
9328
9568
|
}
|
|
9569
|
+
|
|
9329
9570
|
coreLogger.info(LOG_PREFIX, "Initialized");
|
|
9330
9571
|
initialized = true;
|
|
9572
|
+
|
|
9573
|
+
clientUAData = await clientInfo.getClientInfo(window.navigator);
|
|
9574
|
+
coreLogger.info(LOG_PREFIX, "Client system data: " + JSON.stringify(clientUAData));
|
|
9331
9575
|
}
|
|
9332
9576
|
};
|
|
9333
9577
|
|
|
@@ -9708,13 +9952,16 @@ var createSession = function (options) {
|
|
|
9708
9952
|
appKey: appKey,
|
|
9709
9953
|
mediaProviders: Object.keys(MediaProvider),
|
|
9710
9954
|
keepAlive: keepAlive,
|
|
9711
|
-
authToken:authToken,
|
|
9955
|
+
authToken: authToken,
|
|
9712
9956
|
clientVersion: "2.0",
|
|
9713
9957
|
clientOSVersion: window.navigator.appVersion,
|
|
9714
9958
|
clientBrowserVersion: window.navigator.userAgent,
|
|
9715
9959
|
msePacketizationVersion: 2,
|
|
9716
9960
|
custom: options.custom
|
|
9717
9961
|
};
|
|
9962
|
+
if (clientUAData) {
|
|
9963
|
+
cConfig.clientInfo = clientUAData;
|
|
9964
|
+
}
|
|
9718
9965
|
if (sipConfig) {
|
|
9719
9966
|
util.copyObjectPropsToAnotherObject(sipConfig, cConfig);
|
|
9720
9967
|
}
|
|
@@ -10145,6 +10392,8 @@ var createSession = function (options) {
|
|
|
10145
10392
|
stripCodecs: stripCodecs
|
|
10146
10393
|
});
|
|
10147
10394
|
}).then(function (offer) {
|
|
10395
|
+
// Get local media info to send in publishStream message
|
|
10396
|
+
let localMediaInfo = collectLocalMediaInfo(MediaProvider[mediaProvider], localDisplay);
|
|
10148
10397
|
send("call", {
|
|
10149
10398
|
callId: id_,
|
|
10150
10399
|
incoming: false,
|
|
@@ -10157,7 +10406,8 @@ var createSession = function (options) {
|
|
|
10157
10406
|
caller: login,
|
|
10158
10407
|
callee: callee_,
|
|
10159
10408
|
custom: options.custom,
|
|
10160
|
-
visibleName: visibleName_
|
|
10409
|
+
visibleName: visibleName_,
|
|
10410
|
+
localMediaInfo: localMediaInfo
|
|
10161
10411
|
});
|
|
10162
10412
|
});
|
|
10163
10413
|
}).catch(function (error) {
|
|
@@ -10291,6 +10541,8 @@ var createSession = function (options) {
|
|
|
10291
10541
|
});
|
|
10292
10542
|
}).then(function (sdp) {
|
|
10293
10543
|
if (status_ != CALL_STATUS.FINISH && status_ != CALL_STATUS.FAILED) {
|
|
10544
|
+
// Get local media info to send in publishStream message
|
|
10545
|
+
let localMediaInfo = collectLocalMediaInfo(MediaProvider[mediaProvider], localDisplay);
|
|
10294
10546
|
send("answer", {
|
|
10295
10547
|
callId: id_,
|
|
10296
10548
|
incoming: true,
|
|
@@ -10302,7 +10554,8 @@ var createSession = function (options) {
|
|
|
10302
10554
|
sipSDP: sipSDP,
|
|
10303
10555
|
caller: cConfig.login,
|
|
10304
10556
|
callee: callee_,
|
|
10305
|
-
custom: options.custom
|
|
10557
|
+
custom: options.custom,
|
|
10558
|
+
localMediaInfo: localMediaInfo
|
|
10306
10559
|
});
|
|
10307
10560
|
} else {
|
|
10308
10561
|
hangup();
|
|
@@ -11142,6 +11395,7 @@ var createSession = function (options) {
|
|
|
11142
11395
|
}
|
|
11143
11396
|
return;
|
|
11144
11397
|
}
|
|
11398
|
+
|
|
11145
11399
|
//create mediaProvider connection
|
|
11146
11400
|
MediaProvider[mediaProvider].createConnection({
|
|
11147
11401
|
id: id_,
|
|
@@ -11164,6 +11418,8 @@ var createSession = function (options) {
|
|
|
11164
11418
|
});
|
|
11165
11419
|
}).then(function (offer) {
|
|
11166
11420
|
logger.debug(LOG_PREFIX, "Offer SDP:\n" + offer.sdp);
|
|
11421
|
+
// Get local media info to send in publishStream message
|
|
11422
|
+
let localMediaInfo = collectLocalMediaInfo(MediaProvider[mediaProvider], display);
|
|
11167
11423
|
//publish stream with offer sdp to server
|
|
11168
11424
|
send("publishStream", {
|
|
11169
11425
|
mediaSessionId: id_,
|
|
@@ -11182,7 +11438,8 @@ var createSession = function (options) {
|
|
|
11182
11438
|
rtmpUrl: rtmpUrl,
|
|
11183
11439
|
constraints: constraints,
|
|
11184
11440
|
transport: transportType,
|
|
11185
|
-
cvoExtension: cvoExtension
|
|
11441
|
+
cvoExtension: cvoExtension,
|
|
11442
|
+
localMediaInfo: localMediaInfo
|
|
11186
11443
|
});
|
|
11187
11444
|
});
|
|
11188
11445
|
}).catch(function (error) {
|
|
@@ -11992,6 +12249,65 @@ var createSession = function (options) {
|
|
|
11992
12249
|
return sessionLogger;
|
|
11993
12250
|
};
|
|
11994
12251
|
|
|
12252
|
+
const collectLocalMediaInfo = function (mediaProvider, display) {
|
|
12253
|
+
// Get devices available
|
|
12254
|
+
let videoCams = mediaProvider.videoCams || [];
|
|
12255
|
+
let mics = mediaProvider.mics || [];
|
|
12256
|
+
|
|
12257
|
+
if (videoCams.length) {
|
|
12258
|
+
logger.info(LOG_PREFIX, "Video inputs available: " + JSON.stringify(videoCams));
|
|
12259
|
+
}
|
|
12260
|
+
if (mics.length) {
|
|
12261
|
+
logger.info(LOG_PREFIX, "Audio inputs available: " + JSON.stringify(mics));
|
|
12262
|
+
}
|
|
12263
|
+
|
|
12264
|
+
// Get track labels to identify publishing device
|
|
12265
|
+
let audioTracks = [];
|
|
12266
|
+
let videoTracks = [];
|
|
12267
|
+
let localVideo;
|
|
12268
|
+
if (mediaProvider.getCacheInstance) {
|
|
12269
|
+
localVideo = mediaProvider.getCacheInstance(display);
|
|
12270
|
+
}
|
|
12271
|
+
if (!localVideo && mediaProvider.getVideoElement) {
|
|
12272
|
+
localVideo = mediaProvider.getVideoElement(display);
|
|
12273
|
+
}
|
|
12274
|
+
if (localVideo) {
|
|
12275
|
+
localVideo.srcObject.getAudioTracks().forEach((track) => {
|
|
12276
|
+
let device = track.label;
|
|
12277
|
+
if (device === "MediaStreamAudioDestinationNode" && mediaProvider.getAudioSourceDevice) {
|
|
12278
|
+
device = mediaProvider.getAudioSourceDevice();
|
|
12279
|
+
}
|
|
12280
|
+
audioTracks.push({
|
|
12281
|
+
trackId: track.id,
|
|
12282
|
+
device: device
|
|
12283
|
+
});
|
|
12284
|
+
});
|
|
12285
|
+
localVideo.srcObject.getVideoTracks().forEach((track) => {
|
|
12286
|
+
videoTracks.push({
|
|
12287
|
+
trackId: track.id,
|
|
12288
|
+
device: track.label
|
|
12289
|
+
});
|
|
12290
|
+
});
|
|
12291
|
+
}
|
|
12292
|
+
if (videoTracks.length) {
|
|
12293
|
+
logger.info(LOG_PREFIX, "Video tracks captured: " + JSON.stringify(videoTracks));
|
|
12294
|
+
}
|
|
12295
|
+
if (audioTracks.length) {
|
|
12296
|
+
logger.info(LOG_PREFIX, "Audio tracks captured: " + JSON.stringify(audioTracks));
|
|
12297
|
+
}
|
|
12298
|
+
|
|
12299
|
+
return {
|
|
12300
|
+
devices: {
|
|
12301
|
+
video: videoCams,
|
|
12302
|
+
audio: mics
|
|
12303
|
+
},
|
|
12304
|
+
tracks: {
|
|
12305
|
+
video: videoTracks,
|
|
12306
|
+
audio: audioTracks
|
|
12307
|
+
}
|
|
12308
|
+
};
|
|
12309
|
+
}
|
|
12310
|
+
|
|
11995
12311
|
//export Session
|
|
11996
12312
|
session.id = id;
|
|
11997
12313
|
session.status = status;
|
|
@@ -12039,7 +12355,7 @@ module.exports = {
|
|
|
12039
12355
|
Browser: util.Browser
|
|
12040
12356
|
};
|
|
12041
12357
|
|
|
12042
|
-
},{"./
|
|
12358
|
+
},{"./client-info":39,"./constants":40,"./media-source-media-provider":42,"./temasys-media-provider":44,"./util":45,"./webrtc-media-provider":46,"./websocket-media-provider":47,"kalmanjs":2,"promise-polyfill":4,"uuid":8,"webrtc-adapter":23}],42:[function(require,module,exports){
|
|
12043
12359
|
(function (global){(function (){
|
|
12044
12360
|
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).MediaSourceMediaProvider=t()}}((function(){var define,module,exports;return function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){var f="function"==typeof require&&require;if(!s&&f)return f(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[a]={exports:{}};e[a][0].call(c.exports,(function(t){return i(e[a][1][t]||t)}),c,c.exports,t,e,r,n)}return r[a].exports}for(var o="function"==typeof require&&require,a=0;a<n.length;a++)i(n[a]);return i}({1:[function(t,e,r){e.exports=function(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(var r=new DataView(t),n=new DataView(e),i=t.byteLength;i--;)if(r.getUint8(i)!==n.getUint8(i))return!1;return!0}},{}],2:[function(t,e,r){var n=r;n.bignum=t(16),n.define=t(3).define,n.base=t(5),n.constants=t(9),n.decoders=t(11),n.encoders=t(14)},{11:11,14:14,16:16,3:3,5:5,9:9}],3:[function(t,e,r){var n=t(2),i=t(453);function o(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}r.define=function(t,e){return new o(t,e)},o.prototype._createNamed=function(e){var r;try{r=t(514).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(t){r=function(t){this._initNamed(t)}}return i(r,e),r.prototype._initNamed=function(t){e.call(this,t)},new r(this)},o.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(n.decoders[t])),this.decoders[t]},o.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},o.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(n.encoders[t])),this.encoders[t]},o.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}},{2:2,453:453,514:514}],4:[function(t,e,r){var n=t(453),i=t(5).Reporter,o=t(52).Buffer;function a(t,e){i.call(this,e),o.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function s(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof s||(t=new s(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}n(a,i),r.DecoderBuffer=a,a.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},a.prototype.restore=function(t){var e=new a(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,i.prototype.restore.call(this,t.reporter),e},a.prototype.isEmpty=function(){return this.offset===this.length},a.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},a.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");var r=new a(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},a.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},r.EncoderBuffer=s,s.prototype.join=function(t,e){return t||(t=new o(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):o.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t}},{453:453,5:5,52:52}],5:[function(t,e,r){var n=r;n.Reporter=t(7).Reporter,n.DecoderBuffer=t(4).DecoderBuffer,n.EncoderBuffer=t(4).EncoderBuffer,n.Node=t(6)},{4:4,6:6,7:7}],6:[function(t,e,r){var n=t(5).Reporter,i=t(5).EncoderBuffer,o=t(5).DecoderBuffer,a=t(458),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],f=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s);function u(t,e){var r={};this._baseState=r,r.enc=t,r.parent=e||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}e.exports=u;var c=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];u.prototype.clone=function(){var t=this._baseState,e={};c.forEach((function(r){e[r]=t[r]}));var r=new this.constructor(e.parent);return r._baseState=e,r},u.prototype._wrap=function(){var t=this._baseState;f.forEach((function(e){this[e]=function(){var r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},u.prototype._init=function(t){var e=this._baseState;a(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),a.equal(e.children.length,1,"Root node can have only one child")},u.prototype._useArgs=function(t){var e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(a(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(a(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;var e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);var n=t[r];e[n]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){u.prototype[t]=function(){var e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),s.forEach((function(t){u.prototype[t]=function(){var e=this._baseState,r=Array.prototype.slice.call(arguments);return a(null===e.tag),e.tag=t,this._useArgs(r),this}})),u.prototype.use=function(t){a(t);var e=this._baseState;return a(null===e.use),e.use=t,this},u.prototype.optional=function(){return this._baseState.optional=!0,this},u.prototype.def=function(t){var e=this._baseState;return a(null===e.default),e.default=t,e.optional=!0,this},u.prototype.explicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.explicit=t,this},u.prototype.implicit=function(t){var e=this._baseState;return a(null===e.explicit&&null===e.implicit),e.implicit=t,this},u.prototype.obj=function(){var t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},u.prototype.key=function(t){var e=this._baseState;return a(null===e.key),e.key=t,this},u.prototype.any=function(){return this._baseState.any=!0,this},u.prototype.choice=function(t){var e=this._baseState;return a(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},u.prototype.contains=function(t){var e=this._baseState;return a(null===e.use),e.contains=t,this},u.prototype._decode=function(t,e){var r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));var n,i=r.default,a=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){var f=null;if(null!==r.explicit?f=r.explicit:null!==r.implicit?f=r.implicit:null!==r.tag&&(f=r.tag),null!==f||r.any){if(a=this._peekTag(t,f,r.any),t.isError(a))return a}else{var u=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),a=!0}catch(t){a=!1}t.restore(u)}}if(r.obj&&a&&(n=t.enterObject()),a){if(null!==r.explicit){var c=this._decodeTag(t,r.explicit);if(t.isError(c))return c;t=c}var h=t.offset;if(null===r.use&&null===r.choice){if(r.any)u=t.save();var d=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(d))return d;r.any?i=t.raw(u):t=d}if(e&&e.track&&null!==r.tag&&e.track(t.path(),h,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),i=r.any?i:null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),t.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var l=new o(i);i=this._getUse(r.contains,t._reporterState.obj)._decode(l,e)}}return r.obj&&a&&(i=t.leaveObject(n)),null===r.key||null===i&&!0!==a?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,i),i},u.prototype._decodeGeneric=function(t,e,r){var n=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,n.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&n.args?this._decodeObjid(e,n.args[0],n.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},u.prototype._getUse=function(t,e){var r=this._baseState;return r.useDecoder=this._use(t,e),a(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},u.prototype._decodeChoice=function(t,e){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var a=t.save(),s=r.choice[o];try{var f=s._decode(t,e);if(t.isError(f))return!1;n={type:o,value:f},i=!0}catch(e){return t.restore(a),!1}return!0}),this),i?n:t.error("Choice not matched")},u.prototype._createEncoderBuffer=function(t){return new i(t,this.reporter)},u.prototype._encode=function(t,e,r){var n=this._baseState;if(null===n.default||n.default!==t){var i=this._encodeValue(t,e,r);if(void 0!==i&&!this._skipDefault(i,e,r))return i}},u.prototype._encodeValue=function(t,e,r){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new n);var o=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}var a=null,s=!1;if(i.any)o=this._createEncoderBuffer(t);else if(i.choice)o=this._encodeChoice(t,e);else if(i.contains)a=this._getUse(i.contains,r)._encode(t,e),s=!0;else if(i.children)a=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");var n=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");var i=r._encode(t[r._baseState.key],e,t);return e.leaveKey(n),i}),this).filter((function(t){return t})),a=this._createEncoderBuffer(a);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");var f=this.clone();f._baseState.implicit=null,a=this._createEncoderBuffer(t.map((function(r){var n=this._baseState;return this._getUse(n.args[0],t)._encode(r,e)}),f))}else null!==i.use?o=this._getUse(i.use,r)._encode(t,e):(a=this._encodePrimitive(i.tag,t),s=!0);if(!i.any&&null===i.choice){var u=null!==i.implicit?i.implicit:i.tag,c=null===i.implicit?"universal":"context";null===u?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(u,s,c,a))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},u.prototype._encodeChoice=function(t,e){var r=this._baseState,n=r.choice[t.type];return n||a(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(t.value,e)},u.prototype._encodePrimitive=function(t,e){var r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},u.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},u.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(t)}},{458:458,5:5}],7:[function(t,e,r){var n=t(453);function i(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function o(t,e){this.path=t,this.rethrow(e)}r.Reporter=i,i.prototype.isError=function(t){return t instanceof o},i.prototype.save=function(){var t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},i.prototype.restore=function(t){var e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},i.prototype.enterKey=function(t){return this._reporterState.path.push(t)},i.prototype.exitKey=function(t){var e=this._reporterState;e.path=e.path.slice(0,t-1)},i.prototype.leaveKey=function(t,e,r){var n=this._reporterState;this.exitKey(t),null!==n.obj&&(n.obj[e]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var t=this._reporterState,e=t.obj;return t.obj={},e},i.prototype.leaveObject=function(t){var e=this._reporterState,r=e.obj;return e.obj=t,r},i.prototype.error=function(t){var e,r=this._reporterState,n=t instanceof o;if(e=n?t:new o(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return n||r.errors.push(e),e},i.prototype.wrapResult=function(t){var e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},n(o,Error),o.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this}},{453:453}],8:[function(t,e,r){var n=t(9);r.tagClass={0:"universal",1:"application",2:"context",3:"private"},r.tagClassByName=n._reverse(r.tagClass),r.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},r.tagByName=n._reverse(r.tag)},{9:9}],9:[function(t,e,r){var n=r;n._reverse=function(t){var e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);var n=t[r];e[n]=r})),e},n.der=t(8)},{8:8}],10:[function(t,e,r){var n=t(453),i=t(2),o=i.base,a=i.bignum,s=i.constants.der;function f(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){o.Node.call(this,"der",t)}function c(t,e){var r=t.readUInt8(e);if(t.isError(r))return r;var n=s.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=t.readUInt8(e),t.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:s.tag[r]}}function h(t,e,r){var n=t.readUInt8(r);if(t.isError(n))return n;if(!e&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return t.error("length octect is too long");n=0;for(var o=0;o<i;o++){n<<=8;var a=t.readUInt8(r);if(t.isError(a))return a;n|=a}return n}e.exports=f,f.prototype.decode=function(t,e){return t instanceof o.DecoderBuffer||(t=new o.DecoderBuffer(t,e)),this.tree._decode(t,e)},n(u,o.Node),u.prototype._peekTag=function(t,e,r){if(t.isEmpty())return!1;var n=t.save(),i=c(t,'Failed to peek tag: "'+e+'"');return t.isError(i)?i:(t.restore(n),i.tag===e||i.tagStr===e||i.tagStr+"of"===e||r)},u.prototype._decodeTag=function(t,e,r){var n=c(t,'Failed to decode tag of "'+e+'"');if(t.isError(n))return n;var i=h(t,n.primitive,'Failed to get length of "'+e+'"');if(t.isError(i))return i;if(!r&&n.tag!==e&&n.tagStr!==e&&n.tagStr+"of"!==e)return t.error('Failed to match tag: "'+e+'"');if(n.primitive||null!==i)return t.skip(i,'Failed to match body of: "'+e+'"');var o=t.save(),a=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(a)?a:(i=t.offset-o.offset,t.restore(o),t.skip(i,'Failed to match body of: "'+e+'"'))},u.prototype._skipUntilEnd=function(t,e){for(;;){var r=c(t,e);if(t.isError(r))return r;var n,i=h(t,r.primitive,e);if(t.isError(i))return i;if(n=r.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,e),t.isError(n))return n;if("end"===r.tagStr)break}},u.prototype._decodeList=function(t,e,r,n){for(var i=[];!t.isEmpty();){var o=this._peekTag(t,"end");if(t.isError(o))return o;var a=r.decode(t,"der",n);if(t.isError(a)&&o)break;i.push(a)}return i},u.prototype._decodeStr=function(t,e){if("bitstr"===e){var r=t.readUInt8();return t.isError(r)?r:{unused:r,data:t.raw()}}if("bmpstr"===e){var n=t.raw();if(n.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");for(var i="",o=0;o<n.length/2;o++)i+=String.fromCharCode(n.readUInt16BE(2*o));return i}if("numstr"===e){var a=t.raw().toString("ascii");return this._isNumstr(a)?a:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return t.raw();if("objDesc"===e)return t.raw();if("printstr"===e){var s=t.raw().toString("ascii");return this._isPrintstr(s)?s:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?t.raw().toString():t.error("Decoding of string type: "+e+" unsupported")},u.prototype._decodeObjid=function(t,e,r){for(var n,i=[],o=0;!t.isEmpty();){var a=t.readUInt8();o<<=7,o|=127&a,0==(128&a)&&(i.push(o),o=0)}128&a&&i.push(o);var s=i[0]/40|0,f=i[0]%40;if(n=r?i:[s,f].concat(i.slice(1)),e){var u=e[n.join(" ")];void 0===u&&(u=e[n.join(".")]),void 0!==u&&(n=u)}return n},u.prototype._decodeTime=function(t,e){var r=t.raw().toString();if("gentime"===e)var n=0|r.slice(0,4),i=0|r.slice(4,6),o=0|r.slice(6,8),a=0|r.slice(8,10),s=0|r.slice(10,12),f=0|r.slice(12,14);else{if("utctime"!==e)return t.error("Decoding "+e+" time is not supported yet");n=0|r.slice(0,2),i=0|r.slice(2,4),o=0|r.slice(4,6),a=0|r.slice(6,8),s=0|r.slice(8,10),f=0|r.slice(10,12);n=n<70?2e3+n:1900+n}return Date.UTC(n,i-1,o,a,s,f,0)},u.prototype._decodeNull=function(t){return null},u.prototype._decodeBool=function(t){var e=t.readUInt8();return t.isError(e)?e:0!==e},u.prototype._decodeInt=function(t,e){var r=t.raw(),n=new a(r);return e&&(n=e[n.toString(10)]||n),n},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getDecoder("der").tree}},{2:2,453:453}],11:[function(t,e,r){var n=r;n.der=t(10),n.pem=t(12)},{10:10,12:12}],12:[function(t,e,r){var n=t(453),i=t(52).Buffer,o=t(10);function a(t){o.call(this,t),this.enc="pem"}n(a,o),e.exports=a,a.prototype.decode=function(t,e){for(var r=t.toString().split(/[\r\n]+/g),n=e.label.toUpperCase(),a=/^-----(BEGIN|END) ([^-]+)-----$/,s=-1,f=-1,u=0;u<r.length;u++){var c=r[u].match(a);if(null!==c&&c[2]===n){if(-1!==s){if("END"!==c[1])break;f=u;break}if("BEGIN"!==c[1])break;s=u}}if(-1===s||-1===f)throw new Error("PEM section not found for: "+n);var h=r.slice(s+1,f).join("");h.replace(/[^a-z0-9\+\/=]+/gi,"");var d=new i(h,"base64");return o.prototype.decode.call(this,d,e)}},{10:10,453:453,52:52}],13:[function(t,e,r){var n=t(453),i=t(52).Buffer,o=t(2),a=o.base,s=o.constants.der;function f(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new u,this.tree._init(t.body)}function u(t){a.Node.call(this,"der",t)}function c(t){return t<10?"0"+t:t}e.exports=f,f.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},n(u,a.Node),u.prototype._encodeComposite=function(t,e,r,n){var o,a=function(t,e,r,n){var i;"seqof"===t?t="seq":"setof"===t&&(t="set");if(s.tagByName.hasOwnProperty(t))i=s.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return n.error("Unknown tag: "+t);i=t}if(i>=31)return n.error("Multi-octet tag encoding unsupported");e||(i|=32);return i|=s.tagClassByName[r||"universal"]<<6}(t,e,r,this.reporter);if(n.length<128)return(o=new i(2))[0]=a,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var f=1,u=n.length;u>=256;u>>=8)f++;(o=new i(2+f))[0]=a,o[1]=128|f;u=1+f;for(var c=n.length;c>0;u--,c>>=8)o[u]=255&c;return this._createEncoderBuffer([o,n])},u.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){for(var r=new i(2*t.length),n=0;n<t.length;n++)r.writeUInt16BE(t.charCodeAt(n),2*n);return this._createEncoderBuffer(r)}return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)||"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported")},u.prototype._encodeObjid=function(t,e,r){if("string"==typeof t){if(!e)return this.reporter.error("string objid given, but no values map found");if(!e.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=e[t].split(/[\s\.]+/g);for(var n=0;n<t.length;n++)t[n]|=0}else if(Array.isArray(t)){t=t.slice();for(n=0;n<t.length;n++)t[n]|=0}if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!r){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}var o=0;for(n=0;n<t.length;n++){var a=t[n];for(o++;a>=128;a>>=7)o++}var s=new i(o),f=s.length-1;for(n=t.length-1;n>=0;n--){a=t[n];for(s[f--]=127&a;(a>>=7)>0;)s[f--]=128|127&a}return this._createEncoderBuffer(s)},u.prototype._encodeTime=function(t,e){var r,n=new Date(t);return"gentime"===e?r=[c(n.getFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[c(n.getFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!i.isBuffer(t)){var r=t.toArray();!t.sign&&128&r[0]&&r.unshift(0),t=new i(r)}if(i.isBuffer(t)){var n=t.length;0===t.length&&n++;var o=new i(n);return t.copy(o),0===t.length&&(o[0]=0),this._createEncoderBuffer(o)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);n=1;for(var a=t;a>=256;a>>=8)n++;for(a=(o=new Array(n)).length-1;a>=0;a--)o[a]=255&t,t>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},u.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},u.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},u.prototype._skipDefault=function(t,e,r){var n,i=this._baseState;if(null===i.default)return!1;var o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0}},{2:2,453:453,52:52}],14:[function(t,e,r){var n=r;n.der=t(13),n.pem=t(15)},{13:13,15:15}],15:[function(t,e,r){var n=t(453),i=t(13);function o(t){i.call(this,t),this.enc="pem"}n(o,i),e.exports=o,o.prototype.encode=function(t,e){for(var r=i.prototype.encode.call(this,t).toString("base64"),n=["-----BEGIN "+e.label+"-----"],o=0;o<r.length;o+=64)n.push(r.slice(o,o+64));return n.push("-----END "+e.label+"-----"),n.join("\n")}},{13:13,453:453}],16:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"==typeof e?e.exports=o:r.BN=o,o.BN=o,o.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(21).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function f(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),a=e;a<o;a++){var s=t.charCodeAt(a)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,a=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=f(t,e,n)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=f(t,e,n)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,f=0,c=r;c<s;c+=n)f=u(t,c,c+n,e),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==a){var h=1;for(f=u(t,c,t.length,e),c=0;c<a;c++)h*=e;this.imuln(h),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}this.strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=f>>>26,h=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[u]=0|h,f=0|c}return 0!==f?r.words[u]=0|f:r.length--,r.strip()}o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],f=(16777215&(s<<i|o)).toString(16);r=0!==(o=s>>>24-i&16777215)||a!==this.length-1?c[6-f.length]+f+r:f+r,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=h[t],l=d[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(l).toString(t);r=(p=p.idivn(l)).isZero()?b+r:c[u-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return n(void 0!==a),this.toArrayLike(a,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var a,s,f="le"===e,u=new t(o),c=this.clone();if(f){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),u[s]=a;for(;s<o;s++)u[s]=0}else{for(s=0;s<o-i;s++)u[s]=0;for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),u[o-s-1]=a}return u},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},o.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},o.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},o.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a<n.length;a++)o=(e=(0|r.words[a])-(0|n.words[a])+o)>>26,this.words[a]=67108863&e;for(;0!==o&&a<r.length;a++)o=(e=(0|r.words[a])+o)>>26,this.words[a]=67108863&e;if(0===o&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,o,a=t.words,s=e.words,f=r.words,u=0,c=0|a[0],h=8191&c,d=c>>>13,l=0|a[1],p=8191&l,b=l>>>13,v=0|a[2],g=8191&v,y=v>>>13,m=0|a[3],w=8191&m,_=m>>>13,S=0|a[4],M=8191&S,E=S>>>13,k=0|a[5],x=8191&k,A=k>>>13,R=0|a[6],I=8191&R,T=R>>>13,B=0|a[7],P=8191&B,O=B>>>13,C=0|a[8],L=8191&C,j=C>>>13,N=0|a[9],D=8191&N,U=N>>>13,F=0|s[0],q=8191&F,z=F>>>13,V=0|s[1],W=8191&V,G=V>>>13,K=0|s[2],H=8191&K,X=K>>>13,Z=0|s[3],Y=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,bt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,z))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,z))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,z))+Math.imul(b,q)|0,o=Math.imul(b,z);var gt=(u+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,W)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,q),i=(i=Math.imul(g,z))+Math.imul(y,q)|0,o=Math.imul(y,z),n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,G)|0;var yt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,z))+Math.imul(_,q)|0,o=Math.imul(_,z),n=n+Math.imul(g,W)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,X)|0;var mt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(d,Y)|0))<<13)|0;u=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,z))+Math.imul(E,q)|0,o=Math.imul(E,z),n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(y,H)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(b,Y)|0,o=o+Math.imul(b,J)|0;var wt=(u+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,z))+Math.imul(A,q)|0,o=Math.imul(A,z),n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Y)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,z))+Math.imul(T,q)|0,o=Math.imul(T,z),n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(A,W)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,nt)|0;var St=(u+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,z))+Math.imul(O,q)|0,o=Math.imul(O,z),n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,G)|0,n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,X)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,at)|0;var Mt=(u+(n=n+Math.imul(h,ft)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,z))+Math.imul(j,q)|0,o=Math.imul(j,z),n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(T,H)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(b,ft)|0,o=o+Math.imul(b,ut)|0;var Et=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(D,q),i=(i=Math.imul(D,z))+Math.imul(U,q)|0,o=Math.imul(U,z),n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(y,ft)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,bt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,bt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,W),i=(i=Math.imul(D,G))+Math.imul(U,W)|0,o=Math.imul(U,G),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ht)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,bt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,bt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,X))+Math.imul(U,H)|0,o=Math.imul(U,X),n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(j,Y)|0,o=o+Math.imul(j,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var At=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,bt)|0)+Math.imul(y,pt)|0))<<13)|0;u=((o=o+Math.imul(y,bt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(D,Y),i=(i=Math.imul(D,J))+Math.imul(U,Y)|0,o=Math.imul(U,J),n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,n=n+Math.imul(x,ft)|0,i=(i=i+Math.imul(x,ut)|0)+Math.imul(A,ft)|0,o=o+Math.imul(A,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,bt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,bt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(D,Q),i=(i=Math.imul(D,tt))+Math.imul(U,Q)|0,o=Math.imul(U,tt),n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(T,ft)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var It=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,bt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,bt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(D,rt),i=(i=Math.imul(D,nt))+Math.imul(U,rt)|0,o=Math.imul(U,nt),n=n+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(O,ft)|0,o=o+Math.imul(O,ut)|0,n=n+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Tt=(u+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,bt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((o=o+Math.imul(A,bt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,ot),i=(i=Math.imul(D,at))+Math.imul(U,ot)|0,o=Math.imul(U,at),n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(j,ft)|0,o=o+Math.imul(j,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Bt=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,bt)|0)+Math.imul(T,pt)|0))<<13)|0;u=((o=o+Math.imul(T,bt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(D,ft),i=(i=Math.imul(D,ut))+Math.imul(U,ft)|0,o=Math.imul(U,ut),n=n+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,dt)|0;var Pt=(u+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,bt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,bt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(D,ht),i=(i=Math.imul(D,dt))+Math.imul(U,ht)|0,o=Math.imul(U,dt);var Ot=(u+(n=n+Math.imul(L,pt)|0)|0)+((8191&(i=(i=i+Math.imul(L,bt)|0)+Math.imul(j,pt)|0))<<13)|0;u=((o=o+Math.imul(j,bt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Ct=(u+(n=Math.imul(D,pt))|0)+((8191&(i=(i=Math.imul(D,bt))+Math.imul(U,pt)|0))<<13)|0;return u=((o=Math.imul(U,bt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,f[0]=vt,f[1]=gt,f[2]=yt,f[3]=mt,f[4]=wt,f[5]=_t,f[6]=St,f[7]=Mt,f[8]=Et,f[9]=kt,f[10]=xt,f[11]=At,f[12]=Rt,f[13]=It,f[14]=Tt,f[15]=Bt,f[16]=Pt,f[17]=Ot,f[18]=Ct,0!==u&&(f[19]=u,r.length++),r};function b(t,e,r){return(new v).mulp(t,e,r)}function v(t,e){this.x=t,this.y=e}Math.imul||(p=l),o.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?p(this,t,e):n<63?l(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var a=i;i=0;for(var s=67108863&n,f=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=f;u++){var c=o-u,h=(0|t.words[c])*(0|e.words[u]),d=67108863&h;s=67108863&(d=d+s|0),i+=(a=(a=a+(h/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):b(this,t,e),r},v.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},v.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},v.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a<o;a++)n[a]=e[t[a]],i[a]=r[t[a]]},v.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var a=1;a<i;a<<=1)for(var s=a<<1,f=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=f,d=u,l=0;l<a;l++){var p=r[c+l],b=n[c+l],v=r[c+l+a],g=n[c+l+a],y=h*v-d*g;g=h*g+d*v,v=y,r[c+l]=p+v,n[c+l]=b+g,r[c+l+a]=p-v,n[c+l+a]=b-g,l!==s&&(y=f*h-u*d,d=f*d+u*h,h=y)}},v.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},v.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},v.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},v.prototype.convert13b=function(t,e,r,i){for(var o=0,a=0;a<e;a++)o+=0|t[a],r[2*a]=8191&o,o>>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a<i;++a)r[a]=0;n(0===o),n(0==(-8192&o))},v.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},v.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),a=new Array(n),s=new Array(n),f=new Array(n),u=new Array(n),c=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(t.words,t.length,a,n),this.convert13b(e.words,e.length,u,n),this.transform(a,o,s,f,n,i),this.transform(u,o,c,h,n,i);for(var l=0;l<n;l++){var p=s[l]*c[l]-f[l]*h[l];f[l]=s[l]*h[l]+f[l]*c[l],s[l]=p}return this.conjugate(s,f,n),this.transform(s,f,d,o,n,i),this.conjugate(d,o,n),this.normalize13b(d,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),b(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,o=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=o>>>26,this.words[r]=67108863&o}return 0!==e&&(this.words[r]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e<this.length;e++){var s=this.words[e]&o,f=(0|this.words[e])-s<<r;this.words[e]=f|a,a=s>>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<<o,f=r;if(i-=a,i=Math.max(0,i),f){for(var u=0;u<a;u++)f.words[u]=this.words[u];f.length=a}if(0===a);else if(this.length>a)for(this.length-=a,u=0;u<this.length;u++)this.words[u]=this.words[u+a];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-o|h>>>o,c=h&s}return f&&0!==c&&(f.words[f.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,a=t.length+r;this._expand(a);var s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var f=(0|t.words[i])*e;s=((o-=67108863&f)>>26)-(f/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,f=n.length-i.length;if("mod"!==e){(s=new o(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,f);0===c.negative&&(n=c,s&&(s.words[f]=1));for(var h=f-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:i,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},o.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),a=new o(0),s=new o(0),f=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(h)),i.iushrn(1),a.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(c),f.isub(h)),s.iushrn(1),f.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),a.isub(f)):(r.isub(e),s.isub(i),f.isub(a))}return{a:s,b:f,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,a=new o(1),s=new o(0),f=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return(i=0===e.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new M(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function m(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(m,y),m.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var a=0|t.words[i];t.words[i-10]=(a&r)<<4|o>>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},m.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(w,y),i(_,y),i(S,y),S.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new m;else if("p224"===t)e=new w;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return g[t]=e,e},M.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());var s=new o(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,u).cmp(f);)c.redIAdd(f);for(var h=this.pow(c,i),d=this.pow(t,i.addn(1).iushrn(1)),l=this.pow(t,i),p=a;0!==l.cmp(s);){for(var b=l,v=0;0!==b.cmp(s);v++)b=b.redSqr();n(v<p);var g=this.pow(h,new o(1).iushln(p-v-1));d=d.redMul(g),h=g.redSqr(),l=l.redMul(h),p=v}return d},M.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},M.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],a=0,s=0,f=e.bitLength()%26;for(0===f&&(f=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=f-1;c>=0;c--){var h=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}f=26}return i},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new E(t)},i(E,M),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{21:21}],17:[function(t,e,r){(function(e){(function(){"use strict";if(t(382),t(498),t(54),e._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed");e._babelPolyfill=!0;function r(t,e,r){t[e]||Object.defineProperty(t,e,{writable:!0,configurable:!0,value:r})}r(String.prototype,"padLeft","".padStart),r(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach((function(t){[][t]&&r(Array,t,Function.call.bind([][t]))}))}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{382:382,498:498,54:54}],18:[function(t,e,r){"use strict";r.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=u(t),a=n[0],s=n[1],f=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r<h;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],f[c++]=e>>16&255,f[c++]=e>>8&255,f[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,f[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,f[c++]=e>>8&255,f[c++]=255&e);return f},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,f=r-i;s<f;s+=a)o.push(c(t,s,s+a>f?f:s+a));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,f=a.length;s<f;++s)n[s]=a[s],i[a.charCodeAt(s)]=s;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],19:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var a;"object"==typeof e?e.exports=o:r.BN=o,o.BN=o,o.wordSize=26;try{a="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:t(21).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=48&&r<=57?r-48:r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:void n(!1,"Invalid character in "+t)}function f(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,i){for(var o=0,a=0,s=Math.min(t.length,r),f=e;f<s;f++){var u=t.charCodeAt(f)-48;o*=i,a=u>=49?u-49+10:u>=17?u-17+10:u,n(u>=0&&a<i,"Invalid character"),o+=a}return o}function c(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},o.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},o.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,a,s=0;if("be"===r)for(i=t.length-1,o=0;i>=0;i-=3)a=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===r)for(i=0,o=0;i<t.length;i+=3)a=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=a<<s&67108863,this.words[o+1]=a>>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,o=0,a=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=f(t,e,n)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=f(t,e,n)<<o,this.words[a]|=67108863&i,o>=18?(o-=18,a+=1,this.words[a]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,a=o%n,s=Math.min(o,o-a)+r,f=0,c=r;c<s;c+=n)f=u(t,c,c+n,e),this.imuln(i),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f);if(0!==a){var h=1;for(f=u(t,c,t.length,e),c=0;c<a;c++)h*=e;this.imuln(h),this.words[0]+f<67108864?this.words[0]+=f:this._iaddn(f)}this._strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype._move=function(t){c(t,this)},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){o.prototype.inspect=h}else o.prototype.inspect=h;function h(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,o=0,a=0;a<this.length;a++){var s=this.words[a],f=(16777215&(s<<i|o)).toString(16);o=s>>>24-i&16777215,(i+=2)>=26&&(i-=26,a--),r=0!==o||a!==this.length-1?d[6-f.length]+f+r:f+r}for(0!==o&&(r=o.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=l[t],c=p[t];r="";var h=this.clone();for(h.negative=0;!h.isZero();){var b=h.modrn(c).toString(t);r=(h=h.idivn(c)).isZero()?b+r:d[u-b.length]+b+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(a,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function b(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],a=i*o,s=67108863&a,f=a/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=f>>>26,h=67108863&f,d=Math.min(u,e.length-1),l=Math.max(0,u-t.length+1);l<=d;l++){var p=u-l|0;c+=(a=(i=0|t.words[p])*(o=0|e.words[l])+h)/67108864|0,h=67108863&a}r.words[u]=0|h,f=0|c}return 0!==f?r.words[u]=0|f:r.length--,r._strip()}o.prototype.toArrayLike=function(t,e,r){this._strip();var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0");var a=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](a,i),a},o.prototype._toArrayLikeLE=function(t,e){for(var r=0,n=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|n;t[r++]=255&a,r<t.length&&(t[r++]=a>>8&255),r<t.length&&(t[r++]=a>>16&255),6===o?(r<t.length&&(t[r++]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r<t.length)for(t[r++]=n;r<t.length;)t[r++]=0},o.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,n=0,i=0,o=0;i<this.length;i++){var a=this.words[i]<<o|n;t[r--]=255&a,r>=0&&(t[r--]=a>>8&255),r>=0&&(t[r--]=a>>16&255),6===o?(r>=0&&(t[r--]=a>>24&255),n=0,o=0):(n=a>>>24,o+=2)}if(r>=0)for(t[r--]=n;r>=0;)t[r--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},o.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},o.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this._strip()},o.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this._strip()},o.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)e=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<r.length;o++)e=(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,a=0;a<n.length;a++)o=(e=(0|r.words[a])-(0|n.words[a])+o)>>26,this.words[a]=67108863&e;for(;0!==o&&a<r.length;a++)o=(e=(0|r.words[a])+o)>>26,this.words[a]=67108863&e;if(0===o&&a<r.length&&r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this.length=Math.max(this.length,a),r!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var v=function(t,e,r){var n,i,o,a=t.words,s=e.words,f=r.words,u=0,c=0|a[0],h=8191&c,d=c>>>13,l=0|a[1],p=8191&l,b=l>>>13,v=0|a[2],g=8191&v,y=v>>>13,m=0|a[3],w=8191&m,_=m>>>13,S=0|a[4],M=8191&S,E=S>>>13,k=0|a[5],x=8191&k,A=k>>>13,R=0|a[6],I=8191&R,T=R>>>13,B=0|a[7],P=8191&B,O=B>>>13,C=0|a[8],L=8191&C,j=C>>>13,N=0|a[9],D=8191&N,U=N>>>13,F=0|s[0],q=8191&F,z=F>>>13,V=0|s[1],W=8191&V,G=V>>>13,K=0|s[2],H=8191&K,X=K>>>13,Z=0|s[3],Y=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],ot=8191&it,at=it>>>13,st=0|s[7],ft=8191&st,ut=st>>>13,ct=0|s[8],ht=8191&ct,dt=ct>>>13,lt=0|s[9],pt=8191<,bt=lt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(h,q))|0)+((8191&(i=(i=Math.imul(h,z))+Math.imul(d,q)|0))<<13)|0;u=((o=Math.imul(d,z))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,z))+Math.imul(b,q)|0,o=Math.imul(b,z);var gt=(u+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(d,W)|0))<<13)|0;u=((o=o+Math.imul(d,G)|0)+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(g,q),i=(i=Math.imul(g,z))+Math.imul(y,q)|0,o=Math.imul(y,z),n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(b,W)|0,o=o+Math.imul(b,G)|0;var yt=(u+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,H)|0))<<13)|0;u=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,q),i=(i=Math.imul(w,z))+Math.imul(_,q)|0,o=Math.imul(_,z),n=n+Math.imul(g,W)|0,i=(i=i+Math.imul(g,G)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(b,H)|0,o=o+Math.imul(b,X)|0;var mt=(u+(n=n+Math.imul(h,Y)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(d,Y)|0))<<13)|0;u=((o=o+Math.imul(d,J)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(M,q),i=(i=Math.imul(M,z))+Math.imul(E,q)|0,o=Math.imul(E,z),n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,G)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,G)|0,n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(y,H)|0,o=o+Math.imul(y,X)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(b,Y)|0,o=o+Math.imul(b,J)|0;var wt=(u+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,Q)|0))<<13)|0;u=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,z))+Math.imul(A,q)|0,o=Math.imul(A,z),n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(w,H)|0,i=(i=i+Math.imul(w,X)|0)+Math.imul(_,H)|0,o=o+Math.imul(_,X)|0,n=n+Math.imul(g,Y)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(b,Q)|0,o=o+Math.imul(b,tt)|0;var _t=(u+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(d,rt)|0))<<13)|0;u=((o=o+Math.imul(d,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,z))+Math.imul(T,q)|0,o=Math.imul(T,z),n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(A,W)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,X)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,tt)|0)+Math.imul(y,Q)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(b,rt)|0,o=o+Math.imul(b,nt)|0;var St=(u+(n=n+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,at)|0)+Math.imul(d,ot)|0))<<13)|0;u=((o=o+Math.imul(d,at)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(P,q),i=(i=Math.imul(P,z))+Math.imul(O,q)|0,o=Math.imul(O,z),n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,G)|0,n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,X)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(g,rt)|0,i=(i=i+Math.imul(g,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,at)|0)+Math.imul(b,ot)|0,o=o+Math.imul(b,at)|0;var Mt=(u+(n=n+Math.imul(h,ft)|0)|0)+((8191&(i=(i=i+Math.imul(h,ut)|0)+Math.imul(d,ft)|0))<<13)|0;u=((o=o+Math.imul(d,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,z))+Math.imul(j,q)|0,o=Math.imul(j,z),n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,G)|0,n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(T,H)|0,o=o+Math.imul(T,X)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(g,ot)|0,i=(i=i+Math.imul(g,at)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,at)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(b,ft)|0,o=o+Math.imul(b,ut)|0;var Et=(u+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;u=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(D,q),i=(i=Math.imul(D,z))+Math.imul(U,q)|0,o=Math.imul(U,z),n=n+Math.imul(L,W)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(j,W)|0,o=o+Math.imul(j,G)|0,n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,H)|0,o=o+Math.imul(O,X)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,at)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,at)|0,n=n+Math.imul(g,ft)|0,i=(i=i+Math.imul(g,ut)|0)+Math.imul(y,ft)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(p,ht)|0,i=(i=i+Math.imul(p,dt)|0)+Math.imul(b,ht)|0,o=o+Math.imul(b,dt)|0;var kt=(u+(n=n+Math.imul(h,pt)|0)|0)+((8191&(i=(i=i+Math.imul(h,bt)|0)+Math.imul(d,pt)|0))<<13)|0;u=((o=o+Math.imul(d,bt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,W),i=(i=Math.imul(D,G))+Math.imul(U,W)|0,o=Math.imul(U,G),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(j,H)|0,o=o+Math.imul(j,X)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(T,Q)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,at)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,at)|0,n=n+Math.imul(w,ft)|0,i=(i=i+Math.imul(w,ut)|0)+Math.imul(_,ft)|0,o=o+Math.imul(_,ut)|0,n=n+Math.imul(g,ht)|0,i=(i=i+Math.imul(g,dt)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,dt)|0;var xt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,bt)|0)+Math.imul(b,pt)|0))<<13)|0;u=((o=o+Math.imul(b,bt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,X))+Math.imul(U,H)|0,o=Math.imul(U,X),n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(j,Y)|0,o=o+Math.imul(j,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(O,Q)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,at)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,at)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(E,ft)|0,o=o+Math.imul(E,ut)|0,n=n+Math.imul(w,ht)|0,i=(i=i+Math.imul(w,dt)|0)+Math.imul(_,ht)|0,o=o+Math.imul(_,dt)|0;var At=(u+(n=n+Math.imul(g,pt)|0)|0)+((8191&(i=(i=i+Math.imul(g,bt)|0)+Math.imul(y,pt)|0))<<13)|0;u=((o=o+Math.imul(y,bt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(D,Y),i=(i=Math.imul(D,J))+Math.imul(U,Y)|0,o=Math.imul(U,J),n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(j,Q)|0,o=o+Math.imul(j,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,at)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,at)|0,n=n+Math.imul(x,ft)|0,i=(i=i+Math.imul(x,ut)|0)+Math.imul(A,ft)|0,o=o+Math.imul(A,ut)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,dt)|0)+Math.imul(E,ht)|0,o=o+Math.imul(E,dt)|0;var Rt=(u+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,bt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((o=o+Math.imul(_,bt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(D,Q),i=(i=Math.imul(D,tt))+Math.imul(U,Q)|0,o=Math.imul(U,tt),n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(j,rt)|0,o=o+Math.imul(j,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,at)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,at)|0,n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(T,ft)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var It=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,bt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,bt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(D,rt),i=(i=Math.imul(D,nt))+Math.imul(U,rt)|0,o=Math.imul(U,nt),n=n+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,at)|0)+Math.imul(j,ot)|0,o=o+Math.imul(j,at)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ut)|0)+Math.imul(O,ft)|0,o=o+Math.imul(O,ut)|0,n=n+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Tt=(u+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,bt)|0)+Math.imul(A,pt)|0))<<13)|0;u=((o=o+Math.imul(A,bt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,ot),i=(i=Math.imul(D,at))+Math.imul(U,ot)|0,o=Math.imul(U,at),n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(j,ft)|0,o=o+Math.imul(j,ut)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Bt=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,bt)|0)+Math.imul(T,pt)|0))<<13)|0;u=((o=o+Math.imul(T,bt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,n=Math.imul(D,ft),i=(i=Math.imul(D,ut))+Math.imul(U,ft)|0,o=Math.imul(U,ut),n=n+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(j,ht)|0,o=o+Math.imul(j,dt)|0;var Pt=(u+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,bt)|0)+Math.imul(O,pt)|0))<<13)|0;u=((o=o+Math.imul(O,bt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(D,ht),i=(i=Math.imul(D,dt))+Math.imul(U,ht)|0,o=Math.imul(U,dt);var Ot=(u+(n=n+Math.imul(L,pt)|0)|0)+((8191&(i=(i=i+Math.imul(L,bt)|0)+Math.imul(j,pt)|0))<<13)|0;u=((o=o+Math.imul(j,bt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var Ct=(u+(n=Math.imul(D,pt))|0)+((8191&(i=(i=Math.imul(D,bt))+Math.imul(U,pt)|0))<<13)|0;return u=((o=Math.imul(U,bt))+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,f[0]=vt,f[1]=gt,f[2]=yt,f[3]=mt,f[4]=wt,f[5]=_t,f[6]=St,f[7]=Mt,f[8]=Et,f[9]=kt,f[10]=xt,f[11]=At,f[12]=Rt,f[13]=It,f[14]=Tt,f[15]=Bt,f[16]=Pt,f[17]=Ot,f[18]=Ct,0!==u&&(f[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var a=i;i=0;for(var s=67108863&n,f=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=f;u++){var c=o-u,h=(0|t.words[c])*(0|e.words[u]),d=67108863&h;s=67108863&(d=d+s|0),i+=(a=(a=a+(h/67108864|0)|0)+(d>>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(v=b),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?v(this,t,e):r<63?b(this,t,e):r<1024?g(this,t,e):y(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var a=0;a<o;a++)n[a]=e[t[a]],i[a]=r[t[a]]},m.prototype.transform=function(t,e,r,n,i,o){this.permute(o,t,e,r,n,i);for(var a=1;a<i;a<<=1)for(var s=a<<1,f=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var h=f,d=u,l=0;l<a;l++){var p=r[c+l],b=n[c+l],v=r[c+l+a],g=n[c+l+a],y=h*v-d*g;g=h*g+d*v,v=y,r[c+l]=p+v,n[c+l]=b+g,r[c+l+a]=p-v,n[c+l+a]=b-g,l!==s&&(y=f*h-u*d,d=f*d+u*h,h=y)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},m.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},m.prototype.convert13b=function(t,e,r,i){for(var o=0,a=0;a<e;a++)o+=0|t[a],r[2*a]=8191&o,o>>>=13,r[2*a+1]=8191&o,o>>>=13;for(a=2*e;a<i;++a)r[a]=0;n(0===o),n(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),o=this.stub(n),a=new Array(n),s=new Array(n),f=new Array(n),u=new Array(n),c=new Array(n),h=new Array(n),d=r.words;d.length=n,this.convert13b(t.words,t.length,a,n),this.convert13b(e.words,e.length,u,n),this.transform(a,o,s,f,n,i),this.transform(u,o,c,h,n,i);for(var l=0;l<n;l++){var p=s[l]*c[l]-f[l]*h[l];f[l]=s[l]*h[l]+f[l]*c[l],s[l]=p}return this.conjugate(s,f,n),this.transform(s,f,d,o,n,i),this.conjugate(d,o,n),this.normalize13b(d,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r._strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),y(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){var e=t<0;e&&(t=-t),n("number"==typeof t),n(t<67108864);for(var r=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,a=(67108863&o)+(67108863&r);r>>=26,r+=o/67108864|0,r+=a>>>26,this.words[i]=67108863&a}return 0!==r&&(this.words[i]=r,this.length++),e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=t.words[n]>>>i&1}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var a=0;for(e=0;e<this.length;e++){var s=this.words[e]&o,f=(0|this.words[e])-s<<r;this.words[e]=f|a,a=s>>>26-r}a&&(this.words[e]=a,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},o.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,a=Math.min((t-o)/26,this.length),s=67108863^67108863>>>o<<o,f=r;if(i-=a,i=Math.max(0,i),f){for(var u=0;u<a;u++)f.words[u]=this.words[u];f.length=a}if(0===a);else if(this.length>a)for(this.length-=a,u=0;u<this.length;u++)this.words[u]=this.words[u+a];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var h=0|this.words[u];this.words[u]=c<<26-o|h>>>o,c=h&s}return f&&0!==c&&(f.words[f.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},o.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,r){var i,o,a=t.length+r;this._expand(a);var s=0;for(i=0;i<t.length;i++){o=(0|this.words[i+r])+s;var f=(0|t.words[i])*e;s=((o-=67108863&f)>>26)-(f/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)s=(o=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&o;if(0===s)return this._strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(o=-(0|this.words[i])+s)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,f=n.length-i.length;if("mod"!==e){(s=new o(null)).length=f+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,f);0===c.negative&&(n=c,s&&(s.words[f]=1));for(var h=f-1;h>=0;h--){var d=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(i,d,h);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=d)}return s&&s._strip(),n._strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.iadd(t)),{div:i,mod:a}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(a=s.mod.neg(),r&&0!==a.negative&&a.isub(t)),{div:s.div,mod:a}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var i,a,s},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(r*i+(0|this.words[o]))%t;return e?-i:i},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),n(t<=67108863);for(var r=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*r;this.words[i]=o/t|0,r=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),a=new o(0),s=new o(0),f=new o(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),h=e.clone();!e.isZero();){for(var d=0,l=1;0==(e.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(h)),i.iushrn(1),a.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||f.isOdd())&&(s.iadd(c),f.isub(h)),s.iushrn(1),f.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),a.isub(f)):(r.isub(e),s.isub(i),f.isub(a))}return{a:s,b:f,gcd:r.iushln(u)}},o.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,a=new o(1),s=new o(0),f=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(f),a.iushrn(1);for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(f),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s)):(r.isub(e),s.isub(a))}return(i=0===e.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var o=i,a=r;0!==o&&a<this.length;a++){var s=0|this.words[a];o=(s+=o)>>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this._strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new x(t)},o.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var w={k256:null,p224:null,p192:null,p25519:null};function _(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function S(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){_.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function E(){_.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function k(){_.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function A(t){x.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}_.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},_.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},_.prototype.split=function(t,e){t.iushrn(this.n,0,e)},_.prototype.imulK=function(t){return t.imul(this.k)},i(S,_),S.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,i=10;i<t.length;i++){var a=0|t.words[i];t.words[i-10]=(a&r)<<4|o>>>22,o=a}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},S.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,_),i(E,_),i(k,_),k.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(w[t])return w[t];var e;if("k256"===t)e=new S;else if("p224"===t)e=new M;else if("p192"===t)e=new E;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new k}return w[t]=e,e},x.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},x.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},x.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(c(t,t.umod(this.m)._forceRed(this)),t)},x.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},x.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},x.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},x.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},x.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},x.prototype.isqr=function(t){return this.imul(t,t.clone())},x.prototype.sqr=function(t){return this.mul(t,t)},x.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new o(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);n(!i.isZero());var s=new o(1).toRed(this),f=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,u).cmp(f);)c.redIAdd(f);for(var h=this.pow(c,i),d=this.pow(t,i.addn(1).iushrn(1)),l=this.pow(t,i),p=a;0!==l.cmp(s);){for(var b=l,v=0;0!==b.cmp(s);v++)b=b.redSqr();n(v<p);var g=this.pow(h,new o(1).iushln(p-v-1));d=d.redMul(g),h=g.redSqr(),l=l.redMul(h),p=v}return d},x.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},x.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],a=0,s=0,f=e.bitLength()%26;for(0===f&&(f=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=f-1;c>=0;c--){var h=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}f=26}return i},x.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},x.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new A(t)},i(A,x),A.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},A.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},A.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},A.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},A.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{21:21}],20:[function(t,e,r){var n;function i(t){this.rand=t}if(e.exports=function(t){return n||(n=new i(null)),n.generate(t)},e.exports.Rand=i,i.prototype.generate=function(t){return this._rand(t)},i.prototype._rand=function(t){if(this.rand.getBytes)return this.rand.getBytes(t);for(var e=new Uint8Array(t),r=0;r<e.length;r++)e[r]=this.rand.getByte();return e},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(t){var e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(t){var e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var o=t(21);if("function"!=typeof o.randomBytes)throw new Error("Not supported");i.prototype._rand=function(t){return o.randomBytes(t)}}catch(t){}},{21:21}],21:[function(t,e,r){},{}],22:[function(t,e,r){var n=t(500).Buffer;function i(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function o(t){for(;0<t.length;t++)t[0]=0}function a(t,e,r,n,i){for(var o,a,s,f,u=r[0],c=r[1],h=r[2],d=r[3],l=t[0]^e[0],p=t[1]^e[1],b=t[2]^e[2],v=t[3]^e[3],g=4,y=1;y<i;y++)o=u[l>>>24]^c[p>>>16&255]^h[b>>>8&255]^d[255&v]^e[g++],a=u[p>>>24]^c[b>>>16&255]^h[v>>>8&255]^d[255&l]^e[g++],s=u[b>>>24]^c[v>>>16&255]^h[l>>>8&255]^d[255&p]^e[g++],f=u[v>>>24]^c[l>>>16&255]^h[p>>>8&255]^d[255&b]^e[g++],l=o,p=a,b=s,v=f;return o=(n[l>>>24]<<24|n[p>>>16&255]<<16|n[b>>>8&255]<<8|n[255&v])^e[g++],a=(n[p>>>24]<<24|n[b>>>16&255]<<16|n[v>>>8&255]<<8|n[255&l])^e[g++],s=(n[b>>>24]<<24|n[v>>>16&255]<<16|n[l>>>8&255]<<8|n[255&p])^e[g++],f=(n[v>>>24]<<24|n[l>>>16&255]<<16|n[p>>>8&255]<<8|n[255&b])^e[g++],[o>>>=0,a>>>=0,s>>>=0,f>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],f=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],a=0,s=0,f=0;f<256;++f){var u=s^s<<1^s<<2^s<<3^s<<4;u=u>>>8^255&u^99,r[a]=u,n[u]=a;var c=t[a],h=t[c],d=t[h],l=257*t[u]^16843008*u;i[0][a]=l<<24|l>>>8,i[1][a]=l<<16|l>>>16,i[2][a]=l<<8|l>>>24,i[3][a]=l,l=16843009*d^65537*h^257*c^16843008*a,o[0][u]=l<<24|l>>>8,o[1][u]=l<<16|l>>>16,o[2][u]=l<<8|l>>>24,o[3][u]=l,0===a?a=s=1:(a=c^t[t[t[d^c]]],s^=t[t[s]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function u(t){this._key=i(t),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o<e;o++)i[o]=t[o];for(o=e;o<n;o++){var a=i[o-1];o%e==0?(a=a<<8|a>>>24,a=f.SBOX[a>>>24]<<24|f.SBOX[a>>>16&255]<<16|f.SBOX[a>>>8&255]<<8|f.SBOX[255&a],a^=s[o/e|0]<<24):e>6&&o%e==4&&(a=f.SBOX[a>>>24]<<24|f.SBOX[a>>>16&255]<<16|f.SBOX[a>>>8&255]<<8|f.SBOX[255&a]),i[o]=i[o-e]^a}for(var u=[],c=0;c<n;c++){var h=n-c,d=i[h-(c%4?0:4)];u[c]=c<4||h<=4?d:f.INV_SUB_MIX[0][f.SBOX[d>>>24]]^f.INV_SUB_MIX[1][f.SBOX[d>>>16&255]]^f.INV_SUB_MIX[2][f.SBOX[d>>>8&255]]^f.INV_SUB_MIX[3][f.SBOX[255&d]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(t){return a(t=i(t),this._keySchedule,f.SUB_MIX,f.SBOX,this._nRounds)},u.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},u.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=a(t,this._invKeySchedule,f.INV_SUB_MIX,f.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},u.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},e.exports.AES=u},{500:500}],23:[function(t,e,r){var n=t(22),i=t(500).Buffer,o=t(53),a=t(453),s=t(27),f=t(51),u=t(28);function c(t,e,r,a){o.call(this);var f=i.alloc(4,0);this._cipher=new n.AES(e);var c=this._cipher.encryptBlock(f);this._ghash=new s(c),r=function(t,e,r){if(12===e.length)return t._finID=i.concat([e,i.from([0,0,0,1])]),i.concat([e,i.from([0,0,0,2])]);var n=new s(r),o=e.length,a=o%16;n.update(e),a&&(a=16-a,n.update(i.alloc(a,0))),n.update(i.alloc(8,0));var f=8*o,c=i.alloc(8);c.writeUIntBE(f,0,8),n.update(c),t._finID=n.state;var h=i.from(t._finID);return u(h),h}(this,r,c),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}a(c,o),c.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=i.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},c.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=f(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i<n;++i)r+=t[i]^e[i];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},c.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},c.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},c.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},e.exports=c},{22:22,27:27,28:28,453:453,500:500,51:51,53:53}],24:[function(t,e,r){var n=t(26),i=t(25),o=t(36);r.createCipher=r.Cipher=n.createCipher,r.createCipheriv=r.Cipheriv=n.createCipheriv,r.createDecipher=r.Decipher=i.createDecipher,r.createDecipheriv=r.Decipheriv=i.createDecipheriv,r.listCiphers=r.getCiphers=function(){return Object.keys(o)}},{25:25,26:26,36:36}],25:[function(t,e,r){var n=t(23),i=t(500).Buffer,o=t(35),a=t(38),s=t(53),f=t(22),u=t(420);function c(t,e,r){s.call(this),this._cache=new h,this._last=void 0,this._cipher=new f.AES(e),this._prev=i.from(r),this._mode=t,this._autopadding=!0}function h(){this.cache=i.allocUnsafe(0)}function d(t,e,r){var s=o[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=i.from(e)),e.length!==s.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===s.type?new a(s.module,e,r,!0):"auth"===s.type?new n(s.module,e,r,!0):new c(s.module,e,r)}t(453)(c,s),c.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return i.concat(n)},c.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16===e)return;return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},c.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},h.prototype.add=function(t){this.cache=i.concat([this.cache,t])},h.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},r.createDecipher=function(t,e){var r=o[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=u(e,!1,r.key,r.iv);return d(t,n.key,n.iv)},r.createDecipheriv=d},{22:22,23:23,35:35,38:38,420:420,453:453,500:500,53:53}],26:[function(t,e,r){var n=t(35),i=t(23),o=t(500).Buffer,a=t(38),s=t(53),f=t(22),u=t(420);function c(t,e,r){s.call(this),this._cache=new d,this._cipher=new f.AES(e),this._prev=o.from(r),this._mode=t,this._autopadding=!0}t(453)(c,s),c.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return o.concat(n)};var h=o.alloc(16,16);function d(){this.cache=o.allocUnsafe(0)}function l(t,e,r){var s=n[t.toLowerCase()];if(!s)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=o.from(e)),e.length!==s.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==s.mode&&r.length!==s.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===s.type?new a(s.module,e,r):"auth"===s.type?new i(s.module,e,r):new c(s.module,e,r)}c.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(h))throw this._cipher.scrub(),new Error("data not multiple of block length")},c.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},d.prototype.add=function(t){this.cache=o.concat([this.cache,t])},d.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},d.prototype.flush=function(){for(var t=16-this.cache.length,e=o.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return o.concat([this.cache,e])},r.createCipheriv=l,r.createCipher=function(t,e){var r=n[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=u(e,!1,r.key,r.iv);return l(t,i.key,i.iv)}},{22:22,23:23,35:35,38:38,420:420,453:453,500:500,53:53}],27:[function(t,e,r){var n=t(500).Buffer,i=n.alloc(16,0);function o(t){var e=n.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function a(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},a.prototype._multiply=function(){for(var t,e,r,n=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],i=[0,0,0,0],a=-1;++a<128;){for(0!=(this.state[~~(a/8)]&1<<7-a%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=0!=(1&n[3]),e=3;e>0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},a.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},a.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,t,0,e])),this.state},e.exports=a},{500:500}],28:[function(t,e,r){e.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},{}],29:[function(t,e,r){var n=t(51);r.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},r.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},{51:51}],30:[function(t,e,r){var n=t(500).Buffer,i=t(51);function o(t,e,r){var o=e.length,a=i(e,t._cache);return t._cache=t._cache.slice(o),t._prev=n.concat([t._prev,r?e:a]),a}r.encrypt=function(t,e,r){for(var i,a=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){a=n.concat([a,o(t,e,r)]);break}i=t._cache.length,a=n.concat([a,o(t,e.slice(0,i),r)]),e=e.slice(i)}return a}},{500:500,51:51}],31:[function(t,e,r){var n=t(500).Buffer;function i(t,e,r){for(var n,i,a=-1,s=0;++a<8;)n=e&1<<7-a?128:0,s+=(128&(i=t._cipher.encryptBlock(t._prev)[0]^n))>>a%8,t._prev=o(t._prev,r?n:i);return s}function o(t,e){var r=t.length,i=-1,o=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i<r;)o[i]=t[i]<<1|t[i+1]>>7;return o}r.encrypt=function(t,e,r){for(var o=e.length,a=n.allocUnsafe(o),s=-1;++s<o;)a[s]=i(t,e[s],r);return a}},{500:500}],32:[function(t,e,r){var n=t(500).Buffer;function i(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=n.concat([t._prev.slice(1),n.from([r?e:i])]),i}r.encrypt=function(t,e,r){for(var o=e.length,a=n.allocUnsafe(o),s=-1;++s<o;)a[s]=i(t,e[s],r);return a}},{500:500}],33:[function(t,e,r){var n=t(51),i=t(500).Buffer,o=t(28);function a(t){var e=t._cipher.encryptBlockRaw(t._prev);return o(t._prev),e}r.encrypt=function(t,e){var r=Math.ceil(e.length/16),o=t._cache.length;t._cache=i.concat([t._cache,i.allocUnsafe(16*r)]);for(var s=0;s<r;s++){var f=a(t),u=o+16*s;t._cache.writeUInt32BE(f[0],u+0),t._cache.writeUInt32BE(f[1],u+4),t._cache.writeUInt32BE(f[2],u+8),t._cache.writeUInt32BE(f[3],u+12)}var c=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),n(e,c)}},{28:28,500:500,51:51}],34:[function(t,e,r){r.encrypt=function(t,e){return t._cipher.encryptBlock(e)},r.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},{}],35:[function(t,e,r){var n={ECB:t(34),CBC:t(29),CFB:t(30),CFB8:t(32),CFB1:t(31),OFB:t(37),CTR:t(33),GCM:t(33)},i=t(36);for(var o in i)i[o].module=n[i[o].mode];e.exports=i},{29:29,30:30,31:31,32:32,33:33,34:34,36:36,37:37}],36:[function(t,e,r){e.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},{}],37:[function(t,e,r){(function(e){(function(){var n=t(51);function i(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}r.encrypt=function(t,r){for(;t._cache.length<r.length;)t._cache=e.concat([t._cache,i(t)]);var o=t._cache.slice(0,r.length);return t._cache=t._cache.slice(r.length),n(r,o)}}).call(this)}).call(this,t(52).Buffer)},{51:51,52:52}],38:[function(t,e,r){var n=t(22),i=t(500).Buffer,o=t(53);function a(t,e,r,a){o.call(this),this._cipher=new n.AES(e),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._mode=t}t(453)(a,o),a.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},a.prototype._final=function(){this._cipher.scrub()},e.exports=a},{22:22,453:453,500:500,53:53}],39:[function(t,e,r){var n=t(40),i=t(24),o=t(35),a=t(41),s=t(420);function f(t,e,r){if(t=t.toLowerCase(),o[t])return i.createCipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function u(t,e,r){if(t=t.toLowerCase(),o[t])return i.createDecipheriv(t,e,r);if(a[t])return new n({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}r.createCipher=r.Cipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return f(t,i.key,i.iv)},r.createCipheriv=r.Cipheriv=f,r.createDecipher=r.Decipher=function(t,e){var r,n;if(t=t.toLowerCase(),o[t])r=o[t].key,n=o[t].iv;else{if(!a[t])throw new TypeError("invalid suite type");r=8*a[t].key,n=a[t].iv}var i=s(e,!1,r,n);return u(t,i.key,i.iv)},r.createDecipheriv=r.Decipheriv=u,r.listCiphers=r.getCiphers=function(){return Object.keys(a).concat(i.getCiphers())}},{24:24,35:35,40:40,41:41,420:420}],40:[function(t,e,r){var n=t(53),i=t(391),o=t(453),a=t(500).Buffer,s={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function f(t){n.call(this);var e,r=t.mode.toLowerCase(),i=s[r];e=t.decrypt?"decrypt":"encrypt";var o=t.key;a.isBuffer(o)||(o=a.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=a.concat([o,o.slice(0,8)]));var f=t.iv;a.isBuffer(f)||(f=a.from(f)),this._des=i.create({key:o,iv:f,type:e})}s.des=s["des-cbc"],s.des3=s["des-ede3-cbc"],e.exports=f,o(f,n),f.prototype._update=function(t){return a.from(this._des.update(t))},f.prototype._final=function(){return a.from(this._des.final())}},{391:391,453:453,500:500,53:53}],41:[function(t,e,r){r["des-ecb"]={key:8,iv:0},r["des-cbc"]=r.des={key:8,iv:8},r["des-ede3-cbc"]=r.des3={key:24,iv:8},r["des-ede3"]={key:24,iv:0},r["des-ede-cbc"]={key:16,iv:8},r["des-ede"]={key:16,iv:0}},{}],42:[function(t,e,r){(function(r){(function(){var n=t(19),i=t(483);function o(t){var e,r=t.modulus.byteLength();do{e=new n(i(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function a(t,e){var i=function(t){var e=o(t);return{blinder:e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),a=e.modulus.byteLength(),s=new n(t).mul(i.blinder).umod(e.modulus),f=s.toRed(n.mont(e.prime1)),u=s.toRed(n.mont(e.prime2)),c=e.coefficient,h=e.prime1,d=e.prime2,l=f.redPow(e.exponent1).fromRed(),p=u.redPow(e.exponent2).fromRed(),b=l.isub(p).imul(c).umod(h).imul(d);return p.iadd(b).imul(i.unblinder).umod(e.modulus).toArrayLike(r,"be",a)}a.getr=o,e.exports=a}).call(this)}).call(this,t(52).Buffer)},{19:19,483:483,52:52}],43:[function(t,e,r){"use strict";e.exports=t(44)},{44:44}],44:[function(t,e,r){e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},{}],45:[function(t,e,r){e.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}},{}],46:[function(t,e,r){"use strict";var n=t(49).Buffer,i=t(386),o=t(495),a=t(453),s=t(47),f=t(48),u=t(44);function c(t){o.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function h(t){o.Writable.call(this);var e=u[t];if(!e)throw new Error("Unknown message digest");this._hash=i(e.hash),this._tag=e.id,this._signType=e.sign}function d(t){return new c(t)}function l(t){return new h(t)}Object.keys(u).forEach((function(t){u[t].id=n.from(u[t].id,"hex"),u[t.toLowerCase()]=u[t]})),a(c,o.Writable),c.prototype._write=function(t,e,r){this._hash.update(t),r()},c.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},c.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),n=s(r,t,this._hashType,this._signType,this._tag);return e?n.toString(e):n},a(h,o.Writable),h.prototype._write=function(t,e,r){this._hash.update(t),r()},h.prototype.update=function(t,e){return this._hash.update("string"==typeof t?n.from(t,e):t),this},h.prototype.verify=function(t,e,r){var i="string"==typeof e?n.from(e,r):e;this.end();var o=this._hash.digest();return f(i,o,t,this._signType,this._tag)},e.exports={Sign:d,Verify:l,createSign:d,createVerify:l}},{386:386,44:44,453:453,47:47,48:48,49:49,495:495}],47:[function(t,e,r){"use strict";var n=t(49).Buffer,i=t(388),o=t(42),a=t(402).ec,s=t(19),f=t(465),u=t(45);function c(t,e,r,o){if((t=n.from(t.toArray())).length<e.byteLength()){var a=n.alloc(e.byteLength()-t.length);t=n.concat([a,t])}var s=r.length,f=function(t,e){t=(t=h(t,e)).mod(e);var r=n.from(t.toArray());if(r.length<e.byteLength()){var i=n.alloc(e.byteLength()-r.length);r=n.concat([i,r])}return r}(r,e),u=n.alloc(s);u.fill(1);var c=n.alloc(s);return c=i(o,c).update(u).update(n.from([0])).update(t).update(f).digest(),u=i(o,c).update(u).digest(),{k:c=i(o,c).update(u).update(n.from([1])).update(t).update(f).digest(),v:u=i(o,c).update(u).digest()}}function h(t,e){var r=new s(t),n=(t.length<<3)-e.bitLength();return n>0&&r.ishrn(n),r}function d(t,e,r){var o,a;do{for(o=n.alloc(0);8*o.length<t.bitLength();)e.v=i(r,e.k).update(e.v).digest(),o=n.concat([o,e.v]);a=h(o,t),e.k=i(r,e.k).update(e.v).update(n.from([0])).digest(),e.v=i(r,e.k).update(e.v).digest()}while(-1!==a.cmp(t));return a}function l(t,e,r,n){return t.toRed(s.mont(r)).redPow(e).fromRed().mod(n)}e.exports=function(t,e,r,i,p){var b=f(e);if(b.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(t,e){var r=u[e.curve.join(".")];if(!r)throw new Error("unknown curve "+e.curve.join("."));var i=new a(r).keyFromPrivate(e.privateKey).sign(t);return n.from(i.toDER())}(t,b)}if("dsa"===b.type){if("dsa"!==i)throw new Error("wrong private key type");return function(t,e,r){var i,o=e.params.priv_key,a=e.params.p,f=e.params.q,u=e.params.g,p=new s(0),b=h(t,f).mod(f),v=!1,g=c(o,f,t,r);for(;!1===v;)p=l(u,i=d(f,g,r),a,f),0===(v=i.invm(f).imul(b.add(o.mul(p))).mod(f)).cmpn(0)&&(v=!1,p=new s(0));return function(t,e){t=t.toArray(),e=e.toArray(),128&t[0]&&(t=[0].concat(t));128&e[0]&&(e=[0].concat(e));var r=[48,t.length+e.length+4,2,t.length];return r=r.concat(t,[2,e.length],e),n.from(r)}(p,v)}(t,b,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");if(void 0!==e.padding&&1!==e.padding)throw new Error("illegal or unsupported padding mode");t=n.concat([p,t]);for(var v=b.modulus.byteLength(),g=[0,1];t.length+g.length+1<v;)g.push(255);g.push(0);for(var y=-1;++y<t.length;)g.push(t[y]);return o(g,b)},e.exports.getKey=c,e.exports.makeKey=d},{19:19,388:388,402:402,42:42,45:45,465:465,49:49}],48:[function(t,e,r){"use strict";var n=t(49).Buffer,i=t(19),o=t(402).ec,a=t(465),s=t(45);function f(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=0)throw new Error("invalid sig")}e.exports=function(t,e,r,u,c){var h=a(r);if("ec"===h.type){if("ecdsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var n=s[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var i=new o(n),a=r.data.subjectPrivateKey.data;return i.verify(e,t,a)}(t,e,h)}if("dsa"===h.type){if("dsa"!==u)throw new Error("wrong public key type");return function(t,e,r){var n=r.data.p,o=r.data.q,s=r.data.g,u=r.data.pub_key,c=a.signature.decode(t,"der"),h=c.s,d=c.r;f(h,o),f(d,o);var l=i.mont(n),p=h.invm(o);return 0===s.toRed(l).redPow(new i(e).mul(p).mod(o)).fromRed().mul(u.toRed(l).redPow(d.mul(p).mod(o)).fromRed()).mod(n).mod(o).cmp(d)}(t,e,h)}if("rsa"!==u&&"ecdsa/rsa"!==u)throw new Error("wrong public key type");e=n.concat([c,e]);for(var d=h.modulus.byteLength(),l=[1],p=0;e.length+l.length+2<d;)l.push(255),p+=1;l.push(0);for(var b=-1;++b<e.length;)l.push(e[b]);l=n.from(l);var v=i.mont(h.modulus);t=(t=new i(t).toRed(v)).redPow(new i(h.publicExponent)),t=n.from(t.fromRed().toArray());var g=p<8?1:0;for(d=Math.min(t.length,l.length),t.length!==l.length&&(g=1),b=-1;++b<d;)g|=t[b]^l[b];return 0===g}},{19:19,402:402,45:45,465:465,49:49}],49:[function(t,e,r){
|
|
12045
12361
|
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
@@ -12055,7 +12371,7 @@ var n=t(52),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r
|
|
|
12055
12371
|
r.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,f=(1<<s)-1,u=f>>1,c=-7,h=r?i-1:0,d=r?-1:1,l=t[e+h];for(h+=d,o=l&(1<<-c)-1,l>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=d,c-=8);if(0===o)o=1-u;else{if(o===f)return a?NaN:1/0*(l?-1:1);a+=Math.pow(2,n),o-=u}return(l?-1:1)*a*Math.pow(2,o-n)},r.write=function(t,e,r,n,i,o){var a,s,f,u=8*o-i-1,c=(1<<u)-1,h=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,l=n?0:o-1,p=n?1:-1,b=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-a))<1&&(a--,f*=2),(e+=a+h>=1?d/f:d*Math.pow(2,1-h))*f>=2&&(a++,f/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*f-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+l]=255&s,l+=p,s/=256,i-=8);for(a=a<<i|s,u+=i;u>0;t[r+l]=255&a,l+=p,a/=256,u-=8);t[r+l-p]|=128*b}},{}],452:[function(t,e,r){var n=[].indexOf;e.exports=function(t,e){if(n)return t.indexOf(e);for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}},{}],453:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],454:[function(t,e,r){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],455:[function(t,e,r){"use strict";var n=t(453),i=t(421),o=t(500).Buffer,a=new Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function f(t,e){return t<<e|t>>>32-e}function u(t,e,r,n,i,o,a){return f(t+(e&r|~e&n)+i+o|0,a)+e|0}function c(t,e,r,n,i,o,a){return f(t+(e&n|r&~n)+i+o|0,a)+e|0}function h(t,e,r,n,i,o,a){return f(t+(e^r^n)+i+o|0,a)+e|0}function d(t,e,r,n,i,o,a){return f(t+(r^(e|~n))+i+o|0,a)+e|0}n(s,i),s.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,o=this._d;r=u(r,n,i,o,t[0],3614090360,7),o=u(o,r,n,i,t[1],3905402710,12),i=u(i,o,r,n,t[2],606105819,17),n=u(n,i,o,r,t[3],3250441966,22),r=u(r,n,i,o,t[4],4118548399,7),o=u(o,r,n,i,t[5],1200080426,12),i=u(i,o,r,n,t[6],2821735955,17),n=u(n,i,o,r,t[7],4249261313,22),r=u(r,n,i,o,t[8],1770035416,7),o=u(o,r,n,i,t[9],2336552879,12),i=u(i,o,r,n,t[10],4294925233,17),n=u(n,i,o,r,t[11],2304563134,22),r=u(r,n,i,o,t[12],1804603682,7),o=u(o,r,n,i,t[13],4254626195,12),i=u(i,o,r,n,t[14],2792965006,17),r=c(r,n=u(n,i,o,r,t[15],1236535329,22),i,o,t[1],4129170786,5),o=c(o,r,n,i,t[6],3225465664,9),i=c(i,o,r,n,t[11],643717713,14),n=c(n,i,o,r,t[0],3921069994,20),r=c(r,n,i,o,t[5],3593408605,5),o=c(o,r,n,i,t[10],38016083,9),i=c(i,o,r,n,t[15],3634488961,14),n=c(n,i,o,r,t[4],3889429448,20),r=c(r,n,i,o,t[9],568446438,5),o=c(o,r,n,i,t[14],3275163606,9),i=c(i,o,r,n,t[3],4107603335,14),n=c(n,i,o,r,t[8],1163531501,20),r=c(r,n,i,o,t[13],2850285829,5),o=c(o,r,n,i,t[2],4243563512,9),i=c(i,o,r,n,t[7],1735328473,14),r=h(r,n=c(n,i,o,r,t[12],2368359562,20),i,o,t[5],4294588738,4),o=h(o,r,n,i,t[8],2272392833,11),i=h(i,o,r,n,t[11],1839030562,16),n=h(n,i,o,r,t[14],4259657740,23),r=h(r,n,i,o,t[1],2763975236,4),o=h(o,r,n,i,t[4],1272893353,11),i=h(i,o,r,n,t[7],4139469664,16),n=h(n,i,o,r,t[10],3200236656,23),r=h(r,n,i,o,t[13],681279174,4),o=h(o,r,n,i,t[0],3936430074,11),i=h(i,o,r,n,t[3],3572445317,16),n=h(n,i,o,r,t[6],76029189,23),r=h(r,n,i,o,t[9],3654602809,4),o=h(o,r,n,i,t[12],3873151461,11),i=h(i,o,r,n,t[15],530742520,16),r=d(r,n=h(n,i,o,r,t[2],3299628645,23),i,o,t[0],4096336452,6),o=d(o,r,n,i,t[7],1126891415,10),i=d(i,o,r,n,t[14],2878612391,15),n=d(n,i,o,r,t[5],4237533241,21),r=d(r,n,i,o,t[12],1700485571,6),o=d(o,r,n,i,t[3],2399980690,10),i=d(i,o,r,n,t[10],4293915773,15),n=d(n,i,o,r,t[1],2240044497,21),r=d(r,n,i,o,t[8],1873313359,6),o=d(o,r,n,i,t[15],4264355552,10),i=d(i,o,r,n,t[6],2734768916,15),n=d(n,i,o,r,t[13],1309151649,21),r=d(r,n,i,o,t[4],4149444226,6),o=d(o,r,n,i,t[11],3174756917,10),i=d(i,o,r,n,t[2],718787259,15),n=d(n,i,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},s.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=o.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},e.exports=s},{421:421,453:453,500:500}],456:[function(t,e,r){var n=t(457),i=t(20);function o(t){this.rand=t||new i.Rand}e.exports=o,o.create=function(t){return new o(t)},o.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new n(this.rand.generate(r))}while(i.cmp(t)>=0);return i},o.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},o.prototype.test=function(t,e,r){var i=t.bitLength(),o=n.mont(t),a=new n(1).toRed(o);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),f=0;!s.testn(f);f++);for(var u=t.shrn(f),c=s.toRed(o);e>0;e--){var h=this._randrange(new n(2),s);r&&r(h);var d=h.toRed(o).redPow(u);if(0!==d.cmp(a)&&0!==d.cmp(c)){for(var l=1;l<f;l++){if(0===(d=d.redSqr()).cmp(a))return!1;if(0===d.cmp(c))break}if(l===f)return!1}}return!0},o.prototype.getDivisor=function(t,e){var r=t.bitLength(),i=n.mont(t),o=new n(1).toRed(i);e||(e=Math.max(1,r/48|0));for(var a=t.subn(1),s=0;!a.testn(s);s++);for(var f=t.shrn(s),u=a.toRed(i);e>0;e--){var c=this._randrange(new n(2),a),h=t.gcd(c);if(0!==h.cmpn(1))return h;var d=c.toRed(i).redPow(f);if(0!==d.cmp(o)&&0!==d.cmp(u)){for(var l=1;l<s;l++){if(0===(d=d.redSqr()).cmp(o))return d.fromRed().subn(1).gcd(t);if(0===d.cmp(u))break}if(l===s)return(d=d.redSqr()).fromRed().subn(1).gcd(t)}}return!1}},{20:20,457:457}],457:[function(t,e,r){arguments[4][16][0].apply(r,arguments)},{16:16,21:21}],458:[function(t,e,r){function n(t,e){if(!t)throw new Error(e||"Assertion failed")}e.exports=n,n.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},{}],459:[function(t,e,r){"use strict";var n=r;function i(t){return 1===t.length?"0"+t:t}function o(t){for(var e="",r=0;r<t.length;r++)e+=i(t[r].toString(16));return e}n.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var n=0;n<t.length;n++)r[n]=0|t[n];return r}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(n=0;n<t.length;n++){var i=t.charCodeAt(n),o=i>>8,a=255&i;o?r.push(o,a):r.push(a)}return r},n.zero2=i,n.toHex=o,n.encode=function(t,e){return"hex"===e?o(t):t}},{}],460:[function(t,e,r){(function(r){(function(){!function(n){"use strict";var i,o,a,s,f;n?function(){var t=n.crypto||n.msCrypto;if(!i&&t&&t.getRandomValues)try{var e=new Uint8Array(16);s=i=function(){return t.getRandomValues(e),e},i()}catch(t){}if(!i){var r=new Array(16);o=i=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),r[e]=t>>>((3&e)<<3)&255;return r},"undefined"!=typeof console&&console.warn}}():function(){if("function"==typeof t)try{var e=t(390).randomBytes;a=i=e&&function(){return e(16)},i()}catch(t){}}();for(var u="function"==typeof r?r:Array,c=[],h={},d=0;d<256;d++)c[d]=(d+256).toString(16).substr(1),h[c[d]]=d;function l(t,e){var r=e||0,n=c;return n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]}var p=i(),b=[1|p[0],p[1],p[2],p[3],p[4],p[5]],v=16383&(p[6]<<8|p[7]),g=0,y=0;function m(t,e,r){var n=e&&r||0;"string"==typeof t&&(e="binary"===t?new u(16):null,t=null);var o=(t=t||{}).random||(t.rng||i)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,e)for(var a=0;a<16;a++)e[n+a]=o[a];return e||l(o)}var w=m;w.v1=function(t,e,r){var n=e&&r||0,i=e||[],o=null!=(t=t||{}).clockseq?t.clockseq:v,a=null!=t.msecs?t.msecs:(new Date).getTime(),s=null!=t.nsecs?t.nsecs:y+1,f=a-g+(s-y)/1e4;if(f<0&&null==t.clockseq&&(o=o+1&16383),(f<0||a>g)&&null==t.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");g=a,y=s,v=o;var u=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;i[n++]=u>>>24&255,i[n++]=u>>>16&255,i[n++]=u>>>8&255,i[n++]=255&u;var c=a/4294967296*1e4&268435455;i[n++]=c>>>8&255,i[n++]=255&c,i[n++]=c>>>24&15|16,i[n++]=c>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var h=t.node||b,d=0;d<6;d++)i[n+d]=h[d];return e||l(i)},w.v4=m,w.parse=function(t,e,r){var n=e&&r||0,i=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,(function(t){i<16&&(e[n+i++]=h[t])}));i<16;)e[n+i++]=0;return e},w.unparse=l,w.BufferClass=u,w._rng=i,w._mathRNG=o,w._nodeRNG=a,w._whatwgRNG=s,void 0!==e&&e.exports?e.exports=w:"function"==typeof define&&define.amd?define((function(){return w})):(f=n.uuid,w.noConflict=function(){return n.uuid=f,w},n.uuid=w)}("undefined"!=typeof window?window:null)}).call(this)}).call(this,t(52).Buffer)},{390:390,52:52}],461:[function(t,e,r){e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},{}],462:[function(t,e,r){"use strict";var n=t(2);r.certificate=t(463);var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));r.RSAPrivateKey=i;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));r.RSAPublicKey=o;var a=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())}));r.PublicKey=s;var f=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())}));r.PrivateKey=f;var u=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));r.EncryptedPrivateKey=u;var c=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));r.DSAPrivateKey=c,r.DSAparam=n.define("DSAparam",(function(){this.int()}));var h=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})})),d=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(h),this.key("publicKey").optional().explicit(1).bitstr())}));r.ECPrivateKey=d,r.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},{2:2,463:463}],463:[function(t,e,r){"use strict";var n=t(2),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),a=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())})),f=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),u=n.define("RDNSequence",(function(){this.seqof(f)})),c=n.define("Name",(function(){this.choice({rdnSequence:this.use(u)})})),h=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),d=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),l=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(a),this.key("issuer").use(c),this.key("validity").use(h),this.key("subject").use(c),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(d).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(l),this.key("signatureAlgorithm").use(a),this.key("signatureValue").bitstr())}));e.exports=p},{2:2}],464:[function(t,e,r){"use strict";var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,a=t(420),s=t(24),f=t(466).Buffer;e.exports=function(t,e){var r,u=t.toString(),c=u.match(n);if(c){var h="aes"+c[1],d=f.from(c[2],"hex"),l=f.from(c[3].replace(/[\r\n]/g,""),"base64"),p=a(e,d.slice(0,8),parseInt(c[1],10)).key,b=[],v=s.createDecipheriv(h,p,d);b.push(v.update(l)),b.push(v.final()),r=f.concat(b)}else{var g=u.match(o);r=f.from(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:u.match(i)[1],data:r}}},{24:24,420:420,466:466}],465:[function(t,e,r){"use strict";var n=t(462),i=t(461),o=t(464),a=t(24),s=t(467),f=t(466).Buffer;function u(t){var e;"object"!=typeof t||f.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=f.from(t));var r,u,c=o(t,e),h=c.tag,d=c.data;switch(h){case"CERTIFICATE":u=n.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(u||(u=n.PublicKey.decode(d,"der")),r=u.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(u.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return u.subjectPrivateKey=u.subjectPublicKey,{type:"ec",data:u};case"1.2.840.10040.4.1":return u.algorithm.params.pub_key=n.DSAparam.decode(u.subjectPublicKey.data,"der"),{type:"dsa",data:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":d=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=i[t.algorithm.decrypt.cipher.algo.join(".")],u=t.algorithm.decrypt.cipher.iv,c=t.subjectPrivateKey,h=parseInt(o.split("-")[1],10)/8,d=s.pbkdf2Sync(e,r,n,h,"sha1"),l=a.createDecipheriv(o,d,u),p=[];return p.push(l.update(c)),p.push(l.final()),f.concat(p)}(d=n.EncryptedPrivateKey.decode(d,"der"),e);case"PRIVATE KEY":switch(r=(u=n.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(u.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:u.algorithm.curve,privateKey:n.ECPrivateKey.decode(u.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return u.algorithm.params.priv_key=n.DSAparam.decode(u.subjectPrivateKey,"der"),{type:"dsa",params:u.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=n.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+h)}}u.signature=n.signature,e.exports=u},{24:24,461:461,462:462,464:464,466:466,467:467}],466:[function(t,e,r){arguments[4][49][0].apply(r,arguments)},{49:49,52:52}],467:[function(t,e,r){r.pbkdf2=t(468),r.pbkdf2Sync=t(471)},{468:468,471:471}],468:[function(t,e,r){(function(r){(function(){var n,i,o=t(500).Buffer,a=t(470),s=t(469),f=t(471),u=t(472),c=r.crypto&&r.crypto.subtle,h={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},d=[];function l(){return i||(i=r.process&&r.process.nextTick?r.process.nextTick:r.queueMicrotask?r.queueMicrotask:r.setImmediate?r.setImmediate:r.setTimeout)}function p(t,e,r,n,i){return c.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return c.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:i}},t,n<<3)})).then((function(t){return o.from(t)}))}e.exports=function(t,e,i,b,v,g){"function"==typeof v&&(g=v,v=void 0);var y=h[(v=v||"sha1").toLowerCase()];if(y&&"function"==typeof r.Promise){if(a(i,b),t=u(t,s,"Password"),e=u(e,s,"Salt"),"function"!=typeof g)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){l()((function(){e(null,t)}))}),(function(t){l()((function(){e(t)}))}))}(function(t){if(r.process&&!r.process.browser)return Promise.resolve(!1);if(!c||!c.importKey||!c.deriveBits)return Promise.resolve(!1);if(void 0!==d[t])return d[t];var e=p(n=n||o.alloc(8),n,10,128,t).then((function(){return!0})).catch((function(){return!1}));return d[t]=e,e}(y).then((function(r){return r?p(t,e,i,b,y):f(t,e,i,b,v)})),g)}else l()((function(){var r;try{r=f(t,e,i,b,v)}catch(t){return g(t)}g(null,r)}))}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{469:469,470:470,471:471,472:472,500:500}],469:[function(t,e,r){(function(t,r){(function(){var n;if(r.process&&r.process.browser)n="utf-8";else if(r.process&&r.process.version){n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else n="utf-8";e.exports=n}).call(this)}).call(this,t(474),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{474:474}],470:[function(t,e,r){var n=Math.pow(2,30)-1;e.exports=function(t,e){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>n||e!=e)throw new TypeError("Bad key length")}},{}],471:[function(t,e,r){var n=t(387),i=t(499),o=t(503),a=t(500).Buffer,s=t(470),f=t(469),u=t(472),c=a.alloc(128),h={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function d(t,e,r){var s=function(t){function e(e){return o(t).update(e).digest()}function r(t){return(new i).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?n:e}(t),f="sha512"===t||"sha384"===t?128:64;e.length>f?e=s(e):e.length<f&&(e=a.concat([e,c],f));for(var u=a.allocUnsafe(f+h[t]),d=a.allocUnsafe(f+h[t]),l=0;l<f;l++)u[l]=54^e[l],d[l]=92^e[l];var p=a.allocUnsafe(f+r+4);u.copy(p,0,0,f),this.ipad1=p,this.ipad2=u,this.opad=d,this.alg=t,this.blocksize=f,this.hash=s,this.size=h[t]}d.prototype.run=function(t,e){return t.copy(e,this.blocksize),this.hash(e).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(t,e,r,n,i){s(r,n);var o=new d(i=i||"sha1",t=u(t,f,"Password"),(e=u(e,f,"Salt")).length),c=a.allocUnsafe(n),l=a.allocUnsafe(e.length+4);e.copy(l,0,0,e.length);for(var p=0,b=h[i],v=Math.ceil(n/b),g=1;g<=v;g++){l.writeUInt32BE(g,e.length);for(var y=o.run(l,o.ipad1),m=y,w=1;w<r;w++){m=o.run(m,o.ipad2);for(var _=0;_<b;_++)y[_]^=m[_]}y.copy(c,p),p+=b}return c}},{387:387,469:469,470:470,472:472,499:499,500:500,503:503}],472:[function(t,e,r){var n=t(500).Buffer;e.exports=function(t,e,r){if(n.isBuffer(t))return t;if("string"==typeof t)return n.from(t,e);if(ArrayBuffer.isView(t))return n.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")}},{500:500}],473:[function(t,e,r){(function(t){(function(){"use strict";void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,r,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,r)}));case 3:return t.nextTick((function(){e.call(null,r,n)}));case 4:return t.nextTick((function(){e.call(null,r,n,i)}));default:for(o=new Array(s-1),a=0;a<o.length;)o[a++]=arguments[a];return t.nextTick((function(){e.apply(null,o)}))}}}:e.exports=t}).call(this)}).call(this,t(474))},{474:474}],474:[function(t,e,r){var n,i,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function f(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var u,c=[],h=!1,d=-1;function l(){h&&u&&(h=!1,u.length?c=u.concat(c):d=-1,c.length&&p())}function p(){if(!h){var t=f(l);h=!0;for(var e=c.length;e;){for(u=c,c=[];++d<e;)u&&u[d].run();d=-1,e=c.length}u=null,h=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function b(t,e){this.fun=t,this.array=e}function v(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new b(t,e)),1!==c.length||h||f(p)},b.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=v,o.addListener=v,o.once=v,o.off=v,o.removeListener=v,o.removeAllListeners=v,o.emit=v,o.prependListener=v,o.prependOnceListener=v,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],475:[function(t,e,r){(function(t){(function(){!function(r){var n=setTimeout;function i(){}function o(t){if(!(this instanceof o))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],h(t,this)}function a(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,o._immediateFn((function(){var r=1===t._state?e.onFulfilled:e.onRejected;if(null!==r){var n;try{n=r(t._value)}catch(t){return void f(e.promise,t)}s(e.promise,n)}else(1===t._state?s:f)(e.promise,t._value)}))):t._deferreds.push(e)}function s(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var r=e.then;if(e instanceof o)return t._state=3,t._value=e,void u(t);if("function"==typeof r)return void h((n=r,i=e,function(){n.apply(i,arguments)}),t)}t._state=1,t._value=e,u(t)}catch(e){f(t,e)}var n,i}function f(t,e){t._state=2,t._value=e,u(t)}function u(t){2===t._state&&0===t._deferreds.length&&o._immediateFn((function(){t._handled||o._unhandledRejectionFn(t._value)}));for(var e=0,r=t._deferreds.length;e<r;e++)a(t,t._deferreds[e]);t._deferreds=null}function c(t,e,r){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=r}function h(t,e){var r=!1;try{t((function(t){r||(r=!0,s(e,t))}),(function(t){r||(r=!0,f(e,t))}))}catch(t){if(r)return;r=!0,f(e,t)}}o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){var r=new this.constructor(i);return a(this,new c(t,e,r)),r},o.all=function(t){return new o((function(e,r){if(!t||void 0===t.length)throw new TypeError("Promise.all accepts an array");var n=Array.prototype.slice.call(t);if(0===n.length)return e([]);var i=n.length;function o(t,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,(function(e){o(t,e)}),r)}n[t]=a,0==--i&&e(n)}catch(t){r(t)}}for(var a=0;a<n.length;a++)o(a,n[a])}))},o.resolve=function(t){return t&&"object"==typeof t&&t.constructor===o?t:new o((function(e){e(t)}))},o.reject=function(t){return new o((function(e,r){r(t)}))},o.race=function(t){return new o((function(e,r){for(var n=0,i=t.length;n<i;n++)t[n].then(e,r)}))},o._immediateFn="function"==typeof t&&function(e){t(e)}||function(t){n(t,0)},o._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console},o._setImmediateFn=function(t){o._immediateFn=t},o._setUnhandledRejectionFn=function(t){o._unhandledRejectionFn=t},void 0!==e&&e.exports?e.exports=o:r.Promise||(r.Promise=o)}(this)}).call(this)}).call(this,t(512).setImmediate)},{512:512}],476:[function(t,e,r){r.publicEncrypt=t(480),r.privateDecrypt=t(479),r.privateEncrypt=function(t,e){return r.publicEncrypt(t,e,!0)},r.publicDecrypt=function(t,e){return r.privateDecrypt(t,e,!0)}},{479:479,480:480}],477:[function(t,e,r){var n=t(386),i=t(500).Buffer;function o(t){var e=i.allocUnsafe(4);return e.writeUInt32BE(t,0),e}e.exports=function(t,e){for(var r,a=i.alloc(0),s=0;a.length<e;)r=o(s++),a=i.concat([a,n("sha1").update(t).update(r).digest()]);return a.slice(0,e)}},{386:386,500:500}],478:[function(t,e,r){arguments[4][16][0].apply(r,arguments)},{16:16,21:21}],479:[function(t,e,r){var n=t(465),i=t(477),o=t(482),a=t(478),s=t(42),f=t(386),u=t(481),c=t(500).Buffer;e.exports=function(t,e,r){var h;h=t.padding?t.padding:r?1:4;var d,l=n(t),p=l.modulus.byteLength();if(e.length>p||new a(e).cmp(l.modulus)>=0)throw new Error("decryption error");d=r?u(new a(e),l):s(e,l);var b=c.alloc(p-d.length);if(d=c.concat([b,d],p),4===h)return function(t,e){var r=t.modulus.byteLength(),n=f("sha1").update(c.alloc(0)).digest(),a=n.length;if(0!==e[0])throw new Error("decryption error");var s=e.slice(1,a+1),u=e.slice(a+1),h=o(s,i(u,a)),d=o(u,i(h,r-a-1));if(function(t,e){t=c.from(t),e=c.from(e);var r=0,n=t.length;t.length!==e.length&&(r++,n=Math.min(t.length,e.length));var i=-1;for(;++i<n;)r+=t[i]^e[i];return r}(n,d.slice(0,a)))throw new Error("decryption error");var l=a;for(;0===d[l];)l++;if(1!==d[l++])throw new Error("decryption error");return d.slice(l)}(l,d);if(1===h)return function(t,e,r){var n=e.slice(0,2),i=2,o=0;for(;0!==e[i++];)if(i>=e.length){o++;break}var a=e.slice(2,i-1);("0002"!==n.toString("hex")&&!r||"0001"!==n.toString("hex")&&r)&&o++;a.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(i)}(0,d,r);if(3===h)return d;throw new Error("unknown padding")}},{386:386,42:42,465:465,477:477,478:478,481:481,482:482,500:500}],480:[function(t,e,r){var n=t(465),i=t(483),o=t(386),a=t(477),s=t(482),f=t(478),u=t(481),c=t(42),h=t(500).Buffer;e.exports=function(t,e,r){var d;d=t.padding?t.padding:r?1:4;var l,p=n(t);if(4===d)l=function(t,e){var r=t.modulus.byteLength(),n=e.length,u=o("sha1").update(h.alloc(0)).digest(),c=u.length,d=2*c;if(n>r-d-2)throw new Error("message too long");var l=h.alloc(r-n-d-2),p=r-c-1,b=i(c),v=s(h.concat([u,l,h.alloc(1,1),e],p),a(b,p)),g=s(b,a(v,c));return new f(h.concat([h.alloc(1),g,v],r))}(p,e);else if(1===d)l=function(t,e,r){var n,o=e.length,a=t.modulus.byteLength();if(o>a-11)throw new Error("message too long");n=r?h.alloc(a-o-3,255):function(t){var e,r=h.allocUnsafe(t),n=0,o=i(2*t),a=0;for(;n<t;)a===o.length&&(o=i(2*t),a=0),(e=o[a++])&&(r[n++]=e);return r}(a-o-3);return new f(h.concat([h.from([0,r?1:2]),n,h.alloc(1),e],a))}(p,e,r);else{if(3!==d)throw new Error("unknown padding");if((l=new f(e)).cmp(p.modulus)>=0)throw new Error("data too long for modulus")}return r?c(l,p):u(l,p)}},{386:386,42:42,465:465,477:477,478:478,481:481,482:482,483:483,500:500}],481:[function(t,e,r){var n=t(478),i=t(500).Buffer;e.exports=function(t,e){return i.from(t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed().toArray())}},{478:478,500:500}],482:[function(t,e,r){e.exports=function(t,e){for(var r=t.length,n=-1;++n<r;)t[n]^=e[n];return t}},{}],483:[function(t,e,r){(function(r,n){(function(){"use strict";var i=65536,o=4294967295;var a=t(500).Buffer,s=n.crypto||n.msCrypto;s&&s.getRandomValues?e.exports=function(t,e){if(t>o)throw new RangeError("requested too many random bytes");var n=a.allocUnsafe(t);if(t>0)if(t>i)for(var f=0;f<t;f+=i)s.getRandomValues(n.slice(f,f+i));else s.getRandomValues(n);if("function"==typeof e)return r.nextTick((function(){e(null,n)}));return n}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this)}).call(this,t(474),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{474:474,500:500}],484:[function(t,e,r){(function(e,n){(function(){"use strict";function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=t(500),a=t(483),s=o.Buffer,f=o.kMaxLength,u=n.crypto||n.msCrypto,c=Math.pow(2,32)-1;function h(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>c||t<0)throw new TypeError("offset must be a uint32");if(t>f||t>e)throw new RangeError("offset out of range")}function d(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>c||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>f)throw new RangeError("buffer too small")}function l(t,r,n,i){if(e.browser){var o=t.buffer,s=new Uint8Array(o,r,n);return u.getRandomValues(s),i?void e.nextTick((function(){i(null,t)})):t}if(!i)return a(n).copy(t,r),t;a(n,(function(e,n){if(e)return i(e);n.copy(t,r),i(null,t)}))}u&&u.getRandomValues||!e.browser?(r.randomFill=function(t,e,r,i){if(!(s.isBuffer(t)||t instanceof n.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return h(e,t.length),d(r,e,t.length),l(t,e,r,i)},r.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(s.isBuffer(t)||t instanceof n.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');h(e,t.length),void 0===r&&(r=t.length-e);return d(r,e,t.length),l(t,e,r)}):(r.randomFill=i,r.randomFillSync=i)}).call(this)}).call(this,t(474),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{474:474,483:483,500:500}],485:[function(t,e,r){e.exports=t(486)},{486:486}],486:[function(t,e,r){"use strict";var n=t(473),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};e.exports=h;var o=Object.create(t(383));o.inherits=t(453);var a=t(488),s=t(490);o.inherits(h,a);for(var f=i(s.prototype),u=0;u<f.length;u++){var c=f[u];h.prototype[c]||(h.prototype[c]=s.prototype[c])}function h(t){if(!(this instanceof h))return new h(t);a.call(this,t),s.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||n.nextTick(l,this)}function l(t){t.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),h.prototype._destroy=function(t,e){this.push(null),this.end(),n.nextTick(e,t)}},{383:383,453:453,473:473,488:488,490:490}],487:[function(t,e,r){"use strict";e.exports=o;var n=t(489),i=Object.create(t(383));function o(t){if(!(this instanceof o))return new o(t);n.call(this,t)}i.inherits=t(453),i.inherits(o,n),o.prototype._transform=function(t,e,r){r(null,t)}},{383:383,453:453,489:489}],488:[function(t,e,r){(function(r,n){(function(){"use strict";var i=t(473);e.exports=m;var o,a=t(454);m.ReadableState=y;t(419).EventEmitter;var s=function(t,e){return t.listeners(e).length},f=t(493),u=t(500).Buffer,c=(void 0!==n?n:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var h=Object.create(t(383));h.inherits=t(453);var d=t(21),l=void 0;l=d&&d.debuglog?d.debuglog("stream"):function(){};var p,b=t(491),v=t(492);h.inherits(m,f);var g=["error","close","destroy","pause","resume"];function y(e,r){e=e||{};var n=r instanceof(o=o||t(486));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,a=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new b,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=t(511).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function m(e){if(o=o||t(486),!(this instanceof m))return new m(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),f.call(this)}function w(t,e,r,n,i){var o,a=t._readableState;null===e?(a.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,E(t)}(t,a)):(i||(o=function(t,e){var r;n=e,u.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk"));var n;return r}(a,e)),o?t.emit("error",o):a.objectMode||e&&e.length>0?("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===u.prototype||(e=function(t){return u.from(t)}(e)),n?a.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,a,e,!0):a.ended?t.emit("error",new Error("stream.push() after EOF")):(a.reading=!1,a.decoder&&!r?(e=a.decoder.write(e),a.objectMode||0!==e.length?_(t,a,e,!1):x(t,a)):_(t,a,e,!1))):n||(a.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(a)}function _(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&E(t)),x(t,e)}Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),m.prototype.destroy=v.destroy,m.prototype._undestroy=v.undestroy,m.prototype._destroy=function(t,e){this.push(null),e(t)},m.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=u.from(t,e),e=""),r=!0),w(this,t,e,!1,r)},m.prototype.unshift=function(t){return w(this,t,null,!0,!1)},m.prototype.isPaused=function(){return!1===this._readableState.flowing},m.prototype.setEncoding=function(e){return p||(p=t(511).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};var S=8388608;function M(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=S?t=S:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function E(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(k,t):k(t))}function k(t){l("emit readable"),t.emit("readable"),T(t)}function x(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(A,t,e))}function A(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(l("maybeReadMore read 0"),t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}function R(t){l("readable nexttick read 0"),t.read(0)}function I(t,e){e.reading||(l("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),T(t),e.flowing&&!e.reading&&t.read(0)}function T(t){var e=t._readableState;for(l("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=function(t,e,r){var n;t<e.head.data.length?(n=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):n=t===e.head.data.length?e.shift():r?function(t,e){var r=e.head,n=1,i=r.data;t-=i.length;for(;r=r.next;){var o=r.data,a=t>o.length?o.length:t;if(a===o.length?i+=o:i+=o.slice(0,t),0===(t-=a)){a===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(a));break}++n}return e.length-=n,i}(t,e):function(t,e){var r=u.allocUnsafe(t),n=e.head,i=1;n.data.copy(r),t-=n.data.length;for(;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,a),0===(t-=a)){a===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(a));break}++i}return e.length-=i,r}(t,e);return n}(t,e.buffer,e.decoder),r);var r}function P(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(O,e,t))}function O(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function C(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}m.prototype.read=function(t){l("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?P(this):E(this),null;if(0===(t=M(t,e))&&e.ended)return 0===e.length&&P(this),null;var n,i=e.needReadable;return l("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&l("length less than watermark",i=!0),e.ended||e.reading?l("reading or ended",i=!1):i&&(l("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=M(r,e))),null===(n=t>0?B(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&P(this)),null!==n&&this.emit("data",n),n},m.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},m.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,l("pipe count=%d opts=%j",o.pipesCount,e);var f=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?c:m;function u(e,r){l("onunpipe"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,l("cleanup"),t.removeListener("close",g),t.removeListener("finish",y),t.removeListener("drain",h),t.removeListener("error",v),t.removeListener("unpipe",u),n.removeListener("end",c),n.removeListener("end",m),n.removeListener("data",b),d=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function c(){l("onend"),t.end()}o.endEmitted?i.nextTick(f):n.once("end",f),t.on("unpipe",u);var h=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,T(t))}}(n);t.on("drain",h);var d=!1;var p=!1;function b(e){l("ondata"),p=!1,!1!==t.write(e)||p||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==C(o.pipes,t))&&!d&&(l("false write response, pause",o.awaitDrain),o.awaitDrain++,p=!0),n.pause())}function v(e){l("onerror",e),m(),t.removeListener("error",v),0===s(t,"error")&&t.emit("error",e)}function g(){t.removeListener("finish",y),m()}function y(){l("onfinish"),t.removeListener("close",g),m()}function m(){l("unpipe"),n.unpipe(t)}return n.on("data",b),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?a(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",v),t.once("close",g),t.once("finish",y),t.emit("pipe",n),o.flowing||(l("pipe resume"),n.resume()),t},m.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var a=C(e.pipes,t);return-1===a||(e.pipes.splice(a,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},m.prototype.on=function(t,e){var r=f.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&E(this):i.nextTick(R,this))}return r},m.prototype.addListener=m.prototype.on,m.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!0,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(I,t,e))}(this,t)),this},m.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this},m.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(l("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<g.length;o++)t.on(g[o],this.emit.bind(this,g[o]));return this._read=function(e){l("wrapped _read",e),n&&(n=!1,t.resume())},this},Object.defineProperty(m.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),m._fromList=B}).call(this)}).call(this,t(474),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{21:21,383:383,419:419,453:453,454:454,473:473,474:474,486:486,491:491,492:492,493:493,500:500,511:511}],489:[function(t,e,r){"use strict";e.exports=a;var n=t(486),i=Object.create(t(383));function o(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function a(t){if(!(this instanceof a))return new a(t);n.call(this,t),this._transformState={afterTransform:o.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",s)}function s(){var t=this;"function"==typeof this._flush?this._flush((function(e,r){f(t,e,r)})):f(this,null,null)}function f(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=t(453),i.inherits(a,n),a.prototype.push=function(t,e){return this._transformState.needTransform=!1,n.prototype.push.call(this,t,e)},a.prototype._transform=function(t,e,r){throw new Error("_transform() is not implemented")},a.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},a.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},a.prototype._destroy=function(t,e){var r=this;n.prototype._destroy.call(this,t,(function(t){e(t),r.emit("close")}))}},{383:383,453:453,486:486}],490:[function(t,e,r){(function(r,n,i){(function(){"use strict";var o=t(473);function a(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}e.exports=y;var s,f=!r.browser&&["v0.10","v0.9."].indexOf(r.version.slice(0,5))>-1?i:o.nextTick;y.WritableState=g;var u=Object.create(t(383));u.inherits=t(453);var c={deprecate:t(513)},h=t(493),d=t(500).Buffer,l=(void 0!==n?n:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var p,b=t(492);function v(){}function g(e,r){s=s||t(486),e=e||{};var n=r instanceof s;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(o.nextTick(i,n),o.nextTick(E,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(i(n),t._writableState.errorEmitted=!0,t.emit("error",n),E(t,e))}(t,r,n,e,i);else{var a=S(r);a||r.corked||r.bufferProcessing||!r.bufferedRequest||_(t,r),n?f(w,t,r,a,i):w(t,r,a,i)}}(r,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function y(e){if(s=s||t(486),!(p.call(y,this)||this instanceof s))return new y(e);this._writableState=new g(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function m(t,e,r,n,i,o,a){e.writelen=n,e.writecb=a,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function w(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),E(t,e)}function _(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,f=!0;r;)i[s]=r,r.isBuf||(f=!1),r=r.next,s+=1;i.allBuffers=f,m(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new a(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,c=r.encoding,h=r.callback;if(m(t,e,!1,e.objectMode?1:u.length,u,c,h),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function S(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function M(t,e){t._final((function(r){e.pendingcb--,r&&t.emit("error",r),e.prefinished=!0,t.emit("prefinish"),E(t,e)}))}function E(t,e){var r=S(e);return r&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(M,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}u.inherits(y,h),g.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(g.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(t){return!!p.call(this,t)||this===y&&(t&&t._writableState instanceof g)}})):p=function(t){return t instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(t,e,r){var n,i=this._writableState,a=!1,s=!i.objectMode&&(n=t,d.isBuffer(n)||n instanceof l);return s&&!d.isBuffer(t)&&(t=function(t){return d.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof r&&(r=v),i.ended?function(t,e){var r=new Error("write after end");t.emit("error",r),o.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var i=!0,a=!1;return null===r?a=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(t.emit("error",a),o.nextTick(n,a),i=!1),i}(this,i,t,r))&&(i.pendingcb++,a=function(t,e,r,n,i,o){if(!r){var a=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=d.from(e,r));return e}(e,n,i);n!==a&&(r=!0,i="buffer",n=a)}var s=e.objectMode?1:n.length;e.length+=s;var f=e.length<e.highWaterMark;f||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else m(t,e,!1,s,n,i,o);return f}(this,i,s,t,e,r)),a},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||_(this,t))},y.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,E(t,e),r&&(e.finished?o.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,n,r)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),y.prototype.destroy=b.destroy,y.prototype._undestroy=b.undestroy,y.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this)}).call(this,t(474),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t(512).setImmediate)},{383:383,453:453,473:473,474:474,486:486,492:492,493:493,500:500,512:512,513:513}],491:[function(t,e,r){"use strict";var n=t(500).Buffer,i=t(21);e.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return n.alloc(0);for(var e,r,i,o=n.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=o,i=s,e.copy(r,i),s+=a.data.length,a=a.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},{21:21,500:500}],492:[function(t,e,r){"use strict";var n=t(473);function i(t,e){t.emit("error",e)}e.exports={destroy:function(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(i,this,t)):n.nextTick(i,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,n.nextTick(i,r,t)):n.nextTick(i,r,t):e&&e(t)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{473:473}],493:[function(t,e,r){arguments[4][435][0].apply(r,arguments)},{419:419,435:435}],494:[function(t,e,r){e.exports=t(495).PassThrough},{495:495}],495:[function(t,e,r){(r=e.exports=t(488)).Stream=r,r.Readable=r,r.Writable=t(490),r.Duplex=t(486),r.Transform=t(489),r.PassThrough=t(487)},{486:486,487:487,488:488,489:489,490:490}],496:[function(t,e,r){e.exports=t(495).Transform},{495:495}],497:[function(t,e,r){e.exports=t(490)},{490:490}],498:[function(t,e,r){(function(t){(function(){!function(t){"use strict";var r,n=Object.prototype,i=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",f=o.toStringTag||"@@toStringTag",u="object"==typeof e,c=t.regeneratorRuntime;if(c)u&&(e.exports=c);else{(c=t.regeneratorRuntime=u?e.exports:{}).wrap=w;var h="suspendedStart",d="suspendedYield",l="executing",p="completed",b={},v={};v[a]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(B([])));y&&y!==n&&i.call(y,a)&&(v=y);var m=E.prototype=S.prototype=Object.create(v);M.prototype=m.constructor=E,E.constructor=M,E[f]=M.displayName="GeneratorFunction",c.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===M||"GeneratorFunction"===(e.displayName||e.name))},c.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,E):(t.__proto__=E,f in t||(t[f]="GeneratorFunction")),t.prototype=Object.create(m),t},c.awrap=function(t){return{__await:t}},k(x.prototype),x.prototype[s]=function(){return this},c.AsyncIterator=x,c.async=function(t,e,r,n){var i=new x(w(t,e,r,n));return c.isGeneratorFunction(e)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},k(m),m[f]="Generator",m[a]=function(){return this},m.toString=function(){return"[object Generator]"},c.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},c.values=B,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&i.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=r)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(n,i){return s.type="throw",s.arg=t,e.next=n,i&&(e.method="next",e.arg=r),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var f=i.call(a,"catchLoc"),u=i.call(a,"finallyLoc");if(f&&u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(f){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,b):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;I(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:B(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),b}}}function w(t,e,r,n){var i=e&&e.prototype instanceof S?e:S,o=Object.create(i.prototype),a=new T(n||[]);return o._invoke=function(t,e,r){var n=h;return function(i,o){if(n===l)throw new Error("Generator is already running");if(n===p){if("throw"===i)throw o;return P()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=A(a,r);if(s){if(s===b)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===h)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=l;var f=_(t,e,r);if("normal"===f.type){if(n=r.done?p:d,f.arg===b)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(n=p,r.method="throw",r.arg=f.arg)}}}(t,r,a),o}function _(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}function S(){}function M(){}function E(){}function k(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function x(e){function r(t,n,o,a){var s=_(e[t],e,n);if("throw"!==s.type){var f=s.arg,u=f.value;return u&&"object"==typeof u&&i.call(u,"__await")?Promise.resolve(u.__await).then((function(t){r("next",t,o,a)}),(function(t){r("throw",t,o,a)})):Promise.resolve(u).then((function(t){f.value=t,o(f)}),a)}a(s.arg)}var n;"object"==typeof t.process&&t.process.domain&&(r=t.process.domain.bind(r)),this._invoke=function(t,e){function i(){return new Promise((function(n,i){r(t,e,n,i)}))}return n=n?n.then(i,i):i()}}function A(t,e){var n=t.iterator[e.method];if(n===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=r,A(t,e),"throw"===e.method))return b;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return b}var i=_(n,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,b;var o=i.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,b):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,b)}function R(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(R,this),this.reset(!0)}function B(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(i.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=r,e.done=!0,e};return o.next=o}}return{next:P}}function P(){return{value:r,done:!0}}}("object"==typeof t?t:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],499:[function(t,e,r){"use strict";var n=t(52).Buffer,i=t(453),o=t(421),a=new Array(16),s=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],f=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],h=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0];function l(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(t,e){return t<<e|t>>>32-e}function b(t,e,r,n,i,o,a,s){return p(t+(e^r^n)+o+a|0,s)+i|0}function v(t,e,r,n,i,o,a,s){return p(t+(e&r|~e&n)+o+a|0,s)+i|0}function g(t,e,r,n,i,o,a,s){return p(t+((e|~r)^n)+o+a|0,s)+i|0}function y(t,e,r,n,i,o,a,s){return p(t+(e&n|r&~n)+o+a|0,s)+i|0}function m(t,e,r,n,i,o,a,s){return p(t+(e^(r|~n))+o+a|0,s)+i|0}i(l,o),l.prototype._update=function(){for(var t=a,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,l=0|this._e,w=0|this._a,_=0|this._b,S=0|this._c,M=0|this._d,E=0|this._e,k=0;k<80;k+=1){var x,A;k<16?(x=b(r,n,i,o,l,t[s[k]],h[0],u[k]),A=m(w,_,S,M,E,t[f[k]],d[0],c[k])):k<32?(x=v(r,n,i,o,l,t[s[k]],h[1],u[k]),A=y(w,_,S,M,E,t[f[k]],d[1],c[k])):k<48?(x=g(r,n,i,o,l,t[s[k]],h[2],u[k]),A=g(w,_,S,M,E,t[f[k]],d[2],c[k])):k<64?(x=y(r,n,i,o,l,t[s[k]],h[3],u[k]),A=v(w,_,S,M,E,t[f[k]],d[3],c[k])):(x=m(r,n,i,o,l,t[s[k]],h[4],u[k]),A=b(w,_,S,M,E,t[f[k]],d[4],c[k])),r=l,l=o,o=p(i,10),i=n,n=x,w=E,E=M,M=p(S,10),S=_,_=A}var R=this._b+i+M|0;this._b=this._c+o+E|0,this._c=this._d+l+w|0,this._d=this._e+r+_|0,this._e=this._a+n+S|0,this._a=R},l.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=n.alloc?n.alloc(20):new n(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},e.exports=l},{421:421,453:453,52:52}],500:[function(t,e,r){var n=t(52),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function a(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(o(n,r),r.Buffer=a),o(i,a),a.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},a.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},{52:52}],501:[function(t,e,r){"use strict";var n={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};n.localCName=n.generateIdentifier(),n.splitLines=function(t){return t.trim().split("\n").map((function(t){return t.trim()}))},n.splitSections=function(t){return t.split("\nm=").map((function(t,e){return(e>0?"m="+t:t).trim()+"\r\n"}))},n.getDescription=function(t){var e=n.splitSections(t);return e&&e[0]},n.getMediaSections=function(t){var e=n.splitSections(t);return e.shift(),e},n.matchPrefix=function(t,e){return n.splitLines(t).filter((function(t){return 0===t.indexOf(e)}))},n.parseCandidate=function(t){for(var e,r={foundation:(e=0===t.indexOf("a=candidate:")?t.substring(12).split(" "):t.substring(10).split(" "))[0],component:parseInt(e[1],10),protocol:e[2].toLowerCase(),priority:parseInt(e[3],10),ip:e[4],address:e[4],port:parseInt(e[5],10),type:e[7]},n=8;n<e.length;n+=2)switch(e[n]){case"raddr":r.relatedAddress=e[n+1];break;case"rport":r.relatedPort=parseInt(e[n+1],10);break;case"tcptype":r.tcpType=e[n+1];break;case"ufrag":r.ufrag=e[n+1],r.usernameFragment=e[n+1];break;default:r[e[n]]=e[n+1]}return r},n.writeCandidate=function(t){var e=[];e.push(t.foundation),e.push(t.component),e.push(t.protocol.toUpperCase()),e.push(t.priority),e.push(t.address||t.ip),e.push(t.port);var r=t.type;return e.push("typ"),e.push(r),"host"!==r&&t.relatedAddress&&t.relatedPort&&(e.push("raddr"),e.push(t.relatedAddress),e.push("rport"),e.push(t.relatedPort)),t.tcpType&&"tcp"===t.protocol.toLowerCase()&&(e.push("tcptype"),e.push(t.tcpType)),(t.usernameFragment||t.ufrag)&&(e.push("ufrag"),e.push(t.usernameFragment||t.ufrag)),"candidate:"+e.join(" ")},n.parseIceOptions=function(t){return t.substr(14).split(" ")},n.parseRtpMap=function(t){var e=t.substr(9).split(" "),r={payloadType:parseInt(e.shift(),10)};return e=e[0].split("/"),r.name=e[0],r.clockRate=parseInt(e[1],10),r.channels=3===e.length?parseInt(e[2],10):1,r.numChannels=r.channels,r},n.writeRtpMap=function(t){var e=t.payloadType;void 0!==t.preferredPayloadType&&(e=t.preferredPayloadType);var r=t.channels||t.numChannels||1;return"a=rtpmap:"+e+" "+t.name+"/"+t.clockRate+(1!==r?"/"+r:"")+"\r\n"},n.parseExtmap=function(t){var e=t.substr(9).split(" ");return{id:parseInt(e[0],10),direction:e[0].indexOf("/")>0?e[0].split("/")[1]:"sendrecv",uri:e[1]}},n.writeExtmap=function(t){return"a=extmap:"+(t.id||t.preferredId)+(t.direction&&"sendrecv"!==t.direction?"/"+t.direction:"")+" "+t.uri+"\r\n"},n.parseFmtp=function(t){for(var e,r={},n=t.substr(t.indexOf(" ")+1).split(";"),i=0;i<n.length;i++)r[(e=n[i].trim().split("="))[0].trim()]=e[1];return r},n.writeFmtp=function(t){var e="",r=t.payloadType;if(void 0!==t.preferredPayloadType&&(r=t.preferredPayloadType),t.parameters&&Object.keys(t.parameters).length){var n=[];Object.keys(t.parameters).forEach((function(e){t.parameters[e]?n.push(e+"="+t.parameters[e]):n.push(e)})),e+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return e},n.parseRtcpFb=function(t){var e=t.substr(t.indexOf(" ")+1).split(" ");return{type:e.shift(),parameter:e.join(" ")}},n.writeRtcpFb=function(t){var e="",r=t.payloadType;return void 0!==t.preferredPayloadType&&(r=t.preferredPayloadType),t.rtcpFeedback&&t.rtcpFeedback.length&&t.rtcpFeedback.forEach((function(t){e+="a=rtcp-fb:"+r+" "+t.type+(t.parameter&&t.parameter.length?" "+t.parameter:"")+"\r\n"})),e},n.parseSsrcMedia=function(t){var e=t.indexOf(" "),r={ssrc:parseInt(t.substr(7,e-7),10)},n=t.indexOf(":",e);return n>-1?(r.attribute=t.substr(e+1,n-e-1),r.value=t.substr(n+1)):r.attribute=t.substr(e+1),r},n.parseSsrcGroup=function(t){var e=t.substr(13).split(" ");return{semantics:e.shift(),ssrcs:e.map((function(t){return parseInt(t,10)}))}},n.getMid=function(t){var e=n.matchPrefix(t,"a=mid:")[0];if(e)return e.substr(6)},n.parseFingerprint=function(t){var e=t.substr(14).split(" ");return{algorithm:e[0].toLowerCase(),value:e[1]}},n.getDtlsParameters=function(t,e){return{role:"auto",fingerprints:n.matchPrefix(t+e,"a=fingerprint:").map(n.parseFingerprint)}},n.writeDtlsParameters=function(t,e){var r="a=setup:"+e+"\r\n";return t.fingerprints.forEach((function(t){r+="a=fingerprint:"+t.algorithm+" "+t.value+"\r\n"})),r},n.parseCryptoLine=function(t){var e=t.substr(9).split(" ");return{tag:parseInt(e[0],10),cryptoSuite:e[1],keyParams:e[2],sessionParams:e.slice(3)}},n.writeCryptoLine=function(t){return"a=crypto:"+t.tag+" "+t.cryptoSuite+" "+("object"==typeof t.keyParams?n.writeCryptoKeyParams(t.keyParams):t.keyParams)+(t.sessionParams?" "+t.sessionParams.join(" "):"")+"\r\n"},n.parseCryptoKeyParams=function(t){if(0!==t.indexOf("inline:"))return null;var e=t.substr(7).split("|");return{keyMethod:"inline",keySalt:e[0],lifeTime:e[1],mkiValue:e[2]?e[2].split(":")[0]:void 0,mkiLength:e[2]?e[2].split(":")[1]:void 0}},n.writeCryptoKeyParams=function(t){return t.keyMethod+":"+t.keySalt+(t.lifeTime?"|"+t.lifeTime:"")+(t.mkiValue&&t.mkiLength?"|"+t.mkiValue+":"+t.mkiLength:"")},n.getCryptoParameters=function(t,e){return n.matchPrefix(t+e,"a=crypto:").map(n.parseCryptoLine)},n.getIceParameters=function(t,e){var r=n.matchPrefix(t+e,"a=ice-ufrag:")[0],i=n.matchPrefix(t+e,"a=ice-pwd:")[0];return r&&i?{usernameFragment:r.substr(12),password:i.substr(10)}:null},n.writeIceParameters=function(t){return"a=ice-ufrag:"+t.usernameFragment+"\r\na=ice-pwd:"+t.password+"\r\n"},n.parseRtpParameters=function(t){for(var e={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=n.splitLines(t)[0].split(" "),i=3;i<r.length;i++){var o=r[i],a=n.matchPrefix(t,"a=rtpmap:"+o+" ")[0];if(a){var s=n.parseRtpMap(a),f=n.matchPrefix(t,"a=fmtp:"+o+" ");switch(s.parameters=f.length?n.parseFmtp(f[0]):{},s.rtcpFeedback=n.matchPrefix(t,"a=rtcp-fb:"+o+" ").map(n.parseRtcpFb),e.codecs.push(s),s.name.toUpperCase()){case"RED":case"ULPFEC":e.fecMechanisms.push(s.name.toUpperCase())}}}return n.matchPrefix(t,"a=extmap:").forEach((function(t){e.headerExtensions.push(n.parseExtmap(t))})),e},n.writeRtpDescription=function(t,e){var r="";r+="m="+t+" ",r+=e.codecs.length>0?"9":"0",r+=" UDP/TLS/RTP/SAVPF ",r+=e.codecs.map((function(t){return void 0!==t.preferredPayloadType?t.preferredPayloadType:t.payloadType})).join(" ")+"\r\n",r+="c=IN IP4 0.0.0.0\r\n",r+="a=rtcp:9 IN IP4 0.0.0.0\r\n",e.codecs.forEach((function(t){r+=n.writeRtpMap(t),r+=n.writeFmtp(t),r+=n.writeRtcpFb(t)}));var i=0;return e.codecs.forEach((function(t){t.maxptime>i&&(i=t.maxptime)})),i>0&&(r+="a=maxptime:"+i+"\r\n"),r+="a=rtcp-mux\r\n",e.headerExtensions&&e.headerExtensions.forEach((function(t){r+=n.writeExtmap(t)})),r},n.parseRtpEncodingParameters=function(t){var e,r=[],i=n.parseRtpParameters(t),o=-1!==i.fecMechanisms.indexOf("RED"),a=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=n.matchPrefix(t,"a=ssrc:").map((function(t){return n.parseSsrcMedia(t)})).filter((function(t){return"cname"===t.attribute})),f=s.length>0&&s[0].ssrc,u=n.matchPrefix(t,"a=ssrc-group:FID").map((function(t){return t.substr(17).split(" ").map((function(t){return parseInt(t,10)}))}));u.length>0&&u[0].length>1&&u[0][0]===f&&(e=u[0][1]),i.codecs.forEach((function(t){if("RTX"===t.name.toUpperCase()&&t.parameters.apt){var n={ssrc:f,codecPayloadType:parseInt(t.parameters.apt,10)};f&&e&&(n.rtx={ssrc:e}),r.push(n),o&&((n=JSON.parse(JSON.stringify(n))).fec={ssrc:f,mechanism:a?"red+ulpfec":"red"},r.push(n))}})),0===r.length&&f&&r.push({ssrc:f});var c=n.matchPrefix(t,"b=");return c.length&&(c=0===c[0].indexOf("b=TIAS:")?parseInt(c[0].substr(7),10):0===c[0].indexOf("b=AS:")?1e3*parseInt(c[0].substr(5),10)*.95-16e3:void 0,r.forEach((function(t){t.maxBitrate=c}))),r},n.parseRtcpParameters=function(t){var e={},r=n.matchPrefix(t,"a=ssrc:").map((function(t){return n.parseSsrcMedia(t)})).filter((function(t){return"cname"===t.attribute}))[0];r&&(e.cname=r.value,e.ssrc=r.ssrc);var i=n.matchPrefix(t,"a=rtcp-rsize");e.reducedSize=i.length>0,e.compound=0===i.length;var o=n.matchPrefix(t,"a=rtcp-mux");return e.mux=o.length>0,e},n.parseMsid=function(t){var e,r=n.matchPrefix(t,"a=msid:");if(1===r.length)return{stream:(e=r[0].substr(7).split(" "))[0],track:e[1]};var i=n.matchPrefix(t,"a=ssrc:").map((function(t){return n.parseSsrcMedia(t)})).filter((function(t){return"msid"===t.attribute}));return i.length>0?{stream:(e=i[0].value.split(" "))[0],track:e[1]}:void 0},n.parseSctpDescription=function(t){var e,r=n.parseMLine(t),i=n.matchPrefix(t,"a=max-message-size:");i.length>0&&(e=parseInt(i[0].substr(19),10)),isNaN(e)&&(e=65536);var o=n.matchPrefix(t,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:r.fmt,maxMessageSize:e};if(n.matchPrefix(t,"a=sctpmap:").length>0){var a=n.matchPrefix(t,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:e}}},n.writeSctpDescription=function(t,e){var r=[];return r="DTLS/SCTP"!==t.protocol?["m="+t.kind+" 9 "+t.protocol+" "+e.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+e.port+"\r\n"]:["m="+t.kind+" 9 "+t.protocol+" "+e.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+e.port+" "+e.protocol+" 65535\r\n"],void 0!==e.maxMessageSize&&r.push("a=max-message-size:"+e.maxMessageSize+"\r\n"),r.join("")},n.generateSessionId=function(){return Math.random().toString().substr(2,21)},n.writeSessionBoilerplate=function(t,e,r){var i=void 0!==e?e:2;return"v=0\r\no="+(r||"thisisadapterortc")+" "+(t||n.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},n.writeMediaSection=function(t,e,r,i){var o=n.writeRtpDescription(t.kind,e);if(o+=n.writeIceParameters(t.iceGatherer.getLocalParameters()),o+=n.writeDtlsParameters(t.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":"active"),o+="a=mid:"+t.mid+"\r\n",t.direction?o+="a="+t.direction+"\r\n":t.rtpSender&&t.rtpReceiver?o+="a=sendrecv\r\n":t.rtpSender?o+="a=sendonly\r\n":t.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",t.rtpSender){var a="msid:"+i.id+" "+t.rtpSender.track.id+"\r\n";o+="a="+a,o+="a=ssrc:"+t.sendEncodingParameters[0].ssrc+" "+a,t.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+t.sendEncodingParameters[0].rtx.ssrc+" "+a,o+="a=ssrc-group:FID "+t.sendEncodingParameters[0].ssrc+" "+t.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+t.sendEncodingParameters[0].ssrc+" cname:"+n.localCName+"\r\n",t.rtpSender&&t.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+t.sendEncodingParameters[0].rtx.ssrc+" cname:"+n.localCName+"\r\n"),o},n.getDirection=function(t,e){for(var r=n.splitLines(t),i=0;i<r.length;i++)switch(r[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return r[i].substr(2)}return e?n.getDirection(e):"sendrecv"},n.getKind=function(t){return n.splitLines(t)[0].split(" ")[0].substr(2)},n.isRejected=function(t){return"0"===t.split(" ",2)[1]},n.parseMLine=function(t){var e=n.splitLines(t)[0].substr(2).split(" ");return{kind:e[0],port:parseInt(e[1],10),protocol:e[2],fmt:e.slice(3).join(" ")}},n.parseOLine=function(t){var e=n.matchPrefix(t,"o=")[0].substr(2).split(" ");return{username:e[0],sessionId:e[1],sessionVersion:parseInt(e[2],10),netType:e[3],addressType:e[4],address:e[5]}},n.isValidSDP=function(t){if("string"!=typeof t||0===t.length)return!1;for(var e=n.splitLines(t),r=0;r<e.length;r++)if(e[r].length<2||"="!==e[r].charAt(1))return!1;return!0},"object"==typeof e&&(e.exports=n)},{}],502:[function(t,e,r){var n=t(500).Buffer;function i(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}i.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=n.from(t,e));for(var r=this._block,i=this._blockSize,o=t.length,a=this._len,s=0;s<o;){for(var f=a%i,u=Math.min(o-s,i-f),c=0;c<u;c++)r[f+c]=t[s+c];s+=u,(a+=u)%i==0&&this._update(r)}return this._len+=o,this},i.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},{500:500}],503:[function(t,e,r){(r=e.exports=function(t){t=t.toLowerCase();var e=r[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e}).sha=t(504),r.sha1=t(505),r.sha224=t(506),r.sha256=t(507),r.sha384=t(508),r.sha512=t(509)},{504:504,505:505,506:506,507:507,508:508,509:509}],504:[function(t,e,r){var n=t(453),i=t(502),o=t(500).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function f(){this.init(),this._w=s,i.call(this,64,56)}function u(t){return t<<30|t>>>2}function c(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(f,i),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,f=0|this._e,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<80;++h)r[h]=r[h-3]^r[h-8]^r[h-14]^r[h-16];for(var d=0;d<80;++d){var l=~~(d/20),p=0|((e=n)<<5|e>>>27)+c(l,i,o,s)+f+r[d]+a[l];f=s,s=o,o=u(i),i=n,n=p}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},e.exports=f},{453:453,500:500,502:502}],505:[function(t,e,r){var n=t(453),i=t(502),o=t(500).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function f(){this.init(),this._w=s,i.call(this,64,56)}function u(t){return t<<5|t>>>27}function c(t){return t<<30|t>>>2}function h(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(f,i),f.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},f.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,f=0|this._e,d=0;d<16;++d)r[d]=t.readInt32BE(4*d);for(;d<80;++d)r[d]=(e=r[d-3]^r[d-8]^r[d-14]^r[d-16])<<1|e>>>31;for(var l=0;l<80;++l){var p=~~(l/20),b=u(n)+h(p,i,o,s)+f+r[l]+a[p]|0;f=s,s=o,o=c(i),i=n,n=b}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0},f.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},e.exports=f},{453:453,500:500,502:502}],506:[function(t,e,r){var n=t(453),i=t(507),o=t(502),a=t(500).Buffer,s=new Array(64);function f(){this.init(),this._w=s,o.call(this,64,56)}n(f,i),f.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},f.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},e.exports=f},{453:453,500:500,502:502,507:507}],507:[function(t,e,r){var n=t(453),i=t(502),o=t(500).Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function f(){this.init(),this._w=s,i.call(this,64,56)}function u(t,e,r){return r^t&(e^r)}function c(t,e,r){return t&e|r&(t|e)}function h(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function d(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function l(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(f,i),f.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},f.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,f=0|this._e,p=0|this._f,b=0|this._g,v=0|this._h,g=0;g<16;++g)r[g]=t.readInt32BE(4*g);for(;g<64;++g)r[g]=0|(((e=r[g-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[g-7]+l(r[g-15])+r[g-16];for(var y=0;y<64;++y){var m=v+d(f)+u(f,p,b)+a[y]+r[y]|0,w=h(n)+c(n,i,o)|0;v=b,b=p,p=f,f=s+m|0,s=o,o=i,i=n,n=m+w|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=f+this._e|0,this._f=p+this._f|0,this._g=b+this._g|0,this._h=v+this._h|0},f.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},e.exports=f},{453:453,500:500,502:502}],508:[function(t,e,r){var n=t(453),i=t(509),o=t(502),a=t(500).Buffer,s=new Array(160);function f(){this.init(),this._w=s,o.call(this,128,112)}n(f,i),f.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},f.prototype._hash=function(){var t=a.allocUnsafe(48);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},e.exports=f},{453:453,500:500,502:502,509:509}],509:[function(t,e,r){var n=t(453),i=t(502),o=t(500).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function f(){this.init(),this._w=s,i.call(this,128,112)}function u(t,e,r){return r^t&(e^r)}function c(t,e,r){return t&e|r&(t|e)}function h(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function d(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function l(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function p(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function b(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function v(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function g(t,e){return t>>>0<e>>>0?1:0}n(f,i),f.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},f.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,f=0|this._fh,y=0|this._gh,m=0|this._hh,w=0|this._al,_=0|this._bl,S=0|this._cl,M=0|this._dl,E=0|this._el,k=0|this._fl,x=0|this._gl,A=0|this._hl,R=0;R<32;R+=2)e[R]=t.readInt32BE(4*R),e[R+1]=t.readInt32BE(4*R+4);for(;R<160;R+=2){var I=e[R-30],T=e[R-30+1],B=l(I,T),P=p(T,I),O=b(I=e[R-4],T=e[R-4+1]),C=v(T,I),L=e[R-14],j=e[R-14+1],N=e[R-32],D=e[R-32+1],U=P+j|0,F=B+L+g(U,P)|0;F=(F=F+O+g(U=U+C|0,C)|0)+N+g(U=U+D|0,D)|0,e[R]=F,e[R+1]=U}for(var q=0;q<160;q+=2){F=e[q],U=e[q+1];var z=c(r,n,i),V=c(w,_,S),W=h(r,w),G=h(w,r),K=d(s,E),H=d(E,s),X=a[q],Z=a[q+1],Y=u(s,f,y),J=u(E,k,x),$=A+H|0,Q=m+K+g($,A)|0;Q=(Q=(Q=Q+Y+g($=$+J|0,J)|0)+X+g($=$+Z|0,Z)|0)+F+g($=$+U|0,U)|0;var tt=G+V|0,et=W+z+g(tt,G)|0;m=y,A=x,y=f,x=k,f=s,k=E,s=o+Q+g(E=M+$|0,M)|0,o=i,M=S,i=n,S=_,n=r,_=w,r=Q+et+g(w=$+tt|0,$)|0}this._al=this._al+w|0,this._bl=this._bl+_|0,this._cl=this._cl+S|0,this._dl=this._dl+M|0,this._el=this._el+E|0,this._fl=this._fl+k|0,this._gl=this._gl+x|0,this._hl=this._hl+A|0,this._ah=this._ah+r+g(this._al,w)|0,this._bh=this._bh+n+g(this._bl,_)|0,this._ch=this._ch+i+g(this._cl,S)|0,this._dh=this._dh+o+g(this._dl,M)|0,this._eh=this._eh+s+g(this._el,E)|0,this._fh=this._fh+f+g(this._fl,k)|0,this._gh=this._gh+y+g(this._gl,x)|0,this._hh=this._hh+m+g(this._hl,A)|0},f.prototype._hash=function(){var t=o.allocUnsafe(64);function e(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},e.exports=f},{453:453,500:500,502:502}],510:[function(t,e,r){e.exports=i;var n=t(419).EventEmitter;function i(){n.call(this)}t(453)(i,n),i.Readable=t(495),i.Writable=t(497),i.Duplex=t(485),i.Transform=t(496),i.PassThrough=t(494),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",f));var a=!1;function s(){a||(a=!0,t.end())}function f(){a||(a=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",o),r.removeListener("end",s),r.removeListener("close",f),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},{419:419,453:453,485:485,494:494,495:495,496:496,497:497}],511:[function(t,e,r){"use strict";var n=t(500).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=f,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=h,e=3;break;default:return this.write=d,void(this.end=l)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function f(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function d(t){return t.toString(this.encoding)}function l(t){return t&&t.length?this.write(t):""}r.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=a(e[n]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if((i=a(e[n]))>=0)return i>0&&(t.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if((i=a(e[n]))>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},{500:500}],512:[function(t,e,r){(function(e,n){(function(){var i=t(474).nextTick,o=Function.prototype.apply,a=Array.prototype.slice,s={},f=0;function u(t,e){this._id=t,this._clearFn=e}r.setTimeout=function(){return new u(o.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new u(o.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(t){t.close()},u.prototype.unref=u.prototype.ref=function(){},u.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},r.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},r._unrefActive=r.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate="function"==typeof e?e:function(t){var e=f++,n=!(arguments.length<2)&&a.call(arguments,1);return s[e]=!0,i((function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate="function"==typeof n?n:function(t){delete s[t]}}).call(this)}).call(this,t(512).setImmediate,t(512).clearImmediate)},{474:474,512:512}],513:[function(t,e,r){(function(t){(function(){function r(e){try{if(!t.localStorage)return!1}catch(t){return!1}var r=t.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=function(t,e){if(r("noDeprecation"))return t;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(e);r("traceDeprecation"),n=!0}return t.apply(this,arguments)}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],514:[function(_dereq_,module,exports){var indexOf=_dereq_(452),Object_keys=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var r in t)e.push(r);return e},forEach=function(t,e){if(t.forEach)return t.forEach(e);for(var r=0;r<t.length;r++)e(t[r],r,t)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(t,e,r){Object.defineProperty(t,e,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(t){return function(t,e,r){t[e]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(t){if(!(this instanceof Script))return new Script(t);this.code=t};Script.prototype.runInContext=function(t){if(!(t instanceof Context))throw new TypeError("needs a 'context' argument.");var e=document.createElement("iframe");e.style||(e.style={}),e.style.display="none",document.body.appendChild(e);var r=e.contentWindow,n=r.eval,i=r.execScript;!n&&i&&(i.call(r,"null"),n=r.eval),forEach(Object_keys(t),(function(e){r[e]=t[e]})),forEach(globals,(function(e){t[e]&&(r[e]=t[e])}));var o=Object_keys(r),a=n.call(r,this.code);return forEach(Object_keys(r),(function(e){(e in t||-1===indexOf(o,e))&&(t[e]=r[e])})),forEach(globals,(function(e){e in t||defineProp(t,e,r[e])})),document.body.removeChild(e),a},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(t){var e=Script.createContext(t),r=this.runInContext(e);return forEach(Object_keys(e),(function(r){t[r]=e[r]})),r},forEach(Object_keys(Script.prototype),(function(t){exports[t]=Script[t]=function(e){var r=Script(e);return r[t].apply(r,[].slice.call(arguments,1))}})),exports.createScript=function(t){return exports.Script(t)},exports.createContext=Script.createContext=function(t){var e=new Context;return"object"==typeof t&&forEach(Object_keys(t),(function(r){e[r]=t[r]})),e}},{452:452}],515:[function(t,e,r){var n=arguments[3],i=arguments[4],o=arguments[5],a=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(o),f=0,u=s.length;f<u;f++){var c=s[f],h=o[c].exports;if(h===t||h&&h.default===t){r=c;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var d={};for(f=0,u=s.length;f<u;f++){d[c=s[f]]=c}i[r]=["function(require,module,exports){"+t+"(self); }",d]}var l=Math.floor(Math.pow(16,8)*Math.random()).toString(16),p={};p[r]=r,i[l]=["function(require,module,exports){var f = require("+a(r)+");(f.default ? f.default : f)(self);}",p];var b={};!function t(e){for(var r in b[e]=!0,i[e][1]){var n=i[e][1][r];b[n]||t(n)}}(l);var v="("+n+")({"+Object.keys(b).map((function(t){return a(t)+":["+i[t][0]+","+a(i[t][1])+"]"})).join(",")+"},{},["+a(l)+"])",g=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:"text/javascript"});if(e&&e.bare)return y;var m=g.createObjectURL(y),w=new Worker(m);return w.objectURL=m,w}},{}],516:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",MUX_ERROR:"muxError",BUFFER_ERROR:"bufferError",OTHER_ERROR:"otherError"},r.ErrorDetails={FRAG_PARSING_ERROR:"fragParsingError",REMUX_ALLOC_ERROR:"remuxAllocError",BUFFER_ADD_CODEC_ERROR:"bufferAddCodecError",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",INTERNAL_EXCEPTION:"internalException"}},{}],517:[function(t,e,r){"use strict";e.exports={TRANSPORT_CONNECTED:"transportConnected",TRANSPORT_DISCONNECTED:"transportDisconnected",FRAG_LOADED:"fragLoaded",FRAG_PARSING_INIT_SEGMENT:"fragParsingInitSegment",FRAG_PARSING_DATA:"fragParsingData",INIT_PTS_FOUND:"initPtsFound",FRAG_PARSED:"fragParsed",TS_RESET:"tsReset",ERROR:"providerError"}},{}],518:[function(t,e,r){"use strict";e.exports=t(528).default},{528:528}],519:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();var i=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"getSilentFrame",value:function(t,e){if("mp4a.40.2"===t){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),t}();r.default=i},{}],520:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AACParser=void 0;var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=t(531);r.AACParser=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"parseAudioSpecificConfig",value:function(e){var r=void 0,n=(r=e.byteLength?new i.BitArray(e):e).bitpos+8*(r.src.byteOffset+r.bytepos),o=r.readBits(5);this.codec="mp4a.40."+o;var a=r.readBits(4);15==a&&r.skipBits(24);var s=r.readBits(4);return{config:(0,i.bitSlice)(new Uint8Array(r.src.buffer),n,n+16),codec:"mp4a.40."+o,samplerate:t.SampleRates[a],channels:s}}},{key:"parseStreamMuxConfig",value:function(e){var r=new i.BitArray(e);if(!r.readBits(1))return r.skipBits(14),t.parseAudioSpecificConfig(r)}},{key:"SampleRates",get:function(){return[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]}}]),t}()},{531:531}],521:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=h(t(532)),o=h(t(533)),a=h(t(526)),s=h(t(522)),f=t(520),u=t(534),c=h(t(517));function h(t){return t&&t.__esModule?t:{default:t}}function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var l=t(1),p=function(){function t(e,r){d(this,t),this.observer=e,this.remuxer=new a.default(e,{}),this.audioConfig=t.defaultAACConfig(),this.sps=[],this.pps=[],this.lengthHeaderSize=4,this.hasAudio=!0,this.hasVideo=!0,this.videoTs=0,this.avBuffer=null,this.config=r,this.tracks={audio:{samples:[],container:"video/mp2t",dropped:0,sequenceNumber:0,id:0,inputTimeScale:1e3,len:0,type:"audio"},video:{samples:[],container:"video/mp2t",dropped:0,sequenceNumber:0,id:0,inputTimeScale:1e3,type:"video"},id3:{samples:[]},text:{samples:[]}}}return n(t,[{key:"setAvailableMedia",value:function(t,e){u.logger.log("Set available media, audio "+t+" video "+e),this.hasAudio=t,this.hasVideo=e}},{key:"onData",value:function(t){null==this.avBuffer&&(this.avBuffer=new v({hasAudio:this.hasAudio,hasVideo:this.hasVideo,fragmentLengthMs:this.config.fragmentLengthMs,cutByIFrameOnly:this.config.cutByIFrameOnly}));for(var e=new i.default(t);e.readableBytes()>0;){var r,n=e.readByte(),o=e.readInt(),a=e.readInt();9==n?(r=this.onVideo(e,a,o))&&this.avBuffer.pushVideo(r):8==n&&(r=this.onAudio(e,a,o))&&this.avBuffer.pushAudio(r),this.flush()}}},{key:"onVideo",value:function(e,r,n){var i=e.readByte();switch(0==this.videoTs&&(this.videoTs=n),Math.abs(n-this.videoTs)>5e3?(u.logger.log("Video ts drop "+(n-this.videoTs)),this.avBuffer.flush(),this.remuxer.resetInitSegment(),this.videoTs=0,this.observer.trigger(c.default.TS_RESET)):n<this.videoTs&&u.logger.warn("Non monotonic video ts "+this.videoTs+" -> "+n),this.videoTs=n,i){case 23:var a=e.readByte();if(0==a){e.skipBytes(3);e.readByte();var s=e.sliceAsUint8Array(e.readerIndex(),3);s[0],s[1],s[2];this.tracks.video.codec="avc1."+o.default.hexDump(s).toUpperCase(),this.lengthHeaderSize=1+(3&e.readByte());for(var f=31&e.readByte(),h=[],d=0;d<f;d++)h.push(t.readNalFromAVCCFormat(e,2));for(var l=31&e.readByte(),p=[],v=0;v<l;v++)p.push(t.readNalFromAVCCFormat(e,2));this.onVideoConfig(h,p,n)}else if(1==a){e.skipBytes(3);var g=t.readNalus(e,this.lengthHeaderSize,r-5);if(g)return new b(g,!0,n,n)}else u.logger.warn("Unknown inner type "+a);break;case 39:e.skipBytes(4);var y=t.readNalus(e,this.lengthHeaderSize,r-5);if(y)return new b(y,!1,n,n);break;default:u.logger.warn("Unknown AVC type "+i)}}},{key:"onAudio",value:function(t,e,r){if(0!=t.readByte())return{unit:t.sliceAsUint8Array(t.readerIndex(),e-1),pts:r,dts:r};for(var n=t.sliceAsUint8Array(t.readerIndex(),e-1),i=f.AACParser.parseAudioSpecificConfig(n),o=[],a=0;a<i.config.byteLength;a++)o[a]=i.config[a];i.config=o,this.onAudioConfig(i)}},{key:"onAudioConfig",value:function(t){this.audioConfig=t,this.tracks.audio.codec=t.codec,this.tracks.audio.channelCount=t.channels,this.tracks.audio.config=t.config,this.tracks.audio.channelCount=t.channels,this.tracks.audio.timescale=t.samplerate,this.tracks.audio.samplerate=t.samplerate,this.tracks.audio.isAAC=!0}},{key:"onVideoConfig",value:function(t,e,r){this.avBuffer.onVideoConfig({sps:t,pps:e},r)}},{key:"flush",value:function(){for(var t=this.avBuffer.getFragments();t.length>0;){var e=t.shift();if(e.configChanged){var r=new s.default(e.config.video.sps[0]).readSPS();this.tracks.video.width==r.width&&this.tracks.video.height==r.height||(u.logger.log("Video resolution changed "+this.tracks.video.width+"x"+this.tracks.video.height+" => "+r.width+"x"+r.height),this.remuxer.resetInitSegment())}if(e.audio.length>0){for(var n=this.tracks.audio,i=e.audio,o=this.audioConfig,a=0,f=0;f<i.length;f++)a+=i[f].unit.byteLength;n.samples=i,n.duration=(i[i.length-1].pts-i[0].pts)/1e3,n.codec=o.codec,n.config=o.config,n.channelCount=o.channels,n.samplerate=o.samplerate,n.isAAC=!0,n.len=a,n.sequenceNumber++,u.logger.log("audio: duration "+this.tracks.audio.duration+", startPts "+this.tracks.audio.samples[0].pts+" endPts "+this.tracks.audio.samples[this.tracks.audio.samples.length-1].pts)}if(e.video.length>0){if(!e.config.video)continue;var c=this.tracks.video,h=e.video,d=new s.default(e.config.video.sps[0]).readSPS();c.samples=h,c.duration=(h[h.length-1].pts-h[0].pts)/1e3,c.width=d.width,c.height=d.height,c.pixelRatio=d.pixelRatio,c.pps=e.config.video.pps,c.sps=e.config.video.sps,c.sequenceNumber++,u.logger.log("video: duration "+this.tracks.video.duration+", startPts "+this.tracks.video.samples[0].pts+" endPts "+this.tracks.video.samples[this.tracks.video.samples.length-1].pts+" samples "+h.length)}e.audio.length>0&&e.video.length>0?this.tracks.video.duration=this.tracks.audio.duration:e.video.length>0&&0==e.audio.length&&(this.tracks.audio.duration=this.tracks.video.duration),this.remuxer.remux(this.tracks.audio,this.tracks.video,this.tracks.id3,this.tracks.text,0)}}}],[{key:"buffered",value:function(t){if(t.length>1){var e=t[0];return t[t.length-1].pts-e.pts}return 0}},{key:"readNalFromAVCCFormat",value:function(t,e){if(t.readableBytes()>e){var r=0;switch(e){case 2:r=t.readShort();break;case 4:r=t.readInt()}return t.readableBytes()<r?void u.logger.error("Length bigger then buffer "+t.readableBytes()+" "+r):t.sliceAsUint8Array(t.readerIndex(),r)}}},{key:"readNalus",value:function(e,r,n){for(var i=[],o=e.readableBytes()-n;e.readableBytes()>o;){var a=t.readNalFromAVCCFormat(e,r);if(void 0!==a)i.push({data:a,type:31&a[0]});else if(e.readableBytes()>o)return void u.logger.warn("Failed to read nal")}if(i.length>0)return i}},{key:"defaultAACConfig",value:function(){var t=new Uint8Array(new ArrayBuffer(4));t[0]=17,t[1]=144,t[2]=86,t[3]=229,t[4]=0;for(var e=f.AACParser.parseAudioSpecificConfig(t),r=[],n=0;n<e.config.byteLength;n++)r[n]=e.config[n];return e.config=r,e}}]),t}();r.default=p;var b=function t(e,r,n,i){d(this,t),this.pts=n,this.dts=i,this.units=e,this.key=r,this.frame=!0,this.id=0,this.length=0;var o=!0,a=!1,s=void 0;try{for(var f,u=e[Symbol.iterator]();!(o=(f=u.next()).done);o=!0){var c=f.value;this.length+=c.data.length}}catch(t){a=!0,s=t}finally{try{!o&&u.return&&u.return()}finally{if(a)throw s}}},v=function(){function t(e){d(this,t),this.hasAudio=e.hasAudio,this.hasVideo=e.hasVideo,this.fragmentLengthMs=e.fragmentLengthMs,this.mediaConfig={audio:null,video:null},this.video=[],this.audio=[],this.aligned=!1,this.cutByIFrameOnly=e.cutByIFrameOnly}return n(t,[{key:"pushAudio",value:function(t){this.audio.push(t)}},{key:"pushVideo",value:function(t){if(this.video.length>0){var e=this.video[this.video.length-1];e.duration=t.pts-e.pts}this.video.push(t)}},{key:"onAudioConfig",value:function(t){this.mediaConfig.audio=t}},{key:"onVideoConfig",value:function(t,e){var r={key:"config",pts:e,config:t,duration:-1};this.pushVideo(r)}},{key:"flush",value:function(){return this.aligned=!1,{audio:this.flushAudio(),video:this.flushVideo()}}},{key:"flushAudio",value:function(){if(this.hasAudio)return this.cut(this.audio.length,-1)}},{key:"flushVideo",value:function(){if(this.hasVideo)return this.cut(-1,this.video.length)}},{key:"getFragments",value:function(){for(var t=[];this.bufferedEnough();)if(this.hasAudio&&!this.hasVideo)t.push(this.cut(this.audio.length,-1));else if(!this.hasAudio&&this.hasVideo){var e=void 0,r=this.fragmentByIFrame();if(void 0!==r)e=this.cut(-1,r.index-1);else{if(this.cutByIFrameOnly)break;e=this.cut(-1,this.video.length)}t.push(e)}else{if(!this.aligned){if(!this.isAlignable())return t;var n=this.alignBufferBeforeStartup();n&&t.push(n);break}var i=this.fragmentByIFrame();if(void 0!==i){var o=i.index-1,a=(this.video[o].pts,this.findIndex(this.audio,i.pts-20,1/0));if(!((a>-1?this.audio[a].pts:-1)>-1)){u.logger.log("Failed to fragment at: v "+o+" a "+a);break}t.push(this.cut(a,o)),u.logger.log("Fragment by iframe")}else{if(this.cutByIFrameOnly)break;var s=this.findSyncPoint(this.video.length);if(!s)break;t.push(s)}}return t}},{key:"isAlignable",value:function(){var t=this.findIFrame(0);if(t<0)return!1;var e=this.video[t].pts,r=this.findIndex(this.audio,e,e+50);if(null==r){if(!(this.audio.length>0&&this.audio[this.audio.length-1].pts>e))return!1;r=0}var n=this.audio[r].pts,i=e-n;if(i<-100){if(null==this.findIndex(this.video,n-20,n))return!1}else if(i>100){if(null==this.findIndex(this.audio,e,e+50))return!1}return!0}},{key:"alignBufferBeforeStartup",value:function(){if(!this.aligned){var t=this.findIFrame(0);if(t<0)return void u.logger.warn("IFrame missing on startup");var e=this.video[t].pts,r=this.findIndex(this.audio,e,e+50);if(null==r){if(!(this.audio.length>0&&this.audio[this.audio.length-1].pts>e))return void u.logger.log("not enough audio");r=0}else u.logger.log("aindex "+r);var n=this.audio[r].pts,i=e-n;if(i<-100){u.logger.log("align buffer missing audio "+-i);var o=this.findIndex(this.video,n-20,n);return this.aligned=!0,this.cut(-1,o)}i>100?(u.logger.log("align buffer missing video "+i),this.cut(r,-1),u.logger.log("Buffer aligned, dropped a:"+r+" v:"+t+"apts "+this.audio[r].pts+" vpts "+e)):(u.logger.log("audio pts / video pts "+this.audio[r].pts+"/"+e),this.cut(r-1,t-1),u.logger.log("stream aligned")),this.aligned=!0}}},{key:"findSyncPoint",value:function(t){for(var e=this.findIndex(this.video,this.video[0].pts+this.fragmentLengthMs,1/0),r=1,n=void 0;e<t;e++)if(!(e<3)){for(var i=this.video[e].pts;r<this.audio.length;){if(!(this.audio[r].pts<i)){this.audio[r]-i>i-this.audio[r-1]&&r--;break}r++}if(!this.audio[r])break;var o=this.audio[r].pts;if(e>=this.video.length-2)r--;else if(!(this.video[e].duration>2*this.video[e-1].duration||this.video[e].duration>2*this.video[e+1].duration)){if(Math.abs(i-o)<100){n=this.cut(r,e);break}r--}}return n}},{key:"cut",value:function(t,e){t>-1&&t++,e>-1&&e++;var r=this.audio.splice(0,t),n=this.video.splice(0,e),i=!1;if(n[0]&&"config"==n[0].key){var o=n.shift();if(this.mediaConfig.video){var a=this.mediaConfig.video.sps[0],s=o.config.sps[0];l(a.buffer,s.buffer)||(i=!0,this.mediaConfig.video=o.config)}else this.mediaConfig.video=o.config}return this.cutByIFrameOnly&&r[0]&&n[0]&&(n[n.length-1].pts=r[r.length-1].pts),{audio:r,video:n,config:this.mediaConfig,configChanged:i}}},{key:"fragmentByIFrame",value:function(){var t=this.findIFrame(1);if(t>0)return{index:t,pts:this.video[t].pts}}},{key:"findIFrame",value:function(t){for(var e=t;e<this.video.length;e++)if("config"==this.video[e].key)return e;return-1}},{key:"findIndex",value:function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n].pts;if(i>=e&&i<=r)return n;if(i>r)break}}},{key:"bufferedEnough",value:function(){var t=!this.hasAudio||this.buffered(this.audio)>=this.fragmentLengthMs,e=!this.hasVideo||this.buffered(this.video)>=this.fragmentLengthMs&&this.video.length>2;return t&&e}},{key:"buffered",value:function(t){if(t.length>1){var e=t[0];return t[t.length-1].pts-e.pts}return 0}}]),t}()},{1:1,517:517,520:520,522:522,526:526,532:532,533:533,534:534}],522:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=t(534);var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}return n(t,[{key:"loadWord",value:function(){var t=this.data,e=this.bytesAvailable,r=t.byteLength-e,n=new Uint8Array(4),i=Math.min(4,e);if(0===i)throw new Error("no bytes available");n.set(t.subarray(r,r+i)),this.word=new DataView(n.buffer).getUint32(0),this.bitsAvailable=8*i,this.bytesAvailable-=i}},{key:"skipBits",value:function(t){var e;this.bitsAvailable>t?(this.word<<=t,this.bitsAvailable-=t):(t-=this.bitsAvailable,t-=(e=t>>3)>>3,this.bytesAvailable-=e,this.loadWord(),this.word<<=t,this.bitsAvailable-=t)}},{key:"readBits",value:function(t){var e=Math.min(this.bitsAvailable,t),r=this.word>>>32-e;return t>32&&i.logger.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=e,this.bitsAvailable>0?this.word<<=e:this.bytesAvailable>0&&this.loadWord(),(e=t-e)>0&&this.bitsAvailable?r<<e|this.readBits(e):r}},{key:"skipLZ",value:function(){var t;for(t=0;t<this.bitsAvailable;++t)if(0!=(this.word&2147483648>>>t))return this.word<<=t,this.bitsAvailable-=t,t;return this.loadWord(),t+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"skipEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var t=this.skipLZ();return this.readBits(t+1)-1}},{key:"readEG",value:function(){var t=this.readUEG();return 1&t?1+t>>>1:-1*(t>>>1)}},{key:"readBoolean",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"readUShort",value:function(){return this.readBits(16)}},{key:"readUInt",value:function(){return this.readBits(32)}},{key:"skipScalingList",value:function(t){var e,r=8,n=8;for(e=0;e<t;e++)0!==n&&(n=(r+this.readEG()+256)%256),r=0===n?r:n}},{key:"readSPS",value:function(){var t,e,r,n,i,o,a,s=0,f=0,u=0,c=0,h=this.readUByte.bind(this),d=this.readBits.bind(this),l=this.readUEG.bind(this),p=this.readBoolean.bind(this),b=this.skipBits.bind(this),v=this.skipEG.bind(this),g=this.skipUEG.bind(this),y=this.skipScalingList.bind(this);if(h(),t=h(),d(5),b(3),h(),g(),100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t){var m=l();if(3===m&&b(1),g(),g(),b(1),p())for(o=3!==m?8:12,a=0;a<o;a++)p()&&y(a<6?16:64)}g();var w=l();if(0===w)l();else if(1===w)for(b(1),v(),v(),e=l(),a=0;a<e;a++)v();g(),b(1),r=l(),n=l(),0===(i=d(1))&&b(1),b(1),p()&&(s=l(),f=l(),u=l(),c=l());var _=[1,1];if(p()&&p())switch(h()){case 1:_=[1,1];break;case 2:_=[12,11];break;case 3:_=[10,11];break;case 4:_=[16,11];break;case 5:_=[40,33];break;case 6:_=[24,11];break;case 7:_=[20,11];break;case 8:_=[32,11];break;case 9:_=[80,33];break;case 10:_=[18,11];break;case 11:_=[15,11];break;case 12:_=[64,33];break;case 13:_=[160,99];break;case 14:_=[4,3];break;case 15:_=[3,2];break;case 16:_=[2,1];break;case 255:_=[h()<<8|h(),h()<<8|h()]}return{width:Math.ceil(16*(r+1)-2*s-2*f),height:(2-i)*(n+1)*16-(i?2:4)*(u+c),pixelRatio:_}}},{key:"readSliceType",value:function(){return this.readUByte(),this.readUEG(),this.readUEG()}}]),t}();r.default=o},{534:534}],523:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=l(t(524)),o=l(t(521)),a=l(t(527)),s=l(t(530)),f=t(529),u=l(t(517)),c=l(t(419)),h=t(534),d=l(t(528));function l(t){return t&&t.__esModule?t:{default:t}}var p=t(475),b=t(460),v="-LOCAL_CACHED_VIDEO",g="-REMOTE_CACHED_VIDEO",y=function(){function e(r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var n=this.observer=new c.default;n.trigger=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];n.emit.apply(n,[t].concat(r))},n.off=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];n.removeListener.apply(n,[t].concat(r))},this.on=n.on.bind(n),this.off=n.off.bind(n),this.trigger=n.trigger.bind(n);try{(0,h.enableLogs)(!0===r.debug)}catch(t){}if(r.enableWorker&&"undefined"!=typeof Worker){h.logger.log("using webworker");var d=void 0;try{var l=t(515);d=this.w=l(i.default),this.onwmsg=this.onWorkerMessage.bind(this),d.addEventListener("message",this.onwmsg),d.onerror=function(t){this.trigger(u.default.ERROR,{type:"worker",info:t.message+" ("+t.filename+":"+t.lineno+")"})},d.postMessage({cmd:"init",config:JSON.stringify(r)})}catch(t){h.logger.error("error while initializing DemuxerWorker, fallback on DemuxerInline"),d&&URL.revokeObjectURL(d.objectURL)}}else this.demuxer=new o.default(this,r.connectionConstraints),r.useFileLoader?this.transport=new f.MediaFileReader(this,r,this.demuxer):this.transport=new s.default(this,r,this.demuxer);this.id=r.id,this.display=r.display;var p=r.useControls||!1;this.video=e.getCacheInstance(this.display),this.video||(this.video=e.createVideoElement(p),this.display.appendChild(this.video)),this.video.id=this.id;var b=void 0===r.unmutePlayOnStart||r.unmutePlayOnStart,v=void 0!==r.unmuteRequiredEvent?r.unmuteRequiredEvent:null;this.mse=new a.default(this,this.video,b,v),this.on(u.default.TS_RESET,function(t){h.logger.warn("TS_RESET"),this.mse.release(),this.mse=new a.default(this,this.video,b)}.bind(this)),this.on(u.default.ERROR,function(t){h.logger.error("Error "+t.type+" info "+t.info),this.close()}.bind(this))}return n(e,[{key:"createOffer",value:function(t){return p.resolve({sdp:"v=0\r\no=- 1988962254 1988962254 IN IP4 0.0.0.0\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=sdplang:en\r\nm=video 0 RTP/AVP 112\r\na=rtpmap:112 H264/90000\r\na=fmtp:112 packetization-mode=1; profile-level-id=420020\r\na=recvonly\r\nm=audio 0 RTP/AVP 108 96 97 98 99 100 102 103 104\r\na=rtpmap:108 mpeg4-generic/48000/1\r\na=rtpmap:96 mpeg4-generic/8000/1\r\na=rtpmap:97 mpeg4-generic/11025/1\r\na=rtpmap:98 mpeg4-generic/12000/1\r\na=rtpmap:99 mpeg4-generic/16000/1\r\na=rtpmap:100 mpeg4-generic/22050/1\r\na=rtpmap:104 mpeg4-generic/24000/1\r\na=rtpmap:102 mpeg4-generic/32000/1\r\na=rtpmap:103 mpeg4-generic/44100/1\r\na=recvonly\r\n"})}},{key:"setRemoteSdp",value:function(e){for(var r=t(501),n=!0,i=!0,o=r.splitSections(e),a=0;a<o.length;a++)if(r.isRejected(o[a]))switch(r.getKind(o[a])){case"audio":n=!1;break;case"video":i=!1}return this.w?this.w.postMessage({cmd:"connect",config:JSON.stringify({audio:n,video:i})}):(this.demuxer.setAvailableMedia(n,i),this.transport.connect()),p.resolve()}},{key:"close",value:function(){this.w&&(this.w.postMessage({cmd:"close"}),this.w.removeEventListener("message",this.onwmsg),this.w.terminate(),this.w=null),this.transport&&this.transport.disconnect(),this.mse.release(),this.video.id=this.video.id+g}},{key:"setVolume",value:function(t){this.video&&(this.video.volume=t/100)}},{key:"unmuteRemoteAudio",value:function(){this.video&&(this.video.muted=!1)}},{key:"muteRemoteAudio",value:function(){this.video&&(this.video.muted=!0)}},{key:"isRemoteAudioMuted",value:function(){return!this.video||this.video.muted}},{key:"getVolume",value:function(){return this.video?100*this.video.volume:-1}},{key:"fullScreen",value:function(){var t=this.video;t&&(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen&&t.webkitRequestFullscreen())}},{key:"onWorkerMessage",value:function(t){var e=t.data;switch(e.event){case"init":URL.revokeObjectURL(this.w.objectURL);break;case u.default.FRAG_PARSING_DATA:e.data.data1=new Uint8Array(e.data1),e.data2&&(e.data.data2=new Uint8Array(e.data2));default:e.data=e.data||{},e.data.frag=this.frag,e.data.id=this.id,this.trigger(e.event,e.data)}}}],[{key:"getCacheInstance",value:function(t){var e=void 0;for(e=0;e<t.children.length;e++)if(t.children[e]&&(-1!=t.children[e].id.indexOf(v)||-1!=t.children[e].id.indexOf(g)))return t.children[e]}},{key:"createVideoElement",value:function(t){var e=document.createElement("video");return e.muted=!0,e.setAttribute("playsinline",""),e.setAttribute("webkit-playsinline",""),t&&e.setAttribute("controls","controls"),e}},{key:"playFirstVideo",value:function(t,r,n,i){var o=this;return new p((function(a,s){if(!o.getCacheInstance(t)){var f=e.createVideoElement(i);if(t.appendChild(f),f.id=b.v1()+(r?v:g),n)return f.src=n,void f.play().then((function(){a()})).catch((function(t){"chrome"!=d.default.getConfig().browserDetails&&h.logger.error(t),s()}))}a()}))}}]),e}();r.default=y},{419:419,460:460,475:475,501:501,515:515,517:517,521:521,524:524,527:527,528:528,529:529,530:530,534:534}],524:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),t(17);var n=f(t(521)),i=f(t(530)),o=f(t(517)),a=f(t(419)),s=t(534);function f(t){return t&&t.__esModule?t:{default:t}}r.default=function(t){var e=new a.default;e.trigger=function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];e.emit.apply(e,[t,t].concat(n))},e.off=function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];e.removeListener.apply(e,[t].concat(n))};var r=function(e,r){t.postMessage({event:e,data:r})};t.addEventListener("message",(function(o){var a=o.data;switch(a.cmd){case"init":var f=JSON.parse(a.config);t.demuxer=new n.default(e,f.connectionConstraints),t.transport=new i.default(e,f,t.demuxer);try{(0,s.enableLogs)(!0===f.debug)}catch(t){}r("init",null);break;case"connect":var u=JSON.parse(a.config);t.demuxer.setAvailableMedia(u.audio,u.video),t.transport.connect();break;case"close":t.transport.disconnect()}})),e.on(o.default.FRAG_PARSING_INIT_SEGMENT,r),e.on(o.default.FRAG_PARSED,r),e.on(o.default.ERROR,r),e.on(o.default.INIT_PTS_FOUND,r),e.on(o.default.TS_RESET,r),e.on(o.default.FRAG_PARSING_DATA,(function(e,r){var n=[],i={event:e,data:r};r.data1&&(i.data1=r.data1.buffer,n.push(r.data1.buffer),delete r.data1),r.data2&&(i.data2=r.data2.buffer,n.push(r.data2.buffer),delete r.data2),t.postMessage(i,n)}))}},{17:17,419:419,517:517,521:521,530:530,534:534}],525:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();var i=Math.pow(2,32)-1,o=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"init",value:function(){var e;for(e in t.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},t.types)t.types.hasOwnProperty(e)&&(t.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);var r=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);t.HDLR_TYPES={video:r,audio:n};var i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),o=new Uint8Array([0,0,0,0,0,0,0,0]);t.STTS=t.STSC=t.STCO=o,t.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var a=new Uint8Array([105,115,111,109]),s=new Uint8Array([97,118,99,49]),f=new Uint8Array([0,0,0,1]);t.FTYP=t.box(t.types.ftyp,a,f,a,s),t.DINF=t.box(t.types.dinf,t.box(t.types.dref,i))}},{key:"box",value:function(t){for(var e,r=Array.prototype.slice.call(arguments,1),n=8,i=r.length,o=i;i--;)n+=r[i].byteLength;for((e=new Uint8Array(n))[0]=n>>24&255,e[1]=n>>16&255,e[2]=n>>8&255,e[3]=255&n,e.set(t,4),i=0,n=8;i<o;i++)e.set(r[i],n),n+=r[i].byteLength;return e}},{key:"hdlr",value:function(e){return t.box(t.types.hdlr,t.HDLR_TYPES[e])}},{key:"mdat",value:function(e){return t.box(t.types.mdat,e)}},{key:"mdhd",value:function(e,r){r*=e;var n=Math.floor(r/(i+1)),o=Math.floor(r%(i+1));return t.box(t.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,n>>24,n>>16&255,n>>8&255,255&n,o>>24,o>>16&255,o>>8&255,255&o,85,196,0,0]))}},{key:"mdia",value:function(e){return t.box(t.types.mdia,t.mdhd(e.timescale,e.duration),t.hdlr(e.type),t.minf(e))}},{key:"mfhd",value:function(e){return t.box(t.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}},{key:"minf",value:function(e){return"audio"===e.type?t.box(t.types.minf,t.box(t.types.smhd,t.SMHD),t.DINF,t.stbl(e)):t.box(t.types.minf,t.box(t.types.vmhd,t.VMHD),t.DINF,t.stbl(e))}},{key:"moof",value:function(e,r,n){return t.box(t.types.moof,t.mfhd(e),t.traf(n,r))}},{key:"moov",value:function(e){for(var r=e.length,n=[];r--;)n[r]=t.trak(e[r]);return t.box.apply(null,[t.types.moov,t.mvhd(e[0].timescale,e[0].duration)].concat(n).concat(t.mvex(e)))}},{key:"mvex",value:function(e){for(var r=e.length,n=[];r--;)n[r]=t.trex(e[r]);return t.box.apply(null,[t.types.mvex].concat(n))}},{key:"mvhd",value:function(e,r){r*=e;var n=Math.floor(r/(i+1)),o=Math.floor(r%(i+1)),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,n>>24,n>>16&255,n>>8&255,255&n,o>>24,o>>16&255,o>>8&255,255&o,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return t.box(t.types.mvhd,a)}},{key:"sdtp",value:function(e){var r,n,i=e.samples||[],o=new Uint8Array(4+i.length);for(n=0;n<i.length;n++)r=i[n].flags,o[n+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return t.box(t.types.sdtp,o)}},{key:"stbl",value:function(e){return t.box(t.types.stbl,t.stsd(e),t.box(t.types.stts,t.STTS),t.box(t.types.stsc,t.STSC),t.box(t.types.stsz,t.STSZ),t.box(t.types.stco,t.STCO))}},{key:"avc1",value:function(e){var r,n,i,o=[],a=[];for(r=0;r<e.sps.length;r++)i=(n=e.sps[r]).byteLength,o.push(i>>>8&255),o.push(255&i),o=o.concat(Array.prototype.slice.call(n));for(r=0;r<e.pps.length;r++)i=(n=e.pps[r]).byteLength,a.push(i>>>8&255),a.push(255&i),a=a.concat(Array.prototype.slice.call(n));var s=t.box(t.types.avcC,new Uint8Array([1,o[3],o[4],o[5],255,224|e.sps.length].concat(o).concat([e.pps.length]).concat(a))),f=e.width,u=e.height,c=e.pixelRatio[0],h=e.pixelRatio[1];return t.box(t.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,f>>8&255,255&f,u>>8&255,255&u,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s,t.box(t.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),t.box(t.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,255&c,h>>24,h>>16&255,h>>8&255,255&h])))}},{key:"esds",value:function(t){var e=t.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(t.config).concat([6,1,2]))}},{key:"mp4a",value:function(e){var r=e.samplerate;return t.box(t.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,r>>8&255,255&r,0,0]),t.box(t.types.esds,t.esds(e)))}},{key:"mp3",value:function(e){var r=e.samplerate;return t.box(t.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,r>>8&255,255&r,0,0]))}},{key:"stsd",value:function(e){return"audio"===e.type?e.isAAC||"mp3"!==e.codec?t.box(t.types.stsd,t.STSD,t.mp4a(e)):t.box(t.types.stsd,t.STSD,t.mp3(e)):t.box(t.types.stsd,t.STSD,t.avc1(e))}},{key:"tkhd",value:function(e){var r=e.id,n=e.duration*e.timescale,o=e.width,a=e.height,s=Math.floor(n/(i+1)),f=Math.floor(n%(i+1));return t.box(t.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,f>>24,f>>16&255,f>>8&255,255&f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,o>>8&255,255&o,0,0,a>>8&255,255&a,0,0]))}},{key:"traf",value:function(e,r){var n=t.sdtp(e),o=e.id,a=Math.floor(r/(i+1)),s=Math.floor(r%(i+1));return t.box(t.types.traf,t.box(t.types.tfhd,new Uint8Array([0,0,0,0,o>>24,o>>16&255,o>>8&255,255&o])),t.box(t.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,s>>24,s>>16&255,s>>8&255,255&s])),t.trun(e,n.length+16+20+8+16+8+8),n)}},{key:"trak",value:function(e){return e.duration=e.duration||4294967295,t.box(t.types.trak,t.tkhd(e),t.mdia(e))}},{key:"trex",value:function(e){var r=e.id;return t.box(t.types.trex,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trun",value:function(e,r){var n,i,o,a,s,f,u=e.samples||[],c=u.length,h=12+16*c,d=new Uint8Array(h);for(r+=8+h,d.set([0,0,15,1,c>>>24&255,c>>>16&255,c>>>8&255,255&c,r>>>24&255,r>>>16&255,r>>>8&255,255&r],0),n=0;n<c;n++)o=(i=u[n]).duration,a=i.size,s=i.flags,f=i.cts,d.set([o>>>24&255,o>>>16&255,o>>>8&255,255&o,a>>>24&255,a>>>16&255,a>>>8&255,255&a,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|s.isNonSync,61440&s.degradPrio,15&s.degradPrio,f>>>24&255,f>>>16&255,f>>>8&255,255&f],12+16*n);return t.box(t.types.trun,d)}},{key:"initSegment",value:function(e){t.types||t.init();var r,n=t.moov(e);return(r=new Uint8Array(t.FTYP.byteLength+n.byteLength)).set(t.FTYP),r.set(n,t.FTYP.byteLength),r}}]),t}();r.default=o},{}],526:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=u(t(519)),o=t(534),a=u(t(525)),s=t(516),f=u(t(517));function u(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e,r,n,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.observer=e,this.config=r,this.typeSupported=n;var o=navigator.userAgent;this.isSafari=i&&i.indexOf("Apple")>-1&&o&&!o.match("CriOS"),this.ISGenerated=!1}return n(t,[{key:"destroy",value:function(){}},{key:"resetTimeStamp",value:function(t){this._initPTS=this._initDTS=t}},{key:"resetInitSegment",value:function(){this.ISGenerated=!1}},{key:"remux",value:function(t,e,r,n,i,a,s){if(this.ISGenerated||this.generateIS(t,e,i),this.ISGenerated)if(t.samples.length){t.timescale||(o.logger.warn("regenerate InitSegment as audio detected"),this.generateIS(t,e,i));var u=this.remuxAudio(t,i,a,s);if(e.samples.length){var c=void 0;u&&(c=u.endPTS-u.startPTS),e.timescale||(o.logger.warn("regenerate InitSegment as video detected"),this.generateIS(t,e,i)),this.remuxVideo(e,i,a,c)}}else{var h=void 0;e.samples.length&&(h=this.remuxVideo(e,i,a)),h&&t.codec&&(o.logger.log("Remux empty audio"),this.remuxEmptyAudio(t,i,a,h))}r.samples.length&&this.remuxID3(r,i),n.samples.length&&this.remuxText(n,i),this.observer.trigger(f.default.FRAG_PARSED)}},{key:"generateIS",value:function(t,e,r){var n,i,u=this.observer,c=t.samples,h=e.samples,d=this.typeSupported,l="audio/mp4",p={},b={tracks:p},v=void 0===this._initPTS;if(v&&(n=i=1/0),t.config&&(t.timescale=t.samplerate,o.logger.log("audio sampling rate : "+t.samplerate),t.isAAC||(d.mpeg?(l="audio/mpeg",t.codec=""):d.mp3&&(t.codec="mp3")),p.audio={container:l,codec:t.codec,initSegment:!t.isAAC&&d.mpeg?new Uint8Array:a.default.initSegment([t]),metadata:{channelCount:t.channelCount}},v&&c[0]&&(n=i=c[0].pts-t.inputTimeScale*r)),e.sps&&e.pps&&h.length){var g=e.inputTimeScale;e.timescale=g,p.video={container:"video/mp4",codec:e.codec,initSegment:a.default.initSegment([e]),metadata:{width:e.width,height:e.height}},v&&(n=Math.min(n,h[0].pts-g*r),i=Math.min(i,h[0].dts-g*r),this.observer.trigger(f.default.INIT_PTS_FOUND,{initPTS:n}))}Object.keys(p).length?(u.trigger(f.default.FRAG_PARSING_INIT_SEGMENT,b),this.ISGenerated=!0,v&&(this._initPTS=n,this._initDTS=i)):u.trigger(f.default.ERROR,{type:s.ErrorTypes.MEDIA_ERROR,details:s.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})}},{key:"remuxVideo",value:function(t,e,r,n){var i,u,c,h,d,l,p,b=8,v=t.timescale,g=t.samples,y=[],m=g.length,w=this._PTSNormalize,_=this._initDTS;g.sort((function(t,e){var r=t.dts-e.dts,n=t.pts-e.pts;return r||(n||t.id-e.id)}));var S=g.reduce((function(t,e){return Math.max(Math.min(t,e.pts-e.dts),-18e3)}),0);if(S<0){o.logger.warn("PTS < DTS detected in video samples, shifting DTS by "+Math.round(S/90)+" ms to overcome this issue");for(var M=0;M<g.length;M++)g[M].dts+=S}var E=void 0;E=r?this.nextAvcDts:e*v;var k=g[0];d=Math.max(w(k.dts-_,E),0),h=Math.max(w(k.pts-_,E),0);var x=Math.round((d-E)/90);r&&x&&(x>1?o.logger.log("AVC:"+x+" ms hole between fragments detected,filling it"):x<-1&&o.logger.log("AVC:"+-x+" ms overlapping between fragments detected"),d=E,g[0].dts=d+_,h=Math.max(h-x,E),g[0].pts=h+_,o.logger.log("Video/PTS/DTS adjusted: "+Math.round(h/90)+"/"+Math.round(d/90)+",delta:"+x+" ms")),k=g[g.length-1],p=Math.max(w(k.dts-_,E),0),l=Math.max(w(k.pts-_,E),0),l=Math.max(l,p);var A=this.isSafari;A&&(i=Math.round((p-d)/(g.length-1)));for(var R=0,I=0,T=0;T<m;T++){for(var B=g[T],P=B.units,O=P.length,C=0,L=0;L<O;L++)C+=P[L].data.length;I+=C,R+=O,B.length=C,B.dts=A?d+T*i:Math.max(w(B.dts-_,E),d),B.pts=Math.max(w(B.pts-_,E),B.dts)}var j=I+4*R+8;try{u=new Uint8Array(j)}catch(t){return void this.observer.trigger(f.default.ERROR,{type:s.ErrorTypes.MUX_ERROR,details:s.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:j,reason:"fail allocating video mdat "+j})}var N=new DataView(u.buffer);N.setUint32(0,j),u.set(a.default.types.mdat,4);for(var D=0;D<m;D++){for(var U=g[D],F=U.units,q=0,z=void 0,V=0,W=F.length;V<W;V++){var G=F[V],K=G.data,H=G.data.byteLength;N.setUint32(b,H),b+=4,u.set(K,b),b+=H,q+=4+H}if(A)z=Math.max(0,i*Math.round((U.pts-U.dts)/i));else{if(D<m-1)i=g[D+1].dts-U.dts;else{var X=this.config,Z=U.dts-g[D>0?D-1:D].dts;if(X.stretchShortVideoTrack){var Y=X.maxBufferHole,J=X.maxSeekHole,$=Math.floor(Math.min(Y,J)*v),Q=(n?h+n*v:this.nextAudioPts)-U.pts;Q>$?((i=Q-Z)<0&&(i=Z),o.logger.log("It is approximately "+Q/90+" ms to the next segment; using duration "+i/90+" ms for the last video frame.")):i=Z}else i=Z}z=Math.round(U.pts-U.dts)}y.push({size:q,duration:i,cts:z,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:U.key?2:1,isNonSync:U.key?0:1}})}this.nextAvcDts=p+i;var tt=t.dropped;if(t.len=0,t.nbNalu=0,t.dropped=0,y.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var et=y[0].flags;et.dependsOn=2,et.isNonSync=0}t.samples=y,c=a.default.moof(t.sequenceNumber++,d,t),t.samples=[];var rt={data1:c,data2:u,startPTS:h/v,endPTS:(l+i)/v,startDTS:d/v,endDTS:this.nextAvcDts/v,type:"video",nb:y.length,dropped:tt};return this.observer.trigger(f.default.FRAG_PARSING_DATA,rt),rt}},{key:"remuxAudio",value:function(t,e,r,n){var u,c,h,d,l,p,b,v,g,y,m,w,_,S,M,E=t.inputTimeScale,k=E/t.timescale,x=(t.isAAC?1024:1152)*k,A=this._PTSNormalize,R=this._initDTS,I=!t.isAAC&&this.typeSupported.mpeg,T=I?0:8,B=[],P=[];if(t.samples.sort((function(t,e){return t.pts-e.pts})),P=t.samples,M=this.nextAudioPts,(r|=P.length&&M&&(n&&Math.abs(e-M/E)<.1||Math.abs(P[0].pts-M-R)<20*x))||(M=e*E),n&&t.isAAC)for(var O=0,C=M;O<P.length;){var L=P[O],j=A(L.pts-R,M)-C,N=Math.abs(1e3*j/E);if(j<=-x)o.logger.warn("Dropping 1 audio frame @ "+(C/E).toFixed(3)+"s due to "+N+" ms overlap."),P.splice(O,1),t.len-=L.unit.length;else if(j>=x&&N<1e4&&C){var D=Math.round(j/x);o.logger.warn("Injecting "+D+" audio frame @ "+(C/E).toFixed(3)+"s due to "+Math.round(1e3*j/E)+" ms gap.");for(var U=0;U<D;U++)S=C+R,S=Math.max(S,R),(_=i.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount))||(o.logger.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),_=L.unit.subarray()),P.splice(O,0,{unit:_,pts:S,dts:S}),t.len+=_.length,C+=x,O+=1;L.pts=L.dts=C+R,C+=x,O+=1}else Math.abs(j),C+=x,L.pts=L.dts=0===O?R+M:P[O-1].pts+x,O+=1}for(var F=0,q=P.length;F<q;F++){if(h=(u=P[F]).unit,g=u.pts-R,y=u.dts-R,void 0!==v)m=A(g,v),w=A(y,v),c.duration=Math.round((w-v)/k);else{m=A(g,M),w=A(y,M);var z=Math.round(1e3*(m-M)/E),V=0;if(r&&t.isAAC&&z){if(z>0&&z<1e4)V=Math.round((m-M)/x),o.logger.log(z+" ms hole between AAC samples detected,filling it"),V>0&&((_=i.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount))||(_=h.subarray()),t.len+=V*_.length);else if(z<-12){o.logger.log("drop overlapping AAC sample, expected/parsed/delta:"+(M/E).toFixed(3)+"s/"+(m/E).toFixed(3)+"s/"+-z+"ms"),t.len-=h.byteLength;continue}m=w=M}if(p=Math.max(0,m),b=Math.max(0,w),!(t.len>0))return void o.logger.log("no audio samples");var W=I?t.len:t.len+8;try{d=new Uint8Array(W)}catch(t){return o.logger.error("got error "+t),void this.observer.trigger(f.default.ERROR,{type:s.ErrorTypes.MUX_ERROR,details:s.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:W,reason:"fail allocating audio mdat "+W})}I||(new DataView(d.buffer).setUint32(0,W),d.set(a.default.types.mdat,4));for(var G=0;G<V;G++)S=m-(V-G)*x,(_=i.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount))||(o.logger.log("Unable to get silent frame for given audio codec; duplicating this frame instead."),_=h.subarray()),d.set(_,T),T+=_.byteLength,c={size:_.byteLength,cts:0,duration:1024,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},B.push(c)}d.set(h,T);var K=h.byteLength;T+=K,c={size:K,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},B.push(c),v=w}var H=0,X=B.length;if(X>=2&&(H=B[X-2].duration,c.duration=H),X){this.nextAudioPts=m+k*H,t.len=0,t.samples=B,l=I?new Uint8Array:a.default.moof(t.sequenceNumber++,b/k,t),t.samples=[];var Z={data1:l,data2:d,startPTS:p/E,endPTS:this.nextAudioPts/E,startDTS:b/E,endDTS:(w+k*H)/E,type:"audio",nb:X};return this.observer.trigger(f.default.FRAG_PARSING_DATA,Z),Z}return null}},{key:"remuxEmptyAudio",value:function(t,e,r,n){var a=t.inputTimeScale,s=a/(t.samplerate?t.samplerate:a),f=this.nextAudioPts,u=(void 0!==f?f:n.startDTS*a)+this._initDTS,c=n.endDTS*a+this._initDTS,h=1024*s,d=Math.ceil((c-u)/h),l=i.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(o.logger.warn("remux empty Audio"),l){for(var p=[],b=0;b<d;b++){var v=u+b*h;p.push({unit:l,pts:v,dts:v}),t.len+=l.length}t.samples=p,this.remuxAudio(t,e,r)}else o.logger.warn("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!")}},{key:"remuxID3",value:function(t,e){var r,n=t.samples.length,i=t.inputTimeScale,o=this._initPTS,a=this._initDTS;if(n){for(var s=0;s<n;s++)(r=t.samples[s]).pts=(r.pts-o)/i,r.dts=(r.dts-a)/i;this.observer.trigger(f.default.FRAG_PARSING_METADATA,{samples:t.samples})}t.samples=[],e=e}},{key:"remuxText",value:function(t,e){t.samples.sort((function(t,e){return t.pts-e.pts}));var r,n=t.samples.length,i=t.inputTimeScale,o=this._initPTS;if(n){for(var a=0;a<n;a++)(r=t.samples[a]).pts=(r.pts-o)/i;this.observer.trigger(f.default.FRAG_PARSING_USERDATA,{samples:t.samples})}t.samples=[],e=e}},{key:"_PTSNormalize",value:function(t,e){var r;if(void 0===e)return t;for(r=e<t?-8589934592:8589934592;Math.abs(t-e)>4294967296;)t+=r;return t}}]),t}();r.default=c},{516:516,517:517,519:519,525:525,534:534}],527:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=t(534),o=f(t(517)),a=t(516),s=f(t(528));function f(t){return t&&t.__esModule?t:{default:t}}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var c=["firefox","chrome","safari"],h=function(){function t(e,r,n,i){u(this,t),this.observer=e,this.video=r,this.unmutePlayOnStart=n,this.unmuteRequiredEvent=i,(this.mediaSource=new MediaSource).addEventListener("sourceopen",this.onSourceOpen.bind(this)),this.video.src=URL.createObjectURL(this.mediaSource),this.sourceBuffer=[],e.on(o.default.FRAG_PARSING_INIT_SEGMENT,function(t){this.onBufferCodecs(t.tracks),t.tracks.video&&this.append({startPTS:0,endPTS:0,data1:t.tracks.video.initSegment,type:"video"}),t.tracks.audio&&this.append({startPTS:0,endPTS:0,data1:t.tracks.audio.initSegment,type:"audio"})}.bind(this)),e.on(o.default.FRAG_PARSING_DATA,function(t){if(this.video.currentTime>0&&this.video.readyState<4){var e=!1,r=!1,n=1/0;if(this.sourceBuffer.audio){var i=this.sourceBuffer.audio.buffered;if(i.length>0){var o=i.start(i.length-1),a=i.end(i.length-1);a-o>1&&(e=!0,n=a)}}else e=!0;if(this.sourceBuffer.video){var s=this.sourceBuffer.video.buffered;if(s.length>0){var f=s.start(s.length-1),u=s.end(s.length-1);u-f>1&&(u<n&&(n=u),r=!0)}}else r=!0;if(e&&r)if(n-this.video.currentTime>3){var c=n-1;this.video.currentTime=c}}this.append(t,t.type)}.bind(this)),this.audioBuffer=new d("audio"),this.videoBuffer=new d("video"),this.updating=!1,this.pendingTracks={},this.tracks={},this.removed=[]}return n(t,[{key:"createBuffers",value:function(t){var e='video/mp4; codecs="'+codec+'"';MediaSource.isTypeSupported(e)?(this.mediaSource=new MediaSource,this.mime=e,this.video.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",this.onSourceOpen.bind(this))):this.observer.trigger(o.default.ERROR,{type:a.ErrorTypes.BUFFER_ERROR,info:"Failed to create buffer, codec is not supported "+codec})}},{key:"createSourceBuffers",value:function(t){var e=this.sourceBuffer,r=this.mediaSource;for(var n in t)if(!e[n]){var s=t[n],f=s.codec,u=s.container+";codecs="+f;i.logger.log("creating sourceBuffer("+u+")");try{var c=e[n]=r.addSourceBuffer(u);c.addEventListener("updateend",this.onSourceUpdateEnd.bind(this)),c.addEventListener("error",this.onSourceError.bind(this)),this.tracks[n]={codec:f,container:s.container},s.buffer=c}catch(t){i.logger.error("error while trying to add sourceBuffer:"+t.message),this.observer.trigger(o.default.ERROR,{type:a.ErrorTypes.MEDIA_ERROR,details:a.ErrorDetails.BUFFER_ADD_CODEC_ERROR,fatal:!1,err:t,mimeType:u})}}}},{key:"onBufferCodecs",value:function(t){if(0===Object.keys(this.sourceBuffer).length){for(var e in t)this.pendingTracks[e]=t[e];var r=this.mediaSource;r&&"open"===r.readyState&&this.checkPendingTracks()}}},{key:"append",value:function(t,e){"audio"==t.type?this.audioBuffer.append(t):"video"==t.type&&this.videoBuffer.append(t),this.doAppending()}},{key:"doAppending",value:function(){this.audioBuffer.ready()&&(this.audioBuffer.flushed?this.appendTo("audio",this.audioBuffer.next())&&this.audioBuffer.poll():this.audioBuffer.buffered()>2&&(!this.sourceBuffer.video||this.videoBuffer.flushed||this.videoBuffer.buffered()>2)&&this.appendTo("audio",this.audioBuffer.next())&&(this.audioBuffer.poll(),this.audioBuffer.flushed=!0)),this.videoBuffer.ready()&&(this.videoBuffer.flushed?this.appendTo("video",this.videoBuffer.next())&&this.videoBuffer.poll():this.videoBuffer.buffered()>2&&(!this.sourceBuffer.audio||this.audioBuffer.flushed||this.audioBuffer.buffered()>2)&&this.appendTo("video",this.videoBuffer.next())&&(this.videoBuffer.poll(),this.videoBuffer.flushed=!0))}},{key:"appendTo",value:function(t,e){if(e){if(this.sourceBuffer[t]&&!this.sourceBuffer[t].updating)try{return e.data1?(this.sourceBuffer[t].appendBuffer(e.data1),e.data1=null,null==e.data2):(e.data2&&this.sourceBuffer[t].appendBuffer(e.data2),!0)}catch(e){22==e.code?(i.logger.error("Failed to append data to buffer "+t+" error "+e),this.cleanBuffer(t)):i.logger.error(e)}return!1}}},{key:"cleanBuffer",value:function(t){if(!this.sourceBuffer[t].updating){var e=this.video.currentTime,r=this.sourceBuffer[t].buffered;if(r.length>0){var n=r.end(0),o=e>n+300?0:n-e+300,a=e>n?0:60,s=r.start(0);if(s<this.removed[t])return;if(n-o<=s||n-o-s<a)return;this.removed[t]=n-o,i.logger.log("Removing buffered "+t+" start "+s+" end "+(n-o)+" currentTime "+e),this.sourceBuffer[t].remove(s,n-o)}}}},{key:"onSourceOpen",value:function(t){var e=this;i.logger.log("media source opened");var r=this.mediaSource;r&&(r.removeEventListener("sourceopen",this.onSourceOpen),this.video.play().then((function(){e.unmutePlayOnStart?e.video.muted=!1:e.fireUnmuteEvent()})).catch((function(t){var r=s.default.getConfig();c.includes(r.browserDetails)&&e.video?(i.logger.info("Autoplay detected! Trying to play a video with a muted sound..."),e.video.muted=!0,e.video.play(),e.fireUnmuteEvent()):i.logger.error(t)}))),this.checkPendingTracks()}},{key:"checkPendingTracks",value:function(){var t=this.pendingTracks;Object.keys(t).length&&(this.createSourceBuffers(t),this.pendingTracks={},this.doAppending())}},{key:"onSourceUpdateEnd",value:function(t){this.sourceBuffer.audio&&this.cleanBuffer("audio"),this.sourceBuffer.video&&this.cleanBuffer("video"),this.doAppending()}},{key:"onSourceError",value:function(t){this.observer.trigger(o.default.ERROR,{type:a.ErrorTypes.BUFFER_ERROR,info:t})}},{key:"release",value:function(){this.video&&(this.sourceBuffer={},URL.revokeObjectURL(this.video.src),this.video.removeAttribute("src"),this.video.load(),this.video=null)}},{key:"fireUnmuteEvent",value:function(){this.unmuteRequiredEvent&&"function"==typeof this.unmuteRequiredEvent&&this.unmuteRequiredEvent()}}]),t}();r.default=h;var d=function(){function t(e){u(this,t),this.samples=[],this.start=-1,this.end=0,this.flushed=!1,this.type=e}return n(t,[{key:"buffered",value:function(){return this.end-this.start}},{key:"append",value:function(t){this.samples.push(t),-1==this.start&&(this.start=t.startPTS),this.end=t.endPTS}},{key:"next",value:function(){return this.samples[0]}},{key:"poll",value:function(){var t=this.samples.shift();return 0==this.samples.length?(this.start=-1,this.end=0):(this.start=this.samples[0].startPTS,this.end=this.samples[this.samples.length-1].endPTS),t}},{key:"ready",value:function(){return this.buffered()>0}}]),t}()},{516:516,517:517,528:528,534:534}],528:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();t(17);var i,o=t(523),a=(i=o)&&i.__esModule?i:{default:i};var s,f=t(475),u=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return n(t,null,[{key:"createConnection",value:function(t){void 0===t.enableWorker&&(t.enableWorker=!0),void 0===t.connectionConstraints?t.connectionConstraints={fragmentLengthMs:100,cutByIFrameOnly:!1}:(void 0===t.connectionConstraints.fragmentLengthMs&&(t.connectionConstraints.fragmentLengthMs=100),void 0===t.connectionConstraints.cutByIFrameOnly&&(t.connectionConstraints.cutByIFrameOnly=!1));var e=new a.default(t);return f.resolve(e)}},{key:"getMediaAccess",value:function(){return new f((function(t,e){e(new Error("This provider doesn't support getMediaAccess"))}))}},{key:"releaseMedia",value:function(){return!1}},{key:"available",value:function(){return"MediaSource"in window}},{key:"listDevices",value:function(){return new f((function(t,e){e(new Error("This provider doesn't support listDevices"))}))}},{key:"configure",value:function(t){s=t}},{key:"getConfig",value:function(){return s}},{key:"playFirstSound",value:function(){}},{key:"playFirstVideo",value:function(t,e,r,n){return a.default.playFirstVideo(t,e,r,n)}}]),t}();r.default=u},{17:17,475:475,523:523}],529:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();r.MediaFileReader=function(){function t(e,r,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.observer=e,this.elementId=r.mainUrl,this.buffer=r.buffer,this.demuxer=n,this.buffer?this.feedDemuxer(this.buffer):document.getElementById(this.elementId).addEventListener("change",this.handleFileSelect.bind(this),!1)}return n(t,[{key:"handleFileSelect",value:function(t){var e=t.target.files[0],r=new FileReader,n=this;r.onload=function(t){n.feedDemuxer(t.target.result)},r.readAsArrayBuffer(e)}},{key:"feedDemuxer",value:function(t){for(var e=this.demuxer,r=new DataView(t),n=0;n<t.byteLength;){var i=r.getInt32(n+5),o=t.slice(n,n+i+9);n+=9,n+=i,e.onData(o)}}},{key:"disconnect",value:function(){}}]),t}()},{}],530:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=t(517),a=((n=o)&&n.__esModule,t(516));var s=function(){function t(e,r,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.mediaConnection=e,this.url=r.mainUrl,this.token=r.authToken,this.state="NEW",this.socket=null,this.demuxer=n}return i(t,[{key:"connect",value:function(){var t=this;this.state="CONNECTING",this.socket=new WebSocket(this.url),this.socket.binaryType="arraybuffer",this.socket.onopen=this.onConnected.bind(this),this.socket.onmessage=function(e){if(e.data instanceof ArrayBuffer)t.demuxer.onData(e.data);else if("ping"===JSON.parse(e.data).message){var r={message:"pong"};t.socket.send(JSON.stringify(r))}},this.socket.onerror=function(e){t.state="ERROR",t.mediaConnection.trigger(Event.ERROR,{type:a.ErrorTypes.NETWORK_ERROR,info:e})},this.socket.onclose=this.onDisconnected.bind(this)}},{key:"disconnect",value:function(){"CONNECTING"!=this.state&&"CONNECTED"!=this.state||this.socket.close()}},{key:"onConnected",value:function(){var t={message:"connectMediaTransport"};t.data=[{authToken:this.token}],this.socket.send(JSON.stringify(t)),this.state="CONNECTED",this.mediaConnection.trigger(Event.TRANSPORT_CONNECTED,{})}},{key:"onDisconnected",value:function(){this.state="CLOSED",this.mediaConnection.trigger(Event.TRANSPORT_DISCONNECTED,{})}}]),t}();r.default=s},{516:516,517:517}],531:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();r.appendByteArray=function(t,e){var r=new Uint8Array((0|t.byteLength)+(0|e.byteLength));return r.set(t,0),r.set(e,0|t.byteLength),r},r.appendByteArrayAsync=function(t,e){return new Promise((function(r,n){var i=new Blob([t,e]),o=new FileReader;o.addEventListener("loadend",(function(){r()})),o.readAsArrayBuffer(i)}))},r.base64ToArrayBuffer=function(t){for(var e=window.atob(t),r=e.length,n=new Uint8Array(r),i=0;i<r;i++)n[i]=e.charCodeAt(i);return n.buffer},r.hexToByteArray=function(t){for(var e=t.length>>1,r=new Uint8Array(e),n=0;n<e;n++)r[n]=parseInt(t.substr(n<<1,2),16);return r},r.concatenate=function(t){for(var e=0,r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];var o=!0,a=!1,s=void 0;try{for(var f,u=n[Symbol.iterator]();!(o=(f=u.next()).done);o=!0){var c=f.value;e+=c.length}}catch(t){a=!0,s=t}finally{try{!o&&u.return&&u.return()}finally{if(a)throw s}}var h=new t(e),d=0,l=!0,p=!1,b=void 0;try{for(var v,g=n[Symbol.iterator]();!(l=(v=g.next()).done);l=!0){var y=v.value;h.set(y,d),d+=y.length}}catch(t){p=!0,b=t}finally{try{!l&&g.return&&g.return()}finally{if(p)throw b}}return h},r.bitSlice=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8*t.byteLength,n=Math.ceil((r-e)/8),i=new Uint8Array(n),o=e>>>3,a=(r>>>3)-1,s=7&e,f=8-s,u=8-r&7,c=0;c<n;++c){var h=0;c<a&&(h=t[o+c+1]>>f,c==a-1&&u<8&&(h>>=u,h<<=u)),i[c]=t[o+c]<<s|h}return i};r.BitArray=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.src=new DataView(e.buffer,e.byteOffset,e.byteLength),this.bitpos=0,this.byte=this.src.getUint8(0),this.bytepos=0}return n(t,[{key:"readBits",value:function(t){if(32<(0|t)||0==(0|t))throw new Error("too big");for(var e=0,r=t;r>0;--r)e=(0|e)<<1|(0|this.byte)>>8-++this.bitpos&1,(0|this.bitpos)>=8&&(this.byte=this.src.getUint8(++this.bytepos),this.bitpos&=7);return e}},{key:"skipBits",value:function(t){return this.bitpos+=7&(0|t),this.bytepos+=(0|t)>>>3,this.bitpos>7&&(this.bitpos&=7,++this.bytepos),this.finished()?this.bytepos-this.src.byteLength-this.src.bitpos:(this.byte=this.src.getUint8(this.bytepos),0)}},{key:"finished",value:function(){return this.bytepos>=this.src.byteLength}}]),t}()},{}],532:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;i(this,t),this.array=e,this.view=new DataView(e),this.i=r,this.length=e.byteLength-r}return n(t,[{key:"readByte",value:function(){if(!(this.length-this.i<1)){var t=this.view.getInt8(this.i);return this.i++,t}logger.error("Buffer end reached")}},{key:"readInt",value:function(){if(!(this.length-this.i<4)){var t=this.view.getInt32(this.i);return this.i+=4,t}logger.error("Buffer end reached")}},{key:"readShort",value:function(){if(!(this.length-this.i<2)){var t=this.view.getInt16(this.i);return this.i+=2,t}logger.error("Buffer end reached")}},{key:"skipBytes",value:function(t){this.i+=t}},{key:"readableBytes",value:function(){return this.length-this.i}},{key:"sliceAsUint8Array",value:function(t,e){var r=this.array.slice(t,t+e);return this.i+=e,new Uint8Array(r)}},{key:"readerIndex",value:function(){return this.i}},{key:"resetReaderIndex",value:function(){this.i=this.array.byteLength-this.length}}]),t}();r.default=o},{}],533:[function(t,e,r){"use strict";e.exports={hexDump:function(t){var e,r="";for(e=0;e<t.length;e++){var n=t[e].toString(16);n.length<2&&(n="0"+n),r+=n}return r}}},{}],534:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function i(){}var o={trace:i,debug:i,log:i,warn:i,info:i,error:i},a=o;function s(t,e){return e="["+t+"] > "+e}function f(t){var e=self.console[t];return e?function(){for(var r=arguments.length,n=Array(r),i=0;i<r;i++)n[i]=arguments[i];n[0]&&(n[0]=s(t,n[0])),e.apply(self.console,n)}:i}r.enableLogs=function(t){if(!0===t||"object"===(void 0===t?"undefined":n(t))){!function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];r.forEach((function(e){a[e]=t[e]?t[e].bind(t):f(e)}))}(t,"debug","log","info","warn","error");try{a.log()}catch(t){a=o}}else a=o},r.logger=a},{}]},{},[518])(518)}));
|
|
12056
12372
|
|
|
12057
12373
|
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
|
12058
|
-
},{}],
|
|
12374
|
+
},{}],43:[function(require,module,exports){
|
|
12059
12375
|
'use strict';
|
|
12060
12376
|
var SESSION_STATUS = require('./constants').SESSION_STATUS;
|
|
12061
12377
|
var STREAM_STATUS = require('./constants').STREAM_STATUS;
|
|
@@ -12618,7 +12934,7 @@ module.exports = {
|
|
|
12618
12934
|
sdk: Flashphoner
|
|
12619
12935
|
};
|
|
12620
12936
|
|
|
12621
|
-
},{"./constants":
|
|
12937
|
+
},{"./constants":40,"./flashphoner-core":41,"./util":45,"promise-polyfill":4,"uuid":8}],44:[function(require,module,exports){
|
|
12622
12938
|
'use strict';
|
|
12623
12939
|
|
|
12624
12940
|
var webrtcAdapter = require('webrtc-adapter');
|
|
@@ -13191,7 +13507,7 @@ module.exports = {
|
|
|
13191
13507
|
logger.info(LOG_PREFIX, "Initialized");
|
|
13192
13508
|
}
|
|
13193
13509
|
};
|
|
13194
|
-
},{"./util":
|
|
13510
|
+
},{"./util":45,"es6-promise":1,"uuid":8,"webrtc-adapter":23}],45:[function(require,module,exports){
|
|
13195
13511
|
'use strict';
|
|
13196
13512
|
|
|
13197
13513
|
const isEmptyObject = function( obj ) {
|
|
@@ -13698,7 +14014,7 @@ module.exports = {
|
|
|
13698
14014
|
setPublishingBitrate
|
|
13699
14015
|
};
|
|
13700
14016
|
|
|
13701
|
-
},{}],
|
|
14017
|
+
},{}],46:[function(require,module,exports){
|
|
13702
14018
|
-'use strict';
|
|
13703
14019
|
|
|
13704
14020
|
var browserDetails = require('webrtc-adapter').default.browserDetails;
|
|
@@ -13720,6 +14036,8 @@ var validBrowsers = ["firefox", "chrome", "safari"];
|
|
|
13720
14036
|
var videoCams = [];
|
|
13721
14037
|
// list of presented audio input devices
|
|
13722
14038
|
var mics = [];
|
|
14039
|
+
// current audio source device label
|
|
14040
|
+
let audioSourceDevice = "";
|
|
13723
14041
|
|
|
13724
14042
|
var createConnection = function (options) {
|
|
13725
14043
|
return new Promise(function (resolve, reject) {
|
|
@@ -14656,10 +14974,14 @@ var getMediaAccess = function (constraints, display, disableConstraintsNormaliza
|
|
|
14656
14974
|
// WCS-2933, fix mobile streaming issues, gather info about available devices before streaming, but not during
|
|
14657
14975
|
listDevices(false).then((devices) => {
|
|
14658
14976
|
devices.video.forEach(function (device) {
|
|
14659
|
-
videoCams.
|
|
14977
|
+
if (!videoCams.find((cam) => device.id === cam.id)) {
|
|
14978
|
+
videoCams.push(device);
|
|
14979
|
+
}
|
|
14660
14980
|
})
|
|
14661
14981
|
devices.audio.forEach(function (device) {
|
|
14662
|
-
mics.
|
|
14982
|
+
if (!mics.find((mic) => device.id === mic.id)) {
|
|
14983
|
+
mics.push(device);
|
|
14984
|
+
}
|
|
14663
14985
|
})
|
|
14664
14986
|
navigator.getUserMedia(constraints, function (stream) {
|
|
14665
14987
|
loadVideo(display, stream, screenShare, requestAudioConstraints, resolve, constraints, useCanvas);
|
|
@@ -14889,6 +15211,7 @@ var createGainNode = function (stream) {
|
|
|
14889
15211
|
source.connect(gainNode);
|
|
14890
15212
|
gainNode.connect(destination);
|
|
14891
15213
|
var sourceAudioTrack = stream.getAudioTracks()[0];
|
|
15214
|
+
audioSourceDevice = sourceAudioTrack.label;
|
|
14892
15215
|
gainNode.sourceAudioTrack = sourceAudioTrack;
|
|
14893
15216
|
gainNode.release = function () {
|
|
14894
15217
|
this.sourceAudioTrack.stop();
|
|
@@ -14899,6 +15222,10 @@ var createGainNode = function (stream) {
|
|
|
14899
15222
|
return gainNode;
|
|
14900
15223
|
};
|
|
14901
15224
|
|
|
15225
|
+
const getAudioSourceDevice = function () {
|
|
15226
|
+
return audioSourceDevice;
|
|
15227
|
+
}
|
|
15228
|
+
|
|
14902
15229
|
//Fix to set screen resolution for screen sharing in Firefox
|
|
14903
15230
|
var setScreenResolution = function (video, stream, constraints) {
|
|
14904
15231
|
var newHeight;
|
|
@@ -15015,6 +15342,22 @@ function getCacheInstance(display) {
|
|
|
15015
15342
|
}
|
|
15016
15343
|
}
|
|
15017
15344
|
|
|
15345
|
+
function getVideoElement(display) {
|
|
15346
|
+
if (display) {
|
|
15347
|
+
for (const child of display.children) {
|
|
15348
|
+
if (child.tagName.toLowerCase() === "video") {
|
|
15349
|
+
return child;
|
|
15350
|
+
} else {
|
|
15351
|
+
let grandchild = getVideoElement(child);
|
|
15352
|
+
if (grandchild) {
|
|
15353
|
+
return grandchild;
|
|
15354
|
+
}
|
|
15355
|
+
}
|
|
15356
|
+
}
|
|
15357
|
+
}
|
|
15358
|
+
return null;
|
|
15359
|
+
}
|
|
15360
|
+
|
|
15018
15361
|
function createVideoElement(useControls = false) {
|
|
15019
15362
|
let video = document.createElement('video');
|
|
15020
15363
|
// Prepare video tag to auto play and add specific Safari tweaks #WCS-2425
|
|
@@ -15141,8 +15484,8 @@ var listDevices = function (labels, kind, deviceConstraints) {
|
|
|
15141
15484
|
return;
|
|
15142
15485
|
}
|
|
15143
15486
|
navigator.getUserMedia(constraints, function (stream) {
|
|
15144
|
-
navigator.mediaDevices.enumerateDevices().then(function (
|
|
15145
|
-
resolve(getList(
|
|
15487
|
+
navigator.mediaDevices.enumerateDevices().then(function (devicesWithLabels) {
|
|
15488
|
+
resolve(getList(devicesWithLabels));
|
|
15146
15489
|
stream.getTracks().forEach(function (track) {
|
|
15147
15490
|
track.stop();
|
|
15148
15491
|
});
|
|
@@ -15282,9 +15625,14 @@ module.exports = {
|
|
|
15282
15625
|
logger = configuration.logger;
|
|
15283
15626
|
createMicGainNode = (typeof configuration.createMicGainNode !== 'undefined') ? configuration.createMicGainNode : true;
|
|
15284
15627
|
logger.info(LOG_PREFIX, "Initialized");
|
|
15285
|
-
}
|
|
15628
|
+
},
|
|
15629
|
+
videoCams: videoCams,
|
|
15630
|
+
mics: mics,
|
|
15631
|
+
getAudioSourceDevice: getAudioSourceDevice,
|
|
15632
|
+
getCacheInstance: getCacheInstance,
|
|
15633
|
+
getVideoElement: getVideoElement
|
|
15286
15634
|
};
|
|
15287
|
-
},{"./constants":
|
|
15635
|
+
},{"./constants":40,"./util":45,"uuid":8,"webrtc-adapter":23}],47:[function(require,module,exports){
|
|
15288
15636
|
'use strict';
|
|
15289
15637
|
|
|
15290
15638
|
var WSPlayer = require('./WSPlayer').WSPlayer;
|
|
@@ -15495,5 +15843,5 @@ module.exports = {
|
|
|
15495
15843
|
logger.info(LOG_PREFIX, "Initialized");
|
|
15496
15844
|
}
|
|
15497
15845
|
};
|
|
15498
|
-
},{"./WSPlayer":38,"./util":
|
|
15846
|
+
},{"./WSPlayer":38,"./util":45}]},{},[43])(43)
|
|
15499
15847
|
});
|