2022-04-30 00:01:21 +00:00
var EJS = function ( _0x574f5e ) {
window . EJS _MODULES = _0x574f5e ;
var _0x41a1e4 = { } ;
2022-05-04 19:49:18 +00:00
var o = [ ] ;
2022-04-30 00:01:21 +00:00
function _0x1d686b ( _0x289550 ) {
if ( _0x41a1e4 [ _0x289550 ] ) return _0x41a1e4 [ _0x289550 ] . exports ;
o . push ( _0x289550 )
var _0x4f6398 = _0x41a1e4 [ _0x289550 ] = {
'i' : _0x289550 ,
2022-05-04 19:49:18 +00:00
'l' : false ,
2022-04-30 00:01:21 +00:00
'exports' : { }
} ;
return _0x574f5e [ _0x289550 ] . call ( _0x4f6398 . exports , _0x4f6398 , _0x4f6398 . exports , _0x1d686b ) , _0x4f6398 . l = true , _0x4f6398 . exports ;
}
window . aba = function ( ) {
return o . sort ( function ( a , b ) {
return ( a > b ) ? 1 : - 1 ;
} ) ;
}
2022-05-04 23:39:59 +00:00
if ( ! typeof Array . isArray == 'function' ) {
var _0x484695 = { } . toString ;
Array . isArray = function ( _0xd04970 ) {
return '[object Array]' == _0x484695 . call ( _0xd04970 ) ;
} ;
}
_0x1d686b . m = _0x574f5e ;
_0x1d686b . c = _0x41a1e4 ;
_0x1d686b . d = function ( _0x3c0e40 , _0x5aa193 , _0x1a35d2 ) {
2022-04-30 00:01:21 +00:00
_0x1d686b . o ( _0x3c0e40 , _0x5aa193 ) || Object . defineProperty ( _0x3c0e40 , _0x5aa193 , {
'enumerable' : true ,
'get' : _0x1a35d2
} ) ;
2022-05-04 23:39:59 +00:00
} ;
_0x1d686b . r = function ( _0x4668d1 ) {
2022-04-30 00:01:21 +00:00
'undefined' != typeof Symbol && Symbol . toStringTag && Object . defineProperty ( _0x4668d1 , Symbol . toStringTag , {
'value' : 'Module'
} ) , Object . defineProperty ( _0x4668d1 , '__esModule' , {
'value' : true
} ) ;
2022-05-04 23:39:59 +00:00
} ;
_0x1d686b . t = function ( _0xb8bed8 , _0x43e71a ) {
2022-04-30 00:01:21 +00:00
if ( 0x1 & _0x43e71a && ( _0xb8bed8 = _0x1d686b ( _0xb8bed8 ) ) , 0x8 & _0x43e71a ) return _0xb8bed8 ;
if ( 0x4 & _0x43e71a && 'object' == typeof _0xb8bed8 && _0xb8bed8 && _0xb8bed8 . _ _esModule ) return _0xb8bed8 ;
var _0x300168 = Object . create ( null ) ;
if ( _0x1d686b . r ( _0x300168 ) , Object . defineProperty ( _0x300168 , 'default' , {
'enumerable' : true ,
'value' : _0xb8bed8
} ) , 0x2 & _0x43e71a && 'string' != typeof _0xb8bed8 )
for ( var _0xbd7857 in _0xb8bed8 ) _0x1d686b . d ( _0x300168 , _0xbd7857 , function ( _0x811a86 ) {
return _0xb8bed8 [ _0x811a86 ] ;
} . bind ( null , _0xbd7857 ) ) ;
return _0x300168 ;
2022-05-04 23:39:59 +00:00
} ;
_0x1d686b . n = function ( _0x55b0d4 ) {
2022-04-30 00:01:21 +00:00
var _0x4d7468 = _0x55b0d4 && _0x55b0d4 . _ _esModule ? function ( ) {
return _0x55b0d4 . default ;
} : function ( ) {
return _0x55b0d4 ;
} ;
return _0x1d686b . d ( _0x4d7468 , 'a' , _0x4d7468 ) , _0x4d7468 ;
2022-05-04 23:39:59 +00:00
} ;
_0x1d686b . o = function ( _0x1ed01a , _0x4abf0b ) {
2022-04-30 00:01:21 +00:00
return Object . prototype . hasOwnProperty . call ( _0x1ed01a , _0x4abf0b ) ;
2022-05-04 23:39:59 +00:00
} ;
_0x1d686b . p = '' ;
2022-05-06 16:21:08 +00:00
_0x1d686b . s = 0x18c ;
return _0x1d686b ( _0x1d686b . s ) ;
} ( [ function ( a ) {
a . exports = function ( error , element , _this ) {
if ( error . response . status === 0 ) {
element . innerHTML = '<strong style="color:#f00;text-shadow: 0px 0px 3px;"><a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors">' + _this . localization ( 'CORS Error' ) + '</a></strong>' ;
} else {
element . innerHTML = '<strong style="color:#f00;text-shadow: 0px 0px 3px;">' + _this . localization ( 'Network Error' ) + '</strong>' ;
}
}
} , null , null , null , null , null , function ( _0x3982a1 , _0x519c5e , _0x21c4c0 ) {
2022-04-30 00:01:21 +00:00
! function ( _0x36fa8f ) {
'use strict' ;
var _0x519c5e = function ( ) { } ,
_0x21c4c0 = {
'getType' : function ( ) {
return 'null' ;
} ,
'isSupported' : function ( ) {
return ! 0x1 ;
} ,
'update' : _0x519c5e
} ,
_0x51f790 = function ( _0x961a83 ) {
var _0x21c4c0 = this ,
_0x55f0e2 = window ;
this . update = _0x519c5e , this . requestAnimationFrame = _0x961a83 || _0x55f0e2 . requestAnimationFrame || _0x55f0e2 . webkitRequestAnimationFrame || _0x55f0e2 . mozRequestAnimationFrame , this . tickFunction = function ( ) {
_0x21c4c0 . update ( ) , _0x21c4c0 . startTicker ( ) ;
} , this . startTicker = function ( ) {
_0x21c4c0 . requestAnimationFrame . apply ( _0x55f0e2 , [ _0x21c4c0 . tickFunction ] ) ;
} ;
} ;
_0x51f790 . prototype . start = function ( _0x17a8e5 ) {
this . update = _0x17a8e5 || _0x519c5e , this . startTicker ( ) ;
} ;
var _0x594d89 = function ( ) { } ;
_0x594d89 . prototype . update = _0x519c5e , _0x594d89 . prototype . start = function ( _0x39fdd2 ) {
this . update = _0x39fdd2 || _0x519c5e ;
} ;
var _0x2ff982 = function ( _0x2b1a98 , _0x4f87ba ) {
this . listener = _0x2b1a98 , this . gamepadGetter = _0x4f87ba , this . knownGamepads = [ ] ;
} ;
_0x2ff982 . factory = function ( _0xc62323 ) {
var _0x519c5e = _0x21c4c0 ,
_0x2c02e1 = window && window . navigator ;
return _0x2c02e1 && ( void 0x0 !== _0x2c02e1 . getGamepads ? _0x519c5e = new _0x2ff982 ( _0xc62323 , function ( ) {
return _0x2c02e1 . getGamepads ( ) ;
} ) : void 0x0 !== _0x2c02e1 . webkitGamepads ? _0x519c5e = new _0x2ff982 ( _0xc62323 , function ( ) {
return _0x2c02e1 . webkitGamepads ( ) ;
} ) : void 0x0 !== _0x2c02e1 . webkitGetGamepads && ( _0x519c5e = new _0x2ff982 ( _0xc62323 , function ( ) {
return _0x2c02e1 . webkitGetGamepads ( ) ;
} ) ) ) , _0x519c5e ;
} , _0x2ff982 . getType = function ( ) {
return 'WebKit' ;
} , _0x2ff982 . prototype . getType = function ( ) {
return _0x2ff982 . getType ( ) ;
} , _0x2ff982 . prototype . isSupported = function ( ) {
return true ;
} , _0x2ff982 . prototype . update = function ( ) {
var _0x36fa8f , _0x519c5e , _0x21c4c0 = Array . prototype . slice . call ( this . gamepadGetter ( ) , 0x0 ) ;
for ( _0x519c5e = this . knownGamepads . length - 0x1 ; _0x519c5e >= 0x0 ; _0x519c5e -- ) _0x36fa8f = this . knownGamepads [ _0x519c5e ] , _0x21c4c0 . indexOf ( _0x36fa8f ) < 0x0 && ( this . knownGamepads . splice ( _0x519c5e , 0x1 ) , this . listener . _disconnect ( _0x36fa8f ) ) ;
for ( _0x519c5e = 0x0 ; _0x519c5e < _0x21c4c0 . length ; _0x519c5e ++ ) ( _0x36fa8f = _0x21c4c0 [ _0x519c5e ] ) && this . knownGamepads . indexOf ( _0x36fa8f ) < 0x0 && ( this . knownGamepads . push ( _0x36fa8f ) , this . listener . _connect ( _0x36fa8f ) ) ;
} ;
var _0x2f4e6b = function ( _0x3d65fc ) {
this . listener = _0x3d65fc , window . addEventListener ( 'gamepadconnected' , function ( _0x44ea49 ) {
_0x3d65fc . _connect ( _0x44ea49 . gamepad ) ;
} ) , window . addEventListener ( 'gamepaddisconnected' , function ( _0xfb7aa0 ) {
_0x3d65fc . _disconnect ( _0xfb7aa0 . gamepad ) ;
} ) ;
} ;
_0x2f4e6b . factory = function ( _0x4c832a ) {
var _0x519c5e = _0x21c4c0 ;
return window && void 0x0 !== window . addEventListener && ( _0x519c5e = new _0x2f4e6b ( _0x4c832a ) ) , _0x519c5e ;
} , _0x2f4e6b . getType = function ( ) {
return 'Firefox' ;
} , _0x2f4e6b . prototype . getType = function ( ) {
return _0x2f4e6b . getType ( ) ;
} , _0x2f4e6b . prototype . isSupported = function ( ) {
return - 0x1 !== ( window && window . navigator ) . userAgent . indexOf ( 'Firefox' ) ;
} , _0x2f4e6b . prototype . update = _0x519c5e ;
var _0x5633cb = function ( _0x1f6314 ) {
this . updateStrategy = _0x1f6314 || new _0x51f790 ( ) , this . gamepads = [ ] , this . listeners = { } , this . platform = _0x21c4c0 , this . deadzone = 0.03 , this . maximizeThreshold = 0.97 ;
} ;
_0x5633cb . UpdateStrategies = {
'AnimFrameUpdateStrategy' : _0x51f790 ,
'ManualUpdateStrategy' : _0x594d89
} , _0x5633cb . PlatformFactories = [ _0x2f4e6b . factory , _0x2ff982 . factory ] , _0x5633cb . Type = {
'N64' : 'n64' ,
'PLAYSTATION' : 'playstation' ,
'LOGITECH' : 'logitech' ,
'XBOX' : 'xbox' ,
'ECKA' : 'ecka' ,
'UNKNOWN' : 'unknown'
} , _0x5633cb . Event = {
'CONNECTED' : 'connected' ,
'UNSUPPORTED' : 'unsupported' ,
'DISCONNECTED' : 'disconnected' ,
'TICK' : 'tick' ,
'BUTTON_DOWN' : 'button-down' ,
'BUTTON_UP' : 'button-up' ,
'AXIS_CHANGED' : 'axis-changed'
} , _0x5633cb . StandardButtons = [ 'BUTTON_1' , 'BUTTON_2' , 'BUTTON_3' , 'BUTTON_4' , 'LEFT_TOP_SHOULDER' , 'RIGHT_TOP_SHOULDER' , 'LEFT_BOTTOM_SHOULDER' , 'RIGHT_BOTTOM_SHOULDER' , 'SELECT_BACK' , 'START_FORWARD' , 'LEFT_STICK' , 'RIGHT_STICK' , 'DPAD_UP' , 'DPAD_DOWN' , 'DPAD_LEFT' , 'DPAD_RIGHT' , 'HOME' ] , _0x5633cb . StandardAxes = [ 'LEFT_STICK_X' , 'LEFT_STICK_Y' , 'RIGHT_STICK_X' , 'RIGHT_STICK_Y' ] ;
var _0x11b15e , _0x1380fc = function ( _0x2a091d , _0x396791 , _0x49a80e ) {
return _0x396791 < _0x2a091d . length ? _0x2a091d [ _0x396791 ] : _0x49a80e + ( _0x396791 - _0x2a091d . length + 0x1 ) ;
} ;
_0x5633cb . StandardMapping = {
'env' : { } ,
'buttons' : {
'byButton' : [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x2 , 0x3 ]
}
} , _0x5633cb . Mappings = [ {
'env' : {
'platform' : _0x2f4e6b . getType ( ) ,
'type' : _0x5633cb . Type . N64
} ,
'buttons' : {
'byButton' : [ 0x2 , 0x1 , 0x3 , 0x0 , 0x4 , 0x5 , - 0x1 , - 0x1 , 0x8 , 0x9 , - 0x1 , - 0x1 , 0xc , 0xd , 0xe , 0xf , - 0x1 ]
} ,
'axes' : {
'byAxis' : [ 0x1 , 0x2 , - 0x1 , - 0x1 ]
}
} , {
'env' : {
'platform' : _0x2ff982 . getType ( ) ,
'type' : _0x5633cb . Type . N64
} ,
'buttons' : {
'byButton' : [ 0x2 , 0x1 , 0x3 , 0x0 , 0x4 , 0x5 , - 0x1 , - 0x1 , 0x8 , 0x9 , - 0x1 , - 0x1 , 0xc , 0xd , 0xe , 0xf , - 0x1 ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , - 0x1 , - 0x1 ]
}
} , {
'env' : {
'platform' : _0x2f4e6b . getType ( ) ,
'type' : _0x5633cb . Type . XBOX
} ,
'buttons' : {
'byButton' : [ 0x0 , 0x1 , 0x2 , 0x3 , 0x4 , 0x5 , 0xf , 0x10 , 0x9 , 0x8 , 0x6 , 0x7 , 0xb , 0xc , 0xd , 0xe , 0xa ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x2 , 0x3 ]
}
} , {
'env' : {
'platform' : _0x2f4e6b . getType ( ) ,
'type' : _0x5633cb . Type . PLAYSTATION
} ,
'buttons' : {
'byButton' : [ 0xe , 0xd , 0xf , 0xc , 0xa , 0xb , 0x8 , 0x9 , 0x0 , 0x3 , 0x1 , 0x2 , 0x4 , 0x6 , 0x7 , 0x5 , 0x10 ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x2 , 0x3 ]
}
} , {
'env' : {
'platform' : _0x2ff982 . getType ( ) ,
'type' : _0x5633cb . Type . LOGITECH
} ,
'buttons' : {
'byButton' : [ 0x1 , 0x2 , 0x0 , 0x3 , 0x4 , 0x5 , 0x6 , 0x7 , 0x8 , 0x9 , 0xa , 0xb , 0xb , 0xc , 0xd , 0xe , 0xa ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x2 , 0x3 ]
}
} , {
'env' : {
'platform' : _0x2f4e6b . getType ( ) ,
'type' : _0x5633cb . Type . LOGITECH
} ,
'buttons' : {
'byButton' : [ 0x0 , 0x1 , 0x2 , 0x3 , 0x4 , 0x5 , - 0x1 , - 0x1 , 0x6 , 0x7 , 0x8 , 0x9 , 0xb , 0xc , 0xd , 0xe , 0xa ] ,
'byAxis' : [ - 0x1 , - 0x1 , - 0x1 , - 0x1 , - 0x1 , - 0x1 , [ 0x2 , 0x0 , 0x1 ] ,
[ 0x2 , 0x0 , - 0x1 ]
]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x3 , 0x4 ]
}
} , {
'env' : {
'platform' : _0x2ff982 . getType ( ) ,
'type' : _0x5633cb . Type . ECKA
} ,
'buttons' : {
'byButton' : [ 0x2 , 0x1 , 0x3 , 0x0 , 0x4 , 0x5 , 0x6 , 0x7 , 0x8 , 0x9 , 0xa , 0xb , 0xb , 0xc , 0xd , 0xe , 0xa ] ,
'byAxis' : [ - 0x1 , - 0x1 , - 0x1 , - 0x1 , - 0x1 , - 0x1 , [ 0x2 , 0x0 , 0x1 ] ,
[ 0x2 , 0x0 , - 0x1 ]
]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x3 , 0x4 ]
}
} , {
'env' : {
'platform' : _0x2ff982 . getType ( ) ,
'type' : _0x5633cb . Type . UNKNOWN
} ,
'buttons' : {
'byButton' : [ 0x0 , 0x1 , 0x2 , 0x3 , 0x4 , 0x5 , - 0x1 , - 0x1 , 0x6 , 0x7 , 0x8 , 0x9 , 0xb , 0xc , 0xd , 0xe , 0xf , 0x10 , 0x11 , 0xa ]
} ,
'axes' : {
'byAxis' : [ 0x0 , 0x1 , 0x2 , 0x5 ]
}
} ] , _0x5633cb . prototype . init = function ( ) {
var _0x36fa8f = _0x5633cb . resolvePlatform ( this ) ,
_0x519c5e = this ;
return this . platform = _0x36fa8f , this . updateStrategy . start ( function ( ) {
_0x519c5e . _update ( ) ;
} ) , this . buttonState = [ ] , this . extraButtonState = [ ] , _0x36fa8f . isSupported ( ) ;
} , _0x5633cb . prototype . bind = function ( _0x1ad7a3 , _0x381962 ) {
return void 0x0 === this . listeners [ _0x1ad7a3 ] && ( this . listeners [ _0x1ad7a3 ] = [ ] ) , this . listeners [ _0x1ad7a3 ] . push ( _0x381962 ) , this ;
} , _0x5633cb . prototype . unbind = function ( _0x1e8e29 , _0x14faad ) {
if ( void 0x0 !== _0x1e8e29 ) {
if ( void 0x0 !== _0x14faad ) {
if ( void 0x0 === this . listeners [ _0x1e8e29 ] ) return ! 0x1 ;
for ( var _0x21c4c0 = 0x0 ; _0x21c4c0 < this . listeners [ _0x1e8e29 ] . length ; _0x21c4c0 ++ )
if ( this . listeners [ _0x1e8e29 ] [ _0x21c4c0 ] === _0x14faad ) return this . listeners [ _0x1e8e29 ] . splice ( _0x21c4c0 , 0x1 ) , true ;
return ! 0x1 ;
}
this . listeners [ _0x1e8e29 ] = [ ] ;
} else this . listeners = { } ;
} , _0x5633cb . prototype . count = function ( ) {
return this . gamepads . length ;
} , _0x5633cb . prototype . _fire = function ( _0x4ccbe8 , _0x5d1f53 ) {
if ( void 0x0 !== this . listeners [ _0x4ccbe8 ] ) {
for ( var _0x21c4c0 = 0x0 ; _0x21c4c0 < this . listeners [ _0x4ccbe8 ] . length ; _0x21c4c0 ++ ) this . listeners [ _0x4ccbe8 ] [ _0x21c4c0 ] . apply ( this . listeners [ _0x4ccbe8 ] [ _0x21c4c0 ] , [ _0x5d1f53 ] ) ;
var _0x2be19b = this ;
_0x5d1f53 . gamepad && _0x5d1f53 . gamepad . extra _buttons && _0x5d1f53 . gamepad . extra _buttons . forEach ( function ( _0xef3dc7 , _0x4315f4 ) {
_0x2be19b . extraButtonState [ _0x5d1f53 . gamepad . index ] || ( _0x2be19b . extraButtonState [ _0x5d1f53 . gamepad . index ] = [ ] ) , _0x2be19b . extraButtonState [ _0x5d1f53 . gamepad . index ] [ _0x4315f4 ] = _0xef3dc7 ;
} ) ;
}
} , _0x5633cb . getNullPlatform = function ( ) {
return Object . create ( _0x21c4c0 ) ;
} , _0x5633cb . resolvePlatform = function ( _0x3528ec ) {
var _0x519c5e , _0x1ff0c4 = _0x21c4c0 ;
for ( _0x519c5e = 0x0 ; ! _0x1ff0c4 . isSupported ( ) && _0x519c5e < _0x5633cb . PlatformFactories . length ; _0x519c5e ++ ) _0x1ff0c4 = _0x5633cb . PlatformFactories [ _0x519c5e ] ( _0x3528ec ) ;
return _0x1ff0c4 ;
} , _0x5633cb . prototype . _connect = function ( _0x1606a1 ) {
var _0x519c5e , _0x21c4c0 , _0x3108dc = this . _resolveMapping ( _0x1606a1 ) ;
for ( _0x1606a1 . state = { } , _0x1606a1 . lastState = { } , _0x1606a1 . updater = [ ] , this . buttonState [ _0x1606a1 . index ] || ( this . buttonState [ _0x1606a1 . index ] = [ ] ) , this . extraButtonState [ _0x1606a1 . index ] || ( this . extraButtonState [ _0x1606a1 . index ] = [ ] ) , _0x519c5e = _0x3108dc . buttons . byButton . length , _0x21c4c0 = 0x0 ; _0x21c4c0 < _0x519c5e ; _0x21c4c0 ++ ) this . _addButtonUpdater ( _0x1606a1 , _0x3108dc , _0x21c4c0 ) ;
for ( _0x519c5e = _0x3108dc . axes . byAxis . length , _0x21c4c0 = 0x0 ; _0x21c4c0 < _0x519c5e ; _0x21c4c0 ++ ) this . _addAxisUpdater ( _0x1606a1 , _0x3108dc , _0x21c4c0 ) ;
if ( this . gamepads [ _0x1606a1 . index ] = _0x1606a1 , ! this . gamepads [ _0x1606a1 . index ] . extra _buttons )
for ( this . gamepads [ _0x1606a1 . index ] . extra _buttons = [ ] , _0x21c4c0 = _0x1606a1 . buttons . length ; _0x21c4c0 < 0x10 ; _0x21c4c0 ++ ) this . extraButtonState [ _0x1606a1 . index ] [ _0x21c4c0 ] ? this . gamepads [ _0x1606a1 . index ] . extra _buttons [ _0x21c4c0 ] = this . extraButtonState [ _0x1606a1 . index ] [ _0x21c4c0 ] : this . gamepads [ _0x1606a1 . index ] . extra _buttons [ _0x21c4c0 ] = {
'pressed' : ! 0x1 ,
'value' : 0x0
} ;
this . _fire ( _0x5633cb . Event . CONNECTED , _0x1606a1 ) ;
} , _0x5633cb . prototype . _addButtonUpdater = function ( _0x19541b , _0x3a8718 , _0x2e14e2 ) {
var _0x14879d , _0x49f481 = _0x1380fc ( _0x5633cb . StandardButtons , _0x2e14e2 , 'EXTRA_BUTTON_' ) ,
_0x220cd5 = this . _createButtonGetter ( _0x19541b , _0x3a8718 . buttons , _0x2e14e2 ) ,
_0x1fe059 = this ,
_0x2ff716 = {
'gamepad' : _0x19541b ,
'control' : _0x49f481 ,
'index' : _0x2e14e2 ,
'gamepadIndex' : _0x19541b . index
} ;
_0x19541b . state [ _0x49f481 ] = 0x0 , _0x19541b . lastState [ _0x49f481 ] = 0x0 , null == this . buttonState [ _0x19541b . index ] [ _0x49f481 ] && ( this . buttonState [ _0x19541b . index ] [ _0x49f481 ] = 0x0 ) , _0x14879d = function ( ) {
var _0x3a8718 = _0x220cd5 ( ) ,
_0x2e14e2 = _0x19541b . lastState [ _0x49f481 ] ,
_0x11e126 = _0x3a8718 > 0.5 ,
_0x1078e7 = _0x2e14e2 > 0.5 ;
_0x19541b . state [ _0x49f481 ] = _0x3a8718 , _0x11e126 && ! _0x1078e7 ? _0x1fe059 . _fire ( _0x5633cb . Event . BUTTON _DOWN , Object . create ( _0x2ff716 ) ) : ! _0x11e126 && _0x1078e7 ? _0x1fe059 . _fire ( _0x5633cb . Event . BUTTON _UP , Object . create ( _0x2ff716 ) ) : _0x1fe059 . buttonState [ _0x19541b . index ] [ _0x49f481 ] != _0x3a8718 && _0x1fe059 . _fire ( _0x5633cb . Event . BUTTON _UP , Object . create ( _0x2ff716 ) ) , 0x0 !== _0x3a8718 && 0x1 !== _0x3a8718 && _0x3a8718 !== _0x2e14e2 && _0x1fe059 . _fireAxisChangedEvent ( _0x19541b , _0x49f481 , _0x3a8718 ) , _0x19541b . lastState [ _0x49f481 ] = _0x3a8718 , _0x1fe059 . buttonState [ _0x19541b . index ] [ _0x49f481 ] = _0x3a8718 ;
} , _0x19541b . updater . push ( _0x14879d ) ;
} , _0x5633cb . prototype . _addAxisUpdater = function ( _0x54e7b0 , _0x2a7b73 , _0x8f3c6d ) {
var _0x180376 , _0x32658f = _0x1380fc ( _0x5633cb . StandardAxes , _0x8f3c6d , 'EXTRA_AXIS_' ) ,
_0x4a1dfc = this . _createAxisGetter ( _0x54e7b0 , _0x2a7b73 . axes , _0x8f3c6d ) ,
_0x11e62a = this ;
_0x54e7b0 . state [ _0x32658f ] = 0x0 , _0x54e7b0 . lastState [ _0x32658f ] = 0x0 , null == this . buttonState [ _0x54e7b0 . index ] [ _0x32658f ] && ( this . buttonState [ _0x54e7b0 . index ] [ _0x32658f ] = 0x0 ) , _0x180376 = function ( ) {
var _0x2a7b73 = _0x4a1dfc ( ) ,
_0x8f3c6d = _0x11e62a . buttonState [ _0x54e7b0 . index ] [ _0x32658f ] ;
_0x54e7b0 . state [ _0x32658f ] = _0x2a7b73 , _0x2a7b73 !== _0x8f3c6d && _0x11e62a . _fireAxisChangedEvent ( _0x54e7b0 , _0x32658f , _0x2a7b73 ) , _0x54e7b0 . lastState [ _0x32658f ] = _0x2a7b73 , _0x11e62a . buttonState [ _0x54e7b0 . index ] [ _0x32658f ] = _0x2a7b73 ;
} , _0x54e7b0 . updater . push ( _0x180376 ) ;
} , _0x5633cb . prototype . _fireAxisChangedEvent = function ( _0x1b1af6 , _0x297863 , _0x310ce0 ) {
var _0x181122 = {
'gamepad' : _0x1b1af6 ,
'axis' : _0x297863 ,
'value' : _0x310ce0
} ;
this . _fire ( _0x5633cb . Event . AXIS _CHANGED , _0x181122 ) ;
} , _0x5633cb . prototype . _createButtonGetter = ( _0x11b15e = function ( ) {
return 0x0 ;
} , function ( _0x8afe40 , _0x4912fb , _0x78724a ) {
var _0x57e1d5 , _0x2126da , _0xbc04b4 = _0x11b15e ,
_0x4f004d = this ;
return - 0x1 !== ( _0x57e1d5 = _0x4912fb . byButton [ _0x78724a ] ) ? 'number' == typeof _0x57e1d5 && _0x57e1d5 < _0x8afe40 . buttons . length && ( _0xbc04b4 = function ( ) {
var _0x4912fb = _0x8afe40 . buttons [ _0x57e1d5 ] ;
return 'number' == typeof _0x4912fb ? _0x4912fb : 'number' == typeof _0x4912fb . value ? _0x4912fb . value : 0x0 ;
} ) : _0x4912fb . byAxis && _0x78724a < _0x4912fb . byAxis . length && ( _0x57e1d5 = _0x4912fb . byAxis [ _0x78724a ] , _0x2126da = _0x57e1d5 , '[object Array]' === Object . prototype . toString . call ( _0x2126da ) && 0x3 == _0x57e1d5 . length && _0x57e1d5 [ 0x0 ] < _0x8afe40 . axes . length && ( _0xbc04b4 = function ( _0x41d3e7 , _0xfe6d41 , _0x1c883a ) {
var _0x23be26 = _0x11b15e ;
return _0xfe6d41 < _0x1c883a ? _0x23be26 = function ( ) {
var _0x5bba97 = _0x1c883a - _0xfe6d41 ,
_0x23be85 = _0x41d3e7 ( ) ;
return ( _0x23be85 = ( _0x23be85 - _0xfe6d41 ) / _0x5bba97 ) < 0x0 ? 0x0 : _0x23be85 ;
} : _0x1c883a < _0xfe6d41 && ( _0x23be26 = function ( ) {
var _0xd24650 = _0xfe6d41 - _0x1c883a ,
_0x183f73 = _0x41d3e7 ( ) ;
return ( _0x183f73 = ( _0x183f73 - _0x1c883a ) / _0xd24650 ) > 0x1 ? 0x0 : 0x1 - _0x183f73 ;
} ) , _0x23be26 ;
} ( _0xbc04b4 = function ( ) {
var _0x4912fb = _0x8afe40 . axes [ _0x57e1d5 [ 0x0 ] ] ;
return _0x4f004d . _applyDeadzoneMaximize ( _0x4912fb ) ;
} , _0x57e1d5 [ 0x1 ] , _0x57e1d5 [ 0x2 ] ) ) ) , _0xbc04b4 ;
} ) , _0x5633cb . prototype . _createAxisGetter = function ( ) {
var _0x36fa8f = function ( ) {
return 0x0 ;
} ;
return function ( _0x2d14b3 , _0x6afd0e , _0x20eff1 ) {
var _0x1b8acf , _0x2b1b0a = _0x36fa8f ,
_0x101060 = this ;
return - 0x1 !== ( _0x1b8acf = _0x6afd0e . byAxis [ _0x20eff1 ] ) && 'number' == typeof _0x1b8acf && _0x1b8acf < _0x2d14b3 . axes . length && ( _0x2b1b0a = function ( ) {
var _0x36fa8f = _0x2d14b3 . axes [ _0x1b8acf ] ;
return _0x101060 . _applyDeadzoneMaximize ( _0x36fa8f ) ;
} ) , _0x2b1b0a ;
} ;
} ( ) , _0x5633cb . prototype . _disconnect = function ( _0x116fb9 ) {
var _0x519c5e , _0x21c4c0 = [ ] ;
for ( void 0x0 !== this . gamepads [ _0x116fb9 . index ] && delete this . gamepads [ _0x116fb9 . index ] , _0x519c5e = 0x0 ; _0x519c5e < this . gamepads . length ; _0x519c5e ++ ) void 0x0 !== this . gamepads [ _0x519c5e ] && ( _0x21c4c0 [ _0x519c5e ] = this . gamepads [ _0x519c5e ] ) ;
this . gamepads = _0x21c4c0 , this . _fire ( _0x5633cb . Event . DISCONNECTED , _0x116fb9 ) ;
} , _0x5633cb . prototype . _resolveControllerType = function ( _0x582727 ) {
return - 0x1 !== ( _0x582727 = _0x582727 . toLowerCase ( ) . replace ( /\s+/g , ' ' ) . replace ( /^\s+|\s+$/g , '' ) ) . indexOf ( 'playstation' ) ? _0x5633cb . Type . PLAYSTATION : - 0x1 !== _0x582727 . indexOf ( 'logitech' ) || - 0x1 !== _0x582727 . indexOf ( 'wireless gamepad' ) ? _0x5633cb . Type . LOGITECH : - 0x1 !== _0x582727 . indexOf ( 'xbox' ) || - 0x1 !== _0x582727 . indexOf ( '360' ) ? _0x5633cb . Type . XBOX : - 0x1 !== _0x582727 . indexOf ( '79-6-generic' ) && - 0x1 !== _0x582727 . indexOf ( 'joystick' ) || - 0x1 !== _0x582727 . indexOf ( 'vendor: 0079 product: 0006' ) && - 0x1 !== _0x582727 . indexOf ( 'generic usb joystick' ) ? _0x5633cb . Type . N64 : 'usb joystick (vendor: 0e8f product: 0002)' === _0x582727 ? _0x5633cb . Type . ECKA : _0x5633cb . Type . UNKNOWN ;
} , _0x5633cb . prototype . _resolveMapping = function ( _0x13e45d ) {
var _0x519c5e , _0x21c4c0 , _0x4d3f81 = _0x5633cb . Mappings ,
_0x1d4264 = null ,
_0xebffe5 = {
'platform' : this . platform . getType ( ) ,
'type' : this . _resolveControllerType ( _0x13e45d . id )
} ;
for ( _0x519c5e = 0x0 ; ! _0x1d4264 && _0x519c5e < _0x4d3f81 . length ; _0x519c5e ++ ) _0x21c4c0 = _0x4d3f81 [ _0x519c5e ] , _0x5633cb . envMatchesFilter ( _0x21c4c0 . env , _0xebffe5 ) && ( _0x1d4264 = _0x21c4c0 ) ;
return _0x1d4264 || _0x5633cb . StandardMapping ;
} , _0x5633cb . envMatchesFilter = function ( _0x26e73d , _0x55c334 ) {
var _0x21c4c0 , _0x514a3a = true ;
for ( _0x21c4c0 in _0x26e73d ) _0x26e73d [ _0x21c4c0 ] !== _0x55c334 [ _0x21c4c0 ] && ( _0x514a3a = ! 0x1 ) ;
return _0x514a3a ;
} , _0x5633cb . prototype . _update = function ( ) {
this . platform . update ( ) , this . gamepads . forEach ( function ( _0x415bf6 ) {
_0x415bf6 && _0x415bf6 . updater . forEach ( function ( _0x39f57c ) {
_0x39f57c ( ) ;
} ) ;
} ) , this . gamepads . length > 0x0 && this . _fire ( _0x5633cb . Event . TICK , this . gamepads ) ;
} , _0x5633cb . prototype . _applyDeadzoneMaximize = function ( _0x5b561d , _0x55976e , _0x5df97a ) {
return _0x55976e = void 0x0 !== _0x55976e ? _0x55976e : this . deadzone , _0x5df97a = void 0x0 !== _0x5df97a ? _0x5df97a : this . maximizeThreshold , _0x5b561d >= 0x0 ? _0x5b561d < _0x55976e ? _0x5b561d = 0x0 : _0x5b561d > _0x5df97a && ( _0x5b561d = 0x1 ) : _0x5b561d > - _0x55976e ? _0x5b561d = 0x0 : _0x5b561d < - _0x5df97a && ( _0x5b561d = - 0x1 ) , _0x5b561d ;
} , _0x36fa8f . Gamepad = _0x5633cb ;
} ( _0x3982a1 . exports || window ) ;
2022-05-04 19:49:18 +00:00
} , null , null , null , null , function ( module , _0x4f5203 , _0x5028a6 ) {
/* axios v0.27.2 | (c) 2022 by Matt Zabriskie */
! function ( e , t ) { "object" == typeof exports && "object" == typeof module ? module . exports = t ( ) : "function" == typeof define && define . amd ? define ( [ ] , t ) : "object" == typeof exports ? exports . a = t ( ) : e . a = t ( ) } ( this , ( function ( ) { return function ( e ) { var t = { } ; function n ( r ) { if ( t [ r ] ) return t [ r ] . exports ; var o = t [ r ] = { i : r , l : ! 1 , exports : { } } ; return e [ r ] . call ( o . exports , o , o . exports , n ) , o . l = ! 0 , o . exports } return n . m = e , n . c = t , n . d = function ( e , t , r ) { n . o ( e , t ) || Object . defineProperty ( e , t , { enumerable : ! 0 , get : r } ) } , n . r = function ( e ) { "undefined" != typeof Symbol && Symbol . toStringTag && Object . defineProperty ( e , Symbol . toStringTag , { value : "Module" } ) , Object . defineProperty ( e , "__esModule" , { value : ! 0 } ) } , n . t = function ( e , t ) { if ( 1 & t && ( e = n ( e ) ) , 8 & t ) return e ; if ( 4 & t && "object" == typeof e && e && e . _ _esModule ) return e ; var r = Object . create ( null ) ; if ( n . r ( r ) , Object . defineProperty ( r , "default" , { enumerable : ! 0 , value : e } ) , 2 & t && "string" != typeof e ) for ( var o in e ) n . d ( r , o , function ( t ) { return e [ t ] } . bind ( null , o ) ) ; return r } , n . n = function ( e ) { var t = e && e . _ _esModule ? function ( ) { return e . default } : function ( ) { return e } ; return n . d ( t , "a" , t ) , t } , n . o = function ( e , t ) { return Object . prototype . hasOwnProperty . call ( e , t ) } , n . p = "" , n ( n . s = 13 ) } ( [ function ( e , t , n ) { "use strict" ; var r , o = n ( 4 ) , i = Object . prototype . toString , s = ( r = Object . create ( null ) , function ( e ) { var t = i . call ( e ) ; return r [ t ] || ( r [ t ] = t . slice ( 8 , - 1 ) . toLowerCase ( ) ) } ) ; function a ( e ) { return e = e . toLowerCase ( ) , function ( t ) { return s ( t ) === e } } function u ( e ) { return Array . isArray ( e ) } function c ( e ) { return void 0 === e } var f = a ( "ArrayBuffer" ) ; function l ( e ) { return null !== e && "object" == typeof e } function p ( e ) { if ( "object" !== s ( e ) ) return ! 1 ; var t = Object . getPrototypeOf ( e ) ; return null === t || t === Object . prototype } var d = a ( "Date" ) , h = a ( "File" ) , m = a ( "Blob" ) , v = a ( "FileList" ) ; function y ( e ) { return "[object Function]" === i . call ( e ) } var g = a ( "URLSearchParams" ) ; function E ( e , t ) { if ( null != e ) if ( "object" != typeof e && ( e = [ e ] ) , u ( e ) ) for ( var n = 0 , r = e . length ; n < r ; n ++ ) t . call ( null , e [ n ] , n , e ) ; else for ( var o in e ) Object . prototype . hasOwnProperty . call ( e , o ) && t . call ( null , e [ o ] , o , e ) } var b , O = ( b = "undefined" != typeof Uint8Array && Object . getPrototypeOf ( Uint8Array ) , function ( e ) { return b && e instanceof b } ) ; e . exports = { isArray : u , isArrayBuffer : f , isBuffer : function ( e ) { return null !== e && ! c ( e ) && null !== e . constructor && ! c ( e . constructor ) && "function" == typeof e . constructor . isBuffer && e . constructor . isBuffer ( e ) } , isFormData : function ( e ) { return e && ( "function" == typeof FormData && e instanceof FormData || "[object FormData]" === i . call ( e ) || y ( e . toString ) && "[object FormData]" === e . toString ( ) ) } , isArrayBufferView : function ( e ) { return "undefined" != typeof ArrayBuffer && ArrayBuffer . isView ? ArrayBuffer . isView ( e ) : e && e . buffer && f ( e . buffer ) } , isString : function ( e ) { return "string" == typeof e } , isNumber : function ( e ) { return "number" == typeof e } , isObject : l , isPlainObject : p , isUndefined : c , isDate : d , isFile : h , isBlob : m , isFunction : y , isStream : function ( e ) { return l ( e ) && y ( e . pipe ) } , isURLSearchParams : g , isStandardBrowserEnv : function ( ) { return ( "undefined" == typeof navigator || "ReactNative" !== navigator . product && "NativeScript" !== navigator . product && "NS" !== navigator . product ) && ( "undefined" != typeof window && "undefined" != typeof document ) } , forEach : E , merge : function e ( ) { var t = { } ; function n ( n , r ) { p ( t [ r ] ) && p ( n ) ? t [ r ] = e ( t [ r ] , n ) : p ( n ) ? t [ r ] = e ( { } , n ) : u ( n ) ? t [ r ] = n . slice ( ) : t [ r ] = n } for ( var r = 0 , o = arguments . length ; r < o ; r ++ ) E ( arguments [ r ] , n ) ; return t } , extend : function ( e , t , n ) { return E ( t , ( function ( t , r ) { e [ r ] = n && "function" == typeof t ? o ( t , n ) : t } ) ) , e } , trim : function ( e ) { return e . trim ? e . trim ( ) : e . replace ( /^\s+|\s+$/g , "" ) } , stripBOM : function ( e ) { return 65279 === e . charCodeAt ( 0 ) && ( e = e . slice ( 1 ) ) , e } , inherits : function ( e , t , n , r ) { e . prototype = Object . create ( t . prototype , r ) , e . prototype . constructor = e , n && Object . assign ( e . prototype , n ) } , toFlatObject : function ( e , t , n ) { var r , o , i , s = { } ; t = t || { } ; do { for ( o = ( r = Object . getOwnPropertyNames ( e ) ) . length ; o -- > 0 ; ) s [ i = r [ o ] ] || ( t [ i ] = e [ i ] , s [ i ] = ! 0 ) ; e = Object . getPrototypeOf ( e ) } while ( e && ( ! n || n ( e , t ) ) && e !== Object . prototype ) ; return t } , kindOf : s , kindOfTest : a , endsWith : function ( e , t , n ) { e = String ( e ) , ( void 0 === n || n > e . length ) && ( n = e . length ) , n -= t . length ; var r = e . indexOf ( t , n ) ; return - 1 !== r && r === n } , toArray : function ( e ) { if ( ! e ) return null ; var t = e . length ; if ( c ( t ) ) return null ; for ( var n = new Array ( t ) ; t -- > 0 ; ) n [ t ] = e [ t ] ; return
2022-04-30 00:01:21 +00:00
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x25e628 , _0x2f1ee1 ) {
var _0x2fbe1c ;
_0x2fbe1c = function ( ) {
return this ;
} ( ) ;
try {
_0x2fbe1c = _0x2fbe1c || new Function ( 'return this' ) ( ) ;
} catch ( _0x36c4d5 ) {
'object' == typeof window && ( _0x2fbe1c = window ) ;
}
_0x25e628 . exports = _0x2fbe1c ;
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x4f4230 , _0x181c20 ) {
var _0x4b3a38 , _0x30dbdf , _0x40240d = _0x4f4230 . exports = { } ;
function _0x508793 ( ) {
throw new Error ( 'setTimeout has not been defined' ) ;
}
function _0x1e140b ( ) {
throw new Error ( 'clearTimeout has not been defined' ) ;
}
function _0x58e592 ( _0x1e83f0 ) {
if ( _0x4b3a38 === setTimeout ) return setTimeout ( _0x1e83f0 , 0x0 ) ;
if ( ( _0x4b3a38 === _0x508793 || ! _0x4b3a38 ) && setTimeout ) return _0x4b3a38 = setTimeout , setTimeout ( _0x1e83f0 , 0x0 ) ;
try {
return _0x4b3a38 ( _0x1e83f0 , 0x0 ) ;
} catch ( _0x4743cf ) {
try {
return _0x4b3a38 . call ( null , _0x1e83f0 , 0x0 ) ;
} catch ( _0x53620e ) {
return _0x4b3a38 . call ( this , _0x1e83f0 , 0x0 ) ;
}
}
} ! function ( ) {
try {
_0x4b3a38 = 'function' == typeof setTimeout ? setTimeout : _0x508793 ;
} catch ( _0x2ba20e ) {
_0x4b3a38 = _0x508793 ;
}
try {
_0x30dbdf = 'function' == typeof clearTimeout ? clearTimeout : _0x1e140b ;
} catch ( _0x5202a1 ) {
_0x30dbdf = _0x1e140b ;
}
} ( ) ;
var _0x493e74 , _0x501f0f = [ ] ,
_0x3ba731 = ! 0x1 ,
_0x21c3e3 = - 0x1 ;
function _0x21e6b7 ( ) {
_0x3ba731 && _0x493e74 && ( _0x3ba731 = ! 0x1 , _0x493e74 . length ? _0x501f0f = _0x493e74 . concat ( _0x501f0f ) : _0x21c3e3 = - 0x1 , _0x501f0f . length && _0x30d6c8 ( ) ) ;
}
function _0x30d6c8 ( ) {
if ( ! _0x3ba731 ) {
var _0x4f4230 = _0x58e592 ( _0x21e6b7 ) ;
_0x3ba731 = true ;
for ( var _0x181c20 = _0x501f0f . length ; _0x181c20 ; ) {
for ( _0x493e74 = _0x501f0f , _0x501f0f = [ ] ; ++ _0x21c3e3 < _0x181c20 ; ) _0x493e74 && _0x493e74 [ _0x21c3e3 ] . run ( ) ;
_0x21c3e3 = - 0x1 , _0x181c20 = _0x501f0f . length ;
}
_0x493e74 = null , _0x3ba731 = ! 0x1 ,
function ( _0x294b98 ) {
if ( _0x30dbdf === clearTimeout ) return clearTimeout ( _0x294b98 ) ;
if ( ( _0x30dbdf === _0x1e140b || ! _0x30dbdf ) && clearTimeout ) return _0x30dbdf = clearTimeout , clearTimeout ( _0x294b98 ) ;
try {
_0x30dbdf ( _0x294b98 ) ;
} catch ( _0x353086 ) {
try {
return _0x30dbdf . call ( null , _0x294b98 ) ;
} catch ( _0x430227 ) {
return _0x30dbdf . call ( this , _0x294b98 ) ;
}
}
} ( _0x4f4230 ) ;
}
}
function _0x5b9c05 ( _0x1d5ae2 , _0x5b9ff8 ) {
this . fun = _0x1d5ae2 , this . array = _0x5b9ff8 ;
}
function _0x11873d ( ) { }
_0x40240d . nextTick = function ( _0x14ed62 ) {
var _0x181c20 = new Array ( arguments . length - 0x1 ) ;
if ( arguments . length > 0x1 )
for ( var _0x1c0f88 = 0x1 ; _0x1c0f88 < arguments . length ; _0x1c0f88 ++ ) _0x181c20 [ _0x1c0f88 - 0x1 ] = arguments [ _0x1c0f88 ] ;
_0x501f0f . push ( new _0x5b9c05 ( _0x14ed62 , _0x181c20 ) ) , 0x1 !== _0x501f0f . length || _0x3ba731 || _0x58e592 ( _0x30d6c8 ) ;
} , _0x5b9c05 . prototype . run = function ( ) {
this . fun . apply ( null , this . array ) ;
} , _0x40240d . title = 'browser' , _0x40240d . browser = true , _0x40240d . env = { } , _0x40240d . argv = [ ] , _0x40240d . version = '' , _0x40240d . versions = { } , _0x40240d . on = _0x11873d , _0x40240d . addListener = _0x11873d , _0x40240d . once = _0x11873d , _0x40240d . off = _0x11873d , _0x40240d . removeListener = _0x11873d , _0x40240d . removeAllListeners = _0x11873d , _0x40240d . emit = _0x11873d , _0x40240d . prependListener = _0x11873d , _0x40240d . prependOnceListener = _0x11873d , _0x40240d . listeners = function ( _0x4a7ed5 ) {
return [ ] ;
} , _0x40240d . binding = function ( _0x4fe55f ) {
throw new Error ( 'process.binding is not supported' ) ;
} , _0x40240d . cwd = function ( ) {
return '/' ;
} , _0x40240d . chdir = function ( _0x33049c ) {
throw new Error ( 'process.chdir is not supported' ) ;
} , _0x40240d . umask = function ( ) {
return 0x0 ;
} ;
} , function ( _0x1a44a7 , _0x4ac7e9 , _0x593123 ) {
function _0x4b9021 ( _0x2123d8 ) {
if ( _0x2123d8 ) return function ( _0x1b1adb ) {
for ( var _0x4ac7e9 in _0x4b9021 . prototype ) _0x1b1adb [ _0x4ac7e9 ] = _0x4b9021 . prototype [ _0x4ac7e9 ] ;
return _0x1b1adb ;
} ( _0x2123d8 ) ;
}
_0x1a44a7 . exports = _0x4b9021 , _0x4b9021 . prototype . on = _0x4b9021 . prototype . addEventListener = function ( _0x29301b , _0x2f1a0e ) {
return this . _callbacks = this . _callbacks || { } , ( this . _callbacks [ '$' + _0x29301b ] = this . _callbacks [ '$' + _0x29301b ] || [ ] ) . push ( _0x2f1a0e ) , this ;
} , _0x4b9021 . prototype . once = function ( _0x564851 , _0x1acab3 ) {
function _0x34ab1a ( ) {
this . off ( _0x564851 , _0x34ab1a ) , _0x1acab3 . apply ( this , arguments ) ;
}
return _0x34ab1a . fn = _0x1acab3 , this . on ( _0x564851 , _0x34ab1a ) , this ;
} , _0x4b9021 . prototype . off = _0x4b9021 . prototype . removeListener = _0x4b9021 . prototype . removeAllListeners = _0x4b9021 . prototype . removeEventListener = function ( _0x2d346e , _0x1e1270 ) {
if ( this . _callbacks = this . _callbacks || { } , 0x0 == arguments . length ) return this . _callbacks = { } , this ;
var _0x593123 , _0xcc89ce = this . _callbacks [ '$' + _0x2d346e ] ;
if ( ! _0xcc89ce ) return this ;
if ( 0x1 == arguments . length ) return delete this . _callbacks [ '$' + _0x2d346e ] , this ;
for ( var _0x4a034c = 0x0 ; _0x4a034c < _0xcc89ce . length ; _0x4a034c ++ )
if ( ( _0x593123 = _0xcc89ce [ _0x4a034c ] ) === _0x1e1270 || _0x593123 . fn === _0x1e1270 ) {
_0xcc89ce . splice ( _0x4a034c , 0x1 ) ;
break ;
}
return this ;
} , _0x4b9021 . prototype . emit = function ( _0x11e87b ) {
this . _callbacks = this . _callbacks || { } ;
var _0x4ac7e9 = [ ] . slice . call ( arguments , 0x1 ) ,
_0x593123 = this . _callbacks [ '$' + _0x11e87b ] ;
if ( _0x593123 )
for ( var _0x5f39b5 = 0x0 , _0x2c676b = ( _0x593123 = _0x593123 . slice ( 0x0 ) ) . length ; _0x5f39b5 < _0x2c676b ; ++ _0x5f39b5 ) _0x593123 [ _0x5f39b5 ] . apply ( this , _0x4ac7e9 ) ;
return this ;
} , _0x4b9021 . prototype . listeners = function ( _0x13f1ad ) {
return this . _callbacks = this . _callbacks || { } , this . _callbacks [ '$' + _0x13f1ad ] || [ ] ;
} , _0x4b9021 . prototype . hasListeners = function ( _0x4d5e81 ) {
return ! ! this . listeners ( _0x4d5e81 ) . length ;
} ;
} , function ( _0x17fcb0 , _0x57a6d9 , _0x11917a ) {
var _0xb1d7ff , _0x102f83 = _0x11917a ( 0x17e ) ,
_0x303be9 = _0x11917a ( 0x97 ) ,
_0x377dd5 = _0x11917a ( 0x180 ) ,
_0x3f4757 = _0x11917a ( 0x181 ) ,
_0x4e3990 = _0x11917a ( 0x182 ) ;
'undefined' != typeof ArrayBuffer && ( _0xb1d7ff = _0x11917a ( 0x183 ) ) ;
var _0x365139 = 'undefined' != typeof navigator && /Android/i . test ( navigator . userAgent ) ,
_0x2576a1 = 'undefined' != typeof navigator && /PhantomJS/i . test ( navigator . userAgent ) ,
_0x1a05af = _0x365139 || _0x2576a1 ;
_0x57a6d9 . protocol = 0x3 ;
var _0xd4e8bf = _0x57a6d9 . packets = {
'open' : 0x0 ,
'close' : 0x1 ,
'ping' : 0x2 ,
'pong' : 0x3 ,
'message' : 0x4 ,
'upgrade' : 0x5 ,
'noop' : 0x6
} ,
_0x3fbab8 = _0x102f83 ( _0xd4e8bf ) ,
_0x101fcb = {
'type' : 'error' ,
'data' : 'parser error'
} ,
_0x471b7a = _0x11917a ( 0x184 ) ;
function _0x110f9e ( _0x44e139 , _0x36abb3 , _0x30c294 ) {
for ( var _0x572a75 = new Array ( _0x44e139 . length ) , _0x479f6f = _0x3f4757 ( _0x44e139 . length , _0x30c294 ) , _0x5799ad = function ( _0x156e03 , _0x20b63e , _0x2d1c34 ) {
_0x36abb3 ( _0x20b63e , function ( _0x523791 , _0x116ebb ) {
_0x572a75 [ _0x156e03 ] = _0x116ebb , _0x2d1c34 ( _0x523791 , _0x572a75 ) ;
} ) ;
} , _0xfc8ee6 = 0x0 ; _0xfc8ee6 < _0x44e139 . length ; _0xfc8ee6 ++ ) _0x5799ad ( _0xfc8ee6 , _0x44e139 [ _0xfc8ee6 ] , _0x479f6f ) ;
}
_0x57a6d9 . encodePacket = function ( _0x1142af , _0x5821bf , _0x659af4 , _0x1b4b55 ) {
'function' == typeof _0x5821bf && ( _0x1b4b55 = _0x5821bf , _0x5821bf = ! 0x1 ) , 'function' == typeof _0x659af4 && ( _0x1b4b55 = _0x659af4 , _0x659af4 = null ) ;
var _0x60a259 = void 0x0 === _0x1142af . data ? void 0x0 : _0x1142af . data . buffer || _0x1142af . data ;
if ( 'undefined' != typeof ArrayBuffer && _0x60a259 instanceof ArrayBuffer ) return function ( _0x49eba2 , _0x19305a , _0xb2b571 ) {
if ( ! _0x19305a ) return _0x57a6d9 . encodeBase64Packet ( _0x49eba2 , _0xb2b571 ) ;
var _0x1b4b55 = _0x49eba2 . data ,
_0x217a22 = new Uint8Array ( _0x1b4b55 ) ,
_0xbb433b = new Uint8Array ( 0x1 + _0x1b4b55 . byteLength ) ;
_0xbb433b [ 0x0 ] = _0xd4e8bf [ _0x49eba2 . type ] ;
for ( var _0x45294d = 0x0 ; _0x45294d < _0x217a22 . length ; _0x45294d ++ ) _0xbb433b [ _0x45294d + 0x1 ] = _0x217a22 [ _0x45294d ] ;
return _0xb2b571 ( _0xbb433b . buffer ) ;
} ( _0x1142af , _0x5821bf , _0x1b4b55 ) ;
if ( void 0x0 !== _0x471b7a && _0x60a259 instanceof _0x471b7a ) return function ( _0x5aef69 , _0x127790 , _0x36795e ) {
if ( ! _0x127790 ) return _0x57a6d9 . encodeBase64Packet ( _0x5aef69 , _0x36795e ) ;
if ( _0x1a05af ) return function ( _0x78a5e0 , _0x2993f1 , _0x49a61d ) {
if ( ! _0x2993f1 ) return _0x57a6d9 . encodeBase64Packet ( _0x78a5e0 , _0x49a61d ) ;
var _0x1b4b55 = new FileReader ( ) ;
return _0x1b4b55 . onload = function ( ) {
_0x57a6d9 . encodePacket ( {
'type' : _0x78a5e0 . type ,
'data' : _0x1b4b55 . result
} , _0x2993f1 , true , _0x49a61d ) ;
} , _0x1b4b55 . readAsArrayBuffer ( _0x78a5e0 . data ) ;
} ( _0x5aef69 , _0x127790 , _0x36795e ) ;
var _0x1b4b55 = new Uint8Array ( 0x1 ) ;
_0x1b4b55 [ 0x0 ] = _0xd4e8bf [ _0x5aef69 . type ] ;
var _0x21d91b = new _0x471b7a ( [ _0x1b4b55 . buffer , _0x5aef69 . data ] ) ;
return _0x36795e ( _0x21d91b ) ;
} ( _0x1142af , _0x5821bf , _0x1b4b55 ) ;
if ( _0x60a259 && _0x60a259 . base64 ) return function ( _0x231991 , _0x18922e ) {
var _0x659af4 = 'b' + _0x57a6d9 . packets [ _0x231991 . type ] + _0x231991 . data . data ;
return _0x18922e ( _0x659af4 ) ;
} ( _0x1142af , _0x1b4b55 ) ;
var _0x23ee8c = _0xd4e8bf [ _0x1142af . type ] ;
return void 0x0 !== _0x1142af . data && ( _0x23ee8c += _0x659af4 ? _0x4e3990 . encode ( String ( _0x1142af . data ) , {
'strict' : ! 0x1
} ) : String ( _0x1142af . data ) ) , _0x1b4b55 ( '' + _0x23ee8c ) ;
} , _0x57a6d9 . encodeBase64Packet = function ( _0x3151db , _0x19c006 ) {
var _0x432941 , _0x50869a = 'b' + _0x57a6d9 . packets [ _0x3151db . type ] ;
if ( void 0x0 !== _0x471b7a && _0x3151db . data instanceof _0x471b7a ) {
var _0x88eff0 = new FileReader ( ) ;
return _0x88eff0 . onload = function ( ) {
var _0x3151db = _0x88eff0 . result . split ( ',' ) [ 0x1 ] ;
_0x19c006 ( _0x50869a + _0x3151db ) ;
} , _0x88eff0 . readAsDataURL ( _0x3151db . data ) ;
}
try {
_0x432941 = String . fromCharCode . apply ( null , new Uint8Array ( _0x3151db . data ) ) ;
} catch ( _0xc11f90 ) {
for ( var _0x1ad34e = new Uint8Array ( _0x3151db . data ) , _0x28c923 = new Array ( _0x1ad34e . length ) , _0x31c9f7 = 0x0 ; _0x31c9f7 < _0x1ad34e . length ; _0x31c9f7 ++ ) _0x28c923 [ _0x31c9f7 ] = _0x1ad34e [ _0x31c9f7 ] ;
_0x432941 = String . fromCharCode . apply ( null , _0x28c923 ) ;
}
return _0x50869a += btoa ( _0x432941 ) , _0x19c006 ( _0x50869a ) ;
} , _0x57a6d9 . decodePacket = function ( _0x1cb4f7 , _0x404d11 , _0x5c122a ) {
if ( void 0x0 === _0x1cb4f7 ) return _0x101fcb ;
if ( 'string' == typeof _0x1cb4f7 ) {
if ( 'b' === _0x1cb4f7 . charAt ( 0x0 ) ) return _0x57a6d9 . decodeBase64Packet ( _0x1cb4f7 . substr ( 0x1 ) , _0x404d11 ) ;
if ( _0x5c122a && ! 0x1 === ( _0x1cb4f7 = function ( _0x4e7d4f ) {
try {
_0x4e7d4f = _0x4e3990 . decode ( _0x4e7d4f , {
'strict' : ! 0x1
} ) ;
} catch ( _0x2d4a50 ) {
return ! 0x1 ;
}
return _0x4e7d4f ;
} ( _0x1cb4f7 ) ) ) return _0x101fcb ;
var _0xa94e1 = _0x1cb4f7 . charAt ( 0x0 ) ;
return Number ( _0xa94e1 ) == _0xa94e1 && _0x3fbab8 [ _0xa94e1 ] ? _0x1cb4f7 . length > 0x1 ? {
'type' : _0x3fbab8 [ _0xa94e1 ] ,
'data' : _0x1cb4f7 . substring ( 0x1 )
} : {
'type' : _0x3fbab8 [ _0xa94e1 ]
} : _0x101fcb ;
}
_0xa94e1 = new Uint8Array ( _0x1cb4f7 ) [ 0x0 ] ;
var _0x577088 = _0x377dd5 ( _0x1cb4f7 , 0x1 ) ;
return _0x471b7a && 'blob' === _0x404d11 && ( _0x577088 = new _0x471b7a ( [ _0x577088 ] ) ) , {
'type' : _0x3fbab8 [ _0xa94e1 ] ,
'data' : _0x577088
} ;
} , _0x57a6d9 . decodeBase64Packet = function ( _0x5eac6f , _0x38a34c ) {
var _0x11917a = _0x3fbab8 [ _0x5eac6f . charAt ( 0x0 ) ] ;
if ( ! _0xb1d7ff ) return {
'type' : _0x11917a ,
'data' : {
'base64' : true ,
'data' : _0x5eac6f . substr ( 0x1 )
}
} ;
var _0x4b45f0 = _0xb1d7ff . decode ( _0x5eac6f . substr ( 0x1 ) ) ;
return 'blob' === _0x38a34c && _0x471b7a && ( _0x4b45f0 = new _0x471b7a ( [ _0x4b45f0 ] ) ) , {
'type' : _0x11917a ,
'data' : _0x4b45f0
} ;
} , _0x57a6d9 . encodePayload = function ( _0x13561c , _0x2ef839 , _0x13e7a2 ) {
'function' == typeof _0x2ef839 && ( _0x13e7a2 = _0x2ef839 , _0x2ef839 = null ) ;
var _0x885c27 = _0x303be9 ( _0x13561c ) ;
if ( _0x2ef839 && _0x885c27 ) return _0x471b7a && ! _0x1a05af ? _0x57a6d9 . encodePayloadAsBlob ( _0x13561c , _0x13e7a2 ) : _0x57a6d9 . encodePayloadAsArrayBuffer ( _0x13561c , _0x13e7a2 ) ;
if ( ! _0x13561c . length ) return _0x13e7a2 ( '0:' ) ;
_0x110f9e ( _0x13561c , function ( _0x45d8fb , _0x1a9422 ) {
_0x57a6d9 . encodePacket ( _0x45d8fb , ! ! _0x885c27 && _0x2ef839 , ! 0x1 , function ( _0x4ca409 ) {
_0x1a9422 ( null , function ( _0x329351 ) {
return _0x329351 . length + ':' + _0x329351 ;
} ( _0x4ca409 ) ) ;
} ) ;
} , function ( _0x144bad , _0x20c93d ) {
return _0x13e7a2 ( _0x20c93d . join ( '' ) ) ;
} ) ;
} , _0x57a6d9 . decodePayload = function ( _0x1ba2e3 , _0x1923ee , _0x4b1529 ) {
if ( 'string' != typeof _0x1ba2e3 ) return _0x57a6d9 . decodePayloadAsBinary ( _0x1ba2e3 , _0x1923ee , _0x4b1529 ) ;
var _0xa68d0e ;
if ( 'function' == typeof _0x1923ee && ( _0x4b1529 = _0x1923ee , _0x1923ee = null ) , '' === _0x1ba2e3 ) return _0x4b1529 ( _0x101fcb , 0x0 , 0x1 ) ;
for ( var _0x11df48 , _0x34a89a , _0x2b42e5 = '' , _0xd05e2 = 0x0 , _0x23a5c5 = _0x1ba2e3 . length ; _0xd05e2 < _0x23a5c5 ; _0xd05e2 ++ ) {
var _0x5ed313 = _0x1ba2e3 . charAt ( _0xd05e2 ) ;
if ( ':' === _0x5ed313 ) {
if ( '' === _0x2b42e5 || _0x2b42e5 != ( _0x11df48 = Number ( _0x2b42e5 ) ) ) return _0x4b1529 ( _0x101fcb , 0x0 , 0x1 ) ;
if ( _0x2b42e5 != ( _0x34a89a = _0x1ba2e3 . substr ( _0xd05e2 + 0x1 , _0x11df48 ) ) . length ) return _0x4b1529 ( _0x101fcb , 0x0 , 0x1 ) ;
if ( _0x34a89a . length ) {
if ( _0xa68d0e = _0x57a6d9 . decodePacket ( _0x34a89a , _0x1923ee , ! 0x1 ) , _0x101fcb . type === _0xa68d0e . type && _0x101fcb . data === _0xa68d0e . data ) return _0x4b1529 ( _0x101fcb , 0x0 , 0x1 ) ;
if ( ! 0x1 === _0x4b1529 ( _0xa68d0e , _0xd05e2 + _0x11df48 , _0x23a5c5 ) ) return ;
}
_0xd05e2 += _0x11df48 , _0x2b42e5 = '' ;
} else _0x2b42e5 += _0x5ed313 ;
}
return '' !== _0x2b42e5 ? _0x4b1529 ( _0x101fcb , 0x0 , 0x1 ) : void 0x0 ;
} , _0x57a6d9 . encodePayloadAsArrayBuffer = function ( _0x2c52b8 , _0x55d1cd ) {
if ( ! _0x2c52b8 . length ) return _0x55d1cd ( new ArrayBuffer ( 0x0 ) ) ;
_0x110f9e ( _0x2c52b8 , function ( _0x38855b , _0x9369b5 ) {
_0x57a6d9 . encodePacket ( _0x38855b , true , true , function ( _0x391506 ) {
return _0x9369b5 ( null , _0x391506 ) ;
} ) ;
} , function ( _0x39b4ce , _0x4a29ab ) {
var _0x3067ce = _0x4a29ab . reduce ( function ( _0x29e4a9 , _0x3d4915 ) {
var _0x55d1cd ;
return _0x29e4a9 + ( _0x55d1cd = 'string' == typeof _0x3d4915 ? _0x3d4915 . length : _0x3d4915 . byteLength ) . toString ( ) . length + _0x55d1cd + 0x2 ;
} , 0x0 ) ,
_0x3ca7a1 = new Uint8Array ( _0x3067ce ) ,
_0x5e2399 = 0x0 ;
return _0x4a29ab . forEach ( function ( _0x437d9b ) {
var _0x4a29ab = 'string' == typeof _0x437d9b ,
_0x55d1cd = _0x437d9b ;
if ( _0x4a29ab ) {
for ( var _0x383c62 = new Uint8Array ( _0x437d9b . length ) , _0x45ccda = 0x0 ; _0x45ccda < _0x437d9b . length ; _0x45ccda ++ ) _0x383c62 [ _0x45ccda ] = _0x437d9b . charCodeAt ( _0x45ccda ) ;
_0x55d1cd = _0x383c62 . buffer ;
}
_0x3ca7a1 [ _0x5e2399 ++ ] = _0x4a29ab ? 0x0 : 0x1 ;
var _0x18ea5e = _0x55d1cd . byteLength . toString ( ) ;
for ( _0x45ccda = 0x0 ; _0x45ccda < _0x18ea5e . length ; _0x45ccda ++ ) _0x3ca7a1 [ _0x5e2399 ++ ] = parseInt ( _0x18ea5e [ _0x45ccda ] ) ;
_0x3ca7a1 [ _0x5e2399 ++ ] = 0xff ;
for ( _0x383c62 = new Uint8Array ( _0x55d1cd ) , _0x45ccda = 0x0 ; _0x45ccda < _0x383c62 . length ; _0x45ccda ++ ) _0x3ca7a1 [ _0x5e2399 ++ ] = _0x383c62 [ _0x45ccda ] ;
} ) , _0x55d1cd ( _0x3ca7a1 . buffer ) ;
} ) ;
} , _0x57a6d9 . encodePayloadAsBlob = function ( _0x2d1881 , _0x1f5c21 ) {
_0x110f9e ( _0x2d1881 , function ( _0x2e98a1 , _0xd68984 ) {
_0x57a6d9 . encodePacket ( _0x2e98a1 , true , true , function ( _0x30901a ) {
var _0x57a6d9 = new Uint8Array ( 0x1 ) ;
if ( _0x57a6d9 [ 0x0 ] = 0x1 , 'string' == typeof _0x30901a ) {
for ( var _0x3553ea = new Uint8Array ( _0x30901a . length ) , _0x5b0da7 = 0x0 ; _0x5b0da7 < _0x30901a . length ; _0x5b0da7 ++ ) _0x3553ea [ _0x5b0da7 ] = _0x30901a . charCodeAt ( _0x5b0da7 ) ;
_0x30901a = _0x3553ea . buffer , _0x57a6d9 [ 0x0 ] = 0x0 ;
}
var _0x51048b = ( _0x30901a instanceof ArrayBuffer ? _0x30901a . byteLength : _0x30901a . size ) . toString ( ) ,
_0x39f7ee = new Uint8Array ( _0x51048b . length + 0x1 ) ;
for ( _0x5b0da7 = 0x0 ; _0x5b0da7 < _0x51048b . length ; _0x5b0da7 ++ ) _0x39f7ee [ _0x5b0da7 ] = parseInt ( _0x51048b [ _0x5b0da7 ] ) ;
if ( _0x39f7ee [ _0x51048b . length ] = 0xff , _0x471b7a ) {
var _0x59ca80 = new _0x471b7a ( [ _0x57a6d9 . buffer , _0x39f7ee . buffer , _0x30901a ] ) ;
_0xd68984 ( null , _0x59ca80 ) ;
}
} ) ;
} , function ( _0x3dd244 , _0x28a42d ) {
return _0x1f5c21 ( new _0x471b7a ( _0x28a42d ) ) ;
} ) ;
} , _0x57a6d9 . decodePayloadAsBinary = function ( _0x1dfa58 , _0x57e0fe , _0x4814f7 ) {
'function' == typeof _0x57e0fe && ( _0x4814f7 = _0x57e0fe , _0x57e0fe = null ) ;
for ( var _0x251442 = _0x1dfa58 , _0x406d22 = [ ] ; _0x251442 . byteLength > 0x0 ; ) {
for ( var _0x27bd3c = new Uint8Array ( _0x251442 ) , _0x1afdb0 = 0x0 === _0x27bd3c [ 0x0 ] , _0x24891f = '' , _0x3e0304 = 0x1 ; 0xff !== _0x27bd3c [ _0x3e0304 ] ; _0x3e0304 ++ ) {
if ( _0x24891f . length > 0x136 ) return _0x4814f7 ( _0x101fcb , 0x0 , 0x1 ) ;
_0x24891f += _0x27bd3c [ _0x3e0304 ] ;
}
_0x251442 = _0x377dd5 ( _0x251442 , 0x2 + _0x24891f . length ) , _0x24891f = parseInt ( _0x24891f ) ;
var _0x2e8958 = _0x377dd5 ( _0x251442 , 0x0 , _0x24891f ) ;
if ( _0x1afdb0 ) try {
_0x2e8958 = String . fromCharCode . apply ( null , new Uint8Array ( _0x2e8958 ) ) ;
} catch ( _0x497c47 ) {
var _0x25fc6f = new Uint8Array ( _0x2e8958 ) ;
_0x2e8958 = '' ;
for ( _0x3e0304 = 0x0 ; _0x3e0304 < _0x25fc6f . length ; _0x3e0304 ++ ) _0x2e8958 += String . fromCharCode ( _0x25fc6f [ _0x3e0304 ] ) ;
}
_0x406d22 . push ( _0x2e8958 ) , _0x251442 = _0x377dd5 ( _0x251442 , _0x24891f ) ;
}
var _0x462829 = _0x406d22 . length ;
_0x406d22 . forEach ( function ( _0x382392 , _0x27b9c6 ) {
_0x4814f7 ( _0x57a6d9 . decodePacket ( _0x382392 , _0x57e0fe , true ) , _0x27b9c6 , _0x462829 ) ;
} ) ;
} ;
} , function ( _0x4960ba , _0x134516 , _0x3caa3d ) {
var _0x1f6b2a = _0x3caa3d ( 0x175 ) ,
_0x44cbb8 = _0x3caa3d ( 0x69 ) ,
_0x3bf69e = _0x3caa3d ( 0x94 ) ,
_0x30559c = _0x3caa3d ( 0x4a ) ( 'socket.io-client' ) ;
_0x4960ba . exports = _0x134516 = _0x21cbc3 ;
var _0x43bfb1 = _0x134516 . managers = { } ;
function _0x21cbc3 ( _0x27e015 , _0x5cb5ab ) {
'object' == typeof _0x27e015 && ( _0x5cb5ab = _0x27e015 , _0x27e015 = void 0x0 ) , _0x5cb5ab = _0x5cb5ab || { } ;
var _0x3caa3d , _0x421f2a = _0x1f6b2a ( _0x27e015 ) ,
_0x5ee311 = _0x421f2a . source ,
_0x2cc4d8 = _0x421f2a . id ,
_0x534fc0 = _0x421f2a . path ,
_0x1f4250 = _0x43bfb1 [ _0x2cc4d8 ] && _0x534fc0 in _0x43bfb1 [ _0x2cc4d8 ] . nsps ;
return _0x5cb5ab . forceNew || _0x5cb5ab [ 'force new connection' ] || ! 0x1 === _0x5cb5ab . multiplex || _0x1f4250 ? ( _0x30559c ( 'ignoring socket cache for %s' , _0x5ee311 ) , _0x3caa3d = _0x3bf69e ( _0x5ee311 , _0x5cb5ab ) ) : ( _0x43bfb1 [ _0x2cc4d8 ] || ( _0x30559c ( 'new io instance for %s' , _0x5ee311 ) , _0x43bfb1 [ _0x2cc4d8 ] = _0x3bf69e ( _0x5ee311 , _0x5cb5ab ) ) , _0x3caa3d = _0x43bfb1 [ _0x2cc4d8 ] ) , _0x421f2a . query && ! _0x5cb5ab . query && ( _0x5cb5ab . query = _0x421f2a . query ) , _0x3caa3d . socket ( _0x421f2a . path , _0x5cb5ab ) ;
}
_0x134516 . protocol = _0x44cbb8 . protocol , _0x134516 . connect = _0x21cbc3 , _0x134516 . Manager = _0x3caa3d ( 0x94 ) , _0x134516 . Socket = _0x3caa3d ( 0x9a ) ;
} , null , null , null , null , function ( _0x2e240f , _0x5b82af , _0x39b24a ) {
var _0xafdfe , _0x133983 ;
! function ( _0xcb4965 , _0x3924c5 , _0x2b6d6d ) {
'use strict' ;
void 0x0 === ( _0x133983 = 'function' == typeof ( _0xafdfe = function ( ) {
var _0x2e240f = function ( _0x207df4 ) {
throw _0x207df4 ;
} ,
_0x5b82af = function ( ) { } ,
_0x39b24a = {
'storeName' : 'Store' ,
'storePrefix' : 'IDBWrapper-' ,
'dbVersion' : 0x1 ,
'keyPath' : 'id' ,
'autoIncrement' : true ,
'onStoreReady' : function ( ) { } ,
'onError' : _0x2e240f ,
'indexes' : [ ] ,
'implementationPreference' : [ 'indexedDB' , 'webkitIndexedDB' , 'mozIndexedDB' , 'shimIndexedDB' ]
} ,
_0x2b9783 = function ( _0x1e2bea , _0x1aa4eb ) {
for ( var _0x19e5d1 in void 0x0 === _0x1aa4eb && 'function' == typeof _0x1e2bea && ( _0x1aa4eb = _0x1e2bea ) , '[object Object]' != Object . prototype . toString . call ( _0x1e2bea ) && ( _0x1e2bea = { } ) , _0x39b24a ) this [ _0x19e5d1 ] = void 0x0 !== _0x1e2bea [ _0x19e5d1 ] ? _0x1e2bea [ _0x19e5d1 ] : _0x39b24a [ _0x19e5d1 ] ;
this . dbName = this . storePrefix + this . storeName , this . dbVersion = parseInt ( this . dbVersion , 0xa ) || 0x1 , _0x1aa4eb && ( this . onStoreReady = _0x1aa4eb ) ;
var _0x346822 = 'object' == typeof window ? window : self ,
_0xcb4965 = this . implementationPreference . filter ( function ( _0x1ee9de ) {
return _0x1ee9de in _0x346822 ;
} ) ;
this . implementation = _0xcb4965 [ 0x0 ] , this . idb = _0x346822 [ this . implementation ] , this . keyRange = _0x346822 . IDBKeyRange || _0x346822 . webkitIDBKeyRange || _0x346822 . mozIDBKeyRange , this . consts = {
'READ_ONLY' : 'readonly' ,
'READ_WRITE' : 'readwrite' ,
'VERSION_CHANGE' : 'versionchange' ,
'NEXT' : 'next' ,
'NEXT_NO_DUPLICATE' : 'nextunique' ,
'PREV' : 'prev' ,
'PREV_NO_DUPLICATE' : 'prevunique'
} , this . openDB ( ) ;
} ,
_0x28a590 = {
'constructor' : _0x2b9783 ,
'version' : '1.7.2' ,
'db' : null ,
'dbName' : null ,
'dbVersion' : null ,
'store' : null ,
'storeName' : null ,
'storePrefix' : null ,
'keyPath' : null ,
'autoIncrement' : null ,
'indexes' : null ,
'implementationPreference' : null ,
'implementation' : '' ,
'onStoreReady' : null ,
'onError' : null ,
'_insertIdCount' : 0x0 ,
'openDB' : function ( ) {
var _0x2e240f = this . idb . open ( this . dbName , this . dbVersion ) ,
_0x5b82af = ! 0x1 ;
_0x2e240f . onerror = function ( _0x2923e1 ) {
if ( function ( _0x46ec43 ) {
if ( 'error' in _0x46ec43 . target ) return 'VersionError' == _0x46ec43 . target . error . name ;
if ( 'errorCode' in _0x46ec43 . target ) return 0xc == _0x46ec43 . target . errorCode ;
return ! 0x1 ;
} ( _0x2923e1 ) ) this . onError ( new Error ( 'The version number provided is lower than the existing one.' ) ) ;
else {
var _0x5b82af ;
if ( _0x2923e1 . target . error ) _0x5b82af = _0x2923e1 . target . error ;
else {
var _0x39b24a = 'IndexedDB unknown error occurred when opening DB ' + this . dbName + ' version ' + this . dbVersion ;
'errorCode' in _0x2923e1 . target && ( _0x39b24a += ' with error code ' + _0x2923e1 . target . errorCode ) , _0x5b82af = new Error ( _0x39b24a ) ;
}
this . onError ( _0x5b82af ) ;
}
} . bind ( this ) , _0x2e240f . onsuccess = function ( _0x3e2c2e ) {
if ( ! _0x5b82af )
if ( this . db ) this . onStoreReady ( ) ;
else if ( this . db = _0x3e2c2e . target . result , 'string' != typeof this . db . version )
if ( this . db . objectStoreNames . contains ( this . storeName ) ) {
var _0x39b24a = this . db . transaction ( [ this . storeName ] , this . consts . READ _ONLY ) ;
this . store = _0x39b24a . objectStore ( this . storeName ) ;
var _0x59b9b8 = Array . prototype . slice . call ( this . getIndexList ( ) ) ;
this . indexes . forEach ( function ( _0x350dd3 ) {
var _0x39b24a = _0x350dd3 . name ;
if ( ! _0x39b24a ) return _0x5b82af = true , void this . onError ( new Error ( 'Cannot create index: No index name given.' ) ) ;
if ( this . normalizeIndexData ( _0x350dd3 ) , this . hasIndex ( _0x39b24a ) ) {
var _0xa01269 = this . store . index ( _0x39b24a ) ;
this . indexComplies ( _0xa01269 , _0x350dd3 ) || ( _0x5b82af = true , this . onError ( new Error ( 'Cannot modify index "' + _0x39b24a + '" for current version. Please bump version number to ' + ( this . dbVersion + 0x1 ) + '.' ) ) ) , _0x59b9b8 . splice ( _0x59b9b8 . indexOf ( _0x39b24a ) , 0x1 ) ;
} else _0x5b82af = true , this . onError ( new Error ( 'Cannot create new index "' + _0x39b24a + '" for current version. Please bump version number to ' + ( this . dbVersion + 0x1 ) + '.' ) ) ;
} , this ) , _0x59b9b8 . length && ( _0x5b82af = true , this . onError ( new Error ( 'Cannot delete index(es) "' + _0x59b9b8 . toString ( ) + '" for current version. Please bump version number to ' + ( this . dbVersion + 0x1 ) + '.' ) ) ) , _0x5b82af || this . onStoreReady ( ) ;
} else this . onError ( new Error ( 'Object store couldn\'t be created.' ) ) ;
else this . onError ( new Error ( 'The IndexedDB implementation in this browser is outdated. Please upgrade your browser.' ) ) ;
} . bind ( this ) , _0x2e240f . onupgradeneeded = function ( _0x24bbe5 ) {
if ( this . db = _0x24bbe5 . target . result , this . db . objectStoreNames . contains ( this . storeName ) ) this . store = _0x24bbe5 . target . transaction . objectStore ( this . storeName ) ;
else {
var _0x39b24a = {
'autoIncrement' : this . autoIncrement
} ;
null !== this . keyPath && ( _0x39b24a . keyPath = this . keyPath ) , this . store = this . db . createObjectStore ( this . storeName , _0x39b24a ) ;
}
var _0x29403f = Array . prototype . slice . call ( this . getIndexList ( ) ) ;
this . indexes . forEach ( function ( _0x33fe6f ) {
var _0x39b24a = _0x33fe6f . name ;
if ( _0x39b24a || ( _0x5b82af = true , this . onError ( new Error ( 'Cannot create index: No index name given.' ) ) ) , this . normalizeIndexData ( _0x33fe6f ) , this . hasIndex ( _0x39b24a ) ) {
var _0x34a15e = this . store . index ( _0x39b24a ) ;
this . indexComplies ( _0x34a15e , _0x33fe6f ) || ( this . store . deleteIndex ( _0x39b24a ) , this . store . createIndex ( _0x39b24a , _0x33fe6f . keyPath , {
'unique' : _0x33fe6f . unique ,
'multiEntry' : _0x33fe6f . multiEntry
} ) ) , _0x29403f . splice ( _0x29403f . indexOf ( _0x39b24a ) , 0x1 ) ;
} else this . store . createIndex ( _0x39b24a , _0x33fe6f . keyPath , {
'unique' : _0x33fe6f . unique ,
'multiEntry' : _0x33fe6f . multiEntry
} ) ;
} , this ) , _0x29403f . length && _0x29403f . forEach ( function ( _0x57fb9c ) {
this . store . deleteIndex ( _0x57fb9c ) ;
} , this ) ;
} . bind ( this ) ;
} ,
'deleteDatabase' : function ( _0x65ce5d , _0x56cb3e ) {
if ( this . idb . deleteDatabase ) {
this . db . close ( ) ;
var _0x39b24a = this . idb . deleteDatabase ( this . dbName ) ;
_0x39b24a . onsuccess = _0x65ce5d , _0x39b24a . onerror = _0x56cb3e ;
} else _0x56cb3e ( new Error ( 'Browser does not support IndexedDB deleteDatabase!' ) ) ;
} ,
'put' : function ( _0x35bd36 , _0x54aa09 , _0x251b8c , _0x409d32 ) {
null !== this . keyPath && ( _0x409d32 = _0x251b8c , _0x251b8c = _0x54aa09 , _0x54aa09 = _0x35bd36 ) , _0x409d32 || ( _0x409d32 = _0x2e240f ) , _0x251b8c || ( _0x251b8c = _0x5b82af ) ;
var _0x2ad006 , _0x2b6d6d = ! 0x1 ,
_0x1a9aae = null ,
_0x499fa5 = this . db . transaction ( [ this . storeName ] , this . consts . READ _WRITE ) ;
return _0x499fa5 . oncomplete = function ( ) {
( _0x2b6d6d ? _0x251b8c : _0x409d32 ) ( _0x1a9aae ) ;
} , _0x499fa5 . onabort = _0x409d32 , _0x499fa5 . onerror = _0x409d32 , null !== this . keyPath ? ( this . _addIdPropertyIfNeeded ( _0x54aa09 ) , _0x2ad006 = _0x499fa5 . objectStore ( this . storeName ) . put ( _0x54aa09 ) ) : _0x2ad006 = _0x499fa5 . objectStore ( this . storeName ) . put ( _0x54aa09 , _0x35bd36 ) , _0x2ad006 . onsuccess = function ( _0xed2c3c ) {
_0x2b6d6d = true , _0x1a9aae = _0xed2c3c . target . result ;
} , _0x2ad006 . onerror = _0x409d32 , _0x499fa5 ;
} ,
'get' : function ( _0x3696ba , _0x4d8d90 , _0x322eb3 ) {
_0x322eb3 || ( _0x322eb3 = _0x2e240f ) , _0x4d8d90 || ( _0x4d8d90 = _0x5b82af ) ;
var _0xcb4965 = ! 0x1 ,
_0x2ad006 = null ,
_0x2b6d6d = this . db . transaction ( [ this . storeName ] , this . consts . READ _ONLY ) ;
_0x2b6d6d . oncomplete = function ( ) {
( _0xcb4965 ? _0x4d8d90 : _0x322eb3 ) ( _0x2ad006 ) ;
} , _0x2b6d6d . onabort = _0x322eb3 , _0x2b6d6d . onerror = _0x322eb3 ;
var _0x13d850 = _0x2b6d6d . objectStore ( this . storeName ) . get ( _0x3696ba ) ;
return _0x13d850 . onsuccess = function ( _0x34b965 ) {
_0xcb4965 = true , _0x2ad006 = _0x34b965 . target . result ;
} , _0x13d850 . onerror = _0x322eb3 , _0x2b6d6d ;
} ,
'remove' : function ( _0x22011d , _0x5b1f45 , _0x459b00 ) {
_0x459b00 || ( _0x459b00 = _0x2e240f ) , _0x5b1f45 || ( _0x5b1f45 = _0x5b82af ) ;
var _0xcb4965 = ! 0x1 ,
_0x2ad006 = null ,
_0x2b6d6d = this . db . transaction ( [ this . storeName ] , this . consts . READ _WRITE ) ;
_0x2b6d6d . oncomplete = function ( ) {
( _0xcb4965 ? _0x5b1f45 : _0x459b00 ) ( _0x2ad006 ) ;
} , _0x2b6d6d . onabort = _0x459b00 , _0x2b6d6d . onerror = _0x459b00 ;
var _0x2994f6 = _0x2b6d6d . objectStore ( this . storeName ) . delete ( _0x22011d ) ;
return _0x2994f6 . onsuccess = function ( _0x25907f ) {
_0xcb4965 = true , _0x2ad006 = _0x25907f . target . result ;
} , _0x2994f6 . onerror = _0x459b00 , _0x2b6d6d ;
} ,
'batch' : function ( _0x4d6e5e , _0x33f461 , _0x3440ab ) {
if ( _0x3440ab || ( _0x3440ab = _0x2e240f ) , _0x33f461 || ( _0x33f461 = _0x5b82af ) , '[object Array]' != Object . prototype . toString . call ( _0x4d6e5e ) ) _0x3440ab ( new Error ( 'dataArray argument must be of type Array.' ) ) ;
else if ( 0x0 === _0x4d6e5e . length ) return _0x33f461 ( true ) ;
var _0xcb4965 = _0x4d6e5e . length ,
_0x2ad006 = ! 0x1 ,
_0x2b6d6d = ! 0x1 ,
_0x244be0 = this . db . transaction ( [ this . storeName ] , this . consts . READ _WRITE ) ;
_0x244be0 . oncomplete = function ( ) {
( _0x2b6d6d ? _0x33f461 : _0x3440ab ) ( _0x2b6d6d ) ;
} , _0x244be0 . onabort = _0x3440ab , _0x244be0 . onerror = _0x3440ab ;
var _0x5a0c6a = function ( ) {
0x0 !== -- _0xcb4965 || _0x2ad006 || ( _0x2ad006 = true , _0x2b6d6d = true ) ;
} ;
return _0x4d6e5e . forEach ( function ( _0x2a2f2b ) {
var _0x5b82af = _0x2a2f2b . type ,
_0x4d6e5e = _0x2a2f2b . key ,
_0x33f461 = _0x2a2f2b . value ,
_0xcb4965 = function ( _0x2b3ae7 ) {
_0x244be0 . abort ( ) , _0x2ad006 || ( _0x2ad006 = true , _0x3440ab ( _0x2b3ae7 , _0x5b82af , _0x4d6e5e ) ) ;
} ;
if ( 'remove' == _0x5b82af ) {
var _0x2b6d6d = _0x244be0 . objectStore ( this . storeName ) . delete ( _0x4d6e5e ) ;
_0x2b6d6d . onsuccess = _0x5a0c6a , _0x2b6d6d . onerror = _0xcb4965 ;
} else if ( 'put' == _0x5b82af ) {
var _0x51ca22 ;
null !== this . keyPath ? ( this . _addIdPropertyIfNeeded ( _0x33f461 ) , _0x51ca22 = _0x244be0 . objectStore ( this . storeName ) . put ( _0x33f461 ) ) : _0x51ca22 = _0x244be0 . objectStore ( this . storeName ) . put ( _0x33f461 , _0x4d6e5e ) , _0x51ca22 . onsuccess = _0x5a0c6a , _0x51ca22 . onerror = _0xcb4965 ;
}
} , this ) , _0x244be0 ;
} ,
'putBatch' : function ( _0x51b697 , _0x14766d , _0x512afb ) {
var _0x4f224b = _0x51b697 . map ( function ( _0x2e83b2 ) {
return {
'type' : 'put' ,
'value' : _0x2e83b2
} ;
} ) ;
return this . batch ( _0x4f224b , _0x14766d , _0x512afb ) ;
} ,
'upsertBatch' : function ( _0x13fd8a , _0x5c23ce , _0x1cec44 , _0x539771 ) {
'function' == typeof _0x5c23ce && ( _0x539771 = _0x1cec44 = _0x5c23ce , _0x5c23ce = { } ) , _0x539771 || ( _0x539771 = _0x2e240f ) , _0x1cec44 || ( _0x1cec44 = _0x5b82af ) , _0x5c23ce || ( _0x5c23ce = { } ) , '[object Array]' != Object . prototype . toString . call ( _0x13fd8a ) && _0x539771 ( new Error ( 'dataArray argument must be of type Array.' ) ) ;
var _0x2ad006 = _0x5c23ce . keyField || this . keyPath ,
_0x2b6d6d = _0x13fd8a . length ,
_0x2232f4 = ! 0x1 ,
_0x307131 = ! 0x1 ,
_0x5914d3 = 0x0 ,
_0x10a4b5 = this . db . transaction ( [ this . storeName ] , this . consts . READ _WRITE ) ;
_0x10a4b5 . oncomplete = function ( ) {
_0x307131 ? _0x1cec44 ( _0x13fd8a ) : _0x539771 ( ! 0x1 ) ;
} , _0x10a4b5 . onabort = _0x539771 , _0x10a4b5 . onerror = _0x539771 ;
var _0x47ba06 = function ( _0x15b9da ) {
_0x13fd8a [ _0x5914d3 ++ ] [ _0x2ad006 ] = _0x15b9da . target . result , 0x0 !== -- _0x2b6d6d || _0x2232f4 || ( _0x2232f4 = true , _0x307131 = true ) ;
} ;
return _0x13fd8a . forEach ( function ( _0x32a8bd ) {
var _0x5b82af , _0x13fd8a = _0x32a8bd . key ;
null !== this . keyPath ? ( this . _addIdPropertyIfNeeded ( _0x32a8bd ) , _0x5b82af = _0x10a4b5 . objectStore ( this . storeName ) . put ( _0x32a8bd ) ) : _0x5b82af = _0x10a4b5 . objectStore ( this . storeName ) . put ( _0x32a8bd , _0x13fd8a ) , _0x5b82af . onsuccess = _0x47ba06 , _0x5b82af . onerror = function ( _0x378bb4 ) {
_0x10a4b5 . abort ( ) , _0x2232f4 || ( _0x2232f4 = true , _0x539771 ( _0x378bb4 ) ) ;
} ;
} , this ) , _0x10a4b5 ;
} ,
'removeBatch' : function ( _0x4a038d , _0x3ba0b8 , _0x251e88 ) {
var _0x540626 = _0x4a038d . map ( function ( _0x330621 ) {
return {
'type' : 'remove' ,
'key' : _0x330621
} ;
} ) ;
return this . batch ( _0x540626 , _0x3ba0b8 , _0x251e88 ) ;
} ,
'getBatch' : function ( _0x3a8a3a , _0x46ef82 , _0x24a69f , _0x4d4052 ) {
if ( _0x24a69f || ( _0x24a69f = _0x2e240f ) , _0x46ef82 || ( _0x46ef82 = _0x5b82af ) , _0x4d4052 || ( _0x4d4052 = 'sparse' ) , '[object Array]' != Object . prototype . toString . call ( _0x3a8a3a ) ) _0x24a69f ( new Error ( 'keyArray argument must be of type Array.' ) ) ;
else if ( 0x0 === _0x3a8a3a . length ) return _0x46ef82 ( [ ] ) ;
var _0x2ad006 = [ ] ,
_0x2b6d6d = _0x3a8a3a . length ,
_0xeccdf0 = ! 0x1 ,
_0x27f627 = null ,
_0x763dce = this . db . transaction ( [ this . storeName ] , this . consts . READ _ONLY ) ;
_0x763dce . oncomplete = function ( ) {
( _0xeccdf0 ? _0x46ef82 : _0x24a69f ) ( _0x27f627 ) ;
} , _0x763dce . onabort = _0x24a69f , _0x763dce . onerror = _0x24a69f ;
var _0x4f1954 = function ( _0x5dcefc ) {
_0x5dcefc . target . result || 'dense' == _0x4d4052 ? _0x2ad006 . push ( _0x5dcefc . target . result ) : 'sparse' == _0x4d4052 && _0x2ad006 . length ++ , 0x0 === -- _0x2b6d6d && ( true , _0xeccdf0 = true , _0x27f627 = _0x2ad006 ) ;
} ;
return _0x3a8a3a . forEach ( function ( _0x438c01 ) {
var _0x5b82af = _0x763dce . objectStore ( this . storeName ) . get ( _0x438c01 ) ;
_0x5b82af . onsuccess = _0x4f1954 , _0x5b82af . onerror = function ( _0x22fee1 ) {
true , _0x27f627 = _0x22fee1 , _0x24a69f ( _0x22fee1 ) , _0x763dce . abort ( ) ;
} ;
} , this ) , _0x763dce ;
} ,
'getAll' : function ( _0x4f6d5c , _0x20de05 ) {
_0x20de05 || ( _0x20de05 = _0x2e240f ) , _0x4f6d5c || ( _0x4f6d5c = _0x5b82af ) ;
var _0x354639 = this . db . transaction ( [ this . storeName ] , this . consts . READ _ONLY ) ,
_0xcb4965 = _0x354639 . objectStore ( this . storeName ) ;
return _0xcb4965 . getAll ? this . _getAllNative ( _0x354639 , _0xcb4965 , _0x4f6d5c , _0x20de05 ) : this . _getAllCursor ( _0x354639 , _0xcb4965 , _0x4f6d5c , _0x20de05 ) , _0x354639 ;
} ,
'_getAllNative' : function ( _0x41a196 , _0x29efcc , _0x29de64 , _0x147f7b ) {
var _0x6643e4 = ! 0x1 ,
_0xcb4965 = null ;
_0x41a196 . oncomplete = function ( ) {
( _0x6643e4 ? _0x29de64 : _0x147f7b ) ( _0xcb4965 ) ;
} , _0x41a196 . onabort = _0x147f7b , _0x41a196 . onerror = _0x147f7b ;
var _0x2ad006 = _0x29efcc . getAll ( ) ;
_0x2ad006 . onsuccess = function ( _0x2fcfde ) {
_0x6643e4 = true , _0xcb4965 = _0x2fcfde . target . result ;
} , _0x2ad006 . onerror = _0x147f7b ;
} ,
'_getAllCursor' : function ( _0x57bef8 , _0x4284f4 , _0x1e015d , _0x27d344 ) {
var _0x34dcf5 = [ ] ,
_0xcb4965 = ! 0x1 ,
_0x2ad006 = null ;
_0x57bef8 . oncomplete = function ( ) {
( _0xcb4965 ? _0x1e015d : _0x27d344 ) ( _0x2ad006 ) ;
} , _0x57bef8 . onabort = _0x27d344 , _0x57bef8 . onerror = _0x27d344 ;
var _0x2b6d6d = _0x4284f4 . openCursor ( ) ;
_0x2b6d6d . onsuccess = function ( _0x4ea7bf ) {
var _0x4284f4 = _0x4ea7bf . target . result ;
_0x4284f4 ? ( _0x34dcf5 . push ( _0x4284f4 . value ) , _0x4284f4 . continue ( ) ) : ( _0xcb4965 = true , _0x2ad006 = _0x34dcf5 ) ;
} , _0x2b6d6d . onError = _0x27d344 ;
} ,
'clear' : function ( _0x18f252 , _0x409346 ) {
_0x409346 || ( _0x409346 = _0x2e240f ) , _0x18f252 || ( _0x18f252 = _0x5b82af ) ;
var _0x536ee6 = ! 0x1 ,
_0xcb4965 = null ,
_0x2ad006 = this . db . transaction ( [ this . storeName ] , this . consts . READ _WRITE ) ;
_0x2ad006 . oncomplete = function ( ) {
( _0x536ee6 ? _0x18f252 : _0x409346 ) ( _0xcb4965 ) ;
} , _0x2ad006 . onabort = _0x409346 , _0x2ad006 . onerror = _0x409346 ;
var _0x2b6d6d = _0x2ad006 . objectStore ( this . storeName ) . clear ( ) ;
return _0x2b6d6d . onsuccess = function ( _0x4947d5 ) {
_0x536ee6 = true , _0xcb4965 = _0x4947d5 . target . result ;
} , _0x2b6d6d . onerror = _0x409346 , _0x2ad006 ;
} ,
'_addIdPropertyIfNeeded' : function ( _0x41f848 ) {
void 0x0 === _0x41f848 [ this . keyPath ] && ( _0x41f848 [ this . keyPath ] = this . _insertIdCount ++ + Date . now ( ) ) ;
} ,
'getIndexList' : function ( ) {
return this . store . indexNames ;
} ,
'hasIndex' : function ( _0x1c4ba1 ) {
return this . store . indexNames . contains ( _0x1c4ba1 ) ;
} ,
'normalizeIndexData' : function ( _0xf965ee ) {
_0xf965ee . keyPath = _0xf965ee . keyPath || _0xf965ee . name , _0xf965ee . unique = ! ! _0xf965ee . unique , _0xf965ee . multiEntry = ! ! _0xf965ee . multiEntry ;
} ,
'indexComplies' : function ( _0x4b67b0 , _0x24b195 ) {
return [ 'keyPath' , 'unique' , 'multiEntry' ] . every ( function ( _0xfc173c ) {
if ( 'multiEntry' == _0xfc173c && void 0x0 === _0x4b67b0 [ _0xfc173c ] && ! 0x1 === _0x24b195 [ _0xfc173c ] ) return true ;
if ( 'keyPath' == _0xfc173c && '[object Array]' == Object . prototype . toString . call ( _0x24b195 [ _0xfc173c ] ) ) {
var _0x22060c = _0x24b195 . keyPath ,
_0x1a6e38 = _0x4b67b0 . keyPath ;
if ( 'string' == typeof _0x1a6e38 ) return _0x22060c . toString ( ) == _0x1a6e38 ;
if ( 'function' != typeof _0x1a6e38 . contains && 'function' != typeof _0x1a6e38 . indexOf ) return ! 0x1 ;
if ( _0x1a6e38 . length !== _0x22060c . length ) return ! 0x1 ;
for ( var _0xcb4965 = 0x0 , _0x2ad006 = _0x22060c . length ; _0xcb4965 < _0x2ad006 ; _0xcb4965 ++ )
if ( ! ( _0x1a6e38 . contains && _0x1a6e38 . contains ( _0x22060c [ _0xcb4965 ] ) || _0x1a6e38 . indexOf ( - 0x1 !== _0x22060c [ _0xcb4965 ] ) ) ) return ! 0x1 ;
return true ;
}
return _0x24b195 [ _0xfc173c ] == _0x4b67b0 [ _0xfc173c ] ;
} ) ;
} ,
'iterate' : function ( _0x1cb264 , _0x42cd9d ) {
var _0x38e5c3 = 'desc' == ( _0x42cd9d = _0x2ad006 ( {
'index' : null ,
'order' : 'ASC' ,
'autoContinue' : true ,
'filterDuplicates' : ! 0x1 ,
'keyRange' : null ,
'writeAccess' : ! 0x1 ,
'onEnd' : null ,
'onError' : _0x2e240f ,
'limit' : 0x1 / 0x0 ,
'offset' : 0x0 ,
'allowItemRejection' : ! 0x1
} , _0x42cd9d || { } ) ) . order . toLowerCase ( ) ? 'PREV' : 'NEXT' ;
_0x42cd9d . filterDuplicates && ( _0x38e5c3 += '_NO_DUPLICATE' ) ;
var _0x5b5b48 = ! 0x1 ,
_0xcb4965 = this . db . transaction ( [ this . storeName ] , this . consts [ _0x42cd9d . writeAccess ? 'READ_WRITE' : 'READ_ONLY' ] ) ,
_0x2b6d6d = _0xcb4965 . objectStore ( this . storeName ) ;
_0x42cd9d . index && ( _0x2b6d6d = _0x2b6d6d . index ( _0x42cd9d . index ) ) ;
var _0x523630 = 0x0 ;
_0xcb4965 . oncomplete = function ( ) {
_0x5b5b48 ? _0x42cd9d . onEnd ? _0x42cd9d . onEnd ( ) : _0x1cb264 ( null ) : _0x42cd9d . onError ( null ) ;
} , _0xcb4965 . onabort = _0x42cd9d . onError , _0xcb4965 . onerror = _0x42cd9d . onError ;
var _0x3ac163 = _0x2b6d6d . openCursor ( _0x42cd9d . keyRange , this . consts [ _0x38e5c3 ] ) ;
return _0x3ac163 . onerror = _0x42cd9d . onError , _0x3ac163 . onsuccess = function ( _0x4f183f ) {
var _0xe7af78 = _0x4f183f . target . result ;
if ( _0xe7af78 )
if ( _0x42cd9d . offset ) _0xe7af78 . advance ( _0x42cd9d . offset ) , _0x42cd9d . offset = 0x0 ;
else {
var _0x2ad006 = _0x1cb264 ( _0xe7af78 . value , _0xe7af78 , _0xcb4965 ) ;
_0x42cd9d . allowItemRejection && ! 0x1 === _0x2ad006 || _0x523630 ++ , _0x42cd9d . autoContinue && ( _0x523630 + _0x42cd9d . offset < _0x42cd9d . limit ? _0xe7af78 . continue ( ) : _0x5b5b48 = true ) ;
}
else _0x5b5b48 = true ;
} , _0xcb4965 ;
} ,
'query' : function ( _0x2bc5fc , _0x39354f ) {
var _0x39b24a = [ ] ,
_0x47cb91 = 0x0 ;
return ( _0x39354f = _0x39354f || { } ) . autoContinue = true , _0x39354f . writeAccess = ! 0x1 , _0x39354f . allowItemRejection = ! ! _0x39354f . filter , _0x39354f . onEnd = function ( ) {
_0x2bc5fc ( _0x39b24a , _0x47cb91 ) ;
} , this . iterate ( function ( _0x13e82f ) {
_0x47cb91 ++ ;
var _0x4bb504 = ! _0x39354f . filter || _0x39354f . filter ( _0x13e82f ) ;
return ! 0x1 !== _0x4bb504 && _0x39b24a . push ( _0x13e82f ) , _0x4bb504 ;
} , _0x39354f ) ;
} ,
'count' : function ( _0x26682d , _0x7fbfc6 ) {
var _0x26315e = ( _0x7fbfc6 = _0x2ad006 ( {
'index' : null ,
'keyRange' : null
} , _0x7fbfc6 || { } ) ) . onError || _0x2e240f ,
_0x18a616 = ! 0x1 ,
_0xcb4965 = null ,
_0x2b6d6d = this . db . transaction ( [ this . storeName ] , this . consts . READ _ONLY ) ;
_0x2b6d6d . oncomplete = function ( ) {
( _0x18a616 ? _0x26682d : _0x26315e ) ( _0xcb4965 ) ;
} , _0x2b6d6d . onabort = _0x26315e , _0x2b6d6d . onerror = _0x26315e ;
var _0x2eb015 = _0x2b6d6d . objectStore ( this . storeName ) ;
_0x7fbfc6 . index && ( _0x2eb015 = _0x2eb015 . index ( _0x7fbfc6 . index ) ) ;
var _0xfff48 = _0x2eb015 . count ( _0x7fbfc6 . keyRange ) ;
return _0xfff48 . onsuccess = function ( _0x4a9790 ) {
_0x18a616 = true , _0xcb4965 = _0x4a9790 . target . result ;
} , _0xfff48 . onError = _0x26315e , _0x2b6d6d ;
} ,
'makeKeyRange' : function ( _0x18e1e0 ) {
var _0x5b82af , _0x39b24a = void 0x0 !== _0x18e1e0 . lower ,
_0x2d70fb = void 0x0 !== _0x18e1e0 . upper ;
switch ( true ) {
case void 0x0 !== _0x18e1e0 . only :
_0x5b82af = this . keyRange . only ( _0x18e1e0 . only ) ;
break ;
case _0x39b24a && _0x2d70fb :
_0x5b82af = this . keyRange . bound ( _0x18e1e0 . lower , _0x18e1e0 . upper , _0x18e1e0 . excludeLower , _0x18e1e0 . excludeUpper ) ;
break ;
case _0x39b24a :
_0x5b82af = this . keyRange . lowerBound ( _0x18e1e0 . lower , _0x18e1e0 . excludeLower ) ;
break ;
case _0x2d70fb :
_0x5b82af = this . keyRange . upperBound ( _0x18e1e0 . upper , _0x18e1e0 . excludeUpper ) ;
break ;
default :
throw new Error ( 'Cannot create KeyRange. Provide one or both of "lower" or "upper" value, or an "only" value.' ) ;
}
return _0x5b82af ;
}
} ,
_0xcb4965 = { } ;
function _0x2ad006 ( _0x4910d7 , _0x179cd8 ) {
var _0x39b24a , _0x3e1f3f ;
for ( _0x39b24a in _0x179cd8 ) ( _0x3e1f3f = _0x179cd8 [ _0x39b24a ] ) !== _0xcb4965 [ _0x39b24a ] && _0x3e1f3f !== _0x4910d7 [ _0x39b24a ] && ( _0x4910d7 [ _0x39b24a ] = _0x3e1f3f ) ;
return _0x4910d7 ;
}
return _0x2b9783 . prototype = _0x28a590 , _0x2b9783 . version = _0x28a590 . version , _0x2b9783 ;
} ) ? _0xafdfe . call ( _0x5b82af , _0x39b24a , _0x5b82af , _0x2e240f ) : _0xafdfe ) || ( _0x2e240f . exports = _0x133983 ) ;
} ( ) ;
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x5cc7da , _0xd81f9c , _0x5928dc ) {
2022-05-04 23:39:59 +00:00
/ * !
* The buffer module from node . js , for the browser .
*
* @ author Feross Aboukhadijeh < feross @ feross . org > < http : //feross.org>
* @ license MIT
* /
! function ( ) { return function t ( r , e , n ) { function i ( f , u ) { if ( ! e [ f ] ) { if ( ! r [ f ] ) { var s = "function" == typeof require && require ; if ( ! u && s ) return s ( f , ! 0 ) ; if ( o ) return o ( f , ! 0 ) ; var h = new Error ( "Cannot find module '" + f + "'" ) ; throw h . code = "MODULE_NOT_FOUND" , h } var a = e [ f ] = { exports : { } } ; r [ f ] [ 0 ] . call ( a . exports , function ( t ) { return i ( r [ f ] [ 1 ] [ t ] || t ) } , a , a . exports , t , r , e , n ) } return e [ f ] . exports } for ( var o = "function" == typeof require && require , f = 0 ; f < n . length ; f ++ ) i ( n [ f ] ) ; return i } } ( ) ( { 1 : [ function ( t , r , e ) { _0xd81f9c . Buffer = t ( "buffer" ) . Buffer } , { buffer : 3 } ] , 2 : [ function ( t , r , e ) { "use strict" ; e . byteLength = function ( t ) { var r = h ( t ) , e = r [ 0 ] , n = r [ 1 ] ; return 3 * ( e + n ) / 4 - n } , e . toByteArray = function ( t ) { var r , e , n = h ( t ) , f = n [ 0 ] , u = n [ 1 ] , s = new o ( function ( t , r , e ) { return 3 * ( r + e ) / 4 - e } ( 0 , f , u ) ) , a = 0 , c = u > 0 ? f - 4 : f ; for ( e = 0 ; e < c ; e += 4 ) r = i [ t . charCodeAt ( e ) ] << 18 | i [ t . charCodeAt ( e + 1 ) ] << 12 | i [ t . charCodeAt ( e + 2 ) ] << 6 | i [ t . charCodeAt ( e + 3 ) ] , s [ a ++ ] = r >> 16 & 255 , s [ a ++ ] = r >> 8 & 255 , s [ a ++ ] = 255 & r ; 2 === u && ( r = i [ t . charCodeAt ( e ) ] << 2 | i [ t . charCodeAt ( e + 1 ) ] >> 4 , s [ a ++ ] = 255 & r ) ; 1 === u && ( r = i [ t . charCodeAt ( e ) ] << 10 | i [ t . charCodeAt ( e + 1 ) ] << 4 | i [ t . charCodeAt ( e + 2 ) ] >> 2 , s [ a ++ ] = r >> 8 & 255 , s [ a ++ ] = 255 & r ) ; return s } , e . fromByteArray = function ( t ) { for ( var r , e = t . length , i = e % 3 , o = [ ] , f = 0 , u = e - i ; f < u ; f += 16383 ) o . push ( a ( t , f , f + 16383 > u ? u : f + 16383 ) ) ; 1 === i ? ( r = t [ e - 1 ] , o . push ( n [ r >> 2 ] + n [ r << 4 & 63 ] + "==" ) ) : 2 === i && ( r = ( t [ e - 2 ] << 8 ) + t [ e - 1 ] , o . push ( n [ r >> 10 ] + n [ r >> 4 & 63 ] + n [ r << 2 & 63 ] + "=" ) ) ; return o . join ( "" ) } ; for ( var n = [ ] , i = [ ] , o = "undefined" != typeof Uint8Array ? Uint8Array : Array , f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" , u = 0 , s = f . length ; u < s ; ++ u ) n [ u ] = f [ u ] , i [ f . charCodeAt ( u ) ] = u ; function h ( t ) { var r = t . length ; if ( r % 4 > 0 ) throw new Error ( "Invalid string. Length must be a multiple of 4" ) ; var e = t . indexOf ( "=" ) ; return - 1 === e && ( e = r ) , [ e , e === r ? 0 : 4 - e % 4 ] } function a ( t , r , e ) { for ( var i , o , f = [ ] , u = r ; u < e ; u += 3 ) i = ( t [ u ] << 16 & 16711680 ) + ( t [ u + 1 ] << 8 & 65280 ) + ( 255 & t [ u + 2 ] ) , f . push ( n [ ( o = i ) >> 18 & 63 ] + n [ o >> 12 & 63 ] + n [ o >> 6 & 63 ] + n [ 63 & o ] ) ; return f . join ( "" ) } i [ "-" . charCodeAt ( 0 ) ] = 62 , i [ "_" . charCodeAt ( 0 ) ] = 63 } , { } ] , 3 : [ function ( t , r , e ) { ( function ( r ) { ( function ( ) { "use strict" ; var r = t ( "base64-js" ) , n = t ( "ieee754" ) ; e . Buffer = f , e . SlowBuffer = function ( t ) { + t != t && ( t = 0 ) ; return f . alloc ( + t ) } , e . INSPECT _MAX _BYTES = 50 ; var i = 2147483647 ; function o ( t ) { if ( t > i ) throw new RangeError ( 'The value "' + t + '" is invalid for option "size"' ) ; var r = new Uint8Array ( t ) ; return r . _ _proto _ _ = f . prototype , r } function f ( t , r , e ) { if ( "number" == typeof t ) { if ( "string" == typeof r ) throw new TypeError ( 'The "string" argument must be of type string. Received type number' ) ; return h ( t ) } return u ( t , r , e ) } function u ( t , r , e ) { if ( "string" == typeof t ) return function ( t , r ) { "string" == typeof r && "" !== r || ( r = "utf8" ) ; if ( ! f . isEncoding ( r ) ) throw new TypeError ( "Unknown encoding: " + r ) ; var e = 0 | p ( t , r ) , n = o ( e ) , i = n . write ( t , r ) ; i !== e && ( n = n . slice ( 0 , i ) ) ; return n } ( t , r ) ; if ( ArrayBuffer . isView ( t ) ) return a ( t ) ; if ( null == t ) throw TypeError ( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t ) ; if ( z ( t , ArrayBuffer ) || t && z ( t . buffer , ArrayBuffer ) ) return function ( t , r , e ) { if ( r < 0 || t . byteLength < r ) throw new RangeError ( '"offset" is outside of buffer bounds' ) ; if ( t . byteLength < r + ( e || 0 ) ) throw new RangeError ( '"length" is outside of buffer bounds' ) ; var n ; n = void 0 === r && void 0 === e ? new Uint8Array ( t ) : void 0 === e ? new Uint8Array ( t , r ) : new Uint8Array ( t , r , e ) ; return n . _ _proto _ _ = f . prototype , n } ( t , r , e ) ; if ( "number" == typeof t ) throw new TypeError ( 'The "value" argument must not be of type number. Received type number' ) ; var n = t . valueOf && t . valueOf ( ) ; if ( null != n && n !== t ) return f . from ( n , r , e ) ; var i = function ( t ) { if ( f . isBuffer ( t ) ) { var r = 0 | c ( t . length ) , e = o ( r ) ; return 0 === e . length ? e : ( t . copy ( e , 0 , 0 , r ) , e ) } if ( void 0 !== t . length ) return "number" != typeof t . length || D ( t . length ) ? o ( 0 ) : a ( t ) ; if ( "Buffer" === t . type && Array . isArray ( t . data ) ) return a ( t . data ) } ( t ) ; if ( i ) return i ; if ( "undefined" != typeof Symbol && null != Symbol . toPrimitive && "function" == typeof t [ Symbol . toPrimitive ] ) return f . from ( t [ Symbol . toPrimitive ] ( "string" ) , r , e ) ; throw new TypeError ( "The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof t ) } function s ( t ) { if ( "number" != typeof t ) throw new TypeError ( ' "size" argument must
2022-04-30 00:01:21 +00:00
} , function ( _0x419a6c , _0x12e3ba , _0xde43cb ) {
2022-05-04 23:39:59 +00:00
_0x419a6c . exports = _0xde43cb ( 0x4d ) ;
2022-04-30 00:01:21 +00:00
} , function ( _0x5ab42d , _0x57fa8d ) {
_0x57fa8d . encode = function ( _0x1cf897 ) {
var _0x57fa8d = '' ;
for ( var _0x1313ec in _0x1cf897 ) _0x1cf897 . hasOwnProperty ( _0x1313ec ) && ( _0x57fa8d . length && ( _0x57fa8d += '&' ) , _0x57fa8d += encodeURIComponent ( _0x1313ec ) + '=' + encodeURIComponent ( _0x1cf897 [ _0x1313ec ] ) ) ;
return _0x57fa8d ;
} , _0x57fa8d . decode = function ( _0x549421 ) {
for ( var _0x57fa8d = { } , _0x5519be = _0x549421 . split ( '&' ) , _0x52ea21 = 0x0 , _0x4da549 = _0x5519be . length ; _0x52ea21 < _0x4da549 ; _0x52ea21 ++ ) {
var _0x109035 = _0x5519be [ _0x52ea21 ] . split ( '=' ) ;
_0x57fa8d [ decodeURIComponent ( _0x109035 [ 0x0 ] ) ] = decodeURIComponent ( _0x109035 [ 0x1 ] ) ;
}
return _0x57fa8d ;
} ;
} , function ( _0x116932 , _0x5135ae ) {
_0x116932 . exports = function ( _0x3506c9 , _0x409dbf ) {
var _0x2b8213 = function ( ) { } ;
_0x2b8213 . prototype = _0x409dbf . prototype , _0x3506c9 . prototype = new _0x2b8213 ( ) , _0x3506c9 . prototype . constructor = _0x3506c9 ;
} ;
} , function ( _0x2a3209 , _0x1433a1 , _0xc63c2a ) {
( function ( _0x5b1d96 ) {
function _0x24c86c ( ) {
var _0x2a3209 ;
try {
_0x2a3209 = _0x1433a1 . storage . debug ;
} catch ( _0x10d35f ) { }
return ! _0x2a3209 && void 0x0 !== _0x5b1d96 && 'env' in _0x5b1d96 && ( _0x2a3209 = _0x5b1d96 . env . DEBUG ) , _0x2a3209 ;
} ( _0x1433a1 = _0x2a3209 . exports = _0xc63c2a ( 0x185 ) ) . log = function ( ) {
return 'object' == typeof console && console . log && Function . prototype . apply . call ( console . log , console , arguments ) ;
} , _0x1433a1 . formatArgs = function ( _0x59cd77 ) {
var _0xc63c2a = this . useColors ;
if ( _0x59cd77 [ 0x0 ] = ( _0xc63c2a ? '%c' : '' ) + this . namespace + ( _0xc63c2a ? ' %c' : ' ' ) + _0x59cd77 [ 0x0 ] + ( _0xc63c2a ? '%c ' : ' ' ) + '+' + _0x1433a1 . humanize ( this . diff ) , ! _0xc63c2a ) return ;
var _0x5b1d96 = 'color: ' + this . color ;
_0x59cd77 . splice ( 0x1 , 0x0 , _0x5b1d96 , 'color: inherit' ) ;
var _0x239418 = 0x0 ,
_0x2e6b73 = 0x0 ;
_0x59cd77 [ 0x0 ] . replace ( /%[a-zA-Z%]/g , function ( _0x304fe3 ) {
'%%' !== _0x304fe3 && ( _0x239418 ++ , '%c' === _0x304fe3 && ( _0x2e6b73 = _0x239418 ) ) ;
} ) , _0x59cd77 . splice ( _0x2e6b73 , 0x0 , _0x5b1d96 ) ;
} , _0x1433a1 . save = function ( _0x30e46f ) {
try {
null == _0x30e46f ? _0x1433a1 . storage . removeItem ( 'debug' ) : _0x1433a1 . storage . debug = _0x30e46f ;
} catch ( _0x4c1aa8 ) { }
} , _0x1433a1 . load = _0x24c86c , _0x1433a1 . useColors = function ( ) {
if ( 'undefined' != typeof window && window . process && 'renderer' === window . process . type ) return true ;
if ( 'undefined' != typeof navigator && navigator . userAgent && navigator . userAgent . toLowerCase ( ) . match ( /(edge|trident)\/(\d+)/ ) ) return ! 0x1 ;
return 'undefined' != typeof document && document . documentElement && document . documentElement . style && document . documentElement . style . WebkitAppearance || 'undefined' != typeof window && window . console && ( window . console . firebug || window . console . exception && window . console . table ) || 'undefined' != typeof navigator && navigator . userAgent && navigator . userAgent . toLowerCase ( ) . match ( /firefox\/(\d+)/ ) && parseInt ( RegExp . $1 , 0xa ) >= 0x1f || 'undefined' != typeof navigator && navigator . userAgent && navigator . userAgent . toLowerCase ( ) . match ( /applewebkit\/(\d+)/ ) ;
} , _0x1433a1 . storage = 'undefined' != typeof chrome && void 0x0 !== chrome . storage ? chrome . storage . local : function ( ) {
try {
return window . localStorage ;
} catch ( _0x3e7267 ) { }
} ( ) , _0x1433a1 . colors = [ '#0000CC' , '#0000FF' , '#0033CC' , '#0033FF' , '#0066CC' , '#0066FF' , '#0099CC' , '#0099FF' , '#00CC00' , '#00CC33' , '#00CC66' , '#00CC99' , '#00CCCC' , '#00CCFF' , '#3300CC' , '#3300FF' , '#3333CC' , '#3333FF' , '#3366CC' , '#3366FF' , '#3399CC' , '#3399FF' , '#33CC00' , '#33CC33' , '#33CC66' , '#33CC99' , '#33CCCC' , '#33CCFF' , '#6600CC' , '#6600FF' , '#6633CC' , '#6633FF' , '#66CC00' , '#66CC33' , '#9900CC' , '#9900FF' , '#9933CC' , '#9933FF' , '#99CC00' , '#99CC33' , '#CC0000' , '#CC0033' , '#CC0066' , '#CC0099' , '#CC00CC' , '#CC00FF' , '#CC3300' , '#CC3333' , '#CC3366' , '#CC3399' , '#CC33CC' , '#CC33FF' , '#CC6600' , '#CC6633' , '#CC9900' , '#CC9933' , '#CCCC00' , '#CCCC33' , '#FF0000' , '#FF0033' , '#FF0066' , '#FF0099' , '#FF00CC' , '#FF00FF' , '#FF3300' , '#FF3333' , '#FF3366' , '#FF3399' , '#FF33CC' , '#FF33FF' , '#FF6600' , '#FF6633' , '#FF9900' , '#FF9933' , '#FFCC00' , '#FFCC33' ] , _0x1433a1 . formatters . j = function ( _0x42eda5 ) {
try {
return JSON . stringify ( _0x42eda5 ) ;
} catch ( _0x264669 ) {
return '[UnexpectedJSONParseError]: ' + _0x264669 . message ;
}
} , _0x1433a1 . enable ( _0x24c86c ( ) ) ;
} . call ( this , _0xc63c2a ( 0x31 ) ) ) ;
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x35f344 , _0x3ad3d7 ) {
var _0x72045c = 0x3e8 ,
_0xc57066 = 0x3c * _0x72045c ,
_0x323d4b = 0x3c * _0xc57066 ,
_0x38920f = 0x18 * _0x323d4b ,
_0x566b42 = 365.25 * _0x38920f ;
function _0x4800bf ( _0x2cb263 , _0x4c8e79 , _0x532290 ) {
if ( ! ( _0x2cb263 < _0x4c8e79 ) ) return _0x2cb263 < 1.5 * _0x4c8e79 ? Math . floor ( _0x2cb263 / _0x4c8e79 ) + ' ' + _0x532290 : Math . ceil ( _0x2cb263 / _0x4c8e79 ) + ' ' + _0x532290 + 's' ;
}
_0x35f344 . exports = function ( _0xbec06f , _0x53ea0e ) {
_0x53ea0e = _0x53ea0e || { } ;
var _0x493ae8 , _0x53bf8f = typeof _0xbec06f ;
if ( 'string' === _0x53bf8f && _0xbec06f . length > 0x0 ) return function ( _0x270427 ) {
if ( ( _0x270427 = String ( _0x270427 ) ) . length > 0x64 ) return ;
var _0x53ea0e = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i . exec ( _0x270427 ) ;
if ( ! _0x53ea0e ) return ;
var _0x57adda = parseFloat ( _0x53ea0e [ 0x1 ] ) ;
switch ( ( _0x53ea0e [ 0x2 ] || 'ms' ) . toLowerCase ( ) ) {
case 'years' :
case 'year' :
case 'yrs' :
case 'yr' :
case 'y' :
return _0x57adda * _0x566b42 ;
case 'days' :
case 'day' :
case 'd' :
return _0x57adda * _0x38920f ;
case 'hours' :
case 'hour' :
case 'hrs' :
case 'hr' :
case 'h' :
return _0x57adda * _0x323d4b ;
case 'minutes' :
case 'minute' :
case 'mins' :
case 'min' :
case 'm' :
return _0x57adda * _0xc57066 ;
case 'seconds' :
case 'second' :
case 'secs' :
case 'sec' :
case 's' :
return _0x57adda * _0x72045c ;
case 'milliseconds' :
case 'millisecond' :
case 'msecs' :
case 'msec' :
case 'ms' :
return _0x57adda ;
default :
return ;
}
} ( _0xbec06f ) ;
if ( 'number' === _0x53bf8f && ! 0x1 === isNaN ( _0xbec06f ) ) return _0x53ea0e . long ? _0x4800bf ( _0x493ae8 = _0xbec06f , _0x38920f , 'day' ) || _0x4800bf ( _0x493ae8 , _0x323d4b , 'hour' ) || _0x4800bf ( _0x493ae8 , _0xc57066 , 'minute' ) || _0x4800bf ( _0x493ae8 , _0x72045c , 'second' ) || _0x493ae8 + ' ms' : function ( _0x158258 ) {
if ( _0x158258 >= _0x38920f ) return Math . round ( _0x158258 / _0x38920f ) + 'd' ;
if ( _0x158258 >= _0x323d4b ) return Math . round ( _0x158258 / _0x323d4b ) + 'h' ;
if ( _0x158258 >= _0xc57066 ) return Math . round ( _0x158258 / _0xc57066 ) + 'm' ;
if ( _0x158258 >= _0x72045c ) return Math . round ( _0x158258 / _0x72045c ) + 's' ;
return _0x158258 + 'ms' ;
} ( _0xbec06f ) ;
throw new Error ( 'val is not a non-empty string or a valid number. val=' + JSON . stringify ( _0xbec06f ) ) ;
} ;
} , function ( _0x2c4885 , _0x725d2f , _0x21813f ) {
var _0x18d304 = _0x21813f ( 0x177 ) ( 'socket.io-parser' ) ,
_0x220779 = _0x21813f ( 0x32 ) ,
_0x31f804 = _0x21813f ( 0x179 ) ,
_0x1b7bdd = _0x21813f ( 0x93 ) ;
function _0x1a1e93 ( ) { }
_0x725d2f . protocol = 0x4 , _0x725d2f . types = [ 'CONNECT' , 'DISCONNECT' , 'EVENT' , 'ACK' , 'ERROR' , 'BINARY_EVENT' , 'BINARY_ACK' ] , _0x725d2f . CONNECT = 0x0 , _0x725d2f . DISCONNECT = 0x1 , _0x725d2f . EVENT = 0x2 , _0x725d2f . ACK = 0x3 , _0x725d2f . ERROR = 0x4 , _0x725d2f . BINARY _EVENT = 0x5 , _0x725d2f . BINARY _ACK = 0x6 , _0x725d2f . Encoder = _0x1a1e93 , _0x725d2f . Decoder = _0x2f6c3c ;
var _0x220ca7 = _0x725d2f . ERROR + '"encode error"' ;
function _0x2313c1 ( _0x1f6ed6 ) {
var _0x21813f = '' + _0x1f6ed6 . type ;
if ( _0x725d2f . BINARY _EVENT !== _0x1f6ed6 . type && _0x725d2f . BINARY _ACK !== _0x1f6ed6 . type || ( _0x21813f += _0x1f6ed6 . attachments + '-' ) , _0x1f6ed6 . nsp && '/' !== _0x1f6ed6 . nsp && ( _0x21813f += _0x1f6ed6 . nsp + ',' ) , null != _0x1f6ed6 . id && ( _0x21813f += _0x1f6ed6 . id ) , null != _0x1f6ed6 . data ) {
var _0x186069 = function ( _0x2ffd69 ) {
try {
return JSON . stringify ( _0x2ffd69 ) ;
} catch ( _0x6d5f6e ) {
return ! 0x1 ;
}
} ( _0x1f6ed6 . data ) ;
if ( ! 0x1 === _0x186069 ) return _0x220ca7 ;
_0x21813f += _0x186069 ;
}
return _0x18d304 ( 'encoded %j as %s' , _0x1f6ed6 , _0x21813f ) , _0x21813f ;
}
function _0x2f6c3c ( ) {
this . reconstructor = null ;
}
function _0x2963cc ( _0x2f717e ) {
this . reconPack = _0x2f717e , this . buffers = [ ] ;
}
function _0x385ca8 ( _0x142a32 ) {
return {
'type' : _0x725d2f . ERROR ,
'data' : 'parser error: ' + _0x142a32
} ;
}
_0x1a1e93 . prototype . encode = function ( _0x4372dd , _0x474c99 ) {
( _0x18d304 ( 'encoding packet %j' , _0x4372dd ) , _0x725d2f . BINARY _EVENT === _0x4372dd . type || _0x725d2f . BINARY _ACK === _0x4372dd . type ) ? function ( _0x3dca2f , _0x54599a ) {
_0x31f804 . removeBlobs ( _0x3dca2f , function ( _0xe9a859 ) {
var _0x474c99 = _0x31f804 . deconstructPacket ( _0xe9a859 ) ,
_0x3b9ac4 = _0x2313c1 ( _0x474c99 . packet ) ,
_0x515f97 = _0x474c99 . buffers ;
_0x515f97 . unshift ( _0x3b9ac4 ) , _0x54599a ( _0x515f97 ) ;
} ) ;
} ( _0x4372dd , _0x474c99 ) : _0x474c99 ( [ _0x2313c1 ( _0x4372dd ) ] ) ;
} , _0x220779 ( _0x2f6c3c . prototype ) , _0x2f6c3c . prototype . add = function ( _0x4207af ) {
var _0x21813f ;
if ( 'string' == typeof _0x4207af ) _0x21813f = function ( _0x2d3f59 ) {
var _0x21813f = 0x0 ,
_0x55018d = {
'type' : Number ( _0x2d3f59 . charAt ( 0x0 ) )
} ;
if ( null == _0x725d2f . types [ _0x55018d . type ] ) return _0x385ca8 ( 'unknown packet type ' + _0x55018d . type ) ;
if ( _0x725d2f . BINARY _EVENT === _0x55018d . type || _0x725d2f . BINARY _ACK === _0x55018d . type ) {
for ( var _0x4e40c0 = '' ;
'-' !== _0x2d3f59 . charAt ( ++ _0x21813f ) && ( _0x4e40c0 += _0x2d3f59 . charAt ( _0x21813f ) , _0x21813f != _0x2d3f59 . length ) ; ) ;
if ( _0x4e40c0 != Number ( _0x4e40c0 ) || '-' !== _0x2d3f59 . charAt ( _0x21813f ) ) throw new Error ( 'Illegal attachments' ) ;
_0x55018d . attachments = Number ( _0x4e40c0 ) ;
}
if ( '/' === _0x2d3f59 . charAt ( _0x21813f + 0x1 ) )
for ( _0x55018d . nsp = '' ; ++ _0x21813f ; ) {
if ( ',' === ( _0x1ef5d6 = _0x2d3f59 . charAt ( _0x21813f ) ) ) break ;
if ( _0x55018d . nsp += _0x1ef5d6 , _0x21813f === _0x2d3f59 . length ) break ;
} else _0x55018d . nsp = '/' ;
var _0x335234 = _0x2d3f59 . charAt ( _0x21813f + 0x1 ) ;
if ( '' !== _0x335234 && Number ( _0x335234 ) == _0x335234 ) {
for ( _0x55018d . id = '' ; ++ _0x21813f ; ) {
var _0x1ef5d6 ;
if ( null == ( _0x1ef5d6 = _0x2d3f59 . charAt ( _0x21813f ) ) || Number ( _0x1ef5d6 ) != _0x1ef5d6 ) {
-- _0x21813f ;
break ;
}
if ( _0x55018d . id += _0x2d3f59 . charAt ( _0x21813f ) , _0x21813f === _0x2d3f59 . length ) break ;
}
_0x55018d . id = Number ( _0x55018d . id ) ;
}
if ( _0x2d3f59 . charAt ( ++ _0x21813f ) ) {
var _0x49a0f5 = function ( _0x55df57 ) {
try {
return JSON . parse ( _0x55df57 ) ;
} catch ( _0x465994 ) {
return ! 0x1 ;
}
} ( _0x2d3f59 . substr ( _0x21813f ) ) ;
2022-05-04 23:39:59 +00:00
if ( ! ( ! 0x1 !== _0x49a0f5 && ( _0x55018d . type === _0x725d2f . ERROR || Array . isArray ( _0x49a0f5 ) ) ) ) return _0x385ca8 ( 'invalid payload' ) ;
2022-04-30 00:01:21 +00:00
_0x55018d . data = _0x49a0f5 ;
}
return _0x18d304 ( 'decoded %s as %j' , _0x2d3f59 , _0x55018d ) , _0x55018d ;
} ( _0x4207af ) , _0x725d2f . BINARY _EVENT === _0x21813f . type || _0x725d2f . BINARY _ACK === _0x21813f . type ? ( this . reconstructor = new _0x2963cc ( _0x21813f ) , 0x0 === this . reconstructor . reconPack . attachments && this . emit ( 'decoded' , _0x21813f ) ) : this . emit ( 'decoded' , _0x21813f ) ;
else {
if ( ! _0x1b7bdd ( _0x4207af ) && ! _0x4207af . base64 ) throw new Error ( 'Unknown type: ' + _0x4207af ) ;
if ( ! this . reconstructor ) throw new Error ( 'got binary data when not reconstructing a packet' ) ;
( _0x21813f = this . reconstructor . takeBinaryData ( _0x4207af ) ) && ( this . reconstructor = null , this . emit ( 'decoded' , _0x21813f ) ) ;
}
} , _0x2f6c3c . prototype . destroy = function ( ) {
this . reconstructor && this . reconstructor . finishedReconstruction ( ) ;
} , _0x2963cc . prototype . takeBinaryData = function ( _0x3fb1e6 ) {
if ( this . buffers . push ( _0x3fb1e6 ) , this . buffers . length === this . reconPack . attachments ) {
var _0x725d2f = _0x31f804 . reconstructPacket ( this . reconPack , this . buffers ) ;
return this . finishedReconstruction ( ) , _0x725d2f ;
}
return null ;
} , _0x2963cc . prototype . finishedReconstruction = function ( ) {
this . reconPack = null , this . buffers = [ ] ;
} ;
} , function ( _0x39d475 , _0x2fba83 , _0x5f3ec5 ) {
var _0x1970ae = _0x5f3ec5 ( 0x17c ) ;
_0x39d475 . exports = function ( _0x2ec49f ) {
var _0x2fba83 = _0x2ec49f . xdomain ,
_0x5f3ec5 = _0x2ec49f . xscheme ,
_0x4e3764 = _0x2ec49f . enablesXDR ;
try {
if ( 'undefined' != typeof XMLHttpRequest && ( ! _0x2fba83 || _0x1970ae ) ) return new XMLHttpRequest ( ) ;
} catch ( _0x30eed8 ) { }
try {
if ( 'undefined' != typeof XDomainRequest && ! _0x5f3ec5 && _0x4e3764 ) return new XDomainRequest ( ) ;
} catch ( _0x95e9b9 ) { }
if ( ! _0x2fba83 ) try {
return new self [ ( [ 'Active' ] . concat ( 'Object' ) . join ( 'X' ) ) ] ( 'Microsoft.XMLHTTP' ) ;
} catch ( _0x3580de ) { }
} ;
} , function ( _0x4ebbc6 , _0x5b254e , _0x2a0057 ) {
var _0x1d963d = _0x2a0057 ( 0x33 ) ,
_0x3b2976 = _0x2a0057 ( 0x32 ) ;
function _0xf1098e ( _0xf9b6a3 ) {
this . path = _0xf9b6a3 . path , this . hostname = _0xf9b6a3 . hostname , this . port = _0xf9b6a3 . port , this . secure = _0xf9b6a3 . secure , this . query = _0xf9b6a3 . query , this . timestampParam = _0xf9b6a3 . timestampParam , this . timestampRequests = _0xf9b6a3 . timestampRequests , this . readyState = '' , this . agent = _0xf9b6a3 . agent || ! 0x1 , this . socket = _0xf9b6a3 . socket , this . enablesXDR = _0xf9b6a3 . enablesXDR , this . pfx = _0xf9b6a3 . pfx , this . key = _0xf9b6a3 . key , this . passphrase = _0xf9b6a3 . passphrase , this . cert = _0xf9b6a3 . cert , this . ca = _0xf9b6a3 . ca , this . ciphers = _0xf9b6a3 . ciphers , this . rejectUnauthorized = _0xf9b6a3 . rejectUnauthorized , this . forceNode = _0xf9b6a3 . forceNode , this . isReactNative = _0xf9b6a3 . isReactNative , this . extraHeaders = _0xf9b6a3 . extraHeaders , this . localAddress = _0xf9b6a3 . localAddress ;
}
_0x4ebbc6 . exports = _0xf1098e , _0x3b2976 ( _0xf1098e . prototype ) , _0xf1098e . prototype . onError = function ( _0x11268a , _0x2588cc ) {
var _0x2a0057 = new Error ( _0x11268a ) ;
return _0x2a0057 . type = 'TransportError' , _0x2a0057 . description = _0x2588cc , this . emit ( 'error' , _0x2a0057 ) , this ;
} , _0xf1098e . prototype . open = function ( ) {
return 'closed' !== this . readyState && '' !== this . readyState || ( this . readyState = 'opening' , this . doOpen ( ) ) , this ;
} , _0xf1098e . prototype . close = function ( ) {
return 'opening' !== this . readyState && 'open' !== this . readyState || ( this . doClose ( ) , this . onClose ( ) ) , this ;
} , _0xf1098e . prototype . send = function ( _0x236dad ) {
if ( 'open' !== this . readyState ) throw new Error ( 'Transport not open' ) ;
this . write ( _0x236dad ) ;
} , _0xf1098e . prototype . onOpen = function ( ) {
this . readyState = 'open' , this . writable = true , this . emit ( 'open' ) ;
} , _0xf1098e . prototype . onData = function ( _0x3cc869 ) {
var _0x5b254e = _0x1d963d . decodePacket ( _0x3cc869 , this . socket . binaryType ) ;
this . onPacket ( _0x5b254e ) ;
} , _0xf1098e . prototype . onPacket = function ( _0x6814c9 ) {
this . emit ( 'packet' , _0x6814c9 ) ;
} , _0xf1098e . prototype . onClose = function ( ) {
this . readyState = 'closed' , this . emit ( 'close' ) ;
} ;
} , function ( _0x3c2d7f , _0xde42f6 , _0xe9214 ) {
( function ( _0xd366e5 ) {
var _0x1fff1c , _0x1e3d28 , _0x1b3f4a ;
_0x1e3d28 = [ ] , void 0x0 === ( _0x1b3f4a = 'function' == typeof ( _0x1fff1c = function ( ) {
'use strict' ;
function _0x37c5be ( _0x5e536f , _0x567b6b , _0x491390 ) {
var _0x57044d = new XMLHttpRequest ( ) ;
_0x57044d . open ( 'GET' , _0x5e536f ) , _0x57044d . responseType = 'blob' , _0x57044d . onload = function ( ) {
_0x2b5ff0 ( _0x57044d . response , _0x567b6b , _0x491390 ) ;
} , _0x57044d . onerror = function ( ) {
console . error ( 'could not download file' ) ;
} , _0x57044d . send ( ) ;
}
function _0x5bc189 ( _0x1999e8 ) {
var _0x37c5be = new XMLHttpRequest ( ) ;
_0x37c5be . open ( 'HEAD' , _0x1999e8 , ! 0x1 ) ;
try {
_0x37c5be . send ( ) ;
} catch ( _0x25e840 ) { }
return 0xc8 <= _0x37c5be . status && 0x12b >= _0x37c5be . status ;
}
function _0x2834a3 ( _0x172cc9 ) {
try {
_0x172cc9 . dispatchEvent ( new MouseEvent ( 'click' ) ) ;
} catch ( _0x299cf7 ) {
var _0x37c5be = document . createEvent ( 'MouseEvents' ) ;
_0x37c5be . initMouseEvent ( 'click' , true , true , window , 0x0 , 0x0 , 0x0 , 0x50 , 0x14 , ! 0x1 , ! 0x1 , ! 0x1 , ! 0x1 , 0x0 , null ) , _0x172cc9 . dispatchEvent ( _0x37c5be ) ;
}
}
var _0xfa1868 = 'object' == typeof window && window . window === window ? window : 'object' == typeof self && self . self === self ? self : 'object' == typeof _0xd366e5 && _0xd366e5 . global === _0xd366e5 ? _0xd366e5 : void 0x0 ,
_0x2b5ff0 = _0xfa1868 . saveAs || ( 'object' != typeof window || window !== _0xfa1868 ? function ( ) { } : 'download' in HTMLAnchorElement . prototype ? function ( _0x2613b4 , _0x3d781a , _0x2f7130 ) {
var _0x471704 = _0xfa1868 . URL || _0xfa1868 . webkitURL ,
_0x1abc3a = document . createElement ( 'a' ) ;
_0x3d781a = _0x3d781a || _0x2613b4 . name || 'download' , _0x1abc3a . download = _0x3d781a , _0x1abc3a . rel = 'noopener' , 'string' == typeof _0x2613b4 ? ( _0x1abc3a . href = _0x2613b4 , _0x1abc3a . origin === location . origin ? _0x2834a3 ( _0x1abc3a ) : _0x5bc189 ( _0x1abc3a . href ) ? _0x37c5be ( _0x2613b4 , _0x3d781a , _0x2f7130 ) : _0x2834a3 ( _0x1abc3a , _0x1abc3a . target = '_blank' ) ) : ( _0x1abc3a . href = _0x471704 . createObjectURL ( _0x2613b4 ) , setTimeout ( function ( ) {
_0x471704 . revokeObjectURL ( _0x1abc3a . href ) ;
} , 0x9c40 ) , setTimeout ( function ( ) {
_0x2834a3 ( _0x1abc3a ) ;
} , 0x0 ) ) ;
} : 'msSaveOrOpenBlob' in navigator ? function ( _0x4a7eab , _0x1faa7e , _0x215f9c ) {
if ( _0x1faa7e = _0x1faa7e || _0x4a7eab . name || 'download' , 'string' != typeof _0x4a7eab ) navigator . msSaveOrOpenBlob ( function ( _0x5a7841 , _0x4208a6 ) {
return void 0x0 === _0x4208a6 ? _0x4208a6 = {
'autoBom' : ! 0x1
} : 'object' != typeof _0x4208a6 && ( console . warn ( 'Deprecated: Expected third argument to be a object' ) , _0x4208a6 = {
'autoBom' : ! _0x4208a6
} ) , _0x4208a6 . autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i . test ( _0x5a7841 . type ) ? new Blob ( [ '\ufeff' , _0x5a7841 ] , {
'type' : _0x5a7841 . type
} ) : _0x5a7841 ;
} ( _0x4a7eab , _0x215f9c ) , _0x1faa7e ) ;
else if ( _0x5bc189 ( _0x4a7eab ) ) _0x37c5be ( _0x4a7eab , _0x1faa7e , _0x215f9c ) ;
else {
var _0x8cf946 = document . createElement ( 'a' ) ;
_0x8cf946 . href = _0x4a7eab , _0x8cf946 . target = '_blank' , setTimeout ( function ( ) {
_0x2834a3 ( _0x8cf946 ) ;
} ) ;
}
} : function ( _0x42e90d , _0x40b0dc , _0x4aae28 , _0x5295d0 ) {
if ( ( _0x5295d0 = _0x5295d0 || open ( '' , '_blank' ) ) && ( _0x5295d0 . document . title = _0x5295d0 . document . body . innerText = 'downloading...' ) , 'string' == typeof _0x42e90d ) return _0x37c5be ( _0x42e90d , _0x40b0dc , _0x4aae28 ) ;
var _0x3eae7e = 'application/octet-stream' === _0x42e90d . type ,
_0x39f873 = /constructor/i . test ( _0xfa1868 . HTMLElement ) || _0xfa1868 . safari ,
_0x2728f0 = /CriOS\/[\d]+/ . test ( navigator . userAgent ) ;
if ( ( _0x2728f0 || _0x3eae7e && _0x39f873 ) && 'object' == typeof FileReader ) {
var _0x25c586 = new FileReader ( ) ;
_0x25c586 . onloadend = function ( ) {
var _0x42e90d = _0x25c586 . result ;
_0x42e90d = _0x2728f0 ? _0x42e90d : _0x42e90d . replace ( /^data:[^;]*;/ , 'data:attachment/file;' ) , _0x5295d0 ? _0x5295d0 . location . href = _0x42e90d : location = _0x42e90d , _0x5295d0 = null ;
} , _0x25c586 . readAsDataURL ( _0x42e90d ) ;
} else {
var _0x3bd26f = _0xfa1868 . URL || _0xfa1868 . webkitURL ,
_0x1f6967 = _0x3bd26f . createObjectURL ( _0x42e90d ) ;
_0x5295d0 ? _0x5295d0 . location = _0x1f6967 : location . href = _0x1f6967 , _0x5295d0 = null , setTimeout ( function ( ) {
_0x3bd26f . revokeObjectURL ( _0x1f6967 ) ;
} , 0x9c40 ) ;
}
} ) ;
_0xfa1868 . saveAs = _0x2b5ff0 . saveAs = _0x2b5ff0 , _0x3c2d7f . exports = _0x2b5ff0 ;
} ) ? _0x1fff1c . apply ( _0xde42f6 , _0x1e3d28 ) : _0x1fff1c ) || ( _0x3c2d7f . exports = _0x1b3f4a ) ;
} . call ( this , _0xe9214 ( 0x1f ) ) ) ;
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x5e1357 , _0x334b04 ) {
_0x5e1357 . exports = function ( _0x1bfcef ) {
return _0x1bfcef . webpackPolyfill || ( _0x1bfcef . deprecate = function ( ) { } , _0x1bfcef . paths = [ ] , _0x1bfcef . children || ( _0x1bfcef . children = [ ] ) , Object . defineProperty ( _0x1bfcef , 'loaded' , {
'enumerable' : true ,
'get' : function ( ) {
return _0x1bfcef . l ;
}
} ) , Object . defineProperty ( _0x1bfcef , 'id' , {
'enumerable' : true ,
'get' : function ( ) {
return _0x1bfcef . i ;
}
} ) , _0x1bfcef . webpackPolyfill = 0x1 ) , _0x1bfcef ;
} ;
} , function ( _0xac5f55 , _0x6036c7 ) {
( function ( _0x5be4df ) {
_0xac5f55 . exports = _0x5be4df ;
} . call ( this , { } ) ) ;
} , function ( _0x4ec5a7 , _0x33ecee ) {
var _0x19ca29 = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ ,
_0x1a949e = [ 'source' , 'protocol' , 'authority' , 'userInfo' , 'user' , 'password' , 'host' , 'port' , 'relative' , 'path' , 'directory' , 'file' , 'query' , 'anchor' ] ;
_0x4ec5a7 . exports = function ( _0x4856e6 ) {
var _0x33ecee = _0x4856e6 ,
_0x38f530 = _0x4856e6 . indexOf ( '[' ) ,
_0x355bbb = _0x4856e6 . indexOf ( ']' ) ; - 0x1 != _0x38f530 && - 0x1 != _0x355bbb && ( _0x4856e6 = _0x4856e6 . substring ( 0x0 , _0x38f530 ) + _0x4856e6 . substring ( _0x38f530 , _0x355bbb ) . replace ( /:/g , ';' ) + _0x4856e6 . substring ( _0x355bbb , _0x4856e6 . length ) ) ;
for ( var _0x29b9ed = _0x19ca29 . exec ( _0x4856e6 || '' ) , _0x9b13be = { } , _0x53543f = 0xe ; _0x53543f -- ; ) _0x9b13be [ _0x1a949e [ _0x53543f ] ] = _0x29b9ed [ _0x53543f ] || '' ;
return - 0x1 != _0x38f530 && - 0x1 != _0x355bbb && ( _0x9b13be . source = _0x33ecee , _0x9b13be . host = _0x9b13be . host . substring ( 0x1 , _0x9b13be . host . length - 0x1 ) . replace ( /;/g , ':' ) , _0x9b13be . authority = _0x9b13be . authority . replace ( '[' , '' ) . replace ( ']' , '' ) . replace ( /;/g , ':' ) , _0x9b13be . ipv6uri = true ) , _0x9b13be ;
} ;
2022-05-04 23:39:59 +00:00
} , null , function ( _0x2c2eeb , _0x56a6e0 , _0xc97944 ) {
2022-04-30 00:01:21 +00:00
( function ( _0x40d6b1 ) {
_0x2c2eeb . exports = function ( _0x14674e ) {
return _0xc97944 && _0x40d6b1 . isBuffer ( _0x14674e ) || _0x1de14d && ( _0x14674e instanceof ArrayBuffer || _0x2019de ( _0x14674e ) ) ;
} ;
var _0xc97944 = 'function' == typeof _0x40d6b1 && 'function' == typeof _0x40d6b1 . isBuffer ,
_0x1de14d = 'function' == typeof ArrayBuffer ,
_0x2019de = function ( _0x1dd50b ) {
return 'function' == typeof ArrayBuffer . isView ? ArrayBuffer . isView ( _0x1dd50b ) : _0x1dd50b . buffer instanceof ArrayBuffer ;
} ;
} . call ( this , _0xc97944 ( 0x49 ) . Buffer ) ) ;
} , function ( _0x567f36 , _0x27b732 , _0x20e984 ) {
var _0xb80e1d = _0x20e984 ( 0x17a ) ,
_0x1b1e2c = _0x20e984 ( 0x9a ) ,
_0x1c5609 = _0x20e984 ( 0x32 ) ,
_0x3380b3 = _0x20e984 ( 0x69 ) ,
_0x32f5b6 = _0x20e984 ( 0x9b ) ,
_0x3c17e8 = _0x20e984 ( 0x9c ) ,
_0x58142b = _0x20e984 ( 0x4a ) ( 'socket.io-client:manager' ) ,
_0x4d56eb = _0x20e984 ( 0x99 ) ,
_0xe3c717 = _0x20e984 ( 0x18a ) ,
_0xcb2b9b = Object . prototype . hasOwnProperty ;
function _0x2a2bdc ( _0x524c38 , _0x42f75e ) {
if ( ! ( this instanceof _0x2a2bdc ) ) return new _0x2a2bdc ( _0x524c38 , _0x42f75e ) ;
_0x524c38 && 'object' == typeof _0x524c38 && ( _0x42f75e = _0x524c38 , _0x524c38 = void 0x0 ) , ( _0x42f75e = _0x42f75e || { } ) . path = _0x42f75e . path || '/socket.io' , this . nsps = { } , this . subs = [ ] , this . opts = _0x42f75e , this . reconnection ( ! 0x1 !== _0x42f75e . reconnection ) , this . reconnectionAttempts ( _0x42f75e . reconnectionAttempts || 0x1 / 0x0 ) , this . reconnectionDelay ( _0x42f75e . reconnectionDelay || 0x3e8 ) , this . reconnectionDelayMax ( _0x42f75e . reconnectionDelayMax || 0x1388 ) , this . randomizationFactor ( _0x42f75e . randomizationFactor || 0.5 ) , this . backoff = new _0xe3c717 ( {
'min' : this . reconnectionDelay ( ) ,
'max' : this . reconnectionDelayMax ( ) ,
'jitter' : this . randomizationFactor ( )
} ) , this . timeout ( null == _0x42f75e . timeout ? 0x4e20 : _0x42f75e . timeout ) , this . readyState = 'closed' , this . uri = _0x524c38 , this . connecting = [ ] , this . lastPing = null , this . encoding = ! 0x1 , this . packetBuffer = [ ] ;
var _0x20e984 = _0x42f75e . parser || _0x3380b3 ;
this . encoder = new _0x20e984 [ ( 'Encoder' ) ] ( ) , this . decoder = new _0x20e984 . Decoder ( ) , this . autoConnect = ! 0x1 !== _0x42f75e . autoConnect , this . autoConnect && this . open ( ) ;
}
_0x567f36 . exports = _0x2a2bdc , _0x2a2bdc . prototype . emitAll = function ( ) {
for ( var _0x567f36 in this . emit . apply ( this , arguments ) , this . nsps ) _0xcb2b9b . call ( this . nsps , _0x567f36 ) && this . nsps [ _0x567f36 ] . emit . apply ( this . nsps [ _0x567f36 ] , arguments ) ;
} , _0x2a2bdc . prototype . updateSocketIds = function ( ) {
for ( var _0x567f36 in this . nsps ) _0xcb2b9b . call ( this . nsps , _0x567f36 ) && ( this . nsps [ _0x567f36 ] . id = this . generateId ( _0x567f36 ) ) ;
} , _0x2a2bdc . prototype . generateId = function ( _0x4085a2 ) {
return ( '/' === _0x4085a2 ? '' : _0x4085a2 + '#' ) + this . engine . id ;
} , _0x1c5609 ( _0x2a2bdc . prototype ) , _0x2a2bdc . prototype . reconnection = function ( _0x2800dc ) {
return arguments . length ? ( this . _reconnection = ! ! _0x2800dc , this ) : this . _reconnection ;
} , _0x2a2bdc . prototype . reconnectionAttempts = function ( _0x2a8b3d ) {
return arguments . length ? ( this . _reconnectionAttempts = _0x2a8b3d , this ) : this . _reconnectionAttempts ;
} , _0x2a2bdc . prototype . reconnectionDelay = function ( _0x4c2023 ) {
return arguments . length ? ( this . _reconnectionDelay = _0x4c2023 , this . backoff && this . backoff . setMin ( _0x4c2023 ) , this ) : this . _reconnectionDelay ;
} , _0x2a2bdc . prototype . randomizationFactor = function ( _0x5ee6a7 ) {
return arguments . length ? ( this . _randomizationFactor = _0x5ee6a7 , this . backoff && this . backoff . setJitter ( _0x5ee6a7 ) , this ) : this . _randomizationFactor ;
} , _0x2a2bdc . prototype . reconnectionDelayMax = function ( _0x33c4cb ) {
return arguments . length ? ( this . _reconnectionDelayMax = _0x33c4cb , this . backoff && this . backoff . setMax ( _0x33c4cb ) , this ) : this . _reconnectionDelayMax ;
} , _0x2a2bdc . prototype . timeout = function ( _0x5a7c5d ) {
return arguments . length ? ( this . _timeout = _0x5a7c5d , this ) : this . _timeout ;
} , _0x2a2bdc . prototype . maybeReconnectOnOpen = function ( ) {
! this . reconnecting && this . _reconnection && 0x0 === this . backoff . attempts && this . reconnect ( ) ;
} , _0x2a2bdc . prototype . open = _0x2a2bdc . prototype . connect = function ( _0x2ab01b , _0xa74075 ) {
if ( _0x58142b ( 'readyState %s' , this . readyState ) , ~ this . readyState . indexOf ( 'open' ) ) return this ;
_0x58142b ( 'opening %s' , this . uri ) , this . engine = _0xb80e1d ( this . uri , this . opts ) ;
var _0x20e984 = this . engine ,
_0x328b67 = this ;
this . readyState = 'opening' , this . skipReconnect = ! 0x1 ;
var _0x84348b = _0x32f5b6 ( _0x20e984 , 'open' , function ( ) {
_0x328b67 . onopen ( ) , _0x2ab01b && _0x2ab01b ( ) ;
} ) ,
_0x5a5a57 = _0x32f5b6 ( _0x20e984 , 'error' , function ( _0x1739ea ) {
if ( _0x58142b ( 'connect_error' ) , _0x328b67 . cleanup ( ) , _0x328b67 . readyState = 'closed' , _0x328b67 . emitAll ( 'connect_error' , _0x1739ea ) , _0x2ab01b ) {
var _0x20e984 = new Error ( 'Connection error' ) ;
_0x20e984 . data = _0x1739ea , _0x2ab01b ( _0x20e984 ) ;
} else _0x328b67 . maybeReconnectOnOpen ( ) ;
} ) ;
if ( ! 0x1 !== this . _timeout ) {
var _0x11a5a2 = this . _timeout ;
_0x58142b ( 'connect attempt will timeout after %d' , _0x11a5a2 ) ;
var _0x3a9e8a = setTimeout ( function ( ) {
_0x58142b ( 'connect attempt timed out after %d' , _0x11a5a2 ) , _0x84348b . destroy ( ) , _0x20e984 . close ( ) , _0x20e984 . emit ( 'error' , 'timeout' ) , _0x328b67 . emitAll ( 'connect_timeout' , _0x11a5a2 ) ;
} , _0x11a5a2 ) ;
this . subs . push ( {
'destroy' : function ( ) {
clearTimeout ( _0x3a9e8a ) ;
}
} ) ;
}
return this . subs . push ( _0x84348b ) , this . subs . push ( _0x5a5a57 ) , this ;
} , _0x2a2bdc . prototype . onopen = function ( ) {
_0x58142b ( 'open' ) , this . cleanup ( ) , this . readyState = 'open' , this . emit ( 'open' ) ;
var _0x567f36 = this . engine ;
this . subs . push ( _0x32f5b6 ( _0x567f36 , 'data' , _0x3c17e8 ( this , 'ondata' ) ) ) , this . subs . push ( _0x32f5b6 ( _0x567f36 , 'ping' , _0x3c17e8 ( this , 'onping' ) ) ) , this . subs . push ( _0x32f5b6 ( _0x567f36 , 'pong' , _0x3c17e8 ( this , 'onpong' ) ) ) , this . subs . push ( _0x32f5b6 ( _0x567f36 , 'error' , _0x3c17e8 ( this , 'onerror' ) ) ) , this . subs . push ( _0x32f5b6 ( _0x567f36 , 'close' , _0x3c17e8 ( this , 'onclose' ) ) ) , this . subs . push ( _0x32f5b6 ( this . decoder , 'decoded' , _0x3c17e8 ( this , 'ondecoded' ) ) ) ;
} , _0x2a2bdc . prototype . onping = function ( ) {
this . lastPing = new Date ( ) , this . emitAll ( 'ping' ) ;
} , _0x2a2bdc . prototype . onpong = function ( ) {
this . emitAll ( 'pong' , new Date ( ) - this . lastPing ) ;
} , _0x2a2bdc . prototype . ondata = function ( _0x5be075 ) {
this . decoder . add ( _0x5be075 ) ;
} , _0x2a2bdc . prototype . ondecoded = function ( _0xa0af25 ) {
this . emit ( 'packet' , _0xa0af25 ) ;
} , _0x2a2bdc . prototype . onerror = function ( _0x3a6f82 ) {
_0x58142b ( 'error' , _0x3a6f82 ) , this . emitAll ( 'error' , _0x3a6f82 ) ;
} , _0x2a2bdc . prototype . socket = function ( _0x3a991a , _0x1605c1 ) {
var _0x20e984 = this . nsps [ _0x3a991a ] ;
if ( ! _0x20e984 ) {
_0x20e984 = new _0x1b1e2c ( this , _0x3a991a , _0x1605c1 ) , this . nsps [ _0x3a991a ] = _0x20e984 ;
var _0x48b44a = this ;
_0x20e984 . on ( 'connecting' , _0x2e85fd ) , _0x20e984 . on ( 'connect' , function ( ) {
_0x20e984 . id = _0x48b44a . generateId ( _0x3a991a ) ;
} ) , this . autoConnect && _0x2e85fd ( ) ;
}
function _0x2e85fd ( ) {
~ _0x4d56eb ( _0x48b44a . connecting , _0x20e984 ) || _0x48b44a . connecting . push ( _0x20e984 ) ;
}
return _0x20e984 ;
} , _0x2a2bdc . prototype . destroy = function ( _0x64794 ) {
var _0x27b732 = _0x4d56eb ( this . connecting , _0x64794 ) ;
~ _0x27b732 && this . connecting . splice ( _0x27b732 , 0x1 ) , this . connecting . length || this . close ( ) ;
} , _0x2a2bdc . prototype . packet = function ( _0x499681 ) {
_0x58142b ( 'writing packet %j' , _0x499681 ) ;
var _0x27b732 = this ;
_0x499681 . query && 0x0 === _0x499681 . type && ( _0x499681 . nsp += '?' + _0x499681 . query ) , _0x27b732 . encoding ? _0x27b732 . packetBuffer . push ( _0x499681 ) : ( _0x27b732 . encoding = true , this . encoder . encode ( _0x499681 , function ( _0x3a7336 ) {
for ( var _0x3540d7 = 0x0 ; _0x3540d7 < _0x3a7336 . length ; _0x3540d7 ++ ) _0x27b732 . engine . write ( _0x3a7336 [ _0x3540d7 ] , _0x499681 . options ) ;
_0x27b732 . encoding = ! 0x1 , _0x27b732 . processPacketQueue ( ) ;
} ) ) ;
} , _0x2a2bdc . prototype . processPacketQueue = function ( ) {
if ( this . packetBuffer . length > 0x0 && ! this . encoding ) {
var _0x567f36 = this . packetBuffer . shift ( ) ;
this . packet ( _0x567f36 ) ;
}
} , _0x2a2bdc . prototype . cleanup = function ( ) {
_0x58142b ( 'cleanup' ) ;
for ( var _0x567f36 = this . subs . length , _0x27b732 = 0x0 ; _0x27b732 < _0x567f36 ; _0x27b732 ++ ) {
this . subs . shift ( ) . destroy ( ) ;
}
this . packetBuffer = [ ] , this . encoding = ! 0x1 , this . lastPing = null , this . decoder . destroy ( ) ;
} , _0x2a2bdc . prototype . close = _0x2a2bdc . prototype . disconnect = function ( ) {
_0x58142b ( 'disconnect' ) , this . skipReconnect = true , this . reconnecting = ! 0x1 , 'opening' === this . readyState && this . cleanup ( ) , this . backoff . reset ( ) , this . readyState = 'closed' , this . engine && this . engine . close ( ) ;
} , _0x2a2bdc . prototype . onclose = function ( _0x3c8adf ) {
_0x58142b ( 'onclose' ) , this . cleanup ( ) , this . backoff . reset ( ) , this . readyState = 'closed' , this . emit ( 'close' , _0x3c8adf ) , this . _reconnection && ! this . skipReconnect && this . reconnect ( ) ;
} , _0x2a2bdc . prototype . reconnect = function ( ) {
if ( this . reconnecting || this . skipReconnect ) return this ;
var _0x567f36 = this ;
if ( this . backoff . attempts >= this . _reconnectionAttempts ) _0x58142b ( 'reconnect failed' ) , this . backoff . reset ( ) , this . emitAll ( 'reconnect_failed' ) , this . reconnecting = ! 0x1 ;
else {
var _0x27b732 = this . backoff . duration ( ) ;
_0x58142b ( 'will wait %dms before reconnect attempt' , _0x27b732 ) , this . reconnecting = true ;
var _0x20e984 = setTimeout ( function ( ) {
_0x567f36 . skipReconnect || ( _0x58142b ( 'attempting reconnect' ) , _0x567f36 . emitAll ( 'reconnect_attempt' , _0x567f36 . backoff . attempts ) , _0x567f36 . emitAll ( 'reconnecting' , _0x567f36 . backoff . attempts ) , _0x567f36 . skipReconnect || _0x567f36 . open ( function ( _0x4a2bc7 ) {
_0x4a2bc7 ? ( _0x58142b ( 'reconnect attempt error' ) , _0x567f36 . reconnecting = ! 0x1 , _0x567f36 . reconnect ( ) , _0x567f36 . emitAll ( 'reconnect_error' , _0x4a2bc7 . data ) ) : ( _0x58142b ( 'reconnect success' ) , _0x567f36 . onreconnect ( ) ) ;
} ) ) ;
} , _0x27b732 ) ;
this . subs . push ( {
'destroy' : function ( ) {
clearTimeout ( _0x20e984 ) ;
}
} ) ;
}
} , _0x2a2bdc . prototype . onreconnect = function ( ) {
var _0x567f36 = this . backoff . attempts ;
this . reconnecting = ! 0x1 , this . backoff . reset ( ) , this . updateSocketIds ( ) , this . emitAll ( 'reconnect' , _0x567f36 ) ;
} ;
} , function ( _0x34c89e , _0x1cf572 , _0x3c5cf2 ) {
var _0x2e68e3 = _0x3c5cf2 ( 0x6a ) ,
_0x1d6ad9 = _0x3c5cf2 ( 0x17d ) ,
_0x10aef4 = _0x3c5cf2 ( 0x186 ) ,
_0x2674ce = _0x3c5cf2 ( 0x187 ) ;
_0x1cf572 . polling = function ( _0x3b8d56 ) {
var _0x1cf572 = ! 0x1 ,
_0x3c5cf2 = ! 0x1 ,
_0x1315b3 = ! 0x1 !== _0x3b8d56 . jsonp ;
if ( 'undefined' != typeof location ) {
var _0x4c7618 = 'https:' === location . protocol ,
_0x322bce = location . port ;
_0x322bce || ( _0x322bce = _0x4c7618 ? 0x1bb : 0x50 ) , _0x1cf572 = _0x3b8d56 . hostname !== location . hostname || _0x322bce !== _0x3b8d56 . port , _0x3c5cf2 = _0x3b8d56 . secure !== _0x4c7618 ;
}
if ( _0x3b8d56 . xdomain = _0x1cf572 , _0x3b8d56 . xscheme = _0x3c5cf2 , 'open' in new _0x2e68e3 ( _0x3b8d56 ) && ! _0x3b8d56 . forceJSONP ) return new _0x1d6ad9 ( _0x3b8d56 ) ;
if ( ! _0x1315b3 ) throw new Error ( 'JSONP disabled' ) ;
return new _0x10aef4 ( _0x3b8d56 ) ;
} , _0x1cf572 . websocket = _0x2674ce ;
} , function ( _0x490b09 , _0x42405d , _0x5b2bc3 ) {
var _0x3759a8 = _0x5b2bc3 ( 0x6b ) ,
_0x1937bf = _0x5b2bc3 ( 0x4b ) ,
_0x2e6854 = _0x5b2bc3 ( 0x33 ) ,
_0x8749f4 = _0x5b2bc3 ( 0x4c ) ,
_0xee4850 = _0x5b2bc3 ( 0x98 ) ,
_0x36e392 = _0x5b2bc3 ( 0x4d ) ( 'engine.io-client:polling' ) ;
_0x490b09 . exports = _0x2f3628 ;
var _0x1c9df1 = null != new ( _0x5b2bc3 ( 0x6a ) ) ( {
'xdomain' : ! 0x1
} ) . responseType ;
function _0x2f3628 ( _0x117864 ) {
var _0x42405d = _0x117864 && _0x117864 . forceBase64 ;
_0x1c9df1 && ! _0x42405d || ( this . supportsBinary = ! 0x1 ) , _0x3759a8 . call ( this , _0x117864 ) ;
}
_0x8749f4 ( _0x2f3628 , _0x3759a8 ) , _0x2f3628 . prototype . name = 'polling' , _0x2f3628 . prototype . doOpen = function ( ) {
this . poll ( ) ;
} , _0x2f3628 . prototype . pause = function ( _0x818e1c ) {
var _0x42405d = this ;
function _0x2d73c4 ( ) {
_0x36e392 ( 'paused' ) , _0x42405d . readyState = 'paused' , _0x818e1c ( ) ;
}
if ( this . readyState = 'pausing' , this . polling || ! this . writable ) {
var _0x4affdc = 0x0 ;
this . polling && ( _0x36e392 ( 'we are currently polling - waiting to pause' ) , _0x4affdc ++ , this . once ( 'pollComplete' , function ( ) {
_0x36e392 ( 'pre-pause polling complete' ) , -- _0x4affdc || _0x2d73c4 ( ) ;
} ) ) , this . writable || ( _0x36e392 ( 'we are currently writing - waiting to pause' ) , _0x4affdc ++ , this . once ( 'drain' , function ( ) {
_0x36e392 ( 'pre-pause writing complete' ) , -- _0x4affdc || _0x2d73c4 ( ) ;
} ) ) ;
} else _0x2d73c4 ( ) ;
} , _0x2f3628 . prototype . poll = function ( ) {
_0x36e392 ( 'polling' ) , this . polling = true , this . doPoll ( ) , this . emit ( 'poll' ) ;
} , _0x2f3628 . prototype . onData = function ( _0xd2e44e ) {
var _0x42405d = this ;
_0x36e392 ( 'polling got data %s' , _0xd2e44e ) ;
_0x2e6854 . decodePayload ( _0xd2e44e , this . socket . binaryType , function ( _0x51173a , _0x321c9d , _0x3add4c ) {
if ( 'opening' === _0x42405d . readyState && _0x42405d . onOpen ( ) , 'close' === _0x51173a . type ) return _0x42405d . onClose ( ) , ! 0x1 ;
_0x42405d . onPacket ( _0x51173a ) ;
} ) , 'closed' !== this . readyState && ( this . polling = ! 0x1 , this . emit ( 'pollComplete' ) , 'open' === this . readyState ? this . poll ( ) : _0x36e392 ( 'ignoring poll - transport state "%s"' , this . readyState ) ) ;
} , _0x2f3628 . prototype . doClose = function ( ) {
var _0x490b09 = this ;
function _0x2e96b3 ( ) {
_0x36e392 ( 'writing close packet' ) , _0x490b09 . write ( [ {
'type' : 'close'
} ] ) ;
}
'open' === this . readyState ? ( _0x36e392 ( 'transport open - closing' ) , _0x2e96b3 ( ) ) : ( _0x36e392 ( 'transport not open - deferring close' ) , this . once ( 'open' , _0x2e96b3 ) ) ;
} , _0x2f3628 . prototype . write = function ( _0x383447 ) {
var _0x42405d = this ;
this . writable = ! 0x1 ;
var _0x5b2bc3 = function ( ) {
_0x42405d . writable = true , _0x42405d . emit ( 'drain' ) ;
} ;
_0x2e6854 . encodePayload ( _0x383447 , this . supportsBinary , function ( _0x47aff0 ) {
_0x42405d . doWrite ( _0x47aff0 , _0x5b2bc3 ) ;
} ) ;
} , _0x2f3628 . prototype . uri = function ( ) {
var _0x490b09 = this . query || { } ,
_0x42405d = this . secure ? 'https' : 'http' ,
_0x5b2bc3 = '' ;
return ! 0x1 !== this . timestampRequests && ( _0x490b09 [ this . timestampParam ] = _0xee4850 ( ) ) , this . supportsBinary || _0x490b09 . sid || ( _0x490b09 . b64 = 0x1 ) , _0x490b09 = _0x1937bf . encode ( _0x490b09 ) , this . port && ( 'https' === _0x42405d && 0x1bb !== Number ( this . port ) || 'http' === _0x42405d && 0x50 !== Number ( this . port ) ) && ( _0x5b2bc3 = ':' + this . port ) , _0x490b09 . length && ( _0x490b09 = '?' + _0x490b09 ) , _0x42405d + '://' + ( - 0x1 !== this . hostname . indexOf ( ':' ) ? '[' + this . hostname + ']' : this . hostname ) + _0x5b2bc3 + this . path + _0x490b09 ;
} ;
} , function ( _0x4ab1ca , _0x27a37c , _0x25b44a ) {
( function ( _0x4420c0 ) {
2022-05-04 23:39:59 +00:00
var _0xdabc15 = Object . prototype . toString ,
2022-04-30 00:01:21 +00:00
_0x45ae25 = 'function' == typeof Blob || 'undefined' != typeof Blob && '[object BlobConstructor]' === _0xdabc15 . call ( Blob ) ,
_0x1f95e5 = 'function' == typeof File || 'undefined' != typeof File && '[object FileConstructor]' === _0xdabc15 . call ( File ) ;
_0x4ab1ca . exports = function _0x4ab1ca ( _0x14b4f9 ) {
if ( ! _0x14b4f9 || 'object' != typeof _0x14b4f9 ) return ! 0x1 ;
2022-05-04 23:39:59 +00:00
if ( Array . isArray ( _0x14b4f9 ) ) {
2022-04-30 00:01:21 +00:00
for ( var _0x33e703 = 0x0 , _0x25ac30 = _0x14b4f9 . length ; _0x33e703 < _0x25ac30 ; _0x33e703 ++ )
if ( _0x4ab1ca ( _0x14b4f9 [ _0x33e703 ] ) ) return true ;
return ! 0x1 ;
}
if ( 'function' == typeof _0x4420c0 && _0x4420c0 . isBuffer && _0x4420c0 . isBuffer ( _0x14b4f9 ) || 'function' == typeof ArrayBuffer && _0x14b4f9 instanceof ArrayBuffer || _0x45ae25 && _0x14b4f9 instanceof Blob || _0x1f95e5 && _0x14b4f9 instanceof File ) return true ;
if ( _0x14b4f9 . toJSON && 'function' == typeof _0x14b4f9 . toJSON && 0x1 === arguments . length ) return _0x4ab1ca ( _0x14b4f9 . toJSON ( ) , true ) ;
for ( var _0x5226c8 in _0x14b4f9 )
if ( Object . prototype . hasOwnProperty . call ( _0x14b4f9 , _0x5226c8 ) && _0x4ab1ca ( _0x14b4f9 [ _0x5226c8 ] ) ) return true ;
return ! 0x1 ;
} ;
} . call ( this , _0x25b44a ( 0x49 ) . Buffer ) ) ;
} , function ( _0xa72342 , _0x175eee , _0x10fb4c ) {
'use strict' ;
var _0x767f92 , _0x5df01c = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_' . split ( '' ) ,
_0x5df0c7 = 0x40 ,
_0x1db733 = { } ,
_0x523155 = 0x0 ,
_0x4674d7 = 0x0 ;
function _0x168e06 ( _0x2125da ) {
var _0x175eee = '' ;
do {
_0x175eee = _0x5df01c [ _0x2125da % _0x5df0c7 ] + _0x175eee , _0x2125da = Math . floor ( _0x2125da / _0x5df0c7 ) ;
} while ( _0x2125da > 0x0 ) ;
return _0x175eee ;
}
function _0x36a2a0 ( ) {
var _0xa72342 = _0x168e06 ( + new Date ( ) ) ;
return _0xa72342 !== _0x767f92 ? ( _0x523155 = 0x0 , _0x767f92 = _0xa72342 ) : _0xa72342 + '.' + _0x168e06 ( _0x523155 ++ ) ;
}
for ( ; _0x4674d7 < _0x5df0c7 ; _0x4674d7 ++ ) _0x1db733 [ _0x5df01c [ _0x4674d7 ] ] = _0x4674d7 ;
_0x36a2a0 . encode = _0x168e06 , _0x36a2a0 . decode = function ( _0x2fdfe5 ) {
var _0x175eee = 0x0 ;
for ( _0x4674d7 = 0x0 ; _0x4674d7 < _0x2fdfe5 . length ; _0x4674d7 ++ ) _0x175eee = _0x175eee * _0x5df0c7 + _0x1db733 [ _0x2fdfe5 . charAt ( _0x4674d7 ) ] ;
return _0x175eee ;
} , _0xa72342 . exports = _0x36a2a0 ;
} , function ( _0x1bc94c , _0x4a7130 ) {
var _0x1980e6 = [ ] . indexOf ;
_0x1bc94c . exports = function ( _0x271548 , _0x396609 ) {
if ( _0x1980e6 ) return _0x271548 . indexOf ( _0x396609 ) ;
for ( var _0x4efe42 = 0x0 ; _0x4efe42 < _0x271548 . length ; ++ _0x4efe42 )
if ( _0x271548 [ _0x4efe42 ] === _0x396609 ) return _0x4efe42 ;
return - 0x1 ;
} ;
} , function ( _0x558852 , _0x5b8dc2 , _0x509289 ) {
var _0x5efe1b = _0x509289 ( 0x69 ) ,
_0x42c7d0 = _0x509289 ( 0x32 ) ,
_0x53a800 = _0x509289 ( 0x189 ) ,
_0x47048b = _0x509289 ( 0x9b ) ,
_0x1dc99a = _0x509289 ( 0x9c ) ,
_0x4e4e41 = _0x509289 ( 0x4a ) ( 'socket.io-client:socket' ) ,
_0x31bb1a = _0x509289 ( 0x4b ) ,
_0x4ca2db = _0x509289 ( 0x97 ) ;
_0x558852 . exports = _0x2ce65f ;
var _0x219899 = {
'connect' : 0x1 ,
'connect_error' : 0x1 ,
'connect_timeout' : 0x1 ,
'connecting' : 0x1 ,
'disconnect' : 0x1 ,
'error' : 0x1 ,
'reconnect' : 0x1 ,
'reconnect_attempt' : 0x1 ,
'reconnect_failed' : 0x1 ,
'reconnect_error' : 0x1 ,
'reconnecting' : 0x1 ,
'ping' : 0x1 ,
'pong' : 0x1
} ,
_0x4cf437 = _0x42c7d0 . prototype . emit ;
function _0x2ce65f ( _0xcc821f , _0x1ccbf0 , _0x9c83f8 ) {
this . io = _0xcc821f , this . nsp = _0x1ccbf0 , this . json = this , this . ids = 0x0 , this . acks = { } , this . receiveBuffer = [ ] , this . sendBuffer = [ ] , this . connected = ! 0x1 , this . disconnected = true , this . flags = { } , _0x9c83f8 && _0x9c83f8 . query && ( this . query = _0x9c83f8 . query ) , this . io . autoConnect && this . open ( ) ;
}
_0x42c7d0 ( _0x2ce65f . prototype ) , _0x2ce65f . prototype . subEvents = function ( ) {
if ( ! this . subs ) {
var _0x558852 = this . io ;
this . subs = [ _0x47048b ( _0x558852 , 'open' , _0x1dc99a ( this , 'onopen' ) ) , _0x47048b ( _0x558852 , 'packet' , _0x1dc99a ( this , 'onpacket' ) ) , _0x47048b ( _0x558852 , 'close' , _0x1dc99a ( this , 'onclose' ) ) ] ;
}
} , _0x2ce65f . prototype . open = _0x2ce65f . prototype . connect = function ( ) {
return this . connected ? this : ( this . subEvents ( ) , this . io . open ( ) , 'open' === this . io . readyState && this . onopen ( ) , this . emit ( 'connecting' ) , this ) ;
} , _0x2ce65f . prototype . send = function ( ) {
var _0x558852 = _0x53a800 ( arguments ) ;
return _0x558852 . unshift ( 'message' ) , this . emit . apply ( this , _0x558852 ) , this ;
} , _0x2ce65f . prototype . emit = function ( _0x32e269 ) {
if ( _0x219899 . hasOwnProperty ( _0x32e269 ) ) return _0x4cf437 . apply ( this , arguments ) , this ;
var _0x5b8dc2 = _0x53a800 ( arguments ) ,
_0x509289 = {
'type' : ( void 0x0 !== this . flags . binary ? this . flags . binary : _0x4ca2db ( _0x5b8dc2 ) ) ? _0x5efe1b . BINARY _EVENT : _0x5efe1b . EVENT ,
'data' : _0x5b8dc2 ,
'options' : { }
} ;
return _0x509289 . options . compress = ! this . flags || ! 0x1 !== this . flags . compress , 'function' == typeof _0x5b8dc2 [ _0x5b8dc2 . length - 0x1 ] && ( _0x4e4e41 ( 'emitting packet with ack id %d' , this . ids ) , this . acks [ this . ids ] = _0x5b8dc2 . pop ( ) , _0x509289 . id = this . ids ++ ) , this . connected ? this . packet ( _0x509289 ) : this . sendBuffer . push ( _0x509289 ) , this . flags = { } , this ;
} , _0x2ce65f . prototype . packet = function ( _0x4e2e07 ) {
_0x4e2e07 . nsp = this . nsp , this . io . packet ( _0x4e2e07 ) ;
} , _0x2ce65f . prototype . onopen = function ( ) {
if ( _0x4e4e41 ( 'transport is open - connecting' ) , '/' !== this . nsp )
if ( this . query ) {
var _0x558852 = 'object' == typeof this . query ? _0x31bb1a . encode ( this . query ) : this . query ;
_0x4e4e41 ( 'sending connect packet with query %s' , _0x558852 ) , this . packet ( {
'type' : _0x5efe1b . CONNECT ,
'query' : _0x558852
} ) ;
} else this . packet ( {
'type' : _0x5efe1b . CONNECT
} ) ;
} , _0x2ce65f . prototype . onclose = function ( _0x16d230 ) {
_0x4e4e41 ( 'close (%s)' , _0x16d230 ) , this . connected = ! 0x1 , this . disconnected = true , delete this . id , this . emit ( 'disconnect' , _0x16d230 ) ;
} , _0x2ce65f . prototype . onpacket = function ( _0x42f3b6 ) {
var _0x5b8dc2 = _0x42f3b6 . nsp === this . nsp ,
_0x509289 = _0x42f3b6 . type === _0x5efe1b . ERROR && '/' === _0x42f3b6 . nsp ;
if ( _0x5b8dc2 || _0x509289 ) switch ( _0x42f3b6 . type ) {
case _0x5efe1b . CONNECT :
this . onconnect ( ) ;
break ;
case _0x5efe1b . EVENT :
case _0x5efe1b . BINARY _EVENT :
this . onevent ( _0x42f3b6 ) ;
break ;
case _0x5efe1b . ACK :
case _0x5efe1b . BINARY _ACK :
this . onack ( _0x42f3b6 ) ;
break ;
case _0x5efe1b . DISCONNECT :
this . ondisconnect ( ) ;
break ;
case _0x5efe1b . ERROR :
this . emit ( 'error' , _0x42f3b6 . data ) ;
}
} , _0x2ce65f . prototype . onevent = function ( _0x14327d ) {
var _0x5b8dc2 = _0x14327d . data || [ ] ;
_0x4e4e41 ( 'emitting event %j' , _0x5b8dc2 ) , null != _0x14327d . id && ( _0x4e4e41 ( 'attaching ack callback to event' ) , _0x5b8dc2 . push ( this . ack ( _0x14327d . id ) ) ) , this . connected ? _0x4cf437 . apply ( this , _0x5b8dc2 ) : this . receiveBuffer . push ( _0x5b8dc2 ) ;
} , _0x2ce65f . prototype . ack = function ( _0x1a9ab4 ) {
var _0x5b8dc2 = this ,
_0x509289 = ! 0x1 ;
return function ( ) {
if ( ! _0x509289 ) {
_0x509289 = true ;
var _0x2d88d4 = _0x53a800 ( arguments ) ;
_0x4e4e41 ( 'sending ack %j' , _0x2d88d4 ) , _0x5b8dc2 . packet ( {
'type' : _0x4ca2db ( _0x2d88d4 ) ? _0x5efe1b . BINARY _ACK : _0x5efe1b . ACK ,
'id' : _0x1a9ab4 ,
'data' : _0x2d88d4
} ) ;
}
} ;
} , _0x2ce65f . prototype . onack = function ( _0x26a99f ) {
var _0x5b8dc2 = this . acks [ _0x26a99f . id ] ;
'function' == typeof _0x5b8dc2 ? ( _0x4e4e41 ( 'calling ack %s with %j' , _0x26a99f . id , _0x26a99f . data ) , _0x5b8dc2 . apply ( this , _0x26a99f . data ) , delete this . acks [ _0x26a99f . id ] ) : _0x4e4e41 ( 'bad ack %s' , _0x26a99f . id ) ;
} , _0x2ce65f . prototype . onconnect = function ( ) {
this . connected = true , this . disconnected = ! 0x1 , this . emit ( 'connect' ) , this . emitBuffered ( ) ;
} , _0x2ce65f . prototype . emitBuffered = function ( ) {
var _0x558852 ;
for ( _0x558852 = 0x0 ; _0x558852 < this . receiveBuffer . length ; _0x558852 ++ ) _0x4cf437 . apply ( this , this . receiveBuffer [ _0x558852 ] ) ;
for ( this . receiveBuffer = [ ] , _0x558852 = 0x0 ; _0x558852 < this . sendBuffer . length ; _0x558852 ++ ) this . packet ( this . sendBuffer [ _0x558852 ] ) ;
this . sendBuffer = [ ] ;
} , _0x2ce65f . prototype . ondisconnect = function ( ) {
_0x4e4e41 ( 'server disconnect (%s)' , this . nsp ) , this . destroy ( ) , this . onclose ( 'io server disconnect' ) ;
} , _0x2ce65f . prototype . destroy = function ( ) {
if ( this . subs ) {
for ( var _0x558852 = 0x0 ; _0x558852 < this . subs . length ; _0x558852 ++ ) this . subs [ _0x558852 ] . destroy ( ) ;
this . subs = null ;
}
this . io . destroy ( this ) ;
} , _0x2ce65f . prototype . close = _0x2ce65f . prototype . disconnect = function ( ) {
return this . connected && ( _0x4e4e41 ( 'performing disconnect (%s)' , this . nsp ) , this . packet ( {
'type' : _0x5efe1b . DISCONNECT
} ) ) , this . destroy ( ) , this . connected && this . onclose ( 'io client disconnect' ) , this ;
} , _0x2ce65f . prototype . compress = function ( _0x32a2ca ) {
return this . flags . compress = _0x32a2ca , this ;
} , _0x2ce65f . prototype . binary = function ( _0x1bf052 ) {
return this . flags . binary = _0x1bf052 , this ;
} ;
} , function ( _0x3ce01e , _0x37c685 ) {
_0x3ce01e . exports = function ( _0x1e9e79 , _0x14fd23 , _0x38b021 ) {
return _0x1e9e79 . on ( _0x14fd23 , _0x38b021 ) , {
'destroy' : function ( ) {
_0x1e9e79 . removeListener ( _0x14fd23 , _0x38b021 ) ;
}
} ;
} ;
} , function ( _0x26c200 , _0x40b7f6 ) {
var _0x4c26f8 = [ ] . slice ;
_0x26c200 . exports = function ( _0x47b2d3 , _0x44e831 ) {
if ( 'string' == typeof _0x44e831 && ( _0x44e831 = _0x47b2d3 [ _0x44e831 ] ) , 'function' != typeof _0x44e831 ) throw new Error ( 'bind() requires a function' ) ;
var _0x34c502 = _0x4c26f8 . call ( arguments , 0x2 ) ;
return function ( ) {
return _0x44e831 . apply ( _0x47b2d3 , _0x34c502 . concat ( _0x4c26f8 . call ( arguments ) ) ) ;
} ;
} ;
} , function ( _0xc6a4b0 , _0x7437ff , _0x459722 ) {
var _0x4bddd8 ;
! function ( ) {
'use strict' ;
var _0x459722 = { } . hasOwnProperty ;
function _0x428a46 ( ) {
for ( var _0xc6a4b0 = [ ] , _0x7437ff = 0x0 ; _0x7437ff < arguments . length ; _0x7437ff ++ ) {
var _0x26c9fe = arguments [ _0x7437ff ] ;
if ( _0x26c9fe ) {
var _0x53e692 = typeof _0x26c9fe ;
if ( 'string' === _0x53e692 || 'number' === _0x53e692 ) _0xc6a4b0 . push ( this && this [ _0x26c9fe ] || _0x26c9fe ) ;
else if ( Array . isArray ( _0x26c9fe ) ) _0xc6a4b0 . push ( _0x428a46 . apply ( this , _0x26c9fe ) ) ;
else if ( 'object' === _0x53e692 )
for ( var _0x12d444 in _0x26c9fe ) _0x459722 . call ( _0x26c9fe , _0x12d444 ) && _0x26c9fe [ _0x12d444 ] && _0xc6a4b0 . push ( this && this [ _0x12d444 ] || _0x12d444 ) ;
}
}
return _0xc6a4b0 . join ( ' ' ) ;
}
_0xc6a4b0 . exports ? ( _0x428a46 . default = _0x428a46 , _0xc6a4b0 . exports = _0x428a46 ) : void 0x0 === ( _0x4bddd8 = function ( ) {
return _0x428a46 ;
} . apply ( _0x7437ff , [ ] ) ) || ( _0xc6a4b0 . exports = _0x4bddd8 ) ;
} ( ) ;
} , function ( _0x4fe39b , _0x3af40d , _0x2af07b ) {
var _0xef024b = _0x2af07b ( 0x16e ) ;
'string' == typeof _0xef024b && ( _0xef024b = [
[ _0x4fe39b . i , _0xef024b , '' ]
] ) ;
var _0x28f965 = {
'hmr' : true ,
'transform' : void 0x0 ,
'insertInto' : void 0x0
} ;
_0x2af07b ( 0x170 ) ( _0xef024b , _0x28f965 ) ;
_0xef024b . locals && ( _0x4fe39b . exports = _0xef024b . locals ) ;
} , function ( _0xfb1bcc , _0x54234e , _0x2fab2f ) {
var _0x19304b , _0x101743 , _0x30cf42 ;
function _0x5b8580 ( _0x55a2a2 ) {
return ( _0x5b8580 = 'function' == typeof Symbol && 'symbol' == typeof Symbol . iterator ? function ( _0x2b66f2 ) {
return typeof _0x2b66f2 ;
} : function ( _0x4d77c3 ) {
return _0x4d77c3 && 'function' == typeof Symbol && _0x4d77c3 . constructor === Symbol && _0x4d77c3 !== Symbol . prototype ? 'symbol' : typeof _0x4d77c3 ;
} ) ( _0x55a2a2 ) ;
} ! function ( _0x55acb1 ) {
'object' == _0x5b8580 ( _0x54234e ) && void 0x0 !== _0xfb1bcc ? _0xfb1bcc . exports = _0x55acb1 ( ) : ( _0x101743 = [ ] , void 0x0 === ( _0x30cf42 = 'function' == typeof ( _0x19304b = _0x55acb1 ) ? _0x19304b . apply ( _0x54234e , _0x101743 ) : _0x19304b ) || ( _0xfb1bcc . exports = _0x30cf42 ) ) ;
} ( function ( ) {
function _0x3fa093 ( ) { }
function _0x472eae ( _0x245243 , _0xb70880 ) {
return this . identifier = _0xb70880 . identifier , this . position = _0xb70880 . position , this . frontPosition = _0xb70880 . frontPosition , this . collection = _0x245243 , this . defaults = {
'size' : 0x64 ,
'threshold' : 0.1 ,
'color' : 'white' ,
'fadeTime' : 0xfa ,
'dataOnly' : ! 0x1 ,
'restJoystick' : true ,
'restOpacity' : 0.5 ,
'mode' : 'dynamic' ,
'zone' : document . body ,
'lockX' : ! 0x1 ,
'lockY' : ! 0x1
} , this . config ( _0xb70880 ) , 'dynamic' === this . options . mode && ( this . options . restOpacity = 0x0 ) , this . id = _0x472eae . id , _0x472eae . id += 0x1 , this . buildEl ( ) . stylize ( ) , this . instance = {
'el' : this . ui . el ,
'on' : this . on . bind ( this ) ,
'off' : this . off . bind ( this ) ,
'show' : this . show . bind ( this ) ,
'hide' : this . hide . bind ( this ) ,
'add' : this . addToDom . bind ( this ) ,
'remove' : this . removeFromDom . bind ( this ) ,
'destroy' : this . destroy . bind ( this ) ,
'resetDirection' : this . resetDirection . bind ( this ) ,
'computeDirection' : this . computeDirection . bind ( this ) ,
'trigger' : this . trigger . bind ( this ) ,
'position' : this . position ,
'frontPosition' : this . frontPosition ,
'ui' : this . ui ,
'identifier' : this . identifier ,
'id' : this . id ,
'options' : this . options
} , this . instance ;
}
function _0x16647e ( _0xa2b08 , _0x5f1598 ) {
var _0x3eabe7 = this ;
return _0x3eabe7 . nipples = [ ] , _0x3eabe7 . idles = [ ] , _0x3eabe7 . actives = [ ] , _0x3eabe7 . ids = [ ] , _0x3eabe7 . pressureIntervals = { } , _0x3eabe7 . manager = _0xa2b08 , _0x3eabe7 . id = _0x16647e . id , _0x16647e . id += 0x1 , _0x3eabe7 . defaults = {
'zone' : document . body ,
'multitouch' : ! 0x1 ,
'maxNumberOfNipples' : 0xa ,
'mode' : 'dynamic' ,
'position' : {
'top' : 0x0 ,
'left' : 0x0
} ,
'catchDistance' : 0xc8 ,
'size' : 0x64 ,
'threshold' : 0.1 ,
'color' : 'white' ,
'fadeTime' : 0xfa ,
'dataOnly' : ! 0x1 ,
'restJoystick' : true ,
'restOpacity' : 0.5 ,
'lockX' : ! 0x1 ,
'lockY' : ! 0x1
} , _0x3eabe7 . config ( _0x5f1598 ) , 'static' !== _0x3eabe7 . options . mode && 'semi' !== _0x3eabe7 . options . mode || ( _0x3eabe7 . options . multitouch = ! 0x1 ) , _0x3eabe7 . options . multitouch || ( _0x3eabe7 . options . maxNumberOfNipples = 0x1 ) , _0x3eabe7 . updateBox ( ) , _0x3eabe7 . prepareNipples ( ) , _0x3eabe7 . bindings ( ) , _0x3eabe7 . begin ( ) , _0x3eabe7 . nipples ;
}
function _0x239176 ( _0x314d03 ) {
var _0x472eae , _0x16647e = this ;
return _0x16647e . ids = { } , _0x16647e . index = 0x0 , _0x16647e . collections = [ ] , _0x16647e . config ( _0x314d03 ) , _0x16647e . prepareCollections ( ) , _0x58adb3 . bindEvt ( window , 'resize' , function ( _0x286619 ) {
clearTimeout ( _0x472eae ) , _0x472eae = setTimeout ( function ( ) {
var _0x286619 , _0x472eae = _0x58adb3 . getScroll ( ) ;
_0x16647e . collections . forEach ( function ( _0x51b063 ) {
_0x51b063 . forEach ( function ( _0xac9967 ) {
_0x286619 = _0xac9967 . el . getBoundingClientRect ( ) , _0xac9967 . position = {
'x' : _0x472eae . x + _0x286619 . left ,
'y' : _0x472eae . y + _0x286619 . top
} ;
} ) ;
} ) ;
} , 0x64 ) ;
} ) , _0x16647e . collections ;
}
var _0x57280e , _0x127f2 = ! ! ( 'ontouchstart' in window ) ,
_0xaf874f = ! ! window . PointerEvent ,
_0xfaede4 = ! ! window . MSPointerEvent ,
_0x436e84 = {
'start' : 'mousedown' ,
'move' : 'mousemove' ,
'end' : 'mouseup'
} ,
_0x3ab23c = { } ;
_0xaf874f ? _0x57280e = {
'start' : 'pointerdown' ,
'move' : 'pointermove' ,
'end' : 'pointerup, pointercancel'
} : _0xfaede4 ? _0x57280e = {
'start' : 'MSPointerDown' ,
'move' : 'MSPointerMove' ,
'end' : 'MSPointerUp'
} : _0x127f2 ? ( _0x57280e = {
'start' : 'touchstart' ,
'move' : 'touchmove' ,
'end' : 'touchend, touchcancel'
} , _0x3ab23c = _0x436e84 ) : _0x57280e = _0x436e84 ;
var _0x58adb3 = {
'distance' : function ( _0xe2d137 , _0x4a91b4 ) {
var _0x16647e = _0x4a91b4 . x - _0xe2d137 . x ,
_0x69f31c = _0x4a91b4 . y - _0xe2d137 . y ;
return Math . sqrt ( _0x16647e * _0x16647e + _0x69f31c * _0x69f31c ) ;
} ,
'angle' : function ( _0x33e493 , _0x9d3464 ) {
var _0x16647e = _0x9d3464 . x - _0x33e493 . x ,
_0x41214c = _0x9d3464 . y - _0x33e493 . y ;
return _0x58adb3 . degrees ( Math . atan2 ( _0x41214c , _0x16647e ) ) ;
} ,
'findCoord' : function ( _0x3b9179 , _0x54b275 , _0x5b7648 ) {
var _0x3183ba = {
'x' : 0x0 ,
'y' : 0x0
} ;
return _0x5b7648 = _0x58adb3 . radians ( _0x5b7648 ) , _0x3183ba . x = _0x3b9179 . x - _0x54b275 * Math . cos ( _0x5b7648 ) , _0x3183ba . y = _0x3b9179 . y - _0x54b275 * Math . sin ( _0x5b7648 ) , _0x3183ba ;
} ,
'radians' : function ( _0x32b21c ) {
return _0x32b21c * ( Math . PI / 0xb4 ) ;
} ,
'degrees' : function ( _0x5a7b5a ) {
return _0x5a7b5a * ( 0xb4 / Math . PI ) ;
} ,
'bindEvt' : function ( _0x33d8ea , _0x4f8b23 , _0x3e6d3a ) {
for ( var _0x18d0a3 , _0x276598 = _0x4f8b23 . split ( /[ ,]+/g ) , _0x2f2026 = 0x0 ; _0x2f2026 < _0x276598 . length ; _0x2f2026 += 0x1 ) _0x18d0a3 = _0x276598 [ _0x2f2026 ] , _0x33d8ea . addEventListener ? _0x33d8ea . addEventListener ( _0x18d0a3 , _0x3e6d3a , ! 0x1 ) : _0x33d8ea . attachEvent && _0x33d8ea . attachEvent ( _0x18d0a3 , _0x3e6d3a ) ;
} ,
'unbindEvt' : function ( _0x5e647a , _0x4dd2d9 , _0x14fccc ) {
for ( var _0x463f77 , _0x22297b = _0x4dd2d9 . split ( /[ ,]+/g ) , _0x3a86ae = 0x0 ; _0x3a86ae < _0x22297b . length ; _0x3a86ae += 0x1 ) _0x463f77 = _0x22297b [ _0x3a86ae ] , _0x5e647a . removeEventListener ? _0x5e647a . removeEventListener ( _0x463f77 , _0x14fccc ) : _0x5e647a . detachEvent && _0x5e647a . detachEvent ( _0x463f77 , _0x14fccc ) ;
} ,
'trigger' : function ( _0x1c4995 , _0x1374ef , _0x20bf72 ) {
var _0x8fde6e = new CustomEvent ( _0x1374ef , _0x20bf72 ) ;
_0x1c4995 . dispatchEvent ( _0x8fde6e ) ;
} ,
'prepareEvent' : function ( _0x3f48af ) {
return _0x3f48af . preventDefault ( ) , _0x3f48af . type . match ( /^touch/ ) ? _0x3f48af . changedTouches : _0x3f48af ;
} ,
'getScroll' : function ( ) {
return {
'x' : void 0x0 !== window . pageXOffset ? window . pageXOffset : ( document . documentElement || document . body . parentNode || document . body ) . scrollLeft ,
'y' : void 0x0 !== window . pageYOffset ? window . pageYOffset : ( document . documentElement || document . body . parentNode || document . body ) . scrollTop
} ;
} ,
'applyPosition' : function ( _0x466237 , _0x7d975a ) {
_0x7d975a . top || _0x7d975a . right || _0x7d975a . bottom || _0x7d975a . left ? ( _0x466237 . style . top = _0x7d975a . top , _0x466237 . style . right = _0x7d975a . right , _0x466237 . style . bottom = _0x7d975a . bottom , _0x466237 . style . left = _0x7d975a . left ) : ( _0x466237 . style . left = _0x7d975a . x + 'px' , _0x466237 . style . top = _0x7d975a . y + 'px' ) ;
} ,
'getTransitionStyle' : function ( _0x1112bc , _0x4fa4c7 , _0xfe6b69 ) {
var _0x1356a5 = _0x58adb3 . configStylePropertyObject ( _0x1112bc ) ;
for ( var _0x7f9207 in _0x1356a5 )
if ( _0x1356a5 . hasOwnProperty ( _0x7f9207 ) )
if ( 'string' == typeof _0x4fa4c7 ) _0x1356a5 [ _0x7f9207 ] = _0x4fa4c7 + ' ' + _0xfe6b69 ;
else {
for ( var _0x2df8ef = '' , _0x14e123 = 0x0 , _0x19b35e = _0x4fa4c7 . length ; _0x14e123 < _0x19b35e ; _0x14e123 += 0x1 ) _0x2df8ef += _0x4fa4c7 [ _0x14e123 ] + ' ' + _0xfe6b69 + ', ' ;
_0x1356a5 [ _0x7f9207 ] = _0x2df8ef . slice ( 0x0 , - 0x2 ) ;
}
return _0x1356a5 ;
} ,
'getVendorStyle' : function ( _0x54efd6 , _0x3ce7bf ) {
var _0x16647e = _0x58adb3 . configStylePropertyObject ( _0x54efd6 ) ;
for ( var _0x3f54f3 in _0x16647e ) _0x16647e . hasOwnProperty ( _0x3f54f3 ) && ( _0x16647e [ _0x3f54f3 ] = _0x3ce7bf ) ;
return _0x16647e ;
} ,
'configStylePropertyObject' : function ( _0x483453 ) {
var _0x472eae = { } ;
return _0x472eae [ _0x483453 ] = '' , [ 'webkit' , 'Moz' , 'o' ] . forEach ( function ( _0x5285f6 ) {
_0x472eae [ _0x5285f6 + _0x483453 . charAt ( 0x0 ) . toUpperCase ( ) + _0x483453 . slice ( 0x1 ) ] = '' ;
} ) , _0x472eae ;
} ,
'extend' : function ( _0x4a9a4d , _0x406e9b ) {
for ( var _0x16647e in _0x406e9b ) _0x406e9b . hasOwnProperty ( _0x16647e ) && ( _0x4a9a4d [ _0x16647e ] = _0x406e9b [ _0x16647e ] ) ;
return _0x4a9a4d ;
} ,
'safeExtend' : function ( _0x96b22 , _0x393dc2 ) {
var _0x16647e = { } ;
for ( var _0x5586ca in _0x96b22 ) _0x96b22 . hasOwnProperty ( _0x5586ca ) && _0x393dc2 . hasOwnProperty ( _0x5586ca ) ? _0x16647e [ _0x5586ca ] = _0x393dc2 [ _0x5586ca ] : _0x96b22 . hasOwnProperty ( _0x5586ca ) && ( _0x16647e [ _0x5586ca ] = _0x96b22 [ _0x5586ca ] ) ;
return _0x16647e ;
} ,
'map' : function ( _0x3d3efe , _0x174497 ) {
if ( _0x3d3efe . length )
for ( var _0x16647e = 0x0 , _0x577b31 = _0x3d3efe . length ; _0x16647e < _0x577b31 ; _0x16647e += 0x1 ) _0x174497 ( _0x3d3efe [ _0x16647e ] ) ;
else _0x174497 ( _0x3d3efe ) ;
}
} ;
_0x3fa093 . prototype . on = function ( _0x2bb1a4 , _0x55f49f ) {
var _0x16647e , _0x584142 = this ,
_0x21f57b = _0x2bb1a4 . split ( /[ ,]+/g ) ;
_0x584142 . _handlers _ = _0x584142 . _handlers _ || { } ;
for ( var _0x271586 = 0x0 ; _0x271586 < _0x21f57b . length ; _0x271586 += 0x1 ) _0x16647e = _0x21f57b [ _0x271586 ] , _0x584142 . _handlers _ [ _0x16647e ] = _0x584142 . _handlers _ [ _0x16647e ] || [ ] , _0x584142 . _handlers _ [ _0x16647e ] . push ( _0x55f49f ) ;
return _0x584142 ;
} , _0x3fa093 . prototype . off = function ( _0x241550 , _0xc2215a ) {
var _0x16647e = this ;
return _0x16647e . _handlers _ = _0x16647e . _handlers _ || { } , void 0x0 === _0x241550 ? _0x16647e . _handlers _ = { } : void 0x0 === _0xc2215a ? _0x16647e . _handlers _ [ _0x241550 ] = null : _0x16647e . _handlers _ [ _0x241550 ] && _0x16647e . _handlers _ [ _0x241550 ] . indexOf ( _0xc2215a ) >= 0x0 && _0x16647e . _handlers _ [ _0x241550 ] . splice ( _0x16647e . _handlers _ [ _0x241550 ] . indexOf ( _0xc2215a ) , 0x1 ) , _0x16647e ;
} , _0x3fa093 . prototype . trigger = function ( _0x38a190 , _0x828e63 ) {
var _0x16647e , _0xcf280d = this ,
_0xaa0dc6 = _0x38a190 . split ( /[ ,]+/g ) ;
_0xcf280d . _handlers _ = _0xcf280d . _handlers _ || { } ;
for ( var _0x5c0574 = 0x0 ; _0x5c0574 < _0xaa0dc6 . length ; _0x5c0574 += 0x1 ) _0x16647e = _0xaa0dc6 [ _0x5c0574 ] , _0xcf280d . _handlers _ [ _0x16647e ] && _0xcf280d . _handlers _ [ _0x16647e ] . length && _0xcf280d . _handlers _ [ _0x16647e ] . forEach ( function ( _0xd6a234 ) {
_0xd6a234 . call ( _0xcf280d , {
'type' : _0x16647e ,
'target' : _0xcf280d
} , _0x828e63 ) ;
} ) ;
} , _0x3fa093 . prototype . config = function ( _0x4c598e ) {
var _0x472eae = this ;
_0x472eae . options = _0x472eae . defaults || { } , _0x4c598e && ( _0x472eae . options = _0x58adb3 . safeExtend ( _0x472eae . options , _0x4c598e ) ) ;
} , _0x3fa093 . prototype . bindEvt = function ( _0x1ada9c , _0x498cf5 ) {
var _0x16647e = this ;
return _0x16647e . _domHandlers _ = _0x16647e . _domHandlers _ || { } , _0x16647e . _domHandlers _ [ _0x498cf5 ] = function ( ) {
'function' == typeof _0x16647e [ 'on' + _0x498cf5 ] ? _0x16647e [ 'on' + _0x498cf5 ] . apply ( _0x16647e , arguments ) : console . warn ( '[WARNING] : Missing "on' + _0x498cf5 + '" handler.' ) ;
} , _0x58adb3 . bindEvt ( _0x1ada9c , _0x57280e [ _0x498cf5 ] , _0x16647e . _domHandlers _ [ _0x498cf5 ] ) , _0x3ab23c [ _0x498cf5 ] && _0x58adb3 . bindEvt ( _0x1ada9c , _0x3ab23c [ _0x498cf5 ] , _0x16647e . _domHandlers _ [ _0x498cf5 ] ) , _0x16647e ;
} , _0x3fa093 . prototype . unbindEvt = function ( _0x5d5ea4 , _0x581a68 ) {
var _0x16647e = this ;
return _0x16647e . _domHandlers _ = _0x16647e . _domHandlers _ || { } , _0x58adb3 . unbindEvt ( _0x5d5ea4 , _0x57280e [ _0x581a68 ] , _0x16647e . _domHandlers _ [ _0x581a68 ] ) , _0x3ab23c [ _0x581a68 ] && _0x58adb3 . unbindEvt ( _0x5d5ea4 , _0x3ab23c [ _0x581a68 ] , _0x16647e . _domHandlers _ [ _0x581a68 ] ) , delete _0x16647e . _domHandlers _ [ _0x581a68 ] , this ;
} , _0x472eae . prototype = new _0x3fa093 ( ) , _0x472eae . constructor = _0x472eae , _0x472eae . id = 0x0 , _0x472eae . prototype . buildEl = function ( _0x2b6936 ) {
return this . ui = { } , this . options . dataOnly ? this : ( this . ui . el = document . createElement ( 'div' ) , this . ui . back = document . createElement ( 'div' ) , this . ui . front = document . createElement ( 'div' ) , this . ui . el . className = 'nipple collection_' + this . collection . id , this . ui . back . className = 'back' , this . ui . front . className = 'front' , this . ui . el . setAttribute ( 'id' , 'nipple_' + this . collection . id + '_' + this . id ) , this . ui . el . appendChild ( this . ui . back ) , this . ui . el . appendChild ( this . ui . front ) , this ) ;
} , _0x472eae . prototype . stylize = function ( ) {
if ( this . options . dataOnly ) return this ;
var _0x3fa093 = this . options . fadeTime + 'ms' ,
_0x472eae = _0x58adb3 . getVendorStyle ( 'borderRadius' , '50%' ) ,
_0x16647e = _0x58adb3 . getTransitionStyle ( 'transition' , 'opacity' , _0x3fa093 ) ,
_0x344f45 = { } ;
return _0x344f45 . el = {
'position' : 'absolute' ,
'opacity' : this . options . restOpacity ,
'display' : 'block' ,
'zIndex' : 0x3e7
} , _0x344f45 . back = {
'position' : 'absolute' ,
'display' : 'block' ,
'width' : this . options . size + 'px' ,
'height' : this . options . size + 'px' ,
'marginLeft' : - this . options . size / 0x2 + 'px' ,
'marginTop' : - this . options . size / 0x2 + 'px' ,
'background' : this . options . color ,
'opacity' : '.5'
} , _0x344f45 . front = {
'width' : this . options . size / 0x2 + 'px' ,
'height' : this . options . size / 0x2 + 'px' ,
'position' : 'absolute' ,
'display' : 'block' ,
'marginLeft' : - this . options . size / 0x4 + 'px' ,
'marginTop' : - this . options . size / 0x4 + 'px' ,
'background' : this . options . color ,
'opacity' : '.5'
} , _0x58adb3 . extend ( _0x344f45 . el , _0x16647e ) , _0x58adb3 . extend ( _0x344f45 . back , _0x472eae ) , _0x58adb3 . extend ( _0x344f45 . front , _0x472eae ) , this . applyStyles ( _0x344f45 ) , this ;
} , _0x472eae . prototype . applyStyles = function ( _0x3381ee ) {
for ( var _0x472eae in this . ui )
if ( this . ui . hasOwnProperty ( _0x472eae ) )
for ( var _0x16647e in _0x3381ee [ _0x472eae ] ) this . ui [ _0x472eae ] . style [ _0x16647e ] = _0x3381ee [ _0x472eae ] [ _0x16647e ] ;
return this ;
} , _0x472eae . prototype . addToDom = function ( ) {
return this . options . dataOnly || document . body . contains ( this . ui . el ) ? this : ( this . options . zone . appendChild ( this . ui . el ) , this ) ;
} , _0x472eae . prototype . removeFromDom = function ( ) {
return this . options . dataOnly || ! document . body . contains ( this . ui . el ) ? this : ( this . options . zone . removeChild ( this . ui . el ) , this ) ;
} , _0x472eae . prototype . destroy = function ( ) {
clearTimeout ( this . removeTimeout ) , clearTimeout ( this . showTimeout ) , clearTimeout ( this . restTimeout ) , this . trigger ( 'destroyed' , this . instance ) , this . removeFromDom ( ) , this . off ( ) ;
} , _0x472eae . prototype . show = function ( _0x6bda29 ) {
var _0x472eae = this ;
return _0x472eae . options . dataOnly ? _0x472eae : ( clearTimeout ( _0x472eae . removeTimeout ) , clearTimeout ( _0x472eae . showTimeout ) , clearTimeout ( _0x472eae . restTimeout ) , _0x472eae . addToDom ( ) , _0x472eae . restCallback ( ) , setTimeout ( function ( ) {
_0x472eae . ui . el . style . opacity = 0x1 ;
} , 0x0 ) , _0x472eae . showTimeout = setTimeout ( function ( ) {
_0x472eae . trigger ( 'shown' , _0x472eae . instance ) , 'function' == typeof _0x6bda29 && _0x6bda29 . call ( this ) ;
} , _0x472eae . options . fadeTime ) , _0x472eae ) ;
} , _0x472eae . prototype . hide = function ( _0x5d40e9 ) {
var _0x472eae = this ;
return _0x472eae . options . dataOnly ? _0x472eae : ( _0x472eae . ui . el . style . opacity = _0x472eae . options . restOpacity , clearTimeout ( _0x472eae . removeTimeout ) , clearTimeout ( _0x472eae . showTimeout ) , clearTimeout ( _0x472eae . restTimeout ) , _0x472eae . removeTimeout = setTimeout ( function ( ) {
var _0x16647e = 'dynamic' === _0x472eae . options . mode ? 'none' : 'block' ;
_0x472eae . ui . el . style . display = _0x16647e , 'function' == typeof _0x5d40e9 && _0x5d40e9 . call ( _0x472eae ) , _0x472eae . trigger ( 'hidden' , _0x472eae . instance ) ;
} , _0x472eae . options . fadeTime ) , _0x472eae . options . restJoystick && _0x472eae . restPosition ( ) , _0x472eae ) ;
} , _0x472eae . prototype . restPosition = function ( _0x535ac8 ) {
var _0x472eae = this ;
_0x472eae . frontPosition = {
'x' : 0x0 ,
'y' : 0x0
} ;
var _0x16647e = _0x472eae . options . fadeTime + 'ms' ,
_0x274bb9 = { } ;
_0x274bb9 . front = _0x58adb3 . getTransitionStyle ( 'transition' , [ 'top' , 'left' ] , _0x16647e ) ;
var _0x4998bc = {
'front' : { }
} ;
_0x4998bc . front = {
'left' : _0x472eae . frontPosition . x + 'px' ,
'top' : _0x472eae . frontPosition . y + 'px'
} , _0x472eae . applyStyles ( _0x274bb9 ) , _0x472eae . applyStyles ( _0x4998bc ) , _0x472eae . restTimeout = setTimeout ( function ( ) {
'function' == typeof _0x535ac8 && _0x535ac8 . call ( _0x472eae ) , _0x472eae . restCallback ( ) ;
} , _0x472eae . options . fadeTime ) ;
} , _0x472eae . prototype . restCallback = function ( ) {
var _0x3fa093 = this ,
_0x472eae = { } ;
_0x472eae . front = _0x58adb3 . getTransitionStyle ( 'transition' , 'none' , '' ) , _0x3fa093 . applyStyles ( _0x472eae ) , _0x3fa093 . trigger ( 'rested' , _0x3fa093 . instance ) ;
} , _0x472eae . prototype . resetDirection = function ( ) {
this . direction = {
'x' : ! 0x1 ,
'y' : ! 0x1 ,
'angle' : ! 0x1
} ;
} , _0x472eae . prototype . computeDirection = function ( _0x43e5d8 ) {
var _0x472eae , _0x16647e , _0xfc023b , _0xee7b86 = _0x43e5d8 . angle . radian ,
_0x22a09e = Math . PI / 0x4 ,
_0xc76eb4 = Math . PI / 0x2 ;
if ( _0xee7b86 > _0x22a09e && _0xee7b86 < 0x3 * _0x22a09e && ! _0x43e5d8 . lockX ? _0x472eae = 'up' : _0xee7b86 > - _0x22a09e && _0xee7b86 <= _0x22a09e && ! _0x43e5d8 . lockY ? _0x472eae = 'left' : _0xee7b86 > 0x3 * - _0x22a09e && _0xee7b86 <= - _0x22a09e && ! _0x43e5d8 . lockX ? _0x472eae = 'down' : _0x43e5d8 . lockY || ( _0x472eae = 'right' ) , _0x43e5d8 . lockY || ( _0x16647e = _0xee7b86 > - _0xc76eb4 && _0xee7b86 < _0xc76eb4 ? 'left' : 'right' ) , _0x43e5d8 . lockX || ( _0xfc023b = _0xee7b86 > 0x0 ? 'up' : 'down' ) , _0x43e5d8 . force > this . options . threshold ) {
var _0x3e5187 = { } ;
for ( var _0x28b8ad in this . direction ) this . direction . hasOwnProperty ( _0x28b8ad ) && ( _0x3e5187 [ _0x28b8ad ] = this . direction [ _0x28b8ad ] ) ;
var _0x2939ab = { } ;
for ( var _0x28b8ad in this . direction = {
'x' : _0x16647e ,
'y' : _0xfc023b ,
'angle' : _0x472eae
} , _0x43e5d8 . direction = this . direction , _0x3e5187 ) _0x3e5187 [ _0x28b8ad ] === this . direction [ _0x28b8ad ] && ( _0x2939ab [ _0x28b8ad ] = true ) ;
if ( _0x2939ab . x && _0x2939ab . y && _0x2939ab . angle ) return _0x43e5d8 ;
_0x2939ab . x && _0x2939ab . y || this . trigger ( 'plain' , _0x43e5d8 ) , _0x2939ab . x || this . trigger ( 'plain:' + _0x16647e , _0x43e5d8 ) , _0x2939ab . y || this . trigger ( 'plain:' + _0xfc023b , _0x43e5d8 ) , _0x2939ab . angle || this . trigger ( 'dir dir:' + _0x472eae , _0x43e5d8 ) ;
}
return _0x43e5d8 ;
} , _0x16647e . prototype = new _0x3fa093 ( ) , _0x16647e . constructor = _0x16647e , _0x16647e . id = 0x0 , _0x16647e . prototype . prepareNipples = function ( ) {
var _0x3fa093 = this ,
_0x472eae = _0x3fa093 . nipples ;
_0x472eae . on = _0x3fa093 . on . bind ( _0x3fa093 ) , _0x472eae . off = _0x3fa093 . off . bind ( _0x3fa093 ) , _0x472eae . options = _0x3fa093 . options , _0x472eae . destroy = _0x3fa093 . destroy . bind ( _0x3fa093 ) , _0x472eae . ids = _0x3fa093 . ids , _0x472eae . id = _0x3fa093 . id , _0x472eae . processOnMove = _0x3fa093 . processOnMove . bind ( _0x3fa093 ) , _0x472eae . processOnEnd = _0x3fa093 . processOnEnd . bind ( _0x3fa093 ) , _0x472eae . get = function ( _0x551448 ) {
if ( void 0x0 === _0x551448 ) return _0x472eae [ 0x0 ] ;
for ( var _0x16647e = 0x0 , _0x189014 = _0x472eae . length ; _0x16647e < _0x189014 ; _0x16647e += 0x1 )
if ( _0x472eae [ _0x16647e ] . identifier === _0x551448 ) return _0x472eae [ _0x16647e ] ;
return ! 0x1 ;
} ;
} , _0x16647e . prototype . bindings = function ( ) {
var _0x3fa093 = this ;
_0x3fa093 . bindEvt ( _0x3fa093 . options . zone , 'start' ) , _0x3fa093 . options . zone . style . touchAction = 'none' , _0x3fa093 . options . zone . style . msTouchAction = 'none' ;
} , _0x16647e . prototype . begin = function ( ) {
var _0x3fa093 = this ,
_0x472eae = _0x3fa093 . options ;
if ( 'static' === _0x472eae . mode ) {
var _0x16647e = _0x3fa093 . createNipple ( _0x472eae . position , _0x3fa093 . manager . getIdentifier ( ) ) ;
_0x16647e . add ( ) , _0x3fa093 . idles . push ( _0x16647e ) ;
}
} , _0x16647e . prototype . createNipple = function ( _0xc0ab75 , _0x5ce020 ) {
var _0x386a33 = this ,
_0x173c13 = _0x58adb3 . getScroll ( ) ,
_0x3c5320 = { } ,
_0x500442 = _0x386a33 . options ;
if ( _0xc0ab75 . x && _0xc0ab75 . y ) _0x3c5320 = {
'x' : _0xc0ab75 . x - ( _0x173c13 . x + _0x386a33 . box . left ) ,
'y' : _0xc0ab75 . y - ( _0x173c13 . y + _0x386a33 . box . top )
} ;
else if ( _0xc0ab75 . top || _0xc0ab75 . right || _0xc0ab75 . bottom || _0xc0ab75 . left ) {
var _0x549507 = document . createElement ( 'DIV' ) ;
_0x549507 . style . display = 'hidden' , _0x549507 . style . top = _0xc0ab75 . top , _0x549507 . style . right = _0xc0ab75 . right , _0x549507 . style . bottom = _0xc0ab75 . bottom , _0x549507 . style . left = _0xc0ab75 . left , _0x549507 . style . position = 'absolute' , _0x500442 . zone . appendChild ( _0x549507 ) ;
var _0x399802 = _0x549507 . getBoundingClientRect ( ) ;
_0x500442 . zone . removeChild ( _0x549507 ) , _0x3c5320 = _0xc0ab75 , _0xc0ab75 = {
'x' : _0x399802 . left + _0x173c13 . x ,
'y' : _0x399802 . top + _0x173c13 . y
} ;
}
var _0x1efaec = new _0x472eae ( _0x386a33 , {
'color' : _0x500442 . color ,
'size' : _0x500442 . size ,
'threshold' : _0x500442 . threshold ,
'fadeTime' : _0x500442 . fadeTime ,
'dataOnly' : _0x500442 . dataOnly ,
'restJoystick' : _0x500442 . restJoystick ,
'restOpacity' : _0x500442 . restOpacity ,
'mode' : _0x500442 . mode ,
'identifier' : _0x5ce020 ,
'position' : _0xc0ab75 ,
'zone' : _0x500442 . zone ,
'frontPosition' : {
'x' : 0x0 ,
'y' : 0x0
}
} ) ;
return _0x500442 . dataOnly || ( _0x58adb3 . applyPosition ( _0x1efaec . ui . el , _0x3c5320 ) , _0x58adb3 . applyPosition ( _0x1efaec . ui . front , _0x1efaec . frontPosition ) ) , _0x386a33 . nipples . push ( _0x1efaec ) , _0x386a33 . trigger ( 'added ' + _0x1efaec . identifier + ':added' , _0x1efaec ) , _0x386a33 . manager . trigger ( 'added ' + _0x1efaec . identifier + ':added' , _0x1efaec ) , _0x386a33 . bindNipple ( _0x1efaec ) , _0x1efaec ;
} , _0x16647e . prototype . updateBox = function ( ) {
this . box = this . options . zone . getBoundingClientRect ( ) ;
} , _0x16647e . prototype . bindNipple = function ( _0xf4e27d ) {
var _0x472eae , _0x16647e = this ,
_0x4afd5b = function ( _0x15dccf , _0xc9235b ) {
_0x472eae = _0x15dccf . type + ' ' + _0xc9235b . id + ':' + _0x15dccf . type , _0x16647e . trigger ( _0x472eae , _0xc9235b ) ;
} ;
_0xf4e27d . on ( 'destroyed' , _0x16647e . onDestroyed . bind ( _0x16647e ) ) , _0xf4e27d . on ( 'shown hidden rested dir plain' , _0x4afd5b ) , _0xf4e27d . on ( 'dir:up dir:right dir:down dir:left' , _0x4afd5b ) , _0xf4e27d . on ( 'plain:up plain:right plain:down plain:left' , _0x4afd5b ) ;
} , _0x16647e . prototype . pressureFn = function ( _0x136ce1 , _0xc3b871 , _0x2644f5 ) {
var _0x19ef4e = this ,
_0xa70739 = 0x0 ;
clearInterval ( _0x19ef4e . pressureIntervals [ _0x2644f5 ] ) , _0x19ef4e . pressureIntervals [ _0x2644f5 ] = setInterval ( function ( ) {
var _0x2644f5 = _0x136ce1 . force || _0x136ce1 . pressure || _0x136ce1 . webkitForce || 0x0 ;
_0x2644f5 !== _0xa70739 && ( _0xc3b871 . trigger ( 'pressure' , _0x2644f5 ) , _0x19ef4e . trigger ( 'pressure ' + _0xc3b871 . identifier + ':pressure' , _0x2644f5 ) , _0xa70739 = _0x2644f5 ) ;
} . bind ( _0x19ef4e ) , 0x64 ) ;
} , _0x16647e . prototype . onstart = function ( _0x5699c2 ) {
var _0x472eae = this ,
_0x16647e = _0x472eae . options ;
_0x5699c2 = _0x58adb3 . prepareEvent ( _0x5699c2 ) , _0x472eae . updateBox ( ) ;
return _0x58adb3 . map ( _0x5699c2 , function ( _0x17a155 ) {
_0x472eae . actives . length < _0x16647e . maxNumberOfNipples && _0x472eae . processOnStart ( _0x17a155 ) ;
} ) , _0x472eae . manager . bindDocument ( ) , ! 0x1 ;
} , _0x16647e . prototype . processOnStart = function ( _0x4d7333 ) {
var _0x472eae , _0x16647e = this ,
_0x1c6bd6 = _0x16647e . options ,
_0x5a237d = _0x16647e . manager . getIdentifier ( _0x4d7333 ) ,
_0x4afe2c = _0x4d7333 . force || _0x4d7333 . pressure || _0x4d7333 . webkitForce || 0x0 ,
_0x47c07e = {
'x' : _0x4d7333 . pageX ,
'y' : _0x4d7333 . pageY
} ,
_0xd40c11 = _0x16647e . getOrCreate ( _0x5a237d , _0x47c07e ) ;
_0xd40c11 . identifier !== _0x5a237d && _0x16647e . manager . removeIdentifier ( _0xd40c11 . identifier ) , _0xd40c11 . identifier = _0x5a237d ;
var _0x5e158d = function ( _0x3f02f1 ) {
_0x3f02f1 . trigger ( 'start' , _0x3f02f1 ) , _0x16647e . trigger ( 'start ' + _0x3f02f1 . id + ':start' , _0x3f02f1 ) , _0x3f02f1 . show ( ) , _0x4afe2c > 0x0 && _0x16647e . pressureFn ( _0x4d7333 , _0x3f02f1 , _0x3f02f1 . identifier ) , _0x16647e . processOnMove ( _0x4d7333 ) ;
} ;
if ( ( _0x472eae = _0x16647e . idles . indexOf ( _0xd40c11 ) ) >= 0x0 && _0x16647e . idles . splice ( _0x472eae , 0x1 ) , _0x16647e . actives . push ( _0xd40c11 ) , _0x16647e . ids . push ( _0xd40c11 . identifier ) , 'semi' !== _0x1c6bd6 . mode ) _0x5e158d ( _0xd40c11 ) ;
else {
if ( ! ( _0x58adb3 . distance ( _0x47c07e , _0xd40c11 . position ) <= _0x1c6bd6 . catchDistance ) ) return _0xd40c11 . destroy ( ) , void _0x16647e . processOnStart ( _0x4d7333 ) ;
_0x5e158d ( _0xd40c11 ) ;
}
return _0xd40c11 ;
} , _0x16647e . prototype . getOrCreate = function ( _0x265630 , _0x4759b2 ) {
var _0x16647e , _0x2f9720 = this ,
_0x11375b = _0x2f9720 . options ;
return /(semi|static)/ . test ( _0x11375b . mode ) ? ( _0x16647e = _0x2f9720 . idles [ 0x0 ] ) ? ( _0x2f9720 . idles . splice ( 0x0 , 0x1 ) , _0x16647e ) : 'semi' === _0x11375b . mode ? _0x2f9720 . createNipple ( _0x4759b2 , _0x265630 ) : ( console . warn ( 'Coudln\x27t find the needed nipple.' ) , ! 0x1 ) : _0x16647e = _0x2f9720 . createNipple ( _0x4759b2 , _0x265630 ) ;
} , _0x16647e . prototype . processOnMove = function ( _0x15a60f ) {
var _0x472eae = this ,
_0x16647e = _0x472eae . options ,
_0x1a29a3 = _0x472eae . manager . getIdentifier ( _0x15a60f ) ,
_0x117854 = _0x472eae . nipples . get ( _0x1a29a3 ) ;
if ( ! _0x117854 ) return console . error ( 'Found zombie joystick with ID ' + _0x1a29a3 ) , void _0x472eae . manager . removeIdentifier ( _0x1a29a3 ) ;
_0x117854 . identifier = _0x1a29a3 ;
var _0x2f202f = _0x117854 . options . size / 0x2 ,
_0x4cd3e8 = {
'x' : _0x15a60f . pageX ,
'y' : _0x15a60f . pageY
} ,
_0xb2440c = _0x58adb3 . distance ( _0x4cd3e8 , _0x117854 . position ) ,
_0x2f6ab9 = _0x58adb3 . angle ( _0x4cd3e8 , _0x117854 . position ) ,
_0x266647 = _0x58adb3 . radians ( _0x2f6ab9 ) ,
_0x55efdf = _0xb2440c / _0x2f202f ;
_0xb2440c > _0x2f202f && ( _0xb2440c = _0x2f202f , _0x4cd3e8 = _0x58adb3 . findCoord ( _0x117854 . position , _0xb2440c , _0x2f6ab9 ) ) ;
var _0x2c7232 = _0x4cd3e8 . x - _0x117854 . position . x ,
_0x179519 = _0x4cd3e8 . y - _0x117854 . position . y ;
_0x16647e . lockX && ( _0x179519 = 0x0 ) , _0x16647e . lockY && ( _0x2c7232 = 0x0 ) , _0x117854 . frontPosition = {
'x' : _0x2c7232 ,
'y' : _0x179519
} , _0x16647e . dataOnly || _0x58adb3 . applyPosition ( _0x117854 . ui . front , _0x117854 . frontPosition ) ;
var _0x2d347e = {
'identifier' : _0x117854 . identifier ,
'position' : _0x4cd3e8 ,
'force' : _0x55efdf ,
'pressure' : _0x15a60f . force || _0x15a60f . pressure || _0x15a60f . webkitForce || 0x0 ,
'distance' : _0xb2440c ,
'angle' : {
'radian' : _0x266647 ,
'degree' : _0x2f6ab9
} ,
'instance' : _0x117854 ,
'lockX' : _0x16647e . lockX ,
'lockY' : _0x16647e . lockY
} ;
( _0x2d347e = _0x117854 . computeDirection ( _0x2d347e ) ) . angle = {
'radian' : _0x58adb3 . radians ( 0xb4 - _0x2f6ab9 ) ,
'degree' : 0xb4 - _0x2f6ab9
} , _0x117854 . trigger ( 'move' , _0x2d347e ) , _0x472eae . trigger ( 'move ' + _0x117854 . id + ':move' , _0x2d347e ) ;
} , _0x16647e . prototype . processOnEnd = function ( _0x17d221 ) {
var _0x472eae = this ,
_0x16647e = _0x472eae . options ,
_0xfa275e = _0x472eae . manager . getIdentifier ( _0x17d221 ) ,
_0x184c33 = _0x472eae . nipples . get ( _0xfa275e ) ,
_0x3c0d87 = _0x472eae . manager . removeIdentifier ( _0x184c33 . identifier ) ;
_0x184c33 && ( _0x16647e . dataOnly || _0x184c33 . hide ( function ( ) {
'dynamic' === _0x16647e . mode && ( _0x184c33 . trigger ( 'removed' , _0x184c33 ) , _0x472eae . trigger ( 'removed ' + _0x184c33 . id + ':removed' , _0x184c33 ) , _0x472eae . manager . trigger ( 'removed ' + _0x184c33 . id + ':removed' , _0x184c33 ) , _0x184c33 . destroy ( ) ) ;
} ) , clearInterval ( _0x472eae . pressureIntervals [ _0x184c33 . identifier ] ) , _0x184c33 . resetDirection ( ) , _0x184c33 . trigger ( 'end' , _0x184c33 ) , _0x472eae . trigger ( 'end ' + _0x184c33 . id + ':end' , _0x184c33 ) , _0x472eae . ids . indexOf ( _0x184c33 . identifier ) >= 0x0 && _0x472eae . ids . splice ( _0x472eae . ids . indexOf ( _0x184c33 . identifier ) , 0x1 ) , _0x472eae . actives . indexOf ( _0x184c33 ) >= 0x0 && _0x472eae . actives . splice ( _0x472eae . actives . indexOf ( _0x184c33 ) , 0x1 ) , /(semi|static)/ . test ( _0x16647e . mode ) ? _0x472eae . idles . push ( _0x184c33 ) : _0x472eae . nipples . indexOf ( _0x184c33 ) >= 0x0 && _0x472eae . nipples . splice ( _0x472eae . nipples . indexOf ( _0x184c33 ) , 0x1 ) , _0x472eae . manager . unbindDocument ( ) , /(semi|static)/ . test ( _0x16647e . mode ) && ( _0x472eae . manager . ids [ _0x3c0d87 . id ] = _0x3c0d87 . identifier ) ) ;
} , _0x16647e . prototype . onDestroyed = function ( _0x19ea83 , _0x59a0c6 ) {
var _0x16647e = this ;
_0x16647e . nipples . indexOf ( _0x59a0c6 ) >= 0x0 && _0x16647e . nipples . splice ( _0x16647e . nipples . indexOf ( _0x59a0c6 ) , 0x1 ) , _0x16647e . actives . indexOf ( _0x59a0c6 ) >= 0x0 && _0x16647e . actives . splice ( _0x16647e . actives . indexOf ( _0x59a0c6 ) , 0x1 ) , _0x16647e . idles . indexOf ( _0x59a0c6 ) >= 0x0 && _0x16647e . idles . splice ( _0x16647e . idles . indexOf ( _0x59a0c6 ) , 0x1 ) , _0x16647e . ids . indexOf ( _0x59a0c6 . identifier ) >= 0x0 && _0x16647e . ids . splice ( _0x16647e . ids . indexOf ( _0x59a0c6 . identifier ) , 0x1 ) , _0x16647e . manager . removeIdentifier ( _0x59a0c6 . identifier ) , _0x16647e . manager . unbindDocument ( ) ;
} , _0x16647e . prototype . destroy = function ( ) {
var _0x3fa093 = this ;
for ( var _0x472eae in _0x3fa093 . unbindEvt ( _0x3fa093 . options . zone , 'start' ) , _0x3fa093 . nipples . forEach ( function ( _0x658e68 ) {
_0x658e68 . destroy ( ) ;
} ) , _0x3fa093 . pressureIntervals ) _0x3fa093 . pressureIntervals . hasOwnProperty ( _0x472eae ) && clearInterval ( _0x3fa093 . pressureIntervals [ _0x472eae ] ) ;
_0x3fa093 . trigger ( 'destroyed' , _0x3fa093 . nipples ) , _0x3fa093 . manager . unbindDocument ( ) , _0x3fa093 . off ( ) ;
} , _0x239176 . prototype = new _0x3fa093 ( ) , _0x239176 . constructor = _0x239176 , _0x239176 . prototype . prepareCollections = function ( ) {
var _0x3fa093 = this ;
_0x3fa093 . collections . create = _0x3fa093 . create . bind ( _0x3fa093 ) , _0x3fa093 . collections . on = _0x3fa093 . on . bind ( _0x3fa093 ) , _0x3fa093 . collections . off = _0x3fa093 . off . bind ( _0x3fa093 ) , _0x3fa093 . collections . destroy = _0x3fa093 . destroy . bind ( _0x3fa093 ) , _0x3fa093 . collections . get = function ( _0x1ddafb ) {
var _0x16647e ;
return _0x3fa093 . collections . every ( function ( _0x14c8e1 ) {
return ! ( _0x16647e = _0x14c8e1 . get ( _0x1ddafb ) ) ;
} ) , _0x16647e ;
} ;
} , _0x239176 . prototype . create = function ( _0x46af65 ) {
return this . createCollection ( _0x46af65 ) ;
} , _0x239176 . prototype . createCollection = function ( _0x252eb1 ) {
var _0x472eae = this ,
_0x58e8ba = new _0x16647e ( _0x472eae , _0x252eb1 ) ;
return _0x472eae . bindCollection ( _0x58e8ba ) , _0x472eae . collections . push ( _0x58e8ba ) , _0x58e8ba ;
} , _0x239176 . prototype . bindCollection = function ( _0x56e9ba ) {
var _0x472eae , _0x16647e = this ,
_0x87b125 = function ( _0x7e6251 , _0x2c4076 ) {
_0x472eae = _0x7e6251 . type + ' ' + _0x2c4076 . id + ':' + _0x7e6251 . type , _0x16647e . trigger ( _0x472eae , _0x2c4076 ) ;
} ;
_0x56e9ba . on ( 'destroyed' , _0x16647e . onDestroyed . bind ( _0x16647e ) ) , _0x56e9ba . on ( 'shown hidden rested dir plain' , _0x87b125 ) , _0x56e9ba . on ( 'dir:up dir:right dir:down dir:left' , _0x87b125 ) , _0x56e9ba . on ( 'plain:up plain:right plain:down plain:left' , _0x87b125 ) ;
} , _0x239176 . prototype . bindDocument = function ( ) {
var _0x3fa093 = this ;
_0x3fa093 . binded || ( _0x3fa093 . bindEvt ( document , 'move' ) . bindEvt ( document , 'end' ) , _0x3fa093 . binded = true ) ;
} , _0x239176 . prototype . unbindDocument = function ( _0x1b19b9 ) {
var _0x472eae = this ;
Object . keys ( _0x472eae . ids ) . length && true !== _0x1b19b9 || ( _0x472eae . unbindEvt ( document , 'move' ) . unbindEvt ( document , 'end' ) , _0x472eae . binded = ! 0x1 ) ;
} , _0x239176 . prototype . getIdentifier = function ( _0x5b021b ) {
var _0x472eae ;
return _0x5b021b ? void 0x0 === ( _0x472eae = void 0x0 === _0x5b021b . identifier ? _0x5b021b . pointerId : _0x5b021b . identifier ) && ( _0x472eae = this . latest || 0x0 ) : _0x472eae = this . index , void 0x0 === this . ids [ _0x472eae ] && ( this . ids [ _0x472eae ] = this . index , this . index += 0x1 ) , this . latest = _0x472eae , this . ids [ _0x472eae ] ;
} , _0x239176 . prototype . removeIdentifier = function ( _0x371920 ) {
var _0x472eae = { } ;
for ( var _0x16647e in this . ids )
if ( this . ids [ _0x16647e ] === _0x371920 ) {
_0x472eae . id = _0x16647e , _0x472eae . identifier = this . ids [ _0x16647e ] , delete this . ids [ _0x16647e ] ;
break ;
}
return _0x472eae ;
} , _0x239176 . prototype . onmove = function ( _0x591f10 ) {
return this . onAny ( 'move' , _0x591f10 ) , ! 0x1 ;
} , _0x239176 . prototype . onend = function ( _0x383c4e ) {
return this . onAny ( 'end' , _0x383c4e ) , ! 0x1 ;
} , _0x239176 . prototype . oncancel = function ( _0x4ff5ab ) {
return this . onAny ( 'end' , _0x4ff5ab ) , ! 0x1 ;
} , _0x239176 . prototype . onAny = function ( _0x223496 , _0x1bbc17 ) {
var _0x16647e , _0x91a6ff = this ,
_0x348841 = 'processOn' + _0x223496 . charAt ( 0x0 ) . toUpperCase ( ) + _0x223496 . slice ( 0x1 ) ;
_0x1bbc17 = _0x58adb3 . prepareEvent ( _0x1bbc17 ) ;
var _0xcd5113 = function ( _0x578516 , _0x470568 , _0x2652b6 ) {
_0x2652b6 . ids . indexOf ( _0x470568 ) >= 0x0 && ( _0x2652b6 [ _0x348841 ] ( _0x578516 ) , _0x578516 . _found _ = true ) ;
} ;
return _0x58adb3 . map ( _0x1bbc17 , function ( _0x22d50b ) {
_0x16647e = _0x91a6ff . getIdentifier ( _0x22d50b ) , _0x58adb3 . map ( _0x91a6ff . collections , _0xcd5113 . bind ( null , _0x22d50b , _0x16647e ) ) , _0x22d50b . _found _ || _0x91a6ff . removeIdentifier ( _0x16647e ) ;
} ) , ! 0x1 ;
} , _0x239176 . prototype . destroy = function ( ) {
var _0x3fa093 = this ;
_0x3fa093 . unbindDocument ( true ) , _0x3fa093 . ids = { } , _0x3fa093 . index = 0x0 , _0x3fa093 . collections . forEach ( function ( _0x2b7da3 ) {
_0x2b7da3 . destroy ( ) ;
} ) , _0x3fa093 . off ( ) ;
} , _0x239176 . prototype . onDestroyed = function ( _0x31c290 , _0x2339d4 ) {
var _0x16647e = this ;
if ( _0x16647e . collections . indexOf ( _0x2339d4 ) < 0x0 ) return ! 0x1 ;
_0x16647e . collections . splice ( _0x16647e . collections . indexOf ( _0x2339d4 ) , 0x1 ) ;
} ;
var _0x5c2a4b = new _0x239176 ( ) ;
return {
'create' : function ( _0x19c0dc ) {
return _0x5c2a4b . create ( _0x19c0dc ) ;
} ,
'factory' : _0x5c2a4b
} ;
} ) ;
} , function ( _0x58785f , _0x269d2d , _0x36e800 ) {
( function ( _0x514d66 , _0x61dde9 , _0x179a8a ) {
var _0x1e876b ;
function _0x37ea03 ( _0xc47df6 ) {
return ( _0x37ea03 = 'function' == typeof Symbol && 'symbol' == typeof Symbol . iterator ? function ( _0x3452dd ) {
return typeof _0x3452dd ;
} : function ( _0xf9423c ) {
return _0xf9423c && 'function' == typeof Symbol && _0xf9423c . constructor === Symbol && _0xf9423c !== Symbol . prototype ? 'symbol' : typeof _0xf9423c ;
} ) ( _0xc47df6 ) ;
} ! function ( ) {
'use strict' ;
var _0x497ce1 = 'input is invalid type' ,
_0x22b8cf = 'object' === ( 'undefined' == typeof window ? 'undefined' : _0x37ea03 ( window ) ) ,
_0x149fcb = _0x22b8cf ? window : { } ;
_0x149fcb . JS _MD5 _NO _WINDOW && ( _0x22b8cf = ! 0x1 ) ;
var _0x5a9bb1 = ! _0x22b8cf && 'object' === ( 'undefined' == typeof self ? 'undefined' : _0x37ea03 ( self ) ) ,
_0x9c7cc0 = ! _0x149fcb . JS _MD5 _NO _NODE _JS && 'object' === ( void 0x0 === _0x514d66 ? 'undefined' : _0x37ea03 ( _0x514d66 ) ) && _0x514d66 . versions && _0x514d66 . versions . node ;
_0x9c7cc0 ? _0x149fcb = _0x61dde9 : _0x5a9bb1 && ( _0x149fcb = self ) ;
var _0x178f75 = ! _0x149fcb . JS _MD5 _NO _COMMON _JS && 'object' === _0x37ea03 ( _0x179a8a ) && _0x179a8a . exports ,
_0x256e04 = _0x36e800 ( 0x90 ) ,
_0x3204dd = ! _0x149fcb . JS _MD5 _NO _ARRAY _BUFFER && 'undefined' != typeof ArrayBuffer ,
_0x13a835 = '0123456789abcdef' . split ( '' ) ,
_0x48470a = [ 0x80 , 0x8000 , 0x800000 , - 0x80000000 ] ,
_0x349fda = [ 0x0 , 0x8 , 0x10 , 0x18 ] ,
_0x41150a = [ 'hex' , 'array' , 'digest' , 'buffer' , 'arrayBuffer' , 'base64' ] ,
_0x41cf2e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' . split ( '' ) ,
_0x232b50 = [ ] ,
_0x42d3ec ;
if ( _0x3204dd ) {
var _0x7a5fbb = new ArrayBuffer ( 0x44 ) ;
_0x42d3ec = new Uint8Array ( _0x7a5fbb ) , _0x232b50 = new Uint32Array ( _0x7a5fbb ) ;
} ! _0x149fcb . JS _MD5 _NO _NODE _JS && Array . isArray || ( Array . isArray = function ( _0x4ac178 ) {
return '[object Array]' === Object . prototype . toString . call ( _0x4ac178 ) ;
} ) , ! _0x3204dd || ! _0x149fcb . JS _MD5 _NO _ARRAY _BUFFER _IS _VIEW && ArrayBuffer . isView || ( ArrayBuffer . isView = function ( _0x27f298 ) {
return 'object' === _0x37ea03 ( _0x27f298 ) && _0x27f298 . buffer && _0x27f298 . buffer . constructor === ArrayBuffer ;
} ) ;
var _0x23df61 = function ( _0x3b5d61 ) {
return function ( _0x2f213a ) {
return new _0x52468b ( true ) . update ( _0x2f213a ) [ _0x3b5d61 ] ( ) ;
} ;
} ,
_0x3a7f83 = function ( ) {
var _0x5c6b67 = _0x23df61 ( 'hex' ) ;
_0x9c7cc0 && ( _0x5c6b67 = _0x2c5426 ( _0x5c6b67 ) ) , _0x5c6b67 . create = function ( ) {
return new _0x52468b ( ) ;
} , _0x5c6b67 . update = function ( _0x3df208 ) {
return _0x5c6b67 . create ( ) . update ( _0x3df208 ) ;
} ;
for ( var _0x2f6a43 = 0x0 ; _0x2f6a43 < _0x41150a . length ; ++ _0x2f6a43 ) {
var _0x31f7a7 = _0x41150a [ _0x2f6a43 ] ;
_0x5c6b67 [ _0x31f7a7 ] = _0x23df61 ( _0x31f7a7 ) ;
}
return _0x5c6b67 ;
} ,
_0x2c5426 = function _0x2c5426 ( _0x4a1bfd ) {
var _0x4bbc7e = require ( 'crypto' ) ,
_0x5a9763 = require ( 'buffer' ) . Buffer ,
_0x27c8cc = function ( _0x4bb699 ) {
if ( 'string' == typeof _0x4bb699 ) return _0x4bbc7e . createHash ( 'md5' ) . update ( _0x4bb699 , 'utf8' ) . digest ( 'hex' ) ;
if ( null == _0x4bb699 ) throw _0x497ce1 ;
return _0x4bb699 . constructor === ArrayBuffer && ( _0x4bb699 = new Uint8Array ( _0x4bb699 ) ) , Array . isArray ( _0x4bb699 ) || ArrayBuffer . isView ( _0x4bb699 ) || _0x4bb699 . constructor === _0x5a9763 ? _0x4bbc7e . createHash ( 'md5' ) . update ( new _0x5a9763 ( _0x4bb699 ) ) . digest ( 'hex' ) : _0x4a1bfd ( _0x4bb699 ) ;
} ;
return _0x27c8cc ;
} ;
function _0x52468b ( _0x49f6ae ) {
if ( _0x49f6ae ) _0x232b50 [ 0x0 ] = _0x232b50 [ 0x10 ] = _0x232b50 [ 0x1 ] = _0x232b50 [ 0x2 ] = _0x232b50 [ 0x3 ] = _0x232b50 [ 0x4 ] = _0x232b50 [ 0x5 ] = _0x232b50 [ 0x6 ] = _0x232b50 [ 0x7 ] = _0x232b50 [ 0x8 ] = _0x232b50 [ 0x9 ] = _0x232b50 [ 0xa ] = _0x232b50 [ 0xb ] = _0x232b50 [ 0xc ] = _0x232b50 [ 0xd ] = _0x232b50 [ 0xe ] = _0x232b50 [ 0xf ] = 0x0 , this . blocks = _0x232b50 , this . buffer8 = _0x42d3ec ;
else if ( _0x3204dd ) {
var _0x47c30c = new ArrayBuffer ( 0x44 ) ;
this . buffer8 = new Uint8Array ( _0x47c30c ) , this . blocks = new Uint32Array ( _0x47c30c ) ;
} else this . blocks = [ 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 , 0x0 ] ;
this . h0 = this . h1 = this . h2 = this . h3 = this . start = this . bytes = this . hBytes = 0x0 , this . finalized = this . hashed = ! 0x1 , this . first = true ;
}
_0x52468b . prototype . update = function ( _0x4b25f7 ) {
if ( ! this . finalized ) {
var _0x560880 , _0x34611f = _0x37ea03 ( _0x4b25f7 ) ;
if ( 'string' !== _0x34611f ) {
if ( 'object' !== _0x34611f ) throw _0x497ce1 ;
if ( null === _0x4b25f7 ) throw _0x497ce1 ;
if ( _0x3204dd && _0x4b25f7 . constructor === ArrayBuffer ) _0x4b25f7 = new Uint8Array ( _0x4b25f7 ) ;
else if ( ! ( Array . isArray ( _0x4b25f7 ) || _0x3204dd && ArrayBuffer . isView ( _0x4b25f7 ) ) ) throw _0x497ce1 ;
_0x560880 = true ;
}
for ( var _0x419f10 , _0x3a9793 , _0x39ee4a = 0x0 , _0x5506c6 = _0x4b25f7 . length , _0xe0faf3 = this . blocks , _0x1d2007 = this . buffer8 ; _0x39ee4a < _0x5506c6 ; ) {
if ( this . hashed && ( this . hashed = ! 0x1 , _0xe0faf3 [ 0x0 ] = _0xe0faf3 [ 0x10 ] , _0xe0faf3 [ 0x10 ] = _0xe0faf3 [ 0x1 ] = _0xe0faf3 [ 0x2 ] = _0xe0faf3 [ 0x3 ] = _0xe0faf3 [ 0x4 ] = _0xe0faf3 [ 0x5 ] = _0xe0faf3 [ 0x6 ] = _0xe0faf3 [ 0x7 ] = _0xe0faf3 [ 0x8 ] = _0xe0faf3 [ 0x9 ] = _0xe0faf3 [ 0xa ] = _0xe0faf3 [ 0xb ] = _0xe0faf3 [ 0xc ] = _0xe0faf3 [ 0xd ] = _0xe0faf3 [ 0xe ] = _0xe0faf3 [ 0xf ] = 0x0 ) , _0x560880 )
if ( _0x3204dd )
for ( _0x3a9793 = this . start ; _0x39ee4a < _0x5506c6 && _0x3a9793 < 0x40 ; ++ _0x39ee4a ) _0x1d2007 [ _0x3a9793 ++ ] = _0x4b25f7 [ _0x39ee4a ] ;
else
for ( _0x3a9793 = this . start ; _0x39ee4a < _0x5506c6 && _0x3a9793 < 0x40 ; ++ _0x39ee4a ) _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= _0x4b25f7 [ _0x39ee4a ] << _0x349fda [ 0x3 & _0x3a9793 ++ ] ;
else if ( _0x3204dd )
for ( _0x3a9793 = this . start ; _0x39ee4a < _0x5506c6 && _0x3a9793 < 0x40 ; ++ _0x39ee4a ) ( _0x419f10 = _0x4b25f7 . charCodeAt ( _0x39ee4a ) ) < 0x80 ? _0x1d2007 [ _0x3a9793 ++ ] = _0x419f10 : _0x419f10 < 0x800 ? ( _0x1d2007 [ _0x3a9793 ++ ] = 0xc0 | _0x419f10 >> 0x6 , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | 0x3f & _0x419f10 ) : _0x419f10 < 0xd800 || _0x419f10 >= 0xe000 ? ( _0x1d2007 [ _0x3a9793 ++ ] = 0xe0 | _0x419f10 >> 0xc , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | _0x419f10 >> 0x6 & 0x3f , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | 0x3f & _0x419f10 ) : ( _0x419f10 = 0x10000 + ( ( 0x3ff & _0x419f10 ) << 0xa | 0x3ff & _0x4b25f7 . charCodeAt ( ++ _0x39ee4a ) ) , _0x1d2007 [ _0x3a9793 ++ ] = 0xf0 | _0x419f10 >> 0x12 , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | _0x419f10 >> 0xc & 0x3f , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | _0x419f10 >> 0x6 & 0x3f , _0x1d2007 [ _0x3a9793 ++ ] = 0x80 | 0x3f & _0x419f10 ) ;
else
for ( _0x3a9793 = this . start ; _0x39ee4a < _0x5506c6 && _0x3a9793 < 0x40 ; ++ _0x39ee4a ) ( _0x419f10 = _0x4b25f7 . charCodeAt ( _0x39ee4a ) ) < 0x80 ? _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= _0x419f10 << _0x349fda [ 0x3 & _0x3a9793 ++ ] : _0x419f10 < 0x800 ? ( _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0xc0 | _0x419f10 >> 0x6 ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | 0x3f & _0x419f10 ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] ) : _0x419f10 < 0xd800 || _0x419f10 >= 0xe000 ? ( _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0xe0 | _0x419f10 >> 0xc ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | _0x419f10 >> 0x6 & 0x3f ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | 0x3f & _0x419f10 ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] ) : ( _0x419f10 = 0x10000 + ( ( 0x3ff & _0x419f10 ) << 0xa | 0x3ff & _0x4b25f7 . charCodeAt ( ++ _0x39ee4a ) ) , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0xf0 | _0x419f10 >> 0x12 ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | _0x419f10 >> 0xc & 0x3f ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | _0x419f10 >> 0x6 & 0x3f ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] , _0xe0faf3 [ _0x3a9793 >> 0x2 ] |= ( 0x80 | 0x3f & _0x419f10 ) << _0x349fda [ 0x3 & _0x3a9793 ++ ] ) ;
this . lastByteIndex = _0x3a9793 , this . bytes += _0x3a9793 - this . start , _0x3a9793 >= 0x40 ? ( this . start = _0x3a9793 - 0x40 , this . hash ( ) , this . hashed = true ) : this . start = _0x3a9793 ;
}
return this . bytes > 0xffffffff && ( this . hBytes += this . bytes / 0x100000000 << 0x0 , this . bytes = this . bytes % 0x100000000 ) , this ;
}
} , _0x52468b . prototype . finalize = function ( ) {
if ( ! this . finalized ) {
this . finalized = true ;
var _0x1173a3 = this . blocks ,
_0x5660dd = this . lastByteIndex ;
_0x1173a3 [ _0x5660dd >> 0x2 ] |= _0x48470a [ 0x3 & _0x5660dd ] , _0x5660dd >= 0x38 && ( this . hashed || this . hash ( ) , _0x1173a3 [ 0x0 ] = _0x1173a3 [ 0x10 ] , _0x1173a3 [ 0x10 ] = _0x1173a3 [ 0x1 ] = _0x1173a3 [ 0x2 ] = _0x1173a3 [ 0x3 ] = _0x1173a3 [ 0x4 ] = _0x1173a3 [ 0x5 ] = _0x1173a3 [ 0x6 ] = _0x1173a3 [ 0x7 ] = _0x1173a3 [ 0x8 ] = _0x1173a3 [ 0x9 ] = _0x1173a3 [ 0xa ] = _0x1173a3 [ 0xb ] = _0x1173a3 [ 0xc ] = _0x1173a3 [ 0xd ] = _0x1173a3 [ 0xe ] = _0x1173a3 [ 0xf ] = 0x0 ) , _0x1173a3 [ 0xe ] = this . bytes << 0x3 , _0x1173a3 [ 0xf ] = this . hBytes << 0x3 | this . bytes >>> 0x1d , this . hash ( ) ;
}
} , _0x52468b . prototype . hash = function ( ) {
var _0x300239 , _0x465f5a , _0x1c9d0 , _0x58f351 , _0x5c6cd7 , _0xb38ae4 , _0x2e1661 = this . blocks ;
this . first ? _0x465f5a = ( ( _0x465f5a = ( ( _0x300239 = ( ( _0x300239 = _0x2e1661 [ 0x0 ] - 0x28955b89 ) << 0x7 | _0x300239 >>> 0x19 ) - 0x10325477 << 0x0 ) ^ ( _0x1c9d0 = ( ( _0x1c9d0 = ( - 0x10325477 ^ ( _0x58f351 = ( ( _0x58f351 = ( - 0x67452302 ^ 0x77777777 & _0x300239 ) + _0x2e1661 [ 0x1 ] - 0x705f434 ) << 0xc | _0x58f351 >>> 0x14 ) + _0x300239 << 0x0 ) & ( - 0x10325477 ^ _0x300239 ) ) + _0x2e1661 [ 0x2 ] - 0x4324b227 ) << 0x11 | _0x1c9d0 >>> 0xf ) + _0x58f351 << 0x0 ) & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0x3 ] - 0x4e748589 ) << 0x16 | _0x465f5a >>> 0xa ) + _0x1c9d0 << 0x0 : ( _0x300239 = this . h0 , _0x465f5a = this . h1 , _0x1c9d0 = this . h2 , _0x465f5a = ( ( _0x465f5a += ( ( _0x300239 = ( ( _0x300239 += ( ( _0x58f351 = this . h3 ) ^ _0x465f5a & ( _0x1c9d0 ^ _0x58f351 ) ) + _0x2e1661 [ 0x0 ] - 0x28955b88 ) << 0x7 | _0x300239 >>> 0x19 ) + _0x465f5a << 0x0 ) ^ ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x465f5a ^ ( _0x58f351 = ( ( _0x58f351 += ( _0x1c9d0 ^ _0x300239 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0x1 ] - 0x173848aa ) << 0xc | _0x58f351 >>> 0x14 ) + _0x300239 << 0x0 ) & ( _0x300239 ^ _0x465f5a ) ) + _0x2e1661 [ 0x2 ] + 0x242070db ) << 0x11 | _0x1c9d0 >>> 0xf ) + _0x58f351 << 0x0 ) & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0x3 ] - 0x3e423112 ) << 0x16 | _0x465f5a >>> 0xa ) + _0x1c9d0 << 0x0 ) , _0x465f5a = ( ( _0x465f5a += ( ( _0x300239 = ( ( _0x300239 += ( _0x58f351 ^ _0x465f5a & ( _0x1c9d0 ^ _0x58f351 ) ) + _0x2e1661 [ 0x4 ] - 0xa83f051 ) << 0x7 | _0x300239 >>> 0x19 ) + _0x465f5a << 0x0 ) ^ ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x465f5a ^ ( _0x58f351 = ( ( _0x58f351 += ( _0x1c9d0 ^ _0x300239 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0x5 ] + 0x4787c62a ) << 0xc | _0x58f351 >>> 0x14 ) + _0x300239 << 0x0 ) & ( _0x300239 ^ _0x465f5a ) ) + _0x2e1661 [ 0x6 ] - 0x57cfb9ed ) << 0x11 | _0x1c9d0 >>> 0xf ) + _0x58f351 << 0x0 ) & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0x7 ] - 0x2b96aff ) << 0x16 | _0x465f5a >>> 0xa ) + _0x1c9d0 << 0x0 , _0x465f5a = ( ( _0x465f5a += ( ( _0x300239 = ( ( _0x300239 += ( _0x58f351 ^ _0x465f5a & ( _0x1c9d0 ^ _0x58f351 ) ) + _0x2e1661 [ 0x8 ] + 0x698098d8 ) << 0x7 | _0x300239 >>> 0x19 ) + _0x465f5a << 0x0 ) ^ ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x465f5a ^ ( _0x58f351 = ( ( _0x58f351 += ( _0x1c9d0 ^ _0x300239 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0x9 ] - 0x74bb0851 ) << 0xc | _0x58f351 >>> 0x14 ) + _0x300239 << 0x0 ) & ( _0x300239 ^ _0x465f5a ) ) + _0x2e1661 [ 0xa ] - 0xa44f ) << 0x11 | _0x1c9d0 >>> 0xf ) + _0x58f351 << 0x0 ) & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0xb ] - 0x76a32842 ) << 0x16 | _0x465f5a >>> 0xa ) + _0x1c9d0 << 0x0 , _0x465f5a = ( ( _0x465f5a += ( ( _0x300239 = ( ( _0x300239 += ( _0x58f351 ^ _0x465f5a & ( _0x1c9d0 ^ _0x58f351 ) ) + _0x2e1661 [ 0xc ] + 0x6b901122 ) << 0x7 | _0x300239 >>> 0x19 ) + _0x465f5a << 0x0 ) ^ ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x465f5a ^ ( _0x58f351 = ( ( _0x58f351 += ( _0x1c9d0 ^ _0x300239 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0xd ] - 0x2678e6d ) << 0xc | _0x58f351 >>> 0x14 ) + _0x300239 << 0x0 ) & ( _0x300239 ^ _0x465f5a ) ) + _0x2e1661 [ 0xe ] - 0x5986bc72 ) << 0x11 | _0x1c9d0 >>> 0xf ) + _0x58f351 << 0x0 ) & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0xf ] + 0x49b40821 ) << 0x16 | _0x465f5a >>> 0xa ) + _0x1c9d0 << 0x0 , _0x465f5a = ( ( _0x465f5a += ( ( _0x58f351 = ( ( _0x58f351 += ( _0x465f5a ^ _0x1c9d0 & ( ( _0x300239 = ( ( _0x300239 += ( _0x1c9d0 ^ _0x58f351 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0x1 ] - 0x9e1da9e ) << 0x5 | _0x300239 >>> 0x1b ) + _0x465f5a << 0x0 ) ^ _0x465f5a ) ) + _0x2e1661 [ 0x6 ] - 0x3fbf4cc0 ) << 0x9 | _0x58f351 >>> 0x17 ) + _0x300239 << 0x0 ) ^ _0x300239 & ( ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x300239 ^ _0x465f5a & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0xb ] + 0x265e5a51 ) << 0xe | _0x1c9d0 >>> 0x12 ) + _0x58f351 << 0x0 ) ^ _0x58f351 ) ) + _0x2e1661 [ 0x0 ] - 0x16493856 ) << 0x14 | _0x465f5a >>> 0xc ) + _0x1c9d0 << 0x0 , _0x465f5a = ( ( _0x465f5a += ( ( _0x58f351 = ( ( _0x58f351 += ( _0x465f5a ^ _0x1c9d0 & ( ( _0x300239 = ( ( _0x300239 += ( _0x1c9d0 ^ _0x58f351 & ( _0x465f5a ^ _0x1c9d0 ) ) + _0x2e1661 [ 0x5 ] - 0x29d0efa3 ) << 0x5 | _0x300239 >>> 0x1b ) + _0x465f5a << 0x0 ) ^ _0x465f5a ) ) + _0x2e1661 [ 0xa ] + 0x2441453 ) << 0x9 | _0x58f351 >>> 0x17 ) + _0x300239 << 0x0 ) ^ _0x300239 & ( ( _0x1c9d0 = ( ( _0x1c9d0 += ( _0x300239 ^ _0x465f5a & ( _0x58f351 ^ _0x300239 ) ) + _0x2e1661 [ 0xf ] - 0x275e197f ) << 0xe | _0x1c9d0 >>> 0x12 ) + _0x58f351 <
} , _0x52468b . prototype . hex = function ( ) {
this . finalize ( ) ;
var _0x4dad8a = this . h0 ,
_0x2c4342 = this . h1 ,
_0xb03471 = this . h2 ,
_0x321760 = this . h3 ;
return _0x13a835 [ _0x4dad8a >> 0x4 & 0xf ] + _0x13a835 [ 0xf & _0x4dad8a ] + _0x13a835 [ _0x4dad8a >> 0xc & 0xf ] + _0x13a835 [ _0x4dad8a >> 0x8 & 0xf ] + _0x13a835 [ _0x4dad8a >> 0x14 & 0xf ] + _0x13a835 [ _0x4dad8a >> 0x10 & 0xf ] + _0x13a835 [ _0x4dad8a >> 0x1c & 0xf ] + _0x13a835 [ _0x4dad8a >> 0x18 & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x4 & 0xf ] + _0x13a835 [ 0xf & _0x2c4342 ] + _0x13a835 [ _0x2c4342 >> 0xc & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x8 & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x14 & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x10 & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x1c & 0xf ] + _0x13a835 [ _0x2c4342 >> 0x18 & 0xf ] + _0x13a835 [ _0xb03471 >> 0x4 & 0xf ] + _0x13a835 [ 0xf & _0xb03471 ] + _0x13a835 [ _0xb03471 >> 0xc & 0xf ] + _0x13a835 [ _0xb03471 >> 0x8 & 0xf ] + _0x13a835 [ _0xb03471 >> 0x14 & 0xf ] + _0x13a835 [ _0xb03471 >> 0x10 & 0xf ] + _0x13a835 [ _0xb03471 >> 0x1c & 0xf ] + _0x13a835 [ _0xb03471 >> 0x18 & 0xf ] + _0x13a835 [ _0x321760 >> 0x4 & 0xf ] + _0x13a835 [ 0xf & _0x321760 ] + _0x13a835 [ _0x321760 >> 0xc & 0xf ] + _0x13a835 [ _0x321760 >> 0x8 & 0xf ] + _0x13a835 [ _0x321760 >> 0x14 & 0xf ] + _0x13a835 [ _0x321760 >> 0x10 & 0xf ] + _0x13a835 [ _0x321760 >> 0x1c & 0xf ] + _0x13a835 [ _0x321760 >> 0x18 & 0xf ] ;
} , _0x52468b . prototype . toString = _0x52468b . prototype . hex , _0x52468b . prototype . digest = function ( ) {
this . finalize ( ) ;
var _0x499395 = this . h0 ,
_0x56399c = this . h1 ,
_0x742cc9 = this . h2 ,
_0x23afbe = this . h3 ;
return [ 0xff & _0x499395 , _0x499395 >> 0x8 & 0xff , _0x499395 >> 0x10 & 0xff , _0x499395 >> 0x18 & 0xff , 0xff & _0x56399c , _0x56399c >> 0x8 & 0xff , _0x56399c >> 0x10 & 0xff , _0x56399c >> 0x18 & 0xff , 0xff & _0x742cc9 , _0x742cc9 >> 0x8 & 0xff , _0x742cc9 >> 0x10 & 0xff , _0x742cc9 >> 0x18 & 0xff , 0xff & _0x23afbe , _0x23afbe >> 0x8 & 0xff , _0x23afbe >> 0x10 & 0xff , _0x23afbe >> 0x18 & 0xff ] ;
} , _0x52468b . prototype . array = _0x52468b . prototype . digest , _0x52468b . prototype . arrayBuffer = function ( ) {
this . finalize ( ) ;
var _0x15f454 = new ArrayBuffer ( 0x10 ) ,
_0x15cf0e = new Uint32Array ( _0x15f454 ) ;
return _0x15cf0e [ 0x0 ] = this . h0 , _0x15cf0e [ 0x1 ] = this . h1 , _0x15cf0e [ 0x2 ] = this . h2 , _0x15cf0e [ 0x3 ] = this . h3 , _0x15f454 ;
} , _0x52468b . prototype . buffer = _0x52468b . prototype . arrayBuffer , _0x52468b . prototype . base64 = function ( ) {
for ( var _0x205cc3 , _0x5abd40 , _0x213dac , _0x501a73 = '' , _0x56610d = this . array ( ) , _0x3a9ef2 = 0x0 ; _0x3a9ef2 < 0xf ; ) _0x205cc3 = _0x56610d [ _0x3a9ef2 ++ ] , _0x5abd40 = _0x56610d [ _0x3a9ef2 ++ ] , _0x213dac = _0x56610d [ _0x3a9ef2 ++ ] , _0x501a73 += _0x41cf2e [ _0x205cc3 >>> 0x2 ] + _0x41cf2e [ 0x3f & ( _0x205cc3 << 0x4 | _0x5abd40 >>> 0x4 ) ] + _0x41cf2e [ 0x3f & ( _0x5abd40 << 0x2 | _0x213dac >>> 0x6 ) ] + _0x41cf2e [ 0x3f & _0x213dac ] ;
return _0x205cc3 = _0x56610d [ _0x3a9ef2 ] , _0x501a73 += _0x41cf2e [ _0x205cc3 >>> 0x2 ] + _0x41cf2e [ _0x205cc3 << 0x4 & 0x3f ] + '==' ;
} ;
var _0x269d2d = _0x3a7f83 ( ) ;
_0x178f75 ? _0x179a8a . exports = _0x269d2d : ( _0x149fcb . md5 = _0x269d2d , _0x256e04 && ( _0x1e876b = function ( ) {
return _0x269d2d ;
} . call ( _0x269d2d , _0x36e800 , _0x269d2d , _0x179a8a ) , void 0x0 === _0x1e876b || ( _0x179a8a . exports = _0x1e876b ) ) ) ;
} ( ) ;
} . call ( this , _0x36e800 ( 0x31 ) , _0x36e800 ( 0x1f ) , _0x36e800 ( 0x8f ) ( _0x58785f ) ) ) ;
} , function ( _0x14da87 , _0x57407e , _0x2fa590 ) {
'use strict' ;
( function ( _0x227bc8 , _0x21b268 , _0x521a09 ) {
var _0x3313ca = _0x2fa590 ( 0x34 ) ,
_0x31267b = _0x2fa590 . n ( _0x3313ca ) ;
function _0x4ffbab ( _0x13a3d0 ) {
return ( _0x4ffbab = 'function' == typeof Symbol && 'symbol' == typeof Symbol . iterator ? function ( _0x5f01ef ) {
return typeof _0x5f01ef ;
} : function ( _0x1020c7 ) {
return _0x1020c7 && 'function' == typeof Symbol && _0x1020c7 . constructor === Symbol && _0x1020c7 !== Symbol . prototype ? 'symbol' : typeof _0x1020c7 ;
} ) ( _0x13a3d0 ) ;
}
function _0x375f8a ( ) {
var _0x227bc8 = this ,
_0x57407e = new _0x9828fc ( ) ;
_0x227bc8 . chunks = { } , _0x227bc8 . users = { } , _0x227bc8 . readAsArrayBuffer = function ( _0x58dfb2 , _0x7626c2 , _0x4af133 ) {
var _0x12911b = {
'file' : _0x58dfb2 ,
'earlyCallback' : function ( _0x12782b ) {
_0x7626c2 ( _0x7086f7 ( _0x12782b , {
'currentPosition' : - 0x1
} ) ) ;
} ,
'extra' : _0x4af133 || {
'userid' : 0x0
}
} ;
_0x58dfb2 . extra && Object . keys ( _0x58dfb2 . extra ) . length && Object . keys ( _0x58dfb2 . extra ) . forEach ( function ( _0x558fd0 ) {
_0x12911b . extra [ _0x558fd0 ] = _0x58dfb2 . extra [ _0x558fd0 ] ;
} ) , _0x57407e . readAsArrayBuffer ( _0x227bc8 , _0x12911b ) ;
} , _0x227bc8 . getNextChunk = function ( _0x37ae5a , _0x7972ae , _0x4c7a43 ) {
var _0x604a41 ;
void 0x0 !== _0x37ae5a . currentPosition && ( _0x604a41 = _0x37ae5a . currentPosition , _0x37ae5a = _0x37ae5a . uuid ) ;
var _0x476bde = _0x227bc8 . chunks [ _0x37ae5a ] ;
if ( _0x476bde ) {
void 0x0 !== _0x4c7a43 ? ( _0x227bc8 . users [ _0x4c7a43 + '' ] || ( _0x227bc8 . users [ _0x4c7a43 + '' ] = {
'fileUUID' : _0x37ae5a ,
'userid' : _0x4c7a43 ,
'currentPosition' : - 0x1
} ) , void 0x0 !== _0x604a41 && ( _0x227bc8 . users [ _0x4c7a43 + '' ] . currentPosition = _0x604a41 ) , _0x227bc8 . users [ _0x4c7a43 + '' ] . currentPosition ++ , _0x604a41 = _0x227bc8 . users [ _0x4c7a43 + '' ] . currentPosition ) : ( void 0x0 !== _0x604a41 && ( _0x227bc8 . chunks [ _0x37ae5a ] . currentPosition = _0x604a41 ) , _0x227bc8 . chunks [ _0x37ae5a ] . currentPosition ++ , _0x604a41 = _0x227bc8 . chunks [ _0x37ae5a ] . currentPosition ) ;
var _0x24854d = _0x476bde [ _0x604a41 ] ;
if ( ! _0x24854d ) return delete _0x227bc8 . chunks [ _0x37ae5a ] , void _0x227bc8 . convertToArrayBuffer ( {
'chunkMissing' : true ,
'currentPosition' : _0x604a41 ,
'uuid' : _0x37ae5a
} , _0x7972ae ) ;
_0x24854d = _0x7086f7 ( _0x24854d ) , void 0x0 !== _0x4c7a43 && ( _0x24854d . remoteUserId = _0x4c7a43 + '' ) , _0x24854d . start && _0x227bc8 . onBegin ( _0x24854d ) , _0x24854d . end && _0x227bc8 . onEnd ( _0x24854d ) , _0x227bc8 . onProgress ( _0x24854d ) , _0x227bc8 . convertToArrayBuffer ( _0x24854d , function ( _0x28aba8 ) {
_0x24854d . currentPosition != _0x24854d . maxChunks ? _0x7972ae ( _0x28aba8 , ! 0x1 ) : _0x7972ae ( _0x28aba8 , true ) ;
} ) ;
}
} ;
var _0x2fa590 = new _0x16cb0d ( _0x227bc8 ) ;
function _0x7086f7 ( _0x5ae569 , _0x132129 ) {
if ( null == _0x5ae569 || 'object' != _0x4ffbab ( _0x5ae569 ) ) return _0x5ae569 ;
if ( _0x5ae569 . constructor != Object && _0x5ae569 . constructor != Array ) return _0x5ae569 ;
if ( _0x5ae569 . constructor == Date || _0x5ae569 . constructor == RegExp || _0x5ae569 . constructor == Function || _0x5ae569 . constructor == String || _0x5ae569 . constructor == Number || _0x5ae569 . constructor == Boolean ) return new _0x5ae569 [ ( 'constructor' ) ] ( _0x5ae569 ) ;
for ( var _0x2fa590 in _0x132129 = _0x132129 || new _0x5ae569 [ ( 'constructor' ) ] ( ) , _0x5ae569 ) _0x132129 [ _0x2fa590 ] = void 0x0 === _0x132129 [ _0x2fa590 ] ? _0x7086f7 ( _0x5ae569 [ _0x2fa590 ] , null ) : _0x132129 [ _0x2fa590 ] ;
return _0x132129 ;
}
_0x227bc8 . addChunk = function ( _0x1d353d , _0x2f8a6d ) {
_0x1d353d && _0x2fa590 . receive ( _0x1d353d , function ( _0x3b5f53 ) {
_0x227bc8 . convertToArrayBuffer ( {
'readyForNextChunk' : true ,
'currentPosition' : _0x3b5f53 . currentPosition ,
'uuid' : _0x3b5f53 . uuid
} , _0x2f8a6d ) ;
} ) ;
} , _0x227bc8 . chunkMissing = function ( _0x335036 ) {
delete _0x2fa590 . chunks [ _0x335036 . uuid ] , delete _0x2fa590 . chunksWaiters [ _0x335036 . uuid ] ;
} , _0x227bc8 . onBegin = function ( ) { } , _0x227bc8 . onEnd = function ( ) { } , _0x227bc8 . onProgress = function ( ) { } , _0x227bc8 . convertToObject = _0x312465 . ConvertToObject , _0x227bc8 . convertToArrayBuffer = _0x312465 . ConvertToArrayBuffer , _0x227bc8 . setMultipleUsers = function ( ) { } ;
}
function _0x9828fc ( ) {
this . readAsArrayBuffer = function ( _0x4dd34e , _0x4dcd47 ) {
var _0x2fa590 = _0x4dcd47 . earlyCallback ;
delete _0x4dcd47 . earlyCallback ,
function ( _0x10728e , _0x4af117 ) {
_0x4af117 = _0x4af117 || function ( _0x1b86cb ) {
postMessage ( _0x1b86cb ) ;
} ;
var _0x2fa590 = _0x10728e . file ;
_0x2fa590 . uuid || ( _0x2fa590 . uuid = ( 0x64 * Math . random ( ) ) . toString ( ) . replace ( /\./g , '' ) ) ;
var _0x21b268 = _0x10728e . chunkSize || 0x3a98 ;
_0x10728e . extra && _0x10728e . extra . chunkSize && ( _0x21b268 = _0x10728e . extra . chunkSize ) ;
var _0x521a09 , _0x501fda = 0x0 ,
_0x58b232 = _0x21b268 ,
_0x41e8e7 = Math . floor ( Math . min ( 0x5f5e100 , _0x58b232 ) / _0x21b268 ) * _0x21b268 ,
_0x24144f = Math . ceil ( _0x2fa590 . size / _0x21b268 ) ;
_0x2fa590 . maxChunks = _0x24144f ;
var _0x3a1fa3 = 0x0 ,
_0x36783 = [ ] ;
_0x4af117 ( {
'currentPosition' : _0x3a1fa3 ,
'uuid' : _0x2fa590 . uuid ,
'maxChunks' : _0x24144f ,
'size' : _0x2fa590 . size ,
'name' : _0x2fa590 . name ,
'type' : _0x2fa590 . type ,
'lastModifiedDate' : ( _0x2fa590 . lastModifiedDate || new Date ( ) ) . toString ( ) ,
'start' : true
} ) ;
var _0x14ba6c , _0x11a93b = new FileReader ( ) ;
_0x11a93b . onloadend = function ( _0x5ab3c3 ) {
_0x5ab3c3 . target . readyState == FileReader . DONE && function ( _0x1a8ac9 , _0x25d2e6 , _0x3fea4f ) {
_0x521a09 = Math . ceil ( _0x25d2e6 . byteLength / _0x21b268 ) ;
for ( var _0x26fcc7 = 0x0 ; _0x26fcc7 < _0x521a09 ; _0x26fcc7 ++ ) {
var _0x198455 = _0x26fcc7 * _0x21b268 ;
_0x36783 [ _0x3a1fa3 ] = _0x25d2e6 . slice ( _0x198455 , Math . min ( _0x198455 + _0x21b268 , _0x25d2e6 . byteLength ) ) , _0x4af117 ( {
'uuid' : _0x2fa590 . uuid ,
'buffer' : _0x36783 [ _0x3a1fa3 ] ,
'currentPosition' : _0x3a1fa3 ,
'maxChunks' : _0x24144f ,
'size' : _0x2fa590 . size ,
'name' : _0x2fa590 . name ,
'lastModifiedDate' : ( _0x2fa590 . lastModifiedDate || new Date ( ) ) . toString ( ) ,
'type' : _0x2fa590 . type
} ) , _0x3a1fa3 ++ ;
}
_0x3a1fa3 == _0x24144f && true , _0x3fea4f ( ) ;
} ( _0x2fa590 . name , _0x5ab3c3 . target . result , function ( ) {
( ++ _0x501fda + 0x1 ) * _0x41e8e7 < _0x2fa590 . size ? ( _0x14ba6c = _0x2fa590 . slice ( _0x501fda * _0x41e8e7 , ( _0x501fda + 0x1 ) * _0x41e8e7 ) , _0x11a93b . readAsArrayBuffer ( _0x14ba6c ) ) : _0x501fda * _0x41e8e7 < _0x2fa590 . size ? ( _0x14ba6c = _0x2fa590 . slice ( _0x501fda * _0x41e8e7 , _0x2fa590 . size ) , _0x11a93b . readAsArrayBuffer ( _0x14ba6c ) ) : ( _0x2fa590 . url = URL . createObjectURL ( _0x2fa590 ) , _0x4af117 ( {
'currentPosition' : _0x3a1fa3 ,
'uuid' : _0x2fa590 . uuid ,
'maxChunks' : _0x24144f ,
'size' : _0x2fa590 . size ,
'name' : _0x2fa590 . name ,
'lastModifiedDate' : ( _0x2fa590 . lastModifiedDate || new Date ( ) ) . toString ( ) ,
'url' : URL . createObjectURL ( _0x2fa590 ) ,
'type' : _0x2fa590 . type ,
'end' : true
} ) ) ;
} ) ;
} , _0x3a1fa3 += 0x1 , _0x14ba6c = _0x2fa590 . slice ( _0x501fda * _0x41e8e7 , ( _0x501fda + 0x1 ) * _0x41e8e7 ) , _0x11a93b . readAsArrayBuffer ( _0x14ba6c ) ;
} ( _0x4dcd47 , function ( _0x4a4561 ) {
_0x4dd34e . chunks [ _0x4a4561 . uuid ] || ( _0x4dd34e . chunks [ _0x4a4561 . uuid ] = {
'currentPosition' : - 0x1
} ) , _0x4dcd47 . extra = _0x4dcd47 . extra || {
'userid' : 0x0
} , _0x4a4561 . userid = _0x4dcd47 . userid || _0x4dcd47 . extra . userid || 0x0 , _0x4a4561 . extra = _0x4dcd47 . extra , _0x4dd34e . chunks [ _0x4a4561 . uuid ] [ _0x4a4561 . currentPosition ] = _0x4a4561 , _0x4a4561 . end && _0x2fa590 && ( _0x2fa590 ( _0x4a4561 . uuid ) , _0x2fa590 = null ) , _0x4a4561 . maxChunks > 0xc8 && 0xc8 == _0x4a4561 . currentPosition && _0x2fa590 && ( _0x2fa590 ( _0x4a4561 . uuid ) , _0x2fa590 = null ) ;
} ) ;
} ;
}
function _0x2e28ea ( ) {
var _0x227bc8 = this ,
_0x57407e = function ( ) { } ;
function _0x35adf9 ( _0x1e577f , _0x35d31a , _0x142c1a ) {
_0x1e577f = _0x1e577f || function ( ) { } ;
var _0x9eb682 = document . createElement ( 'input' ) ;
_0x9eb682 . type = 'file' , _0x35d31a && ( _0x9eb682 . multiple = true ) , _0x142c1a && ( _0x9eb682 . webkitdirectory = true ) , _0x9eb682 . accept = _0x227bc8 . accept , _0x9eb682 . onclick = function ( ) {
_0x9eb682 . clickStarted = true ;
} , document . body . onfocus = function ( ) {
setTimeout ( function ( ) {
_0x9eb682 . clickStarted && ( _0x9eb682 . clickStarted = ! 0x1 , _0x9eb682 . value || _0x57407e ( ) ) ;
} , 0x1f4 ) ;
} , _0x9eb682 . onchange = function ( ) {
if ( _0x35d31a ) {
if ( ! _0x9eb682 . files . length ) return void console . error ( 'No file selected.' ) ;
var _0x227bc8 = [ ] ;
return Array . from ( _0x9eb682 . files ) . forEach ( function ( _0x2af58c ) {
_0x2af58c . url = _0x2af58c . webkitRelativePath , _0x227bc8 . push ( _0x2af58c ) ;
} ) , void _0x1e577f ( _0x227bc8 ) ;
}
_0x9eb682 . files [ 0x0 ] ? ( _0x1e577f ( _0x9eb682 . files [ 0x0 ] ) , _0x9eb682 . parentNode . removeChild ( _0x9eb682 ) ) : console . error ( 'No file selected.' ) ;
} , _0x9eb682 . style . display = 'none' , ( document . body || document . documentElement ) . appendChild ( _0x9eb682 ) ,
function ( _0x19672d ) {
if ( 'function' == typeof _0x19672d . click ) return void _0x19672d . click ( ) ;
if ( 'function' == typeof _0x19672d . change ) return void _0x19672d . change ( ) ;
if ( void 0x0 !== document . createEvent ( 'Event' ) ) {
if ( 'function' == typeof ( _0x57407e = document . createEvent ( 'Event' ) ) . initEvent && 'function' == typeof _0x19672d . dispatchEvent ) return _0x57407e . initEvent ( 'click' , true , true ) , void _0x19672d . dispatchEvent ( _0x57407e ) ;
}
var _0x57407e = new MouseEvent ( 'click' , {
'view' : window ,
'bubbles' : true ,
'cancelable' : true
} ) ;
_0x19672d . dispatchEvent ( _0x57407e ) ;
} ( _0x9eb682 ) ;
}
_0x227bc8 . selectSingleFile = function ( _0x4fa940 , _0x591d34 ) {
_0x591d34 && ( _0x57407e = _0x591d34 ) , _0x35adf9 ( _0x4fa940 ) ;
} , _0x227bc8 . selectMultipleFiles = function ( _0x425e11 , _0x2ac31d ) {
_0x2ac31d && ( _0x57407e = _0x2ac31d ) , _0x35adf9 ( _0x425e11 , true ) ;
} , _0x227bc8 . selectDirectory = function ( _0x37cf39 , _0x415668 ) {
_0x415668 && ( _0x57407e = _0x415668 ) , _0x35adf9 ( _0x37cf39 , true , true ) ;
} , _0x227bc8 . accept = '*.*' ;
}
function _0x16cb0d ( _0x8e4e9f ) {
var _0x57407e = this ;
_0x57407e . chunks = { } , _0x57407e . chunksWaiters = { } , _0x57407e . receive = function _0x2fa590 ( _0x15cb17 , _0x5d669f ) {
if ( _0x15cb17 . uuid ) {
if ( _0x15cb17 . start && ! _0x57407e . chunks [ _0x15cb17 . uuid ] && ( _0x57407e . chunks [ _0x15cb17 . uuid ] = { } , _0x8e4e9f . onBegin && _0x8e4e9f . onBegin ( _0x15cb17 ) ) , ! _0x15cb17 . end && _0x15cb17 . buffer && ( _0x57407e . chunks [ _0x15cb17 . uuid ] [ _0x15cb17 . currentPosition ] = _0x15cb17 . buffer ) , _0x15cb17 . end ) {
var _0x31fb82 = _0x57407e . chunks [ _0x15cb17 . uuid ] ,
_0x32838f = [ ] ;
Object . keys ( _0x31fb82 ) . forEach ( function ( _0x5c3abb , _0x23c1e3 ) {
_0x32838f . push ( _0x31fb82 [ _0x5c3abb ] ) ;
} ) ;
var _0x2545f2 = new Blob ( _0x32838f , {
'type' : _0x15cb17 . type
} ) ;
( _0x2545f2 = _0x1e6a28 ( _0x2545f2 , _0x15cb17 ) ) . url = URL . createObjectURL ( _0x2545f2 ) , _0x2545f2 . uuid = _0x15cb17 . uuid , _0x2545f2 . size || console . error ( 'Something went wrong. Blob Size is 0.' ) , _0x8e4e9f . onEnd && _0x8e4e9f . onEnd ( _0x2545f2 ) , delete _0x57407e . chunks [ _0x15cb17 . uuid ] , delete _0x57407e . chunksWaiters [ _0x15cb17 . uuid ] ;
}
_0x15cb17 . buffer && _0x8e4e9f . onProgress && _0x8e4e9f . onProgress ( _0x15cb17 ) , _0x15cb17 . end || ( _0x5d669f ( _0x15cb17 ) , _0x57407e . chunksWaiters [ _0x15cb17 . uuid ] = function ( ) {
setTimeout ( function _0x8e4e9f ( ) {
_0x15cb17 . buffer && _0x57407e . chunks [ _0x15cb17 . uuid ] && ( _0x15cb17 . currentPosition == _0x15cb17 . maxChunks || _0x57407e . chunks [ _0x15cb17 . uuid ] [ _0x15cb17 . currentPosition ] || ( _0x5d669f ( _0x15cb17 ) , setTimeout ( _0x8e4e9f , 0x1388 ) ) ) ;
} , 0x1388 ) ;
} , _0x57407e . chunksWaiters [ _0x15cb17 . uuid ] ( ) ) ;
} else _0x8e4e9f . convertToObject ( _0x15cb17 , function ( _0x2fa56c ) {
_0x2fa590 ( _0x2fa56c ) ;
} ) ;
} ;
}
var _0x312465 = {
'ConvertToArrayBuffer' : function ( _0x561864 , _0x85e2e2 ) {
_0x4928e6 . pack ( _0x561864 , function ( _0xc97573 ) {
_0x85e2e2 ( _0xc97573 . buffer ) ;
} ) ;
} ,
'ConvertToObject' : function ( _0xbedec5 , _0x48182e ) {
_0x4928e6 . unpack ( _0xbedec5 , _0x48182e ) ;
}
} ;
function _0x1e6a28 ( _0x51381f , _0x26556f ) {
if ( _0x51381f || ( _0x51381f = { } ) , ! _0x26556f ) return _0x51381f ;
for ( var _0x2fa590 in _0x26556f ) try {
_0x51381f [ _0x2fa590 ] = _0x26556f [ _0x2fa590 ] ;
} catch ( _0x1cadcb ) { }
return _0x51381f ;
}
var _0x37e2da = Uint8Array . BYTES _PER _ELEMENT ,
_0x49bb1a = Uint16Array . BYTES _PER _ELEMENT ,
_0x4929a3 = Uint32Array . BYTES _PER _ELEMENT ,
_0x437498 = {
'NULL' : 0x0 ,
'UNDEFINED' : 0x1 ,
'STRING' : 0x2 ,
'NUMBER' : 0x3 ,
'BOOLEAN' : 0x4 ,
'ARRAY' : 0x5 ,
'OBJECT' : 0x6 ,
'INT8ARRAY' : 0x7 ,
'INT16ARRAY' : 0x8 ,
'INT32ARRAY' : 0x9 ,
'UINT8ARRAY' : 0xa ,
'UINT16ARRAY' : 0xb ,
'UINT32ARRAY' : 0xc ,
'FLOAT32ARRAY' : 0xd ,
'FLOAT64ARRAY' : 0xe ,
'ARRAYBUFFER' : 0xf ,
'BLOB' : 0x10 ,
'FILE' : 0x10 ,
'BUFFER' : 0x11
} ,
_0xb2a130 = [ null , null , 'Uint16' , 'Float64' , 'Uint8' , null , null , 'Int8' , 'Int16' , 'Int32' , 'Uint8' , 'Uint16' , 'Uint32' , 'Float32' , 'Float64' , 'Uint8' , 'Uint8' , 'Uint8' ] ,
_0x274b69 = function ( _0x297fe0 ) {
var _0x57407e = 0x0 ,
_0x2fa590 = 0x0 ,
_0x21b268 = 0x0 ,
_0x521a09 = new ArrayBuffer ( _0x297fe0 [ 0x0 ] . byte _length + _0x297fe0 [ 0x0 ] . header _size ) ,
_0x5e7442 = new DataView ( _0x521a09 ) ;
for ( _0x2fa590 = 0x0 ; _0x2fa590 < _0x297fe0 . length ; _0x2fa590 ++ ) {
_0x297fe0 [ _0x2fa590 ] . header _size ;
var _0x2227f0 = _0x297fe0 [ _0x2fa590 ] . type ,
_0x37072f = _0x297fe0 [ _0x2fa590 ] . length ,
_0x4841f8 = _0x297fe0 [ _0x2fa590 ] . value ,
_0x4015d6 = _0x297fe0 [ _0x2fa590 ] . byte _length ,
_0x5da52f = _0xb2a130 [ _0x2227f0 ] ,
_0x1b9cc6 = null === _0x5da52f ? 0x0 : window [ _0x5da52f + 'Array' ] . BYTES _PER _ELEMENT ;
switch ( _0x2227f0 === _0x437498 . BUFFER ? _0x5e7442 . setUint8 ( _0x57407e , _0x437498 . BLOB , ! 0x1 ) : _0x5e7442 . setUint8 ( _0x57407e , _0x2227f0 , ! 0x1 ) , _0x57407e += _0x37e2da , _0x2227f0 !== _0x437498 . ARRAY && _0x2227f0 !== _0x437498 . OBJECT || ( _0x5e7442 . setUint16 ( _0x57407e , _0x37072f , ! 0x1 ) , _0x57407e += _0x49bb1a ) , _0x5e7442 . setUint32 ( _0x57407e , _0x4015d6 , ! 0x1 ) , _0x57407e += _0x4929a3 , _0x2227f0 ) {
case _0x437498 . NULL :
case _0x437498 . UNDEFINED :
break ;
case _0x437498 . STRING :
for ( _0x21b268 = 0x0 ; _0x21b268 < _0x37072f ; _0x21b268 ++ , _0x57407e += _0x1b9cc6 ) _0x5e7442 . setUint16 ( _0x57407e , _0x4841f8 . charCodeAt ( _0x21b268 ) , ! 0x1 ) ;
break ;
case _0x437498 . NUMBER :
case _0x437498 . BOOLEAN :
0x0 , _0x5e7442 [ 'set' + _0x5da52f ] ( _0x57407e , _0x4841f8 , ! 0x1 ) , _0x57407e += _0x1b9cc6 ;
break ;
case _0x437498 . INT8ARRAY :
case _0x437498 . INT16ARRAY :
case _0x437498 . INT32ARRAY :
case _0x437498 . UINT8ARRAY :
case _0x437498 . UINT16ARRAY :
case _0x437498 . UINT32ARRAY :
case _0x437498 . FLOAT32ARRAY :
case _0x437498 . FLOAT64ARRAY :
new Uint8Array ( _0x5e7442 . buffer , _0x57407e , _0x4015d6 ) . set ( new Uint8Array ( _0x4841f8 . buffer ) ) , _0x57407e += _0x4015d6 ;
break ;
case _0x437498 . ARRAYBUFFER :
case _0x437498 . BUFFER :
new Uint8Array ( _0x5e7442 . buffer , _0x57407e , _0x4015d6 ) . set ( new Uint8Array ( _0x4841f8 ) ) , _0x57407e += _0x4015d6 ;
break ;
case _0x437498 . BLOB :
case _0x437498 . ARRAY :
case _0x437498 . OBJECT :
break ;
default :
throw 'TypeError: Unexpected type found.' ;
}
0x0 ;
}
return _0x5e7442 ;
} ,
_0x2e9e54 = function _0x57407e ( _0x37452e , _0x38040a ) {
var _0x521a09 , _0x26deb8 , _0xfbd54a , _0x3f6107 , _0x1535e7 , _0x406eb5 = 0x0 ;
_0x521a09 = _0x37452e . getUint8 ( _0x38040a , ! 0x1 ) , _0x38040a += _0x37e2da , _0x521a09 !== _0x437498 . ARRAY && _0x521a09 !== _0x437498 . OBJECT || ( _0x26deb8 = _0x37452e . getUint16 ( _0x38040a , ! 0x1 ) , _0x38040a += _0x49bb1a ) , _0xfbd54a = _0x37452e . getUint32 ( _0x38040a , ! 0x1 ) , _0x38040a += _0x4929a3 ;
var _0x3b56e7 = _0xb2a130 [ _0x521a09 ] ,
_0x5b8ec5 = null === _0x3b56e7 ? 0x0 : window [ _0x3b56e7 + 'Array' ] . BYTES _PER _ELEMENT ;
switch ( _0x521a09 ) {
case _0x437498 . NULL :
case _0x437498 . UNDEFINED :
0x0 , _0x3f6107 = null ;
break ;
case _0x437498 . STRING :
_0x26deb8 = _0xfbd54a / _0x5b8ec5 ;
var _0x3316fc = [ ] ;
for ( _0x406eb5 = 0x0 ; _0x406eb5 < _0x26deb8 ; _0x406eb5 ++ ) {
var _0x35da1f = _0x37452e . getUint16 ( _0x38040a , ! 0x1 ) ;
_0x38040a += _0x5b8ec5 , _0x3316fc . push ( String . fromCharCode ( _0x35da1f ) ) ;
}
_0x3f6107 = _0x3316fc . join ( '' ) ;
break ;
case _0x437498 . NUMBER :
_0x3f6107 = _0x37452e . getFloat64 ( _0x38040a , ! 0x1 ) , _0x38040a += _0x5b8ec5 ;
break ;
case _0x437498 . BOOLEAN :
_0x3f6107 = 0x1 === _0x37452e . getUint8 ( _0x38040a , ! 0x1 ) , _0x38040a += _0x5b8ec5 ;
break ;
case _0x437498 . INT8ARRAY :
case _0x437498 . INT16ARRAY :
case _0x437498 . INT32ARRAY :
case _0x437498 . UINT8ARRAY :
case _0x437498 . UINT16ARRAY :
case _0x437498 . UINT32ARRAY :
case _0x437498 . FLOAT32ARRAY :
case _0x437498 . FLOAT64ARRAY :
case _0x437498 . ARRAYBUFFER :
_0x1535e7 = _0x37452e . buffer . slice ( _0x38040a , _0x38040a + _0xfbd54a ) , _0x38040a += _0xfbd54a , _0x3f6107 = _0x521a09 === _0x437498 . ARRAYBUFFER ? _0x1535e7 : new window [ _0x3b56e7 + ( 'Array' ) ] ( _0x1535e7 ) ;
break ;
case _0x437498 . BLOB :
if ( window . Blob ) {
var _0x2161f5 = _0x57407e ( _0x37452e , _0x38040a ) ,
_0x5f11ba = _0x57407e ( _0x37452e , _0x2161f5 . cursor ) ;
_0x38040a = _0x5f11ba . cursor , _0x3f6107 = new Blob ( [ _0x5f11ba . value ] , {
'type' : _0x2161f5 . value
} ) ;
} else _0x1535e7 = _0x37452e . buffer . slice ( _0x38040a , _0x38040a + _0xfbd54a ) , _0x38040a += _0xfbd54a , _0x3f6107 = new _0x227bc8 ( _0x1535e7 ) ;
break ;
case _0x437498 . ARRAY :
for ( _0x3f6107 = [ ] , _0x406eb5 = 0x0 ; _0x406eb5 < _0x26deb8 ; _0x406eb5 ++ ) _0x38040a = ( _0x1535e7 = _0x57407e ( _0x37452e , _0x38040a ) ) . cursor , _0x3f6107 . push ( _0x1535e7 . value ) ;
break ;
case _0x437498 . OBJECT :
for ( _0x3f6107 = { } , _0x406eb5 = 0x0 ; _0x406eb5 < _0x26deb8 ; _0x406eb5 ++ ) {
var _0x4fee35 = _0x57407e ( _0x37452e , _0x38040a ) ,
_0x118c66 = _0x57407e ( _0x37452e , _0x4fee35 . cursor ) ;
_0x38040a = _0x118c66 . cursor , _0x3f6107 [ _0x4fee35 . value ] = _0x118c66 . value ;
}
break ;
default :
throw 'TypeError: Type not supported.' ;
}
return {
'value' : _0x3f6107 ,
'cursor' : _0x38040a
} ;
} ,
_0x3cd888 = function ( _0x7f4367 , _0x498c64 ) {
for ( var _0x2fa590 = _0x7f4367 . length , _0x21b268 = [ ] , _0x521a09 = 0x0 , _0x3fb688 = 0x0 , _0x48740b = 0x0 ; _0x48740b < _0x7f4367 . length ; _0x48740b ++ ) ! function ( _0x48a8b8 ) {
_0x131344 ( _0x7f4367 [ _0x48a8b8 ] , function ( _0x118c9f ) {
if ( _0x21b268 [ _0x48a8b8 ] = _0x118c9f , _0x3fb688 += _0x118c9f [ 0x0 ] . header _size + _0x118c9f [ 0x0 ] . byte _length , ++ _0x521a09 === _0x2fa590 ) {
for ( var _0x341601 = [ ] , _0x44bc9f = 0x0 ; _0x44bc9f < _0x21b268 . length ; _0x44bc9f ++ ) _0x341601 = _0x341601 . concat ( _0x21b268 [ _0x44bc9f ] ) ;
_0x498c64 ( _0x341601 , _0x3fb688 ) ;
}
} ) ;
} ( _0x48740b ) ;
} ,
_0x131344 = function ( _0x26bbec , _0x41d66e ) {
var _0x21b268 , _0x521a09 , _0xcfca39 = _0x37e2da + _0x4929a3 ,
_0x1c90b5 = 0x0 ,
_0x5a7868 = 0x0 ,
_0x23293e = _0x26bbec ;
switch ( _0x521a09 = function ( _0x54f8b4 ) {
var _0x41d66e = void 0x0 ;
if ( void 0x0 === _0x54f8b4 ) _0x41d66e = _0x437498 . UNDEFINED ;
else if ( null === _0x54f8b4 ) _0x41d66e = _0x437498 . NULL ;
else {
var _0x21b268 = _0x54f8b4 . constructor . name ,
_0x521a09 = _0x54f8b4 . constructor . toString ( ) . match ( /\w+/g ) [ 0x1 ] ;
if ( void 0x0 !== _0x21b268 && void 0x0 !== _0x437498 [ _0x21b268 . toUpperCase ( ) ] ) _0x41d66e = _0x437498 [ _0x21b268 . toUpperCase ( ) ] ;
else if ( void 0x0 !== _0x521a09 && void 0x0 !== _0x437498 [ _0x521a09 . toUpperCase ( ) ] ) _0x41d66e = _0x437498 [ _0x521a09 . toUpperCase ( ) ] ;
else switch ( _0x4ffbab ( _0x54f8b4 ) ) {
case 'string' :
_0x41d66e = _0x437498 . STRING ;
break ;
case 'number' :
_0x41d66e = _0x437498 . NUMBER ;
break ;
case 'boolean' :
_0x41d66e = _0x437498 . BOOLEAN ;
break ;
case 'object' :
_0x54f8b4 instanceof Array ? _0x41d66e = _0x437498 . ARRAY : _0x54f8b4 instanceof Int8Array ? _0x41d66e = _0x437498 . INT8ARRAY : _0x54f8b4 instanceof Int16Array ? _0x41d66e = _0x437498 . INT16ARRAY : _0x54f8b4 instanceof Int32Array ? _0x41d66e = _0x437498 . INT32ARRAY : _0x54f8b4 instanceof Uint8Array ? _0x41d66e = _0x437498 . UINT8ARRAY : _0x54f8b4 instanceof Uint16Array ? _0x41d66e = _0x437498 . UINT16ARRAY : _0x54f8b4 instanceof Uint32Array ? _0x41d66e = _0x437498 . UINT32ARRAY : _0x54f8b4 instanceof Float32Array ? _0x41d66e = _0x437498 . FLOAT32ARRAY : _0x54f8b4 instanceof Float64Array ? _0x41d66e = _0x437498 . FLOAT64ARRAY : _0x54f8b4 instanceof ArrayBuffer ? _0x41d66e = _0x437498 . ARRAYBUFFER : _0x54f8b4 instanceof Blob ? _0x41d66e = _0x437498 . BLOB : _0x54f8b4 instanceof _0x227bc8 ? _0x41d66e = _0x437498 . BUFFER : _0x54f8b4 instanceof Object && ( _0x41d66e = _0x437498 . OBJECT ) ;
}
}
return _0x41d66e ;
} ( _0x26bbec ) , _0x21b268 = null == _0xb2a130 [ _0x521a09 ] ? 0x0 : window [ _0xb2a130 [ _0x521a09 ] + 'Array' ] . BYTES _PER _ELEMENT , _0x521a09 ) {
case _0x437498 . UNDEFINED :
case _0x437498 . NULL :
break ;
case _0x437498 . NUMBER :
case _0x437498 . BOOLEAN :
_0x1c90b5 = _0x21b268 ;
break ;
case _0x437498 . STRING :
_0x1c90b5 += ( _0x5a7868 = _0x26bbec . length ) * _0x21b268 ;
break ;
case _0x437498 . INT8ARRAY :
case _0x437498 . INT16ARRAY :
case _0x437498 . INT32ARRAY :
case _0x437498 . UINT8ARRAY :
case _0x437498 . UINT16ARRAY :
case _0x437498 . UINT32ARRAY :
case _0x437498 . FLOAT32ARRAY :
case _0x437498 . FLOAT64ARRAY :
_0x1c90b5 += ( _0x5a7868 = _0x26bbec . length ) * _0x21b268 ;
break ;
case _0x437498 . ARRAY :
return void _0x3cd888 ( _0x26bbec , function ( _0x4ce812 , _0x3cc28c ) {
_0x41d66e ( [ {
'type' : _0x521a09 ,
'length' : _0x26bbec . length ,
'header_size' : _0xcfca39 + _0x49bb1a ,
'byte_length' : _0x3cc28c ,
'value' : null
} ] . concat ( _0x4ce812 ) ) ;
} ) ;
case _0x437498 . OBJECT :
var _0x1eb997 = [ ] ;
for ( var _0x501244 in _0x26bbec ) _0x26bbec . hasOwnProperty ( _0x501244 ) && ( _0x1eb997 . push ( _0x501244 ) , _0x1eb997 . push ( _0x26bbec [ _0x501244 ] ) , _0x5a7868 ++ ) ;
return void _0x3cd888 ( _0x1eb997 , function ( _0x57eeb8 , _0x18e5d9 ) {
_0x41d66e ( [ {
'type' : _0x521a09 ,
'length' : _0x5a7868 ,
'header_size' : _0xcfca39 + _0x49bb1a ,
'byte_length' : _0x18e5d9 ,
'value' : null
} ] . concat ( _0x57eeb8 ) ) ;
} ) ;
case _0x437498 . ARRAYBUFFER :
_0x1c90b5 += _0x26bbec . byteLength ;
break ;
case _0x437498 . BLOB :
var _0x485cd2 = _0x26bbec . type ,
_0x15ca13 = new FileReader ( ) ;
return _0x15ca13 . onload = function ( _0x238bf7 ) {
_0x3cd888 ( [ _0x485cd2 , _0x238bf7 . target . result ] , function ( _0x2faa2d , _0x5dc863 ) {
_0x41d66e ( [ {
'type' : _0x521a09 ,
'length' : _0x5a7868 ,
'header_size' : _0xcfca39 ,
'byte_length' : _0x5dc863 ,
'value' : null
} ] . concat ( _0x2faa2d ) ) ;
} ) ;
} , _0x15ca13 . onerror = function ( _0x18343b ) {
throw 'FileReader Error: ' + _0x18343b ;
} , void _0x15ca13 . readAsArrayBuffer ( _0x26bbec ) ;
case _0x437498 . BUFFER :
_0x1c90b5 += _0x26bbec . length ;
break ;
default :
throw 'TypeError: Type "' + _0x26bbec . constructor . name + '" not supported.' ;
}
_0x41d66e ( [ {
'type' : _0x521a09 ,
'length' : _0x5a7868 ,
'header_size' : _0xcfca39 ,
'byte_length' : _0x1c90b5 ,
'value' : _0x23293e
} ] . concat ( [ ] ) ) ;
} ,
_0x1913f9 = function ( _0xbd3651 , _0x26d417 ) {
var _0x2fa590 = _0xbd3651 instanceof DataView ? _0xbd3651 : new DataView ( _0xbd3651 ) ;
return _0x2e9e54 ( _0x2fa590 , 0x0 ) . value ;
} ;
var _0x4928e6 = {
'pack' : function ( _0x5aea7d , _0x22db9e ) {
try {
0x0 ,
_0x131344 ( _0x5aea7d , function ( _0xf0091e ) {
_0x22db9e ( _0x274b69 ( _0xf0091e ) ) ;
} ) ;
}
catch ( _0x5adeaa ) {
throw _0x5adeaa ;
}
} ,
'unpack' : function ( _0x458a5d , _0x3c312b ) {
try {
0x0 ;
var _0x2fa590 = _0x1913f9 ( _0x458a5d ) ;
0x0 , _0x3c312b ( _0x2fa590 ) ;
} catch ( _0x11220e ) {
throw _0x11220e ;
}
}
} ;
_0x57407e . a = function ( _0x1056a5 , _0x326931 ) {
var _0x3a9045 ;
function _0x45c30f ( _0xa98659 , _0x1eb953 ) {
function _0x535f92 ( _0x27aced ) {
return ! _0x27aced . audio && ! _0x27aced . video && ! _0x27aced . screen && _0x27aced . data ;
}
var _0x21b268 = '' ;
_0x21b268 += '?userid=' + _0xa98659 . userid , _0x21b268 += '&sessionid=' + _0xa98659 . sessionid , _0x21b268 += '&msgEvent=' + _0xa98659 . socketMessageEvent , _0x21b268 += '&socketCustomEvent=' + _0xa98659 . socketCustomEvent , _0x21b268 += '&autoCloseEntireSession=' + ! ! _0xa98659 . autoCloseEntireSession , true === _0xa98659 . session . broadcast && ( _0x21b268 += '&oneToMany=true' ) , _0x21b268 += '&maxParticipantsAllowed=' + _0xa98659 . maxParticipantsAllowed , _0xa98659 . enableScalableBroadcast && ( _0x21b268 += '&enableScalableBroadcast=true' , _0x21b268 += '&maxRelayLimitPerUser=' + ( _0xa98659 . maxRelayLimitPerUser || 0x2 ) ) , _0x21b268 += '&extra=' + JSON . stringify ( _0xa98659 . extra || { } ) , _0xa98659 . socketCustomParameters && ( _0x21b268 += _0xa98659 . socketCustomParameters ) ;
try {
_0x31267b . a . sockets = { } ;
} catch ( _0x16f64d ) { }
if ( _0xa98659 . socketURL || ( _0xa98659 . socketURL = '/' ) , '/' != _0xa98659 . socketURL . substr ( _0xa98659 . socketURL . length - 0x1 , 0x1 ) ) throw '"socketURL" MUST end with a slash.' ;
_0xa98659 . enableLogs && ( '/' == _0xa98659 . socketURL ? console . info ( 'socket.io url is: ' , location . origin + '/' ) : console . info ( 'socket.io url is: ' , _0xa98659 . socketURL ) ) ;
try {
_0xa98659 . socket = _0x31267b ( ) ( _0xa98659 . socketURL + _0x21b268 ) ;
} catch ( _0x5463d4 ) {
_0xa98659 . socket = _0x31267b . a . connect ( _0xa98659 . socketURL + _0x21b268 , _0xa98659 . socketOptions ) ;
}
var _0x521a09 = _0xa98659 . multiPeersHandler ;
function _0x370cbb ( _0x2c02cf , _0x6d0458 ) {
_0xa98659 . peersBackup [ _0x2c02cf ] || ( _0xa98659 . peersBackup [ _0x2c02cf ] = {
'userid' : _0x2c02cf ,
'extra' : { }
} ) , _0xa98659 . peersBackup [ _0x2c02cf ] . extra = _0x6d0458 ;
}
_0xa98659 . socket . on ( 'extra-data-updated' , function ( _0x9c9848 , _0x58a2b1 ) {
_0xa98659 . peers [ _0x9c9848 ] && ( _0xa98659 . peers [ _0x9c9848 ] . extra = _0x58a2b1 , _0xa98659 . onExtraDataUpdated ( {
'userid' : _0x9c9848 ,
'extra' : _0x58a2b1
} ) , _0x370cbb ( _0x9c9848 , _0x58a2b1 ) ) ;
} ) , _0xa98659 . socket . on ( _0xa98659 . socketMessageEvent , function _0x1eb953 ( _0x42ad3e ) {
if ( _0x42ad3e . remoteUserId == _0xa98659 . userid )
if ( _0xa98659 . peers [ _0x42ad3e . sender ] && _0xa98659 . peers [ _0x42ad3e . sender ] . extra != _0x42ad3e . message . extra && ( _0xa98659 . peers [ _0x42ad3e . sender ] . extra = _0x42ad3e . extra , _0xa98659 . onExtraDataUpdated ( {
'userid' : _0x42ad3e . sender ,
'extra' : _0x42ad3e . extra
} ) , _0x370cbb ( _0x42ad3e . sender , _0x42ad3e . extra ) ) , _0x42ad3e . message . streamSyncNeeded && _0xa98659 . peers [ _0x42ad3e . sender ] ) {
var _0x12f90b = _0xa98659 . streamEvents [ _0x42ad3e . message . streamid ] ;
if ( ! _0x12f90b || ! _0x12f90b . stream ) return ;
var _0x7f592a = _0x42ad3e . message . action ;
if ( 'ended' === _0x7f592a || 'inactive' === _0x7f592a || 'stream-removed' === _0x7f592a ) return _0xa98659 . peersBackup [ _0x12f90b . userid ] && ( _0x12f90b . extra = _0xa98659 . peersBackup [ _0x12f90b . userid ] . extra ) , void _0xa98659 . onstreamended ( _0x12f90b ) ;
var _0x43403d = 'both' != _0x42ad3e . message . type ? _0x42ad3e . message . type : null ;
'function' == typeof _0x12f90b . stream [ _0x7f592a ] && _0x12f90b . stream [ _0x7f592a ] ( _0x43403d ) ;
} else if ( 'dropPeerConnection' !== _0x42ad3e . message ) {
if ( _0x42ad3e . message . allParticipants ) return - 0x1 === _0x42ad3e . message . allParticipants . indexOf ( _0x42ad3e . sender ) && _0x42ad3e . message . allParticipants . push ( _0x42ad3e . sender ) , void _0x42ad3e . message . allParticipants . forEach ( function ( _0x45f777 ) {
_0x521a09 [ _0xa98659 . peers [ _0x45f777 ] ? 'renegotiatePeer' : 'createNewPeer' ] ( _0x45f777 , {
'localPeerSdpConstraints' : {
'OfferToReceiveAudio' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'remotePeerSdpConstraints' : {
'OfferToReceiveAudio' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . audio : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . video || ! ! _0xa98659 . session . screen : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'isOneWay' : ! ! _0xa98659 . session . oneway || 'one-way' === _0xa98659 . direction ,
'isDataOnly' : _0x535f92 ( _0xa98659 . session )
} ) ;
} ) ;
if ( _0x42ad3e . message . newParticipant ) {
if ( _0x42ad3e . message . newParticipant == _0xa98659 . userid ) return ;
if ( _0xa98659 . peers [ _0x42ad3e . message . newParticipant ] ) return ;
_0x521a09 . createNewPeer ( _0x42ad3e . message . newParticipant , _0x42ad3e . message . userPreferences || {
'localPeerSdpConstraints' : {
'OfferToReceiveAudio' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'remotePeerSdpConstraints' : {
'OfferToReceiveAudio' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . audio : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . video || ! ! _0xa98659 . session . screen : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'isOneWay' : ! ! _0xa98659 . session . oneway || 'one-way' === _0xa98659 . direction ,
'isDataOnly' : _0x535f92 ( _0xa98659 . session )
} ) ;
} else if ( _0x42ad3e . message . readyForOffer && ( _0xa98659 . attachStreams . length && ( _0xa98659 . waitingForLocalMedia = ! 0x1 ) , _0xa98659 . waitingForLocalMedia ) ) setTimeout ( function ( ) {
_0x1eb953 ( _0x42ad3e ) ;
} , 0x1 ) ;
else if ( _0x42ad3e . message . newParticipationRequest && _0x42ad3e . sender !== _0xa98659 . userid ) {
_0xa98659 . peers [ _0x42ad3e . sender ] && _0xa98659 . deletePeer ( _0x42ad3e . sender ) ;
var _0x8b8a4a = {
'extra' : _0x42ad3e . extra || { } ,
'localPeerSdpConstraints' : _0x42ad3e . message . remotePeerSdpConstraints || {
'OfferToReceiveAudio' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'remotePeerSdpConstraints' : _0x42ad3e . message . localPeerSdpConstraints || {
'OfferToReceiveAudio' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . audio : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0xa98659 . session . oneway ? ! ! _0xa98659 . session . video || ! ! _0xa98659 . session . screen : _0xa98659 . sdpConstraints . mandatory . OfferToReceiveVideo
} ,
'isOneWay' : void 0x0 !== _0x42ad3e . message . isOneWay ? _0x42ad3e . message . isOneWay : ! ! _0xa98659 . session . oneway || 'one-way' === _0xa98659 . direction ,
'isDataOnly' : void 0x0 !== _0x42ad3e . message . isDataOnly ? _0x42ad3e . message . isDataOnly : _0x535f92 ( _0xa98659 . session ) ,
'dontGetRemoteStream' : void 0x0 !== _0x42ad3e . message . isOneWay ? _0x42ad3e . message . isOneWay : ! ! _0xa98659 . session . oneway || 'one-way' === _0xa98659 . direction ,
'dontAttachLocalStream' : ! ! _0x42ad3e . message . dontGetRemoteStream ,
'connectionDescription' : _0x42ad3e ,
'successCallback' : function ( ) { }
} ;
_0xa98659 . onNewParticipant ( _0x42ad3e . sender , _0x8b8a4a ) ;
} else {
if ( _0x42ad3e . message . changedUUID && _0xa98659 . peers [ _0x42ad3e . message . oldUUID ] && ( _0xa98659 . peers [ _0x42ad3e . message . newUUID ] = _0xa98659 . peers [ _0x42ad3e . message . oldUUID ] , delete _0xa98659 . peers [ _0x42ad3e . message . oldUUID ] ) , _0x42ad3e . message . userLeft ) return _0x521a09 . onUserLeft ( _0x42ad3e . sender ) , void ( _0x42ad3e . message . autoCloseEntireSession && _0xa98659 . leave ( ) ) ;
_0x521a09 . addNegotiatedMessage ( _0x42ad3e . message , _0x42ad3e . sender ) ;
}
} else _0xa98659 . deletePeer ( _0x42ad3e . sender ) ;
} ) ;
var _0x56cf17 = ! 0x1 ;
_0xa98659 . socket . resetProps = function ( ) {
_0x56cf17 = ! 0x1 ;
} , _0xa98659 . socket . on ( 'connect' , function ( ) {
_0x56cf17 || ( _0x56cf17 = true , _0xa98659 . enableLogs && console . info ( 'socket.io connection is opened.' ) , setTimeout ( function ( ) {
_0xa98659 . socket . emit ( 'extra-data-updated' , _0xa98659 . extra ) ;
} , 0x3e8 ) , _0x1eb953 && _0x1eb953 ( _0xa98659 . socket ) ) ;
} ) , _0xa98659 . socket . on ( 'disconnect' , function ( ) {
_0xa98659 . enableLogs && console . warn ( 'socket.io connection is closed' ) , _0xa98659 . close ( ) ;
} ) , _0xa98659 . socket . on ( 'user-disconnected' , function ( _0x54aa18 ) {
_0x54aa18 !== _0xa98659 . userid && ( _0xa98659 . onUserStatusChanged ( {
'userid' : _0x54aa18 ,
'status' : 'offline' ,
'extra' : _0xa98659 . peers [ _0x54aa18 ] && _0xa98659 . peers [ _0x54aa18 ] . extra || { }
} ) , _0xa98659 . deletePeer ( _0x54aa18 ) ) ;
} ) , _0xa98659 . socket . on ( 'user-connected' , function ( _0x5ca80a ) {
_0x5ca80a !== _0xa98659 . userid && _0xa98659 . onUserStatusChanged ( {
'userid' : _0x5ca80a ,
'status' : 'online' ,
'extra' : _0xa98659 . peers [ _0x5ca80a ] && _0xa98659 . peers [ _0x5ca80a ] . extra || { }
} ) ;
} ) , _0xa98659 . socket . on ( 'closed-entire-session' , function ( _0x4808cd , _0x427eb3 ) {
_0xa98659 . leave ( ) , _0xa98659 . onEntireSessionClosed ( {
'sessionid' : _0x4808cd ,
'userid' : _0x4808cd ,
'extra' : _0x427eb3
} ) ;
} ) , _0xa98659 . socket . on ( 'userid-already-taken' , function ( _0x420cd1 , _0x1408ae ) {
_0xa98659 . onUserIdAlreadyTaken ( _0x420cd1 , _0x1408ae ) ;
} ) , _0xa98659 . socket . on ( 'logs' , function ( _0x5e50a8 ) {
_0xa98659 . enableLogs && console . debug ( 'server-logs' , _0x5e50a8 ) ;
} ) , _0xa98659 . socket . on ( 'number-of-broadcast-viewers-updated' , function ( _0x6c7075 ) {
_0xa98659 . onNumberOfBroadcastViewersUpdated ( _0x6c7075 ) ;
} ) , _0xa98659 . socket . on ( 'set-isInitiator-true' , function ( _0x4f8f7b ) {
_0x4f8f7b == _0xa98659 . sessionid && ( _0xa98659 . isInitiator = true ) ;
} ) ;
}
function _0x11ea4f ( _0x433d1d ) {
var _0x326931 = this ,
_0x2fa590 = [ 'getAllParticipants' , 'getLength' , 'selectFirst' , 'streams' , 'send' , 'forEach' ] ;
function _0x2aa4ee ( ) {
_0x433d1d . fbr = new _0x375f8a ( ) , _0x433d1d . fbr . onProgress = function ( _0x4fd092 ) {
_0x433d1d . onFileProgress ( _0x4fd092 ) ;
} , _0x433d1d . fbr . onBegin = function ( _0x4d54b6 ) {
_0x433d1d . onFileStart ( _0x4d54b6 ) ;
} , _0x433d1d . fbr . onEnd = function ( _0x50bc40 ) {
_0x433d1d . onFileEnd ( _0x50bc40 ) ;
} ;
}
_0x433d1d . peers = {
'getLength' : function ( ) {
var _0x433d1d = 0x0 ;
for ( var _0x326931 in this ) - 0x1 == _0x2fa590 . indexOf ( _0x326931 ) && _0x433d1d ++ ;
return _0x433d1d ;
} ,
'selectFirst' : function ( ) {
var _0x433d1d ;
for ( var _0x326931 in this ) - 0x1 == _0x2fa590 . indexOf ( _0x326931 ) && ( _0x433d1d = this [ _0x326931 ] ) ;
return _0x433d1d ;
} ,
'getAllParticipants' : function ( _0x3c84ce ) {
var _0x326931 = [ ] ;
for ( var _0x2aa4ee in this ) - 0x1 == _0x2fa590 . indexOf ( _0x2aa4ee ) && _0x2aa4ee != _0x3c84ce && _0x326931 . push ( _0x2aa4ee ) ;
return _0x326931 ;
} ,
'forEach' : function ( _0x3602ec ) {
this . getAllParticipants ( ) . forEach ( function ( _0x5a1e0f ) {
_0x3602ec ( _0x433d1d . peers [ _0x5a1e0f ] ) ;
} ) ;
} ,
'send' : function ( _0x5ba79e , _0x17c086 ) {
var _0x521a09 = this ;
if ( ! _0x3b94ab ( _0x5ba79e . size ) && ! _0x3b94ab ( _0x5ba79e . type ) ) {
if ( _0x433d1d . enableFileSharing ) return void _0x326931 . shareFile ( _0x5ba79e , _0x17c086 ) ;
'string' != typeof _0x5ba79e && ( _0x5ba79e = JSON . stringify ( _0x5ba79e ) ) ;
}
if ( 'text' === _0x5ba79e . type || _0x5ba79e instanceof ArrayBuffer || _0x5ba79e instanceof DataView ) {
if ( 'text' === _0x5ba79e . type && ( _0x5ba79e = JSON . stringify ( _0x5ba79e ) ) , _0x17c086 ) {
var _0x53f36f = _0x433d1d . peers [ _0x17c086 ] ;
if ( _0x53f36f ) return _0x53f36f . channels . length ? void _0x53f36f . channels . forEach ( function ( _0x157888 ) {
_0x157888 . send ( _0x5ba79e ) ;
} ) : ( _0x433d1d . peers [ _0x17c086 ] . createDataChannel ( ) , _0x433d1d . renegotiate ( _0x17c086 ) , void setTimeout ( function ( ) {
_0x521a09 . send ( _0x5ba79e , _0x17c086 ) ;
} , 0xbb8 ) ) ;
}
this . getAllParticipants ( ) . forEach ( function ( _0x20abac ) {
if ( ! _0x521a09 [ _0x20abac ] . channels . length ) return _0x433d1d . peers [ _0x20abac ] . createDataChannel ( ) , _0x433d1d . renegotiate ( _0x20abac ) , void setTimeout ( function ( ) {
_0x521a09 [ _0x20abac ] . channels . forEach ( function ( _0x3e199c ) {
_0x3e199c . send ( _0x5ba79e ) ;
} ) ;
} , 0xbb8 ) ;
_0x521a09 [ _0x20abac ] . channels . forEach ( function ( _0x35ed8c ) {
_0x35ed8c . send ( _0x5ba79e ) ;
} ) ;
} ) ;
} else _0x21703b . send ( {
'text' : _0x5ba79e ,
'channel' : this ,
'connection' : _0x433d1d ,
'remoteUserId' : _0x17c086
} ) ;
}
} , this . uuid = _0x433d1d . userid , this . getLocalConfig = function ( _0x137423 , _0x261ef , _0x2d10e4 ) {
return _0x2d10e4 || ( _0x2d10e4 = { } ) , {
'streamsToShare' : _0x2d10e4 . streamsToShare || { } ,
'rtcMultiConnection' : _0x433d1d ,
'connectionDescription' : _0x2d10e4 . connectionDescription ,
'userid' : _0x261ef ,
'localPeerSdpConstraints' : _0x2d10e4 . localPeerSdpConstraints ,
'remotePeerSdpConstraints' : _0x2d10e4 . remotePeerSdpConstraints ,
'dontGetRemoteStream' : ! ! _0x2d10e4 . dontGetRemoteStream ,
'dontAttachLocalStream' : ! ! _0x2d10e4 . dontAttachLocalStream ,
'renegotiatingPeer' : ! ! _0x2d10e4 . renegotiatingPeer ,
'peerRef' : _0x2d10e4 . peerRef ,
'channels' : _0x2d10e4 . channels || [ ] ,
'onLocalSdp' : function ( _0x44a3ae ) {
_0x326931 . onNegotiationNeeded ( _0x44a3ae , _0x261ef ) ;
} ,
'onLocalCandidate' : function ( _0x405c4b ) {
( _0x405c4b = _0x2b9f47 . processCandidates ( _0x433d1d , _0x405c4b ) ) && _0x326931 . onNegotiationNeeded ( _0x405c4b , _0x261ef ) ;
} ,
'remoteSdp' : _0x137423 ,
'onDataChannelMessage' : function ( _0x149155 ) {
if ( ! _0x433d1d . fbr && _0x433d1d . enableFileSharing && _0x2aa4ee ( ) , 'string' != typeof _0x149155 && _0x433d1d . enableFileSharing ) {
var _0x2d10e4 = this ;
_0x149155 instanceof ArrayBuffer || _0x149155 instanceof DataView ? _0x433d1d . fbr . convertToObject ( _0x149155 , function ( _0x2664a9 ) {
_0x2d10e4 . onDataChannelMessage ( _0x2664a9 ) ;
} ) : _0x149155 . readyForNextChunk ? _0x433d1d . fbr . getNextChunk ( _0x149155 , function ( _0x1453bf , _0x8de0f1 ) {
_0x433d1d . peers [ _0x261ef ] . channels . forEach ( function ( _0x5f29e7 ) {
_0x5f29e7 . send ( _0x1453bf ) ;
} ) ;
} , _0x261ef ) : _0x149155 . chunkMissing ? _0x433d1d . fbr . chunkMissing ( _0x149155 ) : _0x433d1d . fbr . addChunk ( _0x149155 , function ( _0x8e01c9 ) {
_0x433d1d . peers [ _0x261ef ] . peer . channel . send ( _0x8e01c9 ) ;
} ) ;
} else _0x326931 . onDataChannelMessage ( _0x149155 , _0x261ef ) ;
} ,
'onDataChannelError' : function ( _0x300f94 ) {
_0x326931 . onDataChannelError ( _0x300f94 , _0x261ef ) ;
} ,
'onDataChannelOpened' : function ( _0x5919e5 ) {
_0x326931 . onDataChannelOpened ( _0x5919e5 , _0x261ef ) ;
} ,
'onDataChannelClosed' : function ( _0x37c3b1 ) {
_0x326931 . onDataChannelClosed ( _0x37c3b1 , _0x261ef ) ;
} ,
'onRemoteStream' : function ( _0x44e333 ) {
_0x433d1d . peers [ _0x261ef ] && _0x433d1d . peers [ _0x261ef ] . streams . push ( _0x44e333 ) , _0x326931 . onGettingRemoteMedia ( _0x44e333 , _0x261ef ) ;
} ,
'onRemoteStreamRemoved' : function ( _0x1e2862 ) {
_0x326931 . onRemovingRemoteMedia ( _0x1e2862 , _0x261ef ) ;
} ,
'onPeerStateChanged' : function ( _0x483374 ) {
_0x326931 . onPeerStateChanged ( _0x483374 ) , 'new' === _0x483374 . iceConnectionState && _0x326931 . onNegotiationStarted ( _0x261ef , _0x483374 ) , 'connected' === _0x483374 . iceConnectionState && _0x326931 . onNegotiationCompleted ( _0x261ef , _0x483374 ) , - 0x1 !== _0x483374 . iceConnectionState . search ( /closed|failed/gi ) && ( _0x326931 . onUserLeft ( _0x261ef ) , _0x326931 . disconnectWith ( _0x261ef ) ) ;
}
} ;
} , this . createNewPeer = function ( _0x4f4c1b , _0x54114b ) {
if ( ! ( _0x433d1d . maxParticipantsAllowed <= _0x433d1d . getAllParticipants ( ) . length ) ) {
if ( _0x54114b = _0x54114b || { } , _0x433d1d . isInitiator && _0x433d1d . session . audio && 'two-way' === _0x433d1d . session . audio && ! _0x54114b . streamsToShare && ( _0x54114b . isOneWay = ! 0x1 , _0x54114b . isDataOnly = ! 0x1 , _0x54114b . session = _0x433d1d . session ) , ! _0x54114b . isOneWay && ! _0x54114b . isDataOnly ) return _0x54114b . isOneWay = true , void this . onNegotiationNeeded ( {
'enableMedia' : true ,
'userPreferences' : _0x54114b
} , _0x4f4c1b ) ;
_0x54114b = _0x433d1d . setUserPreferences ( _0x54114b , _0x4f4c1b ) ;
var _0x2aa4ee = this . getLocalConfig ( null , _0x4f4c1b , _0x54114b ) ;
_0x433d1d . peers [ _0x4f4c1b ] = new _0x4c6fdb ( _0x2aa4ee ) ;
}
} , this . createAnsweringPeer = function ( _0x432071 , _0x5d1056 , _0x4e2b15 ) {
_0x4e2b15 = _0x433d1d . setUserPreferences ( _0x4e2b15 || { } , _0x5d1056 ) ;
var _0x521a09 = this . getLocalConfig ( _0x432071 , _0x5d1056 , _0x4e2b15 ) ;
_0x433d1d . peers [ _0x5d1056 ] = new _0x4c6fdb ( _0x521a09 ) ;
} , this . renegotiatePeer = function ( _0xf6c803 , _0x597405 , _0x29d9b2 ) {
if ( _0x433d1d . peers [ _0xf6c803 ] ) {
_0x597405 || ( _0x597405 = { } ) , _0x597405 . renegotiatingPeer = true , _0x597405 . peerRef = _0x433d1d . peers [ _0xf6c803 ] . peer , _0x597405 . channels = _0x433d1d . peers [ _0xf6c803 ] . channels ;
var _0x521a09 = this . getLocalConfig ( _0x29d9b2 , _0xf6c803 , _0x597405 ) ;
_0x433d1d . peers [ _0xf6c803 ] = new _0x4c6fdb ( _0x521a09 ) ;
} else _0x433d1d . enableLogs && console . error ( 'Peer (' + _0xf6c803 + ') does not exist. Renegotiation skipped.' ) ;
} , this . replaceTrack = function ( _0x110184 , _0x52c3ce , _0x25f6eb ) {
if ( ! _0x433d1d . peers [ _0x52c3ce ] ) throw 'This peer (' + _0x52c3ce + ') does not exist.' ;
var _0x521a09 = _0x433d1d . peers [ _0x52c3ce ] . peer ;
_0x521a09 . getSenders && 'function' == typeof _0x521a09 . getSenders && _0x521a09 . getSenders ( ) . length ? _0x521a09 . getSenders ( ) . forEach ( function ( _0x96ed5f ) {
_0x25f6eb && 'video' === _0x96ed5f . track . kind && ( _0x433d1d . peers [ _0x52c3ce ] . peer . lastVideoTrack = _0x96ed5f . track , _0x96ed5f . replaceTrack ( _0x110184 ) ) , _0x25f6eb || 'audio' !== _0x96ed5f . track . kind || ( _0x433d1d . peers [ _0x52c3ce ] . peer . lastAudioTrack = _0x96ed5f . track , _0x96ed5f . replaceTrack ( _0x110184 ) ) ;
} ) : ( console . warn ( 'RTPSender.replaceTrack is NOT supported.' ) , this . renegotiatePeer ( _0x52c3ce ) ) ;
} , this . onNegotiationNeeded = function ( _0x33db7a , _0x5f4a7c ) { } , this . addNegotiatedMessage = function ( _0x1d484a , _0x448bd9 ) {
if ( _0x1d484a . type && _0x1d484a . sdp ) return 'answer' == _0x1d484a . type && _0x433d1d . peers [ _0x448bd9 ] && _0x433d1d . peers [ _0x448bd9 ] . addRemoteSdp ( _0x1d484a ) , 'offer' == _0x1d484a . type && ( _0x1d484a . renegotiatingPeer ? this . renegotiatePeer ( _0x448bd9 , null , _0x1d484a ) : this . createAnsweringPeer ( _0x1d484a , _0x448bd9 ) ) , void ( _0x433d1d . enableLogs && console . log ( 'Remote peer\x27s sdp:' , _0x1d484a . sdp ) ) ;
if ( _0x1d484a . candidate ) return _0x433d1d . peers [ _0x448bd9 ] && _0x433d1d . peers [ _0x448bd9 ] . addRemoteCandidate ( _0x1d484a ) , void ( _0x433d1d . enableLogs && console . log ( 'Remote peer\'s candidate pairs:' , _0x1d484a . candidate ) ) ;
if ( _0x1d484a . enableMedia ) {
_0x433d1d . session = _0x1d484a . userPreferences . session || _0x433d1d . session , _0x433d1d . session . oneway && _0x433d1d . attachStreams . length && ( _0x433d1d . attachStreams = [ ] ) , _0x1d484a . userPreferences . isDataOnly && _0x433d1d . attachStreams . length && ( _0x433d1d . attachStreams . length = [ ] ) ;
var _0x521a09 = { } ;
_0x433d1d . attachStreams . forEach ( function ( _0x549219 ) {
_0x521a09 [ _0x549219 . streamid ] = {
'isAudio' : ! ! _0x549219 . isAudio ,
'isVideo' : ! ! _0x549219 . isVideo ,
'isScreen' : ! ! _0x549219 . isScreen
} ;
} ) , _0x1d484a . userPreferences . streamsToShare = _0x521a09 , _0x326931 . onNegotiationNeeded ( {
'readyForOffer' : true ,
'userPreferences' : _0x1d484a . userPreferences
} , _0x448bd9 ) ;
}
_0x1d484a . readyForOffer && _0x433d1d . onReadyForOffer ( _0x448bd9 , _0x1d484a . userPreferences ) ;
} , this . onGettingRemoteMedia = function ( _0x1d2a39 , _0x50fcf9 ) { } , this . onRemovingRemoteMedia = function ( _0x2c048b , _0x238637 ) { } , this . onGettingLocalMedia = function ( _0x10860a ) { } , this . onLocalMediaError = function ( _0x33725e , _0x45b7ee ) {
_0x433d1d . onMediaError ( _0x33725e , _0x45b7ee ) ;
} , this . shareFile = function ( _0x458906 , _0x775c6c ) {
_0x2aa4ee ( ) , _0x433d1d . fbr . readAsArrayBuffer ( _0x458906 , function ( _0x2c744c ) {
var _0x2aa4ee = _0x433d1d . getAllParticipants ( ) ;
_0x775c6c && ( _0x2aa4ee = [ _0x775c6c ] ) , _0x2aa4ee . forEach ( function ( _0x3a9de3 ) {
_0x433d1d . fbr . getNextChunk ( _0x2c744c , function ( _0x2b3a4a ) {
_0x433d1d . peers [ _0x3a9de3 ] . channels . forEach ( function ( _0x2356aa ) {
_0x2356aa . send ( _0x2b3a4a ) ;
} ) ;
} , _0x3a9de3 ) ;
} ) ;
} , {
'userid' : _0x433d1d . userid ,
'chunkSize' : 'Firefox' === DetectRTC . browser . name ? 0x3a98 : _0x433d1d . chunkSize || 0x0
} ) ;
} ;
var _0x521a09 = new _0x342039 ( _0x433d1d ) ;
this . onDataChannelMessage = function ( _0x5f266f , _0x384695 ) {
_0x521a09 . receive ( JSON . parse ( _0x5f266f ) , _0x384695 , _0x433d1d . peers [ _0x384695 ] ? _0x433d1d . peers [ _0x384695 ] . extra : { } ) ;
} , this . onDataChannelClosed = function ( _0x5448c4 , _0x5c5d37 ) {
_0x5448c4 . userid = _0x5c5d37 , _0x5448c4 . extra = _0x433d1d . peers [ _0x5c5d37 ] ? _0x433d1d . peers [ _0x5c5d37 ] . extra : { } , _0x433d1d . onclose ( _0x5448c4 ) ;
} , this . onDataChannelError = function ( _0x2a9d6 , _0x55de25 ) {
_0x2a9d6 . userid = _0x55de25 , event . extra = _0x433d1d . peers [ _0x55de25 ] ? _0x433d1d . peers [ _0x55de25 ] . extra : { } , _0x433d1d . onerror ( _0x2a9d6 ) ;
} , this . onDataChannelOpened = function ( _0x5d5514 , _0x255c92 ) {
_0x433d1d . peers [ _0x255c92 ] . channels . length ? _0x433d1d . peers [ _0x255c92 ] . channels = [ _0x5d5514 ] : ( _0x433d1d . peers [ _0x255c92 ] . channels . push ( _0x5d5514 ) , _0x433d1d . onopen ( {
'userid' : _0x255c92 ,
'extra' : _0x433d1d . peers [ _0x255c92 ] ? _0x433d1d . peers [ _0x255c92 ] . extra : { } ,
'channel' : _0x5d5514
} ) ) ;
} , this . onPeerStateChanged = function ( _0x463911 ) {
_0x433d1d . onPeerStateChanged ( _0x463911 ) ;
} , this . onNegotiationStarted = function ( _0x134c39 , _0x554768 ) { } , this . onNegotiationCompleted = function ( _0x40ab4e , _0x24f174 ) { } , this . getRemoteStreams = function ( _0x196151 ) {
return _0x196151 = _0x196151 || _0x433d1d . peers . getAllParticipants ( ) [ 0x0 ] , _0x433d1d . peers [ _0x196151 ] ? _0x433d1d . peers [ _0x196151 ] . streams : [ ] ;
} ;
}
function _0x121233 ( _0x421b61 , _0x4c65b9 , _0x1382be ) {
if ( 'undefined' != typeof CustomEvent ) {
var _0x21b268 = new CustomEvent ( _0x4c65b9 , {
'arguments' : _0x1382be ,
'__exposedProps__' : _0x1382be
} ) ;
_0x421b61 . dispatchEvent ( _0x21b268 ) ;
}
}
function _0x57b754 ( _0x51d3ee , _0x17d2b8 ) {
_0x17d2b8 . stream && _0x17d2b8 . stream && _0x17d2b8 . stream . addEventListener && ( _0x17d2b8 . stream . addEventListener ( 'mute' , function ( _0x20fbf4 ) {
( _0x20fbf4 = _0x51d3ee . streamEvents [ _0x17d2b8 . streamid ] ) . session = {
'audio' : 'audio' === _0x20fbf4 . muteType ,
'video' : 'video' === _0x20fbf4 . muteType
} , _0x51d3ee . onmute ( _0x20fbf4 ) ;
} , ! 0x1 ) , _0x17d2b8 . stream . addEventListener ( 'unmute' , function ( _0x5b824c ) {
( _0x5b824c = _0x51d3ee . streamEvents [ _0x17d2b8 . streamid ] ) . session = {
'audio' : 'audio' === _0x5b824c . unmuteType ,
'video' : 'video' === _0x5b824c . unmuteType
} , _0x51d3ee . onunmute ( _0x5b824c ) ;
} , ! 0x1 ) ) ;
}
function _0x5b8d5d ( ) {
if ( window . crypto && window . crypto . getRandomValues && - 0x1 === navigator . userAgent . indexOf ( 'Safari' ) ) {
for ( var _0x1056a5 = window . crypto . getRandomValues ( new Uint32Array ( 0x3 ) ) , _0x326931 = '' , _0x2fa590 = 0x0 , _0x21b268 = _0x1056a5 . length ; _0x2fa590 < _0x21b268 ; _0x2fa590 ++ ) _0x326931 += _0x1056a5 [ _0x2fa590 ] . toString ( 0x24 ) ;
return _0x326931 ;
}
return ( Math . random ( ) * new Date ( ) . getTime ( ) ) . toString ( 0x24 ) . replace ( /\./g , '' ) ;
}
function _0x412d65 ( _0x385896 , _0x40a9c8 , _0x449aca ) {
if ( _0x449aca . autoCreateMediaElement ) {
var _0x21b268 = ! 0x1 ;
_0x2cbba5 ( _0x385896 , 'video' ) . length || _0x385896 . isVideo || _0x385896 . isScreen || ( _0x21b268 = true ) , 'Firefox' === DetectRTC . browser . name && ( _0x449aca . session . video || _0x449aca . session . screen ) && ( _0x21b268 = ! 0x1 ) ;
var _0x521a09 = document . createElement ( _0x21b268 ? 'audio' : 'video' ) ;
_0x521a09 . srcObject = _0x385896 ;
try {
_0x521a09 . setAttributeNode ( document . createAttribute ( 'autoplay' ) ) , _0x521a09 . setAttributeNode ( document . createAttribute ( 'playsinline' ) ) , _0x521a09 . setAttributeNode ( document . createAttribute ( 'controls' ) ) ;
} catch ( _0x1440db ) {
_0x521a09 . setAttribute ( 'autoplay' , true ) , _0x521a09 . setAttribute ( 'playsinline' , true ) , _0x521a09 . setAttribute ( 'controls' , true ) ;
}
if ( 'Firefox' === DetectRTC . browser . name ) {
var _0x5e279f = 'ended' ;
'oninactive' in _0x521a09 && ( _0x5e279f = 'inactive' ) , _0x521a09 . addEventListener ( _0x5e279f , function ( ) {
if ( currentUserMediaRequest . remove ( _0x385896 . idInstance ) , 'local' === _0x385896 . type ) {
_0x5e279f = 'ended' , 'oninactive' in _0x385896 && ( _0x5e279f = 'inactive' ) , _0x25e82e . onSyncNeeded ( _0x385896 . streamid , _0x5e279f ) , _0x449aca . attachStreams . forEach ( function ( _0x30209b , _0x17c711 ) {
_0x385896 . streamid === _0x30209b . streamid && delete _0x449aca . attachStreams [ _0x17c711 ] ;
} ) ;
var _0x40a9c8 = [ ] ;
_0x449aca . attachStreams . forEach ( function ( _0x2dbc3e ) {
_0x2dbc3e && _0x40a9c8 . push ( _0x2dbc3e ) ;
} ) , _0x449aca . attachStreams = _0x40a9c8 ;
var _0x21b268 = _0x449aca . streamEvents [ _0x385896 . streamid ] ;
if ( _0x21b268 ) return void _0x449aca . onstreamended ( _0x21b268 ) ;
this . parentNode && this . parentNode . removeChild ( this ) ;
}
} , ! 0x1 ) ;
}
var _0x2b737d = _0x521a09 . play ( ) ;
if ( void 0x0 !== _0x2b737d ) {
var _0x1e20a0 = ! 0x1 ;
setTimeout ( function ( ) {
_0x1e20a0 || ( _0x1e20a0 = true , _0x40a9c8 ( _0x521a09 ) ) ;
} , 0x3e8 ) , _0x2b737d . then ( function ( ) {
_0x1e20a0 || ( _0x1e20a0 = true , _0x40a9c8 ( _0x521a09 ) ) ;
} ) . catch ( function ( _0x336a06 ) {
_0x1e20a0 || ( _0x1e20a0 = true , _0x40a9c8 ( _0x521a09 ) ) ;
} ) ;
} else _0x40a9c8 ( _0x521a09 ) ;
} else _0x40a9c8 ( { } ) ;
}
function _0x1cbceb ( _0x84132f , _0xd43fb8 ) {
window . removeEventListener ( _0x84132f , _0xd43fb8 ) , window . addEventListener ( _0x84132f , _0xd43fb8 , ! 0x1 ) ;
}
function _0xf3acd ( _0x3d2706 ) {
var _0x326931 = [ ] ;
return _0x3d2706 . forEach ( function ( _0x1e0ee0 ) {
_0x1e0ee0 && _0x326931 . push ( _0x1e0ee0 ) ;
} ) , _0x326931 ;
}
function _0x5deab2 ( _0x58c43e ) {
return ! _0x58c43e . audio && ! _0x58c43e . video && ! _0x58c43e . screen && _0x58c43e . data ;
}
function _0x3b94ab ( _0x3fc589 ) {
return void 0x0 === _0x3fc589 ;
} ( _0x3a9045 = void 0x0 !== _0x21b268 ? _0x21b268 : null ) && 'undefined' == typeof window && void 0x0 !== _0x21b268 && ( _0x21b268 . navigator = {
'userAgent' : 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45' ,
'getUserMedia' : function ( ) { }
} , _0x21b268 . console || ( _0x21b268 . console = { } ) , void 0x0 === _0x21b268 . console . debug && ( _0x21b268 . console . debug = _0x21b268 . console . info = _0x21b268 . console . error = _0x21b268 . console . log = _0x21b268 . console . log || function ( ) {
console . log ( arguments ) ;
} ) , 'undefined' == typeof document && ( _0x3a9045 . document = { } , document . createElement = document . captureStream = document . mozCaptureStream = function ( ) {
var _0x1056a5 = {
'getContext' : function ( ) {
return _0x1056a5 ;
} ,
'play' : function ( ) { } ,
'pause' : function ( ) { } ,
'drawImage' : function ( ) { } ,
'toDataURL' : function ( ) {
return '' ;
}
} ;
return _0x1056a5 ;
} , document . addEventListener = document . removeEventListener = _0x3a9045 . addEventListener = _0x3a9045 . removeEventListener = function ( ) { } , _0x3a9045 . HTMLVideoElement = _0x3a9045 . HTMLMediaElement = function ( ) { } ) , void 0x0 === _0x31267b . a && ( _0x3a9045 . io = function ( ) {
return {
'on' : function ( _0x5e1368 , _0xf87dfc ) {
_0xf87dfc = _0xf87dfc || function ( ) { } , 'connect' === _0x5e1368 && _0xf87dfc ( ) ;
} ,
'emit' : function ( _0x20d335 , _0x35266d , _0x4a91e0 ) {
_0x4a91e0 = _0x4a91e0 || function ( ) { } , 'open-room' !== _0x20d335 && 'join-room' !== _0x20d335 || _0x4a91e0 ( true , _0x35266d . sessionid , null ) ;
}
} ;
} ) , 'undefined' == typeof location && ( _0x3a9045 . location = {
'protocol' : 'file:' ,
'href' : '' ,
'hash' : '' ,
'origin' : 'self'
} ) , 'undefined' == typeof screen && ( _0x3a9045 . screen = {
'width' : 0x0 ,
'height' : 0x0
} ) , 'undefined' == typeof URL && ( _0x3a9045 . URL = {
'createObjectURL' : function ( ) {
return '' ;
} ,
'revokeObjectURL' : function ( ) {
return '' ;
}
} ) , _0x3a9045 . window = _0x21b268 ) ,
function ( ) {
var _0x1056a5 = 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45' ;
if ( _0x3f6d71 = 'object' === ( void 0x0 === _0x521a09 ? 'undefined' : _0x4ffbab ( _0x521a09 ) ) && 'object' === _0x4ffbab ( _0x521a09 . versions ) && _0x521a09 . versions . node && ! _0x521a09 . browser ) {
var _0x326931 = _0x521a09 . versions . node . toString ( ) . replace ( 'v' , '' ) ;
_0x1056a5 = 'Nodejs/' + _0x326931 + ' (NodeOS) AppleWebKit/' + _0x326931 + ' (KHTML, like Gecko) Nodejs/' + _0x326931 + ' Nodejs/' + _0x326931 ;
} ! function ( _0x3f410a ) {
'undefined' == typeof window && ( 'undefined' == typeof window && void 0x0 !== _0x21b268 && ( _0x21b268 . navigator = {
'userAgent' : _0x1056a5 ,
'getUserMedia' : function ( ) { }
} , _0x3f410a . window = _0x21b268 ) , 'undefined' == typeof location && ( _0x3f410a . location = {
'protocol' : 'file:' ,
'href' : '' ,
'hash' : ''
} ) , 'undefined' == typeof screen && ( _0x3f410a . screen = {
'width' : 0x0 ,
'height' : 0x0
} ) ) ;
} ( void 0x0 !== _0x21b268 ? _0x21b268 : window ) ;
var _0xd38ed = window . navigator ;
void 0x0 !== _0xd38ed ? ( void 0x0 !== _0xd38ed . webkitGetUserMedia && ( _0xd38ed . getUserMedia = _0xd38ed . webkitGetUserMedia ) , void 0x0 !== _0xd38ed . mozGetUserMedia && ( _0xd38ed . getUserMedia = _0xd38ed . mozGetUserMedia ) ) : _0xd38ed = {
'getUserMedia' : function ( ) { } ,
'userAgent' : _0x1056a5
} ;
var _0x4aed46 = ! ! /Android|webOS|iPhone|iPad|iPod|BB10|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i . test ( _0xd38ed . userAgent || '' ) ,
_0x4ba312 = ! ( - 0x1 === _0xd38ed . userAgent . indexOf ( 'Edge' ) || ! _0xd38ed . msSaveOrOpenBlob && ! _0xd38ed . msSaveBlob ) ,
_0xa57f33 = ! ! window . opera || _0xd38ed . userAgent . indexOf ( ' OPR/' ) >= 0x0 ,
_0x111853 = void 0x0 !== window . InstallTrigger ,
_0x2920ae = /^((?!chrome|android).)*safari/i . test ( _0xd38ed . userAgent ) ,
_0x5e24f4 = ! ! window . chrome && ! _0xa57f33 ,
_0x566860 = 'undefined' != typeof document && ! ! document . documentMode && ! _0x4ba312 ;
function _0x8a78df ( _0x409296 , _0x319fb9 ) {
var _0x2fa590 = 0x0 ,
_0x21b268 = ! 0x1 ,
_0x521a09 = window . setInterval ( function ( ) {
_0x409296 ( ) && ( window . clearInterval ( _0x521a09 ) , _0x319fb9 ( _0x21b268 ) ) , _0x2fa590 ++ > 0x32 && ( window . clearInterval ( _0x521a09 ) , _0x319fb9 ( _0x21b268 = true ) ) ;
} , 0xa ) ;
}
var _0x25725b = {
'Android' : function ( ) {
return _0xd38ed . userAgent . match ( /Android/i ) ;
} ,
'BlackBerry' : function ( ) {
return _0xd38ed . userAgent . match ( /BlackBerry|BB10/i ) ;
} ,
'iOS' : function ( ) {
return _0xd38ed . userAgent . match ( /iPhone|iPad|iPod/i ) ;
} ,
'Opera' : function ( ) {
return _0xd38ed . userAgent . match ( /Opera Mini/i ) ;
} ,
'Windows' : function ( ) {
return _0xd38ed . userAgent . match ( /IEMobile/i ) ;
} ,
'any' : function ( ) {
return _0x25725b . Android ( ) || _0x25725b . BlackBerry ( ) || _0x25725b . iOS ( ) || _0x25725b . Opera ( ) || _0x25725b . Windows ( ) ;
} ,
'getOsName' : function ( ) {
var _0x1056a5 = 'Unknown OS' ;
return _0x25725b . Android ( ) && ( _0x1056a5 = 'Android' ) , _0x25725b . BlackBerry ( ) && ( _0x1056a5 = 'BlackBerry' ) , _0x25725b . iOS ( ) && ( _0x1056a5 = 'iOS' ) , _0x25725b . Opera ( ) && ( _0x1056a5 = 'Opera Mini' ) , _0x25725b . Windows ( ) && ( _0x1056a5 = 'Windows' ) , _0x1056a5 ;
}
} ;
var _0xfabbbb = 'Unknown OS' ,
_0x533b2e = 'Unknown OS Version' ;
var _0x373254 , _0x3c966e , _0x47d25f = function ( ) {
for ( var _0x1056a5 , _0x326931 = _0xd38ed . appVersion , _0x2fa590 = _0xd38ed . userAgent , _0x21b268 = '-' , _0x521a09 = [ {
's' : 'Windows 10' ,
'r' : /(Windows 10.0|Windows NT 10.0)/
} , {
's' : 'Windows 8.1' ,
'r' : /(Windows 8.1|Windows NT 6.3)/
} , {
's' : 'Windows 8' ,
'r' : /(Windows 8|Windows NT 6.2)/
} , {
's' : 'Windows 7' ,
'r' : /(Windows 7|Windows NT 6.1)/
} , {
's' : 'Windows Vista' ,
'r' : /Windows NT 6.0/
} , {
's' : 'Windows Server 2003' ,
'r' : /Windows NT 5.2/
} , {
's' : 'Windows XP' ,
'r' : /(Windows NT 5.1|Windows XP)/
} , {
's' : 'Windows 2000' ,
'r' : /(Windows NT 5.0|Windows 2000)/
} , {
's' : 'Windows ME' ,
'r' : /(Win 9x 4.90|Windows ME)/
} , {
's' : 'Windows 98' ,
'r' : /(Windows 98|Win98)/
} , {
's' : 'Windows 95' ,
'r' : /(Windows 95|Win95|Windows_95)/
} , {
's' : 'Windows NT 4.0' ,
'r' : /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/
} , {
's' : 'Windows CE' ,
'r' : /Windows CE/
} , {
's' : 'Windows 3.11' ,
'r' : /Win16/
} , {
's' : 'Android' ,
'r' : /Android/
} , {
's' : 'Open BSD' ,
'r' : /OpenBSD/
} , {
's' : 'Sun OS' ,
'r' : /SunOS/
} , {
's' : 'Linux' ,
'r' : /(Linux|X11)/
} , {
's' : 'iOS' ,
'r' : /(iPhone|iPad|iPod)/
} , {
's' : 'Mac OS X' ,
'r' : /Mac OS X/
} , {
's' : 'Mac OS' ,
'r' : /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/
} , {
's' : 'QNX' ,
'r' : /QNX/
} , {
's' : 'UNIX' ,
'r' : /UNIX/
} , {
's' : 'BeOS' ,
'r' : /BeOS/
} , {
's' : 'OS/2' ,
'r' : /OS\/2/
} , {
's' : 'Search Bot' ,
'r' : /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/
} ] , _0x443861 = 0x0 ; _0x1056a5 = _0x521a09 [ _0x443861 ] ; _0x443861 ++ )
if ( _0x1056a5 . r . test ( _0x2fa590 ) ) {
_0x21b268 = _0x1056a5 . s ;
break ;
}
var _0x434d96 = '-' ;
switch ( /Windows/ . test ( _0x21b268 ) && ( /Windows (.*)/ . test ( _0x21b268 ) && ( _0x434d96 = /Windows (.*)/ . exec ( _0x21b268 ) [ 0x1 ] ) , _0x21b268 = 'Windows' ) , _0x21b268 ) {
case 'Mac OS X' :
/Mac OS X (10[\.\_\d]+)/ . test ( _0x2fa590 ) && ( _0x434d96 = /Mac OS X (10[\.\_\d]+)/ . exec ( _0x2fa590 ) [ 0x1 ] ) ;
break ;
case 'Android' :
/Android ([\.\_\d]+)/ . test ( _0x2fa590 ) && ( _0x434d96 = /Android ([\.\_\d]+)/ . exec ( _0x2fa590 ) [ 0x1 ] ) ;
break ;
case 'iOS' :
/OS (\d+)_(\d+)_?(\d+)?/ . test ( _0x2fa590 ) && ( _0x434d96 = ( _0x434d96 = /OS (\d+)_(\d+)_?(\d+)?/ . exec ( _0x326931 ) ) [ 0x1 ] + '.' + _0x434d96 [ 0x2 ] + '.' + ( 0x0 | _0x434d96 [ 0x3 ] ) ) ;
}
return {
'osName' : _0x21b268 ,
'osVersion' : _0x434d96
} ;
} ( ) ;
_0x47d25f && _0x47d25f . osName && '-' != _0x47d25f . osName ? ( _0xfabbbb = _0x47d25f . osName , _0x533b2e = _0x47d25f . osVersion ) : _0x25725b . any ( ) && 'Android' == ( _0xfabbbb = _0x25725b . getOsName ( ) ) && ( _0x533b2e = ! ! ( _0x3c966e = ( _0x373254 = ( _0x373254 || _0xd38ed . userAgent ) . toLowerCase ( ) ) . match ( /android\s([0-9\.]*)/ ) ) && _0x3c966e [ 0x1 ] ) ;
var _0x3f6d71 = 'object' === ( void 0x0 === _0x521a09 ? 'undefined' : _0x4ffbab ( _0x521a09 ) ) && 'object' === _0x4ffbab ( _0x521a09 . versions ) && _0x521a09 . versions . node ;
'Unknown OS' === _0xfabbbb && _0x3f6d71 && ( _0xfabbbb = 'Nodejs' , _0x533b2e = _0x521a09 . versions . node . toString ( ) . replace ( 'v' , '' ) ) ;
var _0x233149 = ! 0x1 ,
_0x467217 = ! 0x1 ;
[ 'captureStream' , 'mozCaptureStream' , 'webkitCaptureStream' ] . forEach ( function ( _0x2dba73 ) {
'undefined' != typeof document && 'function' == typeof document . createElement && ( ! _0x233149 && _0x2dba73 in document . createElement ( 'canvas' ) && ( _0x233149 = true ) , ! _0x467217 && _0x2dba73 in document . createElement ( 'video' ) && ( _0x467217 = true ) ) ;
} ) ;
var _0x327730 = /^(192\.168\.|169\.254\.|10\.|172\.(1[6-9]|2\d|3[01]))/ ,
_0x39bfae = /([0-9]{1,3}(\.[0-9]{1,3}){3})/ ,
_0xe1f7d = /[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7}/ ;
var _0x37c2dd = [ ] ,
_0x47e1c4 = [ ] ,
_0x1e709a = [ ] ,
_0x536d10 = [ ] ;
_0xd38ed . mediaDevices && _0xd38ed . mediaDevices . enumerateDevices && ( _0xd38ed . enumerateDevices = function ( _0x101328 ) {
var _0x326931 = _0xd38ed . mediaDevices . enumerateDevices ( ) ;
_0x326931 && _0x326931 . then ? _0xd38ed . mediaDevices . enumerateDevices ( ) . then ( _0x101328 ) . catch ( function ( ) {
_0x101328 ( [ ] ) ;
} ) : _0x101328 ( [ ] ) ;
} ) ;
var _0x1ec78f = ! 0x1 ;
void 0x0 !== _0x1d01b4 && 'getSources' in _0x1d01b4 ? _0x1ec78f = true : _0xd38ed . mediaDevices && _0xd38ed . mediaDevices . enumerateDevices && ( _0x1ec78f = true ) ;
var _0x1e6405 = ! 0x1 ,
_0x20f7ce = ! 0x1 ,
_0x528a8d = ! 0x1 ,
_0x242003 = ! 0x1 ,
_0x1583d5 = ! 0x1 ;
function _0x5a290a ( _0x5b8353 ) {
if ( _0x1ec78f )
if ( ! _0xd38ed . enumerateDevices && window . MediaStreamTrack && window . MediaStreamTrack . getSources && ( _0xd38ed . enumerateDevices = window . MediaStreamTrack . getSources . bind ( window . MediaStreamTrack ) ) , ! _0xd38ed . enumerateDevices && _0xd38ed . enumerateDevices && ( _0xd38ed . enumerateDevices = _0xd38ed . enumerateDevices . bind ( _0xd38ed ) ) , _0xd38ed . enumerateDevices ) {
_0x37c2dd = [ ] , _0x47e1c4 = [ ] , _0x1e709a = [ ] , _0x536d10 = [ ] , _0x1e6405 = ! 0x1 , _0x20f7ce = ! 0x1 , _0x528a8d = ! 0x1 , _0x242003 = ! 0x1 , _0x1583d5 = ! 0x1 ;
var _0x326931 = { } ;
_0xd38ed . enumerateDevices ( function ( _0x11a0f9 ) {
_0x11a0f9 . forEach ( function ( _0x210fa4 ) {
var _0x11a0f9 = { } ;
for ( var _0x21b268 in _0x210fa4 ) try {
'function' != typeof _0x210fa4 [ _0x21b268 ] && ( _0x11a0f9 [ _0x21b268 ] = _0x210fa4 [ _0x21b268 ] ) ;
} catch ( _0x1914ff ) { }
_0x326931 [ _0x11a0f9 . deviceId + _0x11a0f9 . label + _0x11a0f9 . kind ] || ( 'audio' === _0x11a0f9 . kind && ( _0x11a0f9 . kind = 'audioinput' ) , 'video' === _0x11a0f9 . kind && ( _0x11a0f9 . kind = 'videoinput' ) , _0x11a0f9 . deviceId || ( _0x11a0f9 . deviceId = _0x11a0f9 . id ) , _0x11a0f9 . id || ( _0x11a0f9 . id = _0x11a0f9 . deviceId ) , _0x11a0f9 . label ? ( 'videoinput' !== _0x11a0f9 . kind || _0x1583d5 || ( _0x1583d5 = true ) , 'audioinput' !== _0x11a0f9 . kind || _0x242003 || ( _0x242003 = true ) ) : ( _0x11a0f9 . isCustomLabel = true , 'videoinput' === _0x11a0f9 . kind ? _0x11a0f9 . label = 'Camera ' + ( _0x536d10 . length + 0x1 ) : 'audioinput' === _0x11a0f9 . kind ? _0x11a0f9 . label = 'Microphone ' + ( _0x47e1c4 . length + 0x1 ) : 'audiooutput' === _0x11a0f9 . kind ? _0x11a0f9 . label = 'Speaker ' + ( _0x1e709a . length + 0x1 ) : _0x11a0f9 . label = 'Please invoke getUserMedia once.' , void 0x0 !== _0x444319 && _0x444319 . browser . isChrome && _0x444319 . browser . version >= 0x2e && ! /^(https:|chrome-extension:)$/g . test ( location . protocol || '' ) && 'undefined' != typeof document && 'string' == typeof document . domain && document . domain . search && - 0x1 === document . domain . search ( /localhost|127.0./g ) && ( _0x11a0f9 . label = 'HTTPs is required to get label of this ' + _0x11a0f9 . kind + ' device.' ) ) , 'audioinput' === _0x11a0f9 . kind && ( _0x1e6405 = true , - 0x1 === _0x47e1c4 . indexOf ( _0x11a0f9 ) && _0x47e1c4 . push ( _0x11a0f9 ) ) , 'audiooutput' === _0x11a0f9 . kind && ( _0x20f7ce = true , - 0x1 === _0x1e709a . indexOf ( _0x11a0f9 ) && _0x1e709a . push ( _0x11a0f9 ) ) , 'videoinput' === _0x11a0f9 . kind && ( _0x528a8d = true , - 0x1 === _0x536d10 . indexOf ( _0x11a0f9 ) && _0x536d10 . push ( _0x11a0f9 ) ) , _0x37c2dd . push ( _0x11a0f9 ) , _0x326931 [ _0x11a0f9 . deviceId + _0x11a0f9 . label + _0x11a0f9 . kind ] = _0x11a0f9 ) ;
} ) , void 0x0 !== _0x444319 && ( _0x444319 . MediaDevices = _0x37c2dd , _0x444319 . hasMicrophone = _0x1e6405 , _0x444319 . hasSpeakers = _0x20f7ce , _0x444319 . hasWebcam = _0x528a8d , _0x444319 . isWebsiteHasWebcamPermissions = _0x1583d5 , _0x444319 . isWebsiteHasMicrophonePermissions = _0x242003 , _0x444319 . audioInputDevices = _0x47e1c4 , _0x444319 . audioOutputDevices = _0x1e709a , _0x444319 . videoInputDevices = _0x536d10 ) , _0x5b8353 && _0x5b8353 ( ) ;
} ) ;
} else _0x5b8353 && _0x5b8353 ( ) ;
else _0x5b8353 && _0x5b8353 ( ) ;
}
var _0x444319 = window . DetectRTC || { } ;
_0x444319 . browser = function ( ) {
_0xd38ed . appVersion ;
var _0x1056a5 , _0x326931 , _0x2fa590 , _0x21b268 = _0xd38ed . userAgent ,
_0x521a09 = _0xd38ed . appName ,
_0x441e45 = '' + parseFloat ( _0xd38ed . appVersion ) ,
_0x174a5c = parseInt ( _0xd38ed . appVersion , 0xa ) ;
if ( _0x2920ae && ! _0x5e24f4 && - 0x1 !== _0x21b268 . indexOf ( 'CriOS' ) && ( _0x2920ae = ! 0x1 , _0x5e24f4 = true ) , _0xa57f33 ) {
_0x521a09 = 'Opera' ;
try {
_0x174a5c = ( _0x441e45 = _0xd38ed . userAgent . split ( 'OPR/' ) [ 0x1 ] . split ( ' ' ) [ 0x0 ] ) . split ( '.' ) [ 0x0 ] ;
} catch ( _0xbb1615 ) {
_0x441e45 = '0.0.0.0' , _0x174a5c = 0x0 ;
}
} else _0x566860 ? ( ( _0x326931 = _0x21b268 . indexOf ( 'rv:' ) ) > 0x0 ? _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x3 ) : ( _0x326931 = _0x21b268 . indexOf ( 'MSIE' ) , _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x5 ) ) , _0x521a09 = 'IE' ) : _0x5e24f4 ? ( _0x326931 = _0x21b268 . indexOf ( 'Chrome' ) , _0x521a09 = 'Chrome' , _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x7 ) ) : _0x2920ae ? ( _0x326931 = _0x21b268 . indexOf ( 'Safari' ) , _0x521a09 = 'Safari' , _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x7 ) , - 0x1 !== ( _0x326931 = _0x21b268 . indexOf ( 'Version' ) ) && ( _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x8 ) ) , - 0x1 !== _0xd38ed . userAgent . indexOf ( 'Version/' ) && ( _0x441e45 = _0xd38ed . userAgent . split ( 'Version/' ) [ 0x1 ] . split ( ' ' ) [ 0x0 ] ) ) : _0x111853 ? ( _0x326931 = _0x21b268 . indexOf ( 'Firefox' ) , _0x521a09 = 'Firefox' , _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x8 ) ) : ( _0x1056a5 = _0x21b268 . lastIndexOf ( ' ' ) + 0x1 ) < ( _0x326931 = _0x21b268 . lastIndexOf ( '/' ) ) && ( _0x521a09 = _0x21b268 . substring ( _0x1056a5 , _0x326931 ) , _0x441e45 = _0x21b268 . substring ( _0x326931 + 0x1 ) , _0x521a09 . toLowerCase ( ) === _0x521a09 . toUpperCase ( ) && ( _0x521a09 = _0xd38ed . appName ) ) ;
return _0x4ba312 && ( _0x521a09 = 'Edge' , _0x441e45 = _0xd38ed . userAgent . split ( 'Edge/' ) [ 0x1 ] ) , - 0x1 !== ( _0x2fa590 = _0x441e45 . search ( /[; \)]/ ) ) && ( _0x441e45 = _0x441e45 . substring ( 0x0 , _0x2fa590 ) ) , _0x174a5c = parseInt ( '' + _0x441e45 , 0xa ) , isNaN ( _0x174a5c ) && ( _0x441e45 = '' + parseFloat ( _0xd38ed . appVersion ) , _0x174a5c = parseInt ( _0xd38ed . appVersion , 0xa ) ) , {
'fullVersion' : _0x441e45 ,
'version' : _0x174a5c ,
'name' : _0x521a09 ,
'isPrivateBrowsing' : ! 0x1
} ;
} ( ) ,
function ( _0xbf5986 ) {
var _0x326931 ;
try {
if ( window . webkitRequestFileSystem ) window . webkitRequestFileSystem ( window . TEMPORARY , 0x1 , function ( ) {
_0x326931 = ! 0x1 ;
} , function ( _0x57feb9 ) {
_0x326931 = true ;
} ) ;
else if ( window . indexedDB && /Firefox/ . test ( window . navigator . userAgent ) ) {
var _0x2fa590 ;
try {
( _0x2fa590 = window . indexedDB . open ( 'test' ) ) . onerror = function ( ) {
return true ;
} ;
} catch ( _0xe0bac4 ) {
_0x326931 = true ;
}
void 0x0 === _0x326931 && _0x8a78df ( function ( ) {
return 'done' === _0x2fa590 . readyState ;
} , function ( _0x236923 ) {
_0x236923 || ( _0x326931 = ! _0x2fa590 . result ) ;
} ) ;
} else if ( function ( _0x8e13f ) {
var _0x326931 = _0x8e13f . toLowerCase ( ) ;
if ( 0x0 === _0x326931 . indexOf ( 'msie' ) && 0x0 === _0x326931 . indexOf ( 'trident' ) ) return ! 0x1 ;
var _0x2fa590 = /(?:msie|rv:)\s?([\d\.]+)/ . exec ( _0x326931 ) ;
return ! ! ( _0x2fa590 && parseInt ( _0x2fa590 [ 0x1 ] , 0xa ) >= 0xa ) ;
} ( window . navigator . userAgent ) ) {
_0x326931 = ! 0x1 ;
try {
window . indexedDB || ( _0x326931 = true ) ;
} catch ( _0x4d0f1c ) {
_0x326931 = true ;
}
} else if ( window . localStorage && /Safari/ . test ( window . navigator . userAgent ) ) {
try {
window . localStorage . setItem ( 'test' , 0x1 ) ;
} catch ( _0x217100 ) {
_0x326931 = true ;
}
void 0x0 === _0x326931 && ( _0x326931 = ! 0x1 , window . localStorage . removeItem ( 'test' ) ) ;
}
} catch ( _0x54458d ) {
_0x326931 = ! 0x1 ;
}
_0x8a78df ( function ( ) {
return void 0x0 !== _0x326931 ;
} , function ( _0x139aa5 ) {
_0xbf5986 ( _0x326931 ) ;
} ) ;
} ( function ( _0x82ccf2 ) {
_0x444319 . browser . isPrivateBrowsing = ! ! _0x82ccf2 ;
} ) , _0x444319 . browser [ 'is' + _0x444319 . browser . name ] = true , _0x444319 . osName = _0xfabbbb , _0x444319 . osVersion = _0x533b2e ;
'object' === ( void 0x0 === _0x521a09 ? 'undefined' : _0x4ffbab ( _0x521a09 ) ) && 'object' === _0x4ffbab ( _0x521a09 . versions ) && _0x521a09 . versions [ 'node-webkit' ] ;
var _0xb774b1 = ! 0x1 ;
[ 'RTCPeerConnection' , 'webkitRTCPeerConnection' , 'mozRTCPeerConnection' , 'RTCIceGatherer' ] . forEach ( function ( _0x1a220e ) {
_0xb774b1 || _0x1a220e in window && ( _0xb774b1 = true ) ;
} ) , _0x444319 . isWebRTCSupported = _0xb774b1 , _0x444319 . isORTCSupported = 'undefined' != typeof RTCIceGatherer ;
var _0x20eef3 = ! 0x1 ;
( _0x444319 . browser . isChrome && _0x444319 . browser . version >= 0x23 ? _0x20eef3 = true : _0x444319 . browser . isFirefox && _0x444319 . browser . version >= 0x22 ? _0x20eef3 = true : _0x444319 . browser . isEdge && _0x444319 . browser . version >= 0x11 ? _0x20eef3 = true : 'Android' === _0x444319 . osName && _0x444319 . browser . isChrome && ( _0x20eef3 = true ) , /^(https:|chrome-extension:)$/g . test ( location . protocol || '' ) ) || ( 'undefined' != typeof document && 'string' == typeof document . domain && document . domain . search && - 0x1 === document . domain . search ( /localhost|127.0./g ) && ( _0x444319 . browser . isChrome || _0x444319 . browser . isEdge || _0x444319 . browser . isOpera ) ? _0x20eef3 = ! 0x1 : _0x444319 . browser . isFirefox && ( _0x20eef3 = ! 0x1 ) ) ;
_0x444319 . isScreenCapturingSupported = _0x20eef3 ;
var _0x41f5bd = {
'isSupported' : ! 0x1 ,
'isCreateMediaStreamSourceSupported' : ! 0x1
} ;
[ 'AudioContext' , 'webkitAudioContext' , 'mozAudioContext' , 'msAudioContext' ] . forEach ( function ( _0x6f8ee8 ) {
_0x41f5bd . isSupported || _0x6f8ee8 in window && ( _0x41f5bd . isSupported = true , window [ _0x6f8ee8 ] && 'createMediaStreamSource' in window [ _0x6f8ee8 ] . prototype && ( _0x41f5bd . isCreateMediaStreamSourceSupported = true ) ) ;
} ) , _0x444319 . isAudioContextSupported = _0x41f5bd . isSupported , _0x444319 . isCreateMediaStreamSourceSupported = _0x41f5bd . isCreateMediaStreamSourceSupported ;
var _0x3c8f54 = ! 0x1 ;
_0x444319 . browser . isChrome && _0x444319 . browser . version > 0x1f && ( _0x3c8f54 = true ) , _0x444319 . isRtpDataChannelsSupported = _0x3c8f54 ;
var _0x4e0543 = ! 0x1 ;
_0x444319 . browser . isFirefox && _0x444319 . browser . version > 0x1c ? _0x4e0543 = true : _0x444319 . browser . isChrome && _0x444319 . browser . version > 0x19 ? _0x4e0543 = true : _0x444319 . browser . isOpera && _0x444319 . browser . version >= 0xb && ( _0x4e0543 = true ) , _0x444319 . isSctpDataChannelsSupported = _0x4e0543 , _0x444319 . isMobileDevice = _0x4aed46 ;
var _0x27c37d = ! 0x1 ;
_0xd38ed . getUserMedia ? _0x27c37d = true : _0xd38ed . mediaDevices && _0xd38ed . mediaDevices . getUserMedia && ( _0x27c37d = true ) , _0x444319 . browser . isChrome && _0x444319 . browser . version >= 0x2e && ! /^(https:|chrome-extension:)$/g . test ( location . protocol || '' ) && 'undefined' != typeof document && 'string' == typeof document . domain && document . domain . search && - 0x1 === document . domain . search ( /localhost|127.0./g ) && ( _0x27c37d = 'Requires HTTPs' ) , 'Nodejs' === _0x444319 . osName && ( _0x27c37d = ! 0x1 ) , _0x444319 . isGetUserMediaSupported = _0x27c37d ;
var _0x5d3017 , _0x4c1193 , _0x5997d1 , _0x4bd937 = '' ;
screen . width && ( _0x4bd937 += ( screen . width ? screen . width : '' ) + ' x ' + ( screen . height ? screen . height : '' ) ) ;
_0x444319 . displayResolution = _0x4bd937 , _0x444319 . displayAspectRatio = ( _0x5d3017 = screen . width , _0x4c1193 = screen . height , _0x5997d1 = function _0x1056a5 ( _0x9f77a2 , _0x157ff4 ) {
return 0x0 == _0x157ff4 ? _0x9f77a2 : _0x1056a5 ( _0x157ff4 , _0x9f77a2 % _0x157ff4 ) ;
} ( _0x5d3017 , _0x4c1193 ) , _0x5d3017 / _0x5997d1 / ( _0x4c1193 / _0x5997d1 ) ) . toFixed ( 0x2 ) , _0x444319 . isCanvasSupportsStreamCapturing = _0x233149 , _0x444319 . isVideoSupportsStreamCapturing = _0x467217 , 'Chrome' == _0x444319 . browser . name && _0x444319 . browser . version >= 0x35 && ( _0x444319 . isCanvasSupportsStreamCapturing || ( _0x444319 . isCanvasSupportsStreamCapturing = 'Requires chrome flag: enable-experimental-web-platform-features' ) , _0x444319 . isVideoSupportsStreamCapturing || ( _0x444319 . isVideoSupportsStreamCapturing = 'Requires chrome flag: enable-experimental-web-platform-features' ) ) , _0x444319 . DetectLocalIPAddress = function ( _0x527d6a , _0x3e6338 ) {
if ( _0x444319 . isWebRTCSupported ) {
var _0x2fa590 = true ,
_0x21b268 = true ;
! function ( _0x169ed4 , _0x457465 ) {
if ( 'undefined' == typeof document || 'function' != typeof document . getElementById ) return ;
var _0x2fa590 = { } ,
_0x21b268 = window . RTCPeerConnection || window . mozRTCPeerConnection || window . webkitRTCPeerConnection ;
if ( ! _0x21b268 ) {
var _0x521a09 = document . getElementById ( 'iframe' ) ;
if ( ! _0x521a09 ) return ;
var _0x57dce2 = _0x521a09 . contentWindow ;
_0x21b268 = _0x57dce2 . RTCPeerConnection || _0x57dce2 . mozRTCPeerConnection || _0x57dce2 . webkitRTCPeerConnection ;
}
if ( ! _0x21b268 ) return ;
var _0x1ebe24 = null ;
'Chrome' === _0x444319 . browser && _0x444319 . browser . version < 0x3a && ( _0x1ebe24 = {
'optional' : [ {
'RtpDataChannels' : true
} ]
} ) ;
var _0x355289 = new _0x21b268 ( {
'iceServers' : [ {
'urls' : 'stun:stun.l.google.com:19302'
} ]
} , _0x1ebe24 ) ;
_0x457465 && ( _0x355289 . addStream ? _0x355289 . addStream ( _0x457465 ) : _0x355289 . addTrack && _0x457465 . getTracks ( ) [ 0x0 ] && _0x355289 . addTrack ( _0x457465 . getTracks ( ) [ 0x0 ] , _0x457465 ) ) ;
function _0x367cf9 ( _0x23abd1 ) {
var _0x21b268 = _0x39bfae . exec ( _0x23abd1 ) ;
if ( _0x21b268 ) {
var _0x521a09 = _0x21b268 [ 0x1 ] ,
_0x2faf0b = _0x23abd1 . match ( _0x327730 ) ;
void 0x0 === _0x2fa590 [ _0x521a09 ] && _0x169ed4 ( _0x521a09 , _0x2faf0b , true ) , _0x2fa590 [ _0x521a09 ] = true ;
}
}
if ( _0x355289 . onicecandidate = function ( _0xd7031e ) {
_0xd7031e . candidate && _0x367cf9 ( _0xd7031e . candidate . candidate ) ;
} , ! _0x457465 ) try {
_0x355289 . createDataChannel ( 'sctp' , { } ) ;
} catch ( _0x1edf47 ) { }
_0x444319 . isPromisesSupported ? _0x355289 . createOffer ( ) . then ( function ( _0xedec09 ) {
_0x355289 . setLocalDescription ( _0xedec09 ) . then ( _0x45699b ) ;
} ) : _0x355289 . createOffer ( function ( _0xf8592b ) {
_0x355289 . setLocalDescription ( _0xf8592b , _0x45699b , function ( ) { } ) ;
} , function ( ) { } ) ;
function _0x45699b ( ) {
_0x355289 . localDescription . sdp . split ( '\n' ) . forEach ( function ( _0x4e78ca ) {
0x0 === _0x4e78ca . indexOf ( 'a=candidate:' ) && _0x367cf9 ( _0x4e78ca ) ;
} ) ;
}
} ( function ( _0x2a2630 ) {
_0x2a2630 . match ( _0x327730 ) ? _0x527d6a ( 'Local: ' + _0x2a2630 , _0x2fa590 = ! 0x1 , _0x21b268 ) : _0x2a2630 . match ( _0xe1f7d ) ? _0x527d6a ( 'Public: ' + _0x2a2630 , _0x2fa590 , _0x21b268 = ! 0x1 ) : _0x527d6a ( 'Public: ' + _0x2a2630 , _0x2fa590 , _0x21b268 ) ;
} , _0x3e6338 ) ;
}
} , _0x444319 . isWebSocketsSupported = 'WebSocket' in window && 0x2 === window . WebSocket . CLOSING , _0x444319 . isWebSocketsBlocked = ! _0x444319 . isWebSocketsSupported , 'Nodejs' === _0x444319 . osName && ( _0x444319 . isWebSocketsSupported = true , _0x444319 . isWebSocketsBlocked = ! 0x1 ) , _0x444319 . checkWebSocketsSupport = function ( _0x1102a1 ) {
_0x1102a1 = _0x1102a1 || function ( ) { } ;
try {
var _0x326931 , _0x2fa590 = new WebSocket ( 'wss://echo.websocket.org:443/' ) ;
_0x2fa590 . onopen = function ( ) {
_0x444319 . isWebSocketsBlocked = ! 0x1 , _0x326931 = new Date ( ) . getTime ( ) , _0x2fa590 . send ( 'ping' ) ;
} , _0x2fa590 . onmessage = function ( ) {
_0x444319 . WebsocketLatency = new Date ( ) . getTime ( ) - _0x326931 + 'ms' , _0x1102a1 ( ) , _0x2fa590 . close ( ) , _0x2fa590 = null ;
} , _0x2fa590 . onerror = function ( ) {
_0x444319 . isWebSocketsBlocked = true , _0x1102a1 ( ) ;
} ;
} catch ( _0x11ac18 ) {
_0x444319 . isWebSocketsBlocked = true , _0x1102a1 ( ) ;
}
} , _0x444319 . load = function ( _0x83e5e9 ) {
_0x5a290a ( _0x83e5e9 = _0x83e5e9 || function ( ) { } ) ;
} , _0x444319 . MediaDevices = void 0x0 !== _0x37c2dd ? _0x37c2dd : [ ] , _0x444319 . hasMicrophone = _0x1e6405 , _0x444319 . hasSpeakers = _0x20f7ce , _0x444319 . hasWebcam = _0x528a8d , _0x444319 . isWebsiteHasWebcamPermissions = _0x1583d5 , _0x444319 . isWebsiteHasMicrophonePermissions = _0x242003 , _0x444319 . audioInputDevices = _0x47e1c4 , _0x444319 . audioOutputDevices = _0x1e709a , _0x444319 . videoInputDevices = _0x536d10 ;
var _0x5da020 = ! 0x1 ;
'undefined' != typeof document && 'function' == typeof document . createElement && 'setSinkId' in document . createElement ( 'video' ) && ( _0x5da020 = true ) , _0x444319 . isSetSinkIdSupported = _0x5da020 ;
var _0x1b0b81 = ! 0x1 ;
_0x444319 . browser . isFirefox && 'undefined' != typeof mozRTCPeerConnection ? 'getSenders' in mozRTCPeerConnection . prototype && ( _0x1b0b81 = true ) : _0x444319 . browser . isChrome && 'undefined' != typeof webkitRTCPeerConnection && 'getSenders' in webkitRTCPeerConnection . prototype && ( _0x1b0b81 = true ) , _0x444319 . isRTPSenderReplaceTracksSupported = _0x1b0b81 ;
var _0x83ded = ! 0x1 ;
_0x444319 . browser . isFirefox && _0x444319 . browser . version > 0x26 && ( _0x83ded = true ) , _0x444319 . isRemoteStreamProcessingSupported = _0x83ded ;
var _0x51520c = ! 0x1 ;
void 0x0 !== _0x1d01b4 && 'applyConstraints' in _0x1d01b4 . prototype && ( _0x51520c = true ) , _0x444319 . isApplyConstraintsSupported = _0x51520c ;
var _0x298a09 = ! 0x1 ;
_0x444319 . browser . isFirefox && _0x444319 . browser . version >= 0x2b && ( _0x298a09 = true ) , _0x444319 . isMultiMonitorScreenCapturingSupported = _0x298a09 , _0x444319 . isPromisesSupported = ! ! ( 'Promise' in window ) , _0x444319 . version = '1.3.7' , void 0x0 === _0x444319 && ( window . DetectRTC = { } ) ;
var _0x187d8a = window . MediaStream ;
void 0x0 === _0x187d8a && 'undefined' != typeof webkitMediaStream && ( _0x187d8a = webkitMediaStream ) , _0x444319 . MediaStream = void 0x0 !== _0x187d8a && 'function' == typeof _0x187d8a && Object . keys ( _0x187d8a . prototype ) , _0x444319 . MediaStreamTrack = void 0x0 !== _0x1d01b4 && Object . keys ( _0x1d01b4 . prototype ) ;
var _0x5898a3 = window . RTCPeerConnection || window . mozRTCPeerConnection || window . webkitRTCPeerConnection ;
_0x444319 . RTCPeerConnection = void 0x0 !== _0x5898a3 && Object . keys ( _0x5898a3 . prototype ) , window . DetectRTC = _0x444319 , 'function' == typeof define && _0x2fa590 ( 0x90 ) && define ( 'DetectRTC' , [ ] , function ( ) {
return _0x444319 ;
} ) ;
} ( ) , 'undefined' != typeof cordova && ( DetectRTC . isMobileDevice = true , DetectRTC . browser . name = 'Chrome' ) , navigator && navigator . userAgent && - 0x1 !== navigator . userAgent . indexOf ( 'Crosswalk' ) && ( DetectRTC . isMobileDevice = true , DetectRTC . browser . name = 'Chrome' ) , window . addEventListener || ( window . addEventListener = function ( _0x1e341e , _0x410d8a , _0x164ba3 ) {
_0x1e341e . attachEvent && _0x1e341e . attachEvent ( 'on' + _0x410d8a , _0x164ba3 ) ;
} ) , window . attachEventListener = function ( _0x28f783 , _0xf32336 , _0x5ddd69 , _0x1e62b3 ) {
_0x28f783 . addEventListener ( _0xf32336 , _0x5ddd69 , _0x1e62b3 ) ;
} ;
var _0x1d809b = window . MediaStream ;
function _0x93df62 ( _0x128905 , _0x2d6fa0 ) {
return ( ! _0x128905 . session . audio || 'two-way' !== _0x128905 . session . audio ) && ( 'Firefox' === DetectRTC . browser . name && ! 0x1 !== _0x2d6fa0 || ! ( 'Chrome' !== DetectRTC . browser . name || DetectRTC . browser . version < 0x32 ) && ( true === typeof _0x2d6fa0 || ! ( void 0x0 !== _0x2d6fa0 || ! _0x128905 . session . audio || ! _0x128905 . session . screen || _0x128905 . session . video ) && ( _0x2d6fa0 = true , true ) ) ) ;
}
function _0x405170 ( _0x53fd0a ) {
return 'Firefox' === DetectRTC . browser . name || 'Chrome' === DetectRTC . browser . name && {
'mandatory' : {
'chromeMediaSource' : _0x53fd0a . mandatory . chromeMediaSource ,
'chromeMediaSourceId' : _0x53fd0a . mandatory . chromeMediaSourceId
}
} ;
}
function _0x2cbba5 ( _0x5f06c5 , _0x3f8518 ) {
return _0x5f06c5 && _0x5f06c5 . getTracks ? _0x5f06c5 . getTracks ( ) . filter ( function ( _0x12aae8 ) {
return _0x12aae8 . kind === ( _0x3f8518 || 'audio' ) ;
} ) : [ ] ;
}
function _0x5407aa ( ) {
var _0x1056a5 = ! 0x1 ;
try {
if ( 'undefined' == typeof RTCRtpTransceiver ) return ! 0x1 ;
if ( ! ( 'currentDirection' in RTCRtpTransceiver . prototype ) ) return ! 0x1 ;
var _0x326931 = new _0x2a4be1 ( ) ;
try {
_0x326931 . addTransceiver ( 'audio' ) , _0x1056a5 = true ;
} catch ( _0x365290 ) { }
_0x326931 . close ( ) ;
} catch ( _0x4e12a1 ) {
_0x1056a5 = ! 0x1 ;
}
return _0x1056a5 && function ( ) {
var _0x1056a5 = ! 0x1 ;
try {
var _0x326931 = new _0x2a4be1 ( {
'sdpSemantics' : 'unified-plan'
} ) ;
try {
var _0x2fa590 = _0x326931 . getConfiguration ( ) ;
_0x1056a5 = 'unified-plan' == _0x2fa590 . sdpSemantics || ( _0x2fa590 . sdpSemantics , ! 0x1 ) ;
} catch ( _0x1ddaa9 ) {
_0x1056a5 = ! 0x1 ;
}
} catch ( _0x30213a ) {
_0x1056a5 = ! 0x1 ;
}
return _0x1056a5 ;
} ( ) ;
}
function _0x2eda5b ( ) {
if ( 'undefined' != typeof cordova && void 0x0 !== cordova . plugins && void 0x0 !== cordova . plugins . iosrtc ) {
var _0x1056a5 = cordova . plugins . iosrtc ;
window . webkitRTCPeerConnection = _0x1056a5 . RTCPeerConnection , window . RTCSessionDescription = _0x1056a5 . RTCSessionDescription , window . RTCIceCandidate = _0x1056a5 . RTCIceCandidate , window . MediaStream = _0x1056a5 . MediaStream , window . MediaStreamTrack = _0x1056a5 . MediaStreamTrack , navigator . getUserMedia = navigator . webkitGetUserMedia = _0x1056a5 . getUserMedia , _0x1056a5 . debug . enable ( 'iosrtc*' ) , 'function' == typeof _0x1056a5 . selectAudioOutput && _0x1056a5 . selectAudioOutput ( window . iOSDefaultAudioOutputDevice || 'speaker' ) , _0x1056a5 . registerGlobals ( ) ;
}
}
void 0x0 === _0x1d809b && 'undefined' != typeof webkitMediaStream && ( _0x1d809b = webkitMediaStream ) , void 0x0 !== _0x1d809b && ( 'stop' in _0x1d809b . prototype || ( _0x1d809b . prototype . stop = function ( ) {
this . getTracks ( ) . forEach ( function ( _0x484c2d ) {
_0x484c2d . stop ( ) ;
} ) ;
} ) ) , window . iOSDefaultAudioOutputDevice = window . iOSDefaultAudioOutputDevice || 'speaker' , document . addEventListener ( 'deviceready' , _0x2eda5b , ! 0x1 ) , _0x2eda5b ( ) ;
var _0x2a4be1 , _0x394dad = { } ;
function _0xe7bfb2 ( _0x5b2014 ) {
return {
'OfferToReceiveAudio' : ! ! _0x5b2014 . OfferToReceiveAudio ,
'OfferToReceiveVideo' : ! ! _0x5b2014 . OfferToReceiveVideo
} ;
}
void 0x0 !== window . RTCPeerConnection ? _0x2a4be1 = window . RTCPeerConnection : 'undefined' != typeof mozRTCPeerConnection ? _0x2a4be1 = mozRTCPeerConnection : 'undefined' != typeof webkitRTCPeerConnection && ( _0x2a4be1 = webkitRTCPeerConnection ) ;
var _0x28d3c1 = window . RTCSessionDescription || window . mozRTCSessionDescription ,
_0x437c06 = window . RTCIceCandidate || window . mozRTCIceCandidate ,
_0x1d01b4 = window . MediaStreamTrack ;
function _0x4c6fdb ( _0xeb3993 ) {
if ( void 0x0 !== window . RTCPeerConnection ? _0x2a4be1 = window . RTCPeerConnection : 'undefined' != typeof mozRTCPeerConnection ? _0x2a4be1 = mozRTCPeerConnection : 'undefined' != typeof webkitRTCPeerConnection && ( _0x2a4be1 = webkitRTCPeerConnection ) , _0x28d3c1 = window . RTCSessionDescription || window . mozRTCSessionDescription , _0x437c06 = window . RTCIceCandidate || window . mozRTCIceCandidate , _0x1d01b4 = window . MediaStreamTrack , ! _0x2a4be1 ) throw 'WebRTC 1.0 (RTCPeerConnection) API are NOT available in this browser.' ;
var _0x326931 = _0xeb3993 . rtcMultiConnection ;
this . extra = _0xeb3993 . remoteSdp ? _0xeb3993 . remoteSdp . extra : _0x326931 . extra , this . userid = _0xeb3993 . userid , this . streams = [ ] , this . channels = _0xeb3993 . channels || [ ] , this . connectionDescription = _0xeb3993 . connectionDescription , this . addStream = function ( _0x500ec1 ) {
_0x326931 . addStream ( _0x500ec1 , _0x2fa590 . userid ) ;
} , this . removeStream = function ( _0x1bebfb ) {
_0x326931 . removeStream ( _0x1bebfb , _0x2fa590 . userid ) ;
} ;
var _0x2fa590 = this ;
_0xeb3993 . remoteSdp && ( this . connectionDescription = _0xeb3993 . remoteSdp . connectionDescription ) ;
var _0x21b268 , _0x521a09 = { } ;
_0x394dad . sdpConstraints = _0xe7bfb2 ( {
'OfferToReceiveAudio' : true ,
'OfferToReceiveVideo' : true
} ) ;
var _0x53652f = ! ! _0xeb3993 . renegotiatingPeer ;
_0xeb3993 . remoteSdp && ( _0x53652f = ! ! _0xeb3993 . remoteSdp . renegotiatingPeer ) ;
var _0x5aa3f5 = [ ] ;
if ( _0x326931 . attachStreams . forEach ( function ( _0x37ab43 ) {
_0x37ab43 && _0x5aa3f5 . push ( _0x37ab43 ) ;
} ) , _0x53652f ) _0x21b268 = _0xeb3993 . peerRef ;
else {
var _0x3802e4 = 'all' ;
( _0x326931 . candidates . turn || _0x326931 . candidates . relay ) && ( _0x326931 . candidates . stun || _0x326931 . candidates . reflexive || _0x326931 . candidates . host || ( _0x3802e4 = 'relay' ) ) ;
try {
var _0xa206a4 = {
'iceServers' : _0x326931 . iceServers ,
'iceTransportPolicy' : _0x326931 . iceTransportPolicy || _0x3802e4
} ;
void 0x0 !== _0x326931 . iceCandidatePoolSize && ( _0xa206a4 . iceCandidatePoolSize = _0x326931 . iceCandidatePoolSize ) , void 0x0 !== _0x326931 . bundlePolicy && ( _0xa206a4 . bundlePolicy = _0x326931 . bundlePolicy ) , void 0x0 !== _0x326931 . rtcpMuxPolicy && ( _0xa206a4 . rtcpMuxPolicy = _0x326931 . rtcpMuxPolicy ) , 'Chrome' === DetectRTC . browser . name && ( _0xa206a4 . sdpSemantics = _0x326931 . sdpSemantics || 'unified-plan' ) , _0x326931 . iceServers && _0x326931 . iceServers . length || ( _0xa206a4 = null , _0x326931 . optionalArgument = null ) , _0x21b268 = new _0x2a4be1 ( _0xa206a4 , _0x326931 . optionalArgument ) ;
} catch ( _0x2cdc2c ) {
try {
_0xa206a4 = {
'iceServers' : _0x326931 . iceServers
} ;
_0x21b268 = new _0x2a4be1 ( _0xa206a4 ) ;
} catch ( _0x1cd6f4 ) {
_0x21b268 = new _0x2a4be1 ( ) ;
}
}
} ! _0x21b268 . getRemoteStreams && _0x21b268 . getReceivers && ( _0x21b268 . getRemoteStreams = function ( ) {
var _0xeb3993 = new _0x1d809b ( ) ;
return _0x21b268 . getReceivers ( ) . forEach ( function ( _0x210865 ) {
_0xeb3993 . addTrack ( _0x210865 . track ) ;
} ) , [ _0xeb3993 ] ;
} ) , ! _0x21b268 . getLocalStreams && _0x21b268 . getSenders && ( _0x21b268 . getLocalStreams = function ( ) {
var _0xeb3993 = new _0x1d809b ( ) ;
return _0x21b268 . getSenders ( ) . forEach ( function ( _0x4bc1bd ) {
_0xeb3993 . addTrack ( _0x4bc1bd . track ) ;
} ) , [ _0xeb3993 ] ;
} ) , _0x21b268 . onicecandidate = function ( _0x345d0e ) {
if ( _0x345d0e . candidate ) _0x326931 . trickleIce && _0xeb3993 . onLocalCandidate ( {
'candidate' : _0x345d0e . candidate . candidate ,
'sdpMid' : _0x345d0e . candidate . sdpMid ,
'sdpMLineIndex' : _0x345d0e . candidate . sdpMLineIndex
} ) ;
else if ( ! _0x326931 . trickleIce ) {
var _0x5cad6b = _0x21b268 . localDescription ;
_0xeb3993 . onLocalSdp ( {
'type' : _0x5cad6b . type ,
'sdp' : _0x5cad6b . sdp ,
'remotePeerSdpConstraints' : _0xeb3993 . remotePeerSdpConstraints || ! 0x1 ,
'renegotiatingPeer' : ! ! _0xeb3993 . renegotiatingPeer || ! 0x1 ,
'connectionDescription' : _0x2fa590 . connectionDescription ,
'dontGetRemoteStream' : ! ! _0xeb3993 . dontGetRemoteStream ,
'extra' : _0x326931 ? _0x326931 . extra : { } ,
'streamsToShare' : _0x5ed0e1
} ) ;
}
} , _0x5aa3f5 . forEach ( function ( _0x20e839 ) {
_0xeb3993 . remoteSdp && _0xeb3993 . remoteSdp . remotePeerSdpConstraints && _0xeb3993 . remoteSdp . remotePeerSdpConstraints . dontGetRemoteStream || _0xeb3993 . dontAttachLocalStream || ( _0x20e839 = _0x326931 . beforeAddingStream ( _0x20e839 , _0x2fa590 ) ) && ( _0x21b268 . getLocalStreams ( ) . forEach ( function ( _0x37c67d ) {
_0x20e839 && _0x37c67d . id == _0x20e839 . id && ( _0x20e839 = null ) ;
} ) , _0x20e839 && _0x20e839 . getTracks && _0x20e839 . getTracks ( ) . forEach ( function ( _0x891f5b ) {
try {
_0x21b268 . addTrack ( _0x891f5b , _0x20e839 ) ;
} catch ( _0x13e107 ) { }
} ) ) ;
} ) , _0x21b268 . oniceconnectionstatechange = _0x21b268 . onsignalingstatechange = function ( ) {
var _0x521a09 = _0x2fa590 . extra ;
_0x326931 . peers [ _0x2fa590 . userid ] && ( _0x521a09 = _0x326931 . peers [ _0x2fa590 . userid ] . extra || _0x521a09 ) , _0x21b268 && ( _0xeb3993 . onPeerStateChanged ( {
'iceConnectionState' : _0x21b268 . iceConnectionState ,
'iceGatheringState' : _0x21b268 . iceGatheringState ,
'signalingState' : _0x21b268 . signalingState ,
'extra' : _0x521a09 ,
'userid' : _0x2fa590 . userid
} ) , _0x21b268 && _0x21b268 . iceConnectionState && - 0x1 !== _0x21b268 . iceConnectionState . search ( /closed|failed/gi ) && _0x2fa590 . streams instanceof Array && _0x2fa590 . streams . forEach ( function ( _0x5d55e7 ) {
var _0x2fa590 = _0x326931 . streamEvents [ _0x5d55e7 . id ] || {
'streamid' : _0x5d55e7 . id ,
'stream' : _0x5d55e7 ,
'type' : 'remote'
} ;
_0x326931 . onstreamended ( _0x2fa590 ) ;
} ) ) ;
} ;
var _0x57365f = {
'OfferToReceiveAudio' : ! ! _0x5aa3f5 . length ,
'OfferToReceiveVideo' : ! ! _0x5aa3f5 . length
} ;
_0xeb3993 . localPeerSdpConstraints && ( _0x57365f = _0xeb3993 . localPeerSdpConstraints ) , _0x394dad . sdpConstraints = _0xe7bfb2 ( _0x57365f ) ;
var _0x7e19c5 = { } ;
_0x21b268 . ontrack = function ( _0x5f3745 ) {
if ( _0x5f3745 && 'track' === _0x5f3745 . type )
if ( _0x5f3745 . stream = _0x5f3745 . streams [ _0x5f3745 . streams . length - 0x1 ] , _0x5f3745 . stream . id || ( _0x5f3745 . stream . id = _0x5f3745 . track . id ) , _0x7e19c5 [ _0x5f3745 . stream . id ] && 'Safari' !== DetectRTC . browser . name ) _0x5f3745 . track && ( _0x5f3745 . track . onended = function ( ) {
_0x21b268 . onremovestream ( _0x5f3745 ) ;
} ) ;
else {
_0x7e19c5 [ _0x5f3745 . stream . id ] = _0x5f3745 . stream . id ;
var _0x2fa590 = { } ;
_0xeb3993 . remoteSdp && _0xeb3993 . remoteSdp . streamsToShare ? _0x2fa590 = _0xeb3993 . remoteSdp . streamsToShare : _0xeb3993 . streamsToShare && ( _0x2fa590 = _0xeb3993 . streamsToShare ) ;
var _0x3dbe04 = _0x2fa590 [ _0x5f3745 . stream . id ] ;
_0x3dbe04 ? ( _0x5f3745 . stream . isAudio = _0x3dbe04 . isAudio , _0x5f3745 . stream . isVideo = _0x3dbe04 . isVideo , _0x5f3745 . stream . isScreen = _0x3dbe04 . isScreen ) : ( _0x5f3745 . stream . isVideo = ! ! _0x2cbba5 ( _0x5f3745 . stream , 'video' ) . length , _0x5f3745 . stream . isAudio = ! _0x5f3745 . stream . isVideo , _0x5f3745 . stream . isScreen = ! 0x1 ) , _0x5f3745 . stream . streamid = _0x5f3745 . stream . id , _0x521a09 [ _0x5f3745 . stream . id ] = _0x5f3745 . stream , _0xeb3993 . onRemoteStream ( _0x5f3745 . stream ) , _0x5f3745 . stream . getTracks ( ) . forEach ( function ( _0x4eaf37 ) {
_0x4eaf37 . onended = function ( ) {
_0x21b268 . onremovestream ( _0x5f3745 ) ;
} ;
} ) , _0x5f3745 . stream . onremovetrack = function ( ) {
_0x21b268 . onremovestream ( _0x5f3745 ) ;
} ;
}
} , _0x21b268 . onremovestream = function ( _0x5131d7 ) {
_0x5131d7 . stream . streamid = _0x5131d7 . stream . id , _0x521a09 [ _0x5131d7 . stream . id ] && delete _0x521a09 [ _0x5131d7 . stream . id ] , _0xeb3993 . onRemoteStreamRemoved ( _0x5131d7 . stream ) ;
} , 'function' != typeof _0x21b268 . removeStream && ( _0x21b268 . removeStream = function ( _0x659c28 ) {
_0x659c28 . getTracks ( ) . forEach ( function ( _0x592b51 ) {
_0x21b268 . removeTrack ( _0x592b51 , _0x659c28 ) ;
} ) ;
} ) , this . addRemoteCandidate = function ( _0x3baf5e ) {
_0x21b268 . addIceCandidate ( new _0x437c06 ( _0x3baf5e ) ) ;
} , this . addRemoteSdp = function ( _0x5132c2 , _0x2483a6 ) {
_0x2483a6 = _0x2483a6 || function ( ) { } , 'Safari' !== DetectRTC . browser . name && ( _0x5132c2 . sdp = _0x326931 . processSdp ( _0x5132c2 . sdp ) ) , _0x21b268 . setRemoteDescription ( new _0x28d3c1 ( _0x5132c2 ) ) . then ( _0x2483a6 , function ( _0xe5feda ) {
_0x326931 . enableLogs && console . error ( 'setRemoteDescription failed' , '\n' , _0xe5feda , '\n' , _0x5132c2 . sdp ) , _0x2483a6 ( ) ;
} ) . catch ( function ( _0x3f508b ) {
_0x326931 . enableLogs && console . error ( 'setRemoteDescription failed' , '\n' , _0x3f508b , '\n' , _0x5132c2 . sdp ) , _0x2483a6 ( ) ;
} ) ;
} ;
var _0x2c7e5e = true ;
function _0x2e887d ( _0xfe9b95 ) {
_0xfe9b95 . binaryType = 'arraybuffer' , _0xfe9b95 . onmessage = function ( _0x4397bd ) {
_0xeb3993 . onDataChannelMessage ( _0x4397bd . data ) ;
} , _0xfe9b95 . onopen = function ( ) {
_0xeb3993 . onDataChannelOpened ( _0xfe9b95 ) ;
} , _0xfe9b95 . onerror = function ( _0xa12ba0 ) {
_0xeb3993 . onDataChannelError ( _0xa12ba0 ) ;
} , _0xfe9b95 . onclose = function ( _0x30e29d ) {
_0xeb3993 . onDataChannelClosed ( _0x30e29d ) ;
} , _0xfe9b95 . internalSend = _0xfe9b95 . send , _0xfe9b95 . send = function ( _0x2c62da ) {
'open' === _0xfe9b95 . readyState && _0xfe9b95 . internalSend ( _0x2c62da ) ;
} , _0x21b268 . channel = _0xfe9b95 ;
}
_0xeb3993 . remoteSdp && ( _0x2c7e5e = ! 0x1 ) , this . createDataChannel = function ( ) {
_0x2e887d ( _0x21b268 . createDataChannel ( 'sctp' , { } ) ) ;
} , true !== _0x326931 . session . data || _0x53652f || ( _0x2c7e5e ? this . createDataChannel ( ) : _0x21b268 . ondatachannel = function ( _0x4c5e51 ) {
_0x2e887d ( _0x4c5e51 . channel ) ;
} ) , this . enableDisableVideoEncoding = function ( _0x3d2379 ) {
var _0x326931 ;
if ( _0x21b268 . getSenders ( ) . forEach ( function ( _0x4212ea ) {
_0x326931 || 'video' !== _0x4212ea . track . kind || ( _0x326931 = _0x4212ea ) ;
} ) , _0x326931 && _0x326931 . getParameters ) {
var _0x2fa590 = _0x326931 . getParameters ( ) ;
_0x2fa590 . encodings [ 0x1 ] && ( _0x2fa590 . encodings [ 0x1 ] . active = ! ! _0x3d2379 ) , _0x2fa590 . encodings [ 0x2 ] && ( _0x2fa590 . encodings [ 0x2 ] . active = ! ! _0x3d2379 ) , _0x326931 . setParameters ( _0x2fa590 ) ;
}
} , _0xeb3993 . remoteSdp && ( _0xeb3993 . remoteSdp . remotePeerSdpConstraints && ( _0x57365f = _0xeb3993 . remoteSdp . remotePeerSdpConstraints ) , _0x394dad . sdpConstraints = _0xe7bfb2 ( _0x57365f ) , this . addRemoteSdp ( _0xeb3993 . remoteSdp , function ( ) {
_0x308f2d ( 'createAnswer' ) ;
} ) ) , 'two-way' != _0x326931 . session . audio && 'two-way' != _0x326931 . session . video && 'two-way' != _0x326931 . session . screen || ( _0x394dad . sdpConstraints = _0xe7bfb2 ( {
'OfferToReceiveAudio' : 'two-way' == _0x326931 . session . audio || _0xeb3993 . remoteSdp && _0xeb3993 . remoteSdp . remotePeerSdpConstraints && _0xeb3993 . remoteSdp . remotePeerSdpConstraints . OfferToReceiveAudio ,
'OfferToReceiveVideo' : 'two-way' == _0x326931 . session . video || 'two-way' == _0x326931 . session . screen || _0xeb3993 . remoteSdp && _0xeb3993 . remoteSdp . remotePeerSdpConstraints && _0xeb3993 . remoteSdp . remotePeerSdpConstraints . OfferToReceiveAudio
} ) ) ;
var _0x5ed0e1 = { } ;
function _0x308f2d ( _0x41a457 ) {
_0x21b268 [ _0x41a457 ] ( _0x394dad . sdpConstraints ) . then ( function ( _0x2f9b8b ) {
'Safari' !== DetectRTC . browser . name && ( _0x2f9b8b . sdp = _0x326931 . processSdp ( _0x2f9b8b . sdp ) ) , _0x21b268 . setLocalDescription ( _0x2f9b8b ) . then ( function ( ) {
_0x326931 . trickleIce && ( _0xeb3993 . onLocalSdp ( {
'type' : _0x2f9b8b . type ,
'sdp' : _0x2f9b8b . sdp ,
'remotePeerSdpConstraints' : _0xeb3993 . remotePeerSdpConstraints || ! 0x1 ,
'renegotiatingPeer' : ! ! _0xeb3993 . renegotiatingPeer || ! 0x1 ,
'connectionDescription' : _0x2fa590 . connectionDescription ,
'dontGetRemoteStream' : ! ! _0xeb3993 . dontGetRemoteStream ,
'extra' : _0x326931 ? _0x326931 . extra : { } ,
'streamsToShare' : _0x5ed0e1
} ) , _0x326931 . onSettingLocalDescription ( _0x2fa590 ) ) ;
} , function ( _0x41064c ) {
_0x326931 . enableLogs && console . error ( 'setLocalDescription error' , _0x41064c ) ;
} ) ;
} , function ( _0x31a9a8 ) {
_0x326931 . enableLogs && console . error ( 'sdp-error' , _0x31a9a8 ) ;
} ) ;
}
_0x21b268 . getLocalStreams ( ) . forEach ( function ( _0x4ee107 ) {
_0x5ed0e1 [ _0x4ee107 . streamid ] = {
'isAudio' : ! ! _0x4ee107 . isAudio ,
'isVideo' : ! ! _0x4ee107 . isVideo ,
'isScreen' : ! ! _0x4ee107 . isScreen
} ;
} ) , _0x2c7e5e && _0x308f2d ( 'createOffer' ) , _0x21b268 . nativeClose = _0x21b268 . close , _0x21b268 . close = function ( ) {
if ( _0x21b268 ) {
try {
_0x21b268 . nativeClose !== _0x21b268 . close && _0x21b268 . nativeClose ( ) ;
} catch ( _0x3c28da ) { }
_0x21b268 = null , _0x2fa590 . peer = null ;
}
} , this . peer = _0x21b268 ;
}
var _0x42fdaa = function ( ) {
function _0x572b26 ( _0x16547c , _0x12b3cb ) {
var _0x3623e4 = _0x5c82c5 ( _0x16547c ) ;
return _0x3623e4 . videoCodecNumbers ? 'vp8' === _0x12b3cb && _0x3623e4 . vp8LineNumber === _0x3623e4 . videoCodecNumbers [ 0x0 ] ? _0x16547c : 'vp9' === _0x12b3cb && _0x3623e4 . vp9LineNumber === _0x3623e4 . videoCodecNumbers [ 0x0 ] ? _0x16547c : 'h264' === _0x12b3cb && _0x3623e4 . h264LineNumber === _0x3623e4 . videoCodecNumbers [ 0x0 ] ? _0x16547c : _0x16547c = _0x249ace ( _0x16547c , _0x12b3cb , _0x3623e4 ) : _0x16547c ;
}
function _0x249ace ( _0x536ba9 , _0x3e10ca , _0x141d2f , _0x1f707f ) {
var _0x3623e4 = '' ;
if ( 'vp8' === _0x3e10ca ) {
if ( ! _0x141d2f . vp8LineNumber ) return _0x536ba9 ;
_0x3623e4 = _0x141d2f . vp8LineNumber ;
}
if ( 'vp9' === _0x3e10ca ) {
if ( ! _0x141d2f . vp9LineNumber ) return _0x536ba9 ;
_0x3623e4 = _0x141d2f . vp9LineNumber ;
}
if ( 'h264' === _0x3e10ca ) {
if ( ! _0x141d2f . h264LineNumber ) return _0x536ba9 ;
_0x3623e4 = _0x141d2f . h264LineNumber ;
}
var _0x314bfa = _0x141d2f . videoCodecNumbersOriginal . split ( 'SAVPF' ) [ 0x0 ] + 'SAVPF ' ,
_0x52ac96 = [ _0x3623e4 ] ;
return _0x1f707f && ( _0x52ac96 = [ ] ) , _0x141d2f . videoCodecNumbers . forEach ( function ( _0x43af74 ) {
_0x43af74 !== _0x3623e4 && _0x52ac96 . push ( _0x43af74 ) ;
} ) , _0x314bfa += _0x52ac96 . join ( ' ' ) , _0x536ba9 = _0x536ba9 . replace ( _0x141d2f . videoCodecNumbersOriginal , _0x314bfa ) ;
}
function _0x5c82c5 ( _0x370eaf ) {
var _0x249ace = { } ;
return _0x370eaf . split ( '\n' ) . forEach ( function ( _0x42cf6b ) {
0x0 === _0x42cf6b . indexOf ( 'm=video' ) && ( _0x249ace . videoCodecNumbers = [ ] , _0x42cf6b . split ( 'SAVPF' ) [ 0x1 ] . split ( ' ' ) . forEach ( function ( _0x340dfa ) {
( _0x340dfa = _0x340dfa . trim ( ) ) && _0x340dfa . length && ( _0x249ace . videoCodecNumbers . push ( _0x340dfa ) , _0x249ace . videoCodecNumbersOriginal = _0x42cf6b ) ;
} ) ) , - 0x1 === _0x42cf6b . indexOf ( 'VP8/90000' ) || _0x249ace . vp8LineNumber || ( _0x249ace . vp8LineNumber = _0x42cf6b . replace ( 'a=rtpmap:' , '' ) . split ( ' ' ) [ 0x0 ] ) , - 0x1 === _0x42cf6b . indexOf ( 'VP9/90000' ) || _0x249ace . vp9LineNumber || ( _0x249ace . vp9LineNumber = _0x42cf6b . replace ( 'a=rtpmap:' , '' ) . split ( ' ' ) [ 0x0 ] ) , - 0x1 === _0x42cf6b . indexOf ( 'H264/90000' ) || _0x249ace . h264LineNumber || ( _0x249ace . h264LineNumber = _0x42cf6b . replace ( 'a=rtpmap:' , '' ) . split ( ' ' ) [ 0x0 ] ) ;
} ) , _0x249ace ;
}
function _0x4526d0 ( _0x39207b , _0x23a46a , _0x1ebb9d ) {
return function ( _0x20ed55 , _0x5132ac , _0xcecfcd , _0x8459a8 , _0x27ad22 ) {
for ( var _0x2dbfb3 = - 0x1 !== _0xcecfcd ? _0xcecfcd : _0x20ed55 . length , _0x160b11 = _0x5132ac ; _0x160b11 < _0x2dbfb3 ; ++ _0x160b11 )
if ( 0x0 === _0x20ed55 [ _0x160b11 ] . indexOf ( _0x8459a8 ) && ( ! _0x27ad22 || - 0x1 !== _0x20ed55 [ _0x160b11 ] . toLowerCase ( ) . indexOf ( _0x27ad22 . toLowerCase ( ) ) ) ) return _0x160b11 ;
return null ;
} ( _0x39207b , 0x0 , - 0x1 , _0x23a46a , _0x1ebb9d ) ;
}
function _0x3623e4 ( _0x46fa44 ) {
var _0x249ace = new RegExp ( 'a=rtpmap:(\d+) \w+\/\d+' ) ,
_0x5c82c5 = _0x46fa44 . match ( _0x249ace ) ;
return _0x5c82c5 && 0x2 === _0x5c82c5 . length ? _0x5c82c5 [ 0x1 ] : null ;
}
return {
'removeVPX' : function ( _0x59de0e ) {
var _0x4526d0 = _0x5c82c5 ( _0x59de0e ) ;
return _0x59de0e = _0x249ace ( _0x59de0e , 'vp9' , _0x4526d0 , true ) , _0x59de0e = _0x249ace ( _0x59de0e , 'vp8' , _0x4526d0 , true ) ;
} ,
'disableNACK' : function ( _0x376b0e ) {
if ( ! _0x376b0e || 'string' != typeof _0x376b0e ) throw 'Invalid arguments.' ;
return _0x376b0e = ( _0x376b0e = ( _0x376b0e = ( _0x376b0e = _0x376b0e . replace ( 'a=rtcp-fb:126 nack\r\n' , '' ) ) . replace ( 'a=rtcp-fb:126 nack pli\x0d\n' , 'a=rtcp-fb:126 pli\x0d\n' ) ) . replace ( 'a=rtcp-fb:97 nack\r\n' , '' ) ) . replace ( 'a=rtcp-fb:97 nack pli\r\n' , 'a=rtcp-fb:97 pli\r\n' ) ;
} ,
'prioritize' : function ( _0x238652 , _0x23ac58 ) {
if ( _0x23ac58 && _0x23ac58 . getSenders && _0x23ac58 . getSenders ( ) . length ) {
if ( ! _0x238652 || 'string' != typeof _0x238652 ) throw 'Invalid arguments.' ;
_0x23ac58 . getSenders ( ) . forEach ( function ( _0x4c4f96 ) {
for ( var _0x5c82c5 = _0x4c4f96 . getParameters ( ) , _0x4526d0 = 0x0 ; _0x4526d0 < _0x5c82c5 . codecs . length ; _0x4526d0 ++ )
if ( _0x5c82c5 . codecs [ _0x4526d0 ] . mimeType == _0x238652 ) {
_0x5c82c5 . codecs . unshift ( _0x5c82c5 . codecs . splice ( _0x4526d0 , 0x1 ) ) ;
break ;
}
_0x4c4f96 . setParameters ( _0x5c82c5 ) ;
} ) ;
}
} ,
'removeNonG722' : function ( _0x49005b ) {
return _0x49005b . replace ( /m=audio ([0-9]+) RTP\/SAVPF ([0-9 ]*)/g , 'm=audio $1 RTP/SAVPF 9' ) ;
} ,
'setApplicationSpecificBandwidth' : function ( _0xa77e44 , _0x517ea3 , _0x4de140 ) {
return function ( _0x58398a , _0x84509d , _0x378779 ) {
return _0x84509d ? void 0x0 !== _0x5c498f && _0x5c498f ? _0x58398a : ( _0x378779 && ( _0x84509d . screen ? _0x84509d . screen < 0x12c && console . warn ( 'It seems that you are using wrong bandwidth value for screen. Screen sharing is expected to fail.' ) : console . warn ( 'It seems that you are not using bandwidth for screen. Screen sharing is expected to fail.' ) ) , _0x84509d . screen && _0x378779 && ( _0x58398a = ( _0x58398a = _0x58398a . replace ( /b=AS([^\r\n]+\r\n)/g , '' ) ) . replace ( /a=mid:video\r\n/g , 'a=mid:video\r\nb=AS:' + _0x84509d . screen + '\x0d\n' ) ) , ( _0x84509d . audio || _0x84509d . video ) && ( _0x58398a = _0x58398a . replace ( /b=AS([^\r\n]+\r\n)/g , '' ) ) , _0x84509d . audio && ( _0x58398a = _0x58398a . replace ( /a=mid:audio\r\n/g , 'a=mid:audio\r\nb=AS:' + _0x84509d . audio + '\x0d\n' ) ) , _0x84509d . screen ? _0x58398a = _0x58398a . replace ( /a=mid:video\r\n/g , 'a=mid:video\r\nb=AS:' + _0x84509d . screen + '\x0d\n' ) : _0x84509d . video && ( _0x58398a = _0x58398a . replace ( /a=mid:video\r\n/g , 'a=mid:video\r\nb=AS:' + _0x84509d . video + '\x0d\n' ) ) , _0x58398a ) : _0x58398a ;
} ( _0xa77e44 , _0x517ea3 , _0x4de140 ) ;
} ,
'setVideoBitrates' : function ( _0x6898ff , _0xf38daa ) {
return function ( _0x4260bb , _0x46dc63 ) {
var _0x5c82c5 , _0xcddf99 = ( _0x46dc63 = _0x46dc63 || { } ) . min ,
_0x4d9e07 = _0x46dc63 . max ,
_0x1e0ad5 = _0x4260bb . split ( '\x0d\n' ) ,
_0x4e244d = _0x4526d0 ( _0x1e0ad5 , 'a=rtpmap' , 'VP8/90000' ) ;
if ( _0x4e244d && ( _0x5c82c5 = _0x3623e4 ( _0x1e0ad5 [ _0x4e244d ] ) ) , ! _0x5c82c5 ) return _0x4260bb ;
var _0x4a75e7 , _0x5d5b05 = _0x4526d0 ( _0x1e0ad5 , 'a=rtpmap' , 'rtx/90000' ) ;
if ( _0x5d5b05 && ( _0x4a75e7 = _0x3623e4 ( _0x1e0ad5 [ _0x5d5b05 ] ) ) , ! _0x5d5b05 ) return _0x4260bb ;
var _0x56e025 = _0x4526d0 ( _0x1e0ad5 , 'a=fmtp:' + _0x4a75e7 . toString ( ) ) ;
if ( null !== _0x56e025 ) {
var _0x30c498 = '\x0d\n' ;
_0x30c498 += 'a=fmtp:' + _0x5c82c5 + ' x-google-min-bitrate=' + ( _0xcddf99 || '228' ) + '; x-google-max-bitrate=' + ( _0x4d9e07 || '228' ) , _0x1e0ad5 [ _0x56e025 ] = _0x1e0ad5 [ _0x56e025 ] . concat ( _0x30c498 ) , _0x4260bb = _0x1e0ad5 . join ( '\x0d\n' ) ;
}
return _0x4260bb ;
} ( _0x6898ff , _0xf38daa ) ;
} ,
'setOpusAttributes' : function ( _0x553630 , _0x553bce ) {
return function ( _0x48ec07 , _0x1e35c6 ) {
_0x1e35c6 = _0x1e35c6 || { } ;
var _0x5c82c5 , _0x1be3e1 = _0x48ec07 . split ( '\x0d\n' ) ,
_0x456381 = _0x4526d0 ( _0x1be3e1 , 'a=rtpmap' , 'opus/48000' ) ;
if ( _0x456381 && ( _0x5c82c5 = _0x3623e4 ( _0x1be3e1 [ _0x456381 ] ) ) , ! _0x5c82c5 ) return _0x48ec07 ;
var _0x2d8ac5 = _0x4526d0 ( _0x1be3e1 , 'a=fmtp:' + _0x5c82c5 . toString ( ) ) ;
if ( null === _0x2d8ac5 ) return _0x48ec07 ;
var _0x8350e7 = '' ;
return _0x8350e7 += '; stereo=' + ( void 0x0 !== _0x1e35c6 . stereo ? _0x1e35c6 . stereo : '1' ) , _0x8350e7 += '; sprop-stereo=' + ( void 0x0 !== _0x1e35c6 [ 'sprop-stereo' ] ? _0x1e35c6 [ 'sprop-stereo' ] : '1' ) , void 0x0 !== _0x1e35c6 . maxaveragebitrate && ( _0x8350e7 += '; maxaveragebitrate=' + ( _0x1e35c6 . maxaveragebitrate || 0x100000 ) ) , void 0x0 !== _0x1e35c6 . maxplaybackrate && ( _0x8350e7 += '; maxplaybackrate=' + ( _0x1e35c6 . maxplaybackrate || 0x100000 ) ) , void 0x0 !== _0x1e35c6 . cbr && ( _0x8350e7 += '; cbr=' + ( void 0x0 !== _0x1e35c6 . cbr ? _0x1e35c6 . cbr : '1' ) ) , void 0x0 !== _0x1e35c6 . useinbandfec && ( _0x8350e7 += '; useinbandfec=' + _0x1e35c6 . useinbandfec ) , void 0x0 !== _0x1e35c6 . usedtx && ( _0x8350e7 += '; usedtx=' + _0x1e35c6 . usedtx ) , void 0x0 !== _0x1e35c6 . maxptime && ( _0x8350e7 += '\x0d\na=maxptime:' + _0x1e35c6 . maxptime ) , _0x1be3e1 [ _0x2d8ac5 ] = _0x1be3e1 [ _0x2d8ac5 ] . concat ( _0x8350e7 ) , _0x48ec07 = _0x1be3e1 . join ( '\x0d\n' ) ;
} ( _0x553630 , _0x553bce ) ;
} ,
'preferVP9' : function ( _0x18deb7 ) {
return _0x572b26 ( _0x18deb7 , 'vp9' ) ;
} ,
'preferCodec' : _0x572b26 ,
'forceStereoAudio' : function ( _0x14ddc9 ) {
for ( var _0x249ace = _0x14ddc9 . split ( '\x0d\n' ) , _0x5c82c5 = null , _0x4526d0 = 0x0 ; _0x4526d0 < _0x249ace . length ; _0x4526d0 ++ )
if ( - 0x1 !== _0x249ace [ _0x4526d0 ] . search ( 'opus/48000' ) ) {
var _0x3623e4 = extractSdp ( _0x249ace [ _0x4526d0 ] , /:(\d+) opus\/48000/i ) ;
break ;
}
for ( _0x4526d0 = 0x0 ; _0x4526d0 < _0x249ace . length ; _0x4526d0 ++ ) {
if ( - 0x1 !== _0x249ace [ _0x4526d0 ] . search ( 'a=fmtp' ) )
if ( extractSdp ( _0x249ace [ _0x4526d0 ] , /a=fmtp:(\d+)/ ) === _0x3623e4 ) {
_0x5c82c5 = _0x4526d0 ;
break ;
}
}
return null === _0x5c82c5 ? _0x14ddc9 : ( _0x249ace [ _0x5c82c5 ] = _0x249ace [ _0x5c82c5 ] . concat ( '; stereo=1; sprop-stereo=1' ) , _0x14ddc9 = _0x249ace . join ( '\x0d\n' ) ) ;
}
} ;
} ( ) ;
window . BandwidthHandler = _0x42fdaa ;
var _0x2b9f47 = {
'processCandidates' : function ( _0x3bf1a2 , _0x390036 ) {
var _0x2fa590 = _0x390036 . candidate ,
_0x21b268 = _0x3bf1a2 . candidates ,
_0x521a09 = _0x21b268 . stun ,
_0x3e00fc = _0x21b268 . turn ;
if ( _0x3b94ab ( _0x21b268 . reflexive ) || ( _0x521a09 = _0x21b268 . reflexive ) , _0x3b94ab ( _0x21b268 . relay ) || ( _0x3e00fc = _0x21b268 . relay ) , ( _0x21b268 . host || ! _0x2fa590 . match ( /typ host/g ) ) && ( _0x3e00fc || ! _0x2fa590 . match ( /typ relay/g ) ) && ( _0x521a09 || ! _0x2fa590 . match ( /typ srflx/g ) ) ) {
var _0x2b6e29 = _0x3bf1a2 . iceProtocols ;
if ( ( _0x2b6e29 . udp || ! _0x2fa590 . match ( / udp /g ) ) && ( _0x2b6e29 . tcp || ! _0x2fa590 . match ( / tcp /g ) ) ) return _0x3bf1a2 . enableLogs && console . debug ( 'Your candidate pairs:' , _0x2fa590 ) , {
'candidate' : _0x2fa590 ,
'sdpMid' : _0x390036 . sdpMid ,
'sdpMLineIndex' : _0x390036 . sdpMLineIndex
} ;
}
}
} ,
_0x3b9609 = {
'getIceServers' : function ( _0x488e7f ) {
return [ {
'urls' : [ 'stun:webrtcweb.com:7788' ] ,
'username' : 'muazkh' ,
'credential' : 'muazkh'
} , {
'urls' : [ 'turn:webrtcweb.com:7788' , 'turn:webrtcweb.com:8877' , 'turn:webrtcweb.com:4455' ] ,
'username' : 'muazkh' ,
'credential' : 'muazkh'
} , {
'urls' : [ 'stun:stun.l.google.com:19302' , 'stun:stun1.l.google.com:19302' , 'stun:stun2.l.google.com:19302' , 'stun:stun.l.google.com:19302?transport=udp' ]
} ] ;
}
} ;
function _0x5adfda ( _0x283137 ) {
if ( true !== currentUserMediaRequest . mutex ) {
currentUserMediaRequest . mutex = true ;
var _0x326931 = JSON . stringify ( _0x283137 . localMediaConstraints ) ;
if ( currentUserMediaRequest . streams [ _0x326931 ] ) _0x196d8c ( currentUserMediaRequest . streams [ _0x326931 ] . stream , true ) ;
else {
if ( ! ! /BB10|BlackBerry/i . test ( navigator . userAgent || '' ) || void 0x0 === navigator . mediaDevices || 'function' != typeof navigator . mediaDevices . getUserMedia ) return navigator . getUserMedia = navigator . getUserMedia || navigator . webkitGetUserMedia || navigator . mozGetUserMedia , void navigator . getUserMedia ( _0x283137 . localMediaConstraints , function ( _0x470b2a ) {
_0x470b2a . streamid = _0x470b2a . streamid || _0x470b2a . id || _0x5b8d5d ( ) , _0x470b2a . idInstance = _0x326931 , _0x196d8c ( _0x470b2a ) ;
} , function ( _0x3fd14c ) {
_0x283137 . onLocalMediaError ( _0x3fd14c , _0x283137 . localMediaConstraints ) ;
} ) ;
if ( void 0x0 === navigator . mediaDevices ) {
navigator . getUserMedia = navigator . getUserMedia || navigator . webkitGetUserMedia || navigator . mozGetUserMedia ;
var _0x2fa590 , _0x21b268 , _0x521a09 = function ( ) { } ;
navigator . mediaDevices = {
'getUserMedia' : function ( _0x1ddd61 ) {
return navigator . getUserMedia ( _0x1ddd61 , function ( _0x4a0936 ) {
_0x4a0936 ( stream ) , _0x2fa590 = stream ;
} , function ( _0x15c59c ) {
_0x521a09 ( _0x15c59c ) , _0x21b268 = _0x15c59c ;
} ) , {
'then' : function ( _0x3e20ef ) {
if ( ! _0x2fa590 ) return _0x3e20ef , {
'then' : function ( _0x444f48 ) {
_0x21b268 ? _0x444f48 ( _0x21b268 ) : _0x521a09 = _0x444f48 ;
}
} ;
_0x3e20ef ( _0x2fa590 ) ;
}
} ;
}
} ;
}
navigator . mediaDevices . getUserMedia ( _0x283137 . localMediaConstraints ) . then ( function ( _0x5a25ab ) {
_0x5a25ab . streamid = _0x5a25ab . streamid || _0x5a25ab . id || _0x5b8d5d ( ) , _0x5a25ab . idInstance = _0x326931 , _0x196d8c ( _0x5a25ab ) ;
} ) . catch ( function ( _0x5f1ad4 ) {
_0x283137 . onLocalMediaError ( _0x5f1ad4 , _0x283137 . localMediaConstraints ) ;
} ) ;
}
} else currentUserMediaRequest . queueRequests . push ( _0x283137 ) ;
function _0x196d8c ( _0x1f527b , _0x58cd7c ) {
! function ( _0x3b5a94 , _0x299595 ) {
_0x3b5a94 . mandatory && _0x3b5a94 . mandatory . chromeMediaSource ? _0x299595 . isScreen = true : _0x3b5a94 . mozMediaSource || _0x3b5a94 . mediaSource ? _0x299595 . isScreen = true : _0x3b5a94 . video ? _0x299595 . isVideo = true : _0x3b5a94 . audio && ( _0x299595 . isAudio = true ) ;
} ( _0x283137 . localMediaConstraints , _0x1f527b ) ;
var _0x521a09 = 'ended' ;
'oninactive' in _0x1f527b && ( _0x521a09 = 'inactive' ) , _0x1f527b . addEventListener ( _0x521a09 , function ( ) {
delete currentUserMediaRequest . streams [ _0x326931 ] , currentUserMediaRequest . mutex = ! 0x1 , currentUserMediaRequest . queueRequests . indexOf ( _0x283137 ) && ( delete currentUserMediaRequest . queueRequests [ currentUserMediaRequest . queueRequests . indexOf ( _0x283137 ) ] , currentUserMediaRequest . queueRequests = _0xf3acd ( currentUserMediaRequest . queueRequests ) ) ;
} , ! 0x1 ) , currentUserMediaRequest . streams [ _0x326931 ] = {
'stream' : _0x1f527b
} , currentUserMediaRequest . mutex = ! 0x1 , currentUserMediaRequest . queueRequests . length && _0x5adfda ( currentUserMediaRequest . queueRequests . shift ( ) ) , _0x283137 . onGettingLocalMedia ( _0x1f527b , _0x58cd7c ) ;
}
}
window . currentUserMediaRequest = {
'streams' : [ ] ,
'mutex' : ! 0x1 ,
'queueRequests' : [ ] ,
'remove' : function ( _0x1b91c8 ) {
this . mutex = ! 0x1 ;
var _0x326931 = this . streams [ _0x1b91c8 ] ;
if ( _0x326931 ) {
var _0x2fa590 = ( _0x326931 = _0x326931 . stream ) . currentUserMediaRequestOptions ;
this . queueRequests . indexOf ( _0x2fa590 ) && ( delete this . queueRequests [ this . queueRequests . indexOf ( _0x2fa590 ) ] , this . queueRequests = _0xf3acd ( this . queueRequests ) ) , this . streams [ _0x1b91c8 ] . stream = null , delete this . streams [ _0x1b91c8 ] ;
}
}
} ;
var _0x25e82e = function ( ) {
function _0xc80ee1 ( _0x19f0b1 ) {
if ( _0x19f0b1 ) return 'string' == typeof _0x19f0b1 || void 0x0 === _0x19f0b1 ? _0x19f0b1 : _0x19f0b1 . audio && _0x19f0b1 . video ? null : _0x19f0b1 . audio ? 'audio' : _0x19f0b1 . video ? 'video' : void 0x0 ;
}
return {
'setHandlers' : function ( _0x3d58a4 , _0x57b7e9 , _0x2faad3 ) {
if ( _0x3d58a4 && _0x3d58a4 . addEventListener ) {
if ( void 0x0 === _0x57b7e9 || 0x1 == _0x57b7e9 ) {
var _0x521a09 = 'ended' ;
'oninactive' in _0x3d58a4 && ( _0x521a09 = 'inactive' ) , _0x3d58a4 . addEventListener ( _0x521a09 , function ( ) {
_0x25e82e . onSyncNeeded ( this . streamid , _0x521a09 ) ;
} , ! 0x1 ) ;
}
_0x3d58a4 . mute = function ( _0x393c28 , _0xb2bd8c ) {
_0x393c28 = _0xc80ee1 ( _0x393c28 ) , void 0x0 !== _0xb2bd8c && ( _0x57b7e9 = _0xb2bd8c ) , void 0x0 !== _0x393c28 && 'audio' != _0x393c28 || _0x2cbba5 ( _0x3d58a4 , 'audio' ) . forEach ( function ( _0x3bbe2d ) {
_0x3bbe2d . enabled = ! 0x1 , _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . isAudioMuted = true ;
} ) , void 0x0 !== _0x393c28 && 'video' != _0x393c28 || _0x2cbba5 ( _0x3d58a4 , 'video' ) . forEach ( function ( _0x2ba091 ) {
_0x2ba091 . enabled = ! 0x1 ;
} ) , void 0x0 !== _0x57b7e9 && 0x1 != _0x57b7e9 || _0x25e82e . onSyncNeeded ( _0x3d58a4 . streamid , 'mute' , _0x393c28 ) , _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . muteType = _0x393c28 || 'both' , _0x121233 ( _0x3d58a4 , 'mute' , _0x393c28 ) ;
} , _0x3d58a4 . unmute = function ( _0x557e65 , _0x2dc6b7 ) {
_0x557e65 = _0xc80ee1 ( _0x557e65 ) , void 0x0 !== _0x2dc6b7 && ( _0x57b7e9 = _0x2dc6b7 ) ,
function ( ) {
if ( ! _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . mediaElement ) return ;
var _0xc80ee1 = _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . mediaElement ;
_0xc80ee1 . volume = 0x0 ,
function _0xc80ee1 ( _0x537992 , _0x12ab30 , _0x212c93 , _0x44a2b5 ) {
_0x44a2b5 = ( _0x44a2b5 || 0x0 ) + 0x1 ;
if ( _0x44a2b5 >= _0x12ab30 ) return ;
setTimeout ( function ( ) {
_0x212c93 ( ) , _0xc80ee1 ( _0x537992 , _0x12ab30 , _0x212c93 , _0x44a2b5 ) ;
} , _0x537992 ) ;
} ( 0xc8 , 0x5 , function ( ) {
try {
_0xc80ee1 . volume += 0.2 ;
} catch ( _0x111824 ) {
_0xc80ee1 . volume = 0x1 ;
}
} ) ;
} ( ) , void 0x0 !== _0x557e65 && 'audio' != _0x557e65 || _0x2cbba5 ( _0x3d58a4 , 'audio' ) . forEach ( function ( _0x39cdcf ) {
_0x39cdcf . enabled = true , _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . isAudioMuted = ! 0x1 ;
} ) , void 0x0 !== _0x557e65 && 'video' != _0x557e65 || ( _0x2cbba5 ( _0x3d58a4 , 'video' ) . forEach ( function ( _0x1bc1ac ) {
_0x1bc1ac . enabled = true ;
} ) , void 0x0 !== _0x557e65 && 'video' == _0x557e65 && _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . isAudioMuted && function _0xc80ee1 ( _0x2a12fa ) {
_0x2a12fa || ( _0x2a12fa = 0x0 ) , ++ _0x2a12fa < 0x64 && _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . isAudioMuted && ( _0x3d58a4 . mute ( 'audio' ) , setTimeout ( function ( ) {
_0xc80ee1 ( _0x2a12fa ) ;
} , 0x32 ) ) ;
} ( ) ) , void 0x0 !== _0x57b7e9 && 0x1 != _0x57b7e9 || _0x25e82e . onSyncNeeded ( _0x3d58a4 . streamid , 'unmute' , _0x557e65 ) , _0x2faad3 . streamEvents [ _0x3d58a4 . streamid ] . unmuteType = _0x557e65 || 'both' , _0x121233 ( _0x3d58a4 , 'unmute' , _0x557e65 ) ;
} ;
}
} ,
'onSyncNeeded' : function ( _0x1963f6 , _0x4e7716 , _0x3963b ) { }
} ;
} ( ) ;
window . addEventListener ( 'message' , function ( _0x48b05c ) {
_0x48b05c . origin == window . location . origin && function ( _0x53ae17 ) {
if ( 'PermissionDeniedError' == _0x53ae17 ) {
if ( _0x301abf = 'PermissionDeniedError' , _0x467e9d ) return _0x467e9d ( 'PermissionDeniedError' ) ;
throw new Error ( 'PermissionDeniedError' ) ;
}
'rtcmulticonnection-extension-loaded' == _0x53ae17 && ( _0x301abf = 'desktop' ) ;
_0x53ae17 . sourceId && _0x467e9d && _0x467e9d ( _0x427b66 = _0x53ae17 . sourceId , true === _0x53ae17 . canRequestAudioTrack ) ;
} ( _0x48b05c . data ) ;
} ) ;
var _0x427b66 , _0x467e9d , _0x301abf = 'screen' ;
function _0x53da88 ( _0x14f9e0 ) {
if ( _0x14f9e0 ) {
if ( 'desktop' == _0x301abf ) return _0x14f9e0 ( true ) ;
window . postMessage ( 'are-you-there' , '*' ) , setTimeout ( function ( ) {
_0x14f9e0 ( 'screen' != _0x301abf ) ;
} , 0x7d0 ) ;
}
}
var _0x5c498f = void 0x0 !== window . InstallTrigger ,
_0x1ea249 = ! ! window . opera || navigator . userAgent . indexOf ( ' OPR/' ) >= 0x0 ;
window . chrome ;
function _0x1f670d ( _0x4bd5c8 , _0x3b2cbe ) {
if ( _0x5c498f ) return _0x3b2cbe ( 'not-chrome' ) ;
0x2 != arguments . length && ( _0x3b2cbe = _0x4bd5c8 , _0x4bd5c8 = 'ajhifddimkapgcifgcodmmfdlknahffk' ) ;
var _0x2fa590 = document . createElement ( 'img' ) ;
_0x2fa590 . src = 'chrome-extension://' + _0x4bd5c8 + '/icon.png' , _0x2fa590 . onload = function ( ) {
_0x301abf = 'screen' , window . postMessage ( 'are-you-there' , '*' ) , setTimeout ( function ( ) {
_0x3b2cbe ( 'screen' == _0x301abf ? 'installed-disabled' : 'installed-enabled' ) ;
} , 0x7d0 ) ;
} , _0x2fa590 . onerror = function ( ) {
_0x3b2cbe ( 'not-installed' ) ;
} ;
}
function _0x1c050b ( _0xe24308 , _0x3ebcd4 ) {
if ( _0x5c498f ) return _0xe24308 ( null , {
'mozMediaSource' : 'window' ,
'mediaSource' : 'window'
} ) ;
var _0x2fa590 = {
'mandatory' : {
'chromeMediaSource' : _0x301abf ,
'maxWidth' : screen . width > 0x780 ? screen . width : 0x780 ,
'maxHeight' : screen . height > 0x438 ? screen . height : 0x438
} ,
'optional' : [ ]
} ;
'desktop' != _0x301abf || _0x427b66 ? ( 'desktop' == _0x301abf && ( _0x2fa590 . mandatory . chromeMediaSourceId = _0x427b66 ) , _0xe24308 ( null , _0x2fa590 ) ) : _0x3ebcd4 ? function ( _0x16e1da ) {
if ( ! _0x16e1da ) throw '"callback" parameter is mandatory.' ;
if ( _0x427b66 ) return _0x16e1da ( _0x427b66 ) ;
_0x467e9d = _0x16e1da , window . postMessage ( 'audio-plus-tab' , '*' ) ;
} ( function ( _0x240030 , _0x41af1b ) {
_0x2fa590 . mandatory . chromeMediaSourceId = _0x240030 , _0x41af1b && ( _0x2fa590 . canRequestAudioTrack = true ) , _0xe24308 ( 'PermissionDeniedError' == _0x240030 ? _0x240030 : null , _0x2fa590 ) ;
} ) : function ( _0x465509 ) {
if ( ! _0x465509 ) throw '"callback" parameter is mandatory.' ;
if ( _0x427b66 ) return _0x465509 ( _0x427b66 ) ;
_0x467e9d = _0x465509 , window . postMessage ( 'get-sourceId' , '*' ) ;
} ( function ( _0x13bb7e ) {
_0x2fa590 . mandatory . chromeMediaSourceId = _0x13bb7e , _0xe24308 ( 'PermissionDeniedError' == _0x13bb7e ? _0x13bb7e : null , _0x2fa590 ) ;
} ) ;
}
function _0x342039 ( _0x4dbb06 ) {
var _0x326931 = { } ;
return {
'receive' : function ( _0x5d1473 , _0x43133d , _0x584294 ) {
var _0x547cf6 = _0x5d1473 . uuid ;
if ( _0x326931 [ _0x547cf6 ] || ( _0x326931 [ _0x547cf6 ] = [ ] ) , _0x326931 [ _0x547cf6 ] . push ( _0x5d1473 . message ) , _0x5d1473 . last ) {
var _0x967e71 = _0x326931 [ _0x547cf6 ] . join ( '' ) ;
_0x5d1473 . isobject && ( _0x967e71 = JSON . parse ( _0x967e71 ) ) ;
var _0x33399d = {
'data' : _0x967e71 ,
'userid' : _0x43133d ,
'extra' : _0x584294 ,
'latency' : new Date ( ) . getTime ( ) - _0x5d1473 . sendingTime
} ;
_0x4dbb06 . autoTranslateText ? ( _0x33399d . original = _0x33399d . data , _0x4dbb06 . Translator . TranslateText ( _0x33399d . data , function ( _0x420bda ) {
_0x33399d . data = _0x420bda , _0x4dbb06 . onmessage ( _0x33399d ) ;
} ) ) : _0x4dbb06 . onmessage ( _0x33399d ) , delete _0x326931 [ _0x547cf6 ] ;
}
}
} ;
}
var _0x21703b = {
'send' : function ( _0x3eb04b ) {
var _0x326931 = _0x3eb04b . connection ,
_0x2fa590 = _0x3eb04b . channel ,
_0x21b268 = _0x3eb04b . remoteUserId ,
_0x521a09 = _0x3eb04b . text ,
_0x477fc1 = _0x326931 . chunkSize || 0x3e8 ,
_0x2406ca = '' ,
_0x2b3340 = ! 0x1 ;
'string' != typeof _0x521a09 && ( _0x2b3340 = true , _0x521a09 = JSON . stringify ( _0x521a09 ) ) ;
var _0x5093c5 = _0x5b8d5d ( ) ,
_0x53bd37 = new Date ( ) . getTime ( ) ;
! function _0x3eb04b ( _0x452fc6 , _0x2486ef ) {
var _0x4068b1 = {
'type' : 'text' ,
'uuid' : _0x5093c5 ,
'sendingTime' : _0x53bd37
} ;
_0x452fc6 && ( _0x2486ef = _0x452fc6 , _0x4068b1 . packets = parseInt ( _0x2486ef . length / _0x477fc1 ) ) ;
_0x2486ef . length > _0x477fc1 ? _0x4068b1 . message = _0x2486ef . slice ( 0x0 , _0x477fc1 ) : ( _0x4068b1 . message = _0x2486ef , _0x4068b1 . last = true , _0x4068b1 . isobject = _0x2b3340 ) ;
_0x2fa590 . send ( _0x4068b1 , _0x21b268 ) ;
_0x2406ca = _0x2486ef . slice ( _0x4068b1 . message . length ) ;
_0x2406ca . length && setTimeout ( function ( ) {
_0x3eb04b ( null , _0x2406ca ) ;
} , _0x326931 . chunkInterval || 0x64 ) ;
} ( _0x521a09 ) ;
}
} ,
_0x2cf1f3 = {
'handle' : function ( _0x519a30 ) {
var _0x326931 = { } ;
_0x519a30 . onFileStart = function ( _0x2a3aa7 ) {
var _0x21b268 = document . createElement ( 'div' ) ;
if ( _0x21b268 . title = _0x2a3aa7 . name , _0x21b268 . innerHTML = '<label>0%</label> <progress></progress>' , _0x2a3aa7 . remoteUserId && ( _0x21b268 . innerHTML += ' (Sharing with:' + _0x2a3aa7 . remoteUserId + ')' ) , _0x519a30 . filesContainer || ( _0x519a30 . filesContainer = document . body || document . documentElement ) , _0x519a30 . filesContainer . insertBefore ( _0x21b268 , _0x519a30 . filesContainer . firstChild ) , ! _0x2a3aa7 . remoteUserId ) return _0x326931 [ _0x2a3aa7 . uuid ] = {
'div' : _0x21b268 ,
'progress' : _0x21b268 . querySelector ( 'progress' ) ,
'label' : _0x21b268 . querySelector ( 'label' )
} , void ( _0x326931 [ _0x2a3aa7 . uuid ] . progress . max = _0x2a3aa7 . maxChunks ) ;
_0x326931 [ _0x2a3aa7 . uuid ] || ( _0x326931 [ _0x2a3aa7 . uuid ] = { } ) , _0x326931 [ _0x2a3aa7 . uuid ] [ _0x2a3aa7 . remoteUserId ] = {
'div' : _0x21b268 ,
'progress' : _0x21b268 . querySelector ( 'progress' ) ,
'label' : _0x21b268 . querySelector ( 'label' )
} , _0x326931 [ _0x2a3aa7 . uuid ] [ _0x2a3aa7 . remoteUserId ] . progress . max = _0x2a3aa7 . maxChunks ;
} , _0x519a30 . onFileProgress = function ( _0x4330ac ) {
var _0x2fa590 = _0x326931 [ _0x4330ac . uuid ] ;
_0x2fa590 && ( _0x4330ac . remoteUserId && ! ( _0x2fa590 = _0x326931 [ _0x4330ac . uuid ] [ _0x4330ac . remoteUserId ] ) || ( _0x2fa590 . progress . value = _0x4330ac . currentPosition || _0x4330ac . maxChunks || _0x2fa590 . progress . max , function ( _0x5df338 , _0x284eff ) {
if ( - 0x1 !== _0x5df338 . position ) {
var _0x2fa590 = + _0x5df338 . position . toFixed ( 0x2 ) . split ( '.' ) [ 0x1 ] || 0x64 ;
_0x284eff . innerHTML = _0x2fa590 + '%' ;
}
} ( _0x2fa590 . progress , _0x2fa590 . label ) ) ) ;
} , _0x519a30 . onFileEnd = function ( _0x60ee3b ) {
var _0x2fa590 = _0x326931 [ _0x60ee3b . uuid ] ;
if ( _0x2fa590 ) {
if ( ! _0x60ee3b . remoteUserId || ( _0x2fa590 = _0x326931 [ _0x60ee3b . uuid ] [ _0x60ee3b . remoteUserId ] ) ) {
var _0x21b268 = _0x2fa590 . div ; - 0x1 != _0x60ee3b . type . indexOf ( 'image' ) ? _0x21b268 . innerHTML = '<a href="' + _0x60ee3b . url + '" download="' + _0x60ee3b . name + '">Download <strong style="color:red;">' + _0x60ee3b . name + '</strong> </a><br /><img src="' + _0x60ee3b . url + '" title="' + _0x60ee3b . name + '" style="max-width: 80%;">' : _0x21b268 . innerHTML = '<a href="' + _0x60ee3b . url + '" download="' + _0x60ee3b . name + '">Download <strong style="color:red;">' + _0x60ee3b . name + '</strong> </a><br /><iframe src="' + _0x60ee3b . url + '" title="' + _0x60ee3b . name + '" style="width: 80%;border: 0;height: inherit;margin-top:1em;"></iframe>' ;
}
} else console . error ( 'No such progress-helper element exist.' , _0x60ee3b ) ;
} ;
}
} ,
_0x400337 = {
'handle' : function ( _0x386b1a ) {
_0x386b1a . autoTranslateText = ! 0x1 , _0x386b1a . language = 'en' , _0x386b1a . googKey = 'AIzaSyCgB5hmFY74WYB-EoWkhr9cAGr6TiTHrEE' , _0x386b1a . Translator = {
'TranslateText' : function ( _0x211215 , _0x254987 ) {
var _0x21b268 = document . createElement ( 'script' ) ;
_0x21b268 . type = 'text/javascript' ;
var _0x521a09 = encodeURIComponent ( _0x211215 ) ,
_0x4a4191 = 'method' + _0x386b1a . token ( ) ;
window [ _0x4a4191 ] = function ( _0x9cc9a ) {
_0x9cc9a . data && _0x9cc9a . data . translations [ 0x0 ] && _0x254987 ? _0x254987 ( _0x9cc9a . data . translations [ 0x0 ] . translatedText ) : _0x9cc9a . error && 'Daily Limit Exceeded' === _0x9cc9a . error . message ? console . error ( 'Text translation failed. Error message: "Daily Limit Exceeded."' ) : _0x9cc9a . error ? console . error ( _0x9cc9a . error . message ) : console . error ( _0x9cc9a ) ;
} ;
var _0xfca442 = 'https://www.googleapis.com/language/translate/v2?key=' + _0x386b1a . googKey + '&target=' + ( _0x386b1a . language || 'en-US' ) + '&callback=window.' + _0x4a4191 + '&q=' + _0x521a09 ;
_0x21b268 . src = _0xfca442 , document . getElementsByTagName ( 'head' ) [ 0x0 ] . appendChild ( _0x21b268 ) ;
} ,
'getListOfLanguages' : function ( _0x36cf7f ) {
var _0x2fa590 = new XMLHttpRequest ( ) ;
_0x2fa590 . onreadystatechange = function ( ) {
if ( _0x2fa590 . readyState == XMLHttpRequest . DONE ) {
var _0x386b1a = JSON . parse ( _0x2fa590 . responseText ) ;
if ( _0x386b1a && _0x386b1a . data && _0x386b1a . data . languages ) return void _0x36cf7f ( _0x386b1a . data . languages ) ;
if ( _0x386b1a . error && 'Daily Limit Exceeded' === _0x386b1a . error . message ) return void console . error ( 'Text translation failed. Error message: "Daily Limit Exceeded."' ) ;
if ( _0x386b1a . error ) return void console . error ( _0x386b1a . error . message ) ;
console . error ( _0x386b1a ) ;
}
} ;
var _0x21b268 = 'https://www.googleapis.com/language/translate/v2/languages?key=' + _0x386b1a . googKey + '&target=en' ;
_0x2fa590 . open ( 'GET' , _0x21b268 , true ) , _0x2fa590 . send ( null ) ;
}
} ;
}
} ;
! function ( _0x51c1c9 ) {
_0x326931 = _0x326931 || {
'useDefaultDevices' : true
} , _0x51c1c9 . channel = _0x51c1c9 . sessionid = ( _0x1056a5 || location . href . replace ( /\/|:|#|\?|\$|\^|%|\.|`|~|!|\+|@|\[|\||]|\|*. /g , '' ) . split ( '\n' ) . join ( '' ) . split ( '\x0d' ) . join ( '' ) ) + '' ;
var _0x21b268 = new _0x11ea4f ( _0x51c1c9 ) ,
_0x521a09 = { } ;
function _0x2db9d8 ( _0x3112a3 ) {
if ( _0x51c1c9 . socketAutoReConnect = true , _0x51c1c9 . socket ) _0x3112a3 && _0x3112a3 ( _0x51c1c9 . socket ) ;
else {
if ( void 0x0 === _0x45c30f )
if ( 'undefined' != typeof FirebaseConnection ) window . SocketConnection = FirebaseConnection ;
else {
if ( 'undefined' == typeof PubNubConnection ) throw 'SocketConnection.js seems missed.' ;
window . SocketConnection = PubNubConnection ;
}
new _0x45c30f ( _0x51c1c9 , function ( _0xbc287b ) {
_0x3112a3 && _0x3112a3 ( _0x51c1c9 . socket ) ;
} ) ;
}
}
function _0x6a70ac ( _0x2eb7ca , _0x54a40d ) {
_0x51c1c9 . socket . emit ( 'join-room' , {
'sessionid' : _0x51c1c9 . sessionid ,
'session' : _0x51c1c9 . session ,
'mediaConstraints' : _0x51c1c9 . mediaConstraints ,
'sdpConstraints' : _0x51c1c9 . sdpConstraints ,
'streams' : _0x3121c9 ( ) ,
'extra' : _0x51c1c9 . extra ,
'password' : void 0x0 !== _0x51c1c9 . password && 'object' !== _0x4ffbab ( _0x51c1c9 . password ) ? _0x51c1c9 . password : ''
} , function ( _0x35f814 , _0x1c1c0b ) {
if ( true === _0x35f814 ) {
if ( _0x51c1c9 . enableLogs && console . log ( 'isRoomJoined: ' , _0x35f814 , ' roomid: ' , _0x51c1c9 . sessionid ) , _0x51c1c9 . peers [ _0x51c1c9 . sessionid ] ) return ;
_0x21b268 . onNegotiationNeeded ( _0x2eb7ca ) ;
} ! 0x1 === _0x35f814 && _0x51c1c9 . enableLogs && console . warn ( 'isRoomJoined: ' , _0x1c1c0b , ' roomid: ' , _0x51c1c9 . sessionid ) , _0x54a40d ( _0x35f814 , _0x51c1c9 . sessionid , _0x1c1c0b ) ;
} ) ;
}
function _0x484896 ( _0xaeb629 ) {
_0x51c1c9 . enableLogs && console . log ( 'Sending open-room signal to socket.io' ) , _0x51c1c9 . waitingForLocalMedia = ! 0x1 , _0x51c1c9 . socket . emit ( 'open-room' , {
'sessionid' : _0x51c1c9 . sessionid ,
'session' : _0x51c1c9 . session ,
'mediaConstraints' : _0x51c1c9 . mediaConstraints ,
'sdpConstraints' : _0x51c1c9 . sdpConstraints ,
'streams' : _0x3121c9 ( ) ,
'extra' : _0x51c1c9 . extra ,
'identifier' : _0x51c1c9 . publicRoomIdentifier ,
'password' : void 0x0 !== _0x51c1c9 . password && 'object' !== _0x4ffbab ( _0x51c1c9 . password ) ? _0x51c1c9 . password : ''
} , function ( _0x5de645 , _0x24b2b1 ) {
true === _0x5de645 && ( _0x51c1c9 . enableLogs && console . log ( 'isRoomOpened: ' , _0x5de645 , ' roomid: ' , _0x51c1c9 . sessionid ) , _0xaeb629 ( _0x5de645 , _0x51c1c9 . sessionid ) ) , ! 0x1 === _0x5de645 && ( _0x51c1c9 . enableLogs && console . warn ( 'isRoomOpened: ' , _0x24b2b1 , ' roomid: ' , _0x51c1c9 . sessionid ) , _0xaeb629 ( _0x5de645 , _0x51c1c9 . sessionid , _0x24b2b1 ) ) ;
} ) ;
}
function _0x3121c9 ( ) {
try {
return _0x51c1c9 . streamEvents . selectAll ( 'local' ) . map ( function ( _0x4301e9 ) {
return {
'streamid' : _0x4301e9 . streamid ,
'tracks' : _0x4301e9 . stream . getTracks ( ) . length
} ;
} ) ;
} catch ( _0x64ac4b ) {
return [ ] ;
}
}
function _0x373dce ( _0x510ce7 , _0xd10b33 ) {
if ( _0x51c1c9 . dontCaptureUserMedia || _0x510ce7 . isDataOnly ) _0xd10b33 ( ) ;
else {
var _0x521a09 = { } ;
_0x510ce7 . localPeerSdpConstraints . OfferToReceiveAudio && ( _0x521a09 . audio = _0x51c1c9 . mediaConstraints . audio ) , _0x510ce7 . localPeerSdpConstraints . OfferToReceiveVideo && ( _0x521a09 . video = _0x51c1c9 . mediaConstraints . video ) ;
var _0x27fd08 = _0x510ce7 . session || _0x51c1c9 . session ;
_0x27fd08 . oneway && 'two-way' !== _0x27fd08 . audio && 'two-way' !== _0x27fd08 . video && 'two-way' !== _0x27fd08 . screen ? _0xd10b33 ( ) : ( _0x27fd08 . oneway && _0x27fd08 . audio && 'two-way' === _0x27fd08 . audio && ( _0x27fd08 = {
'audio' : true
} ) , ( _0x27fd08 . audio || _0x27fd08 . video || _0x27fd08 . screen ) && ( _0x27fd08 . screen ? 'Edge' === DetectRTC . browser . name ? navigator . getDisplayMedia ( {
'video' : true ,
'audio' : _0x93df62 ( _0x51c1c9 )
} ) . then ( function ( _0xceda9e ) {
_0xceda9e . isScreen = true , _0x21b268 . onGettingLocalMedia ( _0xceda9e ) , ! _0x27fd08 . audio && ! _0x27fd08 . video || _0x93df62 ( _0x51c1c9 ) ? _0xd10b33 ( _0xceda9e ) : _0x51c1c9 . invokeGetUserMedia ( null , _0xd10b33 ) ;
} , function ( _0x15d180 ) {
console . error ( 'Unable to capture screen on Edge. HTTPs and version 17+ is required.' ) ;
} ) : _0x51c1c9 . getScreenConstraints ( function ( _0x81d091 , _0x38bce3 ) {
_0x51c1c9 . invokeGetUserMedia ( {
'audio' : ! ! _0x93df62 ( _0x51c1c9 ) && _0x405170 ( _0x38bce3 ) ,
'video' : _0x38bce3 ,
'isScreen' : true
} , ! _0x27fd08 . audio && ! _0x27fd08 . video || _0x93df62 ( _0x51c1c9 ) ? _0xd10b33 : _0x51c1c9 . invokeGetUserMedia ( null , _0xd10b33 ) ) ;
} ) : ( _0x27fd08 . audio || _0x27fd08 . video ) && _0x51c1c9 . invokeGetUserMedia ( null , _0xd10b33 , _0x27fd08 ) ) ) ;
}
}
function _0x2559f7 ( _0x54aa63 , _0x15ef31 ) {
_0x54aa63 ? ( _0x15ef31 . audio && _0x2cbba5 ( _0x54aa63 , 'audio' ) . forEach ( function ( _0x3eb0f7 ) {
_0x3eb0f7 . applyConstraints ( _0x15ef31 . audio ) ;
} ) , _0x15ef31 . video && _0x2cbba5 ( _0x54aa63 , 'video' ) . forEach ( function ( _0x404e22 ) {
_0x404e22 . applyConstraints ( _0x15ef31 . video ) ;
} ) ) : _0x51c1c9 . enableLogs && console . error ( 'No stream to applyConstraints.' ) ;
}
function _0x44cd42 ( _0xa4ae78 , _0xd64125 , _0x3b5c67 ) {
_0xd64125 ? _0x21b268 . replaceTrack ( _0xa4ae78 , _0xd64125 , _0x3b5c67 ) : _0x51c1c9 . peers . getAllParticipants ( ) . forEach ( function ( _0x67f7c1 ) {
_0x21b268 . replaceTrack ( _0xa4ae78 , _0x67f7c1 , _0x3b5c67 ) ;
} ) ;
}
_0x21b268 . onGettingLocalMedia = function ( _0x399d43 , _0x84fca0 ) {
if ( _0x84fca0 = _0x84fca0 || function ( ) { } , _0x521a09 [ _0x399d43 . streamid ] ) _0x84fca0 ( ) ;
else {
_0x521a09 [ _0x399d43 . streamid ] = true ;
try {
_0x399d43 . type = 'local' ;
} catch ( _0x17f6f2 ) { }
_0x51c1c9 . setStreamEndHandler ( _0x399d43 ) , _0x412d65 ( _0x399d43 , function ( _0x2ad0da ) {
_0x2ad0da . id = _0x399d43 . streamid , _0x2ad0da . muted = true , _0x2ad0da . volume = 0x0 , - 0x1 === _0x51c1c9 . attachStreams . indexOf ( _0x399d43 ) && _0x51c1c9 . attachStreams . push ( _0x399d43 ) , void 0x0 !== _0x25e82e && _0x25e82e . setHandlers ( _0x399d43 , true , _0x51c1c9 ) , _0x51c1c9 . streamEvents [ _0x399d43 . streamid ] = {
'stream' : _0x399d43 ,
'type' : 'local' ,
'mediaElement' : _0x2ad0da ,
'userid' : _0x51c1c9 . userid ,
'extra' : _0x51c1c9 . extra ,
'streamid' : _0x399d43 . streamid ,
'isAudioMuted' : true
} ;
try {
! function ( _0x535d1c , _0x240dfe ) {
if ( _0x240dfe . stream && _0x2cbba5 ( _0x240dfe . stream , 'audio' ) . length ) {
if ( ! _0x535d1c || ! _0x240dfe ) throw 'Both arguments are required.' ;
if ( _0x535d1c . onspeaking && _0x535d1c . onsilence ) {
if ( 'undefined' == typeof hark ) throw 'hark.js not found.' ;
hark ( _0x240dfe . stream , {
'onspeaking' : function ( ) {
_0x535d1c . onspeaking ( _0x240dfe ) ;
} ,
'onsilence' : function ( ) {
_0x535d1c . onsilence ( _0x240dfe ) ;
} ,
'onvolumechange' : function ( _0x114490 , _0x4f35b0 ) {
_0x535d1c . onvolumechange && _0x535d1c . onvolumechange ( _0x1e6a28 ( {
'volume' : _0x114490 ,
'threshold' : _0x4f35b0
} , _0x240dfe ) ) ;
}
} ) ;
}
}
} ( _0x51c1c9 , _0x51c1c9 . streamEvents [ _0x399d43 . streamid ] ) , _0x57b754 ( _0x51c1c9 , _0x51c1c9 . streamEvents [ _0x399d43 . streamid ] ) , _0x51c1c9 . onstream ( _0x51c1c9 . streamEvents [ _0x399d43 . streamid ] ) ;
} catch ( _0x459936 ) { }
_0x84fca0 ( ) ;
} , _0x51c1c9 ) ;
}
} , _0x21b268 . onGettingRemoteMedia = function ( _0x54dff5 , _0x2bab67 ) {
try {
_0x54dff5 . type = 'remote' ;
} catch ( _0x2b68f0 ) { }
_0x51c1c9 . setStreamEndHandler ( _0x54dff5 , 'remote-stream' ) , _0x412d65 ( _0x54dff5 , function ( _0x291e4f ) {
_0x291e4f . id = _0x54dff5 . streamid , void 0x0 !== _0x25e82e && _0x25e82e . setHandlers ( _0x54dff5 , ! 0x1 , _0x51c1c9 ) , _0x51c1c9 . streamEvents [ _0x54dff5 . streamid ] = {
'stream' : _0x54dff5 ,
'type' : 'remote' ,
'userid' : _0x2bab67 ,
'extra' : _0x51c1c9 . peers [ _0x2bab67 ] ? _0x51c1c9 . peers [ _0x2bab67 ] . extra : { } ,
'mediaElement' : _0x291e4f ,
'streamid' : _0x54dff5 . streamid
} , _0x57b754 ( _0x51c1c9 , _0x51c1c9 . streamEvents [ _0x54dff5 . streamid ] ) , _0x51c1c9 . onstream ( _0x51c1c9 . streamEvents [ _0x54dff5 . streamid ] ) ;
} , _0x51c1c9 ) ;
} , _0x21b268 . onRemovingRemoteMedia = function ( _0x5e7396 , _0x1a735c ) {
var _0x21b268 = _0x51c1c9 . streamEvents [ _0x5e7396 . streamid ] ;
_0x21b268 || ( _0x21b268 = {
'stream' : _0x5e7396 ,
'type' : 'remote' ,
'userid' : _0x1a735c ,
'extra' : _0x51c1c9 . peers [ _0x1a735c ] ? _0x51c1c9 . peers [ _0x1a735c ] . extra : { } ,
'streamid' : _0x5e7396 . streamid ,
'mediaElement' : _0x51c1c9 . streamEvents [ _0x5e7396 . streamid ] ? _0x51c1c9 . streamEvents [ _0x5e7396 . streamid ] . mediaElement : null
} ) , _0x51c1c9 . peersBackup [ _0x21b268 . userid ] && ( _0x21b268 . extra = _0x51c1c9 . peersBackup [ _0x21b268 . userid ] . extra ) , _0x51c1c9 . onstreamended ( _0x21b268 ) , delete _0x51c1c9 . streamEvents [ _0x5e7396 . streamid ] ;
} , _0x21b268 . onNegotiationNeeded = function ( _0x2d936f , _0x4e2d94 , _0x5d7bb5 ) {
_0x5d7bb5 = _0x5d7bb5 || function ( ) { } ;
var _0x521a09 = {
'remoteUserId' : _0x4e2d94 = _0x4e2d94 || _0x2d936f . remoteUserId ,
'message' : _0x2d936f = _0x2d936f || '' ,
'sender' : _0x51c1c9 . userid
} ;
_0x2d936f . remoteUserId && _0x2d936f . message && _0x2d936f . sender && ( _0x521a09 = _0x2d936f ) , _0x2db9d8 ( function ( ) {
_0x51c1c9 . socket . emit ( _0x51c1c9 . socketMessageEvent , _0x521a09 , _0x5d7bb5 ) ;
} ) ;
} , _0x21b268 . onUserLeft = function ( _0x76e281 ) {
_0x51c1c9 . deletePeer ( _0x76e281 ) ;
} , _0x21b268 . disconnectWith = function ( _0x88879c , _0x323747 ) {
_0x51c1c9 . socket && _0x51c1c9 . socket . emit ( 'disconnect-with' , _0x88879c , _0x323747 || function ( ) { } ) , _0x51c1c9 . deletePeer ( _0x88879c ) ;
} , _0x51c1c9 . socketOptions = {
'transport' : 'polling'
} , _0x51c1c9 . openOrJoin = function ( _0x66fc69 , _0xba3fb1 ) {
_0xba3fb1 = _0xba3fb1 || function ( ) { } , _0x51c1c9 . checkPresence ( _0x66fc69 , function ( _0x1c5cec , _0x207cb3 ) {
if ( _0x1c5cec ) {
_0x51c1c9 . sessionid = _0x207cb3 ;
var _0x521a09 , _0x429662 , _0x22a5af = ! ! _0x51c1c9 . session . oneway ,
_0x5851c5 = _0x5deab2 ( _0x51c1c9 . session ) ;
_0x429662 = {
'OfferToReceiveAudio' : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveVideo
} , _0x521a09 = {
'OfferToReceiveAudio' : _0x22a5af ? ! ! _0x51c1c9 . session . audio : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0x22a5af ? ! ! _0x51c1c9 . session . video || ! ! _0x51c1c9 . session . screen : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveVideo
} ;
var _0x3fb79d = {
'remoteUserId' : _0x51c1c9 . sessionid ,
'message' : {
'newParticipationRequest' : true ,
'isOneWay' : _0x22a5af ,
'isDataOnly' : _0x5851c5 ,
'localPeerSdpConstraints' : _0x521a09 ,
'remotePeerSdpConstraints' : _0x429662
} ,
'sender' : _0x51c1c9 . userid
} ;
_0x373dce ( _0x3fb79d . message , function ( ) {
_0x6a70ac ( _0x3fb79d , _0xba3fb1 ) ;
} ) ;
} else _0x51c1c9 . waitingForLocalMedia = true , _0x51c1c9 . isInitiator = true , _0x51c1c9 . sessionid = _0x207cb3 || _0x51c1c9 . sessionid , _0x5deab2 ( _0x51c1c9 . session ) ? _0x484896 ( _0xba3fb1 ) : _0x51c1c9 . captureUserMedia ( function ( ) {
_0x484896 ( _0xba3fb1 ) ;
} ) ;
} ) ;
} , _0x51c1c9 . waitingForLocalMedia = ! 0x1 , _0x51c1c9 . open = function ( _0x572e80 , _0x37b154 ) {
_0x37b154 = _0x37b154 || function ( ) { } , _0x51c1c9 . waitingForLocalMedia = true , _0x51c1c9 . isInitiator = true , _0x51c1c9 . sessionid = _0x572e80 || _0x51c1c9 . sessionid , _0x2db9d8 ( function ( ) {
_0x5deab2 ( _0x51c1c9 . session ) ? _0x484896 ( _0x37b154 ) : _0x51c1c9 . captureUserMedia ( function ( ) {
_0x484896 ( _0x37b154 ) ;
} ) ;
} ) ;
} , _0x51c1c9 . peersBackup = { } , _0x51c1c9 . deletePeer = function ( _0x31e4e4 ) {
if ( _0x31e4e4 && _0x51c1c9 . peers [ _0x31e4e4 ] ) {
var _0x326931 = {
'userid' : _0x31e4e4 ,
'extra' : _0x51c1c9 . peers [ _0x31e4e4 ] ? _0x51c1c9 . peers [ _0x31e4e4 ] . extra : { }
} ;
if ( _0x51c1c9 . peersBackup [ _0x326931 . userid ] && ( _0x326931 . extra = _0x51c1c9 . peersBackup [ _0x326931 . userid ] . extra ) , _0x51c1c9 . onleave ( _0x326931 ) , _0x51c1c9 . peers [ _0x31e4e4 ] ) {
_0x51c1c9 . peers [ _0x31e4e4 ] . streams . forEach ( function ( _0x424150 ) {
_0x424150 . stop ( ) ;
} ) ;
var _0x21b268 = _0x51c1c9 . peers [ _0x31e4e4 ] . peer ;
if ( _0x21b268 && 'closed' !== _0x21b268 . iceConnectionState ) try {
_0x21b268 . close ( ) ;
} catch ( _0x24b95f ) { }
_0x51c1c9 . peers [ _0x31e4e4 ] && ( _0x51c1c9 . peers [ _0x31e4e4 ] . peer = null , delete _0x51c1c9 . peers [ _0x31e4e4 ] ) ;
}
}
} , _0x51c1c9 . rejoin = function ( _0x22fd47 ) {
if ( ! _0x51c1c9 . isInitiator && _0x22fd47 && Object . keys ( _0x22fd47 ) . length ) {
var _0x326931 = { } ;
_0x51c1c9 . peers [ _0x22fd47 . remoteUserId ] && ( _0x326931 = _0x51c1c9 . peers [ _0x22fd47 . remoteUserId ] . extra , _0x51c1c9 . deletePeer ( _0x22fd47 . remoteUserId ) ) , _0x22fd47 && _0x22fd47 . remoteUserId && ( _0x51c1c9 . join ( _0x22fd47 . remoteUserId ) , _0x51c1c9 . onReConnecting ( {
'userid' : _0x22fd47 . remoteUserId ,
'extra' : _0x326931
} ) ) ;
}
} , _0x51c1c9 . join = function ( _0x4b656a , _0x35b82f ) {
_0x51c1c9 . sessionid = ! ! _0x4b656a && ( _0x4b656a . sessionid || _0x4b656a . remoteUserId || _0x4b656a ) || _0x51c1c9 . sessionid , _0x51c1c9 . sessionid += '' ;
var _0x21b268 = ! 0x1 ,
_0x521a09 = ! 0x1 ,
_0x20e7ef = ! 0x1 ,
_0x4b614d = ! 0x1 ;
if ( _0x4b656a && _0x4b656a . session || ! _0x4b656a || 'string' == typeof _0x4b656a ) {
var _0x447147 = _0x4b656a && _0x4b656a . session || _0x51c1c9 . session ;
_0x20e7ef = ! ! _0x447147 . oneway , _0x4b614d = _0x5deab2 ( _0x447147 ) , _0x521a09 = {
'OfferToReceiveAudio' : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveVideo
} , _0x21b268 = {
'OfferToReceiveAudio' : _0x20e7ef ? ! ! _0x51c1c9 . session . audio : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveAudio ,
'OfferToReceiveVideo' : _0x20e7ef ? ! ! _0x51c1c9 . session . video || ! ! _0x51c1c9 . session . screen : _0x51c1c9 . sdpConstraints . mandatory . OfferToReceiveVideo
} ;
}
var _0x13518b = function ( ) { } ;
'function' == typeof ( _0x35b82f = _0x35b82f || { } ) && ( _0x13518b = _0x35b82f , _0x35b82f = { } ) , void 0x0 !== _0x35b82f . localPeerSdpConstraints && ( _0x21b268 = _0x35b82f . localPeerSdpConstraints ) , void 0x0 !== _0x35b82f . remotePeerSdpConstraints && ( _0x521a09 = _0x35b82f . remotePeerSdpConstraints ) , void 0x0 !== _0x35b82f . isOneWay && ( _0x20e7ef = _0x35b82f . isOneWay ) , void 0x0 !== _0x35b82f . isDataOnly && ( _0x4b614d = _0x35b82f . isDataOnly ) ;
var _0xcceebc = {
'remoteUserId' : _0x51c1c9 . sessionid ,
'message' : {
'newParticipationRequest' : true ,
'isOneWay' : _0x20e7ef ,
'isDataOnly' : _0x4b614d ,
'localPeerSdpConstraints' : _0x21b268 ,
'remotePeerSdpConstraints' : _0x521a09
} ,
'sender' : _0x51c1c9 . userid
} ;
return _0x373dce ( _0xcceebc . message , function ( ) {
_0x2db9d8 ( function ( ) {
_0x6a70ac ( _0xcceebc , _0x13518b ) ;
} ) ;
} ) , _0xcceebc ;
} , _0x51c1c9 . publicRoomIdentifier = '' , _0x51c1c9 . getUserMedia = _0x51c1c9 . captureUserMedia = function ( _0x3ae868 , _0x4adbb1 ) {
_0x3ae868 = _0x3ae868 || function ( ) { } ;
var _0x521a09 = _0x4adbb1 || _0x51c1c9 . session ;
_0x51c1c9 . dontCaptureUserMedia || _0x5deab2 ( _0x521a09 ) ? _0x3ae868 ( ) : ( _0x521a09 . audio || _0x521a09 . video || _0x521a09 . screen ) && ( _0x521a09 . screen ? 'Edge' === DetectRTC . browser . name ? navigator . getDisplayMedia ( {
'video' : true ,
'audio' : _0x93df62 ( _0x51c1c9 )
} ) . then ( function ( _0x31597a ) {
if ( _0x31597a . isScreen = true , _0x21b268 . onGettingLocalMedia ( _0x31597a ) , ! _0x521a09 . audio && ! _0x521a09 . video || _0x93df62 ( _0x51c1c9 ) ) _0x3ae868 ( _0x31597a ) ;
else {
var _0x76c694 = { } ;
for ( var _0x1bab2d in _0x521a09 ) 'screen' !== _0x1bab2d && ( _0x76c694 [ _0x1bab2d ] = _0x521a09 [ _0x1bab2d ] ) ;
_0x51c1c9 . invokeGetUserMedia ( _0x4adbb1 , _0x3ae868 , _0x76c694 ) ;
}
} , function ( _0x286f92 ) {
console . error ( 'Unable to capture screen on Edge. HTTPs and version 17+ is required.' ) ;
} ) : _0x51c1c9 . getScreenConstraints ( function ( _0x33fd74 , _0x4af197 ) {
if ( _0x33fd74 ) throw _0x33fd74 ;
_0x51c1c9 . invokeGetUserMedia ( {
'audio' : ! ! _0x93df62 ( _0x51c1c9 ) && _0x405170 ( _0x4af197 ) ,
'video' : _0x4af197 ,
'isScreen' : true
} , function ( _0x295451 ) {
if ( ! _0x521a09 . audio && ! _0x521a09 . video || _0x93df62 ( _0x51c1c9 ) ) _0x3ae868 ( _0x295451 ) ;
else {
var _0x4af197 = { } ;
for ( var _0x3fbf75 in _0x521a09 ) 'screen' !== _0x3fbf75 && ( _0x4af197 [ _0x3fbf75 ] = _0x521a09 [ _0x3fbf75 ] ) ;
_0x51c1c9 . invokeGetUserMedia ( _0x4adbb1 , _0x3ae868 , _0x4af197 ) ;
}
} ) ;
} ) : ( _0x521a09 . audio || _0x521a09 . video ) && _0x51c1c9 . invokeGetUserMedia ( _0x4adbb1 , _0x3ae868 , _0x521a09 ) ) ;
} , _0x51c1c9 . onbeforeunload = function ( _0x403853 , _0xcfe5cf ) {
_0x51c1c9 . closeBeforeUnload && ( _0x51c1c9 . peers . getAllParticipants ( ) . forEach ( function ( _0x135225 ) {
_0x21b268 . onNegotiationNeeded ( {
'userLeft' : true
} , _0x135225 ) , _0x51c1c9 . peers [ _0x135225 ] && _0x51c1c9 . peers [ _0x135225 ] . peer && _0x51c1c9 . peers [ _0x135225 ] . peer . close ( ) , delete _0x51c1c9 . peers [ _0x135225 ] ;
} ) , _0xcfe5cf || _0x51c1c9 . closeSocket ( ) , _0x51c1c9 . isInitiator = ! 0x1 ) ;
} , window . ignoreBeforeUnload ? _0x51c1c9 . closeBeforeUnload = ! 0x1 : ( _0x51c1c9 . closeBeforeUnload = true , window . addEventListener ( 'beforeunload' , _0x51c1c9 . onbeforeunload , ! 0x1 ) ) , _0x51c1c9 . userid = _0x5b8d5d ( ) , _0x51c1c9 . changeUserId = function ( _0x305ce9 , _0x4c71e8 ) {
_0x4c71e8 = _0x4c71e8 || function ( ) { } , _0x51c1c9 . userid = _0x305ce9 || _0x5b8d5d ( ) , _0x51c1c9 . socket . emit ( 'changed-uuid' , _0x51c1c9 . userid , _0x4c71e8 ) ;
} , _0x51c1c9 . extra = { } , _0x51c1c9 . attachStreams = [ ] , _0x51c1c9 . session = {
'audio' : true ,
'video' : true
} , _0x51c1c9 . enableFileSharing = ! 0x1 , _0x51c1c9 . bandwidth = {
'screen' : ! 0x1 ,
'audio' : ! 0x1 ,
'video' : ! 0x1
} , _0x51c1c9 . codecs = {
'audio' : 'opus' ,
'video' : 'VP9'
} , _0x51c1c9 . processSdp = function ( _0xec5090 ) {
return _0x5407aa ( ) ? _0xec5090 : 'Safari' === DetectRTC . browser . name ? _0xec5090 : ( 'VP8' === _0x51c1c9 . codecs . video . toUpperCase ( ) && ( _0xec5090 = _0x42fdaa . preferCodec ( _0xec5090 , 'vp8' ) ) , 'VP9' === _0x51c1c9 . codecs . video . toUpperCase ( ) && ( _0xec5090 = _0x42fdaa . preferCodec ( _0xec5090 , 'vp9' ) ) , 'H264' === _0x51c1c9 . codecs . video . toUpperCase ( ) && ( _0xec5090 = _0x42fdaa . preferCodec ( _0xec5090 , 'h264' ) ) , 'G722' === _0x51c1c9 . codecs . audio && ( _0xec5090 = _0x42fdaa . removeNonG722 ( _0xec5090 ) ) , 'Firefox' === DetectRTC . browser . name ? _0xec5090 : ( ( _0x51c1c9 . bandwidth . video || _0x51c1c9 . bandwidth . screen ) && ( _0xec5090 = _0x42fdaa . setApplicationSpecificBandwidth ( _0xec5090 , _0x51c1c9 . bandwidth , ! ! _0x51c1c9 . session . screen ) ) , _0x51c1c9 . bandwidth . video && ( _0xec5090 = _0x42fdaa . setVideoBitrates ( _0xec5090 , {
'min' : 0x8 * _0x51c1c9 . bandwidth . video * 0x400 ,
'max' : 0x8 * _0x51c1c9 . bandwidth . video * 0x400
} ) ) , _0x51c1c9 . bandwidth . audio && ( _0xec5090 = _0x42fdaa . setOpusAttributes ( _0xec5090 , {
'maxaveragebitrate' : 0x8 * _0x51c1c9 . bandwidth . audio * 0x400 ,
'maxplaybackrate' : 0x8 * _0x51c1c9 . bandwidth . audio * 0x400 ,
'stereo' : 0x1 ,
'maxptime' : 0x3
} ) ) , _0xec5090 ) ) ;
} , void 0x0 !== _0x42fdaa && ( _0x51c1c9 . BandwidthHandler = _0x51c1c9 . CodecsHandler = _0x42fdaa ) , _0x51c1c9 . mediaConstraints = {
'audio' : {
'mandatory' : { } ,
'optional' : _0x51c1c9 . bandwidth . audio ? [ {
'bandwidth' : 0x8 * _0x51c1c9 . bandwidth . audio * 0x400 || 0x100000
} ] : [ ]
} ,
'video' : {
'mandatory' : { } ,
'optional' : _0x51c1c9 . bandwidth . video ? [ {
'bandwidth' : 0x8 * _0x51c1c9 . bandwidth . video * 0x400 || 0x100000
} , {
'facingMode' : 'user'
} ] : [ {
'facingMode' : 'user'
} ]
}
} , 'Firefox' === DetectRTC . browser . name && ( _0x51c1c9 . mediaConstraints = {
'audio' : true ,
'video' : true
} ) , _0x326931 . useDefaultDevices || DetectRTC . isMobileDevice || DetectRTC . load ( function ( ) {
var _0x1056a5 , _0x326931 ;
if ( DetectRTC . MediaDevices . forEach ( function ( _0x1e1549 ) {
'audioinput' === _0x1e1549 . kind && ! 0x1 !== _0x51c1c9 . mediaConstraints . audio && ( _0x1056a5 = _0x1e1549 ) , 'videoinput' === _0x1e1549 . kind && ! 0x1 !== _0x51c1c9 . mediaConstraints . video && ( _0x326931 = _0x1e1549 ) ;
} ) , _0x1056a5 ) {
if ( 'Firefox' === DetectRTC . browser . name ) return void ( true !== _0x51c1c9 . mediaConstraints . audio ? _0x51c1c9 . mediaConstraints . audio . deviceId = _0x1056a5 . id : _0x51c1c9 . mediaConstraints . audio = {
'deviceId' : _0x1056a5 . id
} ) ;
0x1 == _0x51c1c9 . mediaConstraints . audio && ( _0x51c1c9 . mediaConstraints . audio = {
'mandatory' : { } ,
'optional' : [ ]
} ) , _0x51c1c9 . mediaConstraints . audio . optional || ( _0x51c1c9 . mediaConstraints . audio . optional = [ ] ) ;
var _0x21b268 = [ {
'sourceId' : _0x1056a5 . id
} ] ;
_0x51c1c9 . mediaConstraints . audio . optional = _0x21b268 . concat ( _0x51c1c9 . mediaConstraints . audio . optional ) ;
}
if ( _0x326931 ) {
if ( 'Firefox' === DetectRTC . browser . name ) return void ( true !== _0x51c1c9 . mediaConstraints . video ? _0x51c1c9 . mediaConstraints . video . deviceId = _0x326931 . id : _0x51c1c9 . mediaConstraints . video = {
'deviceId' : _0x326931 . id
} ) ;
0x1 == _0x51c1c9 . mediaConstraints . video && ( _0x51c1c9 . mediaConstraints . video = {
'mandatory' : { } ,
'optional' : [ ]
} ) , _0x51c1c9 . mediaConstraints . video . optional || ( _0x51c1c9 . mediaConstraints . video . optional = [ ] ) ;
_0x21b268 = [ {
'sourceId' : _0x326931 . id
} ] ;
_0x51c1c9 . mediaConstraints . video . optional = _0x21b268 . concat ( _0x51c1c9 . mediaConstraints . video . optional ) ;
}
} ) , _0x51c1c9 . sdpConstraints = {
'mandatory' : {
'OfferToReceiveAudio' : true ,
'OfferToReceiveVideo' : true
} ,
'optional' : [ {
'VoiceActivityDetection' : ! 0x1
} ]
} , _0x51c1c9 . sdpSemantics = null , _0x51c1c9 . iceCandidatePoolSize = null , _0x51c1c9 . bundlePolicy = null , _0x51c1c9 . rtcpMuxPolicy = null , _0x51c1c9 . iceTransportPolicy = null , _0x51c1c9 . optionalArgument = {
'optional' : [ {
'DtlsSrtpKeyAgreement' : true
} , {
'googImprovedWifiBwe' : true
} , {
'googScreencastMinBitrate' : 0x12c
} , {
'googIPv6' : true
} , {
'googDscp' : true
} , {
'googCpuUnderuseThreshold' : 0x37
} , {
'googCpuOveruseThreshold' : 0x55
} , {
'googSuspendBelowMinBitrate' : true
} , {
'googCpuOveruseDetection' : true
} ] ,
'mandatory' : { }
} , _0x51c1c9 . iceServers = _0x3b9609 . getIceServers ( _0x51c1c9 ) , _0x51c1c9 . candidates = {
'host' : true ,
'stun' : true ,
'turn' : true
} , _0x51c1c9 . iceProtocols = {
'tcp' : true ,
'udp' : true
} , _0x51c1c9 . onopen = function ( _0x44d923 ) {
_0x51c1c9 . enableLogs && console . info ( 'Data connection has been opened between you & ' , _0x44d923 . userid ) ;
} , _0x51c1c9 . onclose = function ( _0x4bc33b ) {
_0x51c1c9 . enableLogs && console . warn ( 'Data connection has been closed between you & ' , _0x4bc33b . userid ) ;
} , _0x51c1c9 . onerror = function ( _0x119131 ) {
_0x51c1c9 . enableLogs && console . error ( _0x119131 . userid , 'data-error' , _0x119131 ) ;
} , _0x51c1c9 . onmessage = function ( _0x377929 ) {
_0x51c1c9 . enableLogs && console . debug ( 'data-message' , _0x377929 . userid , _0x377929 . data ) ;
} , _0x51c1c9 . send = function ( _0x21e29b , _0x2e0c9a ) {
_0x51c1c9 . peers . send ( _0x21e29b , _0x2e0c9a ) ;
} , _0x51c1c9 . close = _0x51c1c9 . disconnect = _0x51c1c9 . leave = function ( ) {
_0x51c1c9 . onbeforeunload ( ! 0x1 , true ) ;
} , _0x51c1c9 . closeEntireSession = function ( _0x5971f7 ) {
_0x5971f7 = _0x5971f7 || function ( ) { } , _0x51c1c9 . socket . emit ( 'close-entire-session' , function _0x326931 ( ) {
_0x51c1c9 . getAllParticipants ( ) . length ? setTimeout ( _0x326931 , 0x64 ) : ( _0x51c1c9 . onEntireSessionClosed ( {
'sessionid' : _0x51c1c9 . sessionid ,
'userid' : _0x51c1c9 . userid ,
'extra' : _0x51c1c9 . extra
} ) , _0x51c1c9 . changeUserId ( null , function ( ) {
_0x51c1c9 . close ( ) , _0x5971f7 ( ) ;
} ) ) ;
} ) ;
} , _0x51c1c9 . onEntireSessionClosed = function ( _0x308fc8 ) {
_0x51c1c9 . enableLogs && console . info ( 'Entire session is closed: ' , _0x308fc8 . sessionid , _0x308fc8 . extra ) ;
} , _0x51c1c9 . onstream = function ( _0x2795c9 ) {
var _0x326931 = _0x51c1c9 . videosContainer ;
_0x326931 . insertBefore ( _0x2795c9 . mediaElement , _0x326931 . firstChild ) ;
var _0x21b268 = _0x2795c9 . mediaElement . play ( ) ;
void 0x0 === _0x21b268 ? setTimeout ( function ( ) {
_0x2795c9 . mediaElement . play ( ) ;
} , 0x7d0 ) : _0x21b268 . catch ( function ( ) { } ) . then ( function ( ) {
setTimeout ( function ( ) {
_0x2795c9 . mediaElement . play ( ) ;
} , 0x7d0 ) ;
} ) ;
} , _0x51c1c9 . onstreamended = function ( _0x22b684 ) {
_0x22b684 . mediaElement || ( _0x22b684 . mediaElement = document . getElementById ( _0x22b684 . streamid ) ) , _0x22b684 . mediaElement && _0x22b684 . mediaElement . parentNode && _0x22b684 . mediaElement . parentNode . removeChild ( _0x22b684 . mediaElement ) ;
} , _0x51c1c9 . direction = 'many-to-many' , _0x51c1c9 . removeStream = function ( _0x5af7be , _0x17537a ) {
var _0x21b268 ;
_0x51c1c9 . attachStreams . forEach ( function ( _0xc4fbb0 ) {
_0xc4fbb0 . id === _0x5af7be && ( _0x21b268 = _0xc4fbb0 ) ;
} ) , _0x21b268 ? ( _0x51c1c9 . peers . getAllParticipants ( ) . forEach ( function ( _0x2bd479 ) {
if ( ! _0x17537a || _0x2bd479 === _0x17537a ) {
var _0x521a09 = _0x51c1c9 . peers [ _0x2bd479 ] ;
try {
_0x521a09 . peer . removeStream ( _0x21b268 ) ;
} catch ( _0x159ea4 ) { }
}
} ) , _0x51c1c9 . renegotiate ( ) ) : console . warn ( 'No such stream exist.' , _0x5af7be ) ;
} , _0x51c1c9 . addStream = function ( _0x44d589 , _0x5d1f28 ) {
if ( _0x44d589 . getTracks ) return - 0x1 === _0x51c1c9 . attachStreams . indexOf ( _0x44d589 ) && ( _0x44d589 . streamid || ( _0x44d589 . streamid = _0x44d589 . id ) , _0x51c1c9 . attachStreams . push ( _0x44d589 ) ) , void _0x51c1c9 . renegotiate ( _0x5d1f28 ) ;
function _0x5a47df ( _0x4cd18b ) {
_0x44d589 . streamCallback && _0x44d589 . streamCallback ( _0x4cd18b ) , _0x51c1c9 . renegotiate ( _0x5d1f28 ) ;
}
_0x5deab2 ( _0x44d589 ) ? _0x51c1c9 . renegotiate ( _0x5d1f28 ) : ( _0x44d589 . audio || _0x44d589 . video || _0x44d589 . screen ) && ( _0x44d589 . screen ? 'Edge' === DetectRTC . browser . name ? navigator . getDisplayMedia ( {
'video' : true ,
'audio' : _0x93df62 ( _0x51c1c9 )
} ) . then ( function ( _0x3bef4d ) {
_0x3bef4d . isScreen = true , _0x21b268 . onGettingLocalMedia ( _0x3bef4d ) , ! _0x44d589 . audio && ! _0x44d589 . video || _0x93df62 ( _0x51c1c9 ) ? _0x5a47df ( _0x3bef4d ) : _0x51c1c9 . invokeGetUserMedia ( null , function ( _0x108d5e ) {
_0x5a47df ( _0x108d5e ) ;
} ) ;
} , function ( _0x107d05 ) {
console . error ( 'Unable to capture screen on Edge. HTTPs and version 17+ is required.' ) ;
} ) : _0x51c1c9 . getScreenConstraints ( function ( _0x247e33 , _0x20dba5 ) {
if ( _0x247e33 ) return 'PermissionDeniedError' === _0x247e33 ? ( _0x44d589 . streamCallback && _0x44d589 . streamCallback ( null ) , void ( _0x51c1c9 . enableLogs && console . error ( 'User rejected to share his screen.' ) ) ) : alert ( _0x247e33 ) ;
_0x51c1c9 . invokeGetUserMedia ( {
'audio' : ! ! _0x93df62 ( _0x51c1c9 ) && _0x405170 ( _0x20dba5 ) ,
'video' : _0x20dba5 ,
'isScreen' : true
} , function ( _0x3558fb ) {
! _0x44d589 . audio && ! _0x44d589 . video || _0x93df62 ( _0x51c1c9 ) ? _0x5a47df ( _0x3558fb ) : _0x51c1c9 . invokeGetUserMedia ( null , function ( _0x301cff ) {
_0x5a47df ( _0x301cff ) ;
} ) ;
} ) ;
} ) : ( _0x44d589 . audio || _0x44d589 . video ) && _0x51c1c9 . invokeGetUserMedia ( null , _0x5a47df ) ) ;
} , _0x51c1c9 . invokeGetUserMedia = function ( _0x39db84 , _0x4c2007 , _0x587a84 ) {
_0x587a84 || ( _0x587a84 = _0x51c1c9 . session ) , _0x39db84 || ( _0x39db84 = _0x51c1c9 . mediaConstraints ) , _0x5adfda ( {
'onGettingLocalMedia' : function ( _0x4608af ) {
var _0x587a84 = _0x39db84 . video ;
_0x587a84 && ( _0x587a84 . mediaSource || _0x587a84 . mozMediaSource ? _0x4608af . isScreen = true : _0x587a84 . mandatory && _0x587a84 . mandatory . chromeMediaSource && ( _0x4608af . isScreen = true ) ) , _0x4608af . isScreen || ( _0x4608af . isVideo = ! ! _0x2cbba5 ( _0x4608af , 'video' ) . length , _0x4608af . isAudio = ! _0x4608af . isVideo && _0x2cbba5 ( _0x4608af , 'audio' ) . length ) , _0x21b268 . onGettingLocalMedia ( _0x4608af , function ( ) {
'function' == typeof _0x4c2007 && _0x4c2007 ( _0x4608af ) ;
} ) ;
} ,
'onLocalMediaError' : function ( _0x290ef1 , _0x3a75f5 ) {
_0x21b268 . onLocalMediaError ( _0x290ef1 , _0x3a75f5 ) ;
} ,
'localMediaConstraints' : _0x39db84 || {
'audio' : ! ! _0x587a84 . audio && _0x39db84 . audio ,
'video' : ! ! _0x587a84 . video && _0x39db84 . video
}
} ) ;
} , _0x51c1c9 . applyConstraints = function ( _0x314dfa , _0x295b4a ) {
if ( _0x1d01b4 && _0x1d01b4 . prototype . applyConstraints ) {
var _0x21b268 ;
if ( _0x295b4a ) return _0x51c1c9 . streamEvents [ _0x295b4a ] && ( _0x21b268 = _0x51c1c9 . streamEvents [ _0x295b4a ] . stream ) , void _0x2559f7 ( _0x21b268 , _0x314dfa ) ;
_0x51c1c9 . attachStreams . forEach ( function ( _0x4e7a56 ) {
_0x2559f7 ( _0x4e7a56 , _0x314dfa ) ;
} ) ;
} else alert ( 'track.applyConstraints is NOT supported in your browser.' ) ;
} , _0x51c1c9 . replaceTrack = function ( _0x3642cb , _0xd04c26 , _0x485038 ) {
if ( _0x3642cb = _0x3642cb || { } , _0x2a4be1 . prototype . getSenders )
if ( _0x3642cb instanceof _0x1d01b4 ) _0x44cd42 ( _0x3642cb , _0xd04c26 , _0x485038 ) ;
else {
if ( _0x3642cb instanceof _0x1d809b ) return _0x2cbba5 ( _0x3642cb , 'video' ) . length && _0x44cd42 ( _0x2cbba5 ( _0x3642cb , 'video' ) [ 0x0 ] , _0xd04c26 , true ) , void ( _0x2cbba5 ( _0x3642cb , 'audio' ) . length && _0x44cd42 ( _0x2cbba5 ( _0x3642cb , 'audio' ) [ 0x0 ] , _0xd04c26 , ! 0x1 ) ) ;
if ( _0x5deab2 ( _0x3642cb ) ) throw 'connection.replaceTrack requires audio and/or video and/or screen.' ;
( _0x3642cb . audio || _0x3642cb . video || _0x3642cb . screen ) && ( _0x3642cb . screen ? 'Edge' === DetectRTC . browser . name ? navigator . getDisplayMedia ( {
'video' : true ,
'audio' : _0x93df62 ( _0x51c1c9 )
} ) . then ( function ( _0x675faf ) {
_0x675faf . isScreen = true , _0x21b268 . onGettingLocalMedia ( _0x675faf ) , ! _0x3642cb . audio && ! _0x3642cb . video || _0x93df62 ( _0x51c1c9 ) ? _0x564a08 ( _0x675faf ) : _0x51c1c9 . invokeGetUserMedia ( null , _0x564a08 ) ;
} , function ( _0x4219c9 ) {
console . error ( 'Unable to capture screen on Edge. HTTPs and version 17+ is required.' ) ;
} ) : _0x51c1c9 . getScreenConstraints ( function ( _0x38cb24 , _0x2fa66e ) {
if ( _0x38cb24 ) return alert ( _0x38cb24 ) ;
_0x51c1c9 . invokeGetUserMedia ( {
'audio' : ! ! _0x93df62 ( _0x51c1c9 ) && _0x405170 ( _0x2fa66e ) ,
'video' : _0x2fa66e ,
'isScreen' : true
} , ! _0x3642cb . audio && ! _0x3642cb . video || _0x93df62 ( _0x51c1c9 ) ? _0x564a08 : _0x51c1c9 . invokeGetUserMedia ( null , _0x564a08 ) ) ;
} ) : ( _0x3642cb . audio || _0x3642cb . video ) && _0x51c1c9 . invokeGetUserMedia ( null , _0x564a08 ) ) ;
}
else _0x51c1c9 . addStream ( _0x3642cb ) ;
function _0x564a08 ( _0x547ff0 ) {
_0x51c1c9 . replaceTrack ( _0x547ff0 , _0xd04c26 , _0x485038 || _0x3642cb . video || _0x3642cb . screen ) ;
}
} , _0x51c1c9 . resetTrack = function ( _0x1215de , _0x3d0c09 ) {
_0x1215de || ( _0x1215de = _0x51c1c9 . getAllParticipants ( ) ) , 'string' == typeof _0x1215de && ( _0x1215de = [ _0x1215de ] ) , _0x1215de . forEach ( function ( _0x17e765 ) {
var _0x21b268 = _0x51c1c9 . peers [ _0x17e765 ] . peer ;
void 0x0 !== _0x3d0c09 && true !== _0x3d0c09 || ! _0x21b268 . lastVideoTrack || _0x51c1c9 . replaceTrack ( _0x21b268 . lastVideoTrack , _0x17e765 , true ) , void 0x0 !== _0x3d0c09 && ! 0x1 !== _0x3d0c09 || ! _0x21b268 . lastAudioTrack || _0x51c1c9 . replaceTrack ( _0x21b268 . lastAudioTrack , _0x17e765 , ! 0x1 ) ;
} ) ;
} , _0x51c1c9 . renegotiate = function ( _0x2ea770 ) {
_0x2ea770 ? _0x21b268 . renegotiatePeer ( _0x2ea770 ) : _0x51c1c9 . peers . getAllParticipants ( ) . forEach ( function ( _0x428915 ) {
_0x21b268 . renegotiatePeer ( _0x428915 ) ;
} ) ;
} , _0x51c1c9 . setStreamEndHandler = function ( _0x46fab4 , _0x3cea1b ) {
if ( _0x46fab4 && _0x46fab4 . addEventListener && ( _0x3cea1b = ! ! _0x3cea1b , ! _0x46fab4 . alreadySetEndHandler ) ) {
_0x46fab4 . alreadySetEndHandler = true ;
var _0x21b268 = 'ended' ;
'oninactive' in _0x46fab4 && ( _0x21b268 = 'inactive' ) , _0x46fab4 . addEventListener ( _0x21b268 , function ( ) {
if ( _0x46fab4 . idInstance && currentUserMediaRequest . remove ( _0x46fab4 . idInstance ) , ! _0x3cea1b ) {
var _0x21b268 = [ ] ;
_0x51c1c9 . attachStreams . forEach ( function ( _0x35d5da ) {
_0x35d5da . id != _0x46fab4 . id && _0x21b268 . push ( _0x35d5da ) ;
} ) , _0x51c1c9 . attachStreams = _0x21b268 ;
}
var _0x521a09 = _0x51c1c9 . streamEvents [ _0x46fab4 . streamid ] ;
if ( _0x521a09 || ( _0x521a09 = {
'stream' : _0x46fab4 ,
'streamid' : _0x46fab4 . streamid ,
'type' : _0x3cea1b ? 'remote' : 'local' ,
'userid' : _0x51c1c9 . userid ,
'extra' : _0x51c1c9 . extra ,
'mediaElement' : _0x51c1c9 . streamEvents [ _0x46fab4 . streamid ] ? _0x51c1c9 . streamEvents [ _0x46fab4 . streamid ] . mediaElement : null
} ) , _0x3cea1b && _0x51c1c9 . peers [ _0x521a09 . userid ] ) {
var _0x38a800 = _0x51c1c9 . peers [ _0x521a09 . userid ] . peer ;
_0x21b268 = [ ] ;
_0x38a800 . getRemoteStreams ( ) . forEach ( function ( _0x59d565 ) {
_0x59d565 . id != _0x46fab4 . id && _0x21b268 . push ( _0x59d565 ) ;
} ) , _0x51c1c9 . peers [ _0x521a09 . userid ] . streams = _0x21b268 ;
}
_0x521a09 . userid === _0x51c1c9 . userid && 'remote' === _0x521a09 . type || ( _0x51c1c9 . peersBackup [ _0x521a09 . userid ] && ( _0x521a09 . extra = _0x51c1c9 . peersBackup [ _0x521a09 . userid ] . extra ) , _0x51c1c9 . onstreamended ( _0x521a09 ) , delete _0x51c1c9 . streamEvents [ _0x46fab4 . streamid ] ) ;
} , ! 0x1 ) ;
}
} , _0x51c1c9 . onMediaError = function ( _0x77c67c , _0x3533b2 ) {
_0x51c1c9 . enableLogs && console . error ( _0x77c67c , _0x3533b2 ) ;
} , _0x51c1c9 . autoCloseEntireSession = ! 0x1 , _0x51c1c9 . filesContainer = _0x51c1c9 . videosContainer = document . body || document . documentElement , _0x51c1c9 . isInitiator = ! 0x1 , _0x51c1c9 . shareFile = _0x21b268 . shareFile , void 0x0 !== _0x2cf1f3 && _0x2cf1f3 . handle ( _0x51c1c9 ) , void 0x0 !== _0x400337 && _0x400337 . handle ( _0x51c1c9 ) , _0x51c1c9 . token = _0x5b8d5d , _0x51c1c9 . onNewParticipant = function ( _0xeb9f65 , _0xbff370 ) {
_0x51c1c9 . acceptParticipationRequest ( _0xeb9f65 , _0xbff370 ) ;
} , _0x51c1c9 . acceptParticipationRequest = function ( _0xdc5fa8 , _0x444726 ) {
_0x444726 . successCallback && ( _0x444726 . successCallback ( ) , delete _0x444726 . successCallback ) , _0x21b268 . createNewPeer ( _0xdc5fa8 , _0x444726 ) ;
} , void 0x0 !== _0x25e82e && ( _0x51c1c9 . StreamsHandler = _0x25e82e ) , _0x51c1c9 . onleave = function ( _0x256c0a ) { } , _0x51c1c9 . invokeSelectFileDialog = function ( _0x54e1d5 ) {
var _0x326931 = new _0x2e28ea ( ) ;
_0x326931 . accept = '*.*' , _0x326931 . selectSingleFile ( _0x54e1d5 ) ;
} , _0x51c1c9 . onmute = function ( _0x4cea9f ) {
if ( _0x4cea9f && _0x4cea9f . mediaElement )
if ( 'both' === _0x4cea9f . muteType || 'video' === _0x4cea9f . muteType ) {
_0x4cea9f . mediaElement . src = null ;
var _0x326931 = _0x4cea9f . mediaElement . pause ( ) ;
void 0x0 !== _0x326931 ? _0x326931 . then ( function ( ) {
_0x4cea9f . mediaElement . poster = _0x4cea9f . snapshot || 'https://cdn.webrtc-experiment.com/images/muted.png' ;
} ) : _0x4cea9f . mediaElement . poster = _0x4cea9f . snapshot || 'https://cdn.webrtc-experiment.com/images/muted.png' ;
} else 'audio' === _0x4cea9f . muteType && ( _0x4cea9f . mediaElement . muted = true ) ;
} , _0x51c1c9 . onunmute = function ( _0x59c1a4 ) {
_0x59c1a4 && _0x59c1a4 . mediaElement && _0x59c1a4 . stream && ( 'both' === _0x59c1a4 . unmuteType || 'video' === _0x59c1a4 . unmuteType ? ( _0x59c1a4 . mediaElement . poster = null , _0x59c1a4 . mediaElement . srcObject = _0x59c1a4 . stream , _0x59c1a4 . mediaElement . play ( ) ) : 'audio' === _0x59c1a4 . unmuteType && ( _0x59c1a4 . mediaElement . muted = ! 0x1 ) ) ;
} , _0x51c1c9 . onExtraDataUpdated = function ( _0x429b15 ) {
_0x429b15 . status = 'online' , _0x51c1c9 . onUserStatusChanged ( _0x429b15 , true ) ;
} , _0x51c1c9 . getAllParticipants = function ( _0x57626c ) {
return _0x51c1c9 . peers . getAllParticipants ( _0x57626c ) ;
} , void 0x0 !== _0x25e82e && ( _0x25e82e . onSyncNeeded = function ( _0x45be06 , _0x6b0c44 , _0xe6bdb1 ) {
_0x51c1c9 . peers . getAllParticipants ( ) . forEach ( function ( _0x26b256 ) {
_0x21b268 . onNegotiationNeeded ( {
'streamid' : _0x45be06 ,
'action' : _0x6b0c44 ,
'streamSyncNeeded' : true ,
'type' : _0xe6bdb1 || 'both'
} , _0x26b256 ) ;
} ) ;
} ) , _0x51c1c9 . connectSocket = function ( _0x5d44b4 ) {
_0x2db9d8 ( _0x5d44b4 ) ;
} , _0x51c1c9 . closeSocket = function ( ) {
try {
_0x31267b . a . sockets = { } ;
} catch ( _0x3aa9a3 ) { }
_0x51c1c9 . socket && ( 'function' == typeof _0x51c1c9 . socket . disconnect && _0x51c1c9 . socket . disconnect ( ) , 'function' == typeof _0x51c1c9 . socket . resetProps && _0x51c1c9 . socket . resetProps ( ) , _0x51c1c9 . socket = null ) ;
} , _0x51c1c9 . getSocket = function ( _0x456c98 ) {
return ! _0x456c98 && _0x51c1c9 . enableLogs && console . warn ( 'getSocket.callback paramter is required.' ) , _0x456c98 = _0x456c98 || function ( ) { } , _0x51c1c9 . socket ? _0x456c98 ( _0x51c1c9 . socket ) : _0x2db9d8 ( function ( ) {
_0x456c98 ( _0x51c1c9 . socket ) ;
} ) , _0x51c1c9 . socket ;
} , _0x51c1c9 . getRemoteStreams = _0x21b268 . getRemoteStreams ;
var _0x521c36 = [ 'selectFirst' , 'selectAll' , 'forEach' ] ;
if ( _0x51c1c9 . streamEvents = {
'selectFirst' : function ( _0x38ce07 ) {
return _0x51c1c9 . streamEvents . selectAll ( _0x38ce07 ) [ 0x0 ] ;
} ,
'selectAll' : function ( _0x4b13fa ) {
_0x4b13fa || ( _0x4b13fa = {
'local' : true ,
'remote' : true ,
'isScreen' : true ,
'isAudio' : true ,
'isVideo' : true
} ) , 'local' == _0x4b13fa && ( _0x4b13fa = {
'local' : true
} ) , 'remote' == _0x4b13fa && ( _0x4b13fa = {
'remote' : true
} ) , 'screen' == _0x4b13fa && ( _0x4b13fa = {
'isScreen' : true
} ) , 'audio' == _0x4b13fa && ( _0x4b13fa = {
'isAudio' : true
} ) , 'video' == _0x4b13fa && ( _0x4b13fa = {
'isVideo' : true
} ) ;
var _0x326931 = [ ] ;
return Object . keys ( _0x51c1c9 . streamEvents ) . forEach ( function ( _0x59aced ) {
var _0x521a09 = _0x51c1c9 . streamEvents [ _0x59aced ] ;
if ( - 0x1 === _0x521c36 . indexOf ( _0x59aced ) ) {
var _0x293b8c = true ;
_0x4b13fa . local && 'local' === _0x521a09 . type && ( _0x293b8c = ! 0x1 ) , _0x4b13fa . remote && 'remote' === _0x521a09 . type && ( _0x293b8c = ! 0x1 ) , _0x4b13fa . isScreen && _0x521a09 . stream . isScreen && ( _0x293b8c = ! 0x1 ) , _0x4b13fa . isVideo && _0x521a09 . stream . isVideo && ( _0x293b8c = ! 0x1 ) , _0x4b13fa . isAudio && _0x521a09 . stream . isAudio && ( _0x293b8c = ! 0x1 ) , _0x4b13fa . userid && _0x521a09 . userid === _0x4b13fa . userid && ( _0x293b8c = ! 0x1 ) , ! 0x1 === _0x293b8c && _0x326931 . push ( _0x521a09 ) ;
}
} ) , _0x326931 ;
}
} , _0x51c1c9 . socketURL = '/' , _0x51c1c9 . socketMessageEvent = 'RTCMultiConnection-Message' , _0x51c1c9 . socketCustomEvent = 'RTCMultiConnection-Custom-Message' , _0x51c1c9 . DetectRTC = DetectRTC , _0x51c1c9 . setCustomSocketEvent = function ( _0x1a650b ) {
_0x1a650b && ( _0x51c1c9 . socketCustomEvent = _0x1a650b ) , _0x51c1c9 . socket && _0x51c1c9 . socket . emit ( 'set-custom-socket-event-listener' , _0x51c1c9 . socketCustomEvent ) ;
} , _0x51c1c9 . getNumberOfBroadcastViewers = function ( _0x2acdba , _0x377d0c ) {
_0x51c1c9 . socket && _0x2acdba && _0x377d0c && _0x51c1c9 . socket . emit ( 'get-number-of-users-in-specific-broadcast' , _0x2acdba , _0x377d0c ) ;
} , _0x51c1c9 . onNumberOfBroadcastViewersUpdated = function ( _0x617e81 ) {
_0x51c1c9 . enableLogs && _0x51c1c9 . isInitiator && console . info ( 'Number of broadcast (' , _0x617e81 . broadcastId , ') viewers' , _0x617e81 . numberOfBroadcastViewers ) ;
} , _0x51c1c9 . onUserStatusChanged = function ( _0x49e25f , _0x405028 ) {
_0x51c1c9 . enableLogs && ! _0x405028 && console . info ( _0x49e25f . userid , _0x49e25f . status ) ;
} , _0x51c1c9 . getUserMediaHandler = _0x5adfda , _0x51c1c9 . multiPeersHandler = _0x21b268 , _0x51c1c9 . enableLogs = true , _0x51c1c9 . setCustomSocketHandler = function ( _0x5840b1 ) {
void 0x0 !== _0x45c30f && ( _0x45c30f = _0x5840b1 ) ;
} , _0x51c1c9 . chunkSize = 0x9c40 , _0x51c1c9 . maxParticipantsAllowed = 0x3e8 , _0x51c1c9 . disconnectWith = _0x21b268 . disconnectWith , _0x51c1c9 . checkPresence = function ( _0x2c66c1 , _0xdf4545 ) {
_0x2c66c1 = _0x2c66c1 || _0x51c1c9 . sessionid , 'SSEConnection' !== _0x45c30f . name ? _0x51c1c9 . socket ? _0x51c1c9 . socket . emit ( 'check-presence' , _0x2c66c1 + '' , function ( _0x4d585b , _0xfb6315 , _0x414b29 ) {
_0x51c1c9 . enableLogs && console . log ( 'checkPresence.isRoomExist: ' , _0x4d585b , ' roomid: ' , _0xfb6315 ) , _0xdf4545 ( _0x4d585b , _0xfb6315 , _0x414b29 ) ;
} ) : _0x51c1c9 . connectSocket ( function ( ) {
_0x51c1c9 . checkPresence ( _0x2c66c1 , _0xdf4545 ) ;
} ) : SSEConnection . checkPresence ( _0x2c66c1 , function ( _0x2d2553 , _0x169410 , _0x48e686 ) {
if ( ! _0x51c1c9 . socket ) return _0x2d2553 || ( _0x51c1c9 . userid = _0x169410 ) , void _0x51c1c9 . connectSocket ( function ( ) {
_0xdf4545 ( _0x2d2553 , _0x169410 , _0x48e686 ) ;
} ) ;
_0xdf4545 ( _0x2d2553 , _0x169410 ) ;
} ) ;
} , _0x51c1c9 . onReadyForOffer = function ( _0x3f207b , _0x32ccc2 ) {
_0x51c1c9 . multiPeersHandler . createNewPeer ( _0x3f207b , _0x32ccc2 ) ;
} , _0x51c1c9 . setUserPreferences = function ( _0x371937 ) {
return _0x51c1c9 . dontAttachStream && ( _0x371937 . dontAttachLocalStream = true ) , _0x51c1c9 . dontGetRemoteStream && ( _0x371937 . dontGetRemoteStream = true ) , _0x371937 ;
} , _0x51c1c9 . updateExtraData = function ( ) {
_0x51c1c9 . socket . emit ( 'extra-data-updated' , _0x51c1c9 . extra ) ;
} , _0x51c1c9 . enableScalableBroadcast = ! 0x1 , _0x51c1c9 . maxRelayLimitPerUser = 0x3 , _0x51c1c9 . dontCaptureUserMedia = ! 0x1 , _0x51c1c9 . dontAttachStream = ! 0x1 , _0x51c1c9 . dontGetRemoteStream = ! 0x1 , _0x51c1c9 . onReConnecting = function ( _0x4ffc93 ) {
_0x51c1c9 . enableLogs && console . info ( 'ReConnecting with' , _0x4ffc93 . userid , '...' ) ;
} , _0x51c1c9 . beforeAddingStream = function ( _0xdd57a4 ) {
return _0xdd57a4 ;
} , _0x51c1c9 . beforeRemovingStream = function ( _0x191d70 ) {
return _0x191d70 ;
} , _0x51c1c9 . checkIfChromeExtensionAvailable = _0x53da88 , 'undefined' != typeof isFirefoxExtensionAvailable && ( _0x51c1c9 . checkIfChromeExtensionAvailable = isFirefoxExtensionAvailable ) , _0x51c1c9 . getChromeExtensionStatus = _0x1f670d , _0x51c1c9 . getScreenConstraints = function ( _0x3b0f5e , _0x32535a ) {
_0x93df62 ( _0x51c1c9 , _0x32535a ) && ( _0x32535a = true ) , _0x1c050b ( function ( _0x19ad7c , _0x5c7f16 ) {
_0x19ad7c || ( _0x5c7f16 = _0x51c1c9 . modifyScreenConstraints ( _0x5c7f16 ) , _0x3b0f5e ( _0x19ad7c , _0x5c7f16 ) ) ;
} , _0x32535a ) ;
} , _0x51c1c9 . modifyScreenConstraints = function ( _0x13a10e ) {
return _0x13a10e ;
} , _0x51c1c9 . onPeerStateChanged = function ( _0x5d030a ) {
_0x51c1c9 . enableLogs && - 0x1 !== _0x5d030a . iceConnectionState . search ( /closed|failed/gi ) && console . error ( 'Peer connection is closed between you & ' , _0x5d030a . userid , _0x5d030a . extra , 'state:' , _0x5d030a . iceConnectionState ) ;
} , _0x51c1c9 . isOnline = true , _0x1cbceb ( 'online' , function ( ) {
_0x51c1c9 . isOnline = true ;
} ) , _0x1cbceb ( 'offline' , function ( ) {
_0x51c1c9 . isOnline = ! 0x1 ;
} ) , _0x51c1c9 . isLowBandwidth = ! 0x1 , navigator && navigator . connection && navigator . connection . type && ( _0x51c1c9 . isLowBandwidth = - 0x1 !== navigator . connection . type . toString ( ) . toLowerCase ( ) . search ( /wifi|cell/g ) , _0x51c1c9 . isLowBandwidth ) ) {
if ( _0x51c1c9 . bandwidth = {
'audio' : ! 0x1 ,
'video' : ! 0x1 ,
'screen' : ! 0x1
} , _0x51c1c9 . mediaConstraints . audio && _0x51c1c9 . mediaConstraints . audio . optional && _0x51c1c9 . mediaConstraints . audio . optional . length ) {
var _0x4c7586 = [ ] ;
_0x51c1c9 . mediaConstraints . audio . optional . forEach ( function ( _0x330c5b ) {
void 0x0 === _0x330c5b . bandwidth && _0x4c7586 . push ( _0x330c5b ) ;
} ) , _0x51c1c9 . mediaConstraints . audio . optional = _0x4c7586 ;
}
if ( _0x51c1c9 . mediaConstraints . video && _0x51c1c9 . mediaConstraints . video . optional && _0x51c1c9 . mediaConstraints . video . optional . length ) {
_0x4c7586 = [ ] ;
_0x51c1c9 . mediaConstraints . video . optional . forEach ( function ( _0x427f57 ) {
void 0x0 === _0x427f57 . bandwidth && _0x4c7586 . push ( _0x427f57 ) ;
} ) , _0x51c1c9 . mediaConstraints . video . optional = _0x4c7586 ;
}
}
_0x51c1c9 . getExtraData = function ( _0xeb7d85 , _0x11bbdf ) {
if ( ! _0xeb7d85 ) throw 'remoteUserId is required.' ;
if ( ! _0x11bbdf ) return _0x51c1c9 . peers [ _0xeb7d85 ] ? _0x51c1c9 . peers [ _0xeb7d85 ] . extra : _0x51c1c9 . peersBackup [ _0xeb7d85 ] ? _0x51c1c9 . peersBackup [ _0xeb7d85 ] . extra : { } ;
_0x51c1c9 . socket . emit ( 'get-remote-user-extra-data' , _0xeb7d85 , function ( _0x2b3ef8 , _0x272a14 , _0x50b4c5 ) {
_0x11bbdf ( _0x2b3ef8 , _0x272a14 , _0x50b4c5 ) ;
} ) ;
} , _0x326931 . autoOpenOrJoin && _0x51c1c9 . openOrJoin ( _0x51c1c9 . sessionid ) , _0x51c1c9 . onUserIdAlreadyTaken = function ( _0x375333 , _0x594a1c ) {
_0x51c1c9 . close ( ) , _0x51c1c9 . closeSocket ( ) , _0x51c1c9 . isInitiator = ! 0x1 , _0x51c1c9 . userid = _0x51c1c9 . token ( ) , _0x51c1c9 . join ( _0x51c1c9 . sessionid ) , _0x51c1c9 . enableLogs && console . warn ( 'Userid already taken.' , _0x375333 , 'Your new userid:' , _0x51c1c9 . userid ) ;
} , _0x51c1c9 . trickleIce = true , _0x51c1c9 . version = '3.6.5' , _0x51c1c9 . onSettingLocalDescription = function ( _0x5cd808 ) {
_0x51c1c9 . enableLogs && console . info ( 'Set local description for remote user' , _0x5cd808 . userid ) ;
} , _0x51c1c9 . resetScreen = function ( ) {
_0x427b66 = null , DetectRTC && DetectRTC . screen && delete DetectRTC . screen . sourceId , currentUserMediaRequest = {
'streams' : [ ] ,
'mutex' : ! 0x1 ,
'queueRequests' : [ ]
} ;
} , _0x51c1c9 . autoCreateMediaElement = true , _0x51c1c9 . password = null , _0x51c1c9 . setPassword = function ( _0x3fec38 , _0x196913 ) {
_0x196913 = _0x196913 || function ( ) { } , _0x51c1c9 . socket ? _0x51c1c9 . socket . emit ( 'set-password' , _0x3fec38 , _0x196913 ) : ( _0x51c1c9 . password = _0x3fec38 , _0x196913 ( true , _0x51c1c9 . sessionid , null ) ) ;
} , _0x51c1c9 . errors = {
'ROOM_NOT_AVAILABLE' : 'Room not available' ,
'INVALID_PASSWORD' : 'Invalid password' ,
'USERID_NOT_AVAILABLE' : 'User ID does not exist' ,
'ROOM_PERMISSION_DENIED' : 'Room permission denied' ,
'ROOM_FULL' : 'Room full' ,
'DID_NOT_JOIN_ANY_ROOM' : 'Did not join any room yet' ,
'INVALID_SOCKET' : 'Invalid socket' ,
'PUBLIC_IDENTIFIER_MISSING' : 'publicRoomIdentifier is required' ,
'INVALID_ADMIN_CREDENTIAL' : 'Invalid username or password attempted'
} ;
} ( this ) ;
} ;
} . call ( this , _0x2fa590 ( 0x49 ) . Buffer , _0x2fa590 ( 0x1f ) , _0x2fa590 ( 0x31 ) ) ) ;
} , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , function ( _0x406f11 , _0x3c43b1 , _0xd4a2fb ) {
( _0x3c43b1 = _0x406f11 . exports = _0xd4a2fb ( 0x16f ) ( ! 0x1 ) ) . push ( [ _0x406f11 . i , ' @ keyframes ejs -- c2532bfe04554193cc42b3be753700 { 0 % { opacity : 0.5 ; transform : translateY ( 10 px ) } to { opacity : 1 ; transform : translateY ( 0 ) } } @ keyframes ejs -- 7 cadf43f3d9eb17c7e3c36de84973b { from { opacity : 0 } to { opacity : 1 } } @ keyframes ejs -- 9 bd947b3e6427453595f083d740a7c { from { } to { box - shadow : 1 px 3 px 15 px 8 px # 222 , 0 px 7 px 10 px 0 px # 111 , inset 0 px 0 px 1 px 0 px rgba ( 250 , 250 , 250 , 0.2 ) , inset 8 px 5 px 35 px 0 px rgba ( 0 , 0 , 0 , 0.5 ) } } : root { -- ejs - primary - color : 26 , 175 , 255 } . ejs -- de6433374cb30211f10e148b320b2f { height : 100 % } . ejs -- 7 a5f920ceffb2913f6dbda780573cf { - moz - osx - font - smoothing : grayscale ; - webkit - font - smoothing : antialiased ; height : 100 % ; width : 100 % ; direction : ltr ; font - family : Avenir , "Avenir Next" , "Helvetica Neue" , "Segoe UI" , Helvetica , Arial , sans - serif ; font - size : 14 px ; font - variant - numeric : tabular - nums ; font - weight : 500 ; line - height : 1.7 ; max - width : 100 % ; min - width : 200 px ; position : relative ; text - shadow : none ; transition : box - shadow 0.3 s ease ; - webkit - user - select : none ; - moz - user - select : none ; - ms - user - select : none ; user - select : none } . ejs -- 7 a5f920ceffb2913f6dbda780573cf a { color : # ddd ; text - decoration : none } . ejs -- 7 a5f920ceffb2913f6dbda780573cf button { font : inherit ; line - height : inherit ; width : auto } . ejs -- 7 a5f920ceffb2913f6dbda780573cf ul { list - style : none ; margin : 0 ; padding : 0 } . ejs -- 7 a5f920ceffb2913f6dbda780573cf : focus { outline : 0 } . ejs -- 7 a5f920ceffb2913f6dbda780573cf * { - webkit - user - select : none ; - moz - user - select : none ; - ms - user - select : none ; user - select : none } . ejs -- f3a002bba9836fe4ebfed357a45521 { box - sizing : border - box } . ejs -- f3a002bba9836fe4ebfed357a45521 * , . ejs -- f3a002bba9836fe4ebfed357a45521 * : : after , . ejs -- f3a002bba9836fe4ebfed357a45521 * : : before { box - sizing : inherit } . ejs -- f3a002bba9836fe4ebfed357a45521 a , . ejs -- f3a002bba9836fe4ebfed357a45521 button , . ejs -- f3a002bba9836fe4ebfed357a45521 input , . ejs -- f3a002bba9836fe4ebfed357a45521 label { touch - action : manipulation } . ejs -- 008 adea3c1ef33a8fc94892a1e97e6 li { display : inline - block ; background : # fff ; border : 1 px solid # ccc ; font - size : 12 px } . ejs -- 008 adea3c1ef33a8fc94892a1e97e6 li a { color : # 000 } . ejs -- 85 a95eb6bf74a40ab61b91a91e5bff { position : absolute ; width : 100 % ; height : 100 % ; top : 0 ; z - index : 9999 ; background : rgba ( 0 , 0 , 0 , 0.3 ) ! important ; color : # fff ; text - align : center } . ejs -- d169a219343bc32dd4aecc3f6b7f25 { position : absolute ; width : 300 px ; top : 50 % ; margin - left : - 150 px ; margin - top : - 50 px ; left : 50 % ; background : rgba ( 0 , 0 , 0 , 0.8 ) ! important ; padding : 15 px 0 } . ejs -- 782e3572812 f983b3a150eec177391 { text - align : center ; font - size : 13 px } . ejs -- c426dd1d179aa351e6cec47e1d9438 , . ejs -- 31e7 e81db48819ee35ec6f50378a2e , . ejs -- 20 d4eb2646d396f558a645dc0574f1 , . ejs -- 4 de05306c8b099bdeb4585571ac095 { font - size : 12 px } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 { background : rgba ( 16 , 16 , 16 , 0.9 ) ; border - radius : 3 px ; font - size : 13 px ; min - width : 180 px ; padding : 8 px } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 li { padding : 4 px 11 px ; text - align : center } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 li a { color : # 999 ; display : block ; font - size : 13 px } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 li : hover { background : rgba ( var ( -- ejs - primary - color ) , 1 ) ; border - radius : 4 px ; box - shadow : 0 0 0 5 px rgba ( var ( -- ejs - primary - color ) , 0.5 ) ; outline : 0 } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 li : hover a { color : # fff } . ejs -- c7957d8666bb6b8fc7c3e9c021aaf8 li : last - child { border : 0 } . ejs -- cbcfe0a1421cadac9a04c81d6431d6 { display : block ! important ; position : absolute ; left : 50 % ; top : 50 % ; transform : translate ( - 50 % , - 50 % ) } . ejs -- cbcfe0a1421cadac9a04c81d6431d6 . ejs -- f3a1903d935f6cf720d4a0498db62a : after { content : "" ; position : absolute ; border - left : 20 px solid transparent ; border - right : 20 px solid # a7a7a77d ; border - top : 20 px solid # a7a7a77d ; border - bottom : 20 px solid transparent ; right : 0 } . ejs -- cbcfe0a1421cadac9a04c81d6431d6 . ejs -- f3a1903d935f6cf720d4a0498db62a a { right : 4 px ; top : 4 px ; position : absolute ; border : none ; padding : 0 ; width : 15 px ; height : 15 px ; z - index : 99 } . ejs -- cbcfe0a1421cadac9a04c81d6431d6 . ejs -- f3a1903d935f6cf720d4a0498db62a a : before { content : "" ; border - bottom : 1 px solid # fff ; transform : rotate ( 45 deg ) translateY ( - 45 % ) ; width : 15 px ; height : 15 px ; display : block ; position : absolute ; top : 0 ; right : 0 } . ejs -- cbcfe0a1421cadac9a04c81d6431d6 . ejs -- f3a1903d935f6cf720d4a0498db62a a : after { content : "" ; border - bottom : 1 px sol
'ejs-wrapper' : 'ejs--de6433374cb30211f10e148b320b2f' ,
'ejs' : 'ejs--7a5f920ceffb2913f6dbda780573cf' ,
'ejs--full-ui' : 'ejs--f3a002bba9836fe4ebfed357a45521' ,
'controls-tabs' : 'ejs--008adea3c1ef33a8fc94892a1e97e6' ,
'overlay' : 'ejs--85a95eb6bf74a40ab61b91a91e5bff' ,
'key-setting-popup' : 'ejs--d169a219343bc32dd4aecc3f6b7f25' ,
'loading-info' : 'ejs--782e3572812f983b3a150eec177391' ,
'p1' : 'ejs--c426dd1d179aa351e6cec47e1d9438' ,
'p2' : 'ejs--31e7e81db48819ee35ec6f50378a2e' ,
'p3' : 'ejs--20d4eb2646d396f558a645dc0574f1' ,
'p4' : 'ejs--4de05306c8b099bdeb4585571ac095' ,
'ejs__contextmenu' : 'ejs--c7957d8666bb6b8fc7c3e9c021aaf8' ,
'ad' : 'ejs--cbcfe0a1421cadac9a04c81d6431d6' ,
'close-ad' : 'ejs--f3a1903d935f6cf720d4a0498db62a' ,
'start-game' : 'ejs--73f9b4e94a7a1fe74e11107d5ab2ef' ,
'pulse' : 'ejs--9bd947b3e6427453595f083d740a7c' ,
'ejs__control' : 'ejs--8732295ca5c4902a060d34706a8146' ,
'ejs__tab-focus' : 'ejs--a83b6c705e103e81a7762d0ed5e64b' ,
'ejs__control--pressed' : 'ejs--b1238136ec472a92297159882cf4b8' ,
'icon--pressed' : 'ejs--ec731619062226d943da67f5d83009' ,
'icon--not-pressed' : 'ejs--dc7068585e3d84fe0e676864c1439e' ,
'label--pressed' : 'ejs--0c6561f9155750b0aeeed6da5da7bf' ,
'label--not-pressed' : 'ejs--13d64e30c1333cc99391af48ddabaa' ,
'ejs--video' : 'ejs--d5f430a99a1619b3434bf58e34a99c' ,
'ejs__controls' : 'ejs--1acedc5ed6816abe96dd27d910fd74' ,
'ejs__progress' : 'ejs--f1aa376719b564cae0e653157cde14' ,
'ejs__time' : 'ejs--90d2780f99bcc76fdb6b0378a7238e' ,
'ejs__menu' : 'ejs--c7bfb2d1b75a40fdaaf90624bea9e7' ,
'ejs__volume' : 'ejs--36ceeeec0df37a9cf4bbe05fa204ec' ,
'ejs--hide-controls' : 'ejs--1b8cb7f2294b1eb5de5238daea3513' ,
'ejs--fullscreen-enabled' : 'ejs--19409fe2057ab935a7e46abb5b4f49' ,
'ejs__tooltip' : 'ejs--74c6d4176d27e37a19d2e9e61de8f4' ,
'ejs__menu__container' : 'ejs--013213afedeeb6878089b1ca1b4e47' ,
'ejs-popup' : 'ejs--c2532bfe04554193cc42b3be753700' ,
'ejs__control--forward' : 'ejs--0b4cdb4057d1a4623e60836ccc6275' ,
'ejs__control--back' : 'ejs--a7ad9de0cb0ca672b6703c50de7db9' ,
'ejs__menu__value' : 'ejs--f91e90fe7cabc875aff9a431bf5389' ,
'ejs__tooltip--visible' : 'ejs--6ea27aa07e60d1d6e4c9782740028a' ,
'ejs--menu-open' : 'ejs--da54136ccf8c6b0b16d98e8b8e8b88' ,
'ejs__video-wrapper' : 'ejs--057800d021995e1347ec07cb748672' ,
'portrait' : 'ejs--64f1256f556fb94454b930cb3ea7f2' ,
'game-started' : 'ejs--7da7949f602347007818e6d192eb23' ,
'ejs__progress__buffer' : 'ejs--f8d706413436fd119cf01aaf5a9d9d' ,
'ejs--audio' : 'ejs--bd0222e58d71b0a304d6037dfcffd5' ,
'ejs--loading' : 'ejs--2521e1257996f264de36e77cc9c5ee' ,
'ejs__dialogs' : 'ejs--d31688f864f56d6426ebbf2217d6ee' ,
'ejs__dialog' : 'ejs--5e71fd80268afbb1d588e40b993508' ,
'ejs__cache__container' : 'ejs--1e0f0672f67d0e96592314c9ed78b0' ,
'ejs__loading__container' : 'ejs--d7e6a6a8f38bfaa256fe5d709a8258' ,
'ejs__load-state__container' : 'ejs--b183f581b5336c4908ad258d3e1cc7' ,
'ejs__screenRecord__container' : 'ejs--b183f581b5336cashrqd258d3e1cc7' ,
'ejs__netplay__container' : 'ejs--158ea9dd34e3e7af2d837f8b05babb' ,
'ejs__gamepad__container' : 'ejs--3f0897a8158ba363a0ee0afe4da7c5' ,
'dialog-container' : 'ejs--38cc09882a55e98c76168dbe838aa0' ,
'dialog-title' : 'ejs--b373c9d5029d49324fb8ac3ece96c1' ,
'dialog-content' : 'ejs--a5e2629abb9a5bcbc8b2c1307922d2' ,
'dialog-buttons' : 'ejs--580e3c22e63f8a1eb29694fd0b141b' ,
'btn-cancel' : 'ejs--ad20569e1449d7b8e99e6465960456' ,
'btn-reset' : 'ejs--ad20569e1449d7b8e99e6465963825' ,
'btn-clear' : 'ejs--ad20569e1449d7b8e99e6468571053' ,
'tabs' : 'ejs--8e7922427f460a31935084b7acfb1a' ,
'active' : 'ejs--68d337c212ec6a5bc43125440d422b' ,
'tabs-content' : 'ejs--31eb28817642bb1bfe0a2c422108bb' ,
'tabs-panel' : 'ejs--f932566a0af5314da834324c901978' ,
'button-container' : 'ejs--c233fb69cbef43078bc39e9d1efac8' ,
'btn-submit' : 'ejs--bdb54e9fc47f9805b506b746e897bf' ,
'btn-create-room' : 'ejs--67d03ee7480b871ad6507d6319a839' ,
'btn-quit' : 'ejs--c2d931157456c1d438d40a2f66af2c' ,
'set' : 'ejs--6604c83041a275a78837c452a71dd8' ,
'btn-join-room' : 'ejs--99150e15f962c63c689cadc81ef40d' ,
'netplay-player-name' : 'ejs--71527b6509aa48afce3ce1a11c02f0' ,
'netplay-player-name-input' : 'ejs--7ad35768e3f6b9faf97db01d5b60ae' ,
'netplay-player-name-set' : 'ejs--9c403e5e107a3e4374ba244b636400' ,
'netplay-roomlist' : 'ejs--d6a46533fa6e510a571af5c28b440a' ,
'netplay-create-room' : 'ejs--57ca9b3853cc7de731483cfcc95a59' ,
'netplay-room-name-input' : 'ejs--0885d5e25e19127b6b516014426a1b' ,
'netplay-room-password-input' : 'ejs--25023d28756fdb9dfbbfb6dccb8677' ,
'netplay-create-room-set' : 'ejs--75b3a8d35aacc6424ed7422fdeaaaa' ,
'netplay-room' : 'ejs--eefdf28d69ed2d20f197308981bb61' ,
'cheats-add' : 'ejs--9e670880bb57e824400fa00f09aaad' ,
'cheats-list' : 'ejs--2b4e3c245b7b25dfdac5e09155a68e' ,
'cheat-code-input' : 'ejs--572b0b3a0345a6b01b01a15a02842c' ,
'cheat-name-input' : 'ejs--a7d7f80c8999469c991ea452a85dd9' ,
'ejs__widgets' : 'ejs--952c974392296e7f643d51db380157' ,
'ejs__widget' : 'ejs--0d7e216cf12ae73705b5d5bb0452fc' ,
'ejs__widget_netplay' : 'ejs--c0a5e71f6613caab66d6ae15a5a00f' ,
'virtual-gamepad' : 'ejs--2440e3b831017ff8327c939e2a4413' ,
'top' : 'ejs--b8d8b771d0bbb94e2bbd03054f53fd' ,
'left' : 'ejs--c83d70cb63c933edc073c7fe92e32b' ,
'buttons' : 'ejs--6e7015634623fd6a82e6a7d3488c84' ,
'center' : 'ejs--49fa47c86a131e4ca8fb268bfdde89' ,
'right' : 'ejs--7d2b19f77fd0ccabf94dc1ca39ae18' ,
'touch' : 'ejs--d708d9d486f1eca73a593d5c09f8ad' ,
'modal' : 'ejs--eefec939452eb92fad035932d0f47c' ,
'modal__overlay' : 'ejs--f1f43b27384834c8c22c6f81d0c5ae' ,
'modal__container' : 'ejs--c4ee33766a01ed0356c3ec07898e96' ,
'modal__header' : 'ejs--a073f32023da1ced805c5f95a4e81c' ,
'modal__footer' : 'ejs--ed44f59bb8cd49177586b140658c6c' ,
'modal__title' : 'ejs--81470ba5e6a6d68014839ad4d9a977' ,
'modal__close' : 'ejs--c3c85789c2a7f56d8b26dba75b7e1f' ,
'modal__content' : 'ejs--db44f5520e6f4fd0dd34b478bb9ee8' ,
'modal__btn' : 'ejs--319bcec5dee9444e1a2a53d6503b7c' ,
'modal__btn-primary' : 'ejs--eaf3c1cba25d415d92ac48d7db34dd' ,
'modal__errmsg' : 'ejs--940087708c06b6129ce2bfa45f1d89' ,
'micromodal-slide' : 'ejs--bef295f3125e9ba83d4f3677264bae' ,
'is-open' : 'ejs--60c17e0d149099f207b06f27edae6a' ,
'mmfadeIn' : 'ejs--9d7aa2bd5ee276be085e5b2a0bbc2e' ,
'mmslideIn' : 'ejs--8b069266f76099cc6bc220f6ea56cc' ,
'mmfadeOut' : 'ejs--184b7558ffeb569c1790654537477b' ,
'mmslideOut' : 'ejs--379a464ad0e66ea5fc601e5f2fd73e' ,
'ejs-switch' : 'ejs--4c3e63d4005bd8a0468e9c74a35f62' ,
'ejs-delete-cheat' : 'ejs--90bcdd71cd0d2307e9ee0dffa916da' ,
'icon--exit-fullscreen' : 'ejs--2b3dd6e2e26c0f0dc4ac5779dedd5e' ,
'ejs--fullscreen-fallback' : 'ejs--412041671de21945d3e028b6ae84c9' ,
'ejs--no-transition' : 'ejs--33643265135cf89e6c0a0d9866d6f1' ,
'ejs__sr-only' : 'ejs--6f0e996cd15e5fb6be0256918531d7' ,
'ejs-fade-in' : 'ejs--7cadf43f3d9eb17c7e3c36de84973b'
} ;
} , function ( _0x27927d , _0x28eced ) {
_0x27927d . exports = function ( _0x2da20d ) {
var _0x28eced = [ ] ;
return _0x28eced . toString = function ( ) {
return this . map ( function ( _0x375981 ) {
var _0x413325 = function ( _0x5f5847 , _0x5366c6 ) {
var _0x48f7cd = _0x5f5847 [ 0x1 ] || '' ,
_0x237fae = _0x5f5847 [ 0x3 ] ;
if ( ! _0x237fae ) return _0x48f7cd ;
if ( _0x5366c6 && 'function' == typeof btoa ) {
var _0x489b4a = ( _0x5a6547 = _0x237fae , '/*# sourceMappingURL=data:application/json;charset=utf-8;base64,' + btoa ( unescape ( encodeURIComponent ( JSON . stringify ( _0x5a6547 ) ) ) ) + ' */' ) ,
_0x16964a = _0x237fae . sources . map ( function ( _0x481092 ) {
return '/*# sourceURL=' + _0x237fae . sourceRoot + _0x481092 + ' */' ;
} ) ;
return [ _0x48f7cd ] . concat ( _0x16964a ) . concat ( [ _0x489b4a ] ) . join ( '\n' ) ;
}
var _0x5a6547 ;
return [ _0x48f7cd ] . join ( '\n' ) ;
} ( _0x375981 , _0x2da20d ) ;
return _0x375981 [ 0x2 ] ? '@media ' + _0x375981 [ 0x2 ] + '{' + _0x413325 + '}' : _0x413325 ;
} ) . join ( '' ) ;
} , _0x28eced . i = function ( _0x4ea1ba , _0x43f363 ) {
'string' == typeof _0x4ea1ba && ( _0x4ea1ba = [
[ null , _0x4ea1ba , '' ]
] ) ;
for ( var _0x4e8d12 = { } , _0x35e98e = 0x0 ; _0x35e98e < this . length ; _0x35e98e ++ ) {
var _0x19ebdf = this [ _0x35e98e ] [ 0x0 ] ;
'number' == typeof _0x19ebdf && ( _0x4e8d12 [ _0x19ebdf ] = true ) ;
}
for ( _0x35e98e = 0x0 ; _0x35e98e < _0x4ea1ba . length ; _0x35e98e ++ ) {
var _0xb1dcac = _0x4ea1ba [ _0x35e98e ] ;
'number' == typeof _0xb1dcac [ 0x0 ] && _0x4e8d12 [ _0xb1dcac [ 0x0 ] ] || ( _0x43f363 && ! _0xb1dcac [ 0x2 ] ? _0xb1dcac [ 0x2 ] = _0x43f363 : _0x43f363 && ( _0xb1dcac [ 0x2 ] = '(' + _0xb1dcac [ 0x2 ] + ') and (' + _0x43f363 + ')' ) , _0x28eced . push ( _0xb1dcac ) ) ;
}
} , _0x28eced ;
} ;
} , function ( _0x2c9aa3 , _0x58bd21 , _0x2dec5c ) {
var _0x46cf58 , _0x38b6c5 , _0x497434 = { } ,
_0x3af502 = ( _0x46cf58 = function ( ) {
return window && document && document . all && ! window . atob ;
} , function ( ) {
return void 0x0 === _0x38b6c5 && ( _0x38b6c5 = _0x46cf58 . apply ( this , arguments ) ) , _0x38b6c5 ;
} ) ,
_0x25e6e7 = function ( _0xf91f87 , _0x2810ef ) {
return _0x2810ef ? _0x2810ef . querySelector ( _0xf91f87 ) : document . querySelector ( _0xf91f87 ) ;
} ,
_0xb4fd6e = function ( _0x428d02 ) {
var _0x58bd21 = { } ;
return function ( _0x519dca , _0x32292c ) {
if ( 'function' == typeof _0x519dca ) return _0x519dca ( ) ;
if ( void 0x0 === _0x58bd21 [ _0x519dca ] ) {
var _0x11a1fa = _0x25e6e7 . call ( this , _0x519dca , _0x32292c ) ;
if ( window . HTMLIFrameElement && _0x11a1fa instanceof window . HTMLIFrameElement ) try {
_0x11a1fa = _0x11a1fa . contentDocument . head ;
} catch ( _0x302ea0 ) {
_0x11a1fa = null ;
}
_0x58bd21 [ _0x519dca ] = _0x11a1fa ;
}
return _0x58bd21 [ _0x519dca ] ;
} ;
} ( ) ,
_0x38e9d5 = null ,
_0x468d37 = 0x0 ,
_0x161b50 = [ ] ,
_0x4ea7ef = _0x2dec5c ( 0x171 ) ;
function _0x363e3b ( _0xb44260 , _0x3eafca ) {
for ( var _0x2dec5c = 0x0 ; _0x2dec5c < _0xb44260 . length ; _0x2dec5c ++ ) {
var _0x4a806c = _0xb44260 [ _0x2dec5c ] ,
_0x1c3b87 = _0x497434 [ _0x4a806c . id ] ;
if ( _0x1c3b87 ) {
_0x1c3b87 . refs ++ ;
for ( var _0x288399 = 0x0 ; _0x288399 < _0x1c3b87 . parts . length ; _0x288399 ++ ) _0x1c3b87 . parts [ _0x288399 ] ( _0x4a806c . parts [ _0x288399 ] ) ;
for ( ; _0x288399 < _0x4a806c . parts . length ; _0x288399 ++ ) _0x1c3b87 . parts . push ( _0x5834f4 ( _0x4a806c . parts [ _0x288399 ] , _0x3eafca ) ) ;
} else {
var _0x2ae27e = [ ] ;
for ( _0x288399 = 0x0 ; _0x288399 < _0x4a806c . parts . length ; _0x288399 ++ ) _0x2ae27e . push ( _0x5834f4 ( _0x4a806c . parts [ _0x288399 ] , _0x3eafca ) ) ;
_0x497434 [ _0x4a806c . id ] = {
'id' : _0x4a806c . id ,
'refs' : 0x1 ,
'parts' : _0x2ae27e
} ;
}
}
}
function _0x1ace19 ( _0x16c522 , _0x4d3694 ) {
for ( var _0x2dec5c = [ ] , _0x5f0c4f = { } , _0x138121 = 0x0 ; _0x138121 < _0x16c522 . length ; _0x138121 ++ ) {
var _0x55e123 = _0x16c522 [ _0x138121 ] ,
_0x25df63 = _0x4d3694 . base ? _0x55e123 [ 0x0 ] + _0x4d3694 . base : _0x55e123 [ 0x0 ] ,
_0x160714 = {
'css' : _0x55e123 [ 0x1 ] ,
'media' : _0x55e123 [ 0x2 ] ,
'sourceMap' : _0x55e123 [ 0x3 ]
} ;
_0x5f0c4f [ _0x25df63 ] ? _0x5f0c4f [ _0x25df63 ] . parts . push ( _0x160714 ) : _0x2dec5c . push ( _0x5f0c4f [ _0x25df63 ] = {
'id' : _0x25df63 ,
'parts' : [ _0x160714 ]
} ) ;
}
return _0x2dec5c ;
}
function _0x451033 ( _0x206637 , _0xdf531e ) {
var _0x2dec5c = _0xb4fd6e ( _0x206637 . insertInto ) ;
if ( ! _0x2dec5c ) throw new Error ( 'Couldn\x27t find a style target. This probably means that the value for the \x27insertInto\x27 parameter is invalid.' ) ;
var _0x3a511f = _0x161b50 [ _0x161b50 . length - 0x1 ] ;
if ( 'top' === _0x206637 . insertAt ) _0x3a511f ? _0x3a511f . nextSibling ? _0x2dec5c . insertBefore ( _0xdf531e , _0x3a511f . nextSibling ) : _0x2dec5c . appendChild ( _0xdf531e ) : _0x2dec5c . insertBefore ( _0xdf531e , _0x2dec5c . firstChild ) , _0x161b50 . push ( _0xdf531e ) ;
else if ( 'bottom' === _0x206637 . insertAt ) _0x2dec5c . appendChild ( _0xdf531e ) ;
else {
if ( 'object' != typeof _0x206637 . insertAt || ! _0x206637 . insertAt . before ) throw new Error ( '[Style Loader]\n\n Invalid value for parameter \'insertAt\' (\'options.insertAt\') found.\n Must be \'top\', \'bottom\', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n' ) ;
var _0x5bcac3 = _0xb4fd6e ( _0x206637 . insertAt . before , _0x2dec5c ) ;
_0x2dec5c . insertBefore ( _0xdf531e , _0x5bcac3 ) ;
}
}
function _0x1aa0b7 ( _0x1dc86e ) {
if ( null === _0x1dc86e . parentNode ) return ! 0x1 ;
_0x1dc86e . parentNode . removeChild ( _0x1dc86e ) ;
var _0x58bd21 = _0x161b50 . indexOf ( _0x1dc86e ) ;
_0x58bd21 >= 0x0 && _0x161b50 . splice ( _0x58bd21 , 0x1 ) ;
}
function _0xd2537d ( _0x28ad9c ) {
var _0x58bd21 = document . createElement ( 'style' ) ;
if ( void 0x0 === _0x28ad9c . attrs . type && ( _0x28ad9c . attrs . type = 'text/css' ) , void 0x0 === _0x28ad9c . attrs . nonce ) {
var _0x3b750d = function ( ) {
0x0 ;
return _0x2dec5c . nc ;
} ( ) ;
_0x3b750d && ( _0x28ad9c . attrs . nonce = _0x3b750d ) ;
}
return _0xe382a6 ( _0x58bd21 , _0x28ad9c . attrs ) , _0x451033 ( _0x28ad9c , _0x58bd21 ) , _0x58bd21 ;
}
function _0xe382a6 ( _0x3216fb , _0x1a9b61 ) {
Object . keys ( _0x1a9b61 ) . forEach ( function ( _0xc7f70f ) {
_0x3216fb . setAttribute ( _0xc7f70f , _0x1a9b61 [ _0xc7f70f ] ) ;
} ) ;
}
function _0x5834f4 ( _0x24399c , _0x4b15fb ) {
var _0x2dec5c , _0x200990 , _0x2c61b7 , _0x5ec193 ;
if ( _0x4b15fb . transform && _0x24399c . css ) {
if ( ! ( _0x5ec193 = 'function' == typeof _0x4b15fb . transform ? _0x4b15fb . transform ( _0x24399c . css ) : _0x4b15fb . transform . default ( _0x24399c . css ) ) ) return function ( ) { } ;
_0x24399c . css = _0x5ec193 ;
}
if ( _0x4b15fb . singleton ) {
var _0x2bf194 = _0x468d37 ++ ;
_0x2dec5c = _0x38e9d5 || ( _0x38e9d5 = _0xd2537d ( _0x4b15fb ) ) , _0x200990 = _0x1879ed . bind ( null , _0x2dec5c , _0x2bf194 , ! 0x1 ) , _0x2c61b7 = _0x1879ed . bind ( null , _0x2dec5c , _0x2bf194 , true ) ;
} else _0x24399c . sourceMap && 'function' == typeof URL && 'function' == typeof URL . createObjectURL && 'function' == typeof URL . revokeObjectURL && 'function' == typeof Blob && 'function' == typeof btoa ? ( _0x2dec5c = function ( _0x28ca0d ) {
var _0x4b15fb = document . createElement ( 'link' ) ;
return void 0x0 === _0x28ca0d . attrs . type && ( _0x28ca0d . attrs . type = 'text/css' ) , _0x28ca0d . attrs . rel = 'stylesheet' , _0xe382a6 ( _0x4b15fb , _0x28ca0d . attrs ) , _0x451033 ( _0x28ca0d , _0x4b15fb ) , _0x4b15fb ;
} ( _0x4b15fb ) , _0x200990 = _0x3e88cb . bind ( null , _0x2dec5c , _0x4b15fb ) , _0x2c61b7 = function ( ) {
_0x1aa0b7 ( _0x2dec5c ) , _0x2dec5c . href && URL . revokeObjectURL ( _0x2dec5c . href ) ;
} ) : ( _0x2dec5c = _0xd2537d ( _0x4b15fb ) , _0x200990 = _0x38effa . bind ( null , _0x2dec5c ) , _0x2c61b7 = function ( ) {
_0x1aa0b7 ( _0x2dec5c ) ;
} ) ;
return _0x200990 ( _0x24399c ) ,
function ( _0x3833cd ) {
if ( _0x3833cd ) {
if ( _0x3833cd . css === _0x24399c . css && _0x3833cd . media === _0x24399c . media && _0x3833cd . sourceMap === _0x24399c . sourceMap ) return ;
_0x200990 ( _0x24399c = _0x3833cd ) ;
} else _0x2c61b7 ( ) ;
} ;
}
_0x2c9aa3 . exports = function ( _0x4a7dd6 , _0x42f917 ) {
if ( 'undefined' != typeof DEBUG && DEBUG && 'object' != typeof document ) throw new Error ( 'The style-loader cannot be used in a non-browser environment' ) ;
( _0x42f917 = _0x42f917 || { } ) . attrs = 'object' == typeof _0x42f917 . attrs ? _0x42f917 . attrs : { } , _0x42f917 . singleton || 'boolean' == typeof _0x42f917 . singleton || ( _0x42f917 . singleton = _0x3af502 ( ) ) , _0x42f917 . insertInto || ( _0x42f917 . insertInto = 'head' ) , _0x42f917 . insertAt || ( _0x42f917 . insertAt = 'bottom' ) ;
var _0x2dec5c = _0x1ace19 ( _0x4a7dd6 , _0x42f917 ) ;
return _0x363e3b ( _0x2dec5c , _0x42f917 ) ,
function ( _0x191726 ) {
for ( var _0x3df030 = [ ] , _0x52dfaa = 0x0 ; _0x52dfaa < _0x2dec5c . length ; _0x52dfaa ++ ) {
var _0x1107c5 = _0x2dec5c [ _0x52dfaa ] ;
( _0x4d9beb = _0x497434 [ _0x1107c5 . id ] ) . refs -- , _0x3df030 . push ( _0x4d9beb ) ;
}
_0x191726 && _0x363e3b ( _0x1ace19 ( _0x191726 , _0x42f917 ) , _0x42f917 ) ;
for ( _0x52dfaa = 0x0 ; _0x52dfaa < _0x3df030 . length ; _0x52dfaa ++ ) {
var _0x4d9beb ;
if ( 0x0 === ( _0x4d9beb = _0x3df030 [ _0x52dfaa ] ) . refs ) {
for ( var _0x24816d = 0x0 ; _0x24816d < _0x4d9beb . parts . length ; _0x24816d ++ ) _0x4d9beb . parts [ _0x24816d ] ( ) ;
delete _0x497434 [ _0x4d9beb . id ] ;
}
}
} ;
} ;
var _0x520150 , _0x4e5cb5 = ( _0x520150 = [ ] , function ( _0x5f37dd , _0x32f8b3 ) {
return _0x520150 [ _0x5f37dd ] = _0x32f8b3 , _0x520150 . filter ( Boolean ) . join ( '\n' ) ;
} ) ;
function _0x1879ed ( _0x59aa2e , _0x280210 , _0x554e02 , _0x3a0300 ) {
var _0x456faf = _0x554e02 ? '' : _0x3a0300 . css ;
if ( _0x59aa2e . styleSheet ) _0x59aa2e . styleSheet . cssText = _0x4e5cb5 ( _0x280210 , _0x456faf ) ;
else {
var _0x2819ee = document . createTextNode ( _0x456faf ) ,
_0x10accc = _0x59aa2e . childNodes ;
_0x10accc [ _0x280210 ] && _0x59aa2e . removeChild ( _0x10accc [ _0x280210 ] ) , _0x10accc . length ? _0x59aa2e . insertBefore ( _0x2819ee , _0x10accc [ _0x280210 ] ) : _0x59aa2e . appendChild ( _0x2819ee ) ;
}
}
function _0x38effa ( _0x280d5c , _0x19ab04 ) {
var _0x2dec5c = _0x19ab04 . css ,
_0x2359e2 = _0x19ab04 . media ;
if ( _0x2359e2 && _0x280d5c . setAttribute ( 'media' , _0x2359e2 ) , _0x280d5c . styleSheet ) _0x280d5c . styleSheet . cssText = _0x2dec5c ;
else {
for ( ; _0x280d5c . firstChild ; ) _0x280d5c . removeChild ( _0x280d5c . firstChild ) ;
_0x280d5c . appendChild ( document . createTextNode ( _0x2dec5c ) ) ;
}
}
function _0x3e88cb ( _0x19cd44 , _0x42ee3c , _0xef97b0 ) {
var _0x3ee625 = _0xef97b0 . css ,
_0x35fce0 = _0xef97b0 . sourceMap ,
_0x31a34d = void 0x0 === _0x42ee3c . convertToAbsoluteUrls && _0x35fce0 ;
( _0x42ee3c . convertToAbsoluteUrls || _0x31a34d ) && ( _0x3ee625 = _0x4ea7ef ( _0x3ee625 ) ) , _0x35fce0 && ( _0x3ee625 += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa ( unescape ( encodeURIComponent ( JSON . stringify ( _0x35fce0 ) ) ) ) + ' */' ) ;
var _0x1aefe6 = new Blob ( [ _0x3ee625 ] , {
'type' : 'text/css'
} ) ,
_0x3c8a8f = _0x19cd44 . href ;
_0x19cd44 . href = URL . createObjectURL ( _0x1aefe6 ) , _0x3c8a8f && URL . revokeObjectURL ( _0x3c8a8f ) ;
}
} , function ( _0x4e27b5 , _0x3956c2 ) {
_0x4e27b5 . exports = function ( _0x11cd8b ) {
var _0x3956c2 = 'undefined' != typeof window && window . location ;
if ( ! _0x3956c2 ) throw new Error ( 'fixUrls requires window.location' ) ;
if ( ! _0x11cd8b || 'string' != typeof _0x11cd8b ) return _0x11cd8b ;
var _0x371ce6 = _0x3956c2 . protocol + '//' + _0x3956c2 . host ,
_0x4e9f2b = _0x371ce6 + _0x3956c2 . pathname . replace ( /\/[^\/]*$/ , '/' ) ;
return _0x11cd8b . replace ( /url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi , function ( _0x59c920 , _0x2064b3 ) {
var _0x164a12 , _0x104643 = _0x2064b3 . trim ( ) . replace ( /^"(.*)"$/ , function ( _0x130848 , _0x1d01cb ) {
return _0x1d01cb ;
} ) . replace ( /^'(.*)'$/ , function ( _0x22c858 , _0xf25b24 ) {
return _0xf25b24 ;
} ) ;
return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i . test ( _0x104643 ) ? _0x59c920 : ( _0x164a12 = 0x0 === _0x104643 . indexOf ( '//' ) ? _0x104643 : 0x0 === _0x104643 . indexOf ( '/' ) ? _0x371ce6 + _0x104643 : _0x4e9f2b + _0x104643 . replace ( /^\.\// , '' ) , 'url(' + JSON . stringify ( _0x164a12 ) + ')' ) ;
} ) ;
} ;
} , function ( _0x1f7a9b , _0x35e9c1 , _0x4e9120 ) {
'use strict' ;
_0x35e9c1 . byteLength = function ( _0x222212 ) {
var _0x35e9c1 = _0xebc8e4 ( _0x222212 ) ,
_0x4e9120 = _0x35e9c1 [ 0x0 ] ,
_0x23993b = _0x35e9c1 [ 0x1 ] ;
return 0x3 * ( _0x4e9120 + _0x23993b ) / 0x4 - _0x23993b ;
} , _0x35e9c1 . toByteArray = function ( _0x5ab0cd ) {
var _0x35e9c1 , _0x4e9120 , _0x3d1e0c = _0xebc8e4 ( _0x5ab0cd ) ,
_0x3de087 = _0x3d1e0c [ 0x0 ] ,
_0x56570e = _0x3d1e0c [ 0x1 ] ,
_0x35cd5b = new _0x1526d9 ( function ( _0x219861 , _0x3962e0 , _0x439409 ) {
return 0x3 * ( _0x3962e0 + _0x439409 ) / 0x4 - _0x439409 ;
} ( 0x0 , _0x3de087 , _0x56570e ) ) ,
_0x50face = 0x0 ,
_0x909a98 = _0x56570e > 0x0 ? _0x3de087 - 0x4 : _0x3de087 ;
for ( _0x4e9120 = 0x0 ; _0x4e9120 < _0x909a98 ; _0x4e9120 += 0x4 ) _0x35e9c1 = _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 ) ] << 0x12 | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x1 ) ] << 0xc | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x2 ) ] << 0x6 | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x3 ) ] , _0x35cd5b [ _0x50face ++ ] = _0x35e9c1 >> 0x10 & 0xff , _0x35cd5b [ _0x50face ++ ] = _0x35e9c1 >> 0x8 & 0xff , _0x35cd5b [ _0x50face ++ ] = 0xff & _0x35e9c1 ;
0x2 === _0x56570e && ( _0x35e9c1 = _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 ) ] << 0x2 | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x1 ) ] >> 0x4 , _0x35cd5b [ _0x50face ++ ] = 0xff & _0x35e9c1 ) ;
0x1 === _0x56570e && ( _0x35e9c1 = _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 ) ] << 0xa | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x1 ) ] << 0x4 | _0x363090 [ _0x5ab0cd . charCodeAt ( _0x4e9120 + 0x2 ) ] >> 0x2 , _0x35cd5b [ _0x50face ++ ] = _0x35e9c1 >> 0x8 & 0xff , _0x35cd5b [ _0x50face ++ ] = 0xff & _0x35e9c1 ) ;
return _0x35cd5b ;
} , _0x35e9c1 . fromByteArray = function ( _0xd0488e ) {
for ( var _0x35e9c1 , _0x4e9120 = _0xd0488e . length , _0x34415e = _0x4e9120 % 0x3 , _0x4bc8fc = [ ] , _0x5bce44 = 0x0 , _0x58739f = _0x4e9120 - _0x34415e ; _0x5bce44 < _0x58739f ; _0x5bce44 += 0x3fff ) _0x4bc8fc . push ( _0x48ea44 ( _0xd0488e , _0x5bce44 , _0x5bce44 + 0x3fff > _0x58739f ? _0x58739f : _0x5bce44 + 0x3fff ) ) ;
0x1 === _0x34415e ? ( _0x35e9c1 = _0xd0488e [ _0x4e9120 - 0x1 ] , _0x4bc8fc . push ( _0x1e6251 [ _0x35e9c1 >> 0x2 ] + _0x1e6251 [ _0x35e9c1 << 0x4 & 0x3f ] + '==' ) ) : 0x2 === _0x34415e && ( _0x35e9c1 = ( _0xd0488e [ _0x4e9120 - 0x2 ] << 0x8 ) + _0xd0488e [ _0x4e9120 - 0x1 ] , _0x4bc8fc . push ( _0x1e6251 [ _0x35e9c1 >> 0xa ] + _0x1e6251 [ _0x35e9c1 >> 0x4 & 0x3f ] + _0x1e6251 [ _0x35e9c1 << 0x2 & 0x3f ] + '=' ) ) ;
return _0x4bc8fc . join ( '' ) ;
} ;
for ( var _0x1e6251 = [ ] , _0x363090 = [ ] , _0x1526d9 = 'undefined' != typeof Uint8Array ? Uint8Array : Array , _0x5a86b6 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' , _0x1f872e = 0x0 , _0x5a9cb9 = _0x5a86b6 . length ; _0x1f872e < _0x5a9cb9 ; ++ _0x1f872e ) _0x1e6251 [ _0x1f872e ] = _0x5a86b6 [ _0x1f872e ] , _0x363090 [ _0x5a86b6 . charCodeAt ( _0x1f872e ) ] = _0x1f872e ;
function _0xebc8e4 ( _0x1dbeba ) {
var _0x35e9c1 = _0x1dbeba . length ;
if ( _0x35e9c1 % 0x4 > 0x0 ) throw new Error ( 'Invalid string. Length must be a multiple of 4' ) ;
var _0x4e9120 = _0x1dbeba . indexOf ( '=' ) ;
return - 0x1 === _0x4e9120 && ( _0x4e9120 = _0x35e9c1 ) , [ _0x4e9120 , _0x4e9120 === _0x35e9c1 ? 0x0 : 0x4 - _0x4e9120 % 0x4 ] ;
}
function _0x48ea44 ( _0x56c278 , _0x4a7346 , _0x5f2040 ) {
for ( var _0x50a526 , _0xf5d207 , _0x7291d9 = [ ] , _0x4a0a0c = _0x4a7346 ; _0x4a0a0c < _0x5f2040 ; _0x4a0a0c += 0x3 ) _0x50a526 = ( _0x56c278 [ _0x4a0a0c ] << 0x10 & 0xff0000 ) + ( _0x56c278 [ _0x4a0a0c + 0x1 ] << 0x8 & 0xff00 ) + ( 0xff & _0x56c278 [ _0x4a0a0c + 0x2 ] ) , _0x7291d9 . push ( _0x1e6251 [ ( _0xf5d207 = _0x50a526 ) >> 0x12 & 0x3f ] + _0x1e6251 [ _0xf5d207 >> 0xc & 0x3f ] + _0x1e6251 [ _0xf5d207 >> 0x6 & 0x3f ] + _0x1e6251 [ 0x3f & _0xf5d207 ] ) ;
return _0x7291d9 . join ( '' ) ;
}
_0x363090 [ '-' . charCodeAt ( 0x0 ) ] = 0x3e , _0x363090 [ '_' . charCodeAt ( 0x0 ) ] = 0x3f ;
} , function ( _0x1a2ca1 , _0x5ab40f ) {
_0x5ab40f . read = function ( _0x98ecfb , _0x5ecfd8 , _0x15d57f , _0x1459c1 , _0x542705 ) {
var _0x2db62b , _0x395290 , _0x1b5e59 = 0x8 * _0x542705 - _0x1459c1 - 0x1 ,
_0x4819f0 = ( 0x1 << _0x1b5e59 ) - 0x1 ,
_0x297b1a = _0x4819f0 >> 0x1 ,
_0xf83277 = - 0x7 ,
_0xde96bc = _0x15d57f ? _0x542705 - 0x1 : 0x0 ,
_0x1e18fd = _0x15d57f ? - 0x1 : 0x1 ,
_0x39dd3e = _0x98ecfb [ _0x5ecfd8 + _0xde96bc ] ;
for ( _0xde96bc += _0x1e18fd , _0x2db62b = _0x39dd3e & ( 0x1 << - _0xf83277 ) - 0x1 , _0x39dd3e >>= - _0xf83277 , _0xf83277 += _0x1b5e59 ; _0xf83277 > 0x0 ; _0x2db62b = 0x100 * _0x2db62b + _0x98ecfb [ _0x5ecfd8 + _0xde96bc ] , _0xde96bc += _0x1e18fd , _0xf83277 -= 0x8 ) ;
for ( _0x395290 = _0x2db62b & ( 0x1 << - _0xf83277 ) - 0x1 , _0x2db62b >>= - _0xf83277 , _0xf83277 += _0x1459c1 ; _0xf83277 > 0x0 ; _0x395290 = 0x100 * _0x395290 + _0x98ecfb [ _0x5ecfd8 + _0xde96bc ] , _0xde96bc += _0x1e18fd , _0xf83277 -= 0x8 ) ;
if ( 0x0 === _0x2db62b ) _0x2db62b = 0x1 - _0x297b1a ;
else {
if ( _0x2db62b === _0x4819f0 ) return _0x395290 ? NaN : 0x1 / 0x0 * ( _0x39dd3e ? - 0x1 : 0x1 ) ;
_0x395290 += Math . pow ( 0x2 , _0x1459c1 ) , _0x2db62b -= _0x297b1a ;
}
return ( _0x39dd3e ? - 0x1 : 0x1 ) * _0x395290 * Math . pow ( 0x2 , _0x2db62b - _0x1459c1 ) ;
} , _0x5ab40f . write = function ( _0x4ba5be , _0x318108 , _0x4685ef , _0x5c1ec6 , _0x565bed , _0x42cd0b ) {
var _0x4a1cdf , _0x3837e2 , _0x50c917 , _0x19dbca = 0x8 * _0x42cd0b - _0x565bed - 0x1 ,
_0x324c08 = ( 0x1 << _0x19dbca ) - 0x1 ,
_0x523d34 = _0x324c08 >> 0x1 ,
_0xfab182 = 0x17 === _0x565bed ? Math . pow ( 0x2 , - 0x18 ) - Math . pow ( 0x2 , - 0x4d ) : 0x0 ,
_0x370a26 = _0x5c1ec6 ? 0x0 : _0x42cd0b - 0x1 ,
_0x5bb572 = _0x5c1ec6 ? 0x1 : - 0x1 ,
_0x3be950 = _0x318108 < 0x0 || 0x0 === _0x318108 && 0x1 / _0x318108 < 0x0 ? 0x1 : 0x0 ;
for ( _0x318108 = Math . abs ( _0x318108 ) , isNaN ( _0x318108 ) || _0x318108 === 0x1 / 0x0 ? ( _0x3837e2 = isNaN ( _0x318108 ) ? 0x1 : 0x0 , _0x4a1cdf = _0x324c08 ) : ( _0x4a1cdf = Math . floor ( Math . log ( _0x318108 ) / Math . LN2 ) , _0x318108 * ( _0x50c917 = Math . pow ( 0x2 , - _0x4a1cdf ) ) < 0x1 && ( _0x4a1cdf -- , _0x50c917 *= 0x2 ) , ( _0x318108 += _0x4a1cdf + _0x523d34 >= 0x1 ? _0xfab182 / _0x50c917 : _0xfab182 * Math . pow ( 0x2 , 0x1 - _0x523d34 ) ) * _0x50c917 >= 0x2 && ( _0x4a1cdf ++ , _0x50c917 /= 0x2 ) , _0x4a1cdf + _0x523d34 >= _0x324c08 ? ( _0x3837e2 = 0x0 , _0x4a1cdf = _0x324c08 ) : _0x4a1cdf + _0x523d34 >= 0x1 ? ( _0x3837e2 = ( _0x318108 * _0x50c917 - 0x1 ) * Math . pow ( 0x2 , _0x565bed ) , _0x4a1cdf += _0x523d34 ) : ( _0x3837e2 = _0x318108 * Math . pow ( 0x2 , _0x523d34 - 0x1 ) * Math . pow ( 0x2 , _0x565bed ) , _0x4a1cdf = 0x0 ) ) ; _0x565bed >= 0x8 ; _0x4ba5be [ _0x4685ef + _0x370a26 ] = 0xff & _0x3837e2 , _0x370a26 += _0x5bb572 , _0x3837e2 /= 0x100 , _0x565bed -= 0x8 ) ;
for ( _0x4a1cdf = _0x4a1cdf << _0x565bed | _0x3837e2 , _0x19dbca += _0x565bed ; _0x19dbca > 0x0 ; _0x4ba5be [ _0x4685ef + _0x370a26 ] = 0xff & _0x4a1cdf , _0x370a26 += _0x5bb572 , _0x4a1cdf /= 0x100 , _0x19dbca -= 0x8 ) ;
_0x4ba5be [ _0x4685ef + _0x370a26 - _0x5bb572 ] |= 0x80 * _0x3be950 ;
} ;
} , function ( _0x7f2027 , _0x1e318c ) {
var _0x43851d = { } . toString ;
_0x7f2027 . exports = Array . isArray || function ( _0x4397a1 ) {
return '[object Array]' == _0x43851d . call ( _0x4397a1 ) ;
} ;
} , function ( _0x55766d , _0x425397 , _0x30fc1c ) {
var _0x312e4e = _0x30fc1c ( 0x91 ) ,
_0xfaebef = _0x30fc1c ( 0x4a ) ( 'socket.io-client:url' ) ;
_0x55766d . exports = function ( _0x1e578e , _0x55621b ) {
var _0x30fc1c = _0x1e578e ;
_0x55621b = _0x55621b || 'undefined' != typeof location && location , null == _0x1e578e && ( _0x1e578e = _0x55621b . protocol + '//' + _0x55621b . host ) ;
'string' == typeof _0x1e578e && ( '/' === _0x1e578e . charAt ( 0x0 ) && ( _0x1e578e = '/' === _0x1e578e . charAt ( 0x1 ) ? _0x55621b . protocol + _0x1e578e : _0x55621b . host + _0x1e578e ) , /^(https?|wss?):\/\// . test ( _0x1e578e ) || ( _0xfaebef ( 'protocol-less url %s' , _0x1e578e ) , _0x1e578e = void 0x0 !== _0x55621b ? _0x55621b . protocol + '//' + _0x1e578e : 'https://' + _0x1e578e ) , _0xfaebef ( 'parse %s' , _0x1e578e ) , _0x30fc1c = _0x312e4e ( _0x1e578e ) ) ;
_0x30fc1c . port || ( /^(http|ws)$/ . test ( _0x30fc1c . protocol ) ? _0x30fc1c . port = '80' : /^(http|ws)s$/ . test ( _0x30fc1c . protocol ) && ( _0x30fc1c . port = '443' ) ) ;
_0x30fc1c . path = _0x30fc1c . path || '/' ;
var _0x259720 = - 0x1 !== _0x30fc1c . host . indexOf ( ':' ) ? '[' + _0x30fc1c . host + ']' : _0x30fc1c . host ;
return _0x30fc1c . id = _0x30fc1c . protocol + '://' + _0x259720 + ':' + _0x30fc1c . port , _0x30fc1c . href = _0x30fc1c . protocol + '://' + _0x259720 + ( _0x55621b && _0x55621b . port === _0x30fc1c . port ? '' : ':' + _0x30fc1c . port ) , _0x30fc1c ;
} ;
} , function ( _0x309003 , _0x12598a , _0x6390d0 ) {
function _0x4bc461 ( _0x1b6f2f ) {
var _0x6390d0 ;
function _0x4f0f69 ( ) {
if ( _0x4f0f69 . enabled ) {
var _0x1b6f2f = _0x4f0f69 ,
_0x478df4 = + new Date ( ) ,
_0x3e9539 = _0x478df4 - ( _0x6390d0 || _0x478df4 ) ;
_0x1b6f2f . diff = _0x3e9539 , _0x1b6f2f . prev = _0x6390d0 , _0x1b6f2f . curr = _0x478df4 , _0x6390d0 = _0x478df4 ;
for ( var _0x4a107f = new Array ( arguments . length ) , _0x13594f = 0x0 ; _0x13594f < _0x4a107f . length ; _0x13594f ++ ) _0x4a107f [ _0x13594f ] = arguments [ _0x13594f ] ;
_0x4a107f [ 0x0 ] = _0x12598a . coerce ( _0x4a107f [ 0x0 ] ) , 'string' != typeof _0x4a107f [ 0x0 ] && _0x4a107f . unshift ( '%O' ) ;
var _0x3f5695 = 0x0 ;
_0x4a107f [ 0x0 ] = _0x4a107f [ 0x0 ] . replace ( /%([a-zA-Z%])/g , function ( _0x4dd58f , _0x3b0513 ) {
if ( '%%' === _0x4dd58f ) return _0x4dd58f ;
_0x3f5695 ++ ;
var _0x1d4539 = _0x12598a . formatters [ _0x3b0513 ] ;
if ( 'function' == typeof _0x1d4539 ) {
var _0x2f3d6f = _0x4a107f [ _0x3f5695 ] ;
_0x4dd58f = _0x1d4539 . call ( _0x1b6f2f , _0x2f3d6f ) , _0x4a107f . splice ( _0x3f5695 , 0x1 ) , _0x3f5695 -- ;
}
return _0x4dd58f ;
} ) , _0x12598a . formatArgs . call ( _0x1b6f2f , _0x4a107f ) , ( _0x4f0f69 . log || _0x12598a . log || console . log . bind ( console ) ) . apply ( _0x1b6f2f , _0x4a107f ) ;
}
}
return _0x4f0f69 . namespace = _0x1b6f2f , _0x4f0f69 . enabled = _0x12598a . enabled ( _0x1b6f2f ) , _0x4f0f69 . useColors = _0x12598a . useColors ( ) , _0x4f0f69 . color = function ( _0x5aec32 ) {
var _0x6390d0 , _0xe192b3 = 0x0 ;
for ( _0x6390d0 in _0x5aec32 ) _0xe192b3 = ( _0xe192b3 << 0x5 ) - _0xe192b3 + _0x5aec32 . charCodeAt ( _0x6390d0 ) , _0xe192b3 |= 0x0 ;
return _0x12598a . colors [ Math . abs ( _0xe192b3 ) % _0x12598a . colors . length ] ;
} ( _0x1b6f2f ) , _0x4f0f69 . destroy = _0x41d325 , 'function' == typeof _0x12598a . init && _0x12598a . init ( _0x4f0f69 ) , _0x12598a . instances . push ( _0x4f0f69 ) , _0x4f0f69 ;
}
function _0x41d325 ( ) {
var _0x309003 = _0x12598a . instances . indexOf ( this ) ;
return - 0x1 !== _0x309003 && ( _0x12598a . instances . splice ( _0x309003 , 0x1 ) , true ) ;
} ( _0x12598a = _0x309003 . exports = _0x4bc461 . debug = _0x4bc461 . default = _0x4bc461 ) . coerce = function ( _0x46ff6f ) {
return _0x46ff6f instanceof Error ? _0x46ff6f . stack || _0x46ff6f . message : _0x46ff6f ;
} , _0x12598a . disable = function ( ) {
_0x12598a . enable ( '' ) ;
} , _0x12598a . enable = function ( _0x4f23b1 ) {
var _0x6390d0 ;
_0x12598a . save ( _0x4f23b1 ) , _0x12598a . names = [ ] , _0x12598a . skips = [ ] ;
var _0x199225 = ( 'string' == typeof _0x4f23b1 ? _0x4f23b1 : '' ) . split ( /[\s,]+/ ) ,
_0x2a6586 = _0x199225 . length ;
for ( _0x6390d0 = 0x0 ; _0x6390d0 < _0x2a6586 ; _0x6390d0 ++ ) _0x199225 [ _0x6390d0 ] && ( '-' === ( _0x4f23b1 = _0x199225 [ _0x6390d0 ] . replace ( /\*/g , '.*?' ) ) [ 0x0 ] ? _0x12598a . skips . push ( new RegExp ( '^' + _0x4f23b1 . substr ( 0x1 ) + '$' ) ) : _0x12598a . names . push ( new RegExp ( '^' + _0x4f23b1 + '$' ) ) ) ;
for ( _0x6390d0 = 0x0 ; _0x6390d0 < _0x12598a . instances . length ; _0x6390d0 ++ ) {
var _0x45a46b = _0x12598a . instances [ _0x6390d0 ] ;
_0x45a46b . enabled = _0x12598a . enabled ( _0x45a46b . namespace ) ;
}
} , _0x12598a . enabled = function ( _0xde8aec ) {
if ( '*' === _0xde8aec [ _0xde8aec . length - 0x1 ] ) return true ;
var _0x6390d0 , _0xf406c9 ;
for ( _0x6390d0 = 0x0 , _0xf406c9 = _0x12598a . skips . length ; _0x6390d0 < _0xf406c9 ; _0x6390d0 ++ )
if ( _0x12598a . skips [ _0x6390d0 ] . test ( _0xde8aec ) ) return ! 0x1 ;
for ( _0x6390d0 = 0x0 , _0xf406c9 = _0x12598a . names . length ; _0x6390d0 < _0xf406c9 ; _0x6390d0 ++ )
if ( _0x12598a . names [ _0x6390d0 ] . test ( _0xde8aec ) ) return true ;
return ! 0x1 ;
} , _0x12598a . humanize = _0x6390d0 ( 0x68 ) , _0x12598a . instances = [ ] , _0x12598a . names = [ ] , _0x12598a . skips = [ ] , _0x12598a . formatters = { } ;
} , function ( _0x51bfb5 , _0x52ec3c , _0x4a6556 ) {
2022-05-04 23:39:59 +00:00
_0x51bfb5 . exports = _0x4a6556 ( 0x4d ) ;
2022-04-30 00:01:21 +00:00
} , function ( _0x54fbaa , _0xb994ca , _0x222313 ) {
function _0x574a17 ( _0x160166 ) {
var _0x222313 ;
function _0x1f7dd9 ( ) {
if ( _0x1f7dd9 . enabled ) {
var _0x160166 = _0x1f7dd9 ,
_0x525d4f = + new Date ( ) ,
_0x394213 = _0x525d4f - ( _0x222313 || _0x525d4f ) ;
_0x160166 . diff = _0x394213 , _0x160166 . prev = _0x222313 , _0x160166 . curr = _0x525d4f , _0x222313 = _0x525d4f ;
for ( var _0x4f052c = new Array ( arguments . length ) , _0xe076c = 0x0 ; _0xe076c < _0x4f052c . length ; _0xe076c ++ ) _0x4f052c [ _0xe076c ] = arguments [ _0xe076c ] ;
_0x4f052c [ 0x0 ] = _0xb994ca . coerce ( _0x4f052c [ 0x0 ] ) , 'string' != typeof _0x4f052c [ 0x0 ] && _0x4f052c . unshift ( '%O' ) ;
var _0x55ee0e = 0x0 ;
_0x4f052c [ 0x0 ] = _0x4f052c [ 0x0 ] . replace ( /%([a-zA-Z%])/g , function ( _0x1d83d0 , _0x1823f2 ) {
if ( '%%' === _0x1d83d0 ) return _0x1d83d0 ;
_0x55ee0e ++ ;
var _0x120817 = _0xb994ca . formatters [ _0x1823f2 ] ;
if ( 'function' == typeof _0x120817 ) {
var _0x12b98d = _0x4f052c [ _0x55ee0e ] ;
_0x1d83d0 = _0x120817 . call ( _0x160166 , _0x12b98d ) , _0x4f052c . splice ( _0x55ee0e , 0x1 ) , _0x55ee0e -- ;
}
return _0x1d83d0 ;
} ) , _0xb994ca . formatArgs . call ( _0x160166 , _0x4f052c ) , ( _0x1f7dd9 . log || _0xb994ca . log || console . log . bind ( console ) ) . apply ( _0x160166 , _0x4f052c ) ;
}
}
return _0x1f7dd9 . namespace = _0x160166 , _0x1f7dd9 . enabled = _0xb994ca . enabled ( _0x160166 ) , _0x1f7dd9 . useColors = _0xb994ca . useColors ( ) , _0x1f7dd9 . color = function ( _0x41b495 ) {
var _0x222313 , _0x369715 = 0x0 ;
for ( _0x222313 in _0x41b495 ) _0x369715 = ( _0x369715 << 0x5 ) - _0x369715 + _0x41b495 . charCodeAt ( _0x222313 ) , _0x369715 |= 0x0 ;
return _0xb994ca . colors [ Math . abs ( _0x369715 ) % _0xb994ca . colors . length ] ;
} ( _0x160166 ) , _0x1f7dd9 . destroy = _0xafe771 , 'function' == typeof _0xb994ca . init && _0xb994ca . init ( _0x1f7dd9 ) , _0xb994ca . instances . push ( _0x1f7dd9 ) , _0x1f7dd9 ;
}
function _0xafe771 ( ) {
var _0x54fbaa = _0xb994ca . instances . indexOf ( this ) ;
return - 0x1 !== _0x54fbaa && ( _0xb994ca . instances . splice ( _0x54fbaa , 0x1 ) , true ) ;
} ( _0xb994ca = _0x54fbaa . exports = _0x574a17 . debug = _0x574a17 . default = _0x574a17 ) . coerce = function ( _0xeef7c3 ) {
return _0xeef7c3 instanceof Error ? _0xeef7c3 . stack || _0xeef7c3 . message : _0xeef7c3 ;
} , _0xb994ca . disable = function ( ) {
_0xb994ca . enable ( '' ) ;
} , _0xb994ca . enable = function ( _0x136d11 ) {
var _0x222313 ;
_0xb994ca . save ( _0x136d11 ) , _0xb994ca . names = [ ] , _0xb994ca . skips = [ ] ;
var _0xddbc08 = ( 'string' == typeof _0x136d11 ? _0x136d11 : '' ) . split ( /[\s,]+/ ) ,
_0xe57337 = _0xddbc08 . length ;
for ( _0x222313 = 0x0 ; _0x222313 < _0xe57337 ; _0x222313 ++ ) _0xddbc08 [ _0x222313 ] && ( '-' === ( _0x136d11 = _0xddbc08 [ _0x222313 ] . replace ( /\*/g , '.*?' ) ) [ 0x0 ] ? _0xb994ca . skips . push ( new RegExp ( '^' + _0x136d11 . substr ( 0x1 ) + '$' ) ) : _0xb994ca . names . push ( new RegExp ( '^' + _0x136d11 + '$' ) ) ) ;
for ( _0x222313 = 0x0 ; _0x222313 < _0xb994ca . instances . length ; _0x222313 ++ ) {
var _0x1f56d8 = _0xb994ca . instances [ _0x222313 ] ;
_0x1f56d8 . enabled = _0xb994ca . enabled ( _0x1f56d8 . namespace ) ;
}
} , _0xb994ca . enabled = function ( _0x4167fe ) {
if ( '*' === _0x4167fe [ _0x4167fe . length - 0x1 ] ) return true ;
var _0x222313 , _0x59df7e ;
for ( _0x222313 = 0x0 , _0x59df7e = _0xb994ca . skips . length ; _0x222313 < _0x59df7e ; _0x222313 ++ )
if ( _0xb994ca . skips [ _0x222313 ] . test ( _0x4167fe ) ) return ! 0x1 ;
for ( _0x222313 = 0x0 , _0x59df7e = _0xb994ca . names . length ; _0x222313 < _0x59df7e ; _0x222313 ++ )
if ( _0xb994ca . names [ _0x222313 ] . test ( _0x4167fe ) ) return true ;
return ! 0x1 ;
} , _0xb994ca . humanize = _0x222313 ( 0x68 ) , _0xb994ca . instances = [ ] , _0xb994ca . names = [ ] , _0xb994ca . skips = [ ] , _0xb994ca . formatters = { } ;
} , function ( _0x5ef37b , _0x2bf12f , _0x5e36a8 ) {
2022-05-04 23:39:59 +00:00
var _0x1896c7 = _0x5e36a8 ( 0x93 ) ,
2022-04-30 00:01:21 +00:00
_0x4bc13e = Object . prototype . toString ,
_0x1a39df = 'function' == typeof Blob || 'undefined' != typeof Blob && '[object BlobConstructor]' === _0x4bc13e . call ( Blob ) ,
_0x1fd000 = 'function' == typeof File || 'undefined' != typeof File && '[object FileConstructor]' === _0x4bc13e . call ( File ) ;
_0x2bf12f . deconstructPacket = function ( _0x7b453a ) {
var _0x2bf12f = [ ] ,
_0x5e36a8 = _0x7b453a . data ,
_0x480b58 = _0x7b453a ;
return _0x480b58 . data = function _0x7b453a ( _0x2b35ac , _0x5ae562 ) {
if ( ! _0x2b35ac ) return _0x2b35ac ;
if ( _0x1896c7 ( _0x2b35ac ) ) {
var _0x41f818 = {
'_placeholder' : true ,
'num' : _0x5ae562 . length
} ;
return _0x5ae562 . push ( _0x2b35ac ) , _0x41f818 ;
}
2022-05-04 23:39:59 +00:00
if ( Array . isArray ( _0x2b35ac ) ) {
2022-04-30 00:01:21 +00:00
for ( var _0x3af883 = new Array ( _0x2b35ac . length ) , _0x4c62b6 = 0x0 ; _0x4c62b6 < _0x2b35ac . length ; _0x4c62b6 ++ ) _0x3af883 [ _0x4c62b6 ] = _0x7b453a ( _0x2b35ac [ _0x4c62b6 ] , _0x5ae562 ) ;
return _0x3af883 ;
}
if ( 'object' == typeof _0x2b35ac && ! ( _0x2b35ac instanceof Date ) ) {
_0x3af883 = { } ;
for ( var _0x33a853 in _0x2b35ac ) _0x3af883 [ _0x33a853 ] = _0x7b453a ( _0x2b35ac [ _0x33a853 ] , _0x5ae562 ) ;
return _0x3af883 ;
}
return _0x2b35ac ;
} ( _0x5e36a8 , _0x2bf12f ) , _0x480b58 . attachments = _0x2bf12f . length , {
'packet' : _0x480b58 ,
'buffers' : _0x2bf12f
} ;
} , _0x2bf12f . reconstructPacket = function ( _0x3a9261 , _0x4464b6 ) {
return _0x3a9261 . data = function _0x3a9261 ( _0x5dce45 , _0x2d03b7 ) {
if ( ! _0x5dce45 ) return _0x5dce45 ;
if ( _0x5dce45 && _0x5dce45 . _placeholder ) return _0x2d03b7 [ _0x5dce45 . num ] ;
2022-05-04 23:39:59 +00:00
if ( Array . isArray ( _0x5dce45 ) )
2022-04-30 00:01:21 +00:00
for ( var _0x38ca1f = 0x0 ; _0x38ca1f < _0x5dce45 . length ; _0x38ca1f ++ ) _0x5dce45 [ _0x38ca1f ] = _0x3a9261 ( _0x5dce45 [ _0x38ca1f ] , _0x2d03b7 ) ;
else if ( 'object' == typeof _0x5dce45 )
for ( var _0x730ee1 in _0x5dce45 ) _0x5dce45 [ _0x730ee1 ] = _0x3a9261 ( _0x5dce45 [ _0x730ee1 ] , _0x2d03b7 ) ;
return _0x5dce45 ;
} ( _0x3a9261 . data , _0x4464b6 ) , _0x3a9261 . attachments = void 0x0 , _0x3a9261 ;
} , _0x2bf12f . removeBlobs = function ( _0x4a63fc , _0xb57a00 ) {
var _0x5e36a8 = 0x0 ,
_0x204453 = _0x4a63fc ;
! function _0x4a63fc ( _0x11b7e1 , _0x47bee4 , _0x1fbe7b ) {
if ( ! _0x11b7e1 ) return _0x11b7e1 ;
if ( _0x1a39df && _0x11b7e1 instanceof Blob || _0x1fd000 && _0x11b7e1 instanceof File ) {
_0x5e36a8 ++ ;
var _0x4af2e1 = new FileReader ( ) ;
_0x4af2e1 . onload = function ( ) {
_0x1fbe7b ? _0x1fbe7b [ _0x47bee4 ] = this . result : _0x204453 = this . result , -- _0x5e36a8 || _0xb57a00 ( _0x204453 ) ;
} , _0x4af2e1 . readAsArrayBuffer ( _0x11b7e1 ) ;
2022-05-04 23:39:59 +00:00
} else if ( Array . isArray ( _0x11b7e1 ) )
2022-04-30 00:01:21 +00:00
for ( var _0xe3e0da = 0x0 ; _0xe3e0da < _0x11b7e1 . length ; _0xe3e0da ++ ) _0x4a63fc ( _0x11b7e1 [ _0xe3e0da ] , _0xe3e0da , _0x11b7e1 ) ;
else if ( 'object' == typeof _0x11b7e1 && ! _0x1896c7 ( _0x11b7e1 ) )
for ( var _0x45739f in _0x11b7e1 ) _0x4a63fc ( _0x11b7e1 [ _0x45739f ] , _0x45739f , _0x11b7e1 ) ;
} ( _0x204453 ) , _0x5e36a8 || _0xb57a00 ( _0x204453 ) ;
} ;
} , function ( _0x4110e5 , _0xc49d7f , _0x49ae62 ) {
_0x4110e5 . exports = _0x49ae62 ( 0x17b ) , _0x4110e5 . exports . parser = _0x49ae62 ( 0x33 ) ;
} , function ( _0x34d620 , _0x3efa0b , _0x55216d ) {
var _0x1fdb83 = _0x55216d ( 0x95 ) ,
_0x9fae3 = _0x55216d ( 0x32 ) ,
_0x148108 = _0x55216d ( 0x4d ) ( 'engine.io-client:socket' ) ,
_0xc49fe6 = _0x55216d ( 0x99 ) ,
_0x423ddf = _0x55216d ( 0x33 ) ,
_0x5022c2 = _0x55216d ( 0x91 ) ,
_0x4dbffe = _0x55216d ( 0x4b ) ;
function _0x194ddd ( _0x4a18d5 , _0x4e8077 ) {
if ( ! ( this instanceof _0x194ddd ) ) return new _0x194ddd ( _0x4a18d5 , _0x4e8077 ) ;
_0x4e8077 = _0x4e8077 || { } , _0x4a18d5 && 'object' == typeof _0x4a18d5 && ( _0x4e8077 = _0x4a18d5 , _0x4a18d5 = null ) , _0x4a18d5 ? ( _0x4a18d5 = _0x5022c2 ( _0x4a18d5 ) , _0x4e8077 . hostname = _0x4a18d5 . host , _0x4e8077 . secure = 'https' === _0x4a18d5 . protocol || 'wss' === _0x4a18d5 . protocol , _0x4e8077 . port = _0x4a18d5 . port , _0x4a18d5 . query && ( _0x4e8077 . query = _0x4a18d5 . query ) ) : _0x4e8077 . host && ( _0x4e8077 . hostname = _0x5022c2 ( _0x4e8077 . host ) . host ) , this . secure = null != _0x4e8077 . secure ? _0x4e8077 . secure : 'undefined' != typeof location && 'https:' === location . protocol , _0x4e8077 . hostname && ! _0x4e8077 . port && ( _0x4e8077 . port = this . secure ? '443' : '80' ) , this . agent = _0x4e8077 . agent || ! 0x1 , this . hostname = _0x4e8077 . hostname || ( 'undefined' != typeof location ? location . hostname : 'localhost' ) , this . port = _0x4e8077 . port || ( 'undefined' != typeof location && location . port ? location . port : this . secure ? 0x1bb : 0x50 ) , this . query = _0x4e8077 . query || { } , 'string' == typeof this . query && ( this . query = _0x4dbffe . decode ( this . query ) ) , this . upgrade = ! 0x1 !== _0x4e8077 . upgrade , this . path = ( _0x4e8077 . path || '/engine.io' ) . replace ( /\/$/ , '' ) + '/' , this . forceJSONP = ! ! _0x4e8077 . forceJSONP , this . jsonp = ! 0x1 !== _0x4e8077 . jsonp , this . forceBase64 = ! ! _0x4e8077 . forceBase64 , this . enablesXDR = ! ! _0x4e8077 . enablesXDR , this . timestampParam = _0x4e8077 . timestampParam || 't' , this . timestampRequests = _0x4e8077 . timestampRequests , this . transports = _0x4e8077 . transports || [ 'polling' , 'websocket' ] , this . transportOptions = _0x4e8077 . transportOptions || { } , this . readyState = '' , this . writeBuffer = [ ] , this . prevBufferLen = 0x0 , this . policyPort = _0x4e8077 . policyPort || 0x34b , this . rememberUpgrade = _0x4e8077 . rememberUpgrade || ! 0x1 , this . binaryType = null , this . onlyBinaryUpgrades = _0x4e8077 . onlyBinaryUpgrades , this . perMessageDeflate = ! 0x1 !== _0x4e8077 . perMessageDeflate && ( _0x4e8077 . perMessageDeflate || { } ) , true === this . perMessageDeflate && ( this . perMessageDeflate = { } ) , this . perMessageDeflate && null == this . perMessageDeflate . threshold && ( this . perMessageDeflate . threshold = 0x400 ) , this . pfx = _0x4e8077 . pfx || null , this . key = _0x4e8077 . key || null , this . passphrase = _0x4e8077 . passphrase || null , this . cert = _0x4e8077 . cert || null , this . ca = _0x4e8077 . ca || null , this . ciphers = _0x4e8077 . ciphers || null , this . rejectUnauthorized = void 0x0 === _0x4e8077 . rejectUnauthorized || _0x4e8077 . rejectUnauthorized , this . forceNode = ! ! _0x4e8077 . forceNode , this . isReactNative = 'undefined' != typeof navigator && 'string' == typeof navigator . product && 'reactnative' === navigator . product . toLowerCase ( ) , ( 'undefined' == typeof self || this . isReactNative ) && ( _0x4e8077 . extraHeaders && Object . keys ( _0x4e8077 . extraHeaders ) . length > 0x0 && ( this . extraHeaders = _0x4e8077 . extraHeaders ) , _0x4e8077 . localAddress && ( this . localAddress = _0x4e8077 . localAddress ) ) , this . id = null , this . upgrades = null , this . pingInterval = null , this . pingTimeout = null , this . pingIntervalTimer = null , this . pingTimeoutTimer = null , this . open ( ) ;
}
_0x34d620 . exports = _0x194ddd , _0x194ddd . priorWebsocketSuccess = ! 0x1 , _0x9fae3 ( _0x194ddd . prototype ) , _0x194ddd . protocol = _0x423ddf . protocol , _0x194ddd . Socket = _0x194ddd , _0x194ddd . Transport = _0x55216d ( 0x6b ) , _0x194ddd . transports = _0x55216d ( 0x95 ) , _0x194ddd . parser = _0x55216d ( 0x33 ) , _0x194ddd . prototype . createTransport = function ( _0x148af1 ) {
_0x148108 ( 'creating transport "%s"' , _0x148af1 ) ;
var _0x3efa0b = function ( _0x45595f ) {
var _0x3efa0b = { } ;
for ( var _0x55216d in _0x45595f ) _0x45595f . hasOwnProperty ( _0x55216d ) && ( _0x3efa0b [ _0x55216d ] = _0x45595f [ _0x55216d ] ) ;
return _0x3efa0b ;
} ( this . query ) ;
_0x3efa0b . EIO = 4 , _0x3efa0b . transport = _0x148af1 ;
var _0x55216d = this . transportOptions [ _0x148af1 ] || { } ;
return this . id && ( _0x3efa0b . sid = this . id ) , new _0x1fdb83 [ _0x148af1 ] ( {
'query' : _0x3efa0b ,
'socket' : this ,
'agent' : _0x55216d . agent || this . agent ,
'hostname' : _0x55216d . hostname || this . hostname ,
'port' : _0x55216d . port || this . port ,
'secure' : _0x55216d . secure || this . secure ,
'path' : _0x55216d . path || this . path ,
'forceJSONP' : _0x55216d . forceJSONP || this . forceJSONP ,
'jsonp' : _0x55216d . jsonp || this . jsonp ,
'forceBase64' : _0x55216d . forceBase64 || this . forceBase64 ,
'enablesXDR' : _0x55216d . enablesXDR || this . enablesXDR ,
'timestampRequests' : _0x55216d . timestampRequests || this . timestampRequests ,
'timestampParam' : _0x55216d . timestampParam || this . timestampParam ,
'policyPort' : _0x55216d . policyPort || this . policyPort ,
'pfx' : _0x55216d . pfx || this . pfx ,
'key' : _0x55216d . key || this . key ,
'passphrase' : _0x55216d . passphrase || this . passphrase ,
'cert' : _0x55216d . cert || this . cert ,
'ca' : _0x55216d . ca || this . ca ,
'ciphers' : _0x55216d . ciphers || this . ciphers ,
'rejectUnauthorized' : _0x55216d . rejectUnauthorized || this . rejectUnauthorized ,
'perMessageDeflate' : _0x55216d . perMessageDeflate || this . perMessageDeflate ,
'extraHeaders' : _0x55216d . extraHeaders || this . extraHeaders ,
'forceNode' : _0x55216d . forceNode || this . forceNode ,
'localAddress' : _0x55216d . localAddress || this . localAddress ,
'requestTimeout' : _0x55216d . requestTimeout || this . requestTimeout ,
'protocols' : _0x55216d . protocols || void 0x0 ,
'isReactNative' : this . isReactNative
} ) ;
} , _0x194ddd . prototype . open = function ( ) {
var _0x34d620 ;
if ( this . rememberUpgrade && _0x194ddd . priorWebsocketSuccess && - 0x1 !== this . transports . indexOf ( 'websocket' ) ) _0x34d620 = 'websocket' ;
else {
if ( 0x0 === this . transports . length ) {
var _0x3efa0b = this ;
return void setTimeout ( function ( ) {
_0x3efa0b . emit ( 'error' , 'No transports available' ) ;
} , 0x0 ) ;
}
_0x34d620 = this . transports [ 0x0 ] ;
}
this . readyState = 'opening' ;
try {
_0x34d620 = this . createTransport ( _0x34d620 ) ;
} catch ( _0x5e61e1 ) {
return this . transports . shift ( ) , void this . open ( ) ;
}
_0x34d620 . open ( ) , this . setTransport ( _0x34d620 ) ;
} , _0x194ddd . prototype . setTransport = function ( _0xb1579d ) {
_0x148108 ( 'setting transport %s' , _0xb1579d . name ) ;
var _0x3efa0b = this ;
this . transport && ( _0x148108 ( 'clearing existing transport %s' , this . transport . name ) , this . transport . removeAllListeners ( ) ) , this . transport = _0xb1579d , _0xb1579d . on ( 'drain' , function ( ) {
_0x3efa0b . onDrain ( ) ;
} ) . on ( 'packet' , function ( _0x1712a3 ) {
_0x3efa0b . onPacket ( _0x1712a3 ) ;
} ) . on ( 'error' , function ( _0x89808c ) {
_0x3efa0b . onError ( _0x89808c ) ;
} ) . on ( 'close' , function ( ) {
_0x3efa0b . onClose ( 'transport close' ) ;
} ) ;
} , _0x194ddd . prototype . probe = function ( _0x501e0f ) {
_0x148108 ( 'probing transport "%s"' , _0x501e0f ) ;
var _0x3efa0b = this . createTransport ( _0x501e0f , {
'probe' : 0x1
} ) ,
_0x55216d = ! 0x1 ,
_0x5f251f = this ;
function _0x1eb3ab ( ) {
if ( _0x5f251f . onlyBinaryUpgrades ) {
var _0x3f12eb = ! this . supportsBinary && _0x5f251f . transport . supportsBinary ;
_0x55216d = _0x55216d || _0x3f12eb ;
}
_0x55216d || ( _0x148108 ( 'probe transport "%s" opened' , _0x501e0f ) , _0x3efa0b . send ( [ {
'type' : 'ping' ,
'data' : 'probe'
} ] ) , _0x3efa0b . once ( 'packet' , function ( _0x557c99 ) {
if ( ! _0x55216d )
if ( 'pong' === _0x557c99 . type && 'probe' === _0x557c99 . data ) {
if ( _0x148108 ( 'probe transport "%s" pong' , _0x501e0f ) , _0x5f251f . upgrading = true , _0x5f251f . emit ( 'upgrading' , _0x3efa0b ) , ! _0x3efa0b ) return ;
_0x194ddd . priorWebsocketSuccess = 'websocket' === _0x3efa0b . name , _0x148108 ( 'pausing current transport "%s"' , _0x5f251f . transport . name ) , _0x5f251f . transport . pause ( function ( ) {
_0x55216d || 'closed' !== _0x5f251f . readyState && ( _0x148108 ( 'changing transport and sending upgrade packet' ) , _0x3f719e ( ) , _0x5f251f . setTransport ( _0x3efa0b ) , _0x3efa0b . send ( [ {
'type' : 'upgrade'
} ] ) , _0x5f251f . emit ( 'upgrade' , _0x3efa0b ) , _0x3efa0b = null , _0x5f251f . upgrading = ! 0x1 , _0x5f251f . flush ( ) ) ;
} ) ;
} else {
_0x148108 ( 'probe transport "%s" failed' , _0x501e0f ) ;
var _0x3e6d82 = new Error ( 'probe error' ) ;
_0x3e6d82 . transport = _0x3efa0b . name , _0x5f251f . emit ( 'upgradeError' , _0x3e6d82 ) ;
}
} ) ) ;
}
function _0x2b67eb ( ) {
_0x55216d || ( _0x55216d = true , _0x3f719e ( ) , _0x3efa0b . close ( ) , _0x3efa0b = null ) ;
}
function _0x38040c ( _0x76e3a6 ) {
var _0x29c478 = new Error ( 'probe error: ' + _0x76e3a6 ) ;
_0x29c478 . transport = _0x3efa0b . name , _0x2b67eb ( ) , _0x148108 ( 'probe transport "%s" failed because of error: %s' , _0x501e0f , _0x76e3a6 ) , _0x5f251f . emit ( 'upgradeError' , _0x29c478 ) ;
}
function _0x2e19bc ( ) {
_0x38040c ( 'transport closed' ) ;
}
function _0x548dfa ( ) {
_0x38040c ( 'socket closed' ) ;
}
function _0x50f53d ( _0x215597 ) {
_0x3efa0b && _0x215597 . name !== _0x3efa0b . name && ( _0x148108 ( '"%s" works - aborting "%s"' , _0x215597 . name , _0x3efa0b . name ) , _0x2b67eb ( ) ) ;
}
function _0x3f719e ( ) {
_0x3efa0b . removeListener ( 'open' , _0x1eb3ab ) , _0x3efa0b . removeListener ( 'error' , _0x38040c ) , _0x3efa0b . removeListener ( 'close' , _0x2e19bc ) , _0x5f251f . removeListener ( 'close' , _0x548dfa ) , _0x5f251f . removeListener ( 'upgrading' , _0x50f53d ) ;
}
_0x194ddd . priorWebsocketSuccess = ! 0x1 , _0x3efa0b . once ( 'open' , _0x1eb3ab ) , _0x3efa0b . once ( 'error' , _0x38040c ) , _0x3efa0b . once ( 'close' , _0x2e19bc ) , this . once ( 'close' , _0x548dfa ) , this . once ( 'upgrading' , _0x50f53d ) , _0x3efa0b . open ( ) ;
} , _0x194ddd . prototype . onOpen = function ( ) {
if ( _0x148108 ( 'socket open' ) , this . readyState = 'open' , _0x194ddd . priorWebsocketSuccess = 'websocket' === this . transport . name , this . emit ( 'open' ) , this . flush ( ) , 'open' === this . readyState && this . upgrade && this . transport . pause ) {
_0x148108 ( 'starting upgrade probes' ) ;
for ( var _0x34d620 = 0x0 , _0x3efa0b = this . upgrades . length ; _0x34d620 < _0x3efa0b ; _0x34d620 ++ ) this . probe ( this . upgrades [ _0x34d620 ] ) ;
}
} , _0x194ddd . prototype . onPacket = function ( _0x55a19b ) {
if ( 'opening' === this . readyState || 'open' === this . readyState || 'closing' === this . readyState ) switch ( _0x148108 ( 'socket receive: type "%s", data "%s"' , _0x55a19b . type , _0x55a19b . data ) , this . emit ( 'packet' , _0x55a19b ) , this . emit ( 'heartbeat' ) , _0x55a19b . type ) {
case 'open' :
this . onHandshake ( JSON . parse ( _0x55a19b . data ) ) ;
break ;
case 'pong' :
this . setPing ( ) , this . emit ( 'pong' ) ;
break ;
case 'error' :
var _0x3efa0b = new Error ( 'server error' ) ;
_0x3efa0b . code = _0x55a19b . data , this . onError ( _0x3efa0b ) ;
break ;
case 'message' :
this . emit ( 'data' , _0x55a19b . data ) , this . emit ( 'message' , _0x55a19b . data ) ;
} else _0x148108 ( 'packet received with socket readyState "%s"' , this . readyState ) ;
} , _0x194ddd . prototype . onHandshake = function ( _0xe7da3a ) {
this . emit ( 'handshake' , _0xe7da3a ) , this . id = _0xe7da3a . sid , this . transport . query . sid = _0xe7da3a . sid , this . upgrades = this . filterUpgrades ( _0xe7da3a . upgrades ) , this . pingInterval = _0xe7da3a . pingInterval , this . pingTimeout = _0xe7da3a . pingTimeout , this . onOpen ( ) , 'closed' !== this . readyState && ( this . setPing ( ) , this . removeListener ( 'heartbeat' , this . onHeartbeat ) , this . on ( 'heartbeat' , this . onHeartbeat ) ) ;
} , _0x194ddd . prototype . onHeartbeat = function ( _0x22b120 ) {
clearTimeout ( this . pingTimeoutTimer ) ;
var _0x3efa0b = this ;
_0x3efa0b . pingTimeoutTimer = setTimeout ( function ( ) {
'closed' !== _0x3efa0b . readyState && _0x3efa0b . onClose ( 'ping timeout' ) ;
} , _0x22b120 || _0x3efa0b . pingInterval + _0x3efa0b . pingTimeout ) ;
} , _0x194ddd . prototype . setPing = function ( ) {
var _0x34d620 = this ;
clearTimeout ( _0x34d620 . pingIntervalTimer ) , _0x34d620 . pingIntervalTimer = setTimeout ( function ( ) {
_0x148108 ( 'writing ping packet - expecting pong within %sms' , _0x34d620 . pingTimeout ) , _0x34d620 . ping ( ) , _0x34d620 . onHeartbeat ( _0x34d620 . pingTimeout ) ;
} , _0x34d620 . pingInterval ) ;
} , _0x194ddd . prototype . ping = function ( ) {
var _0x34d620 = this ;
this . sendPacket ( 'ping' , function ( ) {
_0x34d620 . emit ( 'ping' ) ;
} ) ;
} , _0x194ddd . prototype . onDrain = function ( ) {
this . writeBuffer . splice ( 0x0 , this . prevBufferLen ) , this . prevBufferLen = 0x0 , 0x0 === this . writeBuffer . length ? this . emit ( 'drain' ) : this . flush ( ) ;
} , _0x194ddd . prototype . flush = function ( ) {
'closed' !== this . readyState && this . transport . writable && ! this . upgrading && this . writeBuffer . length && ( _0x148108 ( 'flushing %d packets in socket' , this . writeBuffer . length ) , this . transport . send ( this . writeBuffer ) , this . prevBufferLen = this . writeBuffer . length , this . emit ( 'flush' ) ) ;
} , _0x194ddd . prototype . write = _0x194ddd . prototype . send = function ( _0x484e6e , _0x3a0c43 , _0x5b726c ) {
return this . sendPacket ( 'message' , _0x484e6e , _0x3a0c43 , _0x5b726c ) , this ;
} , _0x194ddd . prototype . sendPacket = function ( _0x3c238c , _0x20399f , _0xe002a , _0x33074d ) {
if ( 'function' == typeof _0x20399f && ( _0x33074d = _0x20399f , _0x20399f = void 0x0 ) , 'function' == typeof _0xe002a && ( _0x33074d = _0xe002a , _0xe002a = null ) , 'closing' !== this . readyState && 'closed' !== this . readyState ) {
( _0xe002a = _0xe002a || { } ) . compress = ! 0x1 !== _0xe002a . compress ;
var _0x486efa = {
'type' : _0x3c238c ,
'data' : _0x20399f ,
'options' : _0xe002a
} ;
this . emit ( 'packetCreate' , _0x486efa ) , this . writeBuffer . push ( _0x486efa ) , _0x33074d && this . once ( 'flush' , _0x33074d ) , this . flush ( ) ;
}
} , _0x194ddd . prototype . close = function ( ) {
if ( 'opening' === this . readyState || 'open' === this . readyState ) {
this . readyState = 'closing' ;
var _0x34d620 = this ;
this . writeBuffer . length ? this . once ( 'drain' , function ( ) {
this . upgrading ? _0x2d4cad ( ) : _0x492e95 ( ) ;
} ) : this . upgrading ? _0x2d4cad ( ) : _0x492e95 ( ) ;
}
function _0x492e95 ( ) {
_0x34d620 . onClose ( 'forced close' ) , _0x148108 ( 'socket closing - telling transport to close' ) , _0x34d620 . transport . close ( ) ;
}
function _0x3daba2 ( ) {
_0x34d620 . removeListener ( 'upgrade' , _0x3daba2 ) , _0x34d620 . removeListener ( 'upgradeError' , _0x3daba2 ) , _0x492e95 ( ) ;
}
function _0x2d4cad ( ) {
_0x34d620 . once ( 'upgrade' , _0x3daba2 ) , _0x34d620 . once ( 'upgradeError' , _0x3daba2 ) ;
}
return this ;
} , _0x194ddd . prototype . onError = function ( _0x293f42 ) {
_0x148108 ( 'socket error %j' , _0x293f42 ) , _0x194ddd . priorWebsocketSuccess = ! 0x1 , this . emit ( 'error' , _0x293f42 ) , this . onClose ( 'transport error' , _0x293f42 ) ;
} , _0x194ddd . prototype . onClose = function ( _0x505a19 , _0x5b9107 ) {
if ( 'opening' === this . readyState || 'open' === this . readyState || 'closing' === this . readyState ) {
_0x148108 ( 'socket close with reason: "%s"' , _0x505a19 ) ;
clearTimeout ( this . pingIntervalTimer ) , clearTimeout ( this . pingTimeoutTimer ) , this . transport . removeAllListeners ( 'close' ) , this . transport . close ( ) , this . transport . removeAllListeners ( ) , this . readyState = 'closed' , this . id = null , this . emit ( 'close' , _0x505a19 , _0x5b9107 ) , this . writeBuffer = [ ] , this . prevBufferLen = 0x0 ;
}
} , _0x194ddd . prototype . filterUpgrades = function ( _0x5f33be ) {
for ( var _0x3efa0b = [ ] , _0x55216d = 0x0 , _0x57bb2f = _0x5f33be . length ; _0x55216d < _0x57bb2f ; _0x55216d ++ ) ~ _0xc49fe6 ( this . transports , _0x5f33be [ _0x55216d ] ) && _0x3efa0b . push ( _0x5f33be [ _0x55216d ] ) ;
return _0x3efa0b ;
} ;
} , function ( _0x17517c , _0x123023 ) {
try {
_0x17517c . exports = 'undefined' != typeof XMLHttpRequest && 'withCredentials' in new XMLHttpRequest ( ) ;
} catch ( _0x5dcf38 ) {
_0x17517c . exports = ! 0x1 ;
}
} , function ( _0x45792d , _0x4626ed , _0x2c3494 ) {
var _0x392a8c = _0x2c3494 ( 0x6a ) ,
_0x516d93 = _0x2c3494 ( 0x96 ) ,
_0x30a32b = _0x2c3494 ( 0x32 ) ,
_0x201202 = _0x2c3494 ( 0x4c ) ,
_0x5b93ba = _0x2c3494 ( 0x4d ) ( 'engine.io-client:polling-xhr' ) ;
function _0x15789d ( ) { }
function _0x2c7385 ( _0x548340 ) {
if ( _0x516d93 . call ( this , _0x548340 ) , this . requestTimeout = _0x548340 . requestTimeout , this . extraHeaders = _0x548340 . extraHeaders , 'undefined' != typeof location ) {
var _0x4626ed = 'https:' === location . protocol ,
_0x2c3494 = location . port ;
_0x2c3494 || ( _0x2c3494 = _0x4626ed ? 0x1bb : 0x50 ) , this . xd = 'undefined' != typeof location && _0x548340 . hostname !== location . hostname || _0x2c3494 !== _0x548340 . port , this . xs = _0x548340 . secure !== _0x4626ed ;
}
}
function _0x59daee ( _0x32ac42 ) {
this . method = _0x32ac42 . method || 'GET' , this . uri = _0x32ac42 . uri , this . xd = ! ! _0x32ac42 . xd , this . xs = ! ! _0x32ac42 . xs , this . async = ! 0x1 !== _0x32ac42 . async , this . data = void 0x0 !== _0x32ac42 . data ? _0x32ac42 . data : null , this . agent = _0x32ac42 . agent , this . isBinary = _0x32ac42 . isBinary , this . supportsBinary = _0x32ac42 . supportsBinary , this . enablesXDR = _0x32ac42 . enablesXDR , this . requestTimeout = _0x32ac42 . requestTimeout , this . pfx = _0x32ac42 . pfx , this . key = _0x32ac42 . key , this . passphrase = _0x32ac42 . passphrase , this . cert = _0x32ac42 . cert , this . ca = _0x32ac42 . ca , this . ciphers = _0x32ac42 . ciphers , this . rejectUnauthorized = _0x32ac42 . rejectUnauthorized , this . extraHeaders = _0x32ac42 . extraHeaders , this . create ( ) ;
}
if ( _0x45792d . exports = _0x2c7385 , _0x45792d . exports . Request = _0x59daee , _0x201202 ( _0x2c7385 , _0x516d93 ) , _0x2c7385 . prototype . supportsBinary = true , _0x2c7385 . prototype . request = function ( _0x8326ad ) {
return ( _0x8326ad = _0x8326ad || { } ) . uri = this . uri ( ) , _0x8326ad . xd = this . xd , _0x8326ad . xs = this . xs , _0x8326ad . agent = this . agent || ! 0x1 , _0x8326ad . supportsBinary = this . supportsBinary , _0x8326ad . enablesXDR = this . enablesXDR , _0x8326ad . pfx = this . pfx , _0x8326ad . key = this . key , _0x8326ad . passphrase = this . passphrase , _0x8326ad . cert = this . cert , _0x8326ad . ca = this . ca , _0x8326ad . ciphers = this . ciphers , _0x8326ad . rejectUnauthorized = this . rejectUnauthorized , _0x8326ad . requestTimeout = this . requestTimeout , _0x8326ad . extraHeaders = this . extraHeaders , new _0x59daee ( _0x8326ad ) ;
} , _0x2c7385 . prototype . doWrite = function ( _0x332d11 , _0x37408c ) {
var _0x2c3494 = 'string' != typeof _0x332d11 && void 0x0 !== _0x332d11 ,
_0x3525fb = this . request ( {
'method' : 'POST' ,
'data' : _0x332d11 ,
'isBinary' : _0x2c3494
} ) ,
_0x2b0223 = this ;
_0x3525fb . on ( 'success' , _0x37408c ) , _0x3525fb . on ( 'error' , function ( _0xd90b63 ) {
_0x2b0223 . onError ( 'xhr post error' , _0xd90b63 ) ;
} ) , this . sendXhr = _0x3525fb ;
} , _0x2c7385 . prototype . doPoll = function ( ) {
_0x5b93ba ( 'xhr poll' ) ;
var _0x45792d = this . request ( ) ,
_0x4626ed = this ;
_0x45792d . on ( 'data' , function ( _0x49eeb5 ) {
_0x4626ed . onData ( _0x49eeb5 ) ;
} ) , _0x45792d . on ( 'error' , function ( _0x1ab330 ) {
_0x4626ed . onError ( 'xhr poll error' , _0x1ab330 ) ;
} ) , this . pollXhr = _0x45792d ;
} , _0x30a32b ( _0x59daee . prototype ) , _0x59daee . prototype . create = function ( ) {
var _0x45792d = {
'agent' : this . agent ,
'xdomain' : this . xd ,
'xscheme' : this . xs ,
'enablesXDR' : this . enablesXDR
} ;
_0x45792d . pfx = this . pfx , _0x45792d . key = this . key , _0x45792d . passphrase = this . passphrase , _0x45792d . cert = this . cert , _0x45792d . ca = this . ca , _0x45792d . ciphers = this . ciphers , _0x45792d . rejectUnauthorized = this . rejectUnauthorized ;
var _0x4626ed = this . xhr = new _0x392a8c ( _0x45792d ) ,
_0x2c3494 = this ;
try {
_0x5b93ba ( 'xhr open %s: %s' , this . method , this . uri ) , _0x4626ed . open ( this . method , this . uri , this . async ) ;
try {
if ( this . extraHeaders )
for ( var _0x1aa437 in _0x4626ed . setDisableHeaderCheck && _0x4626ed . setDisableHeaderCheck ( true ) , this . extraHeaders ) this . extraHeaders . hasOwnProperty ( _0x1aa437 ) && _0x4626ed . setRequestHeader ( _0x1aa437 , this . extraHeaders [ _0x1aa437 ] ) ;
} catch ( _0x594576 ) { }
if ( 'POST' === this . method ) try {
this . isBinary ? _0x4626ed . setRequestHeader ( 'Content-type' , 'application/octet-stream' ) : _0x4626ed . setRequestHeader ( 'Content-type' , 'text/plain;charset=UTF-8' ) ;
} catch ( _0x287e44 ) { }
try {
_0x4626ed . setRequestHeader ( 'Accept' , '*/*' ) ;
} catch ( _0x427204 ) { }
'withCredentials' in _0x4626ed && ( _0x4626ed . withCredentials = true ) , this . requestTimeout && ( _0x4626ed . timeout = this . requestTimeout ) , this . hasXDR ( ) ? ( _0x4626ed . onload = function ( ) {
_0x2c3494 . onLoad ( ) ;
} , _0x4626ed . onerror = function ( ) {
_0x2c3494 . onError ( _0x4626ed . responseText ) ;
} ) : _0x4626ed . onreadystatechange = function ( ) {
if ( 0x2 === _0x4626ed . readyState ) try {
var _0x45792d = _0x4626ed . getResponseHeader ( 'Content-Type' ) ;
_0x2c3494 . supportsBinary && 'application/octet-stream' === _0x45792d && ( _0x4626ed . responseType = 'arraybuffer' ) ;
} catch ( _0x191d4d ) { }
0x4 === _0x4626ed . readyState && ( 0xc8 === _0x4626ed . status || 0x4c7 === _0x4626ed . status ? _0x2c3494 . onLoad ( ) : setTimeout ( function ( ) {
_0x2c3494 . onError ( _0x4626ed . status ) ;
} , 0x0 ) ) ;
} , _0x5b93ba ( 'xhr data %s' , this . data ) , _0x4626ed . send ( this . data ) ;
} catch ( _0x4ab9a1 ) {
return void setTimeout ( function ( ) {
_0x2c3494 . onError ( _0x4ab9a1 ) ;
} , 0x0 ) ;
}
'undefined' != typeof document && ( this . index = _0x59daee . requestsCount ++ , _0x59daee . requests [ this . index ] = this ) ;
} , _0x59daee . prototype . onSuccess = function ( ) {
this . emit ( 'success' ) , this . cleanup ( ) ;
} , _0x59daee . prototype . onData = function ( _0xfa89ce ) {
this . emit ( 'data' , _0xfa89ce ) , this . onSuccess ( ) ;
} , _0x59daee . prototype . onError = function ( _0x5e8001 ) {
this . emit ( 'error' , _0x5e8001 ) , this . cleanup ( true ) ;
} , _0x59daee . prototype . cleanup = function ( _0x26dc20 ) {
if ( void 0x0 !== this . xhr && null !== this . xhr ) {
if ( this . hasXDR ( ) ? this . xhr . onload = this . xhr . onerror = _0x15789d : this . xhr . onreadystatechange = _0x15789d , _0x26dc20 ) try {
this . xhr . abort ( ) ;
} catch ( _0x4343d3 ) { }
'undefined' != typeof document && delete _0x59daee . requests [ this . index ] , this . xhr = null ;
}
} , _0x59daee . prototype . onLoad = function ( ) {
var _0x45792d ;
try {
var _0x4626ed ;
try {
_0x4626ed = this . xhr . getResponseHeader ( 'Content-Type' ) ;
} catch ( _0x5532aa ) { }
_0x45792d = 'application/octet-stream' === _0x4626ed && this . xhr . response || this . xhr . responseText ;
} catch ( _0x56c59b ) {
this . onError ( _0x56c59b ) ;
}
null != _0x45792d && this . onData ( _0x45792d ) ;
} , _0x59daee . prototype . hasXDR = function ( ) {
return 'undefined' != typeof XDomainRequest && ! this . xs && this . enablesXDR ;
} , _0x59daee . prototype . abort = function ( ) {
this . cleanup ( ) ;
} , _0x59daee . requestsCount = 0x0 , _0x59daee . requests = { } , 'undefined' != typeof document )
if ( 'function' == typeof attachEvent ) attachEvent ( 'onunload' , _0x2c3054 ) ;
else if ( 'function' == typeof addEventListener ) {
var _0x5079fe = 'onpagehide' in self ? 'pagehide' : 'unload' ;
addEventListener ( _0x5079fe , _0x2c3054 , ! 0x1 ) ;
}
function _0x2c3054 ( ) {
for ( var _0x45792d in _0x59daee . requests ) _0x59daee . requests . hasOwnProperty ( _0x45792d ) && _0x59daee . requests [ _0x45792d ] . abort ( ) ;
}
} , function ( _0x23190e , _0x3c89b0 ) {
_0x23190e . exports = Object . keys || function ( _0x516c5d ) {
var _0x3c89b0 = [ ] ,
_0x2f9e1d = Object . prototype . hasOwnProperty ;
for ( var _0x51dcd5 in _0x516c5d ) _0x2f9e1d . call ( _0x516c5d , _0x51dcd5 ) && _0x3c89b0 . push ( _0x51dcd5 ) ;
return _0x3c89b0 ;
} ;
} , function ( _0x728d4 , _0x277c89 ) {
2022-05-04 23:39:59 +00:00
2022-04-30 00:01:21 +00:00
} , function ( _0x3c6f20 , _0x261939 ) {
_0x3c6f20 . exports = function ( _0x205693 , _0x194773 , _0x3b1eb5 ) {
var _0x5d37a7 = _0x205693 . byteLength ;
if ( _0x194773 = _0x194773 || 0x0 , _0x3b1eb5 = _0x3b1eb5 || _0x5d37a7 , _0x205693 . slice ) return _0x205693 . slice ( _0x194773 , _0x3b1eb5 ) ;
if ( _0x194773 < 0x0 && ( _0x194773 += _0x5d37a7 ) , _0x3b1eb5 < 0x0 && ( _0x3b1eb5 += _0x5d37a7 ) , _0x3b1eb5 > _0x5d37a7 && ( _0x3b1eb5 = _0x5d37a7 ) , _0x194773 >= _0x5d37a7 || _0x194773 >= _0x3b1eb5 || 0x0 === _0x5d37a7 ) return new ArrayBuffer ( 0x0 ) ;
for ( var _0x1001c1 = new Uint8Array ( _0x205693 ) , _0x5ef208 = new Uint8Array ( _0x3b1eb5 - _0x194773 ) , _0x7bc3bd = _0x194773 , _0x473143 = 0x0 ; _0x7bc3bd < _0x3b1eb5 ; _0x7bc3bd ++ , _0x473143 ++ ) _0x5ef208 [ _0x473143 ] = _0x1001c1 [ _0x7bc3bd ] ;
return _0x5ef208 . buffer ;
} ;
} , function ( _0x29396f , _0x544191 ) {
function _0x2b6d82 ( ) { }
_0x29396f . exports = function ( _0x5cb977 , _0x34b5bc , _0x15f370 ) {
var _0x51741f = ! 0x1 ;
return _0x15f370 = _0x15f370 || _0x2b6d82 , _0x3677ac . count = _0x5cb977 , 0x0 === _0x5cb977 ? _0x34b5bc ( ) : _0x3677ac ;
function _0x3677ac ( _0x195369 , _0x2de4b0 ) {
if ( _0x3677ac . count <= 0x0 ) throw new Error ( 'after called too many times' ) ;
-- _0x3677ac . count , _0x195369 ? ( _0x51741f = true , _0x34b5bc ( _0x195369 ) , _0x34b5bc = _0x15f370 ) : 0x0 !== _0x3677ac . count || _0x51741f || _0x34b5bc ( null , _0x2de4b0 ) ;
}
} ;
} , function ( _0x27c0f2 , _0x161faf ) {
var _0x252312 , _0x28e0ec , _0x55ae78 , _0x546e19 = String . fromCharCode ;
function _0x2206a8 ( _0x11983a ) {
for ( var _0x161faf , _0x2a2014 , _0x35f89f = [ ] , _0x48ddc3 = 0x0 , _0x412ce4 = _0x11983a . length ; _0x48ddc3 < _0x412ce4 ; ) ( _0x161faf = _0x11983a . charCodeAt ( _0x48ddc3 ++ ) ) >= 0xd800 && _0x161faf <= 0xdbff && _0x48ddc3 < _0x412ce4 ? 0xdc00 == ( 0xfc00 & ( _0x2a2014 = _0x11983a . charCodeAt ( _0x48ddc3 ++ ) ) ) ? _0x35f89f . push ( ( ( 0x3ff & _0x161faf ) << 0xa ) + ( 0x3ff & _0x2a2014 ) + 0x10000 ) : ( _0x35f89f . push ( _0x161faf ) , _0x48ddc3 -- ) : _0x35f89f . push ( _0x161faf ) ;
return _0x35f89f ;
}
function _0x2b78cd ( _0x19c167 , _0x5649d7 ) {
if ( _0x19c167 >= 0xd800 && _0x19c167 <= 0xdfff ) {
if ( _0x5649d7 ) throw Error ( 'Lone surrogate U+' + _0x19c167 . toString ( 0x10 ) . toUpperCase ( ) + ' is not a scalar value' ) ;
return ! 0x1 ;
}
return true ;
}
function _0x55ceec ( _0x1705ac , _0xe35948 ) {
return _0x546e19 ( _0x1705ac >> _0xe35948 & 0x3f | 0x80 ) ;
}
function _0x29682c ( _0x27b905 , _0x2da860 ) {
if ( 0x0 == ( 0xffffff80 & _0x27b905 ) ) return _0x546e19 ( _0x27b905 ) ;
var _0x4e33ec = '' ;
return 0x0 == ( 0xfffff800 & _0x27b905 ) ? _0x4e33ec = _0x546e19 ( _0x27b905 >> 0x6 & 0x1f | 0xc0 ) : 0x0 == ( 0xffff0000 & _0x27b905 ) ? ( _0x2b78cd ( _0x27b905 , _0x2da860 ) || ( _0x27b905 = 0xfffd ) , _0x4e33ec = _0x546e19 ( _0x27b905 >> 0xc & 0xf | 0xe0 ) , _0x4e33ec += _0x55ceec ( _0x27b905 , 0x6 ) ) : 0x0 == ( 0xffe00000 & _0x27b905 ) && ( _0x4e33ec = _0x546e19 ( _0x27b905 >> 0x12 & 0x7 | 0xf0 ) , _0x4e33ec += _0x55ceec ( _0x27b905 , 0xc ) , _0x4e33ec += _0x55ceec ( _0x27b905 , 0x6 ) ) , _0x4e33ec += _0x546e19 ( 0x3f & _0x27b905 | 0x80 ) ;
}
function _0x116134 ( ) {
if ( _0x55ae78 >= _0x28e0ec ) throw Error ( 'Invalid byte index' ) ;
var _0x27c0f2 = 0xff & _0x252312 [ _0x55ae78 ] ;
if ( _0x55ae78 ++ , 0x80 == ( 0xc0 & _0x27c0f2 ) ) return 0x3f & _0x27c0f2 ;
throw Error ( 'Invalid continuation byte' ) ;
}
function _0x2e6b3a ( _0x431721 ) {
var _0x161faf , _0xab203b ;
if ( _0x55ae78 > _0x28e0ec ) throw Error ( 'Invalid byte index' ) ;
if ( _0x55ae78 == _0x28e0ec ) return ! 0x1 ;
if ( _0x161faf = 0xff & _0x252312 [ _0x55ae78 ] , _0x55ae78 ++ , 0x0 == ( 0x80 & _0x161faf ) ) return _0x161faf ;
if ( 0xc0 == ( 0xe0 & _0x161faf ) ) {
if ( ( _0xab203b = ( 0x1f & _0x161faf ) << 0x6 | _0x116134 ( ) ) >= 0x80 ) return _0xab203b ;
throw Error ( 'Invalid continuation byte' ) ;
}
if ( 0xe0 == ( 0xf0 & _0x161faf ) ) {
if ( ( _0xab203b = ( 0xf & _0x161faf ) << 0xc | _0x116134 ( ) << 0x6 | _0x116134 ( ) ) >= 0x800 ) return _0x2b78cd ( _0xab203b , _0x431721 ) ? _0xab203b : 0xfffd ;
throw Error ( 'Invalid continuation byte' ) ;
}
if ( 0xf0 == ( 0xf8 & _0x161faf ) && ( _0xab203b = ( 0x7 & _0x161faf ) << 0x12 | _0x116134 ( ) << 0xc | _0x116134 ( ) << 0x6 | _0x116134 ( ) ) >= 0x10000 && _0xab203b <= 0x10ffff ) return _0xab203b ;
throw Error ( 'Invalid UTF-8 detected' ) ;
}
_0x27c0f2 . exports = {
'version' : '2.1.2' ,
'encode' : function ( _0x261891 , _0x1ac5a7 ) {
for ( var _0x12bdc4 = ! 0x1 !== ( _0x1ac5a7 = _0x1ac5a7 || { } ) . strict , _0x4f027e = _0x2206a8 ( _0x261891 ) , _0x1ccefc = _0x4f027e . length , _0x4fb114 = - 0x1 , _0x257db2 = '' ; ++ _0x4fb114 < _0x1ccefc ; ) _0x257db2 += _0x29682c ( _0x4f027e [ _0x4fb114 ] , _0x12bdc4 ) ;
return _0x257db2 ;
} ,
'decode' : function ( _0x11d8a7 , _0x5d4ff2 ) {
var _0x7f1f3d = ! 0x1 !== ( _0x5d4ff2 = _0x5d4ff2 || { } ) . strict ;
_0x252312 = _0x2206a8 ( _0x11d8a7 ) , _0x28e0ec = _0x252312 . length , _0x55ae78 = 0x0 ;
for ( var _0x1a3efe , _0x45a3c2 = [ ] ; ! 0x1 !== ( _0x1a3efe = _0x2e6b3a ( _0x7f1f3d ) ) ; ) _0x45a3c2 . push ( _0x1a3efe ) ;
return function ( _0x547381 ) {
for ( var _0x5d4ff2 , _0x195dce = _0x547381 . length , _0x3e98ca = - 0x1 , _0x4d6382 = '' ; ++ _0x3e98ca < _0x195dce ; ) ( _0x5d4ff2 = _0x547381 [ _0x3e98ca ] ) > 0xffff && ( _0x4d6382 += _0x546e19 ( ( _0x5d4ff2 -= 0x10000 ) >>> 0xa & 0x3ff | 0xd800 ) , _0x5d4ff2 = 0xdc00 | 0x3ff & _0x5d4ff2 ) , _0x4d6382 += _0x546e19 ( _0x5d4ff2 ) ;
return _0x4d6382 ;
} ( _0x45a3c2 ) ;
}
} ;
} , function ( _0x38d195 , _0x4811ee ) {
! function ( ) {
'use strict' ;
for ( var _0x38d195 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' , _0x384e68 = new Uint8Array ( 0x100 ) , _0x31e36b = 0x0 ; _0x31e36b < _0x38d195 . length ; _0x31e36b ++ ) _0x384e68 [ _0x38d195 . charCodeAt ( _0x31e36b ) ] = _0x31e36b ;
_0x4811ee . encode = function ( _0x176f44 ) {
var _0x55a38a , _0x32742c = new Uint8Array ( _0x176f44 ) ,
_0x2ae305 = _0x32742c . length ,
_0x38d8a6 = '' ;
for ( _0x55a38a = 0x0 ; _0x55a38a < _0x2ae305 ; _0x55a38a += 0x3 ) _0x38d8a6 += _0x38d195 [ _0x32742c [ _0x55a38a ] >> 0x2 ] , _0x38d8a6 += _0x38d195 [ ( 0x3 & _0x32742c [ _0x55a38a ] ) << 0x4 | _0x32742c [ _0x55a38a + 0x1 ] >> 0x4 ] , _0x38d8a6 += _0x38d195 [ ( 0xf & _0x32742c [ _0x55a38a + 0x1 ] ) << 0x2 | _0x32742c [ _0x55a38a + 0x2 ] >> 0x6 ] , _0x38d8a6 += _0x38d195 [ 0x3f & _0x32742c [ _0x55a38a + 0x2 ] ] ;
return _0x2ae305 % 0x3 == 0x2 ? _0x38d8a6 = _0x38d8a6 . substring ( 0x0 , _0x38d8a6 . length - 0x1 ) + '=' : _0x2ae305 % 0x3 == 0x1 && ( _0x38d8a6 = _0x38d8a6 . substring ( 0x0 , _0x38d8a6 . length - 0x2 ) + '==' ) , _0x38d8a6 ;
} , _0x4811ee . decode = function ( _0x2a77ad ) {
var _0x4811ee , _0x21a812 , _0x4cf0d4 , _0x508a77 , _0x437e39 , _0x2ae0e4 = 0.75 * _0x2a77ad . length ,
_0x4ae7ea = _0x2a77ad . length ,
_0x3ad7b0 = 0x0 ;
'=' === _0x2a77ad [ _0x2a77ad . length - 0x1 ] && ( _0x2ae0e4 -- , '=' === _0x2a77ad [ _0x2a77ad . length - 0x2 ] && _0x2ae0e4 -- ) ;
var _0x424982 = new ArrayBuffer ( _0x2ae0e4 ) ,
_0x4e04ae = new Uint8Array ( _0x424982 ) ;
for ( _0x4811ee = 0x0 ; _0x4811ee < _0x4ae7ea ; _0x4811ee += 0x4 ) _0x21a812 = _0x384e68 [ _0x2a77ad . charCodeAt ( _0x4811ee ) ] , _0x4cf0d4 = _0x384e68 [ _0x2a77ad . charCodeAt ( _0x4811ee + 0x1 ) ] , _0x508a77 = _0x384e68 [ _0x2a77ad . charCodeAt ( _0x4811ee + 0x2 ) ] , _0x437e39 = _0x384e68 [ _0x2a77ad . charCodeAt ( _0x4811ee + 0x3 ) ] , _0x4e04ae [ _0x3ad7b0 ++ ] = _0x21a812 << 0x2 | _0x4cf0d4 >> 0x4 , _0x4e04ae [ _0x3ad7b0 ++ ] = ( 0xf & _0x4cf0d4 ) << 0x4 | _0x508a77 >> 0x2 , _0x4e04ae [ _0x3ad7b0 ++ ] = ( 0x3 & _0x508a77 ) << 0x6 | 0x3f & _0x437e39 ;
return _0x424982 ;
} ;
} ( ) ;
} , function ( _0x5840ab , _0x36c0a4 ) {
var _0x16d045 = void 0x0 !== _0x16d045 ? _0x16d045 : 'undefined' != typeof WebKitBlobBuilder ? WebKitBlobBuilder : 'undefined' != typeof MSBlobBuilder ? MSBlobBuilder : 'undefined' != typeof MozBlobBuilder && MozBlobBuilder ,
_0x5325fc = function ( ) {
try {
return 0x2 === new Blob ( [ 'hi' ] ) . size ;
} catch ( _0x1ac492 ) {
return ! 0x1 ;
}
} ( ) ,
_0x41d4ae = _0x5325fc && function ( ) {
try {
return 0x2 === new Blob ( [ new Uint8Array ( [ 0x1 , 0x2 ] ) ] ) . size ;
} catch ( _0x502217 ) {
return ! 0x1 ;
}
} ( ) ,
_0x1e1873 = _0x16d045 && _0x16d045 . prototype . append && _0x16d045 . prototype . getBlob ;
function _0x4d6846 ( _0x2a24ff ) {
return _0x2a24ff . map ( function ( _0x5cc924 ) {
if ( _0x5cc924 . buffer instanceof ArrayBuffer ) {
var _0x36c0a4 = _0x5cc924 . buffer ;
if ( _0x5cc924 . byteLength !== _0x36c0a4 . byteLength ) {
var _0x265d40 = new Uint8Array ( _0x5cc924 . byteLength ) ;
_0x265d40 . set ( new Uint8Array ( _0x36c0a4 , _0x5cc924 . byteOffset , _0x5cc924 . byteLength ) ) , _0x36c0a4 = _0x265d40 . buffer ;
}
return _0x36c0a4 ;
}
return _0x5cc924 ;
} ) ;
}
function _0x3de8c2 ( _0x4ca3d5 , _0x23197b ) {
_0x23197b = _0x23197b || { } ;
var _0x471378 = new _0x16d045 ( ) ;
return _0x4d6846 ( _0x4ca3d5 ) . forEach ( function ( _0x445dda ) {
_0x471378 . append ( _0x445dda ) ;
} ) , _0x23197b . type ? _0x471378 . getBlob ( _0x23197b . type ) : _0x471378 . getBlob ( ) ;
}
function _0x3833cc ( _0x1fe744 , _0x4f9e18 ) {
return new Blob ( _0x4d6846 ( _0x1fe744 ) , _0x4f9e18 || { } ) ;
}
'undefined' != typeof Blob && ( _0x3de8c2 . prototype = Blob . prototype , _0x3833cc . prototype = Blob . prototype ) , _0x5840ab . exports = _0x5325fc ? _0x41d4ae ? Blob : _0x3833cc : _0x1e1873 ? _0x3de8c2 : void 0x0 ;
} , function ( _0x16e69f , _0x1c3b8a , _0x5a1504 ) {
function _0x560e41 ( _0x4d58e2 ) {
var _0x5a1504 ;
function _0x3dfc51 ( ) {
if ( _0x3dfc51 . enabled ) {
var _0x4d58e2 = _0x3dfc51 ,
_0x2acf9f = + new Date ( ) ,
_0x4da3f6 = _0x2acf9f - ( _0x5a1504 || _0x2acf9f ) ;
_0x4d58e2 . diff = _0x4da3f6 , _0x4d58e2 . prev = _0x5a1504 , _0x4d58e2 . curr = _0x2acf9f , _0x5a1504 = _0x2acf9f ;
for ( var _0xb2190b = new Array ( arguments . length ) , _0x436528 = 0x0 ; _0x436528 < _0xb2190b . length ; _0x436528 ++ ) _0xb2190b [ _0x436528 ] = arguments [ _0x436528 ] ;
_0xb2190b [ 0x0 ] = _0x1c3b8a . coerce ( _0xb2190b [ 0x0 ] ) , 'string' != typeof _0xb2190b [ 0x0 ] && _0xb2190b . unshift ( '%O' ) ;
var _0x8a4b4e = 0x0 ;
_0xb2190b [ 0x0 ] = _0xb2190b [ 0x0 ] . replace ( /%([a-zA-Z%])/g , function ( _0x80647d , _0x3ded36 ) {
if ( '%%' === _0x80647d ) return _0x80647d ;
_0x8a4b4e ++ ;
var _0x1f7c83 = _0x1c3b8a . formatters [ _0x3ded36 ] ;
if ( 'function' == typeof _0x1f7c83 ) {
var _0x4e683a = _0xb2190b [ _0x8a4b4e ] ;
_0x80647d = _0x1f7c83 . call ( _0x4d58e2 , _0x4e683a ) , _0xb2190b . splice ( _0x8a4b4e , 0x1 ) , _0x8a4b4e -- ;
}
return _0x80647d ;
} ) , _0x1c3b8a . formatArgs . call ( _0x4d58e2 , _0xb2190b ) , ( _0x3dfc51 . log || _0x1c3b8a . log || console . log . bind ( console ) ) . apply ( _0x4d58e2 , _0xb2190b ) ;
}
}
return _0x3dfc51 . namespace = _0x4d58e2 , _0x3dfc51 . enabled = _0x1c3b8a . enabled ( _0x4d58e2 ) , _0x3dfc51 . useColors = _0x1c3b8a . useColors ( ) , _0x3dfc51 . color = function ( _0x3b3a5e ) {
var _0x5a1504 , _0x46203e = 0x0 ;
for ( _0x5a1504 in _0x3b3a5e ) _0x46203e = ( _0x46203e << 0x5 ) - _0x46203e + _0x3b3a5e . charCodeAt ( _0x5a1504 ) , _0x46203e |= 0x0 ;
return _0x1c3b8a . colors [ Math . abs ( _0x46203e ) % _0x1c3b8a . colors . length ] ;
} ( _0x4d58e2 ) , _0x3dfc51 . destroy = _0x35c174 , 'function' == typeof _0x1c3b8a . init && _0x1c3b8a . init ( _0x3dfc51 ) , _0x1c3b8a . instances . push ( _0x3dfc51 ) , _0x3dfc51 ;
}
function _0x35c174 ( ) {
var _0x16e69f = _0x1c3b8a . instances . indexOf ( this ) ;
return - 0x1 !== _0x16e69f && ( _0x1c3b8a . instances . splice ( _0x16e69f , 0x1 ) , true ) ;
} ( _0x1c3b8a = _0x16e69f . exports = _0x560e41 . debug = _0x560e41 . default = _0x560e41 ) . coerce = function ( _0x12a2a8 ) {
return _0x12a2a8 instanceof Error ? _0x12a2a8 . stack || _0x12a2a8 . message : _0x12a2a8 ;
} , _0x1c3b8a . disable = function ( ) {
_0x1c3b8a . enable ( '' ) ;
} , _0x1c3b8a . enable = function ( _0x17c742 ) {
var _0x5a1504 ;
_0x1c3b8a . save ( _0x17c742 ) , _0x1c3b8a . names = [ ] , _0x1c3b8a . skips = [ ] ;
var _0xbc47d1 = ( 'string' == typeof _0x17c742 ? _0x17c742 : '' ) . split ( /[\s,]+/ ) ,
_0x42ff09 = _0xbc47d1 . length ;
for ( _0x5a1504 = 0x0 ; _0x5a1504 < _0x42ff09 ; _0x5a1504 ++ ) _0xbc47d1 [ _0x5a1504 ] && ( '-' === ( _0x17c742 = _0xbc47d1 [ _0x5a1504 ] . replace ( /\*/g , '.*?' ) ) [ 0x0 ] ? _0x1c3b8a . skips . push ( new RegExp ( '^' + _0x17c742 . substr ( 0x1 ) + '$' ) ) : _0x1c3b8a . names . push ( new RegExp ( '^' + _0x17c742 + '$' ) ) ) ;
for ( _0x5a1504 = 0x0 ; _0x5a1504 < _0x1c3b8a . instances . length ; _0x5a1504 ++ ) {
var _0x55d6c7 = _0x1c3b8a . instances [ _0x5a1504 ] ;
_0x55d6c7 . enabled = _0x1c3b8a . enabled ( _0x55d6c7 . namespace ) ;
}
} , _0x1c3b8a . enabled = function ( _0x44c4fb ) {
if ( '*' === _0x44c4fb [ _0x44c4fb . length - 0x1 ] ) return true ;
var _0x5a1504 , _0x254db3 ;
for ( _0x5a1504 = 0x0 , _0x254db3 = _0x1c3b8a . skips . length ; _0x5a1504 < _0x254db3 ; _0x5a1504 ++ )
if ( _0x1c3b8a . skips [ _0x5a1504 ] . test ( _0x44c4fb ) ) return ! 0x1 ;
for ( _0x5a1504 = 0x0 , _0x254db3 = _0x1c3b8a . names . length ; _0x5a1504 < _0x254db3 ; _0x5a1504 ++ )
if ( _0x1c3b8a . names [ _0x5a1504 ] . test ( _0x44c4fb ) ) return true ;
return ! 0x1 ;
} , _0x1c3b8a . humanize = _0x5a1504 ( 0x68 ) , _0x1c3b8a . instances = [ ] , _0x1c3b8a . names = [ ] , _0x1c3b8a . skips = [ ] , _0x1c3b8a . formatters = { } ;
} , function ( _0x11cf35 , _0x41c8d5 , _0x4c4716 ) {
( function ( _0x112650 ) {
var _0x128f0e = _0x4c4716 ( 0x96 ) ,
_0x49dc48 = _0x4c4716 ( 0x4c ) ;
_0x11cf35 . exports = _0x5bcec9 ;
var _0x233154 , _0x550051 = /\n/g ,
_0x1c3933 = /\\n/g ;
function _0x3cd450 ( ) { }
function _0x2c9c81 ( ) {
return 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : void 0x0 !== _0x112650 ? _0x112650 : { } ;
}
function _0x5bcec9 ( _0x3d1fd5 ) {
if ( _0x128f0e . call ( this , _0x3d1fd5 ) , this . query = this . query || { } , ! _0x233154 ) {
var _0x112650 = _0x2c9c81 ( ) ;
_0x233154 = _0x112650 . _ _ _eio = _0x112650 . _ _ _eio || [ ] ;
}
this . index = _0x233154 . length ;
var _0x4c4716 = this ;
_0x233154 . push ( function ( _0x365d1f ) {
_0x4c4716 . onData ( _0x365d1f ) ;
} ) , this . query . j = this . index , 'function' == typeof addEventListener && addEventListener ( 'beforeunload' , function ( ) {
_0x4c4716 . script && ( _0x4c4716 . script . onerror = _0x3cd450 ) ;
} , ! 0x1 ) ;
}
_0x49dc48 ( _0x5bcec9 , _0x128f0e ) , _0x5bcec9 . prototype . supportsBinary = ! 0x1 , _0x5bcec9 . prototype . doClose = function ( ) {
this . script && ( this . script . parentNode . removeChild ( this . script ) , this . script = null ) , this . form && ( this . form . parentNode . removeChild ( this . form ) , this . form = null , this . iframe = null ) , _0x128f0e . prototype . doClose . call ( this ) ;
} , _0x5bcec9 . prototype . doPoll = function ( ) {
var _0x11cf35 = this ,
_0x112650 = document . createElement ( 'script' ) ;
this . script && ( this . script . parentNode . removeChild ( this . script ) , this . script = null ) , _0x112650 . async = true , _0x112650 . src = this . uri ( ) , _0x112650 . onerror = function ( _0xb5b355 ) {
_0x11cf35 . onError ( 'jsonp poll error' , _0xb5b355 ) ;
} ;
var _0x4c4716 = document . getElementsByTagName ( 'script' ) [ 0x0 ] ;
_0x4c4716 ? _0x4c4716 . parentNode . insertBefore ( _0x112650 , _0x4c4716 ) : ( document . head || document . body ) . appendChild ( _0x112650 ) , this . script = _0x112650 , 'undefined' != typeof navigator && /gecko/i . test ( navigator . userAgent ) && setTimeout ( function ( ) {
var _0x11cf35 = document . createElement ( 'iframe' ) ;
document . body . appendChild ( _0x11cf35 ) , document . body . removeChild ( _0x11cf35 ) ;
} , 0x64 ) ;
} , _0x5bcec9 . prototype . doWrite = function ( _0xc3039c , _0x36909a ) {
var _0x4c4716 = this ;
if ( ! this . form ) {
var _0x2e3f9b , _0x4dc2ae = document . createElement ( 'form' ) ,
_0x180cf2 = document . createElement ( 'textarea' ) ,
_0x179585 = this . iframeId = 'eio_iframe_' + this . index ;
_0x4dc2ae . className = 'socketio' , _0x4dc2ae . style . position = 'absolute' , _0x4dc2ae . style . top = '-1000px' , _0x4dc2ae . style . left = '-1000px' , _0x4dc2ae . target = _0x179585 , _0x4dc2ae . method = 'POST' , _0x4dc2ae . setAttribute ( 'accept-charset' , 'utf-8' ) , _0x180cf2 . name = 'd' , _0x4dc2ae . appendChild ( _0x180cf2 ) , document . body . appendChild ( _0x4dc2ae ) , this . form = _0x4dc2ae , this . area = _0x180cf2 ;
}
function _0x5e5e8c ( ) {
_0xa911be ( ) , _0x36909a ( ) ;
}
function _0xa911be ( ) {
if ( _0x4c4716 . iframe ) try {
_0x4c4716 . form . removeChild ( _0x4c4716 . iframe ) ;
} catch ( _0x3b8869 ) {
_0x4c4716 . onError ( 'jsonp polling iframe removal error' , _0x3b8869 ) ;
}
try {
var _0xc3039c = '<iframe src="javascript:0" name="' + _0x4c4716 . iframeId + '">' ;
_0x2e3f9b = document . createElement ( _0xc3039c ) ;
} catch ( _0x1f76ba ) {
( _0x2e3f9b = document . createElement ( 'iframe' ) ) . name = _0x4c4716 . iframeId , _0x2e3f9b . src = 'javascript:0' ;
}
_0x2e3f9b . id = _0x4c4716 . iframeId , _0x4c4716 . form . appendChild ( _0x2e3f9b ) , _0x4c4716 . iframe = _0x2e3f9b ;
}
this . form . action = this . uri ( ) , _0xa911be ( ) , _0xc3039c = _0xc3039c . replace ( _0x1c3933 , '\x5c\n' ) , this . area . value = _0xc3039c . replace ( _0x550051 , '\x5cn' ) ;
try {
this . form . submit ( ) ;
} catch ( _0x6e836 ) { }
this . iframe . attachEvent ? this . iframe . onreadystatechange = function ( ) {
'complete' === _0x4c4716 . iframe . readyState && _0x5e5e8c ( ) ;
} : this . iframe . onload = _0x5e5e8c ;
} ;
} . call ( this , _0x4c4716 ( 0x1f ) ) ) ;
} , function ( _0x7a57a4 , _0x427ee9 , _0x10e67e ) {
( function ( _0x47b5ba ) {
var _0x447ff9 , _0x5c6763 , _0x1fddfa = _0x10e67e ( 0x6b ) ,
_0x1e7302 = _0x10e67e ( 0x33 ) ,
_0x4457a2 = _0x10e67e ( 0x4b ) ,
_0x32f251 = _0x10e67e ( 0x4c ) ,
_0x5365f7 = _0x10e67e ( 0x98 ) ,
_0x45793f = _0x10e67e ( 0x4d ) ( 'engine.io-client:websocket' ) ;
if ( 'undefined' != typeof WebSocket ) _0x447ff9 = WebSocket ;
else if ( 'undefined' != typeof self ) _0x447ff9 = self . WebSocket || self . MozWebSocket ;
else try {
_0x5c6763 = _0x10e67e ( 0x188 ) ;
} catch ( _0xcaca17 ) { }
var _0x454e2a = _0x447ff9 || _0x5c6763 ;
function _0x3bf1d2 ( _0x4afb53 ) {
_0x4afb53 && _0x4afb53 . forceBase64 && ( this . supportsBinary = ! 0x1 ) , this . perMessageDeflate = _0x4afb53 . perMessageDeflate , this . usingBrowserWebSocket = _0x447ff9 && ! _0x4afb53 . forceNode , this . protocols = _0x4afb53 . protocols , this . usingBrowserWebSocket || ( _0x454e2a = _0x5c6763 ) , _0x1fddfa . call ( this , _0x4afb53 ) ;
}
_0x7a57a4 . exports = _0x3bf1d2 , _0x32f251 ( _0x3bf1d2 , _0x1fddfa ) , _0x3bf1d2 . prototype . name = 'websocket' , _0x3bf1d2 . prototype . supportsBinary = true , _0x3bf1d2 . prototype . doOpen = function ( ) {
if ( this . check ( ) ) {
var _0x7a57a4 = this . uri ( ) ,
_0x47b5ba = this . protocols ,
_0x10e67e = {
'agent' : this . agent ,
'perMessageDeflate' : this . perMessageDeflate
} ;
_0x10e67e . pfx = this . pfx , _0x10e67e . key = this . key , _0x10e67e . passphrase = this . passphrase , _0x10e67e . cert = this . cert , _0x10e67e . ca = this . ca , _0x10e67e . ciphers = this . ciphers , _0x10e67e . rejectUnauthorized = this . rejectUnauthorized , this . extraHeaders && ( _0x10e67e . headers = this . extraHeaders ) , this . localAddress && ( _0x10e67e . localAddress = this . localAddress ) ;
try {
this . ws = this . usingBrowserWebSocket && ! this . isReactNative ? _0x47b5ba ? new _0x454e2a ( _0x7a57a4 , _0x47b5ba ) : new _0x454e2a ( _0x7a57a4 ) : new _0x454e2a ( _0x7a57a4 , _0x47b5ba , _0x10e67e ) ;
} catch ( _0x4733e3 ) {
return this . emit ( 'error' , _0x4733e3 ) ;
}
void 0x0 === this . ws . binaryType && ( this . supportsBinary = ! 0x1 ) , this . ws . supports && this . ws . supports . binary ? ( this . supportsBinary = true , this . ws . binaryType = 'nodebuffer' ) : this . ws . binaryType = 'arraybuffer' , this . addEventListeners ( ) ;
}
} , _0x3bf1d2 . prototype . addEventListeners = function ( ) {
var _0x7a57a4 = this ;
this . ws . onopen = function ( ) {
_0x7a57a4 . onOpen ( ) ;
} , this . ws . onclose = function ( ) {
_0x7a57a4 . onClose ( ) ;
} , this . ws . onmessage = function ( _0x55800e ) {
_0x7a57a4 . onData ( _0x55800e . data ) ;
} , this . ws . onerror = function ( _0x166cc1 ) {
_0x7a57a4 . onError ( 'websocket error' , _0x166cc1 ) ;
} ;
} , _0x3bf1d2 . prototype . write = function ( _0x368dfb ) {
var _0x10e67e = this ;
this . writable = ! 0x1 ;
for ( var _0x5c57bc = _0x368dfb . length , _0x577268 = 0x0 , _0x133a36 = _0x5c57bc ; _0x577268 < _0x133a36 ; _0x577268 ++ ) ! function ( _0x3cb67e ) {
_0x1e7302 . encodePacket ( _0x3cb67e , _0x10e67e . supportsBinary , function ( _0x49020d ) {
if ( ! _0x10e67e . usingBrowserWebSocket ) {
var _0x20db56 = { } ;
if ( _0x3cb67e . options && ( _0x20db56 . compress = _0x3cb67e . options . compress ) , _0x10e67e . perMessageDeflate ) ( 'string' == typeof _0x49020d ? _0x47b5ba . byteLength ( _0x49020d ) : _0x49020d . length ) < _0x10e67e . perMessageDeflate . threshold && ( _0x20db56 . compress = ! 0x1 ) ;
}
try {
_0x10e67e . usingBrowserWebSocket ? _0x10e67e . ws . send ( _0x49020d ) : _0x10e67e . ws . send ( _0x49020d , _0x20db56 ) ;
} catch ( _0x2c9150 ) {
_0x45793f ( 'websocket closed before onclose event' ) ;
} -- _0x5c57bc || _0x3e59f3 ( ) ;
} ) ;
} ( _0x368dfb [ _0x577268 ] ) ;
function _0x3e59f3 ( ) {
_0x10e67e . emit ( 'flush' ) , setTimeout ( function ( ) {
_0x10e67e . writable = true , _0x10e67e . emit ( 'drain' ) ;
} , 0x0 ) ;
}
} , _0x3bf1d2 . prototype . onClose = function ( ) {
_0x1fddfa . prototype . onClose . call ( this ) ;
} , _0x3bf1d2 . prototype . doClose = function ( ) {
void 0x0 !== this . ws && this . ws . close ( ) ;
} , _0x3bf1d2 . prototype . uri = function ( ) {
var _0x7a57a4 = this . query || { } ,
_0x47b5ba = this . secure ? 'wss' : 'ws' ,
_0x10e67e = '' ;
return this . port && ( 'wss' === _0x47b5ba && 0x1bb !== Number ( this . port ) || 'ws' === _0x47b5ba && 0x50 !== Number ( this . port ) ) && ( _0x10e67e = ':' + this . port ) , this . timestampRequests && ( _0x7a57a4 [ this . timestampParam ] = _0x5365f7 ( ) ) , this . supportsBinary || ( _0x7a57a4 . b64 = 0x1 ) , ( _0x7a57a4 = _0x4457a2 . encode ( _0x7a57a4 ) ) . length && ( _0x7a57a4 = '?' + _0x7a57a4 ) , _0x47b5ba + '://' + ( - 0x1 !== this . hostname . indexOf ( ':' ) ? '[' + this . hostname + ']' : this . hostname ) + _0x10e67e + this . path + _0x7a57a4 ;
} , _0x3bf1d2 . prototype . check = function ( ) {
return ! ( ! _0x454e2a || '__initialize' in _0x454e2a && this . name === _0x3bf1d2 . prototype . name ) ;
} ;
} . call ( this , _0x10e67e ( 0x49 ) . Buffer ) ) ;
} , null , function ( _0x3b75fb , _0x18d093 ) {
_0x3b75fb . exports = function ( _0x548747 , _0x2fb4e1 ) {
for ( var _0x2caef9 = [ ] , _0x55a676 = ( _0x2fb4e1 = _0x2fb4e1 || 0x0 ) || 0x0 ; _0x55a676 < _0x548747 . length ; _0x55a676 ++ ) _0x2caef9 [ _0x55a676 - _0x2fb4e1 ] = _0x548747 [ _0x55a676 ] ;
return _0x2caef9 ;
} ;
} , function ( _0x51d58b , _0xfab657 ) {
function _0x17a9ac ( _0x206d91 ) {
_0x206d91 = _0x206d91 || { } , this . ms = _0x206d91 . min || 0x64 , this . max = _0x206d91 . max || 0x2710 , this . factor = _0x206d91 . factor || 0x2 , this . jitter = _0x206d91 . jitter > 0x0 && _0x206d91 . jitter <= 0x1 ? _0x206d91 . jitter : 0x0 , this . attempts = 0x0 ;
}
_0x51d58b . exports = _0x17a9ac , _0x17a9ac . prototype . duration = function ( ) {
var _0x51d58b = this . ms * Math . pow ( this . factor , this . attempts ++ ) ;
if ( this . jitter ) {
var _0xfab657 = Math . random ( ) ,
_0x414fbb = Math . floor ( _0xfab657 * this . jitter * _0x51d58b ) ;
_0x51d58b = 0x0 == ( 0x1 & Math . floor ( 0xa * _0xfab657 ) ) ? _0x51d58b - _0x414fbb : _0x51d58b + _0x414fbb ;
}
return 0x0 | Math . min ( _0x51d58b , this . max ) ;
} , _0x17a9ac . prototype . reset = function ( ) {
this . attempts = 0x0 ;
} , _0x17a9ac . prototype . setMin = function ( _0x149786 ) {
this . ms = _0x149786 ;
} , _0x17a9ac . prototype . setMax = function ( _0xed050 ) {
this . max = _0xed050 ;
} , _0x17a9ac . prototype . setJitter = function ( _0x2d4fd2 ) {
this . jitter = _0x2d4fd2 ;
} ;
} , null , window . EJS _main ] ) . default ;