@zoom/meetingsdk 3.13.0 → 3.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/dist/lib/av/annoter.min.js +1 -1
- package/dist/lib/av/audio.encode.wasm +0 -0
- package/dist/lib/av/audio.simd.wasm +0 -0
- package/dist/lib/av/audio_simd.min.js +1 -1
- package/dist/lib/av/js_audio_process.min.js +1 -1
- package/dist/lib/av/js_media.min.js +2 -2
- package/dist/lib/av/net_thread.min.js +1 -1
- package/dist/lib/av/pako.min.js +1 -1
- package/dist/lib/av/sharing_m.min.js +2 -2
- package/dist/lib/av/sharing_mtsimd.min.js +2 -2
- package/dist/lib/av/sharing_s.min.js +2 -2
- package/dist/lib/av/sharing_simd.min.js +2 -2
- package/dist/lib/av/video.decode.wasm +0 -0
- package/dist/lib/av/video.mt.wasm +0 -0
- package/dist/lib/av/video.mtsimd.js +1 -1
- package/dist/lib/av/video.mtsimd.wasm +0 -0
- package/dist/lib/av/video.simd.js +1 -1
- package/dist/lib/av/video.simd.wasm +0 -0
- package/dist/lib/av/video_m.min.js +2 -2
- package/dist/lib/av/video_mtsimd.min.js +2 -2
- package/dist/lib/av/video_s.min.js +2 -2
- package/dist/lib/av/video_share_mtsimd.min.js +3 -3
- package/dist/lib/av/video_simd.min.js +2 -2
- package/dist/lib/av/wmsc.min.js +1 -1
- package/dist/ui/zoomus-websdk-zoommtgMain.umd.min.js +1 -1
- package/dist/{zoom-meeting-3.13.0.min.js → zoom-meeting-3.13.1.min.js} +2 -2
- package/dist/zoom-meeting-embedded-ES5.min.js +2 -2
- package/dist/zoomus-websdk-embedded.umd.min.js +3 -3
- package/dist/zoomus-websdk.umd.min.js +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("disk-file-writer")):"function"==typeof define&&define.amd?define("JsMediaSDK_Instance",["disk-file-writer"],t):"object"==typeof exports?exports.JsMediaSDK_Instance=t(require("disk-file-writer")):e.JsMediaSDK_Instance=t(e["disk-file-writer"])}(window,(function(e){return function(e){function t(t){for(var i,a,s=t[0],o=t[1],n=0,u=[];n<s.length;n++)a=s[n],r[a]&&u.push(r[a][0]),r[a]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(d&&d(t);u.length;)u.shift()()}var i={},r={1:0};function a(t){if(i[t])return i[t].exports;var r=i[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],i=r[e];if(0!==i)if(i)t.push(i[2]);else{var s=new Promise((function(t,a){i=r[e]=[t,a]}));t.push(i[2]=s);var o,n=document.createElement("script");n.charset="utf-8",n.timeout=120,a.nc&&n.setAttribute("nonce",a.nc),n.src=function(e){return a.p+""+({0:"annoter",2:"pako",3:"wmsc"}[e]||e)+".min.js"}(e);var d=new Error;o=function(t){n.onerror=n.onload=null,clearTimeout(u);var i=r[e];if(0!==i){if(i){var a=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+a+": "+s+")",d.type=a,d.request=s,i[1](d)}r[e]=void 0}};var u=setTimeout((function(){o({type:"timeout",target:n})}),12e4);n.onerror=n.onload=o,document.head.appendChild(n)}return Promise.all(t)},a.m=e,a.c=i,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(i,r,function(t){return e[t]}.bind(null,r));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a.oe=function(e){throw console.error(e),e};var s=window.webpackJsonpJsMediaSDK_Instance=window.webpackJsonpJsMediaSDK_Instance||[],o=s.push.bind(s);s.push=t,s=s.slice();for(var n=0;n<s.length;n++)t(s[n]);var d=o;return a(a.s=57)}([function(e,t,i){"use strict";i.r(t);var r=i(18),a=i(7),s=i(3),o=i(19);const n=Object(o.a)("sdk.init");class d{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.name=e,this.handler=null,this.wasm=null,this.socket=null,this.defered=new s.Deferred,this.initSuccessPromise=this.defered.promise,this.wasmDefered=new s.Deferred,this.wasmSuccessPromise=this.wasmDefered.promise,this.handlerDefered=new s.Deferred,this.handlerSuccessPromise=this.handlerDefered.promise,this.socketDefered=new s.Deferred,this.socketSuccessPromise=this.socketDefered.promise,Promise.all([this.wasmSuccessPromise,this.handlerSuccessPromise,this.socketSuccessPromise]).then(e=>{let t=e.every(e=>!0===e);this.defered.resolve(t),t||n.error(this.name,{handler:this.handler,wasm:this.wasm,socket:this.socket})})}setHanderSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.handler=e,this.handlerDefered.resolve(e)}setWasmSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.wasm=e,this.wasmDefered.resolve(e)}setSocketSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.socket=e,this.socketDefered.resolve(e)}checkInitSuccess(){let e=this.handler&&this.wasm&&this.socket;return e&&this.defered.resolve(!0),e}isSocketInitSuccess(){return this.socket}waitforInitSuccess(){return this.initSuccessPromise}resetHandleDeferred(){this.setHanderSuccess(!0),this.handlerDefered=new s.Deferred,this.handlerSuccessPromise=this.handlerDefered.promise}}class u extends d{constructor(e){super(e)}}class l extends d{constructor(e){super(e)}}class c extends d{constructor(e){super(e)}}var h=i(5),f=i(4);const p=Object(o.a)("sdk.variables");function _(){this.crashCount=0,this.crashLastTime=0,this.AEW=null,this.ADW=null,this.AEWF=null,this.ADWF=null,this.VE=null,this.VD=null,this.SE=null,this.SD=null,this.VEMTimes=0,this.VDMTimes=0,this.SEMTimes=0,this.SDMTimes=0,this.extVBPort=null,this.frameSent=0,this.frameReceived=0,this.peerConnectionCannotConnectTimes=0}_.prototype.initDB=function(){let e,t={},i=this;t.init=function(r){if(this.db_name=r.db_name,this.db_version=r.db_version,this.db_store_name=r.db_store_name,indexedDB){try{e=indexedDB.open(this.db_name,this.db_version)}catch(e){return a.default.error("Error opening IndexedDB",e),void(i.indexDbObject=null)}e.onerror=function(e){i.indexDbObject=null},e.onupgradeneeded=function(e){this.db=e.target.result,this.db.createObjectStore(t.db_store_name)},e.onsuccess=function(e){t.db=e.target.result,i.openIndexFlag=!0,i.indexDbObject.select("delay")}}else i.indexDbObject=null},t.put=function(e,i){try{var r=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).put(e,i);r.onsuccess=function(){},r.onerror=function(e){a.default.error("Set Delay failed!",e)}}catch(e){a.default.error("IndexDb put Failed!",e)}},t.delete=function(i){e=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).delete(i),e.onsuccess=function(){p("Delete the key:"+i)}},t.select=function(e){try{var r=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name);if(e)var s=r.get(e);else s=r.getAll();s.onsuccess=function(){i.audioDelay=s.result},s.onerror=function(){i.audioDelay=0}}catch(e){a.default.error("IndexDb Select Failed",e)}},t.clear=function(){t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).clear().onsuccess=function(){p("Clear the IndexDb Successfully")}},t.close=function(){t.db&&t.db.close()},this.indexDbObject=t,this.indexDbObject.init({db_name:"AEC",db_version:1,db_store_name:"delay"})},_.prototype.Notify_APPUI_SAFE=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];if("number"==typeof e||"string"==typeof e)i=arguments;else if(e!==this.instance)return;this._Notify_APPUI&&(p("Notify_APPUI_SAFE",i),this._Notify_APPUI.apply(this,i),this._callbackList.forEach(e=>e.apply(this,i)))},_.prototype.Notify_APPUI=_.prototype.Notify_APPUI_SAFE,_.prototype.queueMessageToRwg=function(e,t){this.rwgMessageList.push({jsEvent:e,message:t})},_.prototype.clearMessageToRwg=function(){f.default.startSend(),this.rwgConnectSuccess=!0,this.rwgMessageList.length>0&&(this.rwgAgent||this._Notify_APPUI)&&(this.rwgMessageList.forEach(e=>{let{jsEvent:t,message:i}=e;this.sendMessageToRwg(t,i,!1,!1)}),this.rwgMessageList=[])},_.prototype.destroyQueueMessageToRwg=function(){this.rwgConnectSuccess=!1,this.rwgMessageList=[]},_.prototype.sendMessageToRwg=function(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(this.rwgConnectSuccess&&(this.rwgAgent||this._Notify_APPUI)||!i){this.rwgConnectSuccess&&r&&this.clearMessageToRwg();try{this.rwgAgent?this.rwgAgent.sendMessageToRwg(t):this.Notify_APPUI_SAFE(e,t)}catch(e){a.default.error("Error sending message to RWG",e)}}else this.queueMessageToRwg(e,t)},_.prototype.reinit=function(e){this.instance=e,this.SPECIAL_ID=0,this._callbackList=[],this._Notify_APPUI=null,this.localAudioDecMGR=null,this.localVideoDecMGR=null,this.localAudioEncMGR=null,this.localVideoEncMGR=null,this.localSharingDecMGR=null,this.localMouseDecMGR=null,this.localSharingEncMGR=null,this.localAudioPara=null,this.localVideoPara={},this.localSharingPara=null,this.Audio_WebSocket_Ip_Address=null,this.Audio_Web_Transport_Ip_Address=null,this.Video_WebSocket_Ip_Address=null,this.Video_Web_Transport_Ip_Address=null,this.Sharing_WebSocket_Ip_Address=null,this.mediaSDKHandle=null,this.audio_pcm_queue=new r.a,this.int16Array=null,this.isInitialFailed=!1,this.isAudioEncodeWASMOK=!1,this.isAudioDecodeWASMOK=!1,this.isVideoEncodeWASMOK=!1,this.isVideoDecodeWASMOK=!1,this.isSharingDecodeWASMOK=!1,this.isSharingEncodeWASMOK=!1,this.audioEncWorkerPath="",this.audioDecWorkerPath="",this.videoDecWorkerPath="",this.videoEncWorkerPath="",this.sharingDecWorkerPath="",this.sharingEncWorkerPath="",this.audioEncodeSession=null,this.audioDecodeSession=null,this.videoDecodeSession=null,this.videoEncodeSession=null,this.sharingDecodeSession=null,this.sharingEncodeSession=null,this.isAudioEncodeThreadStart=!1,this.isAudioDecodeThreadStart=!1,this.isVideoDecodeThreadStart=!1,this.isSharingDecodeThreadStart=!1,this.isVideoEncodeThreadStart=!1,this.isSharingEncodeThreadStart=!1,this.isAudioPlayWork=!1,this.isVideoPlayWork=!1,this.isSharingPlayWork=!1,this.shareBufferSampleNumb=30,this.audioWasmInfo=null,this.initialSuccessNumb=0,this.TotalWaitEvent=0,this.audioPostInterval=null,this.sharedBuffer=null,this.decoderinworklet=null,this.decoderinworkletOP=null,this.chromeWideAEC=null,this.shareSystemAudio=!1,this.indexDbObject=null,this.audioDelay=0,this.openIndexFlag=!1,this.audioBufferSize=s.default.browser.isFirefox?30:15,this.monitorIntervalHandle=null,this.e2eencrypt=!1,this.AudioNode=null,this.SharingAudioNode=null,this.CurrentSSRC=0,this.CurrentSSRCTime=0,this.audioPlayTime=0,this.videoDecResponseText=null,this.videoEncResponseText=null,this.sharingDecodeResponse=null,this.sharingEncodeResponse=null,this.sharingDecInitInstance=new u(h.f.SHARING_DECODE),this.sharingEncInitInstance=new u(h.f.SHARING_ENCODE),this.videoDecInitInstance=new l(h.f.VIDEO_DECODE),this.videoInitInstance=new l(h.f.VIDEO_ENCODE),this.audioDecInitInstance=new c(h.f.AUDIO_DECODE),this.audioEncodeInitInstance=new c(h.f.AUDIO_ENCODE),this.audioDecodeResponse=null,this.audioEncodeResponse=null,this.ivObj={},this.userNodeList=[],this.rwgAgent=null,this.ComputerAudioStatus=h.a.ComputerAudio_Null,this.DesktopAudioStatus=h.a.DesktopAudio_Null,this.initDB(),this.resourceManager=null,this.vbarraybuffer=null,this.vbbin=null,this.vbjson=null,this.tfjsurl=null,this.afnbin=null,this.afnjson=null,this.basebin=null,this.basejson=null,this.workletMessageQueue=new r.a,this.workletWasmInitSuccess=!1,this.videoEncodeInitSuccess=null,this.vbPreloadSuccess=null,this.enableAduioBridge=!1,this.audioMode=-1,this.enableEchoDetection=0,this.enableHADecOpt=0,this.enableSafariHWCodec=0,this.enable360pHWDec=0,this.enable360pHWEnc=0,this.enableAndroidHWCodec=0,this.disableHWCodec=0,this.enableOptCopyFrame=0,this.enableTransferDataChannel=0,this.enableCanvasAlphaChannel=!0,this.enableWebrtcTurnServer=!1,this.VEMTimes=0,this.VDMTimes=0,this.SEMTimes=0,this.SDMTimes=0,this.isPreviewMode={audioEncode:!1,audioDecode:!1,videoEncode:!1,videoDecode:!1},this.rwgConnectSuccess=!1,this.rwgMessageList=[],this.localSsrc=0,this.frameSent=0,this.frameReceived=0};let m=new _;t.default=m},function(e,t,i){var r=i(90),a=i(49);e.exports=function(e,t){var i=a(e,t,"get");return r(e,i)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";i.r(t),i.d(t,"START_MEDIA",(function(){return r})),i.d(t,"ADD_RENDER_VIDEO",(function(){return a})),i.d(t,"STOP_RENDER_VIDEO",(function(){return s})),i.d(t,"START_CAPTURE_VIDEO",(function(){return o})),i.d(t,"STOP_CAPTURE_VIDEO",(function(){return n})),i.d(t,"ADD_RENDER_AUDIO",(function(){return d})),i.d(t,"STOP_RENDER_AUDIO",(function(){return u})),i.d(t,"UNMUTE_AUDIO",(function(){return l})),i.d(t,"MUTE_AUDIO",(function(){return c})),i.d(t,"CHANGE_FRAME_RATE",(function(){return h})),i.d(t,"CHANGE_VIDEO_RESOLUTION",(function(){return f})),i.d(t,"CHANGE_AUDIO_SPEAKER",(function(){return p})),i.d(t,"CHANGE_VIDEO_CAPTURE_DEVICE",(function(){return _})),i.d(t,"CHANGE_CURRENT_ACTIVE_SSRC",(function(){return m})),i.d(t,"REMOVE_AUDIO_CAPTURE",(function(){return E})),i.d(t,"LEAVE_MEETING",(function(){return g})),i.d(t,"MEETING_FAIL_OVER",(function(){return S})),i.d(t,"END_MEDIA",(function(){return v})),i.d(t,"CHANGE_AUDIO_MIC",(function(){return C})),i.d(t,"WEBRTC_RESTART",(function(){return A})),i.d(t,"REMOVE_RENDER_AUDIO",(function(){return R})),i.d(t,"LEAVE_COMPUTER_AUDIO",(function(){return T})),i.d(t,"JOIN_COMPUTER_AUDIO",(function(){return I})),i.d(t,"START_SHARING",(function(){return b})),i.d(t,"STOP_SHARING",(function(){return O})),i.d(t,"SWITCH_CANVAS_FOR_VIDEO_CAPTURE",(function(){return D})),i.d(t,"START_REMOTE_CONTROL",(function(){return w})),i.d(t,"UPDATE_REMOTE_CONTROL_PROPERTIES",(function(){return y})),i.d(t,"CANCEL_REMOTE_CONTROL",(function(){return M})),i.d(t,"UPDATE_SUBSCRIBE_VIDEO",(function(){return P})),i.d(t,"START_DESKTOP_SHARING",(function(){return N})),i.d(t,"START_SHARING_WHITEBOARD",(function(){return V})),i.d(t,"STOP_DESKTOP_SHARING",(function(){return k})),i.d(t,"STOP_SHARING_WHITEBOARD",(function(){return U})),i.d(t,"PAUSE_DESKTOP_SHARING",(function(){return L})),i.d(t,"RESUME_DESKTOP_SHARING",(function(){return x})),i.d(t,"CHECK_CHROME_SHARING_EXTENSION",(function(){return W})),i.d(t,"SWITCH_CANVAS_FOR_SHARING_CAPTURE",(function(){return B})),i.d(t,"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",(function(){return G})),i.d(t,"COMMAND_SOCKET_MESSAGE_NOTIFY",(function(){return F})),i.d(t,"RESEND_REMOTE_CONTROL_POSITION_PDU",(function(){return H})),i.d(t,"AES_GCM_IV_VALUE",(function(){return K})),i.d(t,"USER_NODE_LIST",(function(){return j})),i.d(t,"UPDATE_SHARING_DECODE_PARAM",(function(){return Y})),i.d(t,"PAUSE_OR_RESUME_AUDIO_DECODE",(function(){return q})),i.d(t,"UPDATE_CANVAS_SIZE",(function(){return X})),i.d(t,"CLEAR_CANVAS",(function(){return Q})),i.d(t,"ZOOM_RENDER",(function(){return z})),i.d(t,"CHANGE_SHARING_2ND_VIDEO_CAPTUREVIDEO_DEVICE",(function(){return J})),i.d(t,"SET_OTHER_AUDIO_VOLUME_LEVEL",(function(){return Z})),i.d(t,"USER_NODE_AUDIO_STATUS_LIST",(function(){return $})),i.d(t,"UPDATE_MASK_CANVAS_SIZE",(function(){return ee})),i.d(t,"MOVE_PTZ_CAMERA",(function(){return te})),i.d(t,"START_STOP_REMOTE_CONTROL_CHECK",(function(){return ie})),i.d(t,"SEND_REMOTE_CONTROL_QR_CODE",(function(){return re})),i.d(t,"AUDIO_CC_SELECT_LANGUAGE",(function(){return ae})),i.d(t,"AUIOD_INTERPRETATION_MUTE",(function(){return se})),i.d(t,"AUDIO_INTERPRETATION_SELECT_LANGUAGE",(function(){return oe})),i.d(t,"AUDIO_INTERPRETATION_LIST_INFO",(function(){return ne})),i.d(t,"AUDIO_INTERPRETATION_ENABLE",(function(){return de})),i.d(t,"VIDEO_MASK_SETTING",(function(){return ue})),i.d(t,"UPDATE_BG_IMAGE",(function(){return le})),i.d(t,"UPDATE_MASK_INFO",(function(){return ce})),i.d(t,"FINISH_MASK_SETTING",(function(){return he})),i.d(t,"START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS",(function(){return fe})),i.d(t,"VIDEO_ENABLE_DECODE_HW",(function(){return pe})),i.d(t,"VIDEO_ENABLE_ENCODE_HW",(function(){return _e})),i.d(t,"JOIN_DESKTOP_AUDIO",(function(){return me})),i.d(t,"LEAVE_DESKTOP_AUDIO",(function(){return Ee})),i.d(t,"SET_DESKTOP_VOLUME",(function(){return ge})),i.d(t,"MIRROR_MY_VIDEO",(function(){return Se})),i.d(t,"REMOVE_EXPIRED_CANVAS",(function(){return ve})),i.d(t,"WEBGL_LOST_REPLACE_CANVAS",(function(){return Ce})),i.d(t,"UPDATE_VIDEO_QUALITY",(function(){return Ae})),i.d(t,"SEND_RENDER_LOG",(function(){return Re})),i.d(t,"USER_NODE_LIST_IN_MAIN_SESSION",(function(){return Te})),i.d(t,"UPDATE_MEDIA_PARAMS",(function(){return Ie})),i.d(t,"SHARING_ADD_REV_CHANNEL_TYPE",(function(){return be})),i.d(t,"SHARING_REMOVE_REV_CHANNEL_TYPE",(function(){return Oe})),i.d(t,"BUILD_MS_CHANNEL_IN_BO",(function(){return De})),i.d(t,"BUILD_MA_CHANNEL_IN_BO",(function(){return we})),i.d(t,"ENABLE_SHARE_TO_BO",(function(){return ye})),i.d(t,"ENABLE_BROADCAST_TO_BO",(function(){return Me})),i.d(t,"SWITCH_WATER_MARK_FLAG",(function(){return Pe})),i.d(t,"START_VIDEO_VB_SETTING",(function(){return Ne})),i.d(t,"UPDATE_VIDEO_VB_BG_IMAGE",(function(){return Ve})),i.d(t,"STOP_VIDEO_VB_SETTING",(function(){return ke})),i.d(t,"START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS",(function(){return Ue})),i.d(t,"SWITCH_MASK_AND_VB",(function(){return Le})),i.d(t,"VB_MODEL_PRELOADING_3S",(function(){return xe})),i.d(t,"VB_MODEL_PRELOADING_10S",(function(){return We})),i.d(t,"VB_MODEL_PRELOADING_OK",(function(){return Be})),i.d(t,"ENABLE_VIDEO_OBSERVER",(function(){return Ge})),i.d(t,"SWITCH_SHARING_TYPE",(function(){return Fe})),i.d(t,"CHANGE_HID_ENABLE",(function(){return He})),i.d(t,"ADD_VIDEO_VB_SETTING_DOM",(function(){return Ke})),i.d(t,"REMOVE_VIDEO_VB_SETTING_DOM",(function(){return je})),i.d(t,"NEW_ACTIVE_SPEAKER_SSRC",(function(){return Ye})),i.d(t,"NEW_ACTIVE_SPEAKER_FIRST_FRAME_CALLBACK",(function(){return qe})),i.d(t,"CANCEL_NEW_ACTIVE_SPEAKER_BEFORE_CALL_BACK",(function(){return Xe})),i.d(t,"NOTIFY_SDK_JOIN_RWG_SUCCESS",(function(){return Qe})),i.d(t,"AUDIO_BRIDGE_FIRST_RECV_DATA",(function(){return ze})),i.d(t,"AUDIO_BRIDGE_CAN_SEND_DATA",(function(){return Je})),i.d(t,"FIRST_VIDEO_FRAME",(function(){return Ze})),i.d(t,"PREVIEW_INIT_VIDEO_DECODE_SUCCESS",(function(){return $e})),i.d(t,"PREVIEW_INIT_AUDIO_DECODE_SUCCESS",(function(){return et})),i.d(t,"WHITEBOARD_JOIN_MESSAGE",(function(){return tt})),i.d(t,"AUDIO_DENOISE_SWITCH",(function(){return it})),i.d(t,"SET_CODEC_MODE",(function(){return rt})),i.d(t,"STOP_AUDIO_INCOMING",(function(){return at})),i.d(t,"MOBILE_ROTATE",(function(){return st})),i.d(t,"SAVE_LOCAL_LOG",(function(){return ot})),i.d(t,"CHANGE_AUDIO_PROFILE",(function(){return nt})),i.d(t,"AUDIO_JOIN_SUCCESS",(function(){return dt})),i.d(t,"RWG_COMMAND_BYPASS_TO_WCL",(function(){return ut})),i.d(t,"SHARE_2ND_AUDIO_CAPTURE_DEVICE",(function(){return lt})),i.d(t,"SUBSCRIBE_VIDEO",(function(){return ct})),i.d(t,"UNSUBSCRIBE_VIDEO",(function(){return ht})),i.d(t,"UI_SUBSCRIBE_VIDEO",(function(){return ft})),i.d(t,"UI_UNSUBSCRIBE_VIDEO",(function(){return pt})),i.d(t,"MOBILE_CAPTURE_DEVICE_CHANGE",(function(){return _t})),i.d(t,"ON_HOLD",(function(){return mt})),i.d(t,"SET_ALL_SPEECH_VOLUME",(function(){return Et})),i.d(t,"ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY",(function(){return gt})),i.d(t,"START_ANNOTATION_A",(function(){return St})),i.d(t,"ANNOTATION_ACTIONS",(function(){return vt})),i.d(t,"STOP_ANNOTATION_A",(function(){return Ct})),i.d(t,"START_ANNOTATION_SUCCESS",(function(){return At})),i.d(t,"DEVICE_CHANGE_EVENT",(function(){return Rt})),i.d(t,"RECAPTURE_AUDIO",(function(){return Tt})),i.d(t,"REQUEST_PERMISSION",(function(){return It})),i.d(t,"REQUEST_PERMISSION_RESULT",(function(){return bt})),i.d(t,"REQUEST_PERMISSIOM_POP_REMINDER",(function(){return Ot})),i.d(t,"INIT_SUCCESS",(function(){return Dt})),i.d(t,"INIT_SUCCESS_VIDEO",(function(){return wt})),i.d(t,"INIT_SUCCESS_AUDIO",(function(){return yt})),i.d(t,"INIT_SUCCESS_SHARING",(function(){return Mt})),i.d(t,"USER_GRANT_CAPTURE_AUDIO",(function(){return Pt})),i.d(t,"CURRENT_VIDEO_RESOLUTION",(function(){return Nt})),i.d(t,"SHARING_DEC_THREAD_OK",(function(){return Vt})),i.d(t,"SHARING_DATA",(function(){return kt})),i.d(t,"SHARING_PARA",(function(){return Ut})),i.d(t,"SHARING_MORE_INFO",(function(){return Lt})),i.d(t,"VIDEO_DECODE_MAX_SIZE",(function(){return xt})),i.d(t,"CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT",(function(){return Wt})),i.d(t,"START_VIDEO_CAPTURE_SUCCESS",(function(){return Bt})),i.d(t,"STOP_VIDEO_CAPTURE_SUCCESS",(function(){return Gt})),i.d(t,"START_REMOTE_CONTROL_SUCCESS",(function(){return Ft})),i.d(t,"CANCEL_REMOTE_CONTROL_SUCCESS",(function(){return Ht})),i.d(t,"REMOTE_CONTROL_COPIED_TEXT_NOTIFY",(function(){return Kt})),i.d(t,"MONITOR_LOG",(function(){return jt})),i.d(t,"CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT",(function(){return Yt})),i.d(t,"DESKTOP_SHARING_CAPTURE_SUCCESS",(function(){return qt})),i.d(t,"CHECK_CHROME_SHARING_EXTENSION_RESPONSE",(function(){return Xt})),i.d(t,"SHARING_DECODE_MAX_SIZE",(function(){return Qt})),i.d(t,"REQUEST_AUDIO_BRIDGE_TOKEN",(function(){return zt})),i.d(t,"SEND_MESSAGE_TO_RWG",(function(){return Jt})),i.d(t,"AES_GCM_IV_RESPONSE",(function(){return Zt})),i.d(t,"SHARING_DESKTOP_STREAM_HAVE_AUDIO",(function(){return $t})),i.d(t,"JOIN_COMPUTER_AUDIO_COMPLETE",(function(){return ei})),i.d(t,"JOIN_DESKTOP_AUDIO_COMPLETE",(function(){return ti})),i.d(t,"LEAVE_COMPUTER_AUDIO_COMPLETE",(function(){return ii})),i.d(t,"LEAVE_DESKTOP_AUDIO_COMPLETE",(function(){return ri})),i.d(t,"HID_STATUS_MUTE",(function(){return ai})),i.d(t,"HID_STATUS_OFF_HOOK",(function(){return si})),i.d(t,"WB_MESSAGE",(function(){return oi})),i.d(t,"AUDIO_STREAM_FAILED",(function(){return ni})),i.d(t,"VIDEO_STREAM_FAILED",(function(){return di})),i.d(t,"AUDIO_SPEAKER_SET_SUCCESS",(function(){return ui})),i.d(t,"FIRST_IOS_FRAME",(function(){return li})),i.d(t,"AUDIOBRIDGE_EBABLE_SHARE_TO_BO_SUCCESS",(function(){return ci})),i.d(t,"AUDIOBRIDGE_SET_CC_LANG_SUCCESS",(function(){return hi})),i.d(t,"AUDIOBRIDGE_ENABLE_BROADCAST_TO_BO_SUCCESS",(function(){return fi})),i.d(t,"AUDIO_LEVEL_INDICATOR",(function(){return pi})),i.d(t,"SYNC_RENDERER_TYPE_RESPONSE",(function(){return _i})),i.d(t,"INIT_FAILED",(function(){return mi})),i.d(t,"INIT_FAILED_VIDEO",(function(){return Ei})),i.d(t,"INIT_FAILED_AUDIO",(function(){return gi})),i.d(t,"INIT_FAILED_SHARING",(function(){return Si})),i.d(t,"AUDIO_CAPTURE_FAILED",(function(){return vi})),i.d(t,"AUDIO_WEBSOCKET_BROKEN",(function(){return Ci})),i.d(t,"VIDEO_WEBSOCKET_BROKEN",(function(){return Ai})),i.d(t,"SHARING_DEC_THREAD_FAILED",(function(){return Ri})),i.d(t,"AUDIO_ZERO_DATA",(function(){return Ti})),i.d(t,"AUDIO_CTX_SAMPLERATE",(function(){return Ii})),i.d(t,"USER_FORBIDDED_CAPTURE_VIDEO",(function(){return bi})),i.d(t,"USER_CAMERA_IS_TAKEN_BY_OTHER_PROGRAMS",(function(){return Oi})),i.d(t,"STOP_VIDEO_CAPTURE_FAILED",(function(){return Di})),i.d(t,"START_REMOTE_CONTROL_FAILED",(function(){return wi})),i.d(t,"CANCEL_REMOTE_CONTROL_FAILED",(function(){return yi})),i.d(t,"REMOTE_CONTROL_PASTE_TEXT_LENGTH_OVERFLOW",(function(){return Mi})),i.d(t,"USER_STOP_DESKTOP_SHARING",(function(){return Pi})),i.d(t,"USER_CANCEL_PERMISSION_REQUEST",(function(){return Ni})),i.d(t,"DESKTOP_SHARING_CHROME_EXTENSION_UNINSTALLED",(function(){return Vi})),i.d(t,"DESKTOP_SHARING_PERMISSION_DENIED",(function(){return ki})),i.d(t,"DESKTOP_SHARING_TIME_OUT",(function(){return Ui})),i.d(t,"DESKTOP_SHARING_ERROR",(function(){return Li})),i.d(t,"AUDIO_SPEAKER_SET_ERROR",(function(){return xi})),i.d(t,"DESKTOP_SHARING_SYSTEM_ERROR",(function(){return Wi})),i.d(t,"AUDIO_CLIPPING",(function(){return Bi})),i.d(t,"AUDIO_AUTO_PLAY_FAILED",(function(){return Gi})),i.d(t,"WCL_SIP_WEBSOCKET_CONNECT_ERROR",(function(){return Fi})),i.d(t,"SHARING_DESKTOP_STREAM_HAVE_NO_AUDIO",(function(){return Hi})),i.d(t,"WCL_AUDIO_BRIDGE_RECONNECT_START",(function(){return Ki})),i.d(t,"WCL_AUDIO_BRIDGE_RECONNECT_END",(function(){return ji})),i.d(t,"WEBGL_LOST_IN_MULTI_VIEW",(function(){return Yi})),i.d(t,"MASK_SETTING_PARA_ERROR",(function(){return qi})),i.d(t,"VIDEO_VB_SETTING_PARA_ERROR",(function(){return Xi})),i.d(t,"NOTIFY_UI_FAILOVER",(function(){return Qi})),i.d(t,"AUDIO_CONNECT_HID_JOIN_FAILED",(function(){return zi})),i.d(t,"JOIN_COMPUTER_AUDIO_FAILURE",(function(){return Ji})),i.d(t,"AUDIOBRIDGE_EBABLE_BROADCAST_TO_BO_FAILURE",(function(){return Zi})),i.d(t,"AUDIOBRIDGE_SET_CC_LANG_FAILURE",(function(){return $i})),i.d(t,"AUDIOBRIDGE_EBABLE_SHARE_TO_BO_FAILURE",(function(){return er})),i.d(t,"AUDIO_MIC_SET_ERROR",(function(){return tr})),i.d(t,"NOTIFY_UI_WMSC_FAILOVER",(function(){return ir})),i.d(t,"NOTIFY_UI_WMSC_WSS_DISCONNECTED",(function(){return rr})),i.d(t,"RECOVER_WEBRTC_AUDIO",(function(){return ar})),i.d(t,"MEDIA_RECONNECT",(function(){return sr})),i.d(t,"WEBGL_CONTEXT_INVALID",(function(){return or})),i.d(t,"WASM_MEMORY_FAIL",(function(){return nr})),i.d(t,"LOST_CAMERA_ACCESS",(function(){return dr})),i.d(t,"WORKLET_PROCESS_EXCEPTIONS",(function(){return ur})),i.d(t,"VB_PROCESS_IMAGE_FAIL",(function(){return lr})),i.d(t,"MEDIA_HEALTH_CHECK_FAILED",(function(){return cr})),i.d(t,"START_ANNOTATION_FAILED",(function(){return hr})),i.d(t,"AUDIO_SENT_BYTES_ZERO",(function(){return fr})),i.d(t,"EVENT_PARMS_ERROR",(function(){return pr})),i.d(t,"AUDIO_STOP",(function(){return _r})),i.d(t,"AUDIO_START",(function(){return mr})),i.d(t,"AUDIO_REMOVE",(function(){return Er})),i.d(t,"AUDIO_ILLEGAL",(function(){return gr})),i.d(t,"SHARING_PARAM_INFO_FROM_SOCKET",(function(){return Sr})),i.d(t,"ZOOM_CONNECTION_VIDEO_OFFER_EVT",(function(){return vr})),i.d(t,"ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",(function(){return Cr})),i.d(t,"ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT",(function(){return Ar})),i.d(t,"ZOOM_CONNECTION_REMOVE_UDP_EVT",(function(){return Rr})),i.d(t,"EVT_TYPE_WS_VIDEO_DATACHANNEL_ANSWER",(function(){return Tr})),i.d(t,"WS_CONF_AB_TOKEN_REQ",(function(){return Ir})),i.d(t,"WS_CONF_AB_TOKEN_RES",(function(){return br})),i.d(t,"WS_CONF_END_INDICATION",(function(){return Or})),i.d(t,"WS_VIDEO_MULTI_SUBSCRIBE_REQ",(function(){return Dr})),i.d(t,"WS_VIDEO_MULTI_UNSUBSCRIBE_REQ",(function(){return wr})),i.d(t,"RWG_MONITOR_LOG_EVENT",(function(){return yr})),i.d(t,"WS_CONF_WCL_SET_FULL_HD_REQ",(function(){return Mr})),i.d(t,"PUBSUB_EVT",(function(){return Pr})),i.d(t,"SHARING_FIRST_DECODE_FRAME_RECEIVED_SSRC",(function(){return Nr})),i.d(t,"MEDIA_CONNECTED",(function(){return Vr})),i.d(t,"HAVE_NO_WATERMARK",(function(){return kr})),i.d(t,"HAVE_WATERMARK",(function(){return Ur})),i.d(t,"SPEAKING_WHEN_MUTE",(function(){return Lr})),i.d(t,"AUDIO_QOS_DATA",(function(){return xr})),i.d(t,"VIDEO_QOS_DATA",(function(){return Wr})),i.d(t,"VIDEOSHARE_QOS_DATA",(function(){return Br})),i.d(t,"NETWORK_QUALITY_CHANGE",(function(){return Gr})),i.d(t,"NETWORK_QUALITY_CHANGE_AUDIO",(function(){return Fr})),i.d(t,"sdkIvTypeKeyEnum",(function(){return Hr})),i.d(t,"CURRENT_DECODE_VIDEO_QUALITY",(function(){return Kr})),i.d(t,"CURRENT_DECODE_VIDEO_FPS",(function(){return jr})),i.d(t,"ENABLE_REUSE_STREAM",(function(){return Yr})),i.d(t,"PRESET_MEDIA_CONSTRAINTS",(function(){return qr})),i.d(t,"DESTORY_REUSE_STREAM",(function(){return Xr})),i.d(t,"VB_SETTING_PARA_ERROR_TYPE",(function(){return Qr})),i.d(t,"AUDIO_STREAM_MUTED",(function(){return zr})),i.d(t,"AUDIO_STREAM_UNMUTED",(function(){return Jr})),i.d(t,"VIDEO_STREAM_MUTED",(function(){return Zr})),i.d(t,"VIDEO_STREAM_UNMUTED",(function(){return $r})),i.d(t,"EXPOSE_VB_FRAME",(function(){return ea})),i.d(t,"UNIFIED_VB_FRAME",(function(){return ta})),i.d(t,"UNIFIED_VB_STOP",(function(){return ia})),i.d(t,"UNIFIED_VB_PAUSE",(function(){return ra})),i.d(t,"UNIFIED_VB_ACK",(function(){return aa})),i.d(t,"ANNO_UNDO_STATUS",(function(){return sa})),i.d(t,"ANNO_REDO_STATUS",(function(){return oa})),i.d(t,"CAPTURE_FAILED_REASON",(function(){return na})),i.d(t,"REQUEST_PERMISSION_STATUS",(function(){return da}));const r=0,a=1,s=2,o=3,n=4,d=5,u=6,l=7,c=8,h=9,f=10,p=11,_=12,m=13,E=14,g=15,S=16,v=17,C=18,A=19,R=20,T=21,I=22,b=23,O=24,D=25,w=26,y=27,M=28,P=29,N=30,V=30.1,k=31,U=31.1,L=32,x=33,W=34,B=35,G=36,F=40,H=41,K=42,j=43,Y=44,q=45,X=46,Q=47,z=48,J=49,Z=50,$=51,ee=52,te=53,ie=54,re=55,ae=57,se=58,oe=59,ne=60,de=61,ue=62,le=63,ce=64,he=65,fe=66,pe=70,_e=71,me=72,Ee=73,ge=74,Se=75,ve=76,Ce=77,Ae=78,Re=79,Te=80,Ie=81,be=82,Oe=83,De=84,we=85,ye=86,Me=87,Pe=90,Ne=91,Ve=92,ke=93,Ue=94,Le=95,xe=96,We=97,Be=98,Ge=99,Fe=101,He=100,Ke=102,je=103,Ye=110,qe=111,Xe=112,Qe=113,ze=114,Je=115,Ze=116,$e=117,et=118,tt=120,it=121,rt=122,at=123,st=124,ot=125,nt=126,dt=127,ut=128,lt=129,ct=130,ht=131,ft=132,pt=133,_t=135,mt=136,Et=137,gt=138,St=150,vt=152,Ct=156,At=158,Rt=159,Tt=160,It=161,bt=162,Ot=163,Dt=1,wt=1.1,yt=1.2,Mt=1.3,Pt=2,Nt=3,Vt=4,kt=5,Ut=6,Lt=6.1,xt=7,Wt=8,Bt=9,Gt=10,Ft=11,Ht=12,Kt=13,jt=14,Yt=15,qt=16,Xt=17,Qt=18,zt=19,Jt=20,Zt=21,$t=23,ei=24,ti=25,ii=26,ri=27,ai=28,si=29,oi=30,ni=31,di=32,ui=33,li=34,ci=35,hi=36,fi=37,pi=38,_i=39,mi=-1,Ei=-1.1,gi=-1.2,Si=-1.3,vi=-2,Ci=-3,Ai=-4,Ri=-5,Ti=-6,Ii=-7,bi=-8,Oi=-9,Di=-10,wi=-11,yi=-12,Mi=-14,Pi=-15,Ni=-16,Vi=-17,ki=-18,Ui=-19,Li=-20,xi=-21,Wi=-22,Bi=-23,Gi=-24,Fi=-28,Hi=-27,Ki=-29,ji=-31,Yi=-32,qi=-33,Xi=-34,Qi=-35,zi=-36,Ji=-37,Zi=-38,$i=-39,er=-40,tr=-41,ir=-42,rr=-43,ar=-44,sr=-45,or=-51,nr=-52,dr=-60,ur=-53,lr=-70,cr=-129,hr=-130,fr=-136,pr=-137,_r=0,mr=1,Er=2,gr=-1,Sr="SHARING_PARAM_INFO_FROM_SOCKET",vr=24321,Cr=24322,Ar=24322,Rr=24323,Tr=24322,Ir=4300,br=4299,Or=7939,Dr=12303,wr=12305,yr=4167,Mr=4355,Pr={ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT:"ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT:"ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT",END_MEDIA:"END_MEDIA",DESTROY:"DESTROY",DC_COMING_MESSAGE:"DC_COMING_MESSAGE",AUDIO_BRIDGE_WS_TOKEN:"AUDIO_BRIDGE_WS_TOKEN"},Nr=70,Vr=170,kr=!1,Ur=!0,Lr=121,xr="AUDIO_QOS_DATA",Wr="VIDEO_QOS_DATA",Br="VIDEOSHARE_QOS_DATA",Gr="NETWORK_QUALITY_CHANGE",Fr="NETWORK_QUALITY_CHANGE_AUDIO",Hr={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},Kr=66.5,jr=66.6,Yr="ENABLE_REUSE_STREAM",qr="PRESET_MEDIA_CONSTRAINTS",Xr="DESTORY_REUSE_STREAM",Qr={FAIL:4},zr="AUDIO_STREAM_MUTED",Jr="AUDIO_STREAM_UNMUTED",Zr="VIDEO_STREAM_MUTED",$r="VIDEO_STREAM_UNMUTED",ea="EXPOSE_VB_FRAME",ta="UNIFIED_VB_FRAME",ia="UNIFIED_VB_STOP",ra="UNIFIED_VB_PAUSE",aa="UNIFIED_VB_ACK",sa="ANNO_UNDO_STATUS",oa="ANNO_REDO_STATUS",na={USER_DENIED:1,SYSTEM_DENIED:2,DEVICE_IN_USE:3,NO_DEVICE:4,UNKNOWN_REASON:5,OVERCONSTRAINED:6,USER_DISMISS:7},da={GRANTED_AUDIO_VIDEO:1,GRANTED_AUDIO:2,DENIED:3,EXCEPTION_FAILS:4,DISMISS:5}},function(e,t,i){"use strict";i.r(t),i.d(t,"apiSupportUtility",(function(){return b})),i.d(t,"IsSupportWebGLOffscreenCanvas",(function(){return U})),i.d(t,"DetectIsMTRAndroidWithSAB",(function(){return L})),i.d(t,"Get_Logical_SSrc",(function(){return W})),i.d(t,"createMainAudioContext",(function(){return B})),i.d(t,"createAudioContext",(function(){return G})),i.d(t,"Deferred",(function(){return H})),i.d(t,"getFilename",(function(){return K})),i.d(t,"IntegrityHelper",(function(){return j})),i.d(t,"getGcd",(function(){return Y})),i.d(t,"getLcm",(function(){return q})),i.d(t,"AdjustRegion_AspectRatio",(function(){return X})),i.d(t,"deepEqual",(function(){return Q})),i.d(t,"getWMSCModule",(function(){return z})),i.d(t,"getAnnoterModule",(function(){return J})),i.d(t,"addSelfViewDebugInfoForWebRTC",(function(){return Z})),i.d(t,"addUserEventListener",(function(){return $})),i.d(t,"VideoStreamCanCapture",(function(){return ee})),i.d(t,"RecordVideoState",(function(){return te})),i.d(t,"CheckCanvasSize",(function(){return ie})),i.d(t,"isHtmlElement",(function(){return re})),i.d(t,"parseDOMParams",(function(){return ae})),i.d(t,"checkBrowserVersion",(function(){return se})),i.d(t,"replaceComma",(function(){return oe})),i.d(t,"isChromeOS",(function(){return ne})),i.d(t,"isMobileDevice",(function(){return de})),i.d(t,"isTablet",(function(){return ue})),i.d(t,"isWebGLAvailable",(function(){return le})),i.d(t,"createRlbSocket",(function(){return ce})),i.d(t,"setIsWebRTCMode",(function(){return he})),i.d(t,"updateAudioProbResult",(function(){return pe})),i.d(t,"isMacIntel",(function(){return _e})),i.d(t,"IsSupportTransferableDataChannel",(function(){return me}));var r=i(35),a=i(30),s=i(7),o=i(0),n=i(6),d=i(4),u=i(50),l=i.n(u),c=i(40),h=i(24),f=i(36),p=i(22),_=i(11);const m={};let E=!1,g=!1;const S=function(){let e=(i={},r=navigator.userAgent.toLowerCase(),(t=r.match(/rv:([\d.]+)\) like gecko/))||(t=r.match(/msie ([\d\.]+)/))?(i.ie=t[1],i.name="ie"):(t=r.match(/(?:edge|edg)\/([\d\.]+)/))?(i.edge=t[1],i.name="edge"):(t=r.match(/(?:firefox|iceweasel)\/([\d\.]+)/))?(i.firefox=t[1],i.name="firefox"):(t=r.match(/(?:opera|opr).([\d\.]+)/))?(i.opera=t[1],i.name="opera"):(t=r.match(/chrome\/([\d\.]+)/))?(i.chrome=t[1],i.name="chrome"):(t=r.match(/version\/([\d\.]+).*safari/))&&(i.safari=t[1],i.name="safari"),i);var t,i,r;return function(){return e}}(),v=function(){let e={};return function(){try{var t,i,r,a,s,o;let n=l()(navigator.userAgent),d="tablet"==(null==n||null===(t=n.device)||void 0===t?void 0:t.type)||ue(),u="mobile"==(null==n||null===(i=n.device)||void 0===i?void 0:i.type)||de(),c=null==n||null===(r=n.os)||void 0===r?void 0:r.name,h=null==n||null===(a=n.os)||void 0===a?void 0:a.version,f=0;if(d?f=4:u&&(f=1),!c){const e=navigator.userAgent.match(/\(([^;]+); OpenHarmony ([\d.]+)\)/);e&&e.length>2&&(c="OpenHarmony",h=e[2],"Tablet"===e[1]?f=4:"Phone"===e[1]&&(f=1))}e.osType=f,e.os=c,e.osVersion=h,e.browser=Object.assign({},n.browser),null!==(s=c)&&void 0!==s&&s.toLowerCase().includes("mac")&&(d||u)&&(e.os="ios"),null!==(o=c)&&void 0!==o&&o.toLowerCase().includes("linux")&&(d||u)&&(e.os="android");let p=(h||"").split(".")[0];c&&navigator.userAgentData&&(c.toLowerCase().includes("win")&&"10"==p||c.toLowerCase().includes("android")||c.toLowerCase().includes("mac"))&&navigator.userAgentData.getHighEntropyValues(["platform","platformVersion"]).then(t=>{c=null==t?void 0:t.platform;const i=(c||"").toLowerCase(),r=parseInt((t.platformVersion||"").split(".")[0]);i.includes("win")?(h=r>=13?"11":r>0?"10":"7",e.os=c,e.osVersion=h):(i.includes("android")||i.includes("mac"))&&(h=t.platformVersion,e.osVersion=h)})}catch(e){}}(),function(){return e}}(),C=(e,t)=>{const i=t.toString().split("."),r=e.toString().split("."),a=i.length,s=r.length,o=Math.min(a,s);for(let e=0;e<o;e++){const t=parseInt(i[e],10),a=parseInt(r[e],10);if(t!==a)return a>t}return s>=a},A=(e,t)=>{var i=S();if("chrome"===e||"chromium"===e){if(i.chrome||i.edge||i.opera){var r=i.chrome||i.edge||i.opera;return C(r,t)}}else if(i[e])return C(i[e],t);return!1},R=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:90;return A("chrome",e)},T=e=>A("firefox",e),I=e=>A("safari",e);const b=new class{constructor(){this._isSupportMultiThread=!1,this._isSupportSIMD=!1,this.inProgressPromise={checkSupportMultiThread:null,checkSupportSIMD:null},this._isSupportWebtransport=!1,this._isSupportVirtualBackground=!1}async checkIsSupportMultiThread(){if(!this.getIsSupportMultiThread())try{this.inProgressPromise.checkSupportMultiThread?await this.inProgressPromise.checkSupportMultiThread:(this.inProgressPromise.checkSupportMultiThread=r.default.threads(),this._setIsSupportMultiThread(await this.inProgressPromise.checkSupportMultiThread))}catch(e){this._setIsSupportMultiThread(!1)}}_setIsSupportMultiThread(e){this._isSupportMultiThread=e}getIsSupportMultiThread(){return this._isSupportMultiThread}async checkIsSupportSIMD(){if(!this.getIsSupportSIMD())try{this.inProgressPromise.checkSupportSIMD?await this.inProgressPromise.checkSupportSIMD:(this.inProgressPromise.checkSupportSIMD=r.default.simd(),this._setIsSupportSIMD(await this.inProgressPromise.checkSupportSIMD))}catch(e){this._setIsSupportSIMD(!1)}}_setIsSupportSIMD(e){this._isSupportSIMD=e}getIsSupportSIMD(){return this._isSupportSIMD}getIsSupportWebtransport(){return R(97)&&"function"==typeof WebTransport&&this._isSupportWebtransport}setIsSupportWebtransport(e){this._isSupportWebtransport=!!e}getIsSupportVirtualBackground(){const e=R(91)||T(89)||I(17.4);return navigator.hardwareConcurrency&&navigator.hardwareConcurrency>2&&e&&"function"==typeof OffscreenCanvas&&this._isSupportVirtualBackground}setIsSupportVirtualBackground(e){this._isSupportVirtualBackground=!!e}getIsRenderSelfVideoInEncodeWorker(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!o.default.enableMultiDecodeVideoWithoutSAB&&e&&!this.getIsSupportMultiThread()&&this.getIsSupportVirtualBackground()}};var O={capacity:void 0,capacity1080:!0,get capacityfor720(){return void 0!==this.capacity&&this.capacity},set capacityfor720(e){this.capacity=e},get capacityfor1080(){return void 0!==this.capacity1080&&this.capacity1080},set capacityfor1080(e){this.capacity1080=e}},D={capacitydeco:void 0,get capacitydecofor1080(){return void 0!==this.capacitydeco&&this.capacitydeco},set capacitydecofor1080(e){this.capacitydeco=e}};function w(e,t,i){const r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function y(){const{navigator:e}=window,t={browser:null,version:null};if("undefined"==typeof window||!window.navigator)return t.browser="Not a browser.",t;if(e.mozGetUserMedia)t.browser="firefox",t.version=w(e.userAgent,/Firefox\/(\d+)\./,1);else if(e.webkitGetUserMedia)t.browser="chrome",t.version=w(e.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.mediaDevices&&e.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=w(e.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!window.RTCPeerConnection||!e.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=w(e.userAgent,/AppleWebKit\/(\d+)\./,1)}return t}const M=y();function P(){try{var e=navigator.userAgent||navigator.vendor||window.opera;return!!/android/i.test(e)}catch(e){return!1}}const N=function(){let e={vendor:"",renderInfo:"",isAstcSupported:!1,isWebGLContextInvalid:!0};try{const r=document.createElement("canvas");if(!r){const e="Error: document.createElement return a null canvas!";s.default.error(e)}let a=r.getContext("webgl")||r.getContext("moz-webgl")||r.getContext("webkit-3d")||r.getContext("experimental-webgl");if(!a||a.isContextLost()){const e="Error: canvas.getContext fail, context:".concat(a,", lost:").concat(null==a?void 0:a.isContextLost(),", size:(").concat(r.width,",").concat(r.height,")");s.default.error(e)}if(a){var t,i;if(e.isWebGLContextInvalid=!1,a.isContextLost()){const e="Error: webgl context is lost, canvas(".concat(r.width,",").concat(r.height,")!");s.default.error(e)}let o,n;if("firefox"===M.browser)o=a.getParameter(a.RENDERER),n=a.getParameter(a.VENDOR);else{let e=a.getExtension("WEBGL_debug_renderer_info");o=a.getParameter(e.UNMASKED_RENDERER_WEBGL),n=a.getParameter(e.UNMASKED_VENDOR_WEBGL)}if(e.renderInfo=null===(t=o)||void 0===t?void 0:t.toLowerCase(),e.vendor=null===(i=n)||void 0===i?void 0:i.toLowerCase(),e.isAstcSupported=-1!==a.getSupportedExtensions().indexOf("WEBGL_compressed_texture_astc"),""==n){const e="Error: vendor is null, debug:".concat(debugInfo,", render:").concat(debugInfo.UNMASKED_RENDERER_WEBGL,", vendor:").concat(debugInfo.UNMASKED_VENDOR_WEBGL,", contextLost:").concat(a.isContextLost(),"!");s.default.error(e)}}}catch(e){s.default.error("Error while get webgl context:",e)}return e}(),V=function(){if("function"!=typeof OffscreenCanvas)return!1;let e={isSupportWebgl:!1,isSupportWebgl2:!1};try{const t=new OffscreenCanvas(1,1);(t.getContext("webgl")||t.getContext("experimental-webgl")||t.getContext("moz-webgl")||t.getContext("webkit-3d"))&&(e.isSupportWebgl=!0)}catch(e){s.default.error("Error while get webglcontext:",e)}try{if(e.isSupportWebgl){new OffscreenCanvas(1,1).getContext("webgl2")&&(e.isSupportWebgl2=!0)}}catch(e){s.default.error("Error while get webglcontext2:",e)}return e}();var k=function(){let e=Object.assign({},V,N);return e.cpu=navigator.hardwareConcurrency?navigator.hardwareConcurrency:0,e.VE=0,e.SE=0,e.VD=0,e.SD=0,e.SAB=null!=typeof SharedArrayBuffer,e.errorMessage=null,e.visibility=!0,e.unvisibilitycount=0,e.time=0,e}();function U(){return V.isSupportWebgl}function L(){return-1!==navigator.userAgent.indexOf("MSFT Teams Android Room")&&"undefined"!=typeof SharedArrayBuffer}function x(){return"function"==typeof VideoTrackReader&&"function"==typeof VideoFrame}function W(e){return e?e>>10<<10:-1}function B(){return G("Main",F.getAudioContextConfigure())}function G(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"function"!=typeof AudioContext?(s.default.error("Not Support AudioContext"),null):(s.default.log("Creating ".concat(e," AudioContext")),t=i?new AudioContext(i):new AudioContext,t.onstatechange=()=>{s.default.log("".concat(e," AudioContext state changed to ").concat(t.state)),d.default.add_monitor("ACSC:".concat(e,":").concat(t.state))},t.onsinkchange=()=>{"object"==typeof t.sinkId&&"none"===t.sinkId.type?s.default.log("".concat(e," AudioContext - Audio changed to not play on any device")):s.default.log("".concat(e," AudioContext - Audio output device changed to ").concat(t.sinkId))},t)}const F={getOSInfo:()=>v(),getGpuInfo:()=>N,isMTRAndroidWithSAB:()=>L(),isSupport2DCanvasDrawFrame:()=>("function"==typeof MediaStreamTrackProcessor||x())&&"chrome"==M.browser&&M.version>=104&&-1==navigator.appVersion.indexOf("Mac"),checkLocalP2PConnection:()=>new Promise(async(e,t)=>{function i(e){return new Promise((t,i)=>{e.onconnectionstatechange=i=>{"connected"===e.connectionState&&t(!0)}})}function r(e){e&&e.close()}let a,o,n=null,d=null,u=document.createElement("canvas");try{u.width=200,u.height=200,u.getContext("2d");let t=u.captureStream();if("function"!=typeof RTCPeerConnection)return void e(!1);if(n=new RTCPeerConnection,d=new RTCPeerConnection,n.onicecandidate=e=>{e.candidate&&d.addIceCandidate(new RTCIceCandidate(e.candidate))},d.onicecandidate=e=>{e.candidate&&n.addIceCandidate(new RTCIceCandidate(e.candidate))},Promise.all([i(n),i(d)]).then(()=>{e(!0),r(n),r(d)}),"function"!=typeof n.addStream)return void e(!1);await n.addStream(t),a=await n.createOffer(),await n.setLocalDescription(a),await d.setRemoteDescription(a),o=await d.createAnswer(),await d.setLocalDescription(o),await n.setRemoteDescription(o),setTimeout(()=>{e(!1),r(n),r(d)},200)}catch(t){s.default.error("Error when trying to check for local RTC peer connection",t),e(!1)}}),getDocumentHandle:e=>document.getElementById(e),browserType:M,browser:{isFirefox:"firefox"===M.browser,isChrome:"chrome"===M.browser,isSafari:"safari"===M.browser},isIphoneOrIpadSafari(){return this.isIphoneOrIpadBrowser()||this.isIpadOS()},isOpera65:()=>function(){try{var e=navigator.userAgent.match(/OPR\/(\d+)\./);return!!(e&&Number(e[1])<66)}catch(e){return!1}}(),isOpera:()=>/opera|opr\/[\d]+/i.test(navigator.userAgent),isOperaVersionHigherThan(e){try{var t=navigator.userAgent.match(/OPR\/(\d+)\./);return!!(t&&Number(t[1])>=e)}catch(e){return!1}},isAndroidBrowser:()=>P(),isAndroidVersionLessEqual(e){const t=v();if(!t.os||"android"!==t.os.toLowerCase()||!t.osVersion)return!1;const i=t.osVersion.toString().split(".");return parseInt(i[0])<=e},isSupportVideoFrame:()=>"undefined"!=typeof VideoFrame,isQuestBrowser:()=>function(){try{return/oculusbrowser/i.test(navigator.userAgent)}catch(e){return!1}}(),isMobileSafariSupportVideoFrame(){return(this.isIphoneOrIpadBrowser()||this.isIpadOS()&&o.default.rwgAgent)&&this.isSupportVideoFrame()},isSelfPreviewRenderWithVideo(){return!!this.isMobileSafariSupportVideoFrame()||(!b.getIsSupportMultiThread()&&!b.getIsSupportVirtualBackground()&&this.isSupportVideoFrameOrBitmapCapture()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()&&!o.default.rwgAgent)},isSupportNewWaitRoomFlow:()=>!0,isMacIntelSafari(){try{return!(!this.browser.isSafari||navigator.maxTouchPoints&&!(navigator.maxTouchPoints<=2)||N.isAstcSupported||!this.isMac())}catch(e){return!1}},isMacIntelChrome(){try{var e;return!!(this.browser.isChrome&&(!navigator.maxTouchPoints||navigator.maxTouchPoints<=2)&&(null===(e=N.vendor)||void 0===e?void 0:e.indexOf("intel"))>-1&&this.isMac())}catch(e){return!1}},isIphoneOrIpadBrowser(){try{return!!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)}catch(e){return!1}},isIpadOS:()=>navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&(/iPad/.test(navigator.platform)||/MacIntel/.test(navigator.platform)),isChromeOS:()=>function(){try{return!!/\bCrOS\b/.test(navigator.userAgent)}catch(e){return!1}}(),isWindowsChrome(){const{userAgent:e}=navigator;return/windows/i.test(e)},isTeslaMode:()=>/TESLA/.test(navigator.userAgent),isMac:()=>navigator.platform.indexOf("Mac")>-1,isWindows:()=>navigator.platform.indexOf("Win")>-1,isLinux(){return navigator.platform.indexOf("Linux")>-1&&!this.isChromeOS()},isMTRAndroid:()=>/MSFT Teams Android Room/i.test(navigator.userAgent),isMTRWindows(){const e=window.meetingHost;if(!e)return!1;return"MSFT"===e.getHostState().vendorId&&!this.isMTRAndroid()},isSupportChromeWideAEC(){const e=o.default.chromeWideAEC&&this.isChromeOS()&&R(116);return(this.isMac()||this.isWindows()||this.isLinux())&&R(111)||e||o.default.isGoogleMeetMode},isSupportOpenMicWhenShareAudio(){return this.isSupportChromeWideAEC()&&!o.default.shareSystemAudio},getAudioFeatureFlags:()=>o.default.enableAudioBridge?4:12,isSupportShareMultiStream:()=>!0,isSupportVideoLTR:()=>!0,isSupportAudioBridgeAvsync:()=>!0,getAudioContextConfigure(){let e={};return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:90;return A("chromium",e)}(74)&&(e={sampleRate:48e3,latencyHint:.02}),e},download(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(m[e])return m[e];let i=new Promise(async(i,r)=>{let a={};t&&(a.integrity=t);for(let t=0;t<3;t++)try{let o=await fetch(e,a);if(null!=o&&o.ok){i(o.text()),t>0&&s.default.error("after ".concat(t," retry download js ").concat(e," successed "));break}2==t&&r("download failed ".concat(e," ").concat(null==o?void 0:o.status))}catch(e){2==t&&r(e)}});return m[e]=i,i},async downloadAndCompileWebAssembly(e,t,i){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const a="".concat(e).concat(r);if(m[a])return m[a];let o=new Promise(async(a,o)=>{let n=null;i.add_monitor("CS".concat(t));for(let o=0;o<3;o++){try{if(r)n=await WebAssembly.compileStreaming(fetch(e,{priority:"high"}));else{const t=await fetch(e,{priority:"high"});n=await t.arrayBuffer()}i.add_monitor("CE".concat(t))}catch(a){if("TypeError"===a.name)try{const t=await fetch(e,{priority:"high"}),i=await t.arrayBuffer();n=await WebAssembly.compile(i)}catch(a){2==o&&(i.add_monitor("".concat(r?"CF":"FF").concat(t)),s.default.error("Failed to download WASM file using compile: ".concat(e," for worker type: ").concat(t),a))}else 2==o&&s.default.error("Failed to download WASM file using ".concat(r?"compileStreaming":"fetch",": ").concat(e," for worker type: ").concat(t),a)}if(n)return a(n),void(o>0&&s.default.error("after ".concat(o," retry download wasm ").concat(e," successed ")))}o(new Error("Unable to download and compile WASM file: ".concat(e," for worker type: ").concat(t)))});return m[a]=o,o},readBlob:e=>new Promise((t,i)=>{var r=new FileReader;r.onload=function(){t(r.result)},r.readAsText(e)}),readBlobAsBuffer:e=>new Promise((t,i)=>{var r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsArrayBuffer(e)}),lengthInUtf8Bytes(e){var t=encodeURIComponent(e).match(/%[89ABab]/g);return e.length+(t?t.length:0)},isLittleEndian(){let e=new ArrayBuffer(2),t=new Uint8Array(e),i=new Uint16Array(e);return t[0]=170,t[1]=187,48042===i[0]},sleep:e=>new Promise((t,i)=>{setTimeout(()=>{t(!0)},e)}),isSDKSupportMultiThread:async()=>(await b.checkIsSupportMultiThread(),b.getIsSupportMultiThread()),is32bitChrome:async()=>{if(-1!=navigator.userAgent.indexOf("WOW64"))return!0;if(navigator.userAgentData&&navigator.userAgentData.getHighEntropyValues){return(await navigator.userAgentData.getHighEntropyValues(["wow64"])).wow64}return!1},isAMDGraphic(){try{return this.graphicName.includes("amd")}catch(e){return!1}},graphicName:N.renderInfo,graphicvendorname:N.vendor,isGraphicShouldUseHardwareAccelerationDecode(){return!(!this.isAMDGraphic()||!this.isChromeOS())||!(this.isAMDGraphic()&&!this.isChromeOS())},VP9MachineDetect(){const e=navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/vp9",bitrate:1e7,framerate:25,height:1920,width:1080}});return new Promise((t,i)=>{e.then(e=>{e.supported||(s.default.log("video/vp9 codec isn't supported in software or hardware"),t(!1)),t(e.powerEfficient)}).catch(e=>{s.default.warn("Error when trying to determine support for VP9 codec",e),t(!1)})})},async IsSupportVideoDecodeHardwareAcceleration(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("function"!=typeof VideoDecoder||this.browser.isSafari&&!I("17.5"))return!1;var t={codec:"avc1.640028",description:new Uint8Array([1,100,0,31,255,225,0,14,103,100,0,51,172,27,26,17,129,64,22,201,160,16,7,0,5,104,200,66,60,48,0,5,104,82,16,207,12,0,25,104,114,16,143,24,67,17,132,56,140,84,81,8,18,22,41,3,194,98,3,5,32,122,9,140,0,5,104,36,132,51,203,0,5,104,46,132,51,195,0,25,104,54,132,35,198,16,196,97,14,35,21,20,66,4,133,138,64,240,152,128,193,72,30,130,99,0,5,104,62,132,51,203]),codedWidth:1280,codedHeight:720,optimizeForLatency:!0,hardwareAcceleration:e?"no-preference":"prefer-hardware"};try{return!!(await VideoDecoder.isConfigSupported(t)).supported}catch(e){return!1}},async IsSupportVideoEncodeHardwareAcceleration(){if("function"!=typeof VideoEncoder||this.browser.isSafari&&!I("17.5"))return!1;var e={codec:"avc1.640028",bitrate:15e5,width:1280,height:720,avc:{format:"annexb"},framerate:25,hardwareAcceleration:"no-preference",latencyMode:"realtime",bitrateMode:"constant",scalabilityMode:"L1T2"};return!!(await VideoEncoder.isConfigSupported(e)).supported},AdapterWhiteListCheckForEncoder(){if(!U())return-1;try{var e=N.renderInfo,t=N.vendor,i=e.toLowerCase(),r=t.includes("ARM"),a=(i.includes("amd"),i.includes("intel"));i.includes("hd graphics"),i.includes("nvidia"),i.includes("geforce");return a?0:r?-1:0}catch(e){return 0}},isChromeVersionHigherThan:R,isFirefoxVersionHigherThan:T,isSafariVersionHigherThan:I,async isSDKSupportSIMD(){if("object"!=typeof WebAssembly)return!1;if("chrome"==M.browser){if(!(M.version>=84))return!1;await b.checkIsSupportSIMD()}else await b.checkIsSupportSIMD();return b.getIsSupportSIMD()},buffer2stringSplitByComma:e=>new Uint8Array(e).join(","),stringSplitByComma2Buffer(e){try{let t=e.split(",").map(e=>parseInt(e)),i=new ArrayBuffer(t.length),r=new Uint8Array(i);for(let e=0;e<t.length;e++)r[e]=t[e];return i}catch(e){return null}},removeDuplicates(e,t){let i=[];return e.forEach(e=>{let r=!1;for(let a=0;a<i.length;a++)if(!t.call(null,i[a],e)){r=!0;break}r||i.push(e)}),i},getBrowserVersion(){let e=function(){var e=navigator.userAgent.toLowerCase();if(e.indexOf("firefox")>0)return e.match(/firefox\/[\d.]+/gi);if(e.indexOf("safari")>0&&e.indexOf("chrome")<0){var t,i="safari/unknow";return i=e.match(/safari\/[\d.]+/gi),t=e.match(/safari\/[\d.]+/gi),i&&(i=[i.toString().replace("version","safari")]),t&&(i=[t.toString().replace("version","safari")]),i}return e.indexOf("chrome")>0?e.match(/chrome\/[\d.]+/gi):"other"}();return e[0]&&e[0].match(/(\d+)/)?e[0].match(/(\d+)/)[0]:"other"},getIOSMajorVersion(){if(/iP(hone|od|ad)/.test(navigator.platform)){let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return parseInt(e[1],10)}return null},getMacSafariMajorVersion(){if(this.browser.isSafari){const e=navigator.userAgent.match(/Version\/([\d\.]+)/);return e&&e[1]?parseFloat(e[1]):null}return null},isSupportImageCapture(){var e;return(null===(e=this.browser)||void 0===e?void 0:e.isChrome)&&"function"==typeof ImageCapture&&U()},isSupportOffscreenCanvas:()=>U(),isSupport2dOffscreenCanvas:()=>"function"==typeof OffscreenCanvas,isSupportVideoTrackReader:()=>x()&&U(),isSupportMediaStreamTrackProcessor:function(){return"function"==typeof MediaStreamTrackProcessor&&U()},isSupportVideoFrameOrBitmapCapture(){return this.isSupportImageCapture()||this.isSupportVideoTrackReader()||this.isSupportMediaStreamTrackProcessor()},isSupportSharedArrayBuffer:()=>"undefined"!=typeof SharedArrayBuffer,async queryPTZPermisson(){try{return"granted"==(await navigator.permissions.query({name:"camera",panTiltZoom:!0})).state}catch(e){return s.default.error("Error when querying pan-tilt-zoom permission",e),!1}},isSupportCameraPan(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.pan)},isSupportCameraTilt(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.tilt)},isSupportCameraZoom(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.zoom)},isSupportPTZ(){var e,t;const i=null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t?void 0:t.call(e);return i&&i.pan&&i.tilt&&i.zoom},get720pcapacity:()=>O.capacityfor720,set720pcapacity(e){O.capacityfor720=e},get1080pcapacity:()=>O.capacity1080,set1080pcapacity(e){O.capacity1080=e},isSupportBrowserWebRTC:()=>!!(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&window.RTCPeerConnection),getsub1080pcapacity:()=>D.capacitydecofor1080,setsub1080pcapacity(e){D.capacitydecofor1080=e},getMaxCountRender:()=>{if(E)return P()?16:26;var e;return U()&&(null===(e=navigator)||void 0===e?void 0:e.hardwareConcurrency)>=2&&"function"==typeof requestAnimationFrame&&"function"==typeof SharedArrayBuffer||o.default.enableMultiDecodeVideoWithoutSAB?26:1},checkAudioAutoPlay:()=>new Promise((e,t)=>{let i=new ArrayBuffer(684),r=new Uint32Array(i);r.set([1179011410,676,1163280727,544501094,16,65539,16e3,64e3,2097156,1635017060,640],0);let a=new Blob([r],{type:"audio/wav"}),o=window.URL.createObjectURL(a),n=new Audio(o);n.addEventListener("canplaythrough",()=>{n.play().then(()=>{e(!0)}).catch(e=>{s.default.log("Unable to auto play audio",e),t(e)}).finally(()=>{window.URL.revokeObjectURL(o)})}),n.load&&n.load()}),isSupportSendVideoFullHD(){return this.isSupportVideoShareSend()&&navigator.hardwareConcurrency>=8},isSupportSendVideoShareFullHD:()=>!1,isSupportVideoShare:()=>!0,isSupportVideoShareSend(){let e,t=y();return"chrome"==t.browser&&(e=this.getBrowserVersion()),!!this.isSupportSharedArrayBuffer()&&!("chrome"!==t.browser||e&&e<=100||navigator.hardwareConcurrency<=2||this.isTeslaMode()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()||this.isIphoneOrIpadBrowser())},isSupportVideoShareReceive:()=>!0,getOption(e,t,i){try{let r=e.length;if(t>r)return 0;let a=e.slice(r-t-i+1,r-t+1);if(a){return parseInt(a,16)}}catch(e){}return 0},async isSupportWebGPURender(e){const t=this.parseGPUBlacklist(e);return await this.evaluateRendererType(!0,!1,t)==n.j.WEBGPU},getMachineCapability(){var e,t,i,r,a,s,n;return k.VE=null===o.default||void 0===o.default||null===(e=o.default.localVideoPara)||void 0===e||null===(e=e.VE)||void 0===e?void 0:e.buffer.byteLength,k.VD=null===o.default||void 0===o.default||null===(t=o.default.localVideoPara)||void 0===t||null===(t=t.VD)||void 0===t?void 0:t.buffer.byteLength,k.SE=null===o.default||void 0===o.default||null===(i=o.default.localVideoPara)||void 0===i||null===(i=i.SE)||void 0===i?void 0:i.buffer.byteLength,k.SD=null===o.default||void 0===o.default||null===(r=o.default.localVideoPara)||void 0===r||null===(r=r.SD)||void 0===r?void 0:r.buffer.byteLength,k.dt=null===o.default||void 0===o.default||null===(a=o.default.localVideoPara)||void 0===a?void 0:a.videodecodethreadnumb,k.et=null===o.default||void 0===o.default||null===(s=o.default.localVideoPara)||void 0===s?void 0:s.videoencodethreadnumb,k.MT=null===o.default||void 0===o.default||null===(n=o.default.localVideoPara)||void 0===n?void 0:n.isSupportMultiThread,k.time=performance.now(),k},watermark:(()=>{const e=new a.a,t=document.createElement("canvas"),i={enableWaterMark:!1,waterMarkText:"",watermarkOpacity:0,watermarkRepeated:!1,watermarkPosition:void 0};return{getWaterMarkData(r){let{width:a,height:s}=r;if(!i.enableWaterMark)return null;const o=a<512||s<288?16:i.watermarkPosition,n=i.watermarkRepeated&&a>306&&s>202,d=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}}(a,s);a=d.width,s=d.height;return n?e.Get_Repeated_WaterMarkRGBA({canvas:t,name:i.waterMarkText,width:d.width,height:d.height,opacity:i.watermarkOpacity,position:o,convertToDataUrl:!0}):e.Get_WaterMarkRGBA({canvas:t,name:i.waterMarkText,width:d.width,height:d.height,opacity:i.watermarkOpacity,position:o,convertToDataUrl:!0})},updateWaterMarkInfo(e){Object.assign(i,e)}}})(),isSupportAudioDenoise(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("function"!=typeof AudioContext)return!1;if("chrome"==y().browser){if(this.getBrowserVersion()<=100)return!1}const t=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]));return!1!==t&&(!0!==t?(s.default.error("WebAssembly.validate don't return a boolean"),!1):!(!e&&!this.isSupportSharedArrayBuffer())&&!(navigator.hardwareConcurrency<=2||this.isTeslaMode()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()||this.isIphoneOrIpadBrowser()))},isSupportPlayStereo(){return!!(this.browser.isFirefox||this.browser.isSafari||this.isSupportChromeWideAEC())},isBrowserSupportStereo(){return!this.browser.isSafari},isSupportShare2ndAudioDevice(e){return!this.browser.isSafari&&!this.isIphoneOrIpadBrowser()&&(!!e||!(this.isMac()&&!R(126))&&!!this.isSupportSharedArrayBuffer())},isSupportSharingStereo:()=>!1,isSupportVideoActiveChannel:()=>!0,async evaluateRendererType(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=n.j.WEBGL,a=null;const o=U();try{if(this.isWebGL2Supported(t)?r=n.j.WEBGL_2:s.default.log("evaluateRendererType() WebGL 2 is not supported."),!this.isSupportVideoFrame())return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: VideoFrame is not supported)"),r;if(!(this.isMac()||this.isWindows()||this.isChromeOS()||this.isLinux()))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: unsupported platform)"),r;if(!(this.browser.isChrome&&this.isChromeVersionHigherThan(119)||this.isOpera()&&this.isOperaVersionHigherThan(108)||this.browser.isChrome&&(this.isLinux()||this.isAndroidBrowser())&&this.isChromeVersionHigherThan(121)))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: unmatched browser)"),r;if(!navigator.gpu)return r;const d=await navigator.gpu.requestAdapter();if(!d)return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available adapter.)"),r;if(!await d.requestDevice())return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available device.)"),r;let u=void 0;if("function"==typeof d.requestAdapterInfo?u=await d.requestAdapterInfo():"info"in d&&(u=d.info),!u)return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available adapter info.)"),r;s.default.log("evaluateRendererType() GPUAdapterInfo: arch=".concat(u.architecture,", vendor=").concat(u.vendor)),console.log("evaluateRendererType() GPUAdapterInfo: arch=".concat(u.architecture,", vendor=").concat(u.vendor));const l=this.queryDeviceProfile(u);if(!this.isGPUProfileOnWebGPUWhitelist(l,i))return r;if(o){a=new OffscreenCanvas(1,1);if(!a.getContext("webgpu"))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available GPUContext.)"),r;if(!this.isOpFeatureEnabled(e))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: WebGPU is not allowed for this account.)"),r;a=null,r=n.j.WEBGPU}else s.default.log("evaluateRendererType() OffscreenCanvas is not supported while checking WebGPU.");return r}catch(e){return s.default.error("evaluateRendererType()",e),r}finally{a=null}},isOpFeatureEnabled:e=>1&e,queryDeviceProfile(e){if(e){let t={};return t.architecture=e.architecture,t.vendor=e.vendor,t}return null},isGPUProfileOnWebGPUWhitelist(e,t){if(!e)return!1;const i=e.vendor,r=e.architecture;return-1==n.g.indexOf(i)?(s.default.log("isGPUProfileOnWebGPUWhitelist() vendor:".concat(i," arch:").concat(r," is not on the vendor whitelist!")),!1):null===t||!this.isHitGPUBlacklist(i,r,t)},isHitGPUBlacklist(e,t,i){if(""===e||void 0===e||void 0===t||void 0===i)return!1;for(let r=0;r<i.length;r++){const a=i[r];if(e.includes(a.vendor)&&t.includes(a.generations))return!0}return!1},parseGPUBlacklist(e){let t=null;if(e)try{const i=JSON.parse(e);t=null==i?void 0:i.GPUBlacklist}catch{s.default.error("parseGPUBlacklist() failed to read mediaBlockConfig! val=".concat(e))}return t},async getRendererTypeList(e,t){const i=this.parseGPUBlacklist(t),r=[{bitIndex:_.a.WEBGPU_RENDERER.index,readCount:1,defaultVal:_.a.WEBGPU_RENDERER.default},{bitIndex:_.a.WEBGL2_RENDERER.index,readCount:1,defaultVal:_.a.WEBGL2_RENDERER.default}],a=p.a.batchRead(e,r),s=!!a.get(_.a.WEBGPU_RENDERER.index),o=!!a.get(_.a.WEBGL2_RENDERER.index),d=await this.isWebGPUSupported(s,i),u=this.isWebGL2Supported(o),l=U(),c=[];return d&&c.push({rendererType:n.j.WEBGPU,rendererName:"WebGPU"}),u&&c.push({rendererType:n.j.WEBGL_2,rendererName:"WebGL2"}),l&&c.push({rendererType:n.j.WEBGL,rendererName:"WebGL"}),c},evaluateWebRTCStrategy(e,t){var i,r;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e!==n.D.DISABLED&&e!==n.D.ENABLED&&e!==n.D.AUTO&&(s.default.error("evaluateWebRTCStrategy() invalid webrtcSelection(".concat(e,") from caller.")),e=n.D.AUTO);let o={shouldUseWebRTC:!1,errNo:n.E.UNKNOWN,errMsg:""};if(!this.isWebRTCFeatureEnabled(t))return o.shouldUseWebRTC=!1,o.errNo=n.E.FEATURE_OPTION_DISABLED,o.errMsg="webrtc is disabled(feature option is disabled).",o;const d=this.getOSInfo();let u=(null==d||null===(i=d.browser)||void 0===i?void 0:i.name)||"",l=(null==d||null===(r=d.browser)||void 0===r?void 0:r.version)||"",c=N;const f={os:null==d?void 0:d.os,browserName:u,browserVersion:l,vendor:c.vendor,renderInfo:c.renderInfo,isAstcSupported:c.isAstcSupported};if(e===n.D.DISABLED)return s.default.log("evaluateWebRTCStrategy() WebRTC is disabled by caller."),o.shouldUseWebRTC=!1,o.errNo=n.E.SUCCEED,o.errMsg="webrtc is disabled(disabled by caller).",o;const p=this.isSupportBrowserWebRTC();try{if(h.a.isOnWebRTCWhitelist(f)){const i=h.a.evalWebRTCStrategy(a,f,p,e);o.errNo=i.errNo,o.errMsg=i.errMsg,i.stg==n.D.ENABLED?o.shouldUseWebRTC=!0:i.stg==n.D.DISABLED?o.shouldUseWebRTC=!1:i.stg==n.D.AUTO?o.shouldUseWebRTC=this.isDefaultToUseWebRTC(t,f):(o.shouldUseWebRTC=!1,o.errNo=n.E.UNKNOWN_SELECTION,o.errMsg="webrtc is disabled(unknown selection type).",s.default.error("evaluateWebRTCStrategy() unknown WEBRTC_STG:".concat(i.stg)))}else o.shouldUseWebRTC=!1,o.errNo=n.E.DEVICE_NOT_ON_WHITELIST,o.errMsg="webrtc is disabled(not on the whitelist)."}catch(e){s.default.error("evaluateWebRTCStrategy() error:",e),o.shouldUseWebRTC=!1,o.errNo=n.E.OTHER_EX,o.errMsg="webrtc is disabled(unexpected error:".concat(e.errorMessage,").")}return s.default.directReport("evaluateWebRTCStrategy() stg=".concat(JSON.stringify(o),", isBrowserSupportWebRTC=").concat(p,", webrtcBlacklist=").concat(JSON.stringify(a),", selection=").concat(e)),o},isWebRTCFeatureEnabled(e){const t=p.a.read(e,_.a.ENABLE_WEBRTC_FEATURE.index,1,_.a.ENABLE_WEBRTC_FEATURE.default);return s.default.log("isWebRTCFeatureEnabled() optionVal:".concat(t)),!!t},getWebRTCStrategyOptions(e){const t=p.a.read(e,_.a.WEBRTC_STG.index,1,_.a.WEBRTC_STG.default);s.default.log("getWebRTCStrategyOption() optionVal:".concat(t));const i=[];return Object.entries(n.D).forEach(e=>{let[r,a]=e;const s={key:r,value:a,isDefault:!1};t===a&&(s.isDefault=!0),i.push(s)}),i},isDefaultToUseWebRTC(e,t){var i;if(p.a.read(e,_.a.FORCE_TO_USE_WEBRTC.index,1,_.a.FORCE_TO_USE_WEBRTC.default)&_.a.FORCE_TO_USE_WEBRTC.candidates.VIDEO_ON_BROWSER_32BIT&&g)return!0;const r={os:null===(i=t.os)||void 0===i?void 0:i.toLowerCase()},a=p.a.read(e,_.a.WEBRTC_AUTO_CONFIG.index,1,_.a.WEBRTC_AUTO_CONFIG.default);if(a===_.a.WEBRTC_AUTO_CONFIG.candidates.NO_CONFIG)return!1;if(a===_.a.WEBRTC_AUTO_CONFIG.candidates.SAB_OFF&&!this.isSupportSharedArrayBuffer())return console.log("force webc when sab off"),!0;return[{os:"android",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.MOB_ANDROID},{os:"ios",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.MOB_IOS},{os:"win",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP},{os:"mac",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP},{os:"chromium os",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP}].some(e=>{let{os:t,flag:i}=e;return a&i&&r.os.includes(t)})},isWebGL2Supported:e=>"function"==typeof OffscreenCanvas&&(e&&V.isSupportWebgl2),isWebGL2SupportedWhenOpEnabled:()=>V.isSupportWebgl2,async isWebGPUSupported(e,t){if(!e)return!1;if(!this.isSupportVideoFrame())return!1;if(!(this.isMac()||this.isWindows()||this.isChromeOS()||this.isLinux()))return!1;if(!(this.browser.isChrome&&this.isChromeVersionHigherThan(119)||this.isOpera()&&this.isOperaVersionHigherThan(108)||this.browser.isChrome&&(this.isLinux()||this.isAndroidBrowser())&&this.isChromeVersionHigherThan(121)))return!1;if(!navigator.gpu)return!1;const i=await navigator.gpu.requestAdapter();if(!i)return!1;if(!await i.requestDevice())return!1;let r=void 0;if("function"==typeof i.requestAdapterInfo?r=await i.requestAdapterInfo():"info"in i&&(r=i.info),!r)return!1;const a=this.queryDeviceProfile(r);if(!this.isGPUProfileOnWebGPUWhitelist(a,t))return s.default.log("isWebGPUSupported() hit blacklist! profile=".concat(JSON.stringify(a),", blacklist=").concat(JSON.stringify(t))),!1;let o=new OffscreenCanvas(1,1);return o.getContext("webgpu")?(o=null,!0):(o=null,!1)},async isRendererTypeSupported(e,t,i,r){return!(e<=n.j.UNDEFINED||e>n.j.WEBGL_2)&&(e===n.j.WEBGL?U():e===n.j.WEBGL_2?this.isWebGL2Supported(i):e===n.j.WEBGPU&&await this.isWebGPUSupported(t,r))},videoToMediaStreamManager:(()=>{let e,t,i=document.createElement("canvas"),r=i.getContext("2d"),a=640,s=360;const o=navigator.hardwareConcurrency&&navigator.hardwareConcurrency<4?10:24,n=1e3/("chrome"===M.browser?o:10);let d=null,u=0,l=null;return{_draw(){if(!e)return;this.drawCanvas(i,r,a,s);const t=performance.now();if(u){const e=t-u;e>n?this._setFasterTimer():e<.8*n&&this._clearFastTimer()}u=t},_setFasterTimer(){d||(d=setInterval(()=>{e&&e.currentTime>0&&!e.paused&&!e.ended&&performance.now()-u>=n/2&&this.drawCanvas(i,r,a,s)},n))},_clearFastTimer(){u=0,clearInterval(d),d=null},drawCanvas(t,i,r,a){t.width=r,t.height=a;let s=0,o=0;e.videoWidth/e.videoHeight>r/a?(o=e.videoHeight,s=r/a*o):(s=e.videoWidth,o=a/r*s),i.drawImage(e,(e.videoWidth-s)/2,(e.videoHeight-o)/2,s,o,0,0,r,a)},startCapture(r,n,d){return e=r,n&&d&&n/d==16/9&&(a=n,s=d),l&&e.removeEventListener("timeupdate",l),l=this._draw.bind(this),r.addEventListener("timeupdate",l),t=i.captureStream(o),t},stopCapture(){l&&e.removeEventListener("timeupdate",l),this._clearFastTimer(),t&&(t.getVideoTracks().forEach(e=>e.stop()),t=null),e=null},isSupported:()=>"function"==typeof HTMLCanvasElement.prototype.captureStream}})(),audioToMediaStreamMananger:(()=>{let e=null,t=null,i=null,r=null,a=null;return{startCapture(o){if(t||(t=G("File")),a&&o===a)e=a;else{this.destroy(),e=o,a=e,r=t.createMediaElementSource(e);const s=t.createMediaStreamDestination();r.connect(s),i=s.stream}return"suspended"!==t.state&&"interrupted"!==t.state||t.resume().catch(e=>{s.default.error("File audio context resume error: ",e)}),i},stopCapture(){t&&t.suspend(),e=null},destroy(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r&&r.disconnect(),i&&(i.getAudioTracks().forEach(e=>e.stop()),i=null),a=null,r=null,!e&&t&&(t.close(),t=null)},isAudioFileStream:e=>e===i,isSupported:()=>"undefined"!=typeof AudioContext&&"function"==typeof AudioContext.prototype.createMediaStreamDestination&&"function"==typeof AudioContext.prototype.createMediaElementSource}})(),evaluateAudioStrategy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.isEnforceWasmMachine())return!1;const i=p.a.read(e,1,2),r=/iPad|iPhone|iPod/i.test(navigator.userAgent)||/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2,a=navigator.userAgent.match(/Android/i),s=navigator.userAgent.match(/\(([^;]+); OpenHarmony ([\d.]+)\)/),o=this.isMTRAndroid()||this.isMTRWindows(),n=this.isTeslaMode();return o?8&i:n?2&i:a||s?4&i:r?1&i:!(!(128&i)&&!fe)&&this.isDefaultAudioBridgeMachine(e,i,t)},isEnforceWasmMachine(){var e;if("undefined"==typeof RTCPeerConnection)return!0;let t=this.getOSInfo();return!de()&&((null==t||null===(e=t.browser)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.toLowerCase().includes("firefox"))||this.browser.isFirefox)},isDefaultAudioBridgeMachine(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(1===i)return!0;if(0===i)return!1;if(p.a.read(e,_.a.FORCE_TO_USE_WEBRTC.index,1,_.a.FORCE_TO_USE_WEBRTC.default)&_.a.FORCE_TO_USE_WEBRTC.candidates.AUDIO_ON_BROWSER_32BIT&&g)return!0;let r=this.getOSInfo();return r&&r.os&&r.browser?0!==r.osType?32&t:this.isSupportSharedArrayBuffer()?"Windows"!==r.os&&"Mac OS"!==r.os&&"Chromium OS"!==r.os?32&t:("Chrome"===r.browser.name||"Safari"===r.browser.name||"Edge"===r.browser.name)&&navigator.hardwareConcurrency>4?64&t:32&t:32&t:(navigator.hardwareConcurrency<=4||!this.isSupportSharedArrayBuffer())&&32&t},requestScreenWakeLock:()=>c.screenWakeLock.requestWakeLock(),releaseScreenWakeLock:()=>c.screenWakeLock.release(),isSupportPeerConnection:()=>"function"==typeof RTCPeerConnection,async initAsyncJob(){g=!!await this.is32bitChrome()},isSupportVideoProcessor(e){const t=!!(p.a.read(e,_.a.ENABLE_MEDIA_PROCESSOR.index,1,_.a.ENABLE_MEDIA_PROCESSOR.default)&_.a.ENABLE_MEDIA_PROCESSOR.candidates.VIDEO_PROCESSOR);return this.isSupportOffscreenCanvas()&&this.isSupportVideoFrame()&&t},isVideoProcessorEnabled:e=>!!(e&_.a.ENABLE_MEDIA_PROCESSOR.candidates.VIDEO_PROCESSOR),isMediaProcessorEnabled:e=>e>0};function H(){let e=this;this.promise=new Promise((function(t,i){e.reject=i,e.resolve=t}))}function K(e){return e.split("/").pop().split("?")[0].split("#")[0]}t.default=F;class j{constructor(e,t){this.scriptURL=e,this.lateLoadedAssetsHash=t}getIntegrity(){let e=K(this.scriptURL),t=this.lateLoadedAssetsHash[e];return t||null}}function Y(e,t){let i=Math.max(e,t),r=Math.min(e,t);return i%r==0?r:Y(i%r,r)}function q(e,t){return e*t/Y(e,t)}function X(e,t,i,r,a,s,o){if(0==e||0==t)return!1;if(0!=a){let i=q(e,a),r=i/e;e=i,t*=r}if(0!=s){let i=q(t,s),r=i/t;t=i,e*=r}if(o.width<e||o.height<t)return!1;let n=o.width/e,d=o.height/t,u=n<d?n:d,l=e*u,c=t*u,h=o.x+(o.width-l)/2,f=o.y+(o.height-c)/2;0!=i&&(h-=h%i),0!=r&&(f-=f%r);let p={};return p.left=h,p.top=f,p.width=l,p.height=c,p}function Q(e,t){if(e===t)return!0;if(r(e)&&r(t)){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var i in e)if(!Q(e[i],t[i]))return!1;return!0}function r(e){return"object"==typeof e&&null!=e}}function z(){return Promise.all([i.e(2),i.e(3)]).then(i.t.bind(null,97,7))}function J(){return i.e(0).then(i.t.bind(null,98,7))}function Z(e,t,i){if(!e)return;if(!t.userId)return;const{userId:r,webrtcflag:a}=t;i&&(!a||(null==i?void 0:i.size)<=0||i.forEach((t,i)=>{const a=t,s="self_view_debug_".concat(i);if(a){const t=a.parentNode;if(!t)return;const i=e.getVideoTracks()[0],{width:o=0,height:n=0}=i.getSettings(),d=[{elementId:"s_u_"+r,value:"userId: ".concat(r)},{elementId:"s_r_"+r,value:"stream resolutions: ".concat(o,"x").concat(n)},{elementId:"s_a_"+r,value:"stream active: ".concat(e.active)},{elementId:"s_m_"+r,value:"video track muted: ".concat(i.muted)},{elementId:"s_p_"+r,value:"video tag paused: ".concat(!!a.paused)},{elementId:"s_sr_"+r,value:"video tag src: ".concat(!!a.srcObject)}],u=t.querySelector("#".concat(s));u?(u.nextElementSibling&&t.removeChild(u.nextElementSibling),d.reverse().forEach(e=>{const{elementId:i,value:r}=e,a=t.querySelector("#".concat(i));a?a.innerText!==r&&(a.innerText=r):u.insertAdjacentHTML("afterbegin",'<div id="'.concat(i,'" style="color: red; font-size: 12px; text-align: right; margin-right: 5px">').concat(r,"</div>"))})):a.insertAdjacentHTML("afterend",'<div id="'.concat(s,'" style="position: absolute; top: 50%; transform: translate(0, -50%); right: 0px; padding-right:3px"></div>'))}else{const e=document.getElementById(s);if(e){e.parentNode.removeChild(e)}}}))}function $(e){const t=document.body,i=["click","contextmenu","auxclick","dblclick","mousedown","mouseup","touchend","keydown","keyup"];function r(){e()}return i.forEach(e=>t.addEventListener(e,r,!1)),function(){i.forEach(e=>t.removeEventListener(e,r))}}function ee(e){let t=null==e?void 0:e.getVideoTracks();return!(null==t||!t.length)&&!t[0].muted}function te(e){try{var t;let[i]=(null===(t=e.srcObject)||void 0===t?void 0:t.getVideoTracks())||[],r="VDom:".concat(e.ended,":").concat(e.paused,":").concat(e.readyState,",VTrack:").concat(null==i?void 0:i.muted,":").concat(null==i?void 0:i.readyState);d.default.add_monitor(r)}catch(e){s.default.error("RecordVideoState error",e)}}function ie(e,t){(e<0||t<0||e>3e3||t>3e3)&&s.default.directReport("CANVASSIZE:".concat(e,"x").concat(t))}function re(e){if(!e)return!1;if(e.ownerDocument===window.document)return e instanceof HTMLElement;{var t;const i=null===(t=e.ownerDocument.defaultView)||void 0===t?void 0:t.HTMLElement;return!!i&&e instanceof i||e instanceof HTMLElement}}function ae(e){const t={dom:null,id:""};if(e)if("string"==typeof e)t.dom=document.getElementById(e),t.id=e;else if(re(e)){var i;t.dom=e,t.id=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"id")}return t}function se(){try{const e={safari:"15.0",firefox:"89",chrome:"91",edge:"91",opera:"77"},t={safari:"16.4",firefox:"105",chrome:"102",edge:"102",opera:"88"};let i=Object.assign({name:"",version:""},v().browser);if(-1==Object.keys(e).findIndex(e=>{if(i.name.toLowerCase().includes(e))return i.name=e,!0}))return console.error("!!!!! For a better experience, please use Chrome (version >= 102) or Safari (version >= 16.4) browser "),void s.default.error("unkown browser info");C(i.version,e[i.name])||(console.error("!!!! For a better experience, \n Chrome (version > ".concat(e.chrome," ,performance version > ").concat(t.chrome,") \n Safari (version > ").concat(e.safari," , performance version > ").concat(t.safari,") \n Firefox (version > ").concat(e.firefox," , performance version > ").concat(t.firefox,") \n Edge (version > ").concat(e.edge," , performance version > ").concat(t.edge," ) \n Opera (version > ").concat(e.opera," , performance version > ").concat(t.opera,") \n")),s.default.error("less than min version "))}catch(e){s.default.error("check browser version error",e)}}function oe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"|";return e?e.toString().replaceAll(/[,,]/g,t):""}function ne(){return/\bCrOS\b/.test(navigator.userAgent)}function de(){return!!(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||/iPad/i.test(navigator.userAgent)||/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))}function ue(){var e,t,i;if(ne())return!1;const r=((null===(e=navigator)||void 0===e?void 0:e.userAgent)||"").toLowerCase();if(/ipad|android(?!.*mobile)|tablet/i.test(r))return!0;const a=Math.min((null===(t=window)||void 0===t||null===(t=t.screen)||void 0===t?void 0:t.width)||0,(null===(i=window)||void 0===i||null===(i=i.screen)||void 0===i?void 0:i.height)||0),s="ontouchstart"in window||navigator.maxTouchPoints>0;return a>=600&&a<=1280&&s}function le(){try{const e=document.createElement("canvas");return!!(e.getContext("webgl")||e.getContext("experimental-webgl"))}catch(e){return!1}}function ce(e){const t=self.ZoomTPModule;return new(t&&t.ZoomTPWebSocket?t.ZoomTPWebSocket:WebSocket)(e)}function he(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];E=e}let fe=!0;function pe(){try{let e=(new f.a).getAudioSolutionInfo();fe=null==e?void 0:e.getProbResult()}catch(e){s.default.error("updateAudioProbResult error",e),fe=!0}}function _e(){return F.isMacIntelSafari()||F.isMacIntelChrome()}function me(){try{return!("safari"!==(null==M?void 0:M.browser)||!I(15))||!("chrome"!==(null==M?void 0:M.browser)||!R(131))}catch(e){return!1}}pe()},function(e,t,i){"use strict";i.r(t);var r=i(2),a=i(0),s=i(7);const o={AEWF:"Audio encode WASM failed to download/compile",ADWF:"Audio decode WASM failed to download/compile",VDWF:"Video decode WASM failed to download/compile",VEWF:"Video encode WASM failed to download/compile",SEWF:"Sharing encode WASM failed to download/compile",SDWF:"Sharing decode WASM failed to download/compile",MWCGLF:"WebGL context failed to be restored",VCFF:"Captured video format is not supported",SHHF:"Initialization of sharing decode WASM failed",SDSF:"Sharing decode WebSocket failed to connect after 10 attempts",SEHF:"Initialization of sharing encode WASM failed",SESF:"Sharing encode WebSocket failed to connect after 10 attempts",ADHF:"Initialization of audio decode WASM failed",ADSF:"Audio decode WebSocket failed to connect after 10 attempts",AEHF:"Initialization of audio encode WASM failed",AESF:"Audio encode WebSocket failed to connect after 10 attempts",VDHF:"Initialization of video decode WASM failed",VDSF:"Video decode WebSocket failed to connect after 10 attempts",VEHF:"Initialization of video encode WASM failed",VESF:"Video encode WebSocket failed to connect after 10 attempts",INITVDCERR:"An error occurred when initializing video WebRTC DataChannel",INITADCERR:"An error occurred when initializing audio WebRTC DataChannel"},n=["VCAPTURE","VFCLOSE","VDCS","CPC","VDCR","ADCS","ADCR","VCFOK","VCTN","ABRTT"];var d=function(){function e(){this.base_time=null,this.monitor="",this.last_get_monitor_time=0,this.checkIsNecessaryLogMap=new Map,this.highfrequencyerror=new Map,this.startSendLog=!1}return e.prototype={init:function(){this.base_time||(this.base_time=(new Date).getTime(),this.checkIsNecessaryLogMap=new Map,this.add_monitor("STARTMONITOR"+this.base_time))},need_to_flush_log:function(e){return e&&("F"==e[e.length-1]||"f"==e[e.length-1])&&this.startSendLog},append_to_monitor:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)try{const i=2e3;this.monitor&&this.monitor.length+e.length>i&&this.send_instant_monitor(),this.monitor?this.monitor+=e:this.monitor=e,t&&this.send_instant_monitor()}catch(e){s.default.error("Error when adding data to the monitor log",e)}},add_monitor:function(e,t){if(this.base_time||this.init(),e&&this.checkLogValidity(e))try{if(o[e]){let i=o[e];t&&(i="".concat(i,". Additional information: ").concat(t)),s.default.error(i)}let i=(new Date).getTime()-this.base_time,r=e+"("+Math.ceil(i)+")",a=this.need_to_flush_log(e);this.append_to_monitor(r,a)}catch(e){s.default.error("Error when adding data to the monitor log",e)}},get_monitor:function(){let e=this.monitor,t=(new Date).getTime();return null!=e&&(e.length>80||t-this.last_get_monitor_time>180)?(this.last_get_monitor_time=t,this.monitor=null,"WCL_M, "+e):""},get_instant_monitor:function(){let e=this.monitor;return this.monitor=null,e?"WCL_M, "+e:null},send_instant_monitor:function(){let e=this.get_instant_monitor();e&&a.default.sendMessageToRwg(r.MONITOR_LOG,{evt:r.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},send_monitor_directly:function(e){e&&this.checkLogValidity(e)&&a.default.sendMessageToRwg(r.MONITOR_LOG,{evt:r.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},add_monitor2(e){if(this.base_time||this.init(),e&&this.checkLogValidity(e)){let t=e+"("+((new Date).getTime()-this.base_time)+")";this.append_to_monitor(t)}},add_monitor3(e){if(this.base_time||this.init(),!e||!this.checkLogValidity(e))return;this.highfrequencyerror[e]?this.highfrequencyerror[e]+=1:this.highfrequencyerror[e]=1;Object(s.isPowerOf2)(this.highfrequencyerror[e])&&this.add_monitor(e,"Occurred ".concat(this.highfrequencyerror[e]," times"))},checkIsNecessaryExceptionLogAndReturnRepeatTimes(e){let t=!0,i=0;try{return this.checkIsNecessaryLogMap.get(e)&&this.checkIsNecessaryLogMap.get(e)%100!=0&&(t=!1),i=this.checkIsNecessaryLogMap.get(e),{isNecessary:t,repeatNumber:void 0===i?0:i}}catch(e){return{isNecessary:!0,repeatNumber:0}}finally{let t=this.checkIsNecessaryLogMap.get(e)||0;if(this.checkIsNecessaryLogMap.set(e,t+1),this.checkIsNecessaryLogMap.size>200){let e=Array.from(this.checkIsNecessaryLogMap.keys()).slice(0,20);console.log("delete log cache keys",e),e.forEach(e=>this.checkIsNecessaryLogMap.delete(e))}}},reset(){this.base_time=null,this.last_get_monitor_time=0,this.monitor="",this.highfrequencyerror.clear()},startSend(){this.startSendLog=!0},checkLogValidity(e){return!!this.startSendLog||!n.some(t=>-1!==e.indexOf(t))}},new e}();t.default=d},function(e,t,i){"use strict";i.d(t,"h",(function(){return r})),i.d(t,"d",(function(){return a})),i.d(t,"c",(function(){return s})),i.d(t,"b",(function(){return o})),i.d(t,"e",(function(){return n})),i.d(t,"f",(function(){return d})),i.d(t,"i",(function(){return u})),i.d(t,"a",(function(){return l})),i.d(t,"g",(function(){return c}));const r={ZOOM_CONNECTION_COMMAND:0,ZOOM_CONNECTION_AUDIO:1,ZOOM_CONNECTION_VIDEO:2,ZOOM_CONNECTION_SHARING_JPEG:3,ZOOM_CONNECTION_SHARING_VIDEO:4,ZOOM_CONNECTION_MEDIA_LOG:5,ZOOM_CONNECTION_SHARING_REMOTE_CONTROL:6,ZOOM_CONNECTION_UNKNOW:7},a={NET_WEBSOCKET:0,NET_DATACHANNEL:1,NET_WEBTRANSPORT:2},s={encode:1,decode:2},o={AUDIO:1,SHARING:2,VIDEO:3},n={UNKNOWN:0,WIN:1,MAC:2,PAD:3,MOBILE:4,CALL_IN:5,LINUX:6,WEB:7,CHROME:8},d={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},u=(()=>{const e={};for(const t in d)e[d[t]]="WCL_"+t;return e})(),l={ComputerAudio_Null:0,ComputerAudio_Connecting:1,ComputerAudio_Connected:2,DesktopAudio_Null:0,DesktopAudio_Connecting:1,DesktopAudio_Connected:2},c={[d.AUDIO_ENCODE]:"audio.encode",[d.AUDIO_DECODE]:"audio.decode",[d.VIDEO_ENCODE]:"video.encode",[d.VIDEO_DECODE]:"video.decode",[d.SHARING_ENCODE]:"share.encode",[d.SHARING_DECODE]:"share.decode"}},function(e,t,i){"use strict";i.d(t,"C",(function(){return r})),i.d(t,"j",(function(){return a})),i.d(t,"D",(function(){return s})),i.d(t,"E",(function(){return o})),i.d(t,"t",(function(){return n})),i.d(t,"k",(function(){return d})),i.d(t,"v",(function(){return u})),i.d(t,"x",(function(){return l})),i.d(t,"p",(function(){return c})),i.d(t,"s",(function(){return h})),i.d(t,"q",(function(){return f})),i.d(t,"r",(function(){return p})),i.d(t,"a",(function(){return _})),i.d(t,"b",(function(){return m})),i.d(t,"w",(function(){return E})),i.d(t,"g",(function(){return g})),i.d(t,"y",(function(){return S})),i.d(t,"z",(function(){return v})),i.d(t,"A",(function(){return C})),i.d(t,"B",(function(){return A})),i.d(t,"e",(function(){return R})),i.d(t,"d",(function(){return T})),i.d(t,"c",(function(){return I})),i.d(t,"f",(function(){return b})),i.d(t,"n",(function(){return O})),i.d(t,"o",(function(){return D})),i.d(t,"m",(function(){return w})),i.d(t,"l",(function(){return y})),i.d(t,"h",(function(){return M})),i.d(t,"u",(function(){return P})),i.d(t,"i",(function(){return N}));const r={AVAILABLE:0,NOT_SUPPORTED:1,CANNOT_REQ_ADAPTER:2,CANNOT_REQ_DEVICE:3},a={AUTO:-1,UNDEFINED:0,WEBGL:1,WEBGPU:2,WEBGL_2:3},s={DISABLED:0,ENABLED:1,AUTO:2},o={SUCCEED:0,UNKNOWN:-1,INVALID_ARG:-2,BROWSER_NOT_SPT:-3,DEVICE_ON_BLACKLIST:-4,INVALID_DEVICE_INFO:-5,UNKNOWN_SELECTION:-6,OTHER_EX:-7,DEVICE_NOT_ON_WHITELIST:-8,FEATURE_OPTION_DISABLED:-9},n={AVAILABLE:0,VIDEO:1,SHARE:2},d={IDLE:0,PENDING:1,READY:2,RENDERING:3},u={UNKNOWN:-1,BASE_LAYER:0,BLEND_LAYER:1},l={UNKNOWN:-1,EXTERNAL_TEX:0,GPU_TEX_YUV:1,GPU_TEX_RGBA:2,CLEAR_COLOR:3},c=0,h=1,f=2,p=3,_=[{u:1,v:0},{u:1,v:1},{u:0,v:1},{u:1,v:0},{u:0,v:0},{u:0,v:1}],m=[{x:1,y:1},{x:1,y:-1},{x:-1,y:-1},{x:1,y:1},{x:-1,y:1},{x:-1,y:-1}],E={VS_BASE:0,CURSOR:1,WATERMARK:2,MASK:3,END:4},g=["intel","nvidia","apple","amd","qualcomm","arm"],S="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n struct FsUniforms {\n rotation: f32,\n };\n \n @group(0) @binding(0) var vfSampler: sampler;\n @group(0) @binding(1) var vfTexture: texture_external;\n @group(0) @binding(2) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(vfTexture, vfSampler, uv);\n return color;\n }\n ",v="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(6) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var vPlaneTex: texture_2d<f32>;\n @group(0) @binding(5) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(7) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n if (uniforms.yuvMode == 1) {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(vPlaneTex, uvPlaneSampler, uv).r;\n } else {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).a;\n }\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n return color;\n }\n ",C="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(5) var<uniform> vertexUniforms: FsUniforms;\n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(5) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).g;\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n // outputBuffer[0] = y;\n // outputBuffer[1] = u;\n // outputBuffer[2] = v;\n // outputBuffer[3] = color.r;\n // outputBuffer[4] = color.g;\n // outputBuffer[5] = color.b;\n // outputBuffer[6] = color.a;\n \n return color;\n }\n ",A="\n @group(0) @binding(0) var watermarkSampler: sampler;\n @group(0) @binding(1) var watermarkTex: texture_2d<f32>;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(watermarkTex, watermarkSampler, uv);\n if (color.r == 0 && color.g == 0 && color.b == 0) {\n color.a = 0;\n }\n return color;\n }\n ",R="\n \n struct FsUniforms {\n cursorFlag: f32,\n cursorInfo: vec4f\n };\n \n @group(0) @binding(0) var cursorSampler: sampler;\n @group(0) @binding(1) var cursorTex: texture_2d<f32>;\n @group(0) @binding(2) var<uniform> uniforms: FsUniforms;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, 1 - uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, uv);\n // if (uniforms.cursorFlag == 1) {\n // if (uniforms.cursorInfo.z > 0.0 \n // && uv.x >= uniforms.cursorInfo.x\n // && uv.y >= uniforms.cursorInfo.y\n // && uv.x < uniforms.cursorInfo.x + uniforms.cursorInfo.z\n // && uv.y < uniforms.cursorInfo.y + uniforms.cursorInfo.w) {\n \n // var cursorCoord: vec2f = uv - uniforms.cursorInfo.xy;\n // cursorCoord = cursorCoord / uniforms.cursorInfo.zw;\n // var cursorColor: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, cursorCoord);\n // color = color * (1.0 - cursorColor.a) + cursorColor * cursorColor.a;\n // }\n // }\n \n return color;\n }\n ",T="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return vec4(0.0, 0.0, 0.0, 1.0);\n }\n ",I="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n struct ClearColorUniforms {\n clearColor: vec4<f32>,\n };\n \n @group(0) @binding(0) var<uniform> uniforms: ClearColorUniforms;\n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return uniforms.clearColor;\n }\n ",b={TEXTURE_BUFFER:0,VERTEX_BUFFER:1,TEXTURE:2},O={LOW:0,MEDIUM:1,HIGH:2,OVERUSE:3},D={LOW:6e4,MEDIUM:45e3,HIGH:3e4,OVERUSE:15e3},w=[60,120,180,360,540,720,1080,2160],y={VIDEO_FRAME:0,YUV_I420:1,YUV_NV12:2,RGBA_WATERMARK:3,RGBA_CURSOR:4,CLEAR_COLOR:5},M=6,P=[180,360,540,720,1080,2160],N=5},function(e,t,i){"use strict";i.r(t),i.d(t,"isPowerOf2",(function(){return a})),i.d(t,"GlobalTracingLogger",(function(){return r}));class r{constructor(){this._highFrequencyLogs={},this.fixVersion=""}setInstance(e,t){this._instance=e,this.fixVersion=t}getMessageFromErrorOrEvent(e,t){let i=e;return t instanceof ErrorEvent?(t.filename&&(i+=" File: ".concat(t.filename)),(t.lineno||t.colno)&&(i+=" Line: ".concat(t.lineno,":").concat(t.colno)),t.message&&(i+=" Message: ".concat(t.message)),t.error&&(i+="\nStack: ".concat(t.error.stack))):t instanceof Error?(t.fileName&&(i+=" File: ".concat(t.fileName)),(t.lineNumber||t.columnNumber)&&(i+=" Line: ".concat(t.lineNumber,":").concat(t.columnNumber)),t.message&&(i+=" Message: ".concat(t.message)),t.stack&&(i+=" Stack: ".concat(t.stack)),t.name&&(i+=" Name: ".concat(t.name)),t.constraint&&(i+=" Constraint: ".concat(t.constraint))):t instanceof CloseEvent?(t.code&&(i+=" Code: ".concat(t.code)),t.reason&&(i+=" Reason: ".concat(t.reason)),i+=" wasClean: ".concat(t.wasClean)):t instanceof DOMException?(t.message&&(i+=" Message: ".concat(t.message)),t.name&&(i+=" Name: ".concat(t.name))):i+=t?t.toString():"",i}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._highFrequencyLogs[e]?this._highFrequencyLogs[e]+=1:this._highFrequencyLogs[e]=1;const i=a(this._highFrequencyLogs[e]);this._instance&&i&&this._instance.error(e,[this.fixVersion])}severityerror(e,t){this._instance&&this._instance.error(JSON.stringify(e),t)}directReport(e,t){var i,r;this._instance&&(t||(t=["MEDIASDK_INFO"]),null===(i=(r=this._instance).directReport)||void 0===i||i.call(r,{msg:e},t))}warn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._instance&&this._instance.warn(e)}log(e){this._instance&&this._instance.log(e)}clearHighFrequencyLogs(){this._highFrequencyLogs={}}}const a=e=>0==(e&e-1);let s=new r;t.default=s},function(e,t,i){var r=i(91),a=i(49);e.exports=function(e,t,i){var s=a(e,t,"set");return r(e,s,i),i},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";i.r(t),i.d(t,"Audio_Dec_WASM_OK",(function(){return r})),i.d(t,"Audio_Dec_Handle_OK",(function(){return a})),i.d(t,"Audio_Dec_WebSocket_OK",(function(){return s})),i.d(t,"Audio_Enc_WASM_OK",(function(){return o})),i.d(t,"Audio_Enc_Handle_OK",(function(){return n})),i.d(t,"Video_Dec_WASM_OK",(function(){return d})),i.d(t,"Video_Dec_Handle_OK",(function(){return u})),i.d(t,"Video_Dec_WebSocket_OK",(function(){return l})),i.d(t,"Video_Enc_WASM_OK",(function(){return c})),i.d(t,"Video_Enc_Handle_OK",(function(){return h})),i.d(t,"Sharing_Dec_WASM_OK",(function(){return f})),i.d(t,"AUDIO_DELAY",(function(){return p})),i.d(t,"Sharing_Dec_WebSocket_OK",(function(){return _})),i.d(t,"Sharing_Handle_OK",(function(){return m})),i.d(t,"DECODE_MESSAGE",(function(){return E})),i.d(t,"Video_Capture_Tick",(function(){return g})),i.d(t,"MONITOR_MESSAGE",(function(){return S})),i.d(t,"WORKER_MAIN_VIDEO_ENCODE_RINGBUFFER_TICK",(function(){return v})),i.d(t,"WORKER_MAIN_AUDIO_ENCODE_RINGBUFFER_TICK",(function(){return C})),i.d(t,"WORKER_MAIN_VIDEO_DECODE_RINGBUFFER_TICK",(function(){return A})),i.d(t,"Audio_Encode_Preview_OK",(function(){return R})),i.d(t,"Video_Encode_Preview_OK",(function(){return T})),i.d(t,"DOWNLOAD_WASM_FROM_MAIN_THREAD",(function(){return I})),i.d(t,"APP_TROUBLESHOOTING_INFO",(function(){return b})),i.d(t,"WCL_TROUBLESHOOTING_INFO",(function(){return O})),i.d(t,"SHARING_DATA_VIDEO_MODE",(function(){return D})),i.d(t,"MOUSE_DATA_VIDEO_MODE",(function(){return w})),i.d(t,"SHARING_DECODE_MESSAGE",(function(){return y})),i.d(t,"VIDEO_ENCODED_DATA",(function(){return M})),i.d(t,"AUDIO_ENCODED_DATA",(function(){return P})),i.d(t,"WASMPTR",(function(){return N})),i.d(t,"AUDIO_MONITOR_LOG",(function(){return V})),i.d(t,"VIDEO_RESOLUTION_UPDATE",(function(){return k})),i.d(t,"VIDEO_RENDER_MONITOR_LOG",(function(){return U})),i.d(t,"Sharing_Width_And_Height_Info",(function(){return L})),i.d(t,"SHARING_RENDER_MONITOR_LOG",(function(){return x})),i.d(t,"SHARING_GET_IMAGE_DATA_WRONG",(function(){return W})),i.d(t,"AES_GCM_IV_CALLBACK_FROM_WASM",(function(){return B})),i.d(t,"CURRENT_SSRC_TIME",(function(){return G})),i.d(t,"WhiteBoard_Video_Capture_Tick",(function(){return F})),i.d(t,"GLOBAL_TRACING_LOG",(function(){return H})),i.d(t,"Video_Sharing_Handle_OK",(function(){return K})),i.d(t,"CURRENT_DECODE_VIDEO_QUALITY",(function(){return j})),i.d(t,"CURRENT_DECODE_VIDEO_FPS",(function(){return Y})),i.d(t,"CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT",(function(){return q})),i.d(t,"CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT",(function(){return X})),i.d(t,"SHARING_FIRST_DECODE_FRAME_RECEIVED",(function(){return Q})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_CHANGE",(function(){return z})),i.d(t,"VIDEO_CAPTURE_FRAME_COUNT_STATISTIC",(function(){return J})),i.d(t,"SHARING_CAPTURE_FRAME_COUNT_STATISTIC",(function(){return Z})),i.d(t,"UNSUPPORTED_SHARING_FORMAT",(function(){return $})),i.d(t,"UNSUPPORTED_VIDEO_FORMAT",(function(){return ee})),i.d(t,"FIRST_SHARING_FRAME_FOR_MOBILE",(function(){return te})),i.d(t,"CONNECT_WEBTRANSPORT_OK",(function(){return ie})),i.d(t,"CONNECT_WEBTRANSPORT_CLOSE",(function(){return re})),i.d(t,"CURRENT_MEDIA_DATA_TRANSPORT_TYPE",(function(){return ae})),i.d(t,"CONNECT_WEBSOCKET_CLOSE",(function(){return se})),i.d(t,"CURRENT_ENCODED_TYPE",(function(){return oe})),i.d(t,"WHITEBOARD_WORKER_MESSAGE",(function(){return ne})),i.d(t,"NETWORK_QUALITY_CHANGE",(function(){return de})),i.d(t,"NETWORK_QUALITY_CHANGE_AUDIO",(function(){return ue})),i.d(t,"WEBCODEC_PERFORMANCE_STATUS",(function(){return le})),i.d(t,"DATACHANNEL_OPEN",(function(){return ce})),i.d(t,"DATACHANNEL_ERROR",(function(){return he})),i.d(t,"DATACHANNEL_CLOSE",(function(){return fe})),i.d(t,"MSG_QUEUE_DATA",(function(){return pe})),i.d(t,"MSG_BUFFER_TICKT",(function(){return _e})),i.d(t,"MSG_QUEUE_STATUS",(function(){return me})),i.d(t,"CLOSE_TRANSPORT",(function(){return Ee})),i.d(t,"CREATE_MSGSOCK_TRANSPORT",(function(){return ge})),i.d(t,"TRANSPORT_SET_SABBUFF",(function(){return Se})),i.d(t,"TRANSPORT_SET_MSGPORT",(function(){return ve})),i.d(t,"WORKER_HEARTBEAT",(function(){return Ce})),i.d(t,"RECEIVE_ANNOTATION_PDU",(function(){return Ae})),i.d(t,"Audio_Dec_WASM_FAILED",(function(){return Re})),i.d(t,"Audio_Dec_Handle_FAILED",(function(){return Te})),i.d(t,"Audio_Dec_WebSocket_FAILED",(function(){return Ie})),i.d(t,"Audio_Enc_WASM_FAILED",(function(){return be})),i.d(t,"Audio_Enc_Handle_FAILED",(function(){return Oe})),i.d(t,"Video_Dec_WASM_FAILED",(function(){return De})),i.d(t,"Video_Dec_Handle_FAILED",(function(){return we})),i.d(t,"Video_Dec_WebSocket_FAILED",(function(){return ye})),i.d(t,"Video_Enc_WASM_FAILED",(function(){return Me})),i.d(t,"Video_Enc_Handle_FAILED",(function(){return Pe})),i.d(t,"Sharing_Dec_WASM_FAILED",(function(){return Ne})),i.d(t,"Sharing_Handle_FAILED",(function(){return Ve})),i.d(t,"Sharing_Dec_WebSocket_FAILED",(function(){return ke})),i.d(t,"AUDIO_CLIPPING",(function(){return Ue})),i.d(t,"MULTIVIEW_WEBGL_CONTEXT_LOST",(function(){return Le})),i.d(t,"WEBGL_CONTEXT_CREATE_FAILED",(function(){return xe})),i.d(t,"MULTIVIEW_WEBGL_CONTEXT_RESTORED",(function(){return We})),i.d(t,"WASM_MEMORY_GRROW_FAILED",(function(){return Be})),i.d(t,"SHARING_HEALTH_CHECK_FAILED",(function(){return Ge})),i.d(t,"VIDEO_HEALTH_CHECK_FAILED",(function(){return Fe})),i.d(t,"AUDIO_HEALTH_CHECK_FAILED",(function(){return He})),i.d(t,"WEBRTC_VIDEO_HEALTH_CHECK_FAILED",(function(){return Ke})),i.d(t,"WEBRTC_AUDIO_HEALTH_CHECK_FAILED",(function(){return je}));const r=1,a=2,s=3,o=4,n=5,d=7,u=8,l=9,c=10,h=11,f=12,p=14,_=15,m=16,E=18,g=20,S=21,v=22,C=23,A=24,R=26,T=27,I=30,b=31,O=35,D=36,w=37,y=38,M=39,P=42,N=47,V=48,k=50,U=51,L=52,x=53,W=54,B=56,G=57,F=60,H=61,K=62,j=66.5,Y=66.6,q=67,X=68,Q=69,z=71,J=72,Z=73,$=75,ee=76,te=78,ie=105,re=106,ae=107,se=108,oe=109,ne=120,de=121,ue=122,le=123,ce=124,he=125,fe=126,pe=127,_e=128,me=129,Ee=132,ge=133,Se=135,ve=136,Ce=137,Ae=151,Re=-1,Te=-2,Ie=-3,be=-4,Oe=-5,De=-7,we=-8,ye=-9,Me=-10,Pe=-11,Ne=-12,Ve=-14,ke=-15,Ue=-23,Le=-26,xe=-27,We=-28,Be=-35,Ge=-129,Fe=-130,He=-131,Ke=-135,je=-136},function(e,t,i){"use strict";i.r(t),i.d(t,"QOS_DEFAULT_POLLING_INTERVAL",(function(){return r})),i.d(t,"VIDEO_MONITOR_LOG_SECOENDS",(function(){return a})),i.d(t,"THREAD_STATE_IDLE",(function(){return s})),i.d(t,"THREAD_STATE_CREATING",(function(){return o})),i.d(t,"THREAD_STATE_CREATED",(function(){return n})),i.d(t,"MEDIA_S2C_KEEPALIVE",(function(){return d})),i.d(t,"MEDIA_AUDIO_DATA",(function(){return u})),i.d(t,"MEDIA_AUDIO_RTCP",(function(){return l})),i.d(t,"MEDIA_AUDIO_FEATURE",(function(){return c})),i.d(t,"MEDIA_VIDEO_DATA",(function(){return h})),i.d(t,"MEDIA_VIDEO_RTCP",(function(){return f})),i.d(t,"MEDIA_NTP_UPDATE",(function(){return p})),i.d(t,"VIDEO_KEYFRAME_REQ",(function(){return _})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_360P",(function(){return m})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_720P",(function(){return E})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_1080P",(function(){return g})),i.d(t,"UPDATE_ENCRYPTION_GCM_MODEL_KEY",(function(){return S})),i.d(t,"MEDIA_AUDIO_QOS_SESS_DATA",(function(){return v})),i.d(t,"INTERPRETATION_ENABLE",(function(){return C})),i.d(t,"INTERPRETATION_SET_LANG",(function(){return A})),i.d(t,"INTERPRETATION_MUTE",(function(){return R})),i.d(t,"INTERPRETATION_SET_INTERPRETER",(function(){return T})),i.d(t,"DATA_DIRECTION_FROM_RECEIVE",(function(){return I})),i.d(t,"DATA_DIRECTION_FROM_SEND",(function(){return b})),i.d(t,"RWG_WCL_PDU_QOS_DATA",(function(){return O})),i.d(t,"RWG_WCL_PDU_QOS_DATA_VIDEO",(function(){return D})),i.d(t,"serverHeartbeatMaxTimeoutSeconds",(function(){return w})),i.d(t,"RQUEST_ANIMATION_MODE",(function(){return y})),i.d(t,"SET_INTERVAL_MODE",(function(){return M})),i.d(t,"VIDEO_INVALID",(function(){return P})),i.d(t,"VIDEO_RGBA",(function(){return N})),i.d(t,"VIDEO_I420",(function(){return V})),i.d(t,"VIDEO_NV12",(function(){return k})),i.d(t,"VIDEO_BGRA",(function(){return U})),i.d(t,"EVENT_ROLLBACK_BUFFER",(function(){return L})),i.d(t,"EVENT_NEEDMORE_DATA",(function(){return x})),i.d(t,"EVENT_CAPTURE_DATA",(function(){return W})),i.d(t,"EVENT_CACHE_SIZE",(function(){return B})),i.d(t,"WEBCODEC_ENCODE_OFF",(function(){return G})),i.d(t,"WEBCODEC_DECODE_OFF",(function(){return F})),i.d(t,"QosSession",(function(){return H})),i.d(t,"QosConnectType",(function(){return K})),i.d(t,"MAX_VIDEO_CAPTURE_FPS",(function(){return j})),i.d(t,"MIN_VIDEO_CAPTURE_FPS",(function(){return Y})),i.d(t,"VIDEO_CAPTURE_FPS",(function(){return q})),i.d(t,"VIDEO_CAPTURE_20FPS",(function(){return X})),i.d(t,"DOWN_VIDEO_CAPTURE_FPS",(function(){return Q})),i.d(t,"LOWER_VIDEO_CAPTURE_FPS",(function(){return z})),i.d(t,"VIDEO_DATA_MAX_SIZE",(function(){return J})),i.d(t,"VIDEO_FRAME_BUFFER_SIZE",(function(){return Z})),i.d(t,"SHARING_NULL",(function(){return $})),i.d(t,"SHARING_NORMAL",(function(){return ee})),i.d(t,"SHARING_VIDEO_MODE",(function(){return te})),i.d(t,"SHARING_VIDEO_MODE_CAPTURED_FPS",(function(){return ie})),i.d(t,"SHARING_NORMAL_MODE_CAPTURED_FPS",(function(){return re})),i.d(t,"VIDEO_RINGBUF_PKG_NUM",(function(){return ae})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_360P",(function(){return se})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_720P",(function(){return oe})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_1080p",(function(){return ne})),i.d(t,"WCL_PLATFORM_TYPE",(function(){return de})),i.d(t,"AS_CAPTURE_SOURCE",(function(){return ue})),i.d(t,"MEDIA_COMMAND",(function(){return le})),i.d(t,"RENDER_UNSET",(function(){return ce})),i.d(t,"RENDER_IN_WORKER",(function(){return he})),i.d(t,"RENDER_IN_MAIN",(function(){return fe})),i.d(t,"WEBRTC_NO_AUDIO_MODE",(function(){return pe})),i.d(t,"WEBRTC_COMMPUTER_AUDIO_MODE",(function(){return _e})),i.d(t,"WEBRTC_SHARE_AUDIO_MODE",(function(){return me})),i.d(t,"WEBRTC_MULTI_AUDIO_MODE",(function(){return Ee})),i.d(t,"VIDEO_FRAME",(function(){return ge})),i.d(t,"SHARING_FRAME",(function(){return Se})),i.d(t,"MAX_RENDER_WITHOUT_SAB",(function(){return ve})),i.d(t,"ACTIVE_SPEAKER_SSRC",(function(){return Ce})),i.d(t,"FACE_MODE_UNKNOW",(function(){return Ae})),i.d(t,"FACE_MODE_USER",(function(){return Re})),i.d(t,"FACE_MODE_ENVIRONMENT",(function(){return Te})),i.d(t,"ORIGINAL_SOUND_OFF",(function(){return Ie})),i.d(t,"ORIGINAL_SOUND_ON",(function(){return be})),i.d(t,"ORIGINAL_SOUND_STEREO",(function(){return Oe})),i.d(t,"ORIGINAL_SOUND_HIGHFIDELITY",(function(){return De})),i.d(t,"ORIGINAL_SOUND_HIGHFIDELITY_STEREO",(function(){return we})),i.d(t,"SHARE_AUDIO",(function(){return ye})),i.d(t,"ORIGINAL_SOUND_OFF_HIGH_BITRATE",(function(){return Me})),i.d(t,"PUBLISHER_ICEConnectionState_Failed",(function(){return Pe})),i.d(t,"SUBSCRIBER_ICEConnectionState_Failed",(function(){return Ne})),i.d(t,"NO_MESSAGE_FAILOVER",(function(){return Ve})),i.d(t,"WS_ERROR_FAILOVER",(function(){return ke})),i.d(t,"WS_CLOSE_FAILOVER",(function(){return Ue})),i.d(t,"RUNTIME_ERROR_FAILOVER",(function(){return Le})),i.d(t,"WEBRTC_FALLBACK_TO_WASM",(function(){return xe})),i.d(t,"VB_CONSTANT",(function(){return We})),i.d(t,"AUDIO_ENCODE_WORKER",(function(){return Be})),i.d(t,"AUDIO_DECODE_WORKER",(function(){return Ge})),i.d(t,"AUDIO_WASM_WORKLET",(function(){return Fe})),i.d(t,"AUDIO_WEBRTC_WORKLET",(function(){return He})),i.d(t,"DATACHANNEL_MONITOR_SEPARATOR",(function(){return Ke})),i.d(t,"LOADEDMETADATAT_IMEOUT",(function(){return je})),i.d(t,"MEDIA_SOLUTION_WEBRTC",(function(){return Ye})),i.d(t,"MEDIA_SOLUTION_WASM",(function(){return qe})),i.d(t,"AudioProfile",(function(){return Xe})),i.d(t,"REPORT_KEY_SHARE",(function(){return Qe})),i.d(t,"REPORT_KEY_NORMAL",(function(){return ze})),i.d(t,"WEBGL_CONTEXT_INVALID_WHEN_START",(function(){return Je})),i.d(t,"HEALTH_CHECK_TYPE",(function(){return Ze})),i.d(t,"HEALTH_CHECK_OPERATOR",(function(){return $e})),i.d(t,"REMINDER_AFTER_MUTED",(function(){return et})),i.d(t,"RECAPTURE_AUDIO_AFTER_MUTED",(function(){return tt})),i.d(t,"NET_QUALITY_LEVEL",(function(){return it})),i.d(t,"NET_BW_LEVEL",(function(){return rt}));const r=1e3,a=5,s=43,o=44,n=45,d=0,u=1,l=6,c=146,h=2,f=7,p=9,_=17,m=10,E=11,g=12,S=102,v=107,C=0,A=1,R=2,T=3,I=0,b=1,O=108,D=104,w=65,y=0,M=1,P=-1,N=0,V=1,k=2,U=3,L=0,x=1,W=2,B=3,G=1,F=2,H={SESSION_TYPE_CONF:0,SESSION_TYPE_AUDIO:1,SESSION_TYPE_DESKSHARE:2,SESSION_TYPE_VIDEO:3,SESSION_TYPE_CHAT:4,SESSION_TYPE_TELEPHONE:5,SESSION_TYPE_ZC_PING:6,SESSION_TYPE_TOTAL_CNT:7},K={CONNECT_TYPE_UDP:0,CONNECT_TYPE_TCP:1},j=30,Y=1,q=24,X=20,Q=15,z=10,J=8294400,Z=5,$=0,ee=1,te=2,ie=15,re=5,ae=400,se=3,oe=7,ne=8,de={DESKTOP:0,MOBILE:1,ANDROID:2,IPHONE:3},ue={DESKTOP_SOURCE:0,UAC_SOURCE:1},le={SHARE_REMOTE_CONTROL_UAC_MOUSE:144,SHARE_REMOTE_CONTROL_UAC_JPEG_FRAME:145},ce=-1,he=0,fe=1,pe=0,_e=1,me=2,Ee=_e+me,ge=0,Se=1,ve=25,Ce=1,Ae=-1,Re=0,Te=1,Ie=0,be=1,Oe=2|be,De=4|be,we=Oe|De,ye=8,Me=16,Pe=3,Ne=107,Ve="100",ke="101",Ue="102",Le="103",xe="150",We="WCL_M,isWebEnabled:1, isLocalEnabled:1, isSmartBkgnd:1, bkgType:2",Be=0,Ge=1,Fe=2,He=3,Ke="{[WLCCONT]}",je=1e4,Ye=1,qe=2,Xe={[Ie]:new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:48e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]]),[be]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[Oe]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[De]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[we]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[ye]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:"96000",operater:"add"}],["maxplaybackrate",{value:"48000",operater:"add"}],["sprop-maxcapturerate",{value:"48000",operater:"add"}]]),[Me]:new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:64e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]])},Qe="SHARE",ze="NORMAL",Je="WebGLContextInvalidWhenStart",Ze={VIDEO:0,SHARE:1},$e={PAUSE:0,RESUME:1,STOP:2},et=!0,tt=!1,it={NET_QUALITY_UNKNOWN:-1,NET_QUALITY_VERY_BAD:0,NET_QUALITY_BAD:1,NET_QUALITY_NOT_GOOD:2,NET_QUALITY_NORMAL:3,NET_QUALITY_GOOD:4,NET_QUALITY_EXCELLENT:5},rt={NET_BW_LEVEL_UNKNOWN:-1,NET_BW_LEVEL_VERY_LOW:0,NET_BW_LEVEL_LOW:1,NET_BW_LEVEL_NORMAL:2}},function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));const r={AUDIO_BRIDGE_1:{index:1,default:15},AUDIO_BRIDGE_2:{index:2,default:1},HW_ENCODER_FOR_360P:{index:3,default:0},WEBGL_CONTEXT_LOST_OPT:{index:4,default:0},RECEIVE_720P_ON_SAFARI:{index:5,default:0},MULTI_VIEW_ON_MOBILE:{index:8,default:0},AUDIO_DENOISE:{index:11,default:1},VB_ON_FIREFOX:{index:12,default:0},ENABLE_DECODE_720P_ON_IOS:{index:15,default:1},UNIFIED_RENDER:{index:20,default:0},WEBGPU_RENDERER:{index:21,default:0},ORIGINAL_SOUND:{index:22,default:0},SEND_1080P_VIDEO:{index:24,default:0},SEND_1080P_VIDEO_SHARE:{index:25,default:0},VB_ON_SAFARI_17:{index:27,default:0},WEBGL2_RENDERER:{index:29,default:1},AUDIO_ECHO_DETECT:{index:31,default:0},UNIFIED_RENDER_ON_MOBILE:{index:34,default:0},WEBCODEC_DECODE_OPTION:{index:36,default:0},HW_WEBCODEC_ON_SAFARI:{index:37,default:1},HW_DECODE_FOR_360P:{index:38,default:0},WEBCODEC_ON_ANDROID_CHROME:{index:39,default:0},SUPPORT_ANNOTATION:{index:40,default:0},WEBCODEC_ENCODE_OPT_1ON1:{index:41,default:0},CAP_WEBCODEC_SUPPORT:{index:42,default:0},WEBRTC_STG:{index:43,default:0},WEBGL_CANVAS_OPTION_OPT:{index:44,default:1},DEFAULT_RENDERER:{index:45,default:3},WEB_TRANSPORT_CONTROL:{index:46,default:0},ENABLE_TP_RLB_WEBSOCKET:{index:47,default:0},ENABLE_TRANSFERABLE_RTC_DATACHANNEL:{index:48,default:1},ENABLE_WEBRTC_FEATURE:{index:49,default:0},WEBRTC_AUTO_CONFIG:{index:50,default:0,candidates:{NO_CONFIG:0,MOB_ANDROID:1,MOB_IOS:2,DESKTOP:4,SAB_OFF:8}},FORCE_TO_USE_WEBRTC:{index:51,default:0,candidates:{NO_CONFIG:0,AUDIO_ON_BROWSER_32BIT:1,VIDEO_ON_BROWSER_32BIT:2}},ENABLE_WEBRTC_TURN_SERVERS:{index:52,default:0},EXTRA_DEVICE_INTERVAL_ENUMERATE:{index:53,default:0,candidates:{DISABLE:0,ENABLE:1}},ENABLE_MEDIA_PROCESSOR:{index:54,default:0,candidates:{NONE:0,VIDEO_PROCESSOR:1,AUDIO_PROCESSOR:2,SHARE_PROCESSOR:4}}}},function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return u})),i.d(t,"h",(function(){return l})),i.d(t,"g",(function(){return c})),i.d(t,"d",(function(){return h})),i.d(t,"i",(function(){return f})),i.d(t,"j",(function(){return p})),i.d(t,"e",(function(){return _})),i.d(t,"c",(function(){return m})),i.d(t,"f",(function(){return g}));var r=i(9),a=i(7),s=i(13),o=i(2);function n(){return self.GROWABLE_HEAP_U8?self.GROWABLE_HEAP_U8():Module.HEAPU8}const d="function"!=typeof importScripts;function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;d?a.default.error(e,t):l(e,t)}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var i,a,s,o;(t instanceof Error||t instanceof ErrorEvent)&&(e+=" Message: "+(null===(i=t)||void 0===i?void 0:i.message)+" Stack: "+(null!==(a=null===(s=t)||void 0===s||null===(s=s.error)||void 0===s?void 0:s.stack)&&void 0!==a?a:null===(o=t)||void 0===o?void 0:o.stack),t=null);postMessage({status:r.GLOBAL_TRACING_LOG,errorMessage:e,errorEvent:t})}function c(e){postMessage({status:r.GLOBAL_TRACING_LOG,errorMessage:e,level:"low"})}function h(e){postMessage({status:r.WCL_TROUBLESHOOTING_INFO,data:e})}function f(e){postMessage({status:r.MULTIVIEW_WEBGL_CONTEXT_LOST,canvasId:e,replaceCanvas:!1})}function p(e){postMessage({status:r.MULTIVIEW_WEBGL_CONTEXT_RESTORED,canvasId:e})}function _(e){d?Object(s.NotifyUIError)(o.WEBGL_CONTEXT_INVALID,e):postMessage({status:r.WEBGL_CONTEXT_CREATE_FAILED,where:e})}class m{constructor(e){this.sharedBufferList=e}storeFlexible(e,t){let i=e.byteLength-this.sharedBufferList.bytesPerElement;if(i>0){let e=Math.floor(.1*this.sharedBufferList.bytesPerElement),r=i>e?i:e;if(r+this.sharedBufferList.bytesPerElement>t)return Promise.reject("too big, more than maxBytesPerElement");this.sharedBufferList.increaseBufferSize(r)}return this.store(e)}store(e){return this.sharedBufferList.get().then(t=>{try{return this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0}catch(e){throw e}finally{this.autoRecycle()}})}storeSync(e){let t=this.sharedBufferList.getSync();return null!==t&&(this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0)}autoRecycle(){this.autoRecycleInterval=setTimeout(()=>{console.log("autoRecycle",this.obj.index),this.recycle()},5e3)}recycle(){try{this.autoRecycleInterval&&clearInterval(this.autoRecycleInterval),this.sharedBufferList.recycle(this.obj.index)}catch(e){l("Error in YuvWrap.recycle: ".concat(e))}}}const E=["","MOZ_","OP_","WEBKIT_"];function g(e,t){for(var i=0;i<E.length;++i){var r=E[i]+t,a=e.getExtension(r);if(a)return a}}new Map,new class{constructor(){this.ssrcInfoMap=new Map,this.timer=null}updateSSRCInfo(e,t){this.ssrcInfoMap.has(e)||this.ssrcInfoMap.set(e,{firstTime:0,lastTime:0,frames:0,fps:0}),this._calculateFPS(e,t),this._removeZeroFPS()}_calculateFPS(e,t){const i=this.ssrcInfoMap.get(e);if(0===i.frames?i.firstTime=t:i.lastTime=t,i.frames+=1,i.frames>2&&i.frames%5==0&&i.lastTime-i.firstTime>=1e3){const t=Math.floor(1e3/((i.lastTime-i.firstTime)/(i.frames-1)));i.fps!==t&&(this._notifyFPS(e,t),i.fps=t),i.firstTime=i.lastTime,i.frames=1}}_removeZeroFPS(){let e=Date.now();this.ssrcInfoMap.forEach((t,i)=>{const r=this.ssrcInfoMap.get(i);r&&e-r.lastTime>2e3&&(this.ssrcInfoMap.delete(i),this._notifyFPS(i,0))})}_notifyFPS(e,t){postMessage({status:r.CURRENT_DECODE_VIDEO_FPS,data:{ssrc:e,fps:t}})}_checkIfNewFrameComing(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.timer=setTimeout(()=>{this._removeZeroFPS(),this.timer=null},2500)}}},function(e,t,i){"use strict";i.r(t),i.d(t,"CameraOccupiedError",(function(){return a})),i.d(t,"CAPTURE_ERROR_TYPE",(function(){return s})),i.d(t,"SetNotifyUIFn",(function(){return l})),i.d(t,"SetMonitorFn",(function(){return c})),i.d(t,"NotifyUIError",(function(){return h}));var r=i(7);function a(e){this.name="CameraOccupiedError",this.message=e,this.stack=(new Error).stack}a.prototype=new Error;const s={EXCEPTION:-1,PERMISSION_RESET:-2,LOST_ACCESS:-3},o=new Map;function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"|";return e?e.toString().replaceAll(/[,,]/g,t):""}let d=null,u=null;function l(e){d=e}function c(e){u=e}function h(e,t){var i,a;if(!function(e){const t=performance.now();return(!o.has(e)||t-o.get(e)>5e3)&&(o.set(e,t),!0)}(e))return;let s;try{s=n("object"==typeof t?JSON.stringify(t):t)}catch(e){s=n(t)}null===(i=u)||void 0===i||i("NEM-".concat(e,"-").concat(s)),r.default.error("NotifyUIError,event=".concat(e,",data=").concat(s)),null===(a=d)||void 0===a||a(e,t)}},function(e,t,i){var r=i(84);e.exports=function(e,t,i){return(t=r(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var r=i(41),a=i(51);let s=r;i.n(a)()(r)&&(s=window.PubSub);let o=function(){};o.prototype={publish(){return s.publish.apply(this,arguments)},publishSync(){return s.publishSync.apply(this,arguments)},trigger(){return this.publish.apply(this,arguments)},triggerSync(){return this.publishSync.apply(this,arguments)},emit(){return this.publish.apply(this,arguments)},subscribe(){return s.subscribe.apply(this,arguments)},on(){return this.subscribe.apply(this,arguments)},unsubscribe(){return s.unsubscribe.apply(this,arguments)},clearAllSubscriptions(){s.clearAllSubscriptions()}},t.a=new o},function(e,t,i){"use strict";i.d(t,"h",(function(){return s})),i.d(t,"e",(function(){return o})),i.d(t,"g",(function(){return n})),i.d(t,"f",(function(){return d})),i.d(t,"d",(function(){return u})),i.d(t,"a",(function(){return l})),i.d(t,"b",(function(){return c})),i.d(t,"c",(function(){return h}));var r=i(12),a=i(6);function s(e,t){const i=Math.pow(10,t);return Math.floor(e*i)/i}function o(e,t){const i=Math.pow(10,t);return Math.ceil(e*i)/i}function n(e,t,i){if(!e||t<0||i<0)throw new Error("isDimensionsOverMaxDimension2DSize() invalid parameters. res=".concat(e,", width=").concat(t,", height=").concat(i));let a=!1,s=0;const o=e.acquireGPUFeaturesHelper();return o&&(s=o.queryMaxTextureDimension2D(),s>0&&(a=t>s||i>s)),a&&(console.log("isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(i," max:").concat(s)),Object(r.d)("WGPU isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(i," max:").concat(s))),a}function d(e,t){if(!e||t<0)throw new Error("isBufferSizeOverMaxSize() invalid parameters. res=".concat(e,", bufferSize=").concat(t));let i=!1,a=0;const s=e.acquireGPUFeaturesHelper();return s&&(a=s.queryMaxBufferSize(),a>0&&(i=t>a)),i&&(console.log("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a)),Object(r.d)("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a))),i}function u(e,t){if(!e||null==t)throw new Error("evalCroppingRect() invalid parameters!");return t===a.s||t===a.r?{top:e.top,left:e.left,width:e.height,height:e.width}:e}function l(e,t){let i=0,r=0,a=0,s=0;const o=t.width/t.height;return e.width/e.height>o?(r=e.height,i=r*o,a=(e.width-i)/2,s=0):(i=e.width,r=i/o,a=0,s=(e.height-r)/2),i<=e.canvas.width&&(a=(e.canvas.width-i)/2),r<=e.canvas.height&&(s=(e.canvas.height-r)/2),{x:a,y:s,width:i,height:r}}function c(e,t,i,r){if(!e||!t||!i)return null;const s=t.width/t.height;let o=t.width,n=t.height;if(t.width>e.width||t.height>e.height){const i=e.width/t.width,r=e.height/t.height,a=Math.min(i,r);o*=a,n*=a}let d=0,u=0;e.width/e.height>s?(u=Math.floor(e.height/n)*n,d=Math.floor(u*s/o)*o,d>e.width&&(d=Math.floor(e.width/o)*o,u=Math.floor(d/s/n)*n)):(d=Math.floor(e.width/o)*o,u=Math.floor(d/s/n)*n,u>e.height&&(u=Math.floor(e.height/n)*n,d=Math.floor(u*s/o)*o));let l=0,c=0,h=0,f=0;r==a.p?(l=1-(l+(n-1)/e.height),c=t.left/e.width,f=1-t.top/e.height,h=c+o/e.width):r==a.s?(c=1-(l+(n-1)/e.height),h=1-t.top/e.height,l=t.left/e.width,f=c+o/e.width):r==a.q?(l=t.top/e.height,c=t.left/e.width,f=l+(n-1)/e.height,h=c+o/e.width):r==a.r&&(c=t.top/e.height,h=l+(n-1)/e.height,l=t.left/e.width,f=c+o/e.width);let p=[],_=[{x:h,y:f},{x:h,y:l},{x:c,y:l},{x:h,y:f},{x:c,y:f},{x:c,y:l}];for(let e=0;e<_.length;++e){let t={u:_[e].x,v:_[e].y};p.push(t)}let m=[];for(let e=0;e<p.length;++e){let t=p[e];m.push(t.u),m.push(t.v)}return m}function h(e,t,i,r,n,d){let u=0,l=0,c=0,h=0;if(e){const e=n==a.s||n==a.r?t.height/t.width:t.width/t.height,s=r.left||0,o=r.top||0;if(r.width/r.height>e){const t=r.height*e;u=o/i.height,l=(Math.round((r.width-t)/2)+s)/i.width,h=u+(r.height-1)/i.height,c=l+t/i.width}else{const t=r.width/e;u=(Math.round((r.height-t)/2)+o)/i.height,l=s/i.width,h=u+(t-1)/i.height,c=l+r.width/i.width}n==a.p?(u=1-(u+(r.height-1)/i.height),l=r.left/i.width,h=1-r.top/i.height,c=l+r.width/i.width):n==a.s?(l=1-(u+(r.height-1)/i.height),c=1-r.top/i.height,u=r.left/i.width,h=l+r.width/i.width):n==a.q?(u=r.top/i.height,l=r.left/i.width,h=u+(r.height-1)/i.height,c=l+r.width/i.width):n==a.r&&(l=r.top/i.height,c=u+(r.height-1)/i.height,u=r.left/i.width,h=l+r.width/i.width)}else{const e=r.width/r.height;let t=r.width,d=r.height;if(r.width>i.width||r.height>i.height){const e=i.width/r.width,a=i.height/r.height,s=Math.min(e,a);t*=s,d*=s}let f=0,p=0;i.width/i.height>e?(p=Math.floor(i.height/d)*d,f=Math.floor(p*e/t)*t,f>i.width&&(f=Math.floor(i.width/t)*t,p=Math.floor(f/e/d)*d)):(f=Math.floor(i.width/t)*t,p=Math.floor(f/e/d)*d,p>i.height&&(p=Math.floor(i.height/d)*d,f=Math.floor(p*e/t)*t)),n==a.p?(u=1-(u+(d-1)/i.height),l=r.left/i.width,h=1-r.top/i.height,c=l+t/i.width,r.height>r.width&&(l=o(l,2),c=s(c,2))):n==a.s?(l=1-(u+(d-1)/i.height),c=1-r.top/i.height,u=r.left/i.width,h=l+t/i.width):n==a.q?(u=r.top/i.height,l=r.left/i.width,h=u+(d-1)/i.height,c=l+t/i.width):n==a.r&&(l=r.top/i.height,c=u+(d-1)/i.height,u=r.left/i.width,h=l+t/i.width)}let f=[],p=[{x:c,y:h},{x:c,y:u},{x:l,y:u},{x:c,y:h},{x:l,y:h},{x:l,y:u}];for(let e=0;e<p.length;++e){let t=null;if(d){let i=-1*Math.abs(p[e].x);p[e].x=i,t={u:p[e].x+1,v:p[e].y}}else t={u:p[e].x,v:p[e].y};f.push(t)}let _=[];for(let e=0;e<f.length;++e){let t=f[e];_.push(t.u),_.push(t.v)}return _}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessorManager=void 0;const r=i(37);class a{static hasProcessor(){return this.videoProcessorAgentMap.size>0}static hasMediaStreamFrameProcessor(){return[...this.videoProcessorAgentMap.values()].some(e=>e instanceof r.MediaStreamVideoProcessorAgent)}static addFrameCallback(e,t){this.frameCallbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addFrameCallback(t)}static addCallback(e,t){this.callbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addCallback(t)}static onFrame(e){for(const t of this.videoProcessorAgentMap.values())t.onFrame(e)}static getStream(){return[...this.videoProcessorAgentMap.values()].pop().getStream()}static setStream(e){for(const t of this.videoProcessorAgentMap.values())t.setStream(e)}static removeStream(){for(const e of this.videoProcessorAgentMap.values())e.removeStream()}static getProcessor(e){return this.videoProcessorAgentMap.get(e)}static startProcessor(e,t){t.init();const i=this.frameCallbackMap.get(e);i&&t.addFrameCallback(i);const r=this.callbackMap.get(e);r&&t.addCallback(r),this.videoProcessorAgentMap.set(e,t)}static stopProcessor(e){const t=this.getProcessor(e);t&&(t.removeFrameCallback(),t.removeCallback(),this.frameCallbackMap.delete(e),this.callbackMap.delete(e),t.removeStream(),t.uninit()),this.videoProcessorAgentMap.delete(e)}static resetProcessorManager(){for(const e of this.videoProcessorAgentMap.keys())this.stopProcessor(e)}}t.ProcessorManager=a,a.videoProcessorAgentMap=new Map,a.frameCallbackMap=new Map,a.callbackMap=new Map},function(e,t,i){"use strict";function r(){this.a=[],this.b=0,this.residue=null}r.prototype.getLength=function(){return this.a.length-this.b},r.prototype.isEmpty=function(){return 0==this.a.length},r.prototype.enqueue=function(e){this.a.push(e)},r.prototype.dequeue=function(){if(0!=this.a.length){var e=this.a[this.b];return 2*++this.b>=this.a.length&&(this.a=this.a.slice(this.b),this.b=0),e}return null},r.prototype.peek=function(){return 0<this.a.length?this.a[this.b]:void 0},r.prototype.clear=function(){this.a=[],this.b=0},t.a=r},function(e,t,i){"use strict";let r="object"==typeof localStorage&&localStorage.__islogdebug;var a=function(e,t){function i(){let e=[];return e.push(...arguments),e}!0===t&&(r=!0);var a=function(){r&&console.log(e,...i(arguments))};return["log","info","warn","error"].forEach(t=>{a[t]=function(){r&&console[t](e,...i(arguments))}}),a.isEnable=function(){return r},a};a.isEnable=function(){return r},t.a=a},function(e,t,i){"use strict";function r(e,t,i,r){return s(e,t),a(i,"set"),function(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}}(e,i,r),r}function a(e,t){if(void 0===e)throw new TypeError("attempted to "+t+" private static field before its declaration")}function s(e,t){if(e!==t)throw new TypeError("Private static access of wrong provenance")}class o{static isEnableCanvasCtxOptionsOpt(){return t=n,s(e=o,o),a(t,"get"),function(e,t){return t.get?t.get.call(e):t.value}(e,t);var e,t}static setIsEnableCanvasCtxOptionsOpt(e){r(o,o,n,e)}}var n={writable:!0,value:!1};t.a=o},function(e,t,i){"use strict";var r,a,s;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoProcessorCmd=t.VideoProcessorEvent=t.VideoProcessorWorkerEvent=void 0,function(e){e.ADD_VIDEO_PORT="add_video_port",e.ADD_SHADOW_PORT="add_shadow_port",e.ADD_VIDEO_PROCESSOR="add_video_processor",e.PROCESSOR_READY="processor_ready",e.PROCESSOR_ERROR="processor_error"}(r||(t.VideoProcessorWorkerEvent=r={})),function(e){e.INIT_PROCESSOR="init_processor",e.UNINIT_PROCESSOR="uninit_processor",e.INIT_OUTPUT_CANVAS="init_output_canvas",e.OUTPUT_WRITABLE_STREAM="output_writable_stream",e.INPUT_READABLE_STREAM="input_readable_stream",e.FRAME_DATA="frame_data",e.START_REQUEST_FRAME="start_request_frame",e.STOP_REQUEST_FRAME="stop_request_frame",e.REQUEST_FRAME="request_frame",e.FRAME_CALLBACK="frame_callback",e.RESOLUTION_CHANGE="RESOLUTION_CHANGE",e.PROCESSOR_WORKER_ERROR="PROCESSOR_WORKER_ERROR"}(a||(t.VideoProcessorEvent=a={})),s||(t.VideoProcessorCmd=s={})},function(e,t,i){"use strict";var r=i(7);t.a=class{static read(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(!e)return r.default.error("[ABOptionsReader] error in read(): options(".concat(e,") is invalid")),a;const s=e.length;if(t<0||i<=0||t>s||t+i-1>s)return r.default.error("[ABOptionsReader] error in read(): invalid parameters! opLen=".concat(s,", bitIndex=").concat(t,", readCount=").concat(i)),a;const o=s-t-i+1,n=s-t+1;try{const t=e.slice(o,n),i=parseInt(t,16);return isNaN(i)?a:i}catch(e){r.default.error("[ABOptionsReader] error in read()",e)}return a}static batchRead(e,t){const i=new Map;for(let r=0;r<t.length;r++){const{bitIndex:a,readCount:s=1,defaultVal:o=0}=t[r],n=this.read(e,a,s,o);i.set(a,n)}return i}}},function(e,t,i){var r=i(45),a="object"==typeof self&&self&&self.Object===Object&&self,s=r||a||Function("return this")();e.exports=s},function(e,t,i){"use strict";var r=i(7),a=i(6);const s={isOnWebCodecWhitelist(e,t,i,a){if(""===e||void 0===e||void 0===t||""===t)return!1;if(!a){const r=e.includes("arm"),a=t.includes("intel"),s=t.includes("amd"),o=t.includes("nvidia");return"encoder"===i?!r&&!!(a||s||o):"decoder"===i&&(!r&&(!!s||(a?!this.isInRangeOfGenerations("intel",t,1e3,4e3):!o||!this.isLowerThanMinGeneration("nvidia",t,"600"))))}t=this.replaceSpacesWithUnderscores(t);for(let s=0;s<a.length;s++){const o=a[s],n="vendor"in o,d="model"in o,u="renderInfo"in o,l="blacklist"in o;let c="";n&&""!==o.vendor&&(c=o.vendor.toLowerCase());let h="";d&&""!==o.model&&(h=this.replaceSpacesWithUnderscores(o.model.toLowerCase()));let f="";u&&""!==o.renderInfo&&(f=this.replaceSpacesWithUnderscores(o.renderInfo.toLowerCase()));let p=null;if(l&&o.blacklist.length>0&&(p=o.blacklist),n){if(""!==c&&e.includes(c)){if(""===h&&""===f&&!p)return!0;if(t===f||""!==f&&t.includes(f))return!0;if(""!==h&&t.includes(h)){if(p){return!this.isHitBlacklist(e,t,i,h,p)}return!0}if(""!==h)return!1;if(p){return!this.isHitBlacklist(e,t,i,h,p)}return!0}}else r.default.error("isOnWebCodecWhitelist() no vendor field in the json entry! entry:".concat(o))}return!1},isGPUProfileOnWebCodecWhitelist(e,t,i){if(!this.isOffscreenCanvasSupported())return r.default.log("isGPUProfileOnWebCodecWhitelist() OffscreenCanvas is not supported."),!1;try{const a=i.vendor,s=i.renderInfo,o=this.isOnWebCodecWhitelist(a,s,e,t);return r.default.directReport("isGPUProfileOnWebCodecWhitelist() isOnWhitelist:".concat(o,", vendor:").concat(a,", renderInfo:").concat(s,", codecType:").concat(e,", config:").concat(JSON.stringify(t))),o}catch(e){return!1}},evalWebRTCStrategy(e,t,i,s){var o,n,d,u,l;let c={stg:a.D.DISABLED,errNo:a.E.UNKNOWN,errMsg:""};if(!i)return c.stg=a.D.DISABLED,c.errNo=a.E.BROWSER_NOT_SPT,c.errMsg="webrtc is disabled(not supported by browser).",c;if(s===a.D.DISABLED)return c.stg=a.D.DISABLED,c.errNo=a.E.SUCCEED,c;if(!e||0==e.length)return c.stg=s,c.errNo=a.E.SUCCEED,c;const h={os:null===(o=t.os)||void 0===o?void 0:o.toLowerCase(),browserName:null===(n=t.browserName)||void 0===n?void 0:n.toLowerCase(),browserVersion:null===(d=t.browserVersion)||void 0===d?void 0:d.toLowerCase(),vendor:null===(u=t.vendor)||void 0===u?void 0:u.toLowerCase(),renderInfo:null===(l=t.renderInfo)||void 0===l?void 0:l.toLowerCase(),isAstcSupported:t.isAstcSupported};for(const i of e){let e=0,s=!1;if(i.os&&""!==i.os){if(!h.os.includes(i.os.toLowerCase()))continue;h.os.includes("mac")&&(s=!0),e|=4096}let o=!1;if(i.browser&&i.browser.name&&""!==i.browser.name){if(!h.browserName.includes(i.browser.name.toLowerCase()))continue;if(h.browserName.includes("safari")&&(o=!0),i.browser.versions&&i.browser.versions.length>0){if(!i.browser.versions.some(e=>this.isBrowserVersionHitBlacklist(t.browserVersion,e)))continue;e|=256}else e|=256}if(i.vendor&&""!==i.vendor)if(h.vendor.includes(i.vendor.toLowerCase()))e|=16;else{if(!s||!o||"intel"!==i.vendor.toLowerCase()||h.isAstcSupported)continue;e|=16}if(i.renderInfo&&""!==i.renderInfo){if(h.renderInfo!==i.renderInfo.toLowerCase())continue;e|=1}if(e>0)return c.stg=a.D.DISABLED,c.errNo=a.E.DEVICE_ON_BLACKLIST,c.errMsg="webrtc is disabled(hit blacklist).",r.default.log("evalWebRTCStrategy() stg:".concat(JSON.stringify(c))),c}return c.stg=s,c.errNo=a.E.SUCCEED,c},isOnWebRTCWhitelist(e){var t,i;if(!e)return!1;r.default.directReport("isOnWebRTCWhitelist() deviceInfo=".concat(JSON.stringify(e)));const a={os:null===(t=e.os)||void 0===t?void 0:t.toLowerCase(),browserName:null===(i=e.browserName)||void 0===i?void 0:i.toLowerCase()};return[{browserName:"chrome",os:["win","mac","ios","android","chromium os"]},{browserName:"edge",os:["win"]},{browserName:"safari",os:["mac","ios"]},{browserName:"mobile safari",os:["ios"]}].some(e=>e.browserName===a.browserName&&e.os.some(e=>a.os.includes(e)))},isLowerThanMinGeneration(e,t,i){try{const r=e.toLowerCase(),a=t.toLowerCase(),s=parseInt(i);if("nvidia"===r){if(a.includes("geforce")){const e=a.indexOf("geforce gt ");if(parseInt(a.slice(e+11))<s)return!0}}else if("intel"===r&&a.includes("hd graphics")){const e=a.indexOf("hd graphics ");if(parseInt(a.slice(e+12))<s)return!0}return!1}catch(e){return r.default.error(e),!1}},isInRangeOfGenerations(e,t,i,a){try{const r=e.toLowerCase(),s=t.toLowerCase();if("intel"===r&&s.includes("hd graphics")){const e=s.indexOf("hd graphics "),t=parseInt(s.slice(e+12));if(t>i&&t<a)return!0}return!1}catch(e){return r.default.error(e),!1}},isOffscreenCanvasSupported:()=>"function"==typeof OffscreenCanvas,isHitBlacklist(e,t,i,a,s){if(!t||""===t)return r.default.error("isHitBlacklist() targetRenderInfo is invalid"),!0;if(!s)return r.default.error("isHitBlacklist() an invalid blacklist configuration object"),!1;if("encoder"!==i&&"decoder"!==i&&"all"!==i)return r.default.error("isHitBlacklist() an invalid codecType(".concat(i,").")),!0;const o=a.toLowerCase();let n=!1;for(const a of s){const s="model"in a,d="codecType"in a,u="renderInfo"in a,l="minGeneration"in a,c="os"in a;let h=null;s&&""!==a.model&&(h=this.replaceSpacesWithUnderscores(a.model.toLowerCase()));let f=null;if(!d){r.default.warn("isHitBlacklist() miss codecType field in the configuration.");continue}if(f=a.codecType,"all"!==f&&"encoder"!==f&&"decoder"!==f){r.default.error("isHitBlacklist() codecType(".concat(f,") should be all/(empty)/encoder/decoder."));continue}let p=null;u&&""!==a.renderInfo&&(p=this.replaceSpacesWithUnderscores(a.renderInfo.toLowerCase()));let _=null;l&&(_=a.minGeneration);let m=null;if(c&&""!==a.os&&(m=a.os.toLowerCase()),!s&&!u){if(!c){r.default.warn("isHitBlacklist() invalid blacklist entry. entry:".concat(a));continue}if(this.isOnOSBlacklist(m)){n=!0;break}}if(u&&""!==p&&(t===p||t.includes(p))&&("all"===f||f===i)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}if(h)if(""!==o){if(h!==o){r.default.warn("isHitBlacklist() model(".concat(h,") in blacklist entry and model(").concat(o,") in whitelist should be same!"));continue}if("all"===f||f===i)if(_&&""!==_){if(this.isLowerThanMinGeneration(e,t,_)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else{if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else if(t.includes(h)&&("all"===f||f===i))if(_&&""!==_){if(this.isLowerThanMinGeneration(e,t,_)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else{if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}return n},isOnOSBlacklist(e){const t=e.toLowerCase();return!("windows"!==t||!this.isWindows())||(!("mac"!==t||!this.isMac())||(!("chromeos"!==t||!this.isChromeOS())||(!("android"!==t||!this.isAndroid())||(!("linux"!==t||!this.isLinux())||!("ios"!==t||!this.is_iOS())))))},isWindows:()=>navigator.platform.indexOf("Win")>-1,isMac:()=>navigator.platform.indexOf("Mac")>-1,isChromeOS(){try{return!!/\bCrOS\b/.test(navigator.userAgent)}catch(e){return!1}},isAndroid(){try{var e=navigator.userAgent||navigator.vendor||window.opera;return!!/android/i.test(e)}catch(e){return!1}},isLinux(){return navigator.platform.indexOf("Linux")>-1&&!this.isChromeOS()},is_iOS(){try{return!!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)}catch(e){return!1}},replaceSpacesWithUnderscores(e){if(!e||""===e)return"";const t=e.trim();return""===t?"":"_".concat(t.replace(/ /g,"_"),"_")},isBrowserVersionHitBlacklist(e,t){if(!e||!t)return r.default.error("compareBrowserVersion() invalid parameters! browserVersion:".concat(e,", blacklistVersion:").concat(t)),!1;const i=t[0];let a=0;"<"==i?a=-1:"="==i?a=0:">"==i?a=1:(r.default.error("isBrowserVersionHitBlacklist() invalid operator! operator:".concat(i)),a=0);const s=t.slice(1),o=e.toString().split("."),n=s.toString().split("."),d=Math.min(o.length,n.length);for(let e=0;e<d;e++){const t=parseInt(o[e],10),i=parseInt(n[e],10);if(isNaN(t)||isNaN(i))return r.default.error("Invalid version number detected!"),!1;if(0==a){if(t!==i)return!1}else if(-1==a){if(t>i)return!1}else if(1==a&&t<i)return!1}return!0}};t.a=s},function(e,t,i){"use strict";i.r(t);var r=i(10),a=i(12),s=i(16),o=i(20);let n=new Map,d=[];function u(e){e.preventDefault()}function l(e,t,i,a,s,o,n){let d=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=s,this.textureindex=i||0,this.texturestride=this.textureindex?3:n?4:6,this.initmask=n||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=d,l.prototype.ROTATION_CLOCK0=0,l.prototype.ROTATION_CLOCK90=1,l.prototype.ROTATION_CLOCK180=2,l.prototype.ROTATION_CLOCK270=3,this.webGLResources=o,o||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(o);var u=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(u),this.dummpyWaterMark=new Uint8Array(u),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=r.VIDEO_INVALID,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function c(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let o=s.canvas.width,n=s.canvas.height;a&&(o=a.width,n=a.height);var d,u,l,c,h=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?i:t,f=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?t:i,p=h/f*n,_=f/h*o;p>o?(d=0,l=1,c=1-(u=(n-_)/2/n)):(u=0,c=1,l=1-(d=(o-p)/2/o)),d=2*d-1,l=2*l-1,u=1-2*u,c=1-2*c;var m=new Float32Array([l,u,d,u,l,c,d,c,l,u,d,u,l,c,d,c]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function h(e,t,i,r,a){var s=e.contextGL,o=r.top/i,n=r.left/t,d=o+(r.height-1)/i,u=n+r.width/t,l=[n,o,u,o,u,d,n,d];a==e.ROTATION_CLOCK90&&(l.unshift(l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK180&&(l.unshift(l[4],l[5],l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK270&&(l.push(l[0],l[1]),l=l.slice(2));var c=l[0],h=l[1];l[0]=l[2],l[1]=l[3],l[2]=c,l[3]=h;var f=new Float32Array([...l,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}l.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},l.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(a.f)(this.contextGL,"WEBGL_lose_context"))},l.prototype.restoreContext=function(){if(this.contextGL)try{var e,t;if(null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost())this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(a.e)("WebGLRestoreTimeout")},1500),null===(t=this.canvasElement)||void 0===t||t.loseContextExtension.restoreContext()}catch(e){Object(a.b)("webgl restoreContext exception",e)}},l.prototype.webgGLContextLostCallback=function(e){Object(a.g)("webglcontextlost event: canvas listener size=".concat(d.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(d.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},l.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const i=d.indexOf(this.canvasID);d.splice(i,1),n.delete(e)}},l.prototype.webGLContextRestoredCallback=function(e){Object(a.g)("webglcontextrestored event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},l.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(a.f)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=n.get(e);t&&this.removeEventListener(e,t),n.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===d.indexOf(this.canvasID)&&(d.push(this.canvasID),d.length>4&&Object(a.g)("webglcanvas listener size=".concat(d.length,", ids:").concat(d.join())))},l.prototype.isWebGL=function(){return this.contextGL},l.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},l.prototype.initContextGL=function(){for(var e,t,i,r=this.canvasElement,s=null,n=["webgl","experimental-webgl","moz-webgl","webkit-3d"],d=0;!s&&d<n.length;){var u=n[d];try{if(o.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};s=r.getContext(u,t)}else s=r.getContext(u,e)}else s=this.contextOptions?r.getContext(u,this.contextOptions):r.getContext(u)}catch(e){s=null}s&&"function"==typeof s.getParameter||(s=null),++d}if(this.contextGL=s,!s||s.isContextLost())return Object(a.b)("Failed when trying to get WebGLContext on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(s,", lost=").concat(null===(i=s)||void 0===i?void 0:i.isContextLost())),void Object(a.e)("InitWebGLFail");s.glInitSucceed=0},l.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"\n attribute vec4 vertexPos;\n attribute vec4 texturePos;\n attribute vec4 masktexturePos;\n varying vec2 textureCoord;\n varying vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(a.g)("webgl Vertex shader failed to compile: "+e.getShaderInfoLog(t));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,"\n precision highp float;\n varying highp vec2 textureCoord;\n varying highp vec2 masktextureCoord;\n \n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n \n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int yuvmode;\n \n const int MAX_ELLIPSE_COUNT = 10;\n uniform int maskFlag; // 0: mask disabled; 1: mask enabled;\n uniform int maskMode; // 0: static mask; 1: dynamic mask;\n uniform vec4 uEllipses[MAX_ELLIPSE_COUNT]; // each ellipse contains (cx, cy, rx, ry) 4-coords\n uniform int uEllipseCount; // how many ellipses will draw\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -0.87078515625,\n 1.1643828125, -0.39176171875, -0.81296875, 0.52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n\n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -0.701,\n 1.0, -0.34413, -0.71414, 0.529135,\n 1.0, 1.772, 0, -0.886,\n 0, 0, 0, 1\n );\n\n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture2D(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n\n if (yuvmode == 1) {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(vSampler, textureCoord).r;\n } else {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(uSampler, textureCoord).a;\n }\n\n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n\n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && \n textureCoord.x >= cursorInfo.x && \n textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x + cursorInfo.z && \n textureCoord.y < cursorInfo.y + cursorInfo.w) {\n \n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture2D(cursorSampler, cursorCoord);\n c = c * (1.0 - cursor.a) + cursor * cursor.a;\n }\n }\n } else {\n c = texture2D(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n } else {\n c = texture2D(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture2D(maskSampler, masktextureCoord);\n if (maskMode == 0) {\n // -- handle static mask --\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n } else if (maskMode == 1) {\n // -- handle dynamic mask -- \n bool inEllipse = false; // variable for checking whether the pixel to be drawn hits ellipse\n for (int i = 0; i < MAX_ELLIPSE_COUNT; i++) {\n if (i > uEllipseCount) break;\n\n vec2 ellipseCenter = uEllipses[i].xy;\n vec2 ellipseRadii = uEllipses[i].zw;\n vec2 ellipsePos = masktextureCoord - ellipseCenter;\n\n float ellipseEq = (ellipsePos.x * ellipsePos.x) / (ellipseRadii.x * ellipseRadii.x) + \n (ellipsePos.y * ellipsePos.y) / (ellipseRadii.y * ellipseRadii.y);\n if (ellipseEq <= 1.0) {\n // the pixel in the ellipse range\n inEllipse = true;\n break;\n }\n }\n\n if (inEllipse) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n }\n }\n\n if (waterMarkFlag != 1) {\n c.a = 1.0;\n }\n\n gl_FragColor = c;\n }\n"),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||e.isContextLost()||Object(a.g)("webgl Fragment shader failed to compile: "+e.getShaderInfoLog(i));var r=e.createProgram();e.attachShader(r,t),e.attachShader(r,i),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS)||e.isContextLost()||Object(a.g)("webgl Program failed to compile: "+e.getProgramInfoLog(r)),e.useProgram(r),this.shaderProgram=r},l.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var r=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(r),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=i;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var n=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=o}this.texturePosBuffer=a},l.prototype.initTextures=function(e){var t=this.contextGL,i=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var a=this.initTexture();this.yTextureRef=a,this.oyTextureRef=a;var s=this.initTexture();this.uTextureRef=s,this.ouTextureRef=s;var o=this.initTexture();if(this.vTextureRef=o,this.ovTextureRef=o,e){this.BindTextures(r.VIDEO_I420);var n=this.initTexture(),d=t.getUniformLocation(i,"cursorSampler");t.uniform1i(d,this.textureindex*this.texturestride+3),this.cursorTextureRef=n;var u=this.initTexture(),l=t.getUniformLocation(i,"waterMarkSampler");t.uniform1i(l,4),this.waterMarkTextureRef=u;var c=this.initTexture();this.repeatedWaterMarkTextureRef=c;var h=this.initTexture(),f=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=h;var p=t.getUniformLocation(i,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var _=this.initTexture(),m=t.getUniformLocation(i,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=_}var E=t.getUniformLocation(i,"colorRange");this.colorRangeRef=E,this.onlyRGBARef=t.getUniformLocation(i,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(i,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(i,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(i,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(i,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(i,"yuvmode")},l.prototype.BindTextures=function(e){var t=this.contextGL,i=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==r.VIDEO_I420){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"ySampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"vSampler");t.uniform1i(s,0)}else if(e==r.VIDEO_NV12){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,0)}let a=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(s,6)):t.uniform1i(s,0);let o=t.getUniformLocation(i,"cursorSampler");t.uniform1i(o,0);let n=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(n,0)},l.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},l.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},l.prototype.cleanup=function(){let e=this.canvasElement,t=n.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=u,e.addEventListener("webglcontextlost",u,{capture:!1})),this.isAvaiable()){var i=this.contextGL;i.deleteProgram(this.program),i.activeTexture(i.TEXTURE0+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE1+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE2+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),this.textureindex||this.initmask||(i.activeTexture(i.TEXTURE3+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE4+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(this.getRepeatedWatermarkTextureValue(i)),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE5+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null)),i.bindBuffer(i.ARRAY_BUFFER,null),i.deleteTexture(this.yTextureRef),i.deleteTexture(this.uTextureRef),i.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(i.deleteTexture(this.cursorTextureRef),i.deleteTexture(this.waterMarkTextureRef),i.deleteTexture(this.repeatedWaterMarkTextureRef),i.deleteTexture(this.previewVideoTextureRef),i.deleteBuffer(this.vertexPosBuffer),i.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&i.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&i.deleteBuffer(this.masktexturePosBuffer),i.glInitSucceed=0}},l.prototype.drawNextOutputPicture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,i,r,a):this.drawNextOuptutPictureRGBA(e,t,i,r)},l.prototype.updateVertexInfoForMultiView=function(e,t,i,r,a){var s,o,n,d,u=this.contextGL;if(this.isUseFillMode({width:i,height:r,rotation:a}))s=0,o=0,n=1,d=1;else{var l=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,h=l/c*t;h>e?(s=0,n=1,d=1-(o=(t-c/l*e)/2/t)):(o=0,d=1,n=1-(s=(e-h)/2/e))}s=2*s-1,n=2*n-1,o=1-2*o,d=1-2*d;var f=new Float32Array([n,o,s,o,n,d,s,d,1,1,-1,1,1,-1,-1,-1]);u.bindBuffer(u.ARRAY_BUFFER,this.vertexPosBuffer),u.bufferData(u.ARRAY_BUFFER,f,u.DYNAMIC_DRAW)},l.prototype.updateTextureInfoForMultiView=function(e,t,i,r,a,o,n){var d,u,l,c,h=this.contextGL;if(this.isUseFillMode({width:i.width,height:i.height,rotation:r})){const a=r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?n/o:o/n,s=i.left||0,h=i.top||0;if(i.width/i.height>a){const r=i.height*a;d=h/t,u=(Math.round((i.width-r)/2)+s)/e,l=d+(i.height-1)/t,c=u+r/e}else{const r=i.width/a;l=(d=(Math.round((i.height-r)/2)+h)/t)+(r-1)/t,c=(u=s/e)+i.width/e}}else d=Object(s.e)(i.top/t,2),u=Object(s.e)(i.left/e,2),l=Object(s.h)((i.top+i.height-1)/t,2),c=Object(s.h)((i.width-1+i.left)/e,2);var f=[u,d,c,d,c,l,u,l];r==this.ROTATION_CLOCK90&&(f.unshift(f[6],f[7]),f=f.slice(0,8)),r==this.ROTATION_CLOCK180&&(f.unshift(f[4],f[5],f[6],f[7]),f=f.slice(0,8)),r==this.ROTATION_CLOCK270&&(f.push(f[0],f[1]),f=f.slice(2,10));var p=f[0],_=f[1];if(f[0]=f[2],f[1]=f[3],f[2]=p,f[3]=_,a)if(r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270){let e=f[1];f[1]=f[3],f[3]=e,e=f[5],f[5]=f[7],f[7]=e}else f[0]=1-f[0],f[2]=1-f[2],f[4]=1-f[4],f[6]=1-f[6];var m=new Float32Array([...f,1,0,0,0,1,1,0,1]);h.bindBuffer(h.ARRAY_BUFFER,this.texturePosBuffer),h.bufferData(h.ARRAY_BUFFER,m,h.DYNAMIC_DRAW)},l.prototype.drawNextOutputPictureFrame=function(e,t,i,a,s){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var u=this.contextGL,l=(this.texturePosBuffer,this.yTextureRef),f=this.uTextureRef,p=this.vTextureRef;u.enable(u.BLEND),u.blendFunc(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA),s=s||this.ROTATION_CLOCK0;var _=(i=i||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||i.height!=this.croppingParams.height,m=i.top!=this.croppingParams.top||i.left!=this.croppingParams.left,E=u.canvas.width!=this.canvasWidth||u.canvas.height!=this.canvasHeight,g=e!=this.textureWidth||t!=this.textureHeight,S=s!=this.picRotation;(_||E||S)&&c(this,i.width,i.height,s,n),(_||m||g||S)&&h(this,e,t,i,s);let v=o?0:1;v!=this.colorRange&&(u.uniform1i(this.colorRangeRef,v),this.colorRange=v),n?u.viewport(n.x,n.y,n.width,n.height):u.viewport(0,0,u.canvas.width,u.canvas.height),u.uniform1i(this.onlyRGBARef,0),u.uniform1i(this.yuvmodeRef,r.VIDEO_I420),Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.picRotation=s,this.canvasWidth=u.canvas.width,this.canvasHeight=u.canvas.height,u.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),u.clear(u.COLOR_BUFFER_BIT);var C=a,A=e*t;if(u.activeTexture(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,l),d){var R=C.subarray(0,A);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e,t,0,u.LUMINANCE,u.UNSIGNED_BYTE,R)}var T=e/2*t/2;if(u.activeTexture(u.TEXTURE1),u.bindTexture(u.TEXTURE_2D,f),d){var I=C.subarray(A,A+T);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,I)}var b=T;if(u.activeTexture(u.TEXTURE2),u.bindTexture(u.TEXTURE_2D,p),d){var O=C.subarray(A+T,A+T+b);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,O)}u.activeTexture(u.TEXTURE3),u.bindTexture(u.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?u.uniform1i(this.cursorFlagRef,1):d&&u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyCursor),u.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),u.activeTexture(u.TEXTURE5),u.bindTexture(u.TEXTURE_2D,this.previewVideoTextureRef),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyWaterMark);var D=u.getUniformLocation(this.shaderProgram,"maskSampler");u.uniform1i(D,5),this.render(),this.hasWholeFrame=1},l.prototype.updateTextureBlock=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL,o=a;if(!(!this.hasWholeFrame||e<=0||t<=0||i<0||r<0||i+e>this.textureWidth||r+t>this.textureHeight)&&a&&a.length==e*t*3/2){var n=this.yTextureRef,d=this.uTextureRef,u=this.vTextureRef,l=e*t,c=o.subarray(0,l);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.texSubImage2D(s.TEXTURE_2D,0,i,r,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,c);var h=e/2*t/2,f=o.subarray(l,l+h);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,d),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=h,_=o.subarray(l+h,l+h+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,u),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,_)}}},l.prototype.updateCursor=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this.cursorTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},l.prototype.updateWatermark=function(e,t,i){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(this.watermarkData=i,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},l.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},l.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},l.prototype.drawCursor=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(r<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var o=this.yTextureRef,n=this.uTextureRef,d=this.vTextureRef,u=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,d),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,u),e&&this.hasCursor){let e=t/this.croppingParams.width,o=i/this.croppingParams.height,n=r/this.croppingParams.width,d=a/this.croppingParams.height;this.cx=e,this.cy=o,this.cw=n,this.ch=d,s.uniform4f(this.cursorInfoRef,e,o,n,d)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},l.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},l.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},l.prototype.drawNextOuptutPictureRGBA=function(e,t,i,r){if(this.isAvaiable()){var a=r,s=this.canvasElement.getContext("2d"),o=s.getImageData(0,0,e,t);o.data.set(a),s.putImageData(o,0,0)}},l.prototype.isRGBAMode=function(e){return-1!==[r.VIDEO_RGBA,r.VIDEO_BGRA].indexOf(e)},l.prototype.updateRemoteVideoTextures=function(e,t,i,a,s){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var d=this.contextGL,u=this.yTextureRef,l=this.uTextureRef,c=this.vTextureRef;d.enable(d.BLEND),d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);const h=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!a||!a.length||a.length!=e*t*3/2&&!h||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return!1;let f=o?0:1;if(this.colorRange=f,this.rotation=s,Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=d.canvas.width,this.canvasHeight=d.canvas.height,!n)return;if(d.bindTexture(d.TEXTURE_2D,u),h)return void d.texImage2D(d.TEXTURE_2D,0,d.RGBA,e,t,0,d.RGBA,d.UNSIGNED_BYTE,a);var p=a,_=e*t,m=p.subarray(0,_);d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e,t,0,d.LUMINANCE,d.UNSIGNED_BYTE,m);let E=0,g=0;this.videoMode==r.VIDEO_I420?(E=e/2*t/2,g=E):this.videoMode==r.VIDEO_NV12&&(E=e*t/2,g=0);var S=p.subarray(_,_+E);if(d.bindTexture(d.TEXTURE_2D,l),g){d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,S);var v=p.subarray(_+E,_+E+g);d.bindTexture(d.TEXTURE_2D,c),d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,v)}else d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE_ALPHA,e/2,t/2,0,d.LUMINANCE_ALPHA,d.UNSIGNED_BYTE,S);return!0},l.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!i)return;if(!this.isAvaiable())return;var o=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,r),!s)return;o.bindTexture(o.TEXTURE_2D,this.yTextureRef);const n=0,d=o.RGBA,u=o.RGBA,l=o.UNSIGNED_BYTE;o.texImage2D(o.TEXTURE_2D,n,d,u,l,i)},l.prototype.updateSelfMaskImage=function(e,t,i){if(!(e<=0||t<=0)&&i&&i.length==e*t*4&&this.isAvaiable()){var r=this.contextGL;r.bindTexture(r.TEXTURE_2D,this.maskTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i)}},l.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},l.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var i=this.contextGL;let r=this.isRGBAMode(this.videoMode)?1:0;i.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(r,this.hasCursor,this.videoMode),this.initmask&&i.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),i.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.render()},l.prototype.readPixelsSyncRequest=function(e,t,i,r){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==i*r*4||(this.destination=new Uint8Array(i*r*4)),a=this.destination,s.flush(),s.readPixels(e,t,i,r,s.RGBA,s.UNSIGNED_BYTE,a),a}},l.prototype.updateSelfVideoTextures=function(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&i&&i.length%4==0&&this.isAvaiable()){var o=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,r),a&&(o.bindTexture(o.TEXTURE_2D,this.yTextureRef),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,e,t,0,o.RGBA,o.UNSIGNED_BYTE,i))}},l.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var a=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,i,e.width,e.height),a.viewport(e.x,e.y,e.width,e.height),t?(a.enable(a.BLEND),a.blendFunc(a.ZERO,a.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(r.VIDEO_RGBA),this.render()}},l.prototype.isSetWatermark=function(){return this.hasWaterMark},l.prototype.recoverTextures=function(){},l.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},l.prototype.setUniformFlag=function(e,t,i){if(this.isAvaiable()){var a=this.contextGL;a.uniform1i(this.onlyRGBARef,e),a.uniform1i(this.bgraModeRef,e&&i===r.VIDEO_BGRA?1:0),a.uniform1i(this.cursorFlagRef,t),e||a.uniform1i(this.yuvmodeRef,i)}},l.prototype.setVideoMode=function(e){this.videoMode=e},l.prototype.getVideoMode=function(e){return this.videoMode},l.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},l.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},l.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},l.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},l.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},l.prototype.getWatermarkPosition=function(){return this.watermarkPosition},l.prototype.setMultiView=function(e){return this.isMultiView=e},l.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},l.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},l.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},l.prototype.getFillMode=function(){return this.fillMode},l.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},l.prototype.getTextureIndex=function(){return this.textureindex},l.prototype.getTextureWidth=function(){return this.textureWidth},l.prototype.getTextureHeight=function(){return this.textureHeight},l.prototype.getCroppingParams=function(){return this.croppingParams},l.prototype.getIndex=function(){return this.textureindex},l.prototype.getWatermarkWidth=function(){return this.watermarkWidth},l.prototype.getWatermarkHeight=function(){return this.watermarkHeight},l.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},l.prototype.getAttachedCanvas=function(){return this.canvasElement},l.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},l.prototype.isUseFillMode=function(e){let{width:t,height:i,rotation:r}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!i)return!1;const a=r===this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?i/t:t/i;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)},t.default=l},function(e,t,i){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.VB_VIDEOFRAME_COPYTO_ERROR=t.VB_EVENT_TYPE=void 0,function(e){e.VB_INIT_SUCCESS="VB_INIT_SUCCESS",e.VB_INIT_FAILED="VB_INIT_FAILED",e.VB_GENERATED_FRAME="VB_GENERATED_FRAME",e.VB_SEND_FRAME="VB_SEND_FRAME",e.VB_UPDATE_BG="VB_UPDATE_BG",e.VB_PREDICT_DONE="VB_PREDICT_DONE",e.VB_MODEL_READY="VB_MODEL_READY",e.VB_FREE_MEMORY="VB_FREE_MEMORY",e.VB_VIDEO_FORMAT_UNSUPPORTED="VB_VIDEO_FORMAT_UNSUPPORTED",e.VB_WORKER_INIT="VB_WORKER_INIT",e.VB_WORKER_ERROR="VB_WORKER_ERROR",e.VB_RENDER_CANVAS="VB_RENDER_CANVAS",e.VB_RENDER_FRAME="VB_RENDER_FRAME",e.VB_START="VB_START",e.VB_REQUEST_FRAME="VB_REQUEST_FRAME",e.VB_TOGGLE_VB="VB_TOGGLE_VB",e.VB_STOP="VB_STOP",e.VB_MIRROR="VB_MIRROR",e.VB_GENERATE_STREAM="VB_GENERATE_STREAM",e.VB_STOP_STREAM="VB_STOP_STREAM",e.VB_CHANGE_STREAM_CANVAS_SIZE="VB_CHANGE_STREAM_CANVAS_SIZE",e.VB_GENERATE_FIRST_FRAME="VB_GENERATE_FIRST_FRAME",e.VB_UPDATE_STATS="VB_UPDATE_STATS",e.VB_UPDATE_NEED_FRAME="VB_UPDATE_NEED_FRAME",e.VB_UPDATE_FRAME_RATE="VB_UPDATE_FRAME_RATE",e.VB_RESOLUTION_CHANGE="VB_RESOLUTION_CHANGE"}(r||(t.VB_EVENT_TYPE=r={})),t.VB_VIDEOFRAME_COPYTO_ERROR="VB_VIDEOFRAME_COPYTO_ERROR"},function(e,t,i){var r=i(44),a=i(65),s=i(66),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?a(e):s(e)}},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return"number"==typeof e||a(e)&&"[object Number]"==r(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){"use strict";t.a=class{_drawWatermarkWithShadow(e){let{ctx:t,textPos:i,opacity:r,name:a}=e;t.fillStyle="rgba(0, 0, 0, ".concat(r,")"),t.fillText(a,i.x,i.y),t.fillStyle="rgba(255, 255, 255, ".concat(r,")"),t.fillText(a,i.x+1,i.y+1)}_getTransformInfo(e){let t,{canvas:i,position:r}=e;if(1===r)t={x:i.width/2,y:0,rateRadio:0,maxWidth:i.width};else if(2===r)t={x:i.width/2,y:i.height,rateRadio:0,maxWidth:i.width};else if(4===r)t={x:0,y:i.height/2,rateRadio:Math.PI/2,maxWidth:i.height};else if(8===r)t={x:i.width,y:i.height/2,rateRadio:-Math.PI/2,maxWidth:i.height};else{const e=-21*Math.PI/180;t={x:i.width/2,y:i.height/2,rateRadio:e,maxWidth:Math.min(i.width/Math.cos(e),-i.height/Math.sin(e))}}return t.maxWidth>100&&(t.maxWidth-=50),t}_calcTextPos(e){let{position:t,ctx:i,name:r,textWidth:a}=e;const s=this._getPaddingWidth({ctx:i,position:t,name:r});return 1===t?{x:-a.width/2,y:s}:2===t||4===t||8===t?{x:-a.width/2,y:-s}:{x:-a.width/2,y:i.measureText(r[0]).width/2}}_getPaddingWidth(e){let{ctx:t,position:i,name:r}=e;return[1,2,4,8].includes(i)?32:t.measureText(r[0]).width}_setBaseLine(e){let{ctx:t,position:i}=e;t.textBaseline=1===i?"top":2===i||4===i||8===i?"bottom":"middle"}Get_WaterMarkRGBA(e){let{canvas:t,name:i,width:r,height:a,opacity:s=.15,position:o,convertToDataUrl:n}=e;if(!i||!r||!a)return;s=s||.15;r*=1,a*=1,t.width=r,t.height=a;let d=this._getTransformInfo({canvas:t,position:o});var u=t.getContext("2d");let l;if(u.clearRect(0,0,t.width,t.height),u.translate(d.x,d.y),u.rotate(d.rateRadio),this._setBaseLine({ctx:u,position:o}),u.lineWidth=1,u.imageSmoothingEnabled=!0,1==i.length){const e=d.maxWidth/i.length;u.font=e+"px 'Segoe UI'",l=u.measureText(i)}else{let e=16;for(u.font=e+"px 'Segoe UI'",l=u.measureText(i);l.width<d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i});)e+=1,u.font=e+"px 'Segoe UI'",l=u.measureText(i);if(l.width>d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i}))if(e>16)e-=1,u.font=e+"px 'Segoe UI'",l=u.measureText(i);else{const e=i;for(;i.length>5&&l.width>d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i+"..."});)i=i.slice(0,i.length-1),l=u.measureText(i+"...");e!==i&&(i+="...")}}const c=this._calcTextPos({position:o,ctx:u,name:i,textWidth:l});var h;if(this._drawWatermarkWithShadow({ctx:u,name:i,opacity:s,textPos:c}),n)h=t.toDataURL();else{var f=u.getImageData(0,0,u.canvas.width,u.canvas.height);h=new Uint8Array(f.data.buffer)}return u.rotate(-d.rateRadio),u.translate(-d.x,-d.y),h}Get_Repeated_WaterMarkRGBA(e){let{canvas:t,name:i,width:r,height:a,opacity:s=.15,position:o,convertToDataUrl:n}=e;if(!i||!r||!a)return;s=s||.15;r*=1,a*=1,t.width=r,t.height=a;const d=t.getContext("2d");d.clearRect(0,0,t.width,t.height),d.translate(r/2,a/2),d.rotate(-21*Math.PI/180),d.imageSmoothingEnabled=!0;d.font="".concat(32,"px 'Segoe UI'"),d.textBaseline="top";const u=d.measureText(i),l=.37*u.width;let c,h=0,f=-a;do{let e=h%2==0?l-r:-r;do{d.fillStyle="rgba(0, 0, 0, ".concat(s,")"),d.fillText(i,e,f),d.fillStyle="rgba(255, 255, 255, ".concat(s,")"),d.fillText(i,e+1,f+1),e+=u.width+l}while(e<r);f+=32+l,h++}while(f<a);if(n)c=t.toDataURL();else{const e=d.getImageData(0,0,d.canvas.width,d.canvas.height);c=new Uint8Array(e.data.buffer)}return d.rotate(21*Math.PI/180),d.translate(-r/2,-a/2),c}}},function(e,t,i){var r=i(64),a=i(69);e.exports=function(e,t){var i=a(e,t);return r(i)?i:void 0}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,i){var r=i(27),a=i(32);e.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t,i){var r=i(86),a=i(32);e.exports=function(e,t,i){var s=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return a(i)&&(s="leading"in i?!!i.leading:s,o="trailing"in i?!!i.trailing:o),r(e,t,{leading:s,maxWait:t,trailing:o})}},function(e,t,i){"use strict";i.r(t);let r=function(){};r.prototype={threads:async()=>(async e=>{if(!WebAssembly.validate(e))return!1;try{return(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),!0}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),simd:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]))},t.default=new r},function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var r=i(7);class a{constructor(e){this.mediaType=e,this.firstSelect=null,this.finalSelect=null,this.webRTCProb={probTime:0,probResult:null},this.hasProcess=!1}getProbResult(){var e;const t=JSON.parse(localStorage.getItem("".concat(this.mediaType,"States")));return!1!==(null==t||null===(e=t.webRTCProb)||void 0===e?void 0:e.probResult)}updatewebRTCProbResult(e){this.webRTCProb.probTime=Date.now(),this.webRTCProb.probResult=e,this.updateLocalStorage()}updateLocalStorage(){var e,t;let i=JSON.parse(localStorage.getItem("".concat(this.mediaType,"States")))||{},a={mediaType:this.mediaType,firstSelect:this.firstSelect,finalSelect:this.finalSelect,webRTCProb:{probTime:this.webRTCProb.probTime||(null==i||null===(e=i.webRTCProb)||void 0===e?void 0:e.probTime),probResult:null===this.webRTCProb.probResult?null==i||null===(t=i.webRTCProb)||void 0===t?void 0:t.probResult:this.webRTCProb.probResult}};localStorage.setItem("".concat(this.mediaType,"States"),JSON.stringify(a)),r.default.directReport(a)}}class s{constructor(e){this.mediaType=e}getInfo(){try{return JSON.parse(localStorage.getItem("webcodec".concat(this.mediaType)))||{}}catch(e){return{}}}updateInfo(e,t){try{let i=this.getInfo(),{failed:r,total:a}=i.usedcount||{failed:0,total:0},{avgusedtime:s,usedmaxtime:o}=i.usedtime||{avgusedtime:0,usedmaxtime:0},{avgratio:n,maxratio:d}=i.ratio||{avgratio:0,maxratio:0},{avgdelay:u}=i.delay||{avgdelay:0};e.failed&&(r++,s=(3*s+e.elapsed)/4,o=e.elapsed>o?e.elapsed:o,i.usedtime=Object.assign(i.usedtime||{},{usedmaxtime:o,avgusedtime:s})),e.elapsed>31e3&&e.failed||a++,i.usedcount=Object.assign(i.usedcount||{},{failed:r,total:a}),e.outputIndex>3&&(u=(3*u+e.avgDelay)/4,i.delay=Object.assign(i.delay||{},{avgdelay:u})),e.inputIndex>5&&(n=(3*n+e.ratio)/4,d=e.ratio>d?e.ratio:d,i.ratio=Object.assign(i.ratio||{},{avgratio:n,maxratio:d}));let l=t.osVersion,c=t.browserVersion,h=t.sdkVersion;i.version={osVersion:l,browserVersion:c,sdbversion:h},localStorage.setItem("webcodec".concat(this.mediaType),JSON.stringify(i))}catch(e){r.default.error("<<< update localStorage error",e)}}}class o{constructor(){this.audioSolutionInfo=new a("audio"),this.videoEncoderInfo=new s("videoencode"),this.videoDecoderInfo=new s("videodecode")}getAudioSolutionInfo(){return this.audioSolutionInfo}getVideoEncoderInfo(){return this.videoEncoderInfo}getVideoDecoderInfo(){return this.videoDecoderInfo}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediaStreamVideoProcessorAgent=t.ShadowVideoFrameProcessor=t.VideoFrameVideoProcessorAgent=void 0;const r=i(21),a=i(94),s=i(95);class o{constructor(e,t,i=!1,a=!1){this.processorName=e,this.port=t,this.isIOSDevice=i,this.VideoFrameNeeded=a,this.frameCallback=null,this.callback=null,this.onMessage=e=>{var t,i;e.data.cmd===r.VideoProcessorEvent.FRAME_CALLBACK?null===(t=this.frameCallback)||void 0===t||t.call(this,e.data.frame):null===(i=this.callback)||void 0===i||i.call(this,e.data.cmd,e.data.data)},this.port.start(),this.port.addEventListener("message",this.onMessage);const s=this.getOutPutCanvas();s?this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_OUTPUT_CANVAS,canvas:s,processorName:e},[s]):this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_OUTPUT_CANVAS,processorName:e})}init(){this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_PROCESSOR,processorName:this.processorName})}addCallback(e){this.callback=e}removeCallback(){this.callback=null}uninit(){this.port.postMessage({cmd:r.VideoProcessorEvent.UNINIT_PROCESSOR,processorName:this.processorName}),this.port.removeEventListener("message",this.onMessage)}getOutPutCanvas(){return null}getStream(){throw new Error("Method not implemented.")}setStream(e){throw new Error("Method not implemented.")}removeStream(){}onFrame(e){throw new Error("Method not implemented.")}addFrameCallback(e){throw new Error("Method not implemented.")}removeFrameCallback(){}}class n extends o{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){this.port.postMessage({cmd:r.VideoProcessorEvent.FRAME_DATA,frame:e,processorName:this.processorName})}addFrameCallback(e){this.frameCallback=e}removeFrameCallback(){this.frameCallback=null}}t.VideoFrameVideoProcessorAgent=n;t.ShadowVideoFrameProcessor=class extends n{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){}};t.MediaStreamVideoProcessorAgent=class extends o{constructor(e,t,i,r){super(e,t,i,r),this.processorName=e,this.port=t,this.isIOSDevice=i,this.VideoFrameNeeded=r,this.initGenerator()}initGenerator(){this.originGenerator||(this.originGenerator="function"==typeof MediaStreamTrackProcessor?new a.TrackProcessorInputStream(this.port,this.processorName,this.VideoFrameNeeded):new a.CanvasCaptureInputStream(this.port,this.processorName,this.isIOSDevice,this.VideoFrameNeeded)),this.targetGenerator||(this.targetGenerator="function"==typeof MediaStreamTrackGenerator?new s.TrackGeneratorOutputStream(this.port,this.processorName):new s.CanvasCaptureOutputStream(this.port,this.processorName))}uninit(){var e,t,i,r;null===(t=null===(e=this.originGenerator)||void 0===e?void 0:e.destroy)||void 0===t||t.call(e),null===(r=null===(i=this.targetGenerator)||void 0===i?void 0:i.destroy)||void 0===r||r.call(i),super.uninit()}getOutPutCanvas(){var e,t;return this.initGenerator(),null===(t=(e=this.targetGenerator).getOutputCanvas)||void 0===t?void 0:t.call(e)}getStream(){return this.targetGenerator.getStream()}setStream(e){this.originGenerator.setStream(e)}removeStream(){this.originGenerator.removeStream()}addFrameCallback(e){this.frameCallback=e}}},function(t,i){t.exports=e},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.screenWakeLock=void 0;const s=a(i(7));const o=new class{constructor(){this.sentinel=null,this.isSupport=()=>"wakeLock"in navigator&&"request"in navigator.wakeLock,this.requestWakeLock=()=>r(this,void 0,void 0,(function*(){return this.isSupport()?this.sentinel&&!this.sentinel.released?Promise.reject("wakeLock has requested"):(yield this.release(),document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("fullscreenchange",this.handleVisibilityChange),this.initWakeLock()):Promise.reject("wakeLock API not available")})),this.release=()=>r(this,void 0,void 0,(function*(){return this.isSupport()?this.sentinel?(document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("fullscreenchange",this.handleVisibilityChange),this.sentinel.release().then(()=>(this.sentinel=null,"WakeLock release success")).catch(e=>(s.default.error("Error WakeLock release:",e),e))):"WakeLock not exist":"wakeLock API not available"})),this.handleVisibilityChange=()=>{"visible"===document.visibilityState&&(!this.sentinel||this.sentinel&&this.sentinel.released)&&(this.sentinel=null,this.initWakeLock())},this.initWakeLock=()=>r(this,void 0,void 0,(function*(){try{return this.sentinel=yield navigator.wakeLock.request("screen"),this.sentinel}catch(e){return s.default.error("Error WakeLock request:",e),Promise.reject(e)}}))}};t.screenWakeLock=o},function(e,t,i){(function(e){!function(i,r){"use strict";var a={};i.PubSub=a;var s=i.define;!function(e){var t={},i=-1;function r(e){var t;for(t in e)if(e.hasOwnProperty(t))return!0;return!1}function a(e,t,i){try{e(t,i)}catch(e){setTimeout(function(e){return function(){throw e}}(e),0)}}function s(e,t,i){e(t,i)}function o(e,i,r,o){var n,d=t[i],u=o?s:a;if(t.hasOwnProperty(i))for(n in d)d.hasOwnProperty(n)&&u(d[n],e,r)}function n(e,i,a,s){var n=function(e,t,i){return function(){var r=String(e),a=r.lastIndexOf(".");for(o(e,e,t,i);-1!==a;)a=(r=r.substr(0,a)).lastIndexOf("."),o(e,r,t,i)}}(e,i,s);return!!function(e){for(var i=String(e),a=Boolean(t.hasOwnProperty(i)&&r(t[i])),s=i.lastIndexOf(".");!a&&-1!==s;)s=(i=i.substr(0,s)).lastIndexOf("."),a=Boolean(t.hasOwnProperty(i)&&r(t[i]));return a}(e)&&(!0===a?n():setTimeout(n,0),!0)}e.publish=function(t,i){return n(t,i,!1,e.immediateExceptions)},e.publishSync=function(t,i){return n(t,i,!0,e.immediateExceptions)},e.subscribe=function(e,r){if("function"!=typeof r)return!1;t.hasOwnProperty(e)||(t[e]={});var a="uid_"+String(++i);return t[e][a]=r,a},e.subscribeOnce=function(t,i){var r=e.subscribe(t,(function(){e.unsubscribe(r),i.apply(this,arguments)}));return e},e.clearAllSubscriptions=function(){t={}},e.clearSubscriptions=function(e){var i;for(i in t)t.hasOwnProperty(i)&&0===i.indexOf(e)&&delete t[i]},e.unsubscribe=function(i){var r,a,s,o="string"==typeof i&&(t.hasOwnProperty(i)||function(e){var i;for(i in t)if(t.hasOwnProperty(i)&&0===i.indexOf(e))return!0;return!1}(i)),n=!o&&"string"==typeof i,d="function"==typeof i,u=!1;if(!o){for(r in t)if(t.hasOwnProperty(r)){if(a=t[r],n&&a[i]){delete a[i],u=i;break}if(d)for(s in a)a.hasOwnProperty(s)&&a[s]===i&&(delete a[s],u=!0)}return u}e.clearSubscriptions(i)}}(a),"function"==typeof s&&s.amd?s((function(){return a})):(void 0!==e&&e.exports&&(t=e.exports=a),t.PubSub=a,e.exports=t=a)}("object"==typeof window&&window||this)}).call(this,i(39)(e))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){var i=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)}},function(e,t,i){var r=i(23).Symbol;e.exports=r},function(e,t,i){(function(t){var i="object"==typeof t&&t&&t.Object===Object&&t;e.exports=i}).call(this,i(42))},function(e,t){var i=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t){function i(t){return e.exports=i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,i(t)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to "+i+" private field on non-instance");return t.get(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r;!function(a,s){"use strict";var o="model",n="name",d="type",u="vendor",l="version",c="mobile",h="tablet",f="smarttv",p=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},_=function(e,t){return"string"==typeof e&&-1!==m(t).indexOf(m(e))},m=function(e){return e.toLowerCase()},E=function(e,t){if("string"==typeof e)return e=e.replace(/^\s\s*/,""),void 0===t?e:e.substring(0,500)},g=function(e,t){for(var i,r,a,s,o,n,d=0;d<t.length&&!o;){var u=t[d],l=t[d+1];for(i=r=0;i<u.length&&!o&&u[i];)if(o=u[i++].exec(e))for(a=0;a<l.length;a++)n=o[++r],"object"==typeof(s=l[a])&&s.length>0?2===s.length?"function"==typeof s[1]?this[s[0]]=s[1].call(this,n):this[s[0]]=s[1]:3===s.length?"function"!=typeof s[1]||s[1].exec&&s[1].test?this[s[0]]=n?n.replace(s[1],s[2]):void 0:this[s[0]]=n?s[1].call(this,n,s[2]):void 0:4===s.length&&(this[s[0]]=n?s[3].call(this,n.replace(s[1],s[2])):void 0):this[s]=n||void 0;d+=2}},S=function(e,t){for(var i in t)if("object"==typeof t[i]&&t[i].length>0){for(var r=0;r<t[i].length;r++)if(_(t[i][r],e))return"?"===i?void 0:i}else if(_(t[i],e))return"?"===i?void 0:i;return e},v={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},C={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[l,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[l,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,l],[/opios[\/ ]+([\w\.]+)/i],[l,[n,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[l,[n,"Opera"]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[l,[n,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,l],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[l,[n,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[l,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[l,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[l,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[l,[n,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[l,[n,"Smart Lenovo Browser"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure Browser"],l],[/\bfocus\/([\w\.]+)/i],[l,[n,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[l,[n,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[l,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[l,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[l,[n,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[l,[n,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[l,[n,"Firefox"]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 Browser"]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 Browser"],l],[/samsungbrowser\/([\w\.]+)/i],[l,[n,"Samsung Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],l],[/metasr[\/ ]?([\d\.]+)/i],[l,[n,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[n,"Sogou Mobile"],l],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[n,l],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,"Facebook"],l],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[n,l],[/\bgsa\/([\w\.]+) .*safari\//i],[l,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[l,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[l,[n,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,"Chrome WebView"],l],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[l,[n,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,l],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[l,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[l,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[l,S,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,l],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],l],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[l,[n,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,l],[/(cobalt)\/([\w\.]+)/i],[n,[l,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[["architecture","amd64"]],[/(ia32(?=;))/i],[["architecture",m]],[/((?:i[346]|x)86)[;\)]/i],[["architecture","ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[["architecture","arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[["architecture","armhf"]],[/windows (ce|mobile); ppc;/i],[["architecture","arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[["architecture",/ower/,"",m]],[/(sun4\w)[;\)]/i],[["architecture","sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[["architecture",m]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[o,[u,"Samsung"],[d,h]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[o,[u,"Samsung"],[d,c]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[o,[u,"Apple"],[d,c]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[o,[u,"Apple"],[d,h]],[/(macintosh);/i],[o,[u,"Apple"]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[o,[u,"Sharp"],[d,c]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[o,[u,"Huawei"],[d,h]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[o,[u,"Huawei"],[d,c]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[o,/_/g," "],[u,"Xiaomi"],[d,c]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[o,/_/g," "],[u,"Xiaomi"],[d,h]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[o,[u,"OPPO"],[d,c]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[o,[u,"Vivo"],[d,c]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[o,[u,"Realme"],[d,c]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[o,[u,"Motorola"],[d,c]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[o,[u,"Motorola"],[d,h]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[o,[u,"LG"],[d,h]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[o,[u,"LG"],[d,c]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[o,[u,"Lenovo"],[d,h]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[o,/_/g," "],[u,"Nokia"],[d,c]],[/(pixel c)\b/i],[o,[u,"Google"],[d,h]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[o,[u,"Google"],[d,c]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[o,[u,"Sony"],[d,c]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[o,"Xperia Tablet"],[u,"Sony"],[d,h]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[o,[u,"OnePlus"],[d,c]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[o,[u,"Amazon"],[d,h]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[o,/(.+)/g,"Fire Phone $1"],[u,"Amazon"],[d,c]],[/(playbook);[-\w\),; ]+(rim)/i],[o,u,[d,h]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[o,[u,"BlackBerry"],[d,c]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[o,[u,"ASUS"],[d,h]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[o,[u,"ASUS"],[d,c]],[/(nexus 9)/i],[o,[u,"HTC"],[d,h]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[u,[o,/_/g," "],[d,c]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[o,[u,"Acer"],[d,h]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[o,[u,"Meizu"],[d,c]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[o,[u,"Ulefone"],[d,c]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[u,o,[d,c]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[u,o,[d,h]],[/(surface duo)/i],[o,[u,"Microsoft"],[d,h]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[o,[u,"Fairphone"],[d,c]],[/(u304aa)/i],[o,[u,"AT&T"],[d,c]],[/\bsie-(\w*)/i],[o,[u,"Siemens"],[d,c]],[/\b(rct\w+) b/i],[o,[u,"RCA"],[d,h]],[/\b(venue[\d ]{2,7}) b/i],[o,[u,"Dell"],[d,h]],[/\b(q(?:mv|ta)\w+) b/i],[o,[u,"Verizon"],[d,h]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[o,[u,"Barnes & Noble"],[d,h]],[/\b(tm\d{3}\w+) b/i],[o,[u,"NuVision"],[d,h]],[/\b(k88) b/i],[o,[u,"ZTE"],[d,h]],[/\b(nx\d{3}j) b/i],[o,[u,"ZTE"],[d,c]],[/\b(gen\d{3}) b.+49h/i],[o,[u,"Swiss"],[d,c]],[/\b(zur\d{3}) b/i],[o,[u,"Swiss"],[d,h]],[/\b((zeki)?tb.*\b) b/i],[o,[u,"Zeki"],[d,h]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[u,"Dragon Touch"],o,[d,h]],[/\b(ns-?\w{0,9}) b/i],[o,[u,"Insignia"],[d,h]],[/\b((nxa|next)-?\w{0,9}) b/i],[o,[u,"NextBook"],[d,h]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[u,"Voice"],o,[d,c]],[/\b(lvtel\-)?(v1[12]) b/i],[[u,"LvTel"],o,[d,c]],[/\b(ph-1) /i],[o,[u,"Essential"],[d,c]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[o,[u,"Envizen"],[d,h]],[/\b(trio[-\w\. ]+) b/i],[o,[u,"MachSpeed"],[d,h]],[/\btu_(1491) b/i],[o,[u,"Rotor"],[d,h]],[/(shield[\w ]+) b/i],[o,[u,"Nvidia"],[d,h]],[/(sprint) (\w+)/i],[u,o,[d,c]],[/(kin\.[onetw]{3})/i],[[o,/\./g," "],[u,"Microsoft"],[d,c]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[o,[u,"Zebra"],[d,h]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[o,[u,"Zebra"],[d,c]],[/smart-tv.+(samsung)/i],[u,[d,f]],[/hbbtv.+maple;(\d+)/i],[[o,/^/,"SmartTV"],[u,"Samsung"],[d,f]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[u,"LG"],[d,f]],[/(apple) ?tv/i],[u,[o,"Apple TV"],[d,f]],[/crkey/i],[[o,"Chromecast"],[u,"Google"],[d,f]],[/droid.+aft(\w+)( bui|\))/i],[o,[u,"Amazon"],[d,f]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[o,[u,"Sharp"],[d,f]],[/(bravia[\w ]+)( bui|\))/i],[o,[u,"Sony"],[d,f]],[/(mitv-\w{5}) bui/i],[o,[u,"Xiaomi"],[d,f]],[/Hbbtv.*(technisat) (.*);/i],[u,o,[d,f]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[u,E],[o,E],[d,f]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,f]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[u,o,[d,"console"]],[/droid.+; (shield) bui/i],[o,[u,"Nvidia"],[d,"console"]],[/(playstation [345portablevi]+)/i],[o,[u,"Sony"],[d,"console"]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[o,[u,"Microsoft"],[d,"console"]],[/((pebble))app/i],[u,o,[d,"wearable"]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[o,[u,"Apple"],[d,"wearable"]],[/droid.+; (glass) \d/i],[o,[u,"Google"],[d,"wearable"]],[/droid.+; (wt63?0{2,3})\)/i],[o,[u,"Zebra"],[d,"wearable"]],[/(quest( 2| pro)?)/i],[o,[u,"Facebook"],[d,"wearable"]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[u,[d,"embedded"]],[/(aeobc)\b/i],[o,[u,"Amazon"],[d,"embedded"]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[o,[d,c]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[o,[d,h]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,h]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,c]],[/(android[-\w\. ]{0,9});.+buil/i],[o,[u,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[l,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[l,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,l],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[l,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,l],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[n,[l,S,v]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,S,v],[n,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[l,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,"Mac OS"],[l,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[l,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,l],[/\(bb(10);/i],[l,[n,"BlackBerry"]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[l,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[l,[n,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[l,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[l,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[l,[n,"Chromecast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,"Chromium OS"],l],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,l],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],l],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,l]]},A=function(e,t){if("object"==typeof e&&(t=e,e=void 0),!(this instanceof A))return new A(e,t).getResult();var i=void 0!==a&&a.navigator?a.navigator:void 0,r=e||(i&&i.userAgent?i.userAgent:""),s=i&&i.userAgentData?i.userAgentData:void 0,u=t?function(e,t){var i={};for(var r in e)t[r]&&t[r].length%2==0?i[r]=t[r].concat(e[r]):i[r]=e[r];return i}(C,t):C,f=i&&i.userAgent==r;return this.getBrowser=function(){var e,t={};return t[n]=void 0,t[l]=void 0,g.call(t,r,u.browser),t.major="string"==typeof(e=t[l])?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,f&&i&&i.brave&&"function"==typeof i.brave.isBrave&&(t[n]="Brave"),t},this.getCPU=function(){var e={architecture:void 0};return g.call(e,r,u.cpu),e},this.getDevice=function(){var e={vendor:void 0,model:void 0,type:void 0};return g.call(e,r,u.device),f&&!e[d]&&s&&s.mobile&&(e[d]=c),f&&"Macintosh"==e[o]&&i&&void 0!==i.standalone&&i.maxTouchPoints&&i.maxTouchPoints>2&&(e[o]="iPad",e[d]=h),e},this.getEngine=function(){var e={name:void 0,version:void 0};return g.call(e,r,u.engine),e},this.getOS=function(){var e={name:void 0,version:void 0};return g.call(e,r,u.os),f&&!e[n]&&s&&"Unknown"!=s.platform&&(e[n]=s.platform.replace(/chrome os/i,"Chromium OS").replace(/macos/i,"Mac OS")),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r="string"==typeof e&&e.length>500?E(e,500):e,this},this.setUA(r),this};A.VERSION="1.0.37",A.BROWSER=p([n,l,"major"]),A.CPU=p(["architecture"]),A.DEVICE=p([o,u,d,"console",c,f,h,"wearable","embedded"]),A.ENGINE=A.OS=p([n,l]),void 0!==t?(void 0!==e&&e.exports&&(t=e.exports=A),t.UAParser=A):i(58)?void 0===(r=function(){return A}.call(t,i,t,e))||(e.exports=r):void 0!==a&&(a.UAParser=A);var R=void 0!==a&&(a.jQuery||a.Zepto);if(R&&!R.ua){var T=new A;R.ua=T.getResult(),R.ua.get=function(){return T.getUA()},R.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var i in t)R.ua[i]=t[i]}}}("object"==typeof window?window:this)},function(e,t,i){var r=i(59),a=i(62),s=i(74),o=i(76),n=i(77),d=i(78),u=i(43),l=i(80),c=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(n(e)&&(o(e)||"string"==typeof e||"function"==typeof e.splice||d(e)||l(e)||s(e)))return!e.length;var t=a(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(u(e))return!r(e).length;for(var i in e)if(c.call(e,i))return!1;return!0}},function(e,t,i){"use strict";(function(e){var r=i(34),a=i.n(r),s=i(19),o=i(15),n=i(2),d=i(28),u=i.n(d),l=i(53),c=i.n(l),h=i(3),f=i(5);const p=Object(s.a)("sdk.remoteControl"),_=0,m=0,E=83,g=82,S=84,v=85,C=87,A=88;function R(e){let t=this;this.dom=e.dom,this.socketURL=e.socketURL,this.meetingID=e.meetingID,this.condID=e.condID,this.blobSocket=null;let i=this._keyMouseEventHandler.bind(this);this.keyMouseEventHandler=function(e){t.keyMouseFilters(e).then(e=>{i(e)})},this.keyMouseEventHandlerThrottle=a()((function(e){t.keyMouseEventHandler(e)}),1e3/24),this.pasteOnDocument=this._pasteOnDocument.bind(this),this.copyOnDocument=this._copyOnDocument.bind(this),this.cutOnDocument=this._cutOnDocument.bind(this),this.focus=this._focus.bind(this),this.PUBSUB_SHARING_PARAM_INFO_TOKEN=null,this.preventDefault=this._preventDefault.bind(this),this.browserBlurEventHandler=this._browserBlurEventHandler.bind(this),this.positionMap={canvas:{offsetX:0,offsetY:0},src:{x:0,y:0,w:0,h:0,scaleWidth:0,scaleHeight:0},dst:{x:0,y:0,w:0,h:0}},this.blockedKeyboardEventOfPaste=[],this.keydownupMergeRemoveMap={},this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map={},this.PASTE_MAX_BYTE_LENGTH=64e3,this.currentMousePositionProps={clientX:0,clientY:0,x2video:0,y2video:0},this.isControllerNow=!0,this.remoteOS=f.e.UNKNOWN,this.localOS=this.getLocalOS(),this._blockedCopyKeyboardList=[],this.maxSleep=500}R.prototype={start(){return new Promise(async(e,t)=>{try{p("remote control start"),this.modifyDom(),this.bindEvent(),this.subscribeSharingWidthOrHeightChange(),await this.connectSocket(),this.sendPostionPDU(),this.socketBlobMessageHandler(),e(!0)}catch(e){t(e)}})},destroy(){return new Promise((e,t)=>{try{p("destroy remote control"),this.unbindEvent(),this.uncheckAndClearKeydownupMergeRemoveMap(),this.destroySocket(),o.a.unsubscribe(this.PUBSUB_SHARING_PARAM_INFO_TOKEN),e(!0)}catch(t){p(t),e(!1)}})},modifyDom(){try{this.dom.setAttribute("tabindex","0"),this.dom.focus()}catch(e){}},_focus(){this.dom.focus()},getLocalOS(){let t=e.navigator.platform;return/win/i.test(t)?f.e.WIN:/mac/i.test(t)?f.e.MAC:f.e.UNKNOWN},setIsControlerNow(e){this.isControllerNow=e},blobSocketCheckAndSend(e){this.isControllerNow&&this.blobSocket.send(e)},isKeyboardEvent:e=>!!e&&(e.type&&-1!==["keydown","keyup"].indexOf(e.type.toLowerCase())),isThisKeyIgnoreCase:(e,t)=>e.key&&e.key.toLowerCase()==t.toLowerCase(),async _copyOnDocument(e){if(!this.isFocusNow())return;let t=this._blockedCopyKeyboardList;"done"!=t[t.length-1]&&(this._blockedCopyKeyboardList=[],this._blockedCopyKeyboardList.push("done"),p("copyOnDocument",e),this.processMonitorCtrlMetaWithKey("c"))},async _cutOnDocument(e){this.isFocusNow()&&(p("_cutOnDocument",e),this.processMonitorCtrlMetaWithKey("x"))},processMonitorCtrlMetaWithKey(e){let t=0,i=1,r=2,a=this.remoteOS===f.e.MAC,s={t:"keydown",event_type:1,repeat:!1,alt:!1,shift:!1,capslock:!1,numlock:!0,pduType:v,ctrl:!a,super:a},o=Object.assign({},s,{charCode:0,keyCode:a?91:17,key:a?"Meta":"Control"}),n=Object.assign({},s,{charCode:e.charCodeAt(0),keyCode:e.toUpperCase().charCodeAt(0),key:e}),d=Object.assign({},o,{input_event_type:t}),u=(Object.assign({},o,{input_event_type:r}),Object.assign({},n,{input_event_type:t})),l=(Object.assign({},n,{input_event_type:r}),Object.assign({},o,{t:"keyup",ctrl:!1,super:!1,input_event_type:i})),c=Object.assign({},n,{t:"keyup",ctrl:!1,super:a,input_event_type:i});(a?[d,u,c,l]:[d,u,l,c]).forEach(e=>{this.processEvent(e)})},isFocusNow(){return this.dom===document.activeElement},async _pasteOnDocument(e){if(this.isFocusNow()){let t=(e.clipboardData||window.clipboardData).getData("text");p("_pasteOnDocument",t);let i=[];for(let e=0;e<t.length;e++){let r=t[e],a=c.a.encode(r);for(let e=0;e<a.length;e++)i.push(a.charCodeAt(e))}let r=new ArrayBuffer(8+i.length),a=new Uint8Array(r),s=new DataView(r,4,4),o=new Uint8Array(r,8);a[0]=C,s.setUint32(0,i.length,!0);for(let e=0;e<i.length;e++)o[e]=i[e];i.length>this.PASTE_MAX_BYTE_LENGTH?(this.triggerPasteTextLengthOverflow(),this.dropAllEventFromBlockedKeyboardEventOfPaste()):(this.blobSocketCheckAndSend(r),this.processMonitorCtrlMetaWithKey("v"))}},onReturnCopiedText(e){!this._onReturnCopiedText_list&&(this._onReturnCopiedText_list=[]),this._onReturnCopiedText_list.push(e)},triggerReturnCopiedText(e){this._onReturnCopiedText_list&&this._onReturnCopiedText_list.forEach(t=>t(e))},onPasteTextLengthOverflow(e){!this._onPasteTextLengthOverflow_list&&(this._onPasteTextLengthOverflow_list=[]),this._onPasteTextLengthOverflow_list.push(e)},triggerPasteTextLengthOverflow(){this._onPasteTextLengthOverflow_list&&this._onPasteTextLengthOverflow_list.forEach(e=>e())},dropAllEventFromBlockedKeyboardEventOfPaste(){this.blockedKeyboardEventOfPaste=[]},createParamsFromKeyboardEvent:e=>({key:e.key,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,repeat:e.repeat,charCode:e.charCode,keyCode:e.keyCode,which:e.which,ctrlKey:e.ctrlKey,metaKey:e.metaKey}),sendAllEventFromBlockedKeyboardEventOfPaste(){for(p("blockedKeyboardEventOfPaste.length",this.blockedKeyboardEventOfPaste.length);this.blockedKeyboardEventOfPaste.length>0;){let e=this.blockedKeyboardEventOfPaste.shift();this._keyMouseEventHandler(e)}},_preventDefault(e){if(-1!==["keydown","keyup"].indexOf(e.type)){let t=["v","c","x"];for(let i=0;i<t.length;i++)if(e.ctrlKey^e.metaKey&&this.isThisKeyIgnoreCase(e,t[i]))return}e.preventDefault()},subscribeSharingWidthOrHeightChange(){let e=this;this.PUBSUB_SHARING_PARAM_INFO_TOKEN=o.a.on(n.SHARING_PARAM_INFO_FROM_SOCKET,(t,i)=>{p("subscribeSharingWidthOrHeightChange",i.body),e.positionMap.dst.w=i.body.logicWidth,e.positionMap.dst.h=i.body.logicHeight,e.positionMap.src.w=i.body.logicWidth,e.positionMap.src.h=i.body.logicHeight,e.sendPostionPDU()})},setDstWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of destination sharing video width/height are not correct");this.positionMap.dst.w=e,this.positionMap.dst.h=t},setSrcWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of source sharing video width/height are not correct");this.positionMap.src.w=e,this.positionMap.src.h=t},setSrcWidthAndHeightAndSendPDU(e,t){if(!e||!t)throw new Error("the value of source sharing video width/height are not correct");this.positionMap.src.w!==e&&this.positionMap.src.h!==t&&(this.setSrcWidthAndHeight(e,t),this.sendPostionPDU())},setSrcOffsetXYAndSendPDU(e,t){e=Math.floor(e),t=Math.floor(t),this.positionMap.canvas.offsetX===e&&this.positionMap.canvas.offsetY===t||(this.setSrcOffsetXY(e,t),this.sendPostionPDU())},setSrcScaleWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of source sharing video scaleWidth/scaleHeight are not correct");this.positionMap.src.scaleWidth=e,this.positionMap.src.scaleHeight=t},setSrcOffsetXY(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=Math.floor(e),r=Math.floor(t);if(!u()(i)&&!u()(r))throw new Error("the value of source offset x or y is not correct");this.positionMap.canvas.offsetX=i,this.positionMap.canvas.offsetY=r},sendPostionPDU(){let e=new ArrayBuffer(36),t=new Uint8Array(e),i=new DataView(e,4),r=new DataView(e,20);t[0]=g,i.setInt32(0,this.positionMap.src.x,!0),i.setInt32(4,this.positionMap.src.y,!0),i.setInt32(8,this.positionMap.src.w,!0),i.setInt32(12,this.positionMap.src.h,!0),r.setInt32(0,this.positionMap.dst.x,!0),r.setInt32(4,this.positionMap.dst.y,!0),r.setInt32(8,this.positionMap.dst.w,!0),r.setInt32(12,this.positionMap.dst.h,!0),p("send position pdu");try{this.blobSocket.send(e)}catch(e){}},unbindEvent(){let e=this.dom;e.removeEventListener("click",this.focus),e.removeEventListener("keydown",this.keyMouseEventHandler),e.removeEventListener("keyup",this.keyMouseEventHandler),document.removeEventListener("paste",this.pasteOnDocument),document.removeEventListener("copy",this.copyOnDocument),document.removeEventListener("cut",this.cutOnDocument),e.removeEventListener("contextmenu",this.preventDefault),e.removeEventListener("wheel",this.preventDefault),e.removeEventListener("dblclick",this.preventDefault),e.removeEventListener("keydown",this.preventDefault),e.removeEventListener("keyup",this.preventDefault),e.removeEventListener("dblclick",this.keyMouseEventHandler),e.removeEventListener("mousedown",this.keyMouseEventHandler),e.removeEventListener("mouseup",this.keyMouseEventHandler),e.removeEventListener("mousemove",this.keyMouseEventHandlerThrottle),e.removeEventListener("wheel",this.keyMouseEventHandler),window.removeEventListener("blur",this.browserBlurEventHandler)},bindEvent(){let e=this.dom;p("dom",e),e.addEventListener("click",this.focus),e.addEventListener("keydown",this.keyMouseEventHandler),e.addEventListener("keyup",this.keyMouseEventHandler),document.addEventListener("paste",this.pasteOnDocument),document.addEventListener("copy",this.copyOnDocument),document.addEventListener("cut",this.cutOnDocument),e.addEventListener("contextmenu",this.preventDefault),e.addEventListener("wheel",this.preventDefault),e.addEventListener("dblclick",this.preventDefault),e.addEventListener("keydown",this.preventDefault),e.addEventListener("keyup",this.preventDefault),e.addEventListener("dblclick",this.keyMouseEventHandler),e.addEventListener("mousedown",this.keyMouseEventHandler),e.addEventListener("mouseup",this.keyMouseEventHandler),e.addEventListener("mousemove",this.keyMouseEventHandlerThrottle),e.addEventListener("wheel",this.keyMouseEventHandler),window.addEventListener("blur",this.browserBlurEventHandler)},recordCurrentMousePosition(e){try{let t=this.positionMap,i=e.clientX,r=e.clientY;Object.assign(this.currentMousePositionProps,{clientX:i,clientY:r,x2video:i-t.canvas.offsetX,y2video:r-t.canvas.offsetY})}catch(e){}},resolvePosition(e){let t=e.clientX,i=e.clientY,r=this.positionMap;return t-=r.canvas.offsetX,i-=r.canvas.offsetY,t*=r.dst.w/r.src.scaleWidth,i*=r.dst.h/r.src.scaleHeight,t=Math.floor(t),i=Math.floor(i),{x:t,y:i}},generateBuffer(e){if(void 0!==e.key&&!/^[\x00-\x7F]*$/.test(e.key))throw new Error("params.key must only contain ascii character");let t=8;(e=Object.assign({v:0,x:0,y:0,dx:0,dy:0,repeat:0},e)).pduType===S&&(t+=4);let i=new ArrayBuffer(t),r=new Uint8Array(i),a=new DataView(i,4),s=new DataView(i,4);if(r[0]=e.pduType,r[1]=63&e.input_event_type,e.pduType===E)a.setUint16(0,e.x,!0),a.setUint16(2,e.y,!0);else if(e.pduType===S)s.setInt16(0,e.x,!0),s.setInt16(2,e.y,!0),s.setInt16(4,e.dx,!0),s.setInt16(6,e.dy,!0);else if(e.pduType===v){let t=new DataView(i,4),a=new DataView(i,6),s=new Uint8Array(i,2);t.setUint16(0,e.keyCode,!0),a.setUint16(0,e.charCode,!0);let o={shift:1,capslock:2,ctrl:4,alt:8,numlock:16,super:32},n=0;Object.keys(o).forEach(t=>{!0===e[t]&&(n+=o[t])}),s[0]=n,e.repeat&&(r[1]=32|r[1])}return i},processEvent(e){this.blobSocket&&this.blobSocketCheckAndSend(this.generateBuffer(e))},debug(e){let t=[],i={};t=e.pduType===v?["t","keyCode","charCode","key"]:["t","x","y","dx","dy","input_event_type"],t.forEach(t=>{i[t]=e[t]}),p("debug",JSON.stringify(i))},blockedPasteKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isPasteEvent(e)?t.blockedKeyboardEventOfPaste.push(e):i(e)})},isPasteEvent(e){let t=this.isThisKeyIgnoreCase(e,"v");return!!(e.ctrlKey^e.metaKey&&t)},isCopyEvent(e){let t=this.isThisKeyIgnoreCase(e,"c");return!!(e.ctrlKey^e.metaKey&&t)},isCutEvent(e){let t=this.isThisKeyIgnoreCase(e,"x");return!!(e.ctrlKey^e.metaKey&&t)},returnNewEventByTransformCtrlKeyOrCommandKey(e){let t=this.createParamsFromKeyboardEvent(e);switch(this.remoteOS){case f.e.WIN:Object.assign(t,{ctrlKey:!0,metaKey:!1});break;case f.e.MAC:Object.assign(t,{ctrlKey:!1,metaKey:!0});break;case f.e.UNKNOWN:}return new e.constructor(e.type,t)},transformCtrlCAndCommandC(e){let t=this;return new Promise((i,r)=>{if(this.isKeyboardEvent(e)&&(e.ctrlKey||e.metaKey)&&t.isThisKeyIgnoreCase(e,"c")){t.createParamsFromKeyboardEvent(e);i(t.returnNewEventByTransformCtrlKeyOrCommandKey(e))}else i(e)})},keyMouseEventHandlerFilter_MatainKeyDownUpMergeMap(e){return new Promise((t,i)=>{try{this.isKeyboardEvent(e)&&e.key&&("keydown"!==e.type||e.repeat||(this.keydownupMergeRemoveMap[e.key]={t:+new Date,e:e}),"keydown"===e.type&&e.repeat&&delete this.keydownupMergeRemoveMap[e.key],"keyup"===e.type&&delete this.keydownupMergeRemoveMap[e.key])}catch(e){p.error(e)}t(e)})},_browserBlurEventHandler(){this._checkAndClearKeydownupMergeRemoveMap(this.maxSleep,!0)},checkAndClearKeydownupMergeRemoveMap(){let e=this;this.checkAndClearKeydownupMergeRemoveMapInterval=setInterval(()=>{e._checkAndClearKeydownupMergeRemoveMap(this.maxSleep)},100)},_checkAndClearKeydownupMergeRemoveMap(e,t){let i=this.keydownupMergeRemoveMap;Object.keys(i).forEach(r=>{let a=i[r];if(+new Date-a.t>=e||t){let e=new a.e.constructor("keyup",a.e);try{this._keyMouseEventHandler(e)}catch(e){}delete this.keydownupMergeRemoveMap[r]}})},uncheckAndClearKeydownupMergeRemoveMap(){this._checkAndClearKeydownupMergeRemoveMap(0),clearInterval(this.checkAndClearKeydownupMergeRemoveMapInterval)},keyMouseFilters(e){return new Promise((t,i)=>{t(e)}).then(e=>this.blockedPasteKeyboard(e)).then(e=>this.blockedCopyKeyboard(e)).then(e=>this.blockedCutKeyboard(e)).then(e=>this.keyMouseEventHandlerFilter_MatainKeyDownUpMergeMap(e)).then(e=>this.blockedSomeKeyboardEventNotHaveKeydownBefore(e)).then(e=>this.keyMouseEventHandlerFilter_EVERY_KEYUP_MUST_HAVE_KEYDOWN_BEFORE(e))},blockedSingleMetaKey(e){return new Promise((t,i)=>{this.isKeyboardEvent(e)&&e.key&&(/command/i.test(e.key)||/meta/i.test(e.key)||/control/i.test(e.key))&&!e.shiftKey&&!e.altKey&&e.ctrlKey^e.metaKey||t(e)})},blockedCutKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isCutEvent(e)||i(e)})},blockedCopyKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isCopyEvent(e)?t._blockedCopyKeyboardList.push(e):i(e)})},blockedSomeKeyboardEventNotHaveKeydownBefore(e){return new Promise((t,i)=>{if(this.isKeyboardEvent(e)&&e.key){let t=!1;if(["x","c","v"].forEach(i=>{this.isThisKeyIgnoreCase(e,i)&&(t=!0)}),"keyup"===e.type&&t){if(!!!this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key])return}}t(e)})},keyMouseEventHandlerFilter_EVERY_KEYUP_MUST_HAVE_KEYDOWN_BEFORE(e){return new Promise((t,i)=>{try{if(this.isKeyboardEvent(e)&&e.key&&("keydown"===e.type&&(this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key]=e),"keyup"===e.type)){let t=!!this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key];delete this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key];let i=!1;if(["meta"].forEach(t=>{this.isThisKeyIgnoreCase(e,t)&&(i=!0)}),!t&&!i){p.warn("keyup trigger, but no keydown before");let t=new e.constructor("keydown",e);this._keyMouseEventHandler(t)}}}catch(e){p.error(e)}t(e)})},_keyMouseEventHandler(e){this.isKeyboardEvent(e)&&p("_keyMouseEventHandler keyboard",e);let t={},i={keydown:0,keyup:1,keychar:2},r={mousemove:0,mousedown:{left:1,right:4,middle:7},mouseup:{left:2,right:5,middle:8},mouseleftdbldown:3,mouserightdbldown:6,wheel:10},a=e.getModifierState?function(t){return e.getModifierState(t)}:function(e,t){return t},s=_,o=e.key&&1===e.key.length;if(-1!==["keydown","keyup"].indexOf(e.type))t.event_type=1,s=v,void 0!==i[e.type]&&(t.input_event_type=i[e.type]);else{if(-1===["mousedown","mouseup","mousemove","wheel","click","dblclick","contextmenu"].indexOf(e.type))return void p.warn("the event type cannot be handled");{t.event_type=0,this.recordCurrentMousePosition(e);let i=this.resolvePosition(e);if(Object.assign(t,{x:i.x,y:i.y}),s="wheel"===e.type?S:E,void 0!==r[e.type]&&(t.input_event_type=r[e.type]),-1!==["mousedown","mouseup"].indexOf(e.type)){let i;switch(e.button){case 0:i="left";break;case 1:i="middle";break;case 2:i="right";break;default:i="left"}t.input_event_type=r[e.type][i]}-1!==["dblclick"].indexOf(e.type)&&(t.input_event_type=r.mouseleftdbldown)}}if("wheel"===e.type){let i={deltaX:"dx",deltaY:"dy"};Object.keys(i).forEach(r=>{e[r]&&(t[i[r]]=e[r]>0?-100:100)})}const n=this.ctrlMetaConvert({keyCode:e.keyCode,key:e.key,ctrlKey:e.ctrlKey,metaKey:e.metaKey});Object.assign(t,{t:e.type,pduType:s,keyCode:n.keyCode,charCode:o?e.key.charCodeAt(0):0,key:n.key,repeat:e.repeat,ctrl:n.ctrlKey,alt:e.altKey,super:n.metaKey,shift:e.shiftKey,capslock:a("CapsLock",!1),numlock:a("NumLock",!1)}),this.isKeyboardEvent(e)&&p("processEvent",JSON.stringify(t)),this.processEvent(t)},ctrlMetaConvert(e){const t=e.metaKey,i=e.ctrlKey;return(this.remoteOS===f.e.MAC&&this.localOS===f.e.WIN||this.remoteOS===f.e.WIN&&this.localOS===f.e.MAC)&&e.key&&(/Meta/i.test(e.key)?(e.ctrlKey=!0,e.keyCode=17,e.metaKey=i,e.key="Control"):/Control/i.test(e.key)&&(e.metaKey=!0,e.keyCode=91,e.ctrlKey=t,e.key="Meta")),e},isCapslock(e){var t=e.keyCode,i=e.key,r=e.shiftKey;return!!/[a-zA-Z]/.test(i)&&(i.charCodeAt(0)!==t?!r:r)},async stop(){this.blobSocket&&this.blobSocket.close(),this.blobSocket=null},async connectSocket(){var e=await this.createBlobSocket("".concat(this.socketURL,"/wc/media/").concat(this.meetingID,"?type=r&mode=2&cid=").concat(this.condID));return e.binaryType="blob",this.blobSocket=e,!0},socketBlobMessageHandler(){if(this.blobSocket){let e=this;this.blobSocket.addEventListener("message",(async function(t){let i=t.data,r=await h.default.readBlobAsBuffer(i,i.size),a=new Int8Array(r),s=a[0];if(s===A&&e.isControllerNow){let t=i.slice(8),r=await h.default.readBlob(t),s=a[4];p("COPY_TEXT_FROM_RWG",r,s),e.triggerReturnCopiedText({data:r,x:e.currentMousePositionProps.x2video,y:e.currentMousePositionProps.y2video})}s===m&&e.blobSocket.send(r)}))}},destroySocket(){try{this.blobSocket.close(),this.blobSocket=null}catch(e){p("destroySocket",e)}},createBlobSocket:e=>new Promise((t,i)=>{var r=new WebSocket(e);r.addEventListener("open",()=>{}),r.addEventListener("message",e=>{try{let i=JSON.parse(e.data);0===i.evt&&i.body&&t(r)}catch(e){}}),r.addEventListener("error",e=>{i(e)}),r.addEventListener("close",()=>{i(new Error("socket close"))})}),setRemoteOS(e){void 0!==e&&(this.remoteOS=e)}},t.a=R}).call(this,i(42))},function(e,t,i){!function(e){var t,i,r,a=String.fromCharCode;function s(e){for(var t,i,r=[],a=0,s=e.length;a<s;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<s?56320==(64512&(i=e.charCodeAt(a++)))?r.push(((1023&t)<<10)+(1023&i)+65536):(r.push(t),a--):r.push(t);return r}function o(e){if(e>=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function n(e,t){return a(e>>t&63|128)}function d(e){if(0==(4294967168&e))return a(e);var t="";return 0==(4294965248&e)?t=a(e>>6&31|192):0==(4294901760&e)?(o(e),t=a(e>>12&15|224),t+=n(e,6)):0==(4292870144&e)&&(t=a(e>>18&7|240),t+=n(e,12),t+=n(e,6)),t+=a(63&e|128)}function u(){if(r>=i)throw Error("Invalid byte index");var e=255&t[r];if(r++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function l(){var e,a;if(r>i)throw Error("Invalid byte index");if(r==i)return!1;if(e=255&t[r],r++,0==(128&e))return e;if(192==(224&e)){if((a=(31&e)<<6|u())>=128)return a;throw Error("Invalid continuation byte")}if(224==(240&e)){if((a=(15&e)<<12|u()<<6|u())>=2048)return o(a),a;throw Error("Invalid continuation byte")}if(240==(248&e)&&(a=(7&e)<<18|u()<<12|u()<<6|u())>=65536&&a<=1114111)return a;throw Error("Invalid UTF-8 detected")}e.version="3.0.0",e.encode=function(e){for(var t=s(e),i=t.length,r=-1,a="";++r<i;)a+=d(t[r]);return a},e.decode=function(e){t=s(e),i=t.length,r=0;for(var o,n=[];!1!==(o=l());)n.push(o);return function(e){for(var t,i=e.length,r=-1,s="";++r<i;)(t=e[r])>65535&&(s+=a((t-=65536)>>>10&1023|55296),t=56320|1023&t),s+=a(t);return s}(n)}}(t)},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return!0===e||!1===e||a(e)&&"[object Boolean]"==r(e)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatisticHelper=void 0;t.StatisticHelper=class{constructor(){this.timeMap=new Map,this.baseTime=0,this.totalTime=0}flushTimeMap(){const e=performance.now(),t=this.timeMap.get(this.status)||0,i=e-this.baseTime;this.timeMap.set(this.status,t+i),this.baseTime=e,this.totalTime+=i}start(e){this.status=e,this.baseTime=performance.now()}update(e){e!==this.status&&(this.flushTimeMap(),this.status=e)}end(){this.flushTimeMap();const e={};for(const[t,i]of this.timeMap)e[String(t)]=Number((i/this.totalTime*100).toFixed(2));return e}}},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(i[r[a]]=e[r[a]])}return i},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(26),n=s(i(35)),d=i(2),u=s(i(92)),l=s(i(93));class c{constructor(e){this.isVBReady=!1,this.videoStream=null,this.isVBInitializing=!1,this.receiveTimer=null,this.msgChannel=null,this.isEnabled=!0,this.trackProcessor=null,this.isVBRunning=!1,this.frameRate=24,this.isStreamEnabled=!1,this.destoryed=!1,this._needFrame=!1,this._backend="",this.isMetadataLoaded=!1,this.isCapturing=!1,this.isReportVideoFrameError=!1;const t=e||{},{canvas:i,canvasID:r,bgImage:s,cdnPath:o}=t,n=a(t,["canvas","canvasID","bgImage","cdnPath"]);if(this.cdnPath=o||c.cdnPath,!this.cdnPath)throw new Error("VB module: cdnPath is not provided");this.vbWorkerUrl=this.cdnPath+"/vb_worker.min.js",this.initParam=n,this._needFrame=n.needFrame,i&&(this.cvsEle="string"==typeof i?document.querySelector("#"+i):i),s&&(this.bgImage=s),this.handle_message_from_vb_worker=this.handle_message_from_vb_worker.bind(this);const d=navigator.userAgent.toLocaleLowerCase();this.isSafari=d.includes("safari")&&!d.includes("chrome")&&!d.includes("chromium"),this.vbLoadingTimer=new l.default,this.handleLoadMetadata=this.handleLoadMetadata.bind(this),this.stats={fps:0,receivingFps:0,receivedFrames:0,generatedFrames:0,width:0,height:0}}set needFrame(e){this._needFrame=e,this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_NEED_FRAME,payload:e})}get needFrame(){return this._needFrame}get backend(){return this._backend}set ontimeout3s(e){this.vbLoadingTimer.ontimeout3s=e}set ontimeout10s(e){this.vbLoadingTimer.ontimeout10s=e}static isSupportVB(){return r(this,void 0,void 0,(function*(){try{const e=yield n.default.simd();return navigator.hardwareConcurrency&&navigator.hardwareConcurrency>2&&e&&"function"==typeof OffscreenCanvas}catch(e){return!1}}))}sendCanvas(){if(this.cvsEle){const e=this.cvsEle.transferControlToOffscreen();this.postMessage({cmd:o.VB_EVENT_TYPE.VB_RENDER_CANVAS,payload:e},[e])}}generateVBStream(){if(this.vbTrackGenerator){const e=this.vbTrackGenerator.writable;this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM,payload:e},[e])}else if(this.streamCanvas)if(this.isSafari){const e=this.streamCanvas.transferControlToOffscreen();this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM,payload:e},[e])}else this.streamRender=new u.default(this.streamCanvas,c.VB_STREAM_CANVAS),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM})}initialize(){return this.isVBReady?Promise.resolve():(this.isVBInitializing||(this.isVBInitializing=!0,this.vbLoadingTimer.isVBPredictDone=!1,this.initPromise=new Promise((e,t)=>r(this,void 0,void 0,(function*(){this.initReject=t,this.initResolve=e;try{const e=yield fetch(this.vbWorkerUrl);if(e.ok){const t=yield e.arrayBuffer();if(this.destoryed)return;const i=window.URL.createObjectURL(new Blob([t]));this.worker=new Worker(i,{name:c.VB_WORKER_NAME}),this.worker.addEventListener("message",this.handle_message_from_vb_worker),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_WORKER_INIT,payload:Object.assign(Object.assign({},this.initParam),{cdnPath:this.cdnPath})}),this.sendCanvas(),window.URL.revokeObjectURL(i)}else{const{url:i,status:r}=e;this.isVBInitializing=!1,t(`Fetch worker file failed. url: ${i}, status: ${r}`)}}catch(e){this.isVBInitializing=!1,t(e)}})))),this.initPromise)}send_frame(e){this.isVBReady&&("format"in e?this.postMessage({cmd:o.VB_EVENT_TYPE.VB_SEND_FRAME,payload:e},[e]):this.postMessage({cmd:o.VB_EVENT_TYPE.VB_SEND_FRAME,payload:e},[e.data.buffer]))}Crop_Mask_Bg_16V9(){let e,t,i,r=0,a=this.bgImage.width,s=this.bgImage.height;return 16/9*s>=a?(i=a,r=a/(16/9),e=0,t=(s-r)/2):(i=s*(16/9),r=s,e=(a-i)/2,t=0),{sx:e,sy:t,sw:i,sh:r}}set_background_image(e){if(this.bgImage=e,!this.isVBReady)return!1;const t=this.Crop_Mask_Bg_16V9();let i,r,a,s,n,d;i=t.sx,r=t.sy,a=t.sw,s=t.sh,a>1920?(n=1920,d=1080):(n=a,d=s),this.bgConvertCanvas||(this.bgConvertCanvas=new OffscreenCanvas(n,d)),this.bgConvertCanvas.width=n,this.bgConvertCanvas.height=d;let u=null;try{u=this.bgConvertCanvas.getContext("2d",{willReadFrequently:!0})}catch(e){}finally{u||(u=this.bgConvertCanvas.getContext("2d"))}if(!u)return!1;u.drawImage(e,i,r,a,s,0,0,this.bgConvertCanvas.width,this.bgConvertCanvas.height);let l=u.getImageData(0,0,this.bgConvertCanvas.width,this.bgConvertCanvas.height);return this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_BG,payload:l}),"close"in e&&e.close(),!0}set_background_blur(){this.isVBReady&&this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_BG,payload:"blur"})}handle_message_from_vb_worker(e){const{cmd:t}=e.data;switch(c.EXTERNAL_EVENTS.has(t)&&(t!==o.VB_EVENT_TYPE.VB_GENERATED_FRAME||this._needFrame)&&this.callback&&this.callback(e.data),t){case o.VB_EVENT_TYPE.VB_MODEL_READY:this.vbLoadingTimer.start();break;case o.VB_EVENT_TYPE.VB_PREDICT_DONE:{const{payload:t}=e.data;this.vbLoadingTimer.isVBPredictDone=!0,this.vbLoadingTimer.clear(),this._backend=t;break}case o.VB_EVENT_TYPE.VB_INIT_FAILED:{const{payload:t}=e.data;this.isVBInitializing=!1,this.initReject(t);break}case o.VB_EVENT_TYPE.VB_INIT_SUCCESS:this.isVBReady=!0,this.isVBInitializing=!1,this.bgImage&&this.set_background_image(this.bgImage),this.generateVBStream(),this.initResolve();break;case o.VB_EVENT_TYPE.VB_REQUEST_FRAME:if(this.updateConstraints(),this.captureVideoEle&&this.isVideoPlaying(this.captureVideoEle))if(window.VideoFrame){if(this.isMetadataLoaded)try{const e=new VideoFrame(this.captureVideoEle,{timestamp:1e3*performance.now()});this.send_frame(e),e.close()}catch(e){this.callback&&!this.isReportVideoFrameError&&(this.callback({cmd:o.VB_EVENT_TYPE.VB_WORKER_ERROR,payload:e}),this.isReportVideoFrameError=!0)}}else if(this.captureCtx){this.captureCtx.drawImage(this.captureVideoEle,0,0);const e=this.captureCtx.getImageData(0,0,this.captureVideoEle.videoWidth,this.captureVideoEle.videoHeight);this.streamRender&&this.isStreamEnabled&&!this.isEnabled&&this.streamRender.render(e),this.send_frame(e)}break;case o.VB_EVENT_TYPE.VB_GENERATED_FRAME:{const t=e.data.payload,{data_ptr:i}=t;this.streamRender&&this.isStreamEnabled&&this.streamRender.render(t),i&&this.freeMemory(i);break}case o.VB_EVENT_TYPE.VB_UPDATE_STATS:this.stats=e.data.payload;break;case o.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE:{const{width:t,height:i}=e.data.payload;this.stats.width=t,this.stats.height=i}}}onMessage(e){this.callback=e}createCaptureEle(){window.MediaStreamTrackProcessor||(this.captureVideoEle=document.querySelector("#"+c.VB_CAPTURE_VIDEO),this.captureVideoEle||(this.captureVideoEle=document.createElement("video"),this.captureVideoEle.autoplay=!0,this.captureVideoEle.playsInline=!0,this.captureVideoEle.id=c.VB_CAPTURE_VIDEO,this.captureVideoEle.style.position="fixed",this.captureVideoEle.style.width="1px",this.captureVideoEle.style.height="1px",this.captureVideoEle.style.bottom="0px",this.captureVideoEle.style.right="0px",this.captureVideoEle.muted=!0,document.body.appendChild(this.captureVideoEle)),this.captureCanvas||window.VideoFrame||(this.captureCanvas=document.createElement("canvas"),this.captureCtx=this.captureCanvas.getContext("2d")))}isVideoPlaying(e){return(e.paused||e.ended)&&e.play(),e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}postMessage(e,t){var i,r;t?null===(i=this.worker)||void 0===i||i.postMessage(e,t):null===(r=this.worker)||void 0===r||r.postMessage(e)}updateStreamCanvasSize(e,t){this.streamCanvas&&(this.isSafari?this.postMessage({cmd:o.VB_EVENT_TYPE.VB_CHANGE_STREAM_CANVAS_SIZE,payload:{width:e,height:t}}):(this.streamCanvas.width=e,this.streamCanvas.height=t))}updateConstraints(){const e=this.videoStream.getVideoTracks()[0],{width:t,height:i,frameRate:r}=e.getSettings();t&&i&&(!this.streamCanvas||t===this.streamCanvas.width&&i===this.streamCanvas.height||this.updateStreamCanvasSize(t,i),this.captureCanvas&&(t!==this.captureCanvas.width&&(this.captureCanvas.width=t),i!==this.captureCanvas.height&&(this.captureCanvas.height=i))),r&&this.frameRate!=Math.min(r,24)&&(this.frameRate=Math.min(r,24),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_FRAME_RATE,payload:this.frameRate}))}captureVideo(e){return r(this,void 0,void 0,(function*(){if(this.isVBReady||this.isVBInitializing?this.isVBInitializing&&(yield this.initPromise):yield this.initialize(),this.isCapturing)return Promise.reject("Capture is already started");let t=!0;if("id"in e){if(!e.active)return Promise.reject("stream is not active");this.videoStream&&this.videoStream.id===e.id?t=!1:(this.stopCapture(),this.videoStream=e)}else if(this.videoStream&&this.captureConf===e)t=!1;else{this.stopCapture(),this.isCapturing=!0;try{this.videoStream=yield navigator.mediaDevices.getUserMedia(Object.assign(Object.assign({},e),{audio:!1})),this.captureConf=e,this.isCapturing=!1}catch(e){return this.isCapturing=!1,Promise.reject(e)}}if(this.createCaptureEle(),t){let e;if(!(e=this.videoStream.getVideoTracks()[0]))return Promise.reject("No video track in stream");{const t=e.getSettings(),{width:i=0,height:r=0,frameRate:a=24}=t;if(this.updateStreamCanvasSize(i,r),this.frameRate=Math.min(a,24),window.MediaStreamTrackProcessor){this.trackProcessor=new window.MediaStreamTrackProcessor({track:e});const t=this.trackProcessor.readable;this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START,payload:{videoStream:t,frameRate:this.frameRate}},[t])}else this.captureVideoEle&&(this.isMetadataLoaded=!1,this.captureVideoEle.addEventListener("loadedmetadata",this.handleLoadMetadata),this.captureVideoEle.srcObject=this.videoStream,this.captureVideoEle.play(),this.captureCanvas&&(this.captureCanvas.width=i,this.captureCanvas.height=r),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START,payload:{frameRate:this.frameRate}}))}}else{if(this.isVBRunning)return;this.videoStream.getVideoTracks()[0].enabled=!0,this.captureVideoEle&&this.captureVideoEle.play(),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START})}this.isVBRunning=!0}))}stopCapture(e=!0){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_STOP,payload:e}),this.captureVideoEle&&this.captureVideoEle.pause(),this.videoStream&&e&&(this.videoStream.getTracks().forEach(e=>{e.stop()}),this.videoStream=null),this.isVBRunning=!1}setMirror(e){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_MIRROR,payload:e})}freeMemory(e){this.isVBReady&&this.postMessage({cmd:o.VB_EVENT_TYPE.VB_FREE_MEMORY,payload:e})}startReceiveMode(e){return e&&(this.captureConf=e),this.msgChannel||(this.msgChannel=new MessageChannel,this.msgChannel.port1.onmessage=e=>{var t;const{type:i,frame:r}=e.data;this.receiveTimer&&clearTimeout(this.receiveTimer),i===d.UNIFIED_VB_FRAME&&r?(null===(t=this.msgChannel)||void 0===t||t.port1.postMessage({type:d.UNIFIED_VB_ACK}),this.isEnabled?(this.isVBRunning&&this.stopCapture(),this.renderFrame(r)):r.close(),this.isSafari||(this.receiveTimer=setTimeout(()=>{this.captureConf&&!this.isVBRunning&&this.captureVideo(this.captureConf)},1e3))):i!==d.UNIFIED_VB_PAUSE&&i!==d.UNIFIED_VB_STOP||(this.captureConf&&!this.isVBRunning&&this.captureVideo(this.captureConf),i===d.UNIFIED_VB_STOP&&this.msgChannel&&(this.msgChannel.port1.onmessage=null,this.msgChannel=null))}),this.msgChannel.port2}enable(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_TOGGLE_VB,payload:!0}),this.isEnabled=!0}disable(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_TOGGLE_VB,payload:!1}),this.isEnabled=!1,!this.isVBRunning&&this.msgChannel&&this.captureConf&&(this.captureVideo(this.captureConf).catch(e=>{}),clearTimeout(this.receiveTimer))}renderFrame(e){return r(this,void 0,void 0,(function*(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_RENDER_FRAME,payload:e}),"close"in e&&e.close()}))}destory(){this.destoryed=!0,this.stopCapture(),this.vbLoadingTimer.clear(),this.msgChannel&&(this.msgChannel.port2.onmessage=null),this.captureVideoEle&&document.body.removeChild(this.captureVideoEle),this.worker&&(this.worker.removeEventListener("message",this.handle_message_from_vb_worker),this.worker.terminate())}createStream(){if(this.isStreamEnabled=!0,this.vbStream)return this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM}),this.vbStream;if(window.MediaStreamTrackGenerator)this.vbTrackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.vbStream=new MediaStream([this.vbTrackGenerator]);else{if(this.streamCanvas=document.createElement("canvas"),this.videoStream){const e=this.videoStream.getVideoTracks()[0];if(e){const{width:t=0,height:i=0}=e.getSettings();this.streamCanvas.width=t,this.streamCanvas.height=i}}this.vbStream=this.streamCanvas.captureStream(24)}const e=this.vbStream.getVideoTracks()[0];return e&&(e.getStats=()=>this.stats),this.isVBReady&&this.generateVBStream(),this.vbStream}stopStream(){this.vbStream&&(this.isStreamEnabled=!1,this.postMessage({cmd:o.VB_EVENT_TYPE.VB_STOP_STREAM}))}handleLoadMetadata(){this.isMetadataLoaded=!0,this.captureVideoEle.removeEventListener("loadedmetadata",this.handleLoadMetadata)}}if(c.VB_WORKER_NAME="vb_worker",c.VB_CAPTURE_VIDEO="VB_CAPTURE_VIDEO",c.VB_STREAM_CANVAS="VB_STREAM_CANVAS",c.EXTERNAL_EVENTS=new Set([o.VB_EVENT_TYPE.VB_GENERATED_FRAME,o.VB_EVENT_TYPE.VB_INIT_FAILED,o.VB_EVENT_TYPE.VB_INIT_SUCCESS,o.VB_EVENT_TYPE.VB_MODEL_READY,o.VB_EVENT_TYPE.VB_PREDICT_DONE,o.VB_EVENT_TYPE.VB_VIDEO_FORMAT_UNSUPPORTED,o.VB_EVENT_TYPE.VB_WORKER_ERROR,o.VB_EVENT_TYPE.VB_GENERATE_FIRST_FRAME,o.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE]),t.default=c,document){const e=document.currentScript;if(e){const t=e.src;if(t){let e=t.indexOf("/vb.min.js");-1!==e&&(c.cdnPath=t.substring(0,e))}}}},function(e,t,i){var r=i(96).default;e.exports=r},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,i){var r=i(43),a=i(60),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return a(e);var t=[];for(var i in Object(e))s.call(e,i)&&"constructor"!=i&&t.push(i);return t}},function(e,t,i){var r=i(61)(Object.keys,Object);e.exports=r},function(e,t){e.exports=function(e,t){return function(i){return e(t(i))}}},function(e,t,i){var r=i(63),a=i(70),s=i(71),o=i(72),n=i(73),d=i(27),u=i(46),l=u(r),c=u(a),h=u(s),f=u(o),p=u(n),_=d;(r&&"[object DataView]"!=_(new r(new ArrayBuffer(1)))||a&&"[object Map]"!=_(new a)||s&&"[object Promise]"!=_(s.resolve())||o&&"[object Set]"!=_(new o)||n&&"[object WeakMap]"!=_(new n))&&(_=function(e){var t=d(e),i="[object Object]"==t?e.constructor:void 0,r=i?u(i):"";if(r)switch(r){case l:return"[object DataView]";case c:return"[object Map]";case h:return"[object Promise]";case f:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=_},function(e,t,i){var r=i(31)(i(23),"DataView");e.exports=r},function(e,t,i){var r=i(33),a=i(67),s=i(32),o=i(46),n=/^\[object .+?Constructor\]$/,d=Function.prototype,u=Object.prototype,l=d.toString,c=u.hasOwnProperty,h=RegExp("^"+l.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||a(e))&&(r(e)?h:n).test(o(e))}},function(e,t,i){var r=i(44),a=Object.prototype,s=a.hasOwnProperty,o=a.toString,n=r?r.toStringTag:void 0;e.exports=function(e){var t=s.call(e,n),i=e[n];try{e[n]=void 0;var r=!0}catch(e){}var a=o.call(e);return r&&(t?e[n]=i:delete e[n]),a}},function(e,t){var i=Object.prototype.toString;e.exports=function(e){return i.call(e)}},function(e,t,i){var r,a=i(68),s=(r=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!s&&s in e}},function(e,t,i){var r=i(23)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,i){var r=i(31)(i(23),"Map");e.exports=r},function(e,t,i){var r=i(31)(i(23),"Promise");e.exports=r},function(e,t,i){var r=i(31)(i(23),"Set");e.exports=r},function(e,t,i){var r=i(31)(i(23),"WeakMap");e.exports=r},function(e,t,i){var r=i(75),a=i(29),s=Object.prototype,o=s.hasOwnProperty,n=s.propertyIsEnumerable,d=r(function(){return arguments}())?r:function(e){return a(e)&&o.call(e,"callee")&&!n.call(e,"callee")};e.exports=d},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return a(e)&&"[object Arguments]"==r(e)}},function(e,t){var i=Array.isArray;e.exports=i},function(e,t,i){var r=i(33),a=i(47);e.exports=function(e){return null!=e&&a(e.length)&&!r(e)}},function(e,t,i){(function(e){var r=i(23),a=i(79),s=t&&!t.nodeType&&t,o=s&&"object"==typeof e&&e&&!e.nodeType&&e,n=o&&o.exports===s?r.Buffer:void 0,d=(n?n.isBuffer:void 0)||a;e.exports=d}).call(this,i(39)(e))},function(e,t){e.exports=function(){return!1}},function(e,t,i){var r=i(81),a=i(82),s=i(83),o=s&&s.isTypedArray,n=o?a(o):r;e.exports=n},function(e,t,i){var r=i(27),a=i(47),s=i(29),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return s(e)&&a(e.length)&&!!o[r(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,i){(function(e){var r=i(45),a=t&&!t.nodeType&&t,s=a&&"object"==typeof e&&e&&!e.nodeType&&e,o=s&&s.exports===a&&r.process,n=function(){try{var e=s&&s.require&&s.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=n}).call(this,i(39)(e))},function(e,t,i){var r=i(48).default,a=i(85);e.exports=function(e){var t=a(e,"string");return"symbol"===r(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r=i(48).default;e.exports=function(e,t){if("object"!==r(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!==r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r=i(32),a=i(87),s=i(88),o=Math.max,n=Math.min;e.exports=function(e,t,i){var d,u,l,c,h,f,p=0,_=!1,m=!1,E=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var i=d,r=u;return d=u=void 0,p=t,c=e.apply(r,i)}function S(e){return p=e,h=setTimeout(C,t),_?g(e):c}function v(e){var i=e-f;return void 0===f||i>=t||i<0||m&&e-p>=l}function C(){var e=a();if(v(e))return A(e);h=setTimeout(C,function(e){var i=t-(e-f);return m?n(i,l-(e-p)):i}(e))}function A(e){return h=void 0,E&&d?g(e):(d=u=void 0,c)}function R(){var e=a(),i=v(e);if(d=arguments,u=this,f=e,i){if(void 0===h)return S(f);if(m)return h=setTimeout(C,t),g(f)}return void 0===h&&(h=setTimeout(C,t)),c}return t=s(t)||0,r(i)&&(_=!!i.leading,l=(m="maxWait"in i)?o(s(i.maxWait)||0,t):l,E="trailing"in i?!!i.trailing:E),R.cancel=function(){void 0!==h&&clearTimeout(h),p=0,d=f=u=h=void 0},R.flush=function(){return void 0===h?c:A(a())},R}},function(e,t,i){var r=i(23);e.exports=function(){return r.Date.now()}},function(e,t,i){var r=i(32),a=i(89),s=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,d=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var i=n.test(e);return i||d.test(e)?u(e.slice(2),i?2:8):o.test(e)?NaN:+e}},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e,t){return t.get?t.get.call(e):t.value},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=a(i(25)),o=i(10);t.default=class{constructor(e,t){this.isMirror=!1,this.display=new s.default(e,t,0,void 0,{preserveDrawingBuffer:!1},void 0,!1,!1)}renderFrame(e,t,i,r){if(this.display){let a={x:0,y:0,width:this.display.canvasElement.width,height:this.display.canvasElement.height};this.display.updateRemoteVideoTextures(e,t,r,i,0,!0,a,!1),this.display.drawRemoteVideo(a,this.isMirror)}}render(e){return r(this,void 0,void 0,(function*(){let t=o.VIDEO_RGBA;if("data_ptr"in e){const{data:t,format_width:i,format_height:r,valid_x:a,valid_y:s,valid_width:n,valid_height:d}=e;let u={top:s,left:a,width:n,height:d};this.display.setVideoMode(o.VIDEO_I420),this.renderFrame(i,r,t,u)}else if(self.VideoFrame&&e instanceof VideoFrame){const{format:i,visibleRect:r}=e;if(i&&r){if("I420"===i||"I420A"===i)t=o.VIDEO_I420;else if("NV12"===i)t=o.VIDEO_NV12;else{if("BGRA"!==i)return void(this.onUnsupportedFrame&&this.onUnsupportedFrame(i));t=o.VIDEO_BGRA}const{width:a,height:s}=r,n=new Uint8Array(e.allocationSize()),d={top:0,left:0,width:a,height:s};this.display.setVideoMode(t);try{yield e.copyTo(n),this.renderFrame(a,s,n,d)}catch(e){}e.close()}}else if(e instanceof ImageData){const{width:t,height:i}=e,r={top:0,left:0,width:t,height:i};this.display.setVideoMode(o.VIDEO_RGBA),this.renderFrame(t,i,e.data,r)}}))}updateSize(e,t){this.display.canvasElement.width=e,this.display.canvasElement.height=t}setMirror(e){this.isMirror=e}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(){this.timer3s=null,this.timer10s=null,this.isVBPredictDone=!1,this.inited=!1}start(){this.inited=!0,this.clear(),this.timer3s=setTimeout(()=>{this.isVBPredictDone||this.ontimeout3s()},3e3),this.timer10s=setTimeout(()=>{this.isVBPredictDone||this.ontimeout10s()},1e4)}clear(){clearTimeout(this.timer3s),clearTimeout(this.timer10s),this.timer3s=null,this.timer10s=null}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureInputStream=t.TrackProcessorInputStream=void 0;const r=i(21);t.TrackProcessorInputStream=class{constructor(e,t,i){this.port=e,this.name=t,this.VideoFrameNeeded=i}setStream(e){const t=e.getVideoTracks()[0],i=t.getSettings(),{frameRate:a=24}=i;this.trackProcessor=new MediaStreamTrackProcessor({track:t});const s=this.trackProcessor.readable;this.port.postMessage({cmd:r.VideoProcessorEvent.INPUT_READABLE_STREAM,frameRate:Math.min(a,24),readableStream:s,processorName:this.name},[s]),this.port.postMessage({cmd:r.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:a,processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:r.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}};t.CanvasCaptureInputStream=class{constructor(e,t,i=!1,a=!1){this.port=e,this.name=t,this.isIOSDevice=i,this.VideoFrameNeeded=a,this.onMessage=e=>{if(e.data.cmd===r.VideoProcessorEvent.REQUEST_FRAME&&this.captureVideoEleLoaded){let e=this.captureVideoEle.videoWidth,t=this.captureVideoEle.videoHeight;if(e<=0||t<=0)return;this.isIOSDevice&&(this.captureCanvasEle.width=e,this.captureCanvasEle.height=t,this.captureCanvasEleCtx.drawImage(this.captureVideoEle,0,0,e,t));const i=new VideoFrame(this.isIOSDevice?this.captureCanvasEle:this.captureVideoEle,{timestamp:1e3*performance.now()});this.port.postMessage({cmd:r.VideoProcessorEvent.FRAME_DATA,frame:i,processorName:this.name}),i.close()}},this.port.addEventListener("message",this.onMessage)}createCaptureVideoElement(e){this.captureVideoEle=document.querySelector("#video-processor-video"),this.captureVideoEle||(this.captureVideoEle=document.createElement("video"),this.captureVideoEle.autoplay=!0,this.captureVideoEle.playsInline=!0,this.captureVideoEle.id="video-processor-video",this.captureVideoEle.style.position="fixed",this.captureVideoEle.style.width="1px",this.captureVideoEle.style.height="1px",this.captureVideoEle.style.bottom="0px",this.captureVideoEle.style.right="0px",this.captureVideoEle.muted=!0,document.body.appendChild(this.captureVideoEle)),this.isIOSDevice&&!this.captureCanvasEle&&(this.captureCanvasEle=document.createElement("canvas"),this.captureCanvasEleCtx=this.captureCanvasEle.getContext("2d")),this.captureVideoEle.srcObject=e,this.captureVideoEle.addEventListener("loadedmetadata",()=>{this.captureVideoEleLoaded=!0}),this.captureVideoEle.play()}setStream(e){const t=e.getVideoTracks()[0].getSettings(),{frameRate:i=24}=t;this.createCaptureVideoElement(e),this.port.postMessage({cmd:r.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:Math.min(i,24),processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:r.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}destroy(){this.port.removeEventListener("message",this.onMessage)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureOutputStream=t.TrackGeneratorOutputStream=void 0;const r=i(21);t.TrackGeneratorOutputStream=class{constructor(e,t){this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"});const i=this.trackGenerator.writable;e.postMessage({cmd:r.VideoProcessorEvent.OUTPUT_WRITABLE_STREAM,writableStream:i,processorName:t},[i]),this.stream=new MediaStream([this.trackGenerator])}getStream(){return this.stream}};t.CanvasCaptureOutputStream=class{constructor(e,t){this.canvas=document.createElement("canvas"),this.canvas.width=1,this.canvas.height=1,this.offScreenCanvas=this.canvas.transferControlToOffscreen(),this.stream=this.canvas.captureStream(24)}getOutputCanvas(){return this.offScreenCanvas}getStream(){return this.stream}}},function(e,t,i){"use strict";i.r(t);var r={};i.r(r),i.d(r,"setCachedUserNodeListToWorker",(function(){return ce})),i.d(r,"setUserNodeListToWorker",(function(){return he})),i.d(r,"UpdateAudioPlayStatus",(function(){return fe})),i.d(r,"UpdateVideoPlayStatus",(function(){return pe})),i.d(r,"UpdateSharingPlayStatus",(function(){return _e})),i.d(r,"preserveMessageController",(function(){return me})),i.d(r,"previewController",(function(){return Ee})),i.d(r,"initVideoEncode",(function(){return ge})),i.d(r,"CloseMediaNetSessionToRwg",(function(){return ve})),i.d(r,"AssertMediaSdkNotDestory",(function(){return Ce})),i.d(r,"initVideoDecode",(function(){return Re})),i.d(r,"initAudioEncode",(function(){return Te})),i.d(r,"initAudioDecode",(function(){return Ie})),i.d(r,"initSharingDecode",(function(){return be})),i.d(r,"initSharingEncode",(function(){return Oe})),i.d(r,"Sharing_Decode_Post_message",(function(){return De})),i.d(r,"Sharing_Encode_Post_message",(function(){return we})),i.d(r,"addAudioMonitorLog",(function(){return Le})),i.d(r,"initAudioSharedBuffer",(function(){return Be})),i.d(r,"setSharingEngineInitProperties",(function(){return Ge})),i.d(r,"setAudioEngineInitProperties",(function(){return Fe})),i.d(r,"setVideoEngineInitProperties",(function(){return He})),i.d(r,"Set_Audio_WebSocket_Ip_Address",(function(){return Ke})),i.d(r,"Set_Audio_Web_Transport_Ip_Address",(function(){return je})),i.d(r,"Set_Video_WebSocket_Ip_Address",(function(){return Ye})),i.d(r,"Set_Video_Web_Transport_Ip_Address",(function(){return qe})),i.d(r,"JsAudioEngine_UnInit",(function(){return Xe})),i.d(r,"JsVideoEngine_UnInit",(function(){return Qe})),i.d(r,"JsSharingEngine_UnInit",(function(){return ze})),i.d(r,"Video_Encode_Frame",(function(){return Je})),i.d(r,"Sharing_Encode_Frame",(function(){return Ze})),i.d(r,"Put_Video_Frame_Buffer",(function(){return $e})),i.d(r,"Clear_Decoded_Sharing_Frame",(function(){return et})),i.d(r,"Add_Video_Decode_Thread",(function(){return tt})),i.d(r,"Add_Audio_Decode_Thread",(function(){return it})),i.d(r,"Get_SSRC_Latest_Time",(function(){return rt})),i.d(r,"Get_Video_SSRC_Latest_Time",(function(){return at})),i.d(r,"Meeting_Fail_Over",(function(){return st})),i.d(r,"Modify_Audio_SampleRate",(function(){return ot})),i.d(r,"Notify_Audio_Thread_Status",(function(){return nt})),i.d(r,"Notify_Audio_Thread_AEC_Status",(function(){return dt})),i.d(r,"Notify_Audio_Thread_Msg_Channel",(function(){return ut})),i.d(r,"Notify_Video_Thread_Msg_Channel",(function(){return lt})),i.d(r,"Notify_Video_Sharing_Msg_Channel",(function(){return ct})),i.d(r,"Notify_Audio_Thread_Msg_Channel2",(function(){return ht})),i.d(r,"Notify_Audio_Thread_Msg_Channel3",(function(){return ft})),i.d(r,"Notify_Audio_Video_Thread_Msg_Channel",(function(){return pt})),i.d(r,"Notify_Video_Encode_Thread",(function(){return _t})),i.d(r,"Notify_Video_Encode_Thread_Transferable_Data",(function(){return mt})),i.d(r,"TransoferDataToVideoEncodeThread",(function(){return Et})),i.d(r,"Notify_Video_Decode_Thread",(function(){return gt})),i.d(r,"Notify_Sharing_Video_Encode_Thread_Transferable_Data",(function(){return St})),i.d(r,"Notify_Sharing_Encode_Thread_Transferable_Data",(function(){return vt})),i.d(r,"Notify_Sharing_Video_Decode_Thread",(function(){return Ct})),i.d(r,"Notify_Sharing_Decode_Thread",(function(){return At})),i.d(r,"Notify_Audio_Thread_CurrentSSRC",(function(){return Rt})),i.d(r,"Notify_Audio_Encode_Thread",(function(){return Tt})),i.d(r,"Notify_Audio_Decode_Thread",(function(){return It})),i.d(r,"Notify_Audio_Thread_Interpretation_Enable",(function(){return bt})),i.d(r,"Notify_Audio_Thread_CC_Set_Lang",(function(){return Ot})),i.d(r,"Notify_Audio_Thread_Interpretation_Set_Lang",(function(){return Dt})),i.d(r,"Notify_Audio_Thread_Interpretation_Mute",(function(){return wt})),i.d(r,"Notify_Audio_Thread_Interpretation_Set_Interpreter",(function(){return yt})),i.d(r,"Reset_Aec",(function(){return Mt})),i.d(r,"saveBrowserInfo",(function(){return Nt})),i.d(r,"Start_Monitor",(function(){return Vt})),i.d(r,"Send_Render_Monitor_Log",(function(){return kt})),i.d(r,"Stop_Monitor",(function(){return Ut})),i.d(r,"Update_Video_Encrpt",(function(){return Lt})),i.d(r,"Update_Sharing_Encrpt",(function(){return xt})),i.d(r,"Update_Sharing_Video_Encode_Status",(function(){return Wt})),i.d(r,"Update_Sharing_Encode_Status",(function(){return Bt})),i.d(r,"Notify_Sharing_Video_Encode_Thread",(function(){return Gt})),i.d(r,"Notify_Sharing_Encode_Thread",(function(){return Ft})),i.d(r,"Update_Audio_Encrpt",(function(){return Ht})),i.d(r,"disableSocketReconnect",(function(){return Kt})),i.d(r,"closeAllPromiseObject",(function(){return jt})),i.d(r,"clearWorkerListener",(function(){return Yt})),i.d(r,"closeAllMedia",(function(){return qt})),i.d(r,"destroyAllWorkers",(function(){return Xt})),i.d(r,"pushMessageToWorker",(function(){return Jt})),i.d(r,"isVideoEncodeHandleReady",(function(){return Zt})),i.d(r,"transportSettingCanvas",(function(){return $t})),i.d(r,"initResourceManager",(function(){return ei})),i.d(r,"prepareVBfile",(function(){return ri})),i.d(r,"transportImageBitMap",(function(){return ai})),i.d(r,"transportBgImageBitMap",(function(){return si})),i.d(r,"transportVBBgImageBitMap",(function(){return oi})),i.d(r,"transportMaskImageBitMap",(function(){return ni})),i.d(r,"MirrorSendVideo",(function(){return di})),i.d(r,"isSharingNotClearChromeVersion",(function(){return ui})),i.d(r,"MEDIA_INIT_SUCCESS_CALLBACK_METADATA",(function(){return li})),i.d(r,"setMediaSessionHold",(function(){return ci})),i.d(r,"TransferCmdMsgToWorker",(function(){return fi})),i.d(r,"CreateThreadWorker",(function(){return pi})),i.d(r,"GetWorkerTypeThread",(function(){return _i}));var a=i(2),s=i(10),o=i(9),n=i(18);function d(){this.ssrcQueueMap=new Map,d.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},d.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},d.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},d.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},d.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},d.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return null!==t?t.getLength():0}}var u=function(){this.frames=0,this.ntp=new n.a};u.prototype={UpdateVideoInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetVideoFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,i=0,r=0,a=0,s=0;s<e;s++){var o=this.ntp.dequeue();0==o&&0==r?i++:0!=o?(a=0,0==r&&(r=o),t=o):0!=r&&t!=r&&0==o&&a++}return 0==t||t==r?0:e-i-a-1!=0?(t-r)/(e-i-a-1):0}}};var l=function(){this.ssrcInfoMap=new Map};function c(){this.ssrcQueueMap=new Map,this.ssrcInfo=new l,c.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},c.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},c.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},c.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},c.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},c.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},c.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},c.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},c.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}l.prototype={UpdateSSRCInfo:function(e,t){var i=this.ssrcInfoMap.get(e);i||(i=new u,this.ssrcInfoMap.set(e,i)),i.UpdateVideoInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetVideoFpsInfo():0}};var h=function(){function e(e){let{sessionid:t}=e;this.map=new Map,this.AudioQueueMGR=new d,this.timemap=new Map,this.sessionid=t||0}return e.prototype.Add=function(e,t){this.map.set(e,t),this.AudioQueueMGR.AddQueue(e)},e.prototype.Clear=function(){this.map.clear()},e.prototype.Keys=function(){return this.map.keys()},e.prototype.UpdateSSRCTimeMap=function(e){this.timemap=e},e.prototype.GetSSRCTimeMap=function(e){return this.timemap?this.timemap.get(e):null},e}();function f(e){let{sessionid:t}=e;this.sessionid=t||0,this.map=new Map,this.VideoQueueMGR=new c}f.prototype.Add=function(e,t){this.map.set(e,t)},f.prototype.Clear=function(){this.map.clear()},f.prototype.Keys=function(){return this.map.keys()};var p=function(){this.frames=0,this.ntp=new n.a};p.prototype={UpdateSharingInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetSharingFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,i=0,r=0,a=0,s=0;s<e;s++){var o=this.ntp.dequeue();0==o&&0==r?i++:0!=o?(a=0,0==r&&(r=o),t=o):0!=r&&t!=r&&0==o&&a++}return 0==t||t==r?0:e-i-a-1!=0?(t-r)/(e-i-a-1):0}}};var _=function(){this.ssrcInfoMap=new Map};function m(){this.ssrcQueueMap=new Map,this.ssrcInfo=new _,m.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},m.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},m.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},m.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},m.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},m.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},m.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},m.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},m.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}function E(e){let{sessionid:t}=e;this.map=new Map,this.sQueue=new n.a,this.SharingQueueMGR=new m,this.sessionid=t||0}_.prototype={UpdateSSRCInfo:function(e,t){var i=this.ssrcInfoMap.get(e);i||(i=new p,this.ssrcInfoMap.set(e,i)),i.UpdateSharingInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetSharingFpsInfo():0}},E.prototype.Clear=function(){this.map.clear()},E.prototype.Keys=function(){return this.map.keys()},E.prototype.Add=function(e,t){this.map.set(e,t)},E.prototype.Get=function(e){return this.map.get(e)},E.prototype.PutData=function(e){e&&this.sQueue&&this.sQueue.enqueue(e)},E.prototype.GetData=function(){if(this.sQueue)return this.sQueue.dequeue()},E.prototype.ClearBuffer=function(){this.sQueue&&(this.sQueue=new n.a)};var g=i(3),S=i(19),v=i(7),C=i(15),A=i(4),R=i(5),T=i(0),I=i(20);var b=i(14),O=i.n(b);function D(e){return e[0]<<24|e[1]<<16|e[2]<<8|e[3]}const w={IsQosReport:function(e){return 21==e[4]&&0==e[13]},GetQOSSeq:function(e){!function(e){e[0],e[1]}(e.slice(17,19))},GetQOSTime:function(e){return 104==e[0]||16!=e[4]&&1!=e[5]?D(e.slice(19,23)):D(e.slice(15,19))},IsVideoPkg:function(e){return 103==e[0]}};class y{constructor(e){let t=e||{};this.last_report_time=0,this.timeout_count=0,this.interval_report_time=t.interval||3e3,this.tag=t.tag||"monitor",this.max_timeout=0,this.min_timeout=2147483647,this.reportcallback=t.reportcallback,this._timeoutid=0}_report(){this.reportcallback&&this.reportcallback(this.tag,Math.ceil(this.max_timeout),Math.ceil(this.min_timeout),this.timeout_count),this.timeout_count=0,this.max_timeout=0,this.min_timeout=2147483647}timeoutReport(e,t){if(this.timeout_count++,e>this.max_timeout&&(this.max_timeout=e),e<this.min_timeout&&(this.min_timeout=e),this._timeoutid)return;let i=this;this._timeoutid=setTimeout(()=>{i._report(),i._timeoutid=0},this.interval_report_time)}}class M{static getStorageForCapacity(){return new SharedArrayBuffer(8+((arguments.length>0&&void 0!==arguments[0]?arguments[0]:80)+1)*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500))}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e.byteLength,o=arguments.length>6?arguments[6]:void 0;this.offset=a,this._BYTES_PER_ELEMENT=t,this.capacity=(s-8)/t,this.usableCapacity=this.capacity-1,this.buf=e,this.write_ptr=new Uint32Array(this.buf,a,1),this.read_ptr=new Uint32Array(this.buf,a+4,1),this.storageUint8sByteOffset=a+8,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,s-8),this.byteLength=s,this.label=i,this.usingOneElementBuffer=r,o&&(this.wasmMemory=o),r&&(this.oneElementBuffer=new ArrayBuffer(t)),this.repushhander=0,this.repushlogcount=0,this.monitorpace=0}checkBuffer(){this.wasmMemory&&this.wasmMemory.buffer!=this.buf&&(console.log("buffer change"),this.buf=this.wasmMemory.buffer,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,this.byteLength-8))}enqueue(e){return this.available_write()>0&&this.push(e),{rd:Atomics.load(this.read_ptr,0),wr:Atomics.load(this.write_ptr,0)}}enqueueSafe(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;for(this.dataBuffer||(this.dataBuffer=new n.a);this.dataBuffer.getLength()>0&&this.available_write()>0;){let e=this.dataBuffer.dequeue();e&&this.push(e)}let r=this.dataBuffer.getLength();if(e){if(this.available_write()>0&&0==r)return this.push(e),!0;if(!t)return!1;this.dataBuffer.enqueue(e),++r}if(r>0&&!this.repushhander&&(this.repushhander=setTimeout(()=>{this.repushlogcount%10==0&&console.warn("<<< retry consume cache data"),this.repushlogcount++,this.repushhander=0,this.enqueueSafe(null)},30)),r>=1e3&&(v.default.warn("Cached data in SAB reached critical value, will be cleared"),this.dataBuffer.clear(),i&&i("vqslclear")),r>0&&i){let e=performance.now();(!this.monitorpace||e-this.monitorpace>2e4)&&(this.monitorpace=e,i&&i("vqsl"+r))}return!0}push(e){return e instanceof Array?this._pushArray(e):this._push(e)}_pushArray(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer();let i=0;e.forEach(e=>{this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4+i),i+=e.byteLength}),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=i;let r=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,r),!0}_push(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer(),this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4,e.byteLength),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=e.byteLength;let i=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,i),!0}addReadPtr(){var e=Atomics.load(this.read_ptr,0);Atomics.store(this.read_ptr,0,(e+1)%this.capacity)}dequeue(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t=Atomics.load(this.read_ptr,0);this.checkBuffer();let i,r,a,s=new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1);if(e){i=this.oneElementBuffer?new Uint8Array(this.oneElementBuffer,0,s[0]):new Uint8Array(s[0]);let e=new Uint8Array(this.storageUint8s.buffer,t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,i.byteLength);i.set(e,0)}else i=this.storageUint8s.subarray(t*this._BYTES_PER_ELEMENT+8+4,t*this._BYTES_PER_ELEMENT+8+4+s[0]),r=t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,a=t*this._BYTES_PER_ELEMENT+8+4+s[0]+this.storageUint8sByteOffset;return e&&Atomics.store(this.read_ptr,0,(t+1)%this.capacity),e?i:{bCopyData:e,uint8s:i,begin:r,end:a}}available_read(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_read(e,t)}available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_write(e,t)}is_available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._is_available_write(e,t)}_available_read(e,t){return(t+this.capacity-e)%this.capacity}_available_write(e,t){return this.usableCapacity-this._available_read(e,t)}_is_available_write(e,t){return this._available_write(e,t)>0}_storage_capacity(){return this.capacity}}class P{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:80;if(!(e instanceof M))throw new Error("RingBuffer required");this.rb=e,this.dataCallback=t,this.interval=null,this.requestID=null,this.timeout_call=i,this.tick_lasted_time=0,this.timeoutMS=r,this.maxCount=a}setDataCallback(e){this.dataCallback=e}consume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.interval||(this.bCopyData=t,this.interval=setInterval(()=>{let e=performance.now();if(this.timeout_call){if(0!=this.tick_lasted_time){let t=e-this.tick_lasted_time;t>=this.timeoutMS&&this.timeout_call(t,e)}this.tick_lasted_time=e}this._dequeue()},e),console.log("consume interval ".concat(this.interval)))}consumeAll(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.bCopyData=e,this._dequeue()}_dequeue(){let e=Math.min(this.rb.available_read(),this.maxCount);for(this.consoume_count=0;this.consoume_count<e;){this.consoume_count++;let e=this.rb.dequeue(this.bCopyData);this.dataCallback(e),this.bCopyData||this.rb.addReadPtr()}}_consumeForAnimationFrame(){this._dequeue(),this.requestID=requestAnimationFrame(this._consumeForAnimationFrame.bind(this))}consumeUsingRequestAnimationFrame(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.requestID||(this.bCopyData=e,this._consumeForAnimationFrame())}cancelConsume(){console.log("cancelConsume interval ".concat(this.interval," requestID ").concat(this.requestID)),this.tick_lasted_time=0,clearInterval(this.interval),this.requestID&&cancelAnimationFrame(this.requestID),this.interval=null,this.requestID=null}}class N{constructor(){this.timeStampKey="video_timestamp",this.keysList=["video_ssrc","video_width","video_height","rendering_x","rendering_y","rendering_w","rendering_h","rotation","yuv_limited"],this.bCopyData=null,this.begin=null,this.end=null}setOBJ(e){this.obj=e,this.yuvUint8s=e.data}setBuffer(e){!1===e.bCopyData?(this.objUint8s=e.uint8s,this.bCopyData=e.bCopyData,this.begin=e.begin,this.end=e.end):(this.objUint8s=e,this.bCopyData=!0,this.begin=0,this.end=e.byteLength)}buffer2Obj(){let e=new Uint32Array(this.objUint8s.buffer,this.begin,9),t=new DataView(this.objUint8s.buffer,this.begin+40,16),i={};this.keysList.forEach((t,r)=>{i[t]=e[r]}),i[this.timeStampKey]=Number(t.getBigUint64(0,!0));let r,a=Number(t.getBigUint64(8,!0)),s=new Uint8Array(this.objUint8s.buffer,this.begin+40+8+8,a);return r=(this.bCopyData,s),i.data=r,i}obj2buffer(){let e=new Uint8Array(56),t=this.keysList,i=new Uint32Array(e.buffer,0,9),r=new DataView(e.buffer,40,16);return t.forEach((e,t)=>{i[t]=this.obj[e]}),r.setBigUint64(0,BigInt(this.obj[this.timeStampKey]),!0),r.setBigUint64(8,BigInt(this.yuvUint8s.byteLength),!0),[e,this.yuvUint8s]}}class V{constructor(){this.onmessage=()=>{}}addEventListener(){}close(){}}class k{constructor(e){this.transportMap={},this.netthreadworker=null,this.type=e.type,this.mgr=e,this.transportlistsChnagelinster=[]}addEventListener(e){-1==this.transportlistsChnagelinster.indexOf(e)&&this.transportlistsChnagelinster.push(e)}removeEventListener(e){let t=this.transportlistsChnagelinster.indexOf(e);-1!=t&&this.transportlistsChnagelinster.splice(t,1)}addTransport(e,t){e.id in this.transportMap||(this.transportMap[e.id]=e,this.transportlistsChnagelinster.forEach(i=>{i(e,t,1)}))}removeTransport(e){var t;let i=e.id;i in this.transportMap&&(delete this.transportMap[i],null===(t=e.sock)||void 0===t||t.close(),this.transportlistsChnagelinster.forEach(t=>{t(e,e.channel,0)}))}getTransportByType(e){for(let t in this.transportMap){let i=this.transportMap[t],r=i.target_thread==k.SELF_THREAD;if(i.type==e&&r)return i}return null}}function U(e){let t=e||{};this._samples=[],this._interval_id=0,this._lasted_update_time=0,this._lasted_group_time=0,this._enable=!1,this._interval_time=t.interval||3e4,this._customer_callback=t.report_call,this._tag=t.tag||"netreport",this._group_interval=t.group_interval||1e3,this._enable_advanced=t.advanced||!1,this._current_count=0,this._qos_report=new y({tag:"jitter",interval:3e4,reportcallback:this._qos_report_timeout.bind(this)}),this._qos_report_samples=[],this._cureen_qos_report=0}O()(k,"NO_THREAD",0),O()(k,"SELF_THREAD",1),U.prototype._qos_report_timeout=function(e,t,i,r){if(this._customer_callback){let a="".concat(e,",").concat(t,",").concat(i,",").concat(r);this._customer_callback(this._tag+"TimeOut",a)}},U.prototype._report=function(){let e=(new Date).getTime(),t="".concat(e,"-").concat(this._samples.length,"-").concat(this._samples),i="".concat(e,"-").concat(this._qos_report_samples.length,"-").concat(this._qos_report_samples);t=t.replaceAll(",","|"),i=i.replaceAll(",","|"),this._customer_callback?(this._customer_callback(this._tag,t),this._enable_advanced&&this._customer_callback(this._tag+"QOS",i)):console.error("tag:".concat(this._tag,",").concat(t))},U.prototype._group=function(){let e=performance.now();if(e>=this._lasted_group_time+1700){let t=Math.round((e-this._lasted_group_time)/1e3)-1;for(let e=0;e<t;e++)this._samples.push(-1)}this._lasted_group_time=e,this._samples.push(this._current_count),this._qos_report_samples.push(this._cureen_qos_report),this._cureen_qos_report=0,this._current_count=0,e>=this._lasted_update_time+this._interval_time&&(this._lasted_update_time=e,this._report(),this._samples=[],this._qos_report_samples=[])},U.prototype.start=function(){this._enable||(this._lasted_update_time=performance.now(),this._lasted_group_time=this._lasted_update_time,this._samples=[],this._current_count=0,this._qos_report_samples=[],this._cureen_qos_report=0,this._interval_id=setInterval(this._group.bind(this),this._group_interval),this._enable=!0)},U.prototype.stop=function(){this._enable&&(clearInterval(this._interval_id),this._interval_id=0,this._enable=!1)},U.prototype.sample=function(e){if(this._enable&&(this._current_count++,this._enable_advanced)){if(w.IsQosReport(e))return void this._cureen_qos_report++;if(w.IsVideoPkg(e)){let t=w.GetQOSTime(e),i=performance.now();if(this._lasted_qos_ts){let e=i-this._lasted_sys_ts-(t-this._lasted_qos_ts);e>30&&this._qos_report.timeoutReport(e,i)}this._lasted_qos_ts=t,this._lasted_sys_ts=i,this._lasted_data=e}}};class L{constructor(e,t){this.type=e,this.transportlists=[],this.transfered=!!t,this.onmessage=()=>{}}send(){}isReady(){return!1}}class x{constructor(e,t,i,r){this.id=e,this.type=t,this.datachannel=i,this._recv_statistic=null,this.onmessageFn=null,this.disconnectedFn=null,this.connectedFn=null,this._status=x.UNINIT,this.target_thread=r,this.transfered=!1,this._listener=null,this.transportlists=[],this._send_statistic=null,this.report_monitor_func=()=>{}}isReady(){return this._status===x.CONNECTED}send(e){this.datachannel.send(e),this._send_statistic.sample(!1)}open(){if(this.target_thread)try{return this.target_thread.postMessage({command:134,id:this.id,type:this.type,channel:this.datachannel,transportlists:this.transportlists},[this.datachannel]),this.transfered=!0,this.datachannel=null,this._listener=this._mesagelistener.bind(this),void this.target_thread.addEventListener("message",this._listener)}catch(e){this.target_thread=null}this._addEventListener()}close(){let e=this.disconnectedFn;this.transfered&&this.target_thread&&this._listener&&(this.target_thread.removeEventListener("message",this._listener),this._listener=null,this.target_thread.postMessage({command:135,id:this.id,type:this.type})),this._status!=x.DISCONNECT&&this._clear(),this._status=x.DISCONNECT,null==e||e()}onmessage(e){this.onmessageFn=e}onopen(e){this.connectedFn=e}onclose(e){this.disconnectedFn=e}onerror(e){this.errorFn=e}_addEventListener(){this.datachannel.onmessage=this._onmessage.bind(this),this.datachannel.onopen=this._onopen.bind(this),this.datachannel.onclose=this._onclose.bind(this),this.datachannel.onclosing=this._onclose.bind(this),this.datachannel.onerror=this._onerror.bind(this),"open"==this.datachannel.readyState&&this._status==x.UNINIT&&this._onopen()}_onmessage(e){this._recv_statistic.sample(!1),this.onmessageFn(e)}_onopen(e){let t=this._status;var i;(this._status=x.CONNECTED,this.transfered||(this._send_statistic||(this._send_statistic=new U({tag:this.type==R.b.VIDEO?"VDCS":"ADCS",report_call:this.report_monitor_func})),this._recv_statistic||(this._recv_statistic=new U({tag:this.type==R.b.VIDEO?"VDCR":"ADCR",report_call:this.report_monitor_func})),this._send_statistic.start(),this._recv_statistic.start()),t!=x.CONNECTED)&&(null===(i=this.connectedFn)||void 0===i||i.call(this))}_onerror(e){var t;null===(t=this.errorFn)||void 0===t||t.call(this,e),this._onclose(e)}_onclose(e){let t=this._status;this._status=x.DISCONNECT;let i=this.disconnectedFn;this._clear(),t!=x.DISCONNECT&&(null==i||i())}_clear(){var e,t;!this.transfered&&this.datachannel&&(this.datachannel.onmessage=null,this.datachannel.onopen=null,this.datachannel.onclose=null,this.datachannel.onclosing=null,this.datachannel.onerror=null),this.onmessageFn=null,this.connectedFn=null,this.disconnectedFn=null,this.errorFn=null;let i=this.datachannel;this.datachannel=null,null===(e=this._send_statistic)||void 0===e||e.stop(),null===(t=this._recv_statistic)||void 0===t||t.stop(),null==i||i.close()}_mesagelistener(e){let t=e.data;if(t&&t.id==this.id)switch(t.cmd){case o.DATACHANNEL_CLOSE:this._onclose();break;case o.DATACHANNEL_OPEN:this._onopen();break;case o.DATACHANNEL_ERROR:this._onerror(t.ev);break;case o.MONITOR_MESSAGE:this.report_monitor_func(t.tag,t.data)}}}O()(x,"UNINIT",0),O()(x,"CONNECTED",1),O()(x,"DISCONNECT",2);class W{constructor(e){let t=e||{};this.type=t.type||W.THREAD_MAIN,this.refs={},this.transportlists=[],this.mainThread=t.remote,this.subthreadlistner=null,this.channellists=[],this.mediadatachannel=new k(this)}_onrecvmainthreadlistener(e){let{cmd:t,transportId:i,data:r}=e.data,a=this.transportlists.find(e=>e.id===i);if(a||t==o.CREATE_MSGSOCK_TRANSPORT)switch(t){case o.CREATE_MSGSOCK_TRANSPORT:this.addRemoteTransport(e.data,null);break;case o.TRANSPORT_SET_MSGPORT:a.setMsgPort(r||new V);break;case o.TRANSPORT_SET_SABBUFF:a.setSabBuffer(e.data.sender,e.data.reciver);break;case o.CLOSE_TRANSPORT:a.remote=null,this.removeTransport(a)}}_onrecvsubthreadlistener(e,t){let{cmd:i,transportId:r,transportType:a}=t.data,s=this.transportlists.find(e=>e.id===r);switch(i){case o.CREATE_MSGSOCK_TRANSPORT:this.addRemoteTransport(t.data,e);break;case o.TRANSPORT_SET_SABBUFF:this.setSabBufferInfo(s,t.data.sender,t.data.reciver);break;case o.CLOSE_TRANSPORT:s.remote=null,this.removeTransport(s)}}createRemoteTransport(e,t){let i={cmd:o.CREATE_MSGSOCK_TRANSPORT,transportType:e.type,transportId:e.id};e.portInfo?(i.port=e.portInfo,t.postMessage(i,[e.portInfo])):t.postMessage(i)}closeRemoteTransport(e,t){t.postMessage({cmd:o.CLOSE_TRANSPORT,transportType:e.type,transportId:e.id})}setRemoteTransportSABBUffer(e,t){var i,r,a,s;(null!==(i=e.sabInfo)&&void 0!==i&&i.sender||null!==(r=e.sabInfo)&&void 0!==r&&r.reciver)&&t.postMessage({cmd:o.TRANSPORT_SET_SABBUFF,transportId:e.id,sender:null===(a=e.sabInfo)||void 0===a?void 0:a.sender,reciver:null===(s=e.sabInfo)||void 0===s?void 0:s.reciver})}addRemoteTransport(e,t){let{transportId:i,port:r,transportType:a}=e;let s=this.createMsgSocketTransport(a);s.id=i,s.remote=t,s.portInfo=r,r?s.setMsgPort(s.portInfo):this.bindMessageChannel(s),this.addTransport(s)}addTransport(e){let t=this.getChannelByTransportType(e.type);if(!t)return;let i=t.target_thread||k.SELF_THREAD;e.target_thread=i,this.bindTransPortForChannel(e,t)}removeTransport(e){let t=this.transportlists.indexOf(e);-1!=t&&(this.transportlists.splice(t,1),e.remote&&this.closeRemoteTransport(e,e.remote),e.target_thread!=k.NO_THREAD&&this.unbindTransPortForChannel(e))}createMsgSocketTransport(e){let t=null;return t=new K({mgr:this,sock:new H,type:e,local:!0}),t}bindMessageChannel(e){if(this.type!=W.THREAD_MAIN)return void console.error("error this call only in main thread");let t=new MessageChannel;e.portInfo=t.port1,e.remote.postMessage({cmd:o.TRANSPORT_SET_MSGPORT,transportId:e.id,data:t.port2},[t.port2])}setSabBufferInfo(e,t,i){this.type==W.THREAD_MAIN?(e.sabInfo||(e.sabInfo={}),i&&(i.useCopy=!0),t&&(t.useCopy=!0),e.sabInfo={sender:t,reciver:i},e.target_thread!=k.NO_THREAD&&(e.target_thread!=k.SELF_THREAD?this.setRemoteTransportSABBUffer(e,e.target_thread):e.setSabBuffer(t,i))):console.error("<<<<< setSabBufferInfo in sub thread")}addDataChannel(e){if(e instanceof x){try{this.checkTransport(e)}catch(e){console.error("addDataChannel error",e)}this.channellists.push(e)}else console.error("channel must be a DataChannelWrapper")}removeDataChannel(e){if(!(e instanceof x))return void console.error("channel must be a DataChannelWrapper");let t=this.channellists.indexOf(e);-1!==t&&this.channellists.splice(t,1)}removeTransportByRemote(e){let t=[];for(let i=0;i<this.channellists.length;i++){let r=this.channellists[i];r.remote===e&&t.push(r)}for(let e=0;e<t.length;e++)this.removeTransport(t[e])}reinit(){let e=[...this.transportlists];for(let t=0;t<e.length;t++)this.removeTransport(e[t])}getTransportByType(e){return this.mediadatachannel.getTransportByType(e)}addTransportListChangeListener(e){this.mediadatachannel.addEventListener(e)}remoteTransportListChangeListener(e){this.mediadatachannel.removeEventListener(e)}checkTransport(e){this.transportlists.forEach(t=>{if(!e.transportlists.includes(t.type))return;let i=e.target_thread||k.SELF_THREAD;i==t.target_thread||(this.type==W.THREAD_MAIN&&t.target_thread!=k.NO_THREAD&&t.target_thread!=i&&(this.unbindTransPortForChannel(t),this.bindMessageChannel(t)),t.target_thread=i,this.bindTransPortForChannel(t,e))})}bindTransPortForChannel(e,t){e.channel=t;let i=e.target_thread;if(i!=k.SELF_THREAD)this.createRemoteTransport(e,i),this.setRemoteTransportSABBUffer(e,i);else{var r,a,s,o;if(e.portInfo&&e.setMsgPort(e.portInfo),null!==(r=e.sabInfo)&&void 0!==r&&r.sender||null!==(a=e.sabInfo)&&void 0!==a&&a.reciver)e.setSabBuffer(null===(s=e.sabInfo)||void 0===s?void 0:s.sender,null===(o=e.sabInfo)||void 0===o?void 0:o.reciver);this.mediadatachannel.addTransport(e,t)}}unbindTransPortForChannel(e){e.target_thread!=k.SELF_THREAD?this.type==W.THREAD_MAIN&&this.closeRemoteTransport(e,e.target_thread):this.mediadatachannel.removeTransport(e)}getChannelByTransportType(e){for(let t=0;t<this.channellists.length;t++){let i=this.channellists[t];if(i.isReady()&&i.transportlists.includes(e))return i}return null}}O()(W,"THREAD_MAIN",1),O()(W,"THREAD_SUB",2);const B={AUDIO_DECODE:1,AUDIO_ENCODE:2,VIDEO_DECODE:4,VIDEO_ENCODE:8,SHARR_DECODE:16,SHARR_ENCODE:32},G=e=>{0};class F{constructor(){this.onmessage=G,this.status=F.CLOSED,this.onopen=G,this.onclose=G,this.onwer=null}send(e){}delete(){this.onmessage=G,this.onopen=G,this.onclose=G,this.close()}sendVideo(e,t){}sendWasm(e){}open(){this.status=F.OPEN,this.onopen()}close(){this.status=F.CLOSED,this.onclose()}}O()(F,"OPEN",1),O()(F,"CLOSED",2);class H extends F{constructor(){super({}),this.sab={},this.port=null,this.onmessage=G,this.sender=G,this.videoSender=G,this.reciver=G,this.wasmSender=G}send(e){this.sender(e)}sendVideo(e,t){this.videoSender(e,t)}sendWasm(e){this.wasmSender(e)}delete(){try{var e,t;this.onmessage=G,this.sender=G,this.videoSender=G,this.reciver=G,this.wasmSender=G;let{consumer:i}=(null===(e=this.sab)||void 0===e?void 0:e.reciver)||{};null==i||i.setDataCallback(G),null==i||i.cancelConsume(),this.sab={},this.port&&(this.port.onmessage=G),null===(t=this.port)||void 0===t||t.close()}catch(e){}}open(){this.status!=F.OPEN||this.onopen()}close(){this.status=F.CLOSED,this.delete(),this.onclose()}_onmessage(e){let{cmd:t,data:i}=e.data;switch(t){case o.MSG_BUFFER_TICKT:this.reciver();break;case o.MSG_QUEUE_DATA:this.onmessage(i,0);break;case o.MSG_QUEUE_STATUS:this.status=i,this.status==F.OPEN?this.onopen():this.onclose()}}createSendAndReceive(){if(!this.port)return;let{sender:e,reciver:t}=this.sab,{sabqueue:i,interval:r}=e||{};i?r?(this.sender=e=>{i.enqueue(e)},this.wasmSender=e=>{i.enqueue(e)},this.videoSender=(e,t)=>{if(!i.enqueueSafe([e,t],!1)){let r=new Uint8Array(t.length+e.length);r.set(e,0),r.set(t,e.length),i.enqueueSafe(r)}}):(this.sender=e=>{i.enqueue(e),this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})},this.wasmSender=e=>{i.enqueue(e),this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})},this.videoSender=(e,t)=>{if(!i.enqueueSafe([e,t],!1)){let r=new Uint8Array(t.length+e.length);r.set(e,0),r.set(t,e.length),i.enqueueSafe(r)}this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})}):(this.sender=e=>{this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:e},[e.buffer])},this.wasmSender=e=>{let t=new Uint8Array(e.length);t.set(e,0),this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:t},[t.buffer])},this.videoSender=(e,t)=>{let i=new Uint8Array(t.length+e.length);i.set(e,0),i.set(t,e.length),this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:i},[i.buffer])});let{sabqueue:a,consumer:s,useCopy:n,interval:d,offset:u}=t||{};if(s&&(s.cancelConsume(),s=null),a){const e=n?e=>{this.onmessage(e,0)}:u?e=>{this.onmessage(e.uint8s,e.begin)}:e=>{this.onmessage(e.uint8s,0)};let i=null,r=K.dataTransportMgr.monitorlogfn;if(d&&r){var l;let e=new y({tag:"WCL_M,VDRB"+(null===(l=this.onwer)||void 0===l?void 0:l.type),interval:1e4,reportcallback:Y});i=e.timeoutReport.bind(e)}s=new P(a,e,i),t.consumer=s,d?s.consume(d,n):this.reciver=()=>{s.consumeAll(n)}}}setMsgPort(e){e!=this.port&&(this.port&&(this.port.onmessage=G,this.port.close(),this.port=null),this.port=e,this.port&&(this._listeners||(this._listeners=this._onmessage.bind(this)),this.port.onmessage=this._listeners,this.createSendAndReceive()))}setSabBuffer(e,t){if(null!=e&&e.sab){let{sab:t,useCopy:i,interval:r,offset:a,length:s,useOneElement:o}=e,n=new M(a>0?t.buffer:t,void 0,void 0,!!o,a,s,a>0?t:null);this.sab.sender={sabqueue:n,interval:r,useCopy:i,offset:a}}if(null!=t&&t.sab){var i;let{sab:e,useCopy:r,interval:a,offset:s,length:o,useOneElement:n}=t,d=new M(s>0?e.buffer:e,void 0,void 0,!!n,s,o,s>0?e:null),{consumer:u}=(null===(i=this.sab)||void 0===i?void 0:i.reciver)||{};u&&(u.cancelConsume(),this.sab.reciver.consumer=null,this.sab.reciver.sabqueue=null),this.sab.reciver={sabqueue:d,interval:a,useCopy:r,offset:s}}this.createSendAndReceive()}setStatus(e){this.port?this.status!=e&&(this.status=e,this.port.postMessage({cmd:o.MSG_QUEUE_STATUS,data:e})):console.error("MsgQueueSocket not initialized")}}class K{constructor(e){this.onmessage=G,this.onopen=G,this.onclose=G,this.connect_type=e.connect_type||K.UDP,this.type=e.type,this.id=e.id||Math.floor(performance.now())<<10|e.type,this.sock=e.sock||new F,this.mgr=e.mgr,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this),this.sock.onwer=this,this.remote=e.remote,this.sabInfo=null,this.portInfo=null,this.target_thread=k.NO_THREAD,this.local=!!e.local,this._create()}_create(){let e=K.dataTransportMgr;e.transportlists.push(this),!this.local&&e&&e.mainThread&&e.type==W.THREAD_SUB&&e.createRemoteTransport(this,e.mainThread)}_close(){let e=K.dataTransportMgr,t=e.transportlists.indexOf(this);-1!=t&&e.transportlists.splice(t,1),!this.local&&e&&e.mainThread&&e.type==W.THREAD_SUB&&e.closeRemoteTransport(this,e.mainThread)}_onmessage(e,t){this.onmessage(e,t)}_onclose(){this.onclose()}_onopen(){this.onopen()}isReady(){return!0}send(e){this.sock.send(e)}sendVideo(e,t){this.sock.sendVideo(e,t)}sendWasmData(e){this.sock.sendWasm(e)}setSocket(e){let t=this.sock;this.sock=e,this.sock&&(this.sock.onwer=this,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this)),t&&t.delete()}open(){this.sock.open()}close(){this._close(),this.sock.close()}setMsgPort(e){if(!(this.sock instanceof H))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setMsgPort(e)}setSabBuffer(e,t){if(!(this.sock instanceof H))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setSabBuffer(e,t)}setStatus(e){this.sock instanceof H&&this.sock.setStatus(e)}}O()(K,"UDP",0),O()(K,"TCP",1),O()(K,"RLB_UDP",2),O()(K,"dataTransportMgr",null);class j{constructor(e){this.sock=null,this.onmessage=G}isReady(){return!1}send(){G()}setStatus(e){0}}function Y(e,t,i,r){var a;null===(a=W.monitorlogfn)||void 0===a||a.call(W,e,"".concat(t,",").concat(i,",").concat(r))}function q(e,t){try{const i="undefined"!=typeof DedicatedWorkerGlobalScope;if(!K.dataTransportMgr&&!i)return void console.error("not InitDataTransportModule");let r=K.dataTransportMgr;if(t in r.refs)return;let a=r._onrecvsubthreadlistener.bind(r,e);e.addEventListener("message",a);let s={worker:e,type:t,listener:a};r.refs[t]=s}catch(e){console.error("<<<< initTransportWorker",e)}}function X(e){return K.dataTransportMgr.getTransportByType(e)}function Q(e){if(!K.dataTransportMgr)throw new Error("not InitDataTransportModule");K.dataTransportMgr.removeDataChannel(e)}class z{constructor(){this._listener=this._listenerfn.bind(this),this.isSupportVideoShare=!1}addTransportListiner(){var e;e=this._listener,K.dataTransportMgr.addTransportListChangeListener(e)}remoteTransportListener(){var e;e=this._listener,K.dataTransportMgr.addTransportListChangeListener(e)}_listenerfn(e,t,i){this.connectSession(t)}setVideoShareModel(e){this.isSupportVideoShare=e}connectSession(e){const{type:t}=e;!e.transfered&&e.isReady()&&(t==R.b.VIDEO&&this.connectVideoSession(e),t==R.b.AUDIO&&this.connectAudioSession(e))}disconnectSession(e){const{type:t}=e;e.transfered||(t==R.b.VIDEO&&this.connectVideoSession(e),t==R.b.AUDIO&&this.connectAudioSession(e))}connectVideoSession(e){let t=new j,i=X(B.VIDEO_ENCODE)||t,r=X(B.VIDEO_DECODE)||t,a=X(B.SHARR_DECODE)||t,s=(null==e?void 0:e.isReady())?F.OPEN:F.CLOSED;i.setStatus(s),r.setStatus(s),this.isSupportVideoShare||a.setStatus(s),e.onmessage(e=>{var t=new Uint8Array(e.data);if((104==t[0]||132==t[0])&&0==t[1]||20==t[0]||130==t[0])i.send(t);else{if(!this.isSupportVideoShare&&(133==t[0]||132==t[0]))return void a.send(t);r.send(t)}});const o=t=>{e.send(t)};i.onmessage=o,r.onmessage=o,a.onmessage=o}connectAudioSession(e){let t=new j,i=X(B.AUDIO_ENCODE)||t,r=X(B.AUDIO_DECODE)||t,a=e.isReady()?F.OPEN:F.CLOSED;i.setStatus(a),r.setStatus(a),e.onmessage(e=>{var t=new Uint8Array(e.data);108==t[0]&&0==t[1]?i.send(t):r.send(t)});const s=t=>{e.send(t)};i.onmessage=s,r.onmessage=s}notifyTransportStatus(e,t){}}var J=i(13);function Z(e){te.instance||(te.instance=new te),te.instance.start(e)}function $(e){te.instance&&te.instance.setTimeoutCallback(e)}function ee(e,t){te.instance&&te.instance.registerWorker(t,e)}class te{constructor(){this._interval=-1,this.monitorworkers={},this._lasted_timestamp=-1,this.timeoutcallbackfn=(e,t)=>{}}setTimeoutCallback(e){this.timeoutcallbackfn=e}registerWorker(e,t){if(e in this.monitorworkers){let t=this.monitorworkers[e];t.worker.removeEventListener("message",t.listener),delete this.monitorworkers[e]}let i={id:e,worker:t},r=this._recvheartbeat.bind(this,i);i.listener=r,i.lastedtimestamp=Date.now(),i.worker.addEventListener("message",i.listener),this.monitorworkers[e]=i}unRegisterWorker(e){if(!(e in this.monitorworkers))return;let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}_recvheartbeat(e,t){let i=t.data;i.cmd===o.WORKER_HEARTBEAT&&(e.lastedtimestamp=i.timestamp)}start(e){const t="undefined"!=typeof DedicatedWorkerGlobalScope&&e&&e instanceof DedicatedWorkerGlobalScope;if(-1!=this._interval)return;if(t)return void(this._interval=setInterval(()=>{e.postMessage({cmd:o.WORKER_HEARTBEAT,timestamp:Date.now()})},te.INTREVAL_TIME_MS));const i=Math.max(te.INTREVAL_TIME_MS-1e3,500);this._lasted_timestamp=Date.now(),this._interval=setInterval(()=>{let e=te.instance,t=Object.keys(e.monitorworkers),r=Date.now(),a=this._lasted_timestamp;r<a+i||(this._lasted_timestamp=r,r>a+te.HEART_TIMEOUT_MS?e.timeoutcallbackfn("MAIN",r-a):t.forEach(t=>{var i;let a=e.monitorworkers[t],s=a.lastedtimestamp+(null!==(i=document)&&void 0!==i&&i.hidden?te.MAX_HEART_TIMEOUT_MS:te.HEART_TIMEOUT_MS);r>s&&(e.timeoutcallbackfn(a.id,r-a.lastedtimestamp),a.lastedtimestamp=r)}))},te.INTREVAL_TIME_MS)}close(){try{Object.keys(this.monitorworkers).forEach(e=>{let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}),this._interval&&clearInterval(this._interval),this._interval=-1}catch(e){}}}O()(te,"INTREVAL_TIME_MS",3e3),O()(te,"HEART_TIMEOUT_MS",15e3),O()(te,"MAX_HEART_TIMEOUT_MS",3e4),O()(te,"instance",null);const ie=Object(S.a)("sdk.engine"),{VB_SETTING_PARA_ERROR_TYPE:re}=a;async function ae(e,t){let i;switch(e){case R.f.VIDEO_ENCODE:i=T.default.videoEncResponseText;break;case R.f.VIDEO_DECODE:i=T.default.videoDecResponseText;break;case R.f.AUDIO_ENCODE:i=T.default.audioEncodeResponse;break;case R.f.AUDIO_DECODE:i=T.default.audioDecodeResponse;break;case R.f.SHARING_DECODE:i=T.default.sharingDecodeResponse;break;case R.f.SHARING_ENCODE:i=T.default.sharingEncodeResponse}i||(i=await se(t.workerJsFileUrl,t.integrityHelper));const r="wasmUrl = '"+t.workerWasmFileUrl+"';";return i.replace(/self\.__wasmCodeDataEndFlag\s*=\s*1[;|,]/,r+"self.__wasmCodeDataEndFlag = 1;")}function se(e,t){let i=null;return t&&(i=t.getIntegrity()),g.default.download(e,i)}function oe(e,t,i,r,s){return new Promise((o,n)=>{!async function(e,t,i,r,s){if(s&&s.isDestroy)return A.default.add_monitor("ZIDX",r),ie("WorkerType:".concat(r,";The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. "));let o,n={};if(R.i[r]&&Object.assign(n,{name:R.i[r]}),r==R.f.AUDIO_ENCODE?T.default.AEW&&(o=T.default.AEW):r==R.f.AUDIO_DECODE&&T.default.ADW&&(o=T.default.ADW),o)r==R.f.AUDIO_ENCODE?T.default.AEWF=!0:r==R.f.AUDIO_DECODE&&(T.default.ADWF=!0);else{const t=window.URL.createObjectURL(new Blob([await ae(r,e)]));o=new Worker(t,n),o.addEventListener("error",e=>{if(e.message&&e.message.includes("RuntimeError:")){let e=performance.now();e-T.default.crashLastTime>3e4&&(T.default.crashCount++,T.default.crashLastTime=e,Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER),ue("NOTIFY_UI_FAILOVER ".concat(T.default.crashCount)))}}),r===R.f.VIDEO_ENCODE&&o.postMessage({command:"WORKER_BOLB_URL",blobUrl:t}),T.default.mediaSDKHandle.is32bitbrowser&&(r==R.f.AUDIO_ENCODE?T.default.AEW=o:r==R.f.AUDIO_DECODE&&(T.default.ADW=o))}t&&t.call(i,o)}(e,(function(e){var a=T.default.SPECIAL_ID;t&&(A.default.add_monitor("WAM"+r),t.Add(a,e)),e.onmessage=e=>{i(e)},o()}),this,r,s)})}function ne(e,t){let i=t.data;[de,le].forEach(t=>{try{t.call(null,e,i)}catch(e){v.default.error("Error from allWorkersListener",e)}})}function de(e,t){-1!==[R.f.AUDIO_ENCODE,R.f.VIDEO_ENCODE,R.f.SHARING_ENCODE].indexOf(e)&&t.status===o.AES_GCM_IV_CALLBACK_FROM_WASM&&(ie("allWorkersListener_AES_IV",e,t),T.default.Notify_APPUI_SAFE(a.AES_GCM_IV_RESPONSE,{workerType:e,iv:g.default.buffer2stringSplitByComma(t.data)}))}function ue(e){let t=g.default.getMachineCapability();t.errorMessage=e,v.default.severityerror(t,["MEDIASDK_ERROR"])}function le(e,t){if(t.status===o.GLOBAL_TRACING_LOG)if("low"==t.level)v.default.directReport("".concat(t.errorMessage));else{let i="Error from ".concat(e," worker: ").concat(t.errorMessage);-1!=i.indexOf("E:H")?ue(i):v.default.error(i,t.errorEvent)}}function ce(e){try{var t;null!==(t=T.default.userNodeList)&&void 0!==t&&t.length&&Jt(e,{userNodeList:T.default.userNodeList},129,!1,!1)}catch(t){v.default.error("Error when sending cached user node list to worker workerType "+e,t)}}function he(e){let t=T.default.userNodeList||[],i=e.concat(t);T.default.userNodeList=g.default.removeDuplicates(i,(e,t)=>e.userid!==t.userid),[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE,R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE,R.f.SHARING_ENCODE,R.f.SHARING_DECODE].forEach(async e=>{let t;switch(e){case R.f.AUDIO_ENCODE:t=T.default.audioEncodeInitInstance;break;case R.f.AUDIO_DECODE:t=T.default.audioDecInitInstance;break;case R.f.VIDEO_ENCODE:t=T.default.videoInitInstance;break;case R.f.VIDEO_DECODE:t=T.default.videoDecInitInstance;break;case R.f.SHARING_ENCODE:t=T.default.sharingEncInitInstance;break;case R.f.SHARING_DECODE:t=T.default.sharingDecInitInstance}try{await t.waitforInitSuccess(),ie("setUserNodeListToWorker init success",e),Jt(e,{userNodeList:T.default.userNodeList},129,!1,!0)}catch(e){v.default.error("Error when sending user node list to worker",e)}})}function fe(e){T.default.isAudioPlayWork=e}async function pe(e){T.default.isVideoPlayWork=e,await Jt(R.f.VIDEO_DECODE,{isVideoPlayWork:e},"VideoPlayStatus",!1,!0)}function _e(e){T.default.isSharingPlayWork=e}const me=function(){const e={SDK_TO_WORKER:"SDK_TO_WORKER",SDK_TO_WORKER_WAIT_OK:"SDK_TO_WORKER_WAIT_OK",SDK_TO_APP:"SDK_TO_APP",SDK_TO_SDK:"SDK_TO_SDK"};return{nameMap:{INIT_VIDEO_ENCODE_SUCCESS:"INIT_VIDEO_ENCODE_SUCCESS",INIT_VIDEO_DECODE_SUCCESS:"INIT_VIDEO_DECODE_SUCCESS",CREATE_VIDEO_ENCODE_HANDLE_SUCCESS:"CREATE_VIDEO_ENCODE_HANDLE_SUCCESS",CREATE_VIDEO_DECODE_HANDLE_SUCCESS:"CREATE_VIDEO_DECODE_HANDLE_SUCCESS",CREATE_AUDIO_ENCODE_HANDLE_SUCCESS:"CREATE_AUDIO_ENCODE_HANDLE_SUCCESS",CREATE_AUDIO_DECODE_HANDLE_SUCCESS:"CREATE_AUDIO_DECODE_HANDLE_SUCCESS"},map:new Map,direction:e,clear(){this.map.clear()},subscribeMessage(t){const i=this.map.get(t);i&&(i.forEach(t=>{const{direction:i,messageParams:r,handler:a}=t;if(i===e.SDK_TO_APP)T.default.Notify_APPUI(...r);else if(i===e.SDK_TO_WORKER_WAIT_OK)Jt(...r);else if(i===e.SDK_TO_WORKER){const[e,t]=r,i=Qt(e);i&&i.postMessage(t)}else i===e.SDK_TO_SDK&&a&&a(r)}),this.map.delete(t))},enqueueMessage(e){let{name:t,messageParams:i,direction:r,...a}=e;this.map.has(t)||this.map.set(t,[]),this.map.get(t).push({direction:r,messageParams:i||[],...a})}}}(),Ee={resetAudioEncode:e=>{!e&&T.default.isPreviewMode.audioEncode&&(T.default.audioEncodeSession=null),T.default.isPreviewMode.audioEncode=!!e},resetAudioDecode:e=>{!e&&T.default.isPreviewMode.audioDecode&&(T.default.audioDecodeSession=null),T.default.isPreviewMode.audioDecode=!!e},resetVideoEncode:e=>{!e&&T.default.isPreviewMode.videoEncode&&(T.default.videoEncodeSession=null),T.default.isPreviewMode.videoEncode=!!e},resetVideoDecode:e=>{!e&&T.default.isPreviewMode.videoDecode&&(T.default.videoDecodeSession=null),T.default.isPreviewMode.videoDecode=!!e}};async function ge(e,t){T.default.localVideoEncMGR||(T.default.localVideoEncMGR=new f({sessionid:t._id})),Se(R.f.VIDEO_DECODE,T.default.localVideoEncMGR.sessionid,t._id),T.default.videoEncWorkerPath=e.workerJsFileUrl;let i=await se(e.workerJsFileUrl,e.integrityHelper);if(T.default.videoEncResponseText=i,!Ce(t))return!1;if(await async function(e,t,i,r){if(!T.default.localVideoEncMGR)return;T.default.isVideoEncodeThreadStart||(T.default.isVideoEncodeThreadStart=!0,await oe(r,T.default.localVideoEncMGR,Ne,R.f.VIDEO_ENCODE,i))}(0,0,t,e),!Ce(t,"Add_Video_Encode_Thread"))return v.default.error("Add_Video_Encode_Thread Worker Not Controled"),!1;let r=_i(R.f.VIDEO_ENCODE);q(r,R.f.VIDEO_ENCODE),ee(r,R.f.VIDEO_ENCODE),me.subscribeMessage(me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS),await async function(e){if(!T.default.localVideoEncMGR)return;if(await T.default.videoInitInstance.wasmSuccessPromise,!Ce(e))return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);let i=T.default.localVideoPara.confId||0;Ae(T.default.videoEncodeSession,i)&&(T.default.videoEncodeSession=null);if(t&&!T.default.videoEncodeSession){T.default.videoEncodeSession={type:R.f.VIDEO_ENCODE,userId:i};var r=0;r="firefox"===g.default.browserType.browser?1080:1070,T.default.mediaSDKHandle.mtu_size=r;let a=null;T.default.ivObj&&(a=T.default.ivObj[R.f.VIDEO_ENCODE],a=g.default.stringSplitByComma2Buffer(a));let s={command:1,_id:e._id,websocket_ip_address:T.default.Video_WebSocket_Ip_Address?T.default.Video_WebSocket_Ip_Address+"&mode=2":void 0,confId:T.default.localVideoPara.confId,confKey:"",logon:T.default.localVideoPara.logon,sendvideo:!0,isChromeOrEdge:g.default.browser.isChrome,isArmSafari:g.default.browser.isSafari&&!g.default.isMacIntelSafari(),isFirefox:T.default.localVideoPara.isFirefox,mtu_size:r,meetingid:T.default.localVideoPara.meetingid,meetingnumb:T.default.localVideoPara.meetingnumb,videoencodethreadnumb:T.default.localVideoPara.videoencodethreadnumb,iv:a,videodecodethreadnumb:T.default.localVideoPara.videodecodethreadnumb,isSupportMultiThread:T.default.localVideoPara.isSupportMultiThread,isSupportVirtualBackground:T.default.localVideoPara.isSupportVirtualBackground,uplimit:T.default.uplimit,isSupportWebCodecEnocde:T.default.localVideoPara.isSupportWebCodecEnocde,initWebCodecFlag:T.default.localVideoPara.initWebCodecFlag,is360penablehwenc:T.default.enable360pHWEnc,is360penablehwdec:T.default.enable360pHWDec,enable720p:T.default.localVideoPara.enable720p,enableOptCopyFrame:T.default.enableOptCopyFrame,isPreviewMode:T.default.isPreviewMode.videoEncode,...T.default.Video_Web_Transport_Ip_Address?{webtransportURL:T.default.Video_Web_Transport_Ip_Address+"&mode=2"}:{},enableAudioBridge:T.default.enableAudioBridge,platformType:T.default.localVideoPara.platformType,rendererType:T.default.localVideoPara.rendererType,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,enableMultiDecodeVideoWithoutSAB:!!T.default.enableMultiDecodeVideoWithoutSAB,IsRenderInWorker:T.default.localVideoPara.IsRenderInWorker,enableVBWasmBackend:e.enableVBWasmBackend,webrtcvideo:T.default.localVideoPara.webrtcvideo,isEnableCanvasAlphaChannel:!1,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt(),MaskFlag:T.default.localVideoPara.MaskFlag,isSafari:T.default.localVideoPara.isSafari};t.postMessage(s),T.default.tfjsurl&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:T.default.tfjsurl,type:"js"}),T.default.vbbin&&T.default.vbjson&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.vbbin,json:T.default.vbjson},index:0}),T.default.afnbin&&T.default.afnjson&&(t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.afnbin,json:T.default.afnjson},index:1}),T.default.basebin&&T.default.basejson&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.basebin,json:T.default.basejson},index:2}))}}(t)}function Se(e,t,i){let r=t==i;return r||v.default.error("mediasdkInstance id ".concat(i," not equal media type ").concat(e," id ").concat(t)),r}function ve(e,t){T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_REMOVE_UDP_EVT,body:{flag:t,type:e}},!1)}function Ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.isDestroy&&v.default.log("mediasdkInstance id ".concat(e._id," is Destoryed from ").concat(t)),!e.isDestroy}function Ae(e,t){return!(!e||e.userId>>10==t>>10)&&(e.userId&&v.default.error("mediasdk user changed media type ".concat(e.type," pre id ").concat(e.userId," now id ").concat(t)),!0)}async function Re(e,t){T.default.localVideoDecMGR||(T.default.localVideoDecMGR=new f({sessionid:t._id})),Se(R.f.VIDEO_DECODE,T.default.localVideoDecMGR.sessionid,t._id),T.default.videoDecWorkerPath=e.workerJsFileUrl;let i=await se(e.workerJsFileUrl,e.integrityHelper);if(!Ce(t))return!1;if(T.default.videoDecResponseText=i,await tt(0,null,t,e),!Ce(t,"Add_Video_Decode_Thread"))return v.default.error("Add_Video_Decode_Thread Worker Not Controled"),!1;let r=_i(R.f.VIDEO_DECODE);q(r,R.f.VIDEO_DECODE),ee(r,R.f.VIDEO_DECODE),me.subscribeMessage(me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS),await async function(e){if(T.default.isPreviewMode.videoDecode)return;if(!T.default.localVideoDecMGR)return;if(await T.default.videoDecInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);let i=T.default.localVideoPara.confId||0;Ae(T.default.videoDecodeSession,i)&&(T.default.videoDecodeSession=null);if(t&&!T.default.videoDecodeSession){T.default.videoDecodeSession={type:R.f.VIDEO_DECODE,userId:i};let r={command:1,_id:e._id,websocket_ip_address:T.default.Video_WebSocket_Ip_Address?T.default.Video_WebSocket_Ip_Address+"&mode=5":void 0,confId:T.default.localVideoPara.confId,confKey:"",logon:T.default.localVideoPara.logon,mtu_size:0,meetingid:T.default.localVideoPara.meetingid,meetingnumb:T.default.localVideoPara.meetingnumb,videoencodethreadnumb:1,videodecodethreadnumb:T.default.localVideoPara.videodecodethreadnumb,isFirefox:T.default.localVideoPara.isFirefox,isSupportMultiThread:T.default.localVideoPara.isSupportMultiThread,isSupportVideoTrackReader:T.default.localVideoPara.isSupportVideoTrackReader,isSupportOffscreenCanvas:T.default.localVideoPara.isSupportOffscreenCanvas,isenablehw:T.default.localVideoPara.isenablehw,isEnableVideoDecodeHardWareThread:T.default.localVideoPara.isEnableVideoDecodeHardWareThread,isEnableHardWareThread:T.default.localVideoPara.isEnableHardWareThread,isTeslaMode:T.default.localVideoPara.isTeslaMode,enableMultiDecodeVideoWithoutSAB:!!T.default.enableMultiDecodeVideoWithoutSAB,...T.default.Video_Web_Transport_Ip_Address?{webtransportURL:T.default.Video_Web_Transport_Ip_Address+"&mode=1"}:{},enableAudioBridge:T.default.enableAudioBridge,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,platformType:T.default.localVideoPara.platformType,rendererType:T.default.localVideoPara.rendererType,isWebCodecDecoderOnWhitelist:T.default.localVideoPara.isWebCodecDecoderOnWhitelist,decHAOption:T.default.enableHADecOpt?"no-preference":void 0,is360penablehwenc:T.default.enable360pHWEnc,is360penablehwdec:T.default.enable360pHWDec,webrtcvideo:T.default.localVideoPara.webrtcvideo,isEnableCanvasAlphaChannel:T.default.enableCanvasAlphaChannel,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()};t.postMessage(r)}}(t)}async function Te(e,t){if(await Be(t.audioCtx.sampleRate),T.default.localAudioEncMGR||(T.default.localAudioEncMGR=new h({sessionid:t._id})),Se(R.f.AUDIO_ENCODE,T.default.localAudioEncMGR.sessionid,t._id),T.default.audioEncWorkerPath=e.workerJsFileUrl,T.default.audioEncodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t,i){T.default.isAudioEncodeThreadStart||(T.default.isAudioEncodeThreadStart=!0,await oe(i,T.default.localAudioEncMGR,We,R.f.AUDIO_ENCODE,t))}(0,t,e),!Ce(t,"Add_Audio_Encode_Thread"))return v.default.error("Add_Audio_Encode_Thread Worker Not Controled"),!1;let i=_i(R.f.AUDIO_ENCODE);q(i,R.f.AUDIO_ENCODE),ee(i,R.f.AUDIO_ENCODE),me.subscribeMessage(me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS),await async function(e){if(!T.default.localAudioEncMGR)return void v.default.error("jsMediaEngineVariables.localAudioEncMGR is null when call Audio_Encode_Post_message");var t=T.default.localAudioEncMGR.map.get(T.default.SPECIAL_ID);T.default.AEWF&&t.postMessage({command:"RIWM"});if(await T.default.audioEncodeInitInstance.wasmSuccessPromise,!Ce(e))return!1;let i=T.default.localAudioPara.userid||0;Ae(T.default.audioEncodeSession,i)&&(T.default.audioEncodeSession=null);if(t&&!T.default.audioEncodeSession){T.default.audioEncodeSession={type:R.f.AUDIO_ENCODE,userId:i};let r=null;T.default.ivObj&&(r=T.default.ivObj[R.f.AUDIO_ENCODE],r=g.default.stringSplitByComma2Buffer(r));let a={command:1,_id:e._id,websocket_ip_address:T.default.Audio_WebSocket_Ip_Address?T.default.Audio_WebSocket_Ip_Address+"&mode=2":void 0,sampleRate:T.default.localAudioPara.sampleRate,userid:T.default.localAudioPara.userid,encode:1,meetingid:T.default.localAudioPara.meetingid,meetingnumb:T.default.localAudioPara.meetingnumb,iv:r,shouldNotChangeSampleRate:g.default.browser.isFirefox||g.default.browser.isSafari,isPreviewMode:T.default.isPreviewMode.audioEncode,audioEncodeChannelsNum:g.default.isBrowserSupportStereo()?2:1,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,...T.default.Audio_Web_Transport_Ip_Address?{webtransportURL:T.default.Audio_Web_Transport_Ip_Address+"&mode=2"}:{}};if(t.postMessage(a),T.default.sharedBuffer){ie("post audioEnc sab");try{t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer})}catch(e){t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer},[T.default.sharedBuffer])}}}}(t)}async function Ie(e,t){var i;if(await Be(null===(i=t.audioCtx)||void 0===i?void 0:i.sampleRate),T.default.localAudioDecMGR||(T.default.localAudioDecMGR=new h({sessionid:t._id})),Se(R.f.AUDIO_DECODE,T.default.localAudioDecMGR.sessionid,t._id),T.default.audioDecWorkerPath=e.workerJsFileUrl,T.default.audioDecodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),"string"==typeof T.default.audioDecodeResponse?A.default.add_monitor("DAFL"+T.default.audioDecodeResponse.length):A.default.add_monitor("DAFF"),!Ce(t))return!1;if(await it(0,null,t,e),!Ce(t,"Add_Audio_Decode_Thread"))return v.default.error("Add_Audio_Decode_Thread Worker Not Controled"),!1;let r=_i(R.f.AUDIO_DECODE);q(r,R.f.AUDIO_DECODE),ee(r,R.f.AUDIO_DECODE),me.subscribeMessage(me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS),A.default.add_monitor("ADTS"),await async function(e){if(T.default.isPreviewMode.audioDecode)return void A.default.add_monitor("ZISA");if(!T.default.localAudioDecMGR)return void v.default.warn("jsMediaEngineVariables.localAudioDecMGR is null when call Audio_Decode_Post_message");var t=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);T.default.ADWF&&t.postMessage({command:"RIWM"});if(await T.default.audioDecInitInstance.wasmSuccessPromise,!Ce(e))return!0;let i=T.default.localAudioPara.userid||0;Ae(T.default.audioDecodeSession,i)&&(T.default.audioDecodeSession=null);if(t&&!T.default.audioDecodeSession){T.default.audioDecodeSession={type:R.f.AUDIO_DECODE,userId:i};let r={command:1,_id:e._id,websocket_ip_address:T.default.Audio_WebSocket_Ip_Address?T.default.Audio_WebSocket_Ip_Address+"&mode=5":void 0,sampleRate:T.default.localAudioPara.sampleRate,userid:T.default.localAudioPara.userid,logon:T.default.localAudioPara.logon,decode:1,meetingid:T.default.localAudioPara.meetingid,meetingnumb:T.default.localAudioPara.meetingnumb,videodecodethreadnumb:T.default.localAudioPara.videodecodethreadnumb,isSupportMultiThread:T.default.localAudioPara.isSupportMultiThread,decoderInWorklet:T.default.decoderinworklet,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,shouldNotChangeSampleRate:g.default.browser.isFirefox||g.default.browser.isSafari,...T.default.Audio_Web_Transport_Ip_Address?{webtransportURL:T.default.Audio_Web_Transport_Ip_Address+"&mode=1"}:{}};if(A.default.add_monitor("ADSM"),t.postMessage(r),T.default.sharedBuffer){ie("post audioDec sab");try{t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer})}catch(e){t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer},[T.default.sharedBuffer])}}}else A.default.add_monitor("ADSME"+!!t+!!T.default.audioDecodeSession)}(t)}async function be(e,t){if(T.default.localSharingDecMGR||(T.default.localSharingDecMGR=new E({sessionid:t._id})),T.default.localMouseDecMGR||(T.default.localMouseDecMGR=new E({sessionid:t._id})),Se(R.f.SHARING_DECODE,T.default.localSharingDecMGR.sessionid,t._id),T.default.sharingDecWorkerPath=e.workerJsFileUrl,T.default.sharingDecodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t){T.default.isSharingDecodeThreadStart||(T.default.isSharingDecodeThreadStart=!0,await oe(t,T.default.localSharingDecMGR,ye,R.f.SHARING_DECODE,e))}(t,e),!Ce(t,"Add_Sharing_Decode_Thread"))return v.default.error("Add_Sharing_Decode_Thread Worker Not Controled"),!1;let i=_i(R.f.SHARING_DECODE);q(i,R.f.SHARING_DECODE),ee(i,R.f.SHARING_DECODE),await De(t)}async function Oe(e,t){if(T.default.localSharingEncMGR||(T.default.localSharingEncMGR=new E({sessionid:t._id})),Se(R.f.SHARING_ENCODE,T.default.localSharingEncMGR.sessionid,t._id),T.default.sharingEncWorkerPath=e.workerJsFileUrl,T.default.sharingEncodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t){if(e&&e.isDestroy)return ie("WorkerType:sharingEnc;The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. ");T.default.isSharingEncodeThreadStart||(T.default.isSharingEncodeThreadStart=!0,await oe(t,T.default.localSharingEncMGR,Me,R.f.SHARING_ENCODE,e))}(t,e),!Ce(t,"Add_Sharing_Encode_Thread"))return v.default.error("Add_Sharing_Encode_Thread Worker Not Controled"),!1;ee(_i(R.f.SHARING_ENCODE),R.f.SHARING_ENCODE),await we(t)}async function De(e){if(await T.default.sharingDecInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localSharingDecMGR.Get(T.default.SPECIAL_ID);let i=T.default.localSharingPara.userid||0;Ae(T.default.sharingDecodeSession,i)&&(T.default.sharingDecodeSession=null),t&&!T.default.sharingDecodeSession&&(T.default.sharingDecodeSession={type:R.f.SHARING_DECODE,userId:i},t.postMessage({command:1,_id:e._id,websocket_ip_address:T.default.Sharing_WebSocket_Ip_Address,confId:T.default.localSharingPara.userid,confKey:"",logon:T.default.localSharingPara.logon,meetingid:T.default.localSharingPara.meetingid,meetingnumb:T.default.localSharingPara.meetingnumb,multiThreadNum:1,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,rendererType:T.default.localSharingPara.rendererType,isWebCodecDecoderOnWhitelist:T.default.localSharingPara.isWebCodecDecoderOnWhitelist,isEnableCanvasAlphaChannel:T.default.enableCanvasAlphaChannel,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()}))}async function we(e){if(await T.default.sharingEncInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localSharingEncMGR.Get(T.default.SPECIAL_ID);let i=T.default.localSharingPara.userid||0;if(Ae(T.default.sharingEncodeSession,i)&&(T.default.sharingEncodeSession=null),t&&!T.default.sharingEncodeSession){let r=1;A.default.add_monitor2("STN"+r);let a=null;T.default.ivObj&&(a=T.default.ivObj[R.f.SHARING_ENCODE],a=g.default.stringSplitByComma2Buffer(a)),T.default.sharingEncodeSession={type:R.f.SHARING_ENCODE,userId:i},t.postMessage({command:1,_id:e._id,encode:!0,websocket_ip_address:T.default.Sharing_WebSocket_Ip_Address,confId:T.default.localSharingPara.userid,confKey:"",logon:T.default.localSharingPara.logon,isChromeOrEdge:g.default.browser.isChrome,meetingid:T.default.localSharingPara.meetingid,meetingnumb:T.default.localSharingPara.meetingnumb,multiThreadNum:1,iv:a,uplimit:T.default.uplimit,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,rendererType:T.default.localSharingPara.rendererType,isEnableCanvasAlphaChannel:!1,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()})}}function ye(e){var t=e.data;try{if(t.status===o.Sharing_Width_And_Height_Info)C.a.publish(a.SHARING_PARAM_INFO_FROM_SOCKET,{body:{width:t.logicWidth,height:t.logicHeight,logicWidth:t.logicWidth,logicHeight:t.logicHeight}}),T.default.Notify_APPUI(a.SHARING_PARA,{body:{width:t.logicWidth,height:t.logicHeight,logicWidth:t.logicWidth,logicHeight:t.logicHeight}});else if(t.status===o.FIRST_SHARING_FRAME_FOR_MOBILE)T.default.Notify_APPUI(a.FIRST_IOS_FRAME,t.ssrc);else if(t.status===o.SHARING_RENDER_MONITOR_LOG)A.default.add_monitor2(t.data);else if(t.status===o.SHARING_FIRST_DECODE_FRAME_RECEIVED)A.default.add_monitor("FSF"),T.default.Notify_APPUI(a.SHARING_FIRST_DECODE_FRAME_RECEIVED_SSRC,{ssrc:t.ssrc});else if(t.status===o.SHARING_DATA_VIDEO_MODE)!function(e,t,i,r,a,s,o,n,d,u,l,c,h){if(!T.default.isSharingPlayWork)return;var f={yuvdata:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,r_w:n,r_h:d,logic_w:u,logic_h:l,yuv_limited:c,isFromMainSession:h};T.default.mediaSDKHandle.SharingRenderObj.Put_Sharing_Data_From_Queue(f,15)}(t.sharing_ssrc,t.data,t.sharing_timestamp,t.sharing_width,t.sharing_height,t.rendering_x,t.rendering_y,t.rendering_w,t.rendering_h,t.logic_w,t.logic_h,t.yuv_limited,t.isFromMainSession);else if(t.status===o.MOUSE_DATA_VIDEO_MODE)!function(e,t,i,r,a,s,o,n,d,u){if(!T.default.isSharingPlayWork)return;var l={buffer:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,mLogic_w:n,mLogic_h:d,sync_id:u};T.default.mediaSDKHandle.SharingRenderObj.Put_Mouse_Data_Into_Queue(l)}(t.mouse_ssrc,t.data,t.mouse_timestamp,t.mouse_width,t.mouse_height,t.mouse_x,t.mouse_y,t.mLogic_w,t.mLogic_h,t.sync_id);else if(t.status===o.SHARING_DECODE_MESSAGE)T.default.Notify_APPUI(a.SHARING_DECODE_MAX_SIZE,{ssrc:t.ssrc,size:t.size,fps:t.size});else if(t.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!1,...t.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else if(t.status===o.Sharing_Dec_WASM_OK)A.default.add_monitor("SDWS"),T.default.isSharingDecodeWASMOK=!0,T.default.sharingDecInitInstance.setWasmSuccess();else if(t.status===o.Sharing_Dec_WASM_FAILED)A.default.add_monitor("SDWF",t.data),ue("SDWF"),T.default.sharingDecInitInstance.setWasmSuccess(!1);else if(t.status===o.Sharing_Handle_OK||t.status===o.Video_Sharing_Handle_OK)A.default.add_monitor("SDHS"),T.default.sharingDecInitInstance.setHanderSuccess();else if(t.status===o.Sharing_Handle_FAILED)A.default.add_monitor("SHHF"),T.default.sharingDecInitInstance.setHanderSuccess(!1);else if(t.status===o.Sharing_Dec_WebSocket_OK)A.default.add_monitor("SDSS"),T.default.sharingDecInitInstance.setSocketSuccess();else if(t.status===o.Sharing_Dec_WebSocket_FAILED)A.default.add_monitor("SDSF"),T.default.sharingDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.sharingDecInitInstance.setSocketSuccess(!1);else{if(t.status==o.MONITOR_MESSAGE)return void A.default.send_monitor_directly(t.data);if(t.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localSharingDecMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e,R.f.SHARING_DECODE)}else t.status==o.APP_TROUBLESHOOTING_INFO?(T.default.monitorSharingDecodeAPPInfo=t,A.default.send_monitor_directly(T.default.monitorSharingDecodeAPPInfo.data),T.default.monitorSharingDecodeAPPInfo=null):t.status==o.WCL_TROUBLESHOOTING_INFO?A.default.add_monitor("SD"+t.data):t.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST?(A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:t.canvasId,replaceCanvas:!!t.replaceCanvas})):t.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED?A.default.add_monitor("MWGRF"):"WFMO"==t.status?ke(R.f.SHARING_DECODE):t.status==o.WASM_MEMORY_GRROW_FAILED?T.default.SDMTimes++<2&&(ue(R.f.SHARING_DECODE+" Memory Allocate Failed"),A.default.add_monitor("SDMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)):t.status==o.RECEIVE_ANNOTATION_PDU?T.default.mediaSDKHandle.onAnnotationPdu(t.data):t.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,t.where):ne(R.f.SHARING_DECODE,e)}}catch(e){v.default.error("Error in SharingDec_Listener",e)}}function Me(e){var t=e.data;try{if(t.status===o.SHARING_GET_IMAGE_DATA_WRONG)A.default.add_monitor("GIDF");else if(t.status===o.Sharing_Dec_WASM_OK)A.default.add_monitor("SEWS"),T.default.isSharingEncodeWASMOK=!0,T.default.sharingEncInitInstance.setWasmSuccess();else if(t.status===o.Sharing_Dec_WASM_FAILED)A.default.add_monitor("SEWF",t.data),ue("SEWF"),T.default.sharingEncInitInstance.setWasmSuccess(!1);else if(t.status===o.Sharing_Handle_OK||t.status===o.Video_Sharing_Handle_OK)A.default.add_monitor("SEHS"),T.default.sharingEncInitInstance.setHanderSuccess();else if(t.status===o.Sharing_Handle_FAILED)A.default.add_monitor("SEHF"),T.default.sharingEncInitInstance.setHanderSuccess(!1);else if(t.status===o.Sharing_Dec_WebSocket_OK)A.default.add_monitor("SESS"),T.default.sharingEncInitInstance.setSocketSuccess();else if(t.status===o.Sharing_Dec_WebSocket_FAILED)A.default.add_monitor("SESF",t.data),T.default.sharingEncInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.sharingEncInitInstance.setSocketSuccess(!1);else if(t.status==o.SHARING_CAPTURE_FRAME_COUNT_STATISTIC)A.default.add_monitor2("SCFOK");else if(t.status==o.UNSUPPORTED_SHARING_FORMAT)A.default.add_monitor("SCFF"+t.format);else if(t.status==o.Video_Capture_Tick)T.default.mediaSDKHandle.isSupportVideoTrackReader?(T.default.mediaSDKHandle.canISendNextSharingFrame=!0,T.default.mediaSDKHandle.Process_Sharing()):T.default.mediaSDKHandle.Process_Sharing();else if(t.status==o.WhiteBoard_Video_Capture_Tick)T.default.mediaSDKHandle.Process_Sharing();else if(t.status===o.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT){var i;null===(i=T.default.mediaSDKHandle)||void 0===i||i.onSharingSizeChange(t),T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t.width,height:t.height})}else{if(t.status==o.MONITOR_MESSAGE)return void A.default.send_monitor_directly(t.data);if(t.status==o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e)}else if(t.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!0,...t.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else t.status==o.APP_TROUBLESHOOTING_INFO?A.default.send_monitor_directly(t.data):t.status==o.WCL_TROUBLESHOOTING_INFO?A.default.add_monitor("SE"+t.data):t.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST?T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:t.canvasId,replaceCanvas:!!t.replaceCanvas}):t.status==o.WHITEBOARD_WORKER_MESSAGE?T.default.Notify_APPUI(a.WB_MESSAGE,{data:t.data}):"WFMO"==t.status?ke(R.f.SHARING_ENCODE):t.status==o.SHARING_HEALTH_CHECK_FAILED?(Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.SHARING_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.SHARING_HEALTH_CHECK_FAILED,", ").concat(t.videoType,",").concat(t.subforme,",").concat(t.hasRTPPackets))):t.status==o.WASM_MEMORY_GRROW_FAILED?T.default.SEMTimes++<2&&(ue(R.f.SHARING_ENCODE+" Memory Allocate Failed"),A.default.add_monitor("SEMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)):t.status==o.RECEIVE_ANNOTATION_PDU?T.default.mediaSDKHandle.onAnnotationPdu(t.data):t.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,t.where):ne(R.f.SHARING_ENCODE,e)}}catch(e){v.default.error("Error in SharingEnc_Listener",e)}}function Pe(e){var t,i=e.data,r=!0;try{if("NewActiveSpeakerFirstframeCallback"===i.status)T.default.Notify_APPUI(a.NEW_ACTIVE_SPEAKER_FIRST_FRAME_CALLBACK,{ssrc:i.ssrc});else if(i.status===o.VIDEO_RESOLUTION_UPDATE)T.default.Notify_APPUI(a.CURRENT_VIDEO_RESOLUTION,{width:i.width,height:i.height});else if(i.status===o.WORKER_MAIN_VIDEO_DECODE_RINGBUFFER_TICK){let e=T.default.mediaSDKHandle.videoDecodeFrameBackSABRingBufferConsumer;e&&e.consumeAll(T.default.mediaSDKHandle.bVideoDecodeFrameBackSABRingBufferConsumeCopyData)}else if(i.status===o.VIDEO_RENDER_MONITOR_LOG)A.default.add_monitor2(i.data);else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST)A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:i.canvasId,replaceCanvas:!!i.replaceCanvas});else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED)A.default.add_monitor("MWGRF");else if(i.status==o.WEBGL_CONTEXT_CREATE_FAILED)A.default.add_monitor("MWCGLF"),Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,i.where);else if(0===i.status)$e(i.video_ssrc,i.data,i.video_timestamp,i.video_width,i.video_height,i.rendering_x,i.rendering_y,i.rendering_w,i.rendering_h,i.rotation,i.yuv_limited);else if(i.status===o.Video_Dec_WASM_OK)A.default.add_monitor("VDWS"),T.default.isVideoDecodeWASMOK=!0,T.default.videoDecInitInstance.setWasmSuccess(),T.default.isPreviewMode.videoDecode&&T.default.Notify_APPUI_SAFE(a.PREVIEW_INIT_VIDEO_DECODE_SUCCESS);else if(i.status===o.DECODE_MESSAGE){let e=i.size;T.default.Notify_APPUI(a.VIDEO_DECODE_MAX_SIZE,{ssrc:i.ssrc,size:e}),A.default.add_monitor("VDMS:"+e)}else if(i.status===o.Video_Dec_WASM_FAILED)A.default.add_monitor("VDWF",i.data),ue("VDWF"),T.default.videoDecInitInstance.setWasmSuccess(!1);else if(i.status===o.Video_Dec_Handle_OK)A.default.add_monitor("VDHS"),T.default.videoDecInitInstance.setHanderSuccess();else if(i.status===o.Video_Dec_Handle_FAILED)A.default.add_monitor("VDHF"),T.default.videoDecInitInstance.setHanderSuccess(!1);else if(i.status===o.Video_Dec_WebSocket_OK)T.default.videoDecInitInstance.setSocketSuccess(),A.default.add_monitor("VDSS");else if(i.status===o.Video_Dec_WebSocket_FAILED)A.default.add_monitor("VDSF"),T.default.videoDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.videoDecInitInstance.setSocketSuccess(!1);else if(i.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("VDWPS");else if(i.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("VDWPCLOSE"),ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_WEBTRANSPORT);else if(i.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("VDWSCLOSE");else if(i.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("VDTTP:"+i.type);else if(i.status==o.MONITOR_MESSAGE)A.default.send_monitor_directly(i.data),r=!1;else if(i.status==o.APP_TROUBLESHOOTING_INFO)r=!1,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:i.data}});else if(i.status==o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);Ue(i.url,e,R.f.VIDEO_DECODE),r=!1}else if(i.status==o.WCL_TROUBLESHOOTING_INFO)r=!1,A.default.add_monitor("VD"+i.data);else if(i.status===o.CURRENT_DECODE_VIDEO_QUALITY)T.default.Notify_APPUI_SAFE(a.CURRENT_DECODE_VIDEO_QUALITY,i.data);else if(i.status===o.CURRENT_DECODE_VIDEO_FPS)T.default.Notify_APPUI_SAFE(a.CURRENT_DECODE_VIDEO_FPS,i.data);else if(i.status===a.VIDEO_QOS_DATA){const e={encoding:!1,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEO_QOS_DATA,e)}else"FIRST_VIDEO_FRAME"===i.status?(T.default.Notify_APPUI_SAFE(a.FIRST_VIDEO_FRAME),A.default.add_monitor("FVF")):i.status===o.NETWORK_QUALITY_CHANGE?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE,{isUplink:i.isUplink,networkLevel:i.networkLevel,bwLevel:i.bwLevel}):"WFMO"==i.status?(r=!1,ke(R.f.VIDEO_DECODE)):i.status==o.Video_Sharing_Handle_OK?r=!0:i.status==o.WASM_MEMORY_GRROW_FAILED?(r=!1,T.default.VDMTimes++<2&&(ue(R.f.VIDEO_DECODE+" Memory Allocate Failed"),A.default.add_monitor("VDMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL))):i.status==o.WEBCODEC_PERFORMANCE_STATUS?hi(i.data):(i.status==o.GLOBAL_TRACING_LOG&&(r=!1),ne(R.f.VIDEO_DECODE,e))}catch(e){v.default.error("Error in VideoDec_Listener",e)}r&&null!==(t=T.default.mediaSDKHandle)&&void 0!==t&&t.isSupportVideoShare&&ye(e)}function Ne(e){var t,i=e.data,r=!0;if(i!==o.WORKER_MAIN_VIDEO_ENCODE_RINGBUFFER_TICK){try{if("VBPredictDone"===i.status)A.default.add_monitor("VBPOK"+i.predictCostTime),T.default.isPreviewMode.videoEncode&&me.enqueueMessage({name:me.nameMap.INIT_VIDEO_ENCODE_SUCCESS,messageParams:[a.VB_MODEL_PRELOADING_OK,null],direction:me.direction.SDK_TO_APP}),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_OK,null);else if("VBPredictAbout3s"===i.status)A.default.add_monitor("VBP3S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_3S,null);else if("VBPredictAbout10s"===i.status)A.default.add_monitor("VBP10S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_10S,null);else if("vbInitializeFailed"===i.status)v.default.error("VB tensorflow backend initialize failed"),A.default.add_monitor("VBBEF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL);else if(0===i.status);else if(i.status===o.Video_Enc_WASM_OK||i.status===o.Video_Dec_WASM_OK)A.default.add_monitor("VEWS"),T.default.isVideoEncodeWASMOK=!0,T.default.videoInitInstance.setWasmSuccess();else if(i.status===o.Video_Enc_WASM_FAILED)A.default.add_monitor("VEWF",i.data),ue("VEWF"),T.default.videoInitInstance.setWasmSuccess(!1);else if(i.status===o.Video_Enc_Handle_OK||o.Video_Dec_Handle_OK===i.status)A.default.add_monitor("VEHS"),T.default.videoInitInstance.setHanderSuccess();else if(i.status===o.Video_Enc_Handle_FAILED||o.Video_Dec_Handle_FAILED===i.status)A.default.add_monitor("VEHF"),T.default.videoInitInstance.setHanderSuccess(!1);else if(o.Video_Dec_WebSocket_OK===i.status)A.default.add_monitor("VESS"),T.default.videoInitInstance.setSocketSuccess();else if(i.status===o.Video_Dec_WebSocket_FAILED)A.default.add_monitor("VESF"),T.default.videoInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.videoInitInstance.setSocketSuccess(!1);else if(i.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("VEWPS");else if(i.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("VEWPCLOSE");else if(i.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("VEWSCLOSE");else if(i.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("VETTP:"+i.type);else if(i.status===o.CURRENT_ENCODED_TYPE)A.default.add_monitor("VEHORS:"+i.type);else if(i.status===o.Video_Capture_Tick)T.default.mediaSDKHandle.Process_Video();else if(i.status===o.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT)T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:i.width,height:i.height});else if(i.status===o.VIDEO_CAPTURER_RESOLUTION_CHANGE)A.default.add_monitor("VCRC"+i.width),T.default.mediaSDKHandle.Change_Video_Capture_Resolution(i.width,i.height);else if(i.status==o.VIDEO_CAPTURE_FRAME_COUNT_STATISTIC)A.default.add_monitor2("VCFOK");else if(i.status==o.UNSUPPORTED_VIDEO_FORMAT)A.default.add_monitor("VCFF","format: ".concat(i.format));else{if(i.status==o.MONITOR_MESSAGE)return r=!1,void A.default.send_monitor_directly(i.data);if(i.status==o.APP_TROUBLESHOOTING_INFO)r=!1,A.default.send_monitor_directly(i.data);else if(i.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);Ue(i.url,e,R.f.VIDEO_ENCODE),r=!1}else if(i.status==o.WCL_TROUBLESHOOTING_INFO)r=!1,A.default.add_monitor("VE"+i.data);else if(i.status==o.WASMPTR){let e=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var s=T.default.localVideoDecMGR.map.get(e);s&&s.postMessage({command:"encodedimagebitmapwasmptr",data:i.data,wasmMemory:i.wasmMemory})}else T.default.isPreviewMode.videoEncode&&me.enqueueMessage({name:me.nameMap.INIT_VIDEO_DECODE_SUCCESS,messageParams:[R.f.VIDEO_DECODE,{command:"encodedimagebitmapwasmptr",data:i.data,wasmMemory:i.wasmMemory}],direction:me.direction.SDK_TO_WORKER})}else if(i.status===a.VIDEO_QOS_DATA){const e={encoding:!0,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEO_QOS_DATA,e)}else if(i.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!0,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST)A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:i.canvasId,replaceCanvas:!!i.replaceCanvas});else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED)A.default.add_monitor("MWGRF");else if(i.status===o.Video_Encode_Preview_OK)T.default.mediaSDKHandle.init_Notify_APPUI(!0,R.f.VIDEO_ENCODE);else if(i.status===o.NETWORK_QUALITY_CHANGE)T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE,{isUplink:i.isUplink,networkLevel:i.networkLevel,bwLevel:i.bwLevel});else if("WFMO"==i.status)r=!1,ke(R.f.VIDEO_ENCODE);else if(i.status==o.VIDEO_HEALTH_CHECK_FAILED)Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.VIDEO_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.VIDEO_HEALTH_CHECK_FAILED,", ").concat(i.videoType,",").concat(i.subforme,",").concat(i.hasRTPPackets));else if(i.status===a.EXPOSE_VB_FRAME){const{frame:e}=i,{frameSent:t,frameReceived:r}=T.default;T.default.extVBPort&&t===r?(T.default.extVBPort.postMessage({type:a.UNIFIED_VB_FRAME,frame:e}),T.default.frameSent++):A.default.add_monitor("EVBOF-".concat(t-r)),e.close()}else i.status==o.Video_Sharing_Handle_OK?r=!0:i.status==o.WASM_MEMORY_GRROW_FAILED?(r=!1,T.default.VEMTimes++<2&&(ue(R.f.VIDEO_ENCODE+" Memory Allocate Failed"),A.default.add_monitor("VEMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL))):i.status==o.WEBCODEC_PERFORMANCE_STATUS?hi(i.data):i.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,i.where):(i.status==o.GLOBAL_TRACING_LOG&&(r=!1),ne(R.f.VIDEO_ENCODE,e))}}catch(e){v.default.error("Error in VideoEnc_Listener",e)}r&&null!==(t=T.default.mediaSDKHandle)&&void 0!==t&&t.isSupportVideoShare&&Me(e)}}function Ve(e,t){let i;try{i=new WebAssembly.Memory({initial:e,maximum:t,shared:!0})}catch(e){v.default.error("E:H Allocate WasmMemory Failed",e),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)}return i}function ke(e){let t,i,r=!1,a=g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()?4096:8192,s=T.default.mediaSDKHandle.is32bitbrowser||!g.default.isChromeVersionHigherThan(90)||g.default.isChromeOS();if(e==R.f.VIDEO_ENCODE){var o;if(i=T.default.localVideoEncMGR.map.get(0),T.default.VE)r=!0,t=T.default.VE;else null!==(o=T.default.mediaSDKHandle)&&void 0!==o&&o.isSupportVideoShare&&(a=32e3),t=Ve(1024,a),s&&(T.default.VE=t);T.default.localVideoPara&&(T.default.localVideoPara.VE=t)}else if(e==R.f.VIDEO_DECODE){var n;if(i=T.default.localVideoDecMGR.map.get(0),T.default.VD)r=!0,t=T.default.VD;else null!==(n=T.default.mediaSDKHandle)&&void 0!==n&&n.isSupportVideoShare&&(a=16384),t=Ve(1024,a),s&&(T.default.VD=t);T.default.localVideoPara&&(T.default.localVideoPara.VD=t)}else e==R.f.SHARING_ENCODE?(i=T.default.localSharingEncMGR.map.get(0),T.default.SE?(r=!0,t=T.default.SE):(t=Ve(1024,a),s&&(T.default.SE=t)),T.default.localVideoPara&&(T.default.localVideoPara.SE=t)):e==R.f.SHARING_DECODE&&(i=T.default.localSharingDecMGR.map.get(0),T.default.SD?(r=!0,t=T.default.SD):(t=Ve(1024,a),s&&(T.default.SD=t)),T.default.localVideoPara&&(T.default.localVideoPara.SD=t));if(r){new Uint8Array(t.buffer).fill(0)}i.postMessage({command:"wasmMemory",data:t})}function Ue(e,t,i){g.default.downloadAndCompileWebAssembly(e,i,A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate).then(e=>{t.postMessage({command:"DOWNLOAD_WASM_FROM_MAIN_THREAD_OK",data:e})}).catch(e=>{t.postMessage({command:"DOWNLOAD_WASM_FROM_MAIN_THREAD_FAILED"})})}const Le=function(){let e={send:null,recvWorklet:null,recvWorker:null},t=null,i=/(WCL_MCM_AUDIO.*?)(\{\[SPEECHINPUT_R16\]\}),(.*?),(.*?),(.*?),(.*?),(\{\[SEND\]\}.*?)(\{\[DENOISE\]\}.*?)\{\[CAPTURE\]\},(.*?),(\{\[AEC\]\},.*?),(\{\[END\]\})/,r=/(WCL_MCM_AUDIO.*?)(\{\[SPEECHOUTPUT_R16\]\},)(.*?),(\{\[NETWORK\]\}.*?)(\{\[RECEIVE\]\}.*?)\{\[RENDER\]\},(.*?),(.*?)(\{\[END\]\})/;return{push(i){let{log:r,logSource:a}=i;if(r&&this._isLogValid(r)){if(this._checkNeedReportImmediate(r,a))return a===s.AUDIO_WEBRTC_WORKLET?this._sendWebRTCLog(r):this._report(r);a===s.AUDIO_ENCODE_WORKER?e.send=r:a===s.AUDIO_DECODE_WORKER?e.recvWorker=r:e.recvWorklet=r,this._clearTImer(),t=setTimeout(this._checkNeedReport.bind(this),2e3)}},_isLogValid:e=>!!(e.match("WCL_MCM_AUDIO")||e.match("JITTER")||e.match("DEVICE")||e.match("ORIGINAL_SOUND")||e.match("AUDIO_CODEC_EVENT")||e.match("AUDIOEVENT")||e.match("AUDIO_DEVICE_VOLUME")),_checkNeedReportImmediate:(e,t)=>t===s.AUDIO_WEBRTC_WORKLET||!e.match("SPEECHOUTPUT_R16")&&!e.match("SPEECHINPUT_R16"),_checkNeedReport(){const e=this._generateLog();e&&this._report(e)},_sendWebRTCLog(e){const{denoise:t,captureCounter:i}=this._parseSend(e);this._report("WCL_AB,"+t+"{[CAPTURTE]},"+i+",{[END]}")},_generateLog(){if(!e.send&&!e.recvWorker&&!e.recvWorklet)return null;const{inputputPrefix:t,speechInStr:i,speechInOutStr:r,denoiseInStr:a,denoiseOutStr:s,send:o,denoise:n,captureCounter:d,aec:u}=this._parseSend(e.send);let l={};e.recvWorklet&&(l=this._parseRecv(e.recvWorklet));let c=this._parseRecv(e.recvWorker),h=l.outputPrefix||c.outputPrefix,f=l.speechOutStr||c.speechOutStr,p=l.network||c.network,_=l.renderCounter||c.renderCounter,m=l.others||c.others,E=c.receive;this.recordEchoLog(u);const g=t||h,S="{[SPEECH_R16]},".concat(i,",").concat(r,",").concat(f,",").concat(a,",").concat(s,",").concat(u,",").concat(p).concat(E).concat(m,"{[PROCESS]},").concat(d,",").concat(_,",").concat(o).concat(n,"{[END]}");return"".concat(g).concat(S)},recordEchoLog(e){let t=e.match(/-?\d+/g);t&&(parseInt(t[0])||parseInt(t[1]))&&v.default.directReport("echo captured: "+t[0]+": "+t[1])},_parseSend(e){const t=i.exec(e||"")||[];return{inputputPrefix:t[1]||"",speechInStr:t[3]||"",speechInOutStr:t[4]||"",denoiseInStr:t[5]||"",denoiseOutStr:t[6]||"",send:t[7]||"",denoise:t[8]||"",captureCounter:t[9]||"",aec:t[10]||""}},_parseRecv(e){const t=r.exec(e||"")||[];return{outputPrefix:t[1]||"",speechOutStr:t[3]||"",network:t[4]||"",receive:t[5]||"",renderCounter:t[6]||"",others:t[7]||""}},_report(e){e&&T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},_clearTImer(){clearTimeout(t),t=null},clear(){e={send:null,recv:null},this._clearTImer()}}}();function xe(e){var t=e.data;try{if(0===t.status)t.time?T.default.AudioNode&&T.default.AudioNode.postData("data",{ssrc:T.default.CurrentSSRC,data:t.data,time:t.time}):T.default.AudioNode&&T.default.AudioNode.postData("data",{ssrc:T.default.CurrentSSRC,data:t.data,time:null});else if(t.status===o.Audio_Enc_WASM_OK||t.status===o.Audio_Dec_WASM_OK)A.default.add_monitor("ADWS"),T.default.isAudioDecodeWASMOK=!0,T.default.audioDecInitInstance.setWasmSuccess(),T.default.isPreviewMode.audioDecode&&T.default.Notify_APPUI_SAFE(a.PREVIEW_INIT_AUDIO_DECODE_SUCCESS);else if(t.status===o.Audio_Dec_WASM_FAILED)A.default.add_monitor("ADWF",t.data),ue("ADWF"),T.default.audioDecInitInstance.setWasmSuccess(!1);else if(t.status===o.Audio_Dec_Handle_OK)A.default.add_monitor("ADHS"),T.default.audioDecInitInstance.setHanderSuccess();else if(t.status===o.Audio_Dec_Handle_FAILED)A.default.add_monitor("ADHF"),T.default.audioDecInitInstance.setHanderSuccess(!1);else if(t.status===o.Audio_Dec_WebSocket_OK)A.default.add_monitor("ADSS"),T.default.audioDecInitInstance.setSocketSuccess();else if(t.status===o.Audio_Dec_WebSocket_FAILED)A.default.add_monitor("ADSF"),T.default.audioDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.AUDIO_WEBSOCKET_BROKEN,null),T.default.audioDecInitInstance.setSocketSuccess(!1);else if(t.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("ADWPS");else if(t.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("ADWPCLOSE"),ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_WEBTRANSPORT);else if(t.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("ADWSCLOSE");else if(t.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("ADTTP:"+t.type);else if(t.status==o.MONITOR_MESSAGE)A.default.send_monitor_directly(t.data);else if(t.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e,R.f.AUDIO_DECODE)}else if(t.status==o.WCL_TROUBLESHOOTING_INFO)A.default.add_monitor("AD"+t.data);else if(t.status==o.CURRENT_SSRC_TIME)t.at&&T.default.CurrentSSRCTime!==t.at&&(T.default.CurrentSSRCTime=t.at,T.default.audioPlayTime=Date.now()),t.st&&T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(t.st);else if("multiCurrentTime"==t.status){if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);i&&i.postMessage({command:"audioDecodeTime",data:t.data,status:1})}}else if(t.status==o.AUDIO_ENCODED_DATA);else if(t.status===o.AUDIO_MONITOR_LOG)Le.push({log:t.data,logSource:s.AUDIO_DECODE_WORKER});else if(t.status===a.AUDIO_QOS_DATA){const e={encoding:!1,...t.data};T.default.Notify_APPUI_SAFE(a.AUDIO_QOS_DATA,e)}else t.status===o.NETWORK_QUALITY_CHANGE_AUDIO?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:t.isUplink,networkLevel:t.networkLevel,bwLevel:t.bwLevel}):ne(R.f.AUDIO_DECODE,e)}catch(e){v.default.error("Error in AudioDecodeListener",e)}}function We(e){if(T.default.localAudioDecMGR||T.default.isPreviewMode.audioEncode)try{let r=e.data;if(r.status===o.WORKER_MAIN_AUDIO_ENCODE_RINGBUFFER_TICK);else if(0==r.status){var t=T.default.SPECIAL_ID,i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"EncodedAudioFrame",data:r.data},[r.data.buffer])}else if(r.status==o.AUDIO_ENCODED_DATA);else if(r.status===o.Audio_Enc_WASM_OK||r.status===o.Audio_Dec_WASM_OK)A.default.add_monitor("AEWS"),T.default.isAudioEncodeWASMOK=!0,T.default.audioEncodeInitInstance.setWasmSuccess();else if(r.status===o.Audio_Enc_WASM_FAILED||r.status===o.Audio_Dec_WASM_FAILED)A.default.add_monitor("AEWF",r.data),ue("AEWF"),T.default.audioEncodeInitInstance.setWasmSuccess(!1);else if(r.status===o.Audio_Dec_Handle_OK)A.default.add_monitor("AEHS"),T.default.audioEncodeInitInstance.setHanderSuccess();else if(r.status===o.Audio_Dec_WebSocket_OK)A.default.add_monitor("AESS"),T.default.audioEncodeInitInstance.setSocketSuccess();else if(r.status===o.Audio_Dec_WebSocket_FAILED)A.default.add_monitor("AESF"),T.default.audioEncodeInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.AUDIO_WEBSOCKET_BROKEN,null),T.default.audioEncodeInitInstance.setSocketSuccess(!1);else if(r.status===o.Audio_Dec_Handle_FAILED)A.default.add_monitor("AEHF"),T.default.audioEncodeInitInstance.setHanderSuccess(!1);else if(r.status===o.Audio_Enc_Handle_FAILED)T.default.Notify_APPUI_SAFE(o.Audio_Enc_Handle_FAILED,null);else if(r.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("AEWPS");else if(r.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("AEWPCLOSE");else if(r.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("AEWSCLOSE");else if(r.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("AETTP:"+r.type);else if(r.status===o.AUDIO_DELAY)T.default.indexDbObject.put(r.delay,"delay"),T.default.openIndexFlag&&T.default.indexDbObject.select("delay");else if(r.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localAudioEncMGR.map.get(T.default.SPECIAL_ID);Ue(r.url,e,R.f.AUDIO_ENCODE)}else if(r.status==o.WCL_TROUBLESHOOTING_INFO)A.default.add_monitor("AE"+r.data);else if(r.status==o.AUDIO_CLIPPING);else if(r.status===o.AUDIO_MONITOR_LOG)Le.push({log:r.data,logSource:s.AUDIO_ENCODE_WORKER});else if(r.status===a.AUDIO_QOS_DATA){const e={encoding:!0,...r.data};T.default.Notify_APPUI_SAFE(a.AUDIO_QOS_DATA,e)}else r.status===o.Audio_Encode_Preview_OK?T.default.mediaSDKHandle.init_Notify_APPUI(!0,R.f.AUDIO_ENCODE):r.status===a.SPEAKING_WHEN_MUTE?T.default.Notify_APPUI_SAFE(a.SPEAKING_WHEN_MUTE):r.status===a.AUDIO_LEVEL_INDICATOR?T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:r.value}):r.status===o.NETWORK_QUALITY_CHANGE_AUDIO?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:r.isUplink,networkLevel:r.networkLevel,bwLevel:r.bwLevel}):r.status==o.AUDIO_HEALTH_CHECK_FAILED?(Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.AUDIO_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.AUDIO_HEALTH_CHECK_FAILED,", ").concat(r.videoType,",").concat(r.subforme,",").concat(r.hasRTPPackets))):ne(R.f.AUDIO_ENCODE,e)}catch(e){v.default.error("Error in AudioEnc_Listener",e)}}async function Be(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:48e3;const t=g.default.browser.isSafari&&g.default.getMacSafariMajorVersion()<16;if(!T.default.sharedBuffer&&g.default.isSupportSharedArrayBuffer()&&!t){ie("LP2PSP");let t=1;(g.default.browser.isFirefox||48e3===g.default.getAudioContextConfigure().sampleRate)&&(t=48);let i=640;i=g.default.isChromeVersionHigherThan(74)?960:e/100*2;let r=g.default.isBrowserSupportStereo()?2:1,a=g.default.isSupportPlayStereo()?2:1,s=g.default.isSupportSharingStereo()?2:1;T.default.sharedBuffer={inputState:new SharedArrayBuffer(24),inputBuffer:new SharedArrayBuffer(t*i*4*4*r),sharingInputState:new SharedArrayBuffer(24),sharingInputBuffer:new SharedArrayBuffer(t*i*4*4*s),outputState:new SharedArrayBuffer(24),outputBuffer:new SharedArrayBuffer(t*i*4*4*2),rtpBuffer:new SharedArrayBuffer(120008),echoState:T.default.enableEchoDetection?new SharedArrayBuffer(24):void 0,echoBuffer:T.default.enableEchoDetection?new SharedArrayBuffer(t*i*4*4*a):void 0}}A.default.add_monitor("INITSAB"+!!T.default.sharedBuffer),T.default.decoderinworklet=T.default.decoderinworkletOP&&!!T.default.sharedBuffer}function Ge(e,t){var i;T.default.localSharingPara?Object.assign(T.default.localSharingPara,t):T.default.localSharingPara=t,i=e,T.default.Sharing_WebSocket_Ip_Address=i}function Fe(e,t){T.default.localAudioPara?Object.assign(T.default.localAudioPara,t):T.default.localAudioPara=t,Ke(e)}function He(e,t){T.default.localVideoPara?Object.assign(T.default.localVideoPara,t):T.default.localVideoPara=t,Ye(e)}function Ke(e){T.default.Audio_WebSocket_Ip_Address=e}function je(e){T.default.Audio_Web_Transport_Ip_Address=e}function Ye(e){T.default.Video_WebSocket_Ip_Address=e}function qe(e){T.default.Video_Web_Transport_Ip_Address=e}function Xe(){!function(e){if(e=T.default.SPECIAL_ID,T.default.localAudioEncMGR){var t=T.default.localAudioEncMGR.map.get(e);t&&(t.postMessage({command:2}),T.default.localAudioEncMGR.map.delete(e)),T.default.audioEncodeSession=null}}(T.default.SPECIAL_ID),function(e){if(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR){var t=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);t&&(t.postMessage({command:2}),T.default.localAudioDecMGR.map.delete(e)),T.default.audioDecodeSession=null}}(T.default.SPECIAL_ID),T.default.localAudioDecMGR=null,T.default.localAudioEncMGR=null}function Qe(){!function(e){if(e=T.default.SPECIAL_ID,T.default.localVideoDecMGR){var t=T.default.localVideoDecMGR.map.get(e);t&&(t.postMessage({command:2}),T.default.localVideoDecMGR.map.delete(e)),T.default.videoDecodeSession=null}}(T.default.SPECIAL_ID),T.default.localVideoDecMGR=null,T.default.localVideoEncMGR=null}function ze(){!function(){var e=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR){var t=T.default.localSharingDecMGR.Get(e);t&&(t.postMessage({command:2}),T.default.localSharingDecMGR=null),T.default.isSharingDecodeThreadStart=!1}}()}function Je(e,t,i,r,a){if(T.default.localVideoEncMGR){var s=T.default.localVideoEncMGR.map.get(e);if(s){var o={command:"encodeVideoFrame",data:t,stride:i,x:r,y:a};s.postMessage(o,[o.data.buffer])}}}function Ze(e,t,i,r,a,s){var o,n;if(n=null!==(o=T.default.mediaSDKHandle)&&void 0!==o&&o.isSupportVideoShare?T.default.localVideoEncMGR.map.get(e):T.default.localSharingEncMGR.map.get(e)){let e;t?(e={command:"encodeSharingFrame",data:t,width:a,height:s},n.postMessage(e,[e.data.buffer])):(e={command:"encodeSharingFrame"},n.postMessage(e))}}function $e(e,t,i,r,a,s,o,n,d,u,l){if(T.default.isVideoPlayWork){var c={yuvdata:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,r_w:n,r_h:d,rotation:u,yuv_limited:l};c.ssrc=c.ssrc>>10<<10,T.default.mediaSDKHandle.VideoRenderObj.Put_Video_Data_Queue(c,15)}}function et(){return T.default.localSharingDecMGR?T.default.localSharingDecMGR.SharingQueueMGR.ClearQueue():T.default.localMouseDecMGR?T.default.localMouseDecMGR.SharingQueueMGR.ClearQueue():0}async function tt(e,t,i,r){T.default.isVideoDecodeThreadStart||(T.default.isVideoDecodeThreadStart=!0,await oe(r,T.default.localVideoDecMGR,Pe,R.f.VIDEO_DECODE,i))}async function it(e,t,i,r){if(A.default.add_monitor("AADT"),i&&i.isDestroy)return A.default.add_monitor("ZID"),ie("WorkerType:audioDec;The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. ");T.default.isAudioDecodeThreadStart||(T.default.isAudioDecodeThreadStart=!0,await oe(r,T.default.localAudioDecMGR,xe,R.f.AUDIO_DECODE,i))}function rt(e){if(e>>=10,T.default.localAudioDecMGR){var t=T.default.localAudioDecMGR.GetSSRCTimeMap(e);return null===t?0:t}}function at(e){return{currentSSRCTime:T.default.CurrentSSRCTime,audioPlayTime:T.default.audioPlayTime}}function st(e,t){var i=T.default.SPECIAL_ID,r=T.default.localVideoDecMGR.map.get(i);r.postMessage({command:"failover",websocket_ip_address:t}),(r=T.default.localAudioDecMGR.map.get(i)).postMessage({command:"failover",websocket_ip_address:e})}function ot(e){for(var t,i=T.default.SPECIAL_ID,r=T.default.audio_pcm_queue.dequeue();r;)r=T.default.audio_pcm_queue.dequeue();T.default.localAudioEncMGR&&(t=T.default.localAudioEncMGR.map.get(i))&&T.default.audioEncodeSession&&t.postMessage({command:"modifySampleRate",sampleRate:e}),T.default.localAudioDecMGR&&(t=T.default.localAudioDecMGR.map.get(i))&&T.default.audioDecodeSession&&t.postMessage({command:"modifySampleRate",sampleRate:e})}function nt(e,t,i){var r;(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR)&&((r=T.default.localAudioDecMGR.map.get(e))&&r.postMessage({command:"mute",bOn:t,fakeLeave:i}));T.default.localAudioEncMGR&&((r=T.default.localAudioEncMGR.map.get(e))&&r.postMessage({command:"mute",bOn:t,fakeLeave:i}))}function dt(e,t){var i;(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR)&&((i=T.default.localAudioDecMGR.map.get(e))&&i.postMessage({command:"AecFlag",flag:t}));T.default.localAudioEncMGR&&((i=T.default.localAudioEncMGR.map.get(e))&&i.postMessage({command:"AecFlag",flag:t}))}function ut(e,t,i,r){var a,s=T.default.SPECIAL_ID;T.default.localAudioDecMGR&&((a=T.default.localAudioDecMGR.map.get(s))&&a.postMessage({command:i},[e.port2]));T.default.localAudioEncMGR&&((a=T.default.localAudioEncMGR.map.get(s))&&a.postMessage({command:r},[t.port1]))}function lt(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){let t=T.default.localVideoDecMGR.map.get(i);t&&t.postMessage({command:"decodeVideoPort"},[e.port1])}if(T.default.localVideoEncMGR){let e=T.default.localVideoEncMGR.map.get(i);e&&e.postMessage({command:"encodeVideoPort"},[t.port2])}}function ct(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){let t=T.default.localVideoDecMGR.map.get(i);t&&t.postMessage({command:"vsport"},[e.port1])}if(T.default.localSharingDecMGR){let e=T.default.localSharingDecMGR.map.get(i);e&&e.postMessage({command:"vsport"},[t.port2])}}function ht(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"decodeAudioPort2"},[e.port2])}}function ft(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage({command:"shareAudioDecodeAudioPort2"},[e.port2])}}function pt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage({command:"decodeVideoPortWithAudio",port:e.port1},[e.port1])}}function _t(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage(e)}}function mt(e,t){Et({command:e,data:t},[t])}function Et(e,t){let i=T.default.SPECIAL_ID;if(!T.default.localVideoEncMGR)return!1;let r=T.default.localVideoEncMGR.map.get(i);return!!r&&(r.postMessage(e,t),!0)}function gt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage(e)}}function St(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&r.postMessage({command:e,data:t},[t])}}function vt(e,t){var i=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var r=T.default.localSharingEncMGR.map.get(i);r&&r.postMessage({command:e,data:t},[t])}}function Ct(e){if(!T.default.localVideoDecMGR)return;var t=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function At(e){var t=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR){var i=T.default.localSharingDecMGR.map.get(t);i&&i.postMessage(e)}}function Rt(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"updateCurrentSSRC",SSRC:e})}}function Tt(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage(e)}}function It(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage(e)}}function bt(e){var t={command:"interpretation_enable",enable:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_enable",t):T.default.workletMessageQueue.enqueue(t):It(t)}function Ot(e){Tt({command:"cc_set_lang",lang:e})}function Dt(e){var t={command:"interpretation_set_lang",lang:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_set_lang",t):T.default.workletMessageQueue.enqueue(t):It(t)}function wt(e){var t={command:"interpretation_mute_origin",mute:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_mute_origin",t):T.default.workletMessageQueue.enqueue(t):It(t)}function yt(e){var t={command:"interpretation_set_interpreter",interpreterList:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_set_interpreter",t):T.default.workletMessageQueue.enqueue(t):It(t)}function Mt(){var e=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var t=T.default.localAudioEncMGR.map.get(e);t&&t.postMessage({command:"resetAec"})}}function Pt(e){try{if(A.default&&e){let t=["ERR:",e.message,"f"].join(""),i=A.default.checkIsNecessaryExceptionLogAndReturnRepeatTimes(t);i.isNecessary?(ie("error repeat ".concat(i.repeatNumber),t),A.default.add_monitor(t+"(repeat:".concat(i.repeatNumber,")"))):ie("error but ignore",e.message)}}catch(e){ie("_listenWindowErrorEvent error",e)}}function Nt(){try{var e,t;A.default.add_monitor(["BSAGT:",navigator.userAgent].join("")),A.default.add_monitor("BSLITEND:"+(g.default.isLittleEndian()?1:0)),window.navigator.hardwareConcurrency&&A.default.add_monitor("OSCPUS:"+window.navigator.hardwareConcurrency);let i=g.default.getOSInfo();A.default.add_monitor("deviceType:".concat(i.osType,"|os_name:").concat(i.os,"|os_version:").concat(i.osVersion)),A.default.add_monitor("browser_name:".concat(null==i||null===(e=i.browser)||void 0===e?void 0:e.name,"|browser_version:").concat(null==i||null===(t=i.browser)||void 0===t?void 0:t.version)),Object(g.checkBrowserVersion)()}catch(e){console.error("<<<<",e)}}function Vt(e){A.default.init(),window.addEventListener("error",Pt),T.default.monitorIntervalHandle=setInterval((function(){if(!A.default.startSendLog)return;let e=A.default.get_monitor();e&&A.default.send_monitor_directly(e)}),1e4)}function kt(e){A.default.add_monitor2(e)}function Ut(e){window.removeEventListener("error",Pt),clearInterval(T.default.monitorIntervalHandle),A.default.send_instant_monitor()}function Lt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function xt(e){var t=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var i=T.default.localSharingEncMGR.Get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function Wt(e){if(!T.default.localVideoEncMGR)return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Bt(e){if(!T.default.localSharingEncMGR)return;var t=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Gt(e){if(!T.default.localVideoEncMGR)return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Ft(e){if(!T.default.localSharingEncMGR)return;var t=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Ht(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function Kt(){let e=T.default.SPECIAL_ID;[T.default.localAudioDecMGR,T.default.localAudioEncMGR,T.default.localVideoDecMGR,T.default.localVideoEncMGR,T.default.localSharingDecMGR,T.default.localSharingEncMGR].forEach(t=>{if(t&&t.map.get(e)){t.map.get(e).postMessage({command:"SOCKET_RECONNECT",disable:!0})}})}function jt(e){e.forEach(e=>{e&&(e.setHanderSuccess(!1),e.setSocketSuccess(!1),e.setWasmSuccess(!1))})}function Yt(e,t){let i=T.default.SPECIAL_ID;e&&e.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).onmessage=null}}),t&&t.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).onmessage=null}})}async function qt(e,t,i){let r=T.default.SPECIAL_ID,a=t;a.forEach(t=>{if(t&&t.map.get(r)){t.map.get(r).postMessage({command:2,_id:e._id})}}),a=i,a.forEach(t=>{if(t&&t.map.get(r)){t.map.get(r).postMessage({command:2,_id:e._id})}}),await g.default.sleep(1e3)}async function Xt(e,t){let i=T.default.SPECIAL_ID,r=e;r.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).terminate()}}),r=t,await g.default.is32bitChrome()||r.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).terminate()}})}function Qt(e){let t;switch(e){case R.f.AUDIO_DECODE:t=T.default.localAudioDecMGR;break;case R.f.AUDIO_ENCODE:t=T.default.localAudioEncMGR;break;case R.f.VIDEO_DECODE:t=T.default.localVideoDecMGR;break;case R.f.VIDEO_ENCODE:t=T.default.localVideoEncMGR;break;case R.f.SHARING_DECODE:t=T.default.localSharingDecMGR;break;case R.f.SHARING_ENCODE:t=T.default.localSharingEncMGR}let i=T.default.SPECIAL_ID;return t&&t.map.get(i)?t.map.get(i):null}async function zt(e){switch(e){case R.f.VIDEO_ENCODE:await T.default.videoInitInstance.initSuccessPromise;break;case R.f.VIDEO_DECODE:await T.default.videoDecInitInstance.initSuccessPromise;break;case R.f.AUDIO_ENCODE:await T.default.audioEncodeInitInstance.initSuccessPromise;break;case R.f.AUDIO_DECODE:await T.default.audioDecInitInstance.initSuccessPromise;break;case R.f.SHARING_ENCODE:await T.default.sharingEncInitInstance.initSuccessPromise;break;case R.f.SHARING_DECODE:await T.default.sharingDecInitInstance.initSuccessPromise;break;default:v.default.error("No matched worker type: ".concat(e))}}async function Jt(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];a&&await zt(e);let s=Qt(e);if(!s){if(!a)return ie("worker handle not ready, drop!",e,t,i),!1;if(ie.warn("worker handle not ready, waiting!",e,t,i),s=Qt(e),!s)return}return r?s.postMessage({command:i,data:t},[t]):s.postMessage({command:i,data:t}),!0}function Zt(){return null!==Qt(R.f.VIDEO_ENCODE)}function $t(e,t,i){var r=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var a=T.default.localVideoEncMGR.map.get(r);a&&(e?a.postMessage({command:t,canvas:e,rendercanvasID:i},[e]):a.postMessage({command:t,canvas:e,rendercanvasID:i}))}}function ei(e){let t;return t=new e({storeOptions:{nameSpaceId:"vbFile"}}),new Promise((e,i)=>{t.on("ready",()=>{e(t)})})}function ti(e){let t=new Uint8Array(e,0,12),i=new Uint8Array(e,12,32);window.crypto.subtle.importKey("raw",i,"AES-GCM",!0,["encrypt","decrypt"]).then(r=>{let a=t.length+i.length,s=new Uint32Array(e.slice(a,a+4))[0];a+=4;let o=e.slice(a,a+s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let n=new Uint8Array(e,a,s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let d=e.slice(a,a+s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let u=new Uint8Array(e,a,s);T.default.basebin=o,T.default.afnbin=d,ii(u,r,t).then(e=>{T.default.afnjson=(new TextDecoder).decode(e);var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&T.default.afnbin&&T.default.afnjson&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.afnbin,json:T.default.afnjson},index:1})}}),ii(n,r,t).then(e=>{T.default.basejson=(new TextDecoder).decode(e);var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&T.default.basebin&&T.default.basejson&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.basebin,json:T.default.basejson},index:2})}})})}function ii(e,t,i){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:i},t,e)}function ri(e){for(let r=0;r<e.length;r++)if("js"==e[r].type){A.default.add_monitor("VDTF"),T.default.tfjsurl=e[r].path;var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:T.default.tfjsurl,type:"js"})}}else"bin"==e[r].type&&fetch(e[r].path).then(e=>{if(!e.ok)throw new Error("network issue");return e.arrayBuffer()}).then(t=>{A.default.add_monitor("VDBIN"),T.default.vbarraybuffer=t;try{e[r].path.indexOf("dual")>=0&&ti(t)}catch(e){v.default.error("An error occurred when decrypting the virtual background file",e),A.default.add_monitor("VBDECRYPTF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL)}}).catch(e=>{v.default.error("An error occurred when trying to obtain the virtual background file",e),A.default.add_monitor("VBFF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL)})}function ai(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&(e?i.postMessage({command:"imagebitmap",data:e},[e]):i.postMessage({command:"imagebitmap"}))}}function si(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&(e?r.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e},[e]):r.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e}))}}function oi(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&(e?r.postMessage({command:"vbbgimagebitmap",imagename:t,data:e},[e]):r.postMessage({command:"vbbgimagebitmap",imagename:t,data:e}))}}function ni(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var o=T.default.localVideoEncMGR.map.get(s);o&&(e?o.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e,maskCoordinate:i,width:r,height:a},[e]):o.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e,maskCoordinate:i,width:r,height:a}))}}function di(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage(e)}}function ui(){try{return g.default.browser.isChrome&&-1!==["85","86"].indexOf(g.default.getBrowserVersion())}catch(e){return ie(e),!1}}const li={[R.f.VIDEO_ENCODE]:{success:a.INIT_SUCCESS_VIDEO,failed:a.INIT_FAILED_VIDEO,callbackDataValue:R.c.encode},[R.f.VIDEO_DECODE]:{success:a.INIT_SUCCESS_VIDEO,failed:a.INIT_FAILED_VIDEO,callbackDataValue:R.c.decode},[R.f.AUDIO_ENCODE]:{success:a.INIT_SUCCESS_AUDIO,failed:a.INIT_FAILED_AUDIO,callbackDataValue:R.c.encode},[R.f.AUDIO_DECODE]:{success:a.INIT_SUCCESS_AUDIO,failed:a.INIT_FAILED_AUDIO,callbackDataValue:R.c.decode},[R.f.SHARING_DECODE]:{success:a.INIT_SUCCESS_SHARING,failed:a.INIT_FAILED_SHARING,callbackDataValue:R.c.decode},[R.f.SHARING_ENCODE]:{success:a.INIT_SUCCESS_SHARING,failed:a.INIT_FAILED_SHARING,callbackDataValue:R.c.encode}};function ci(e,t){let i=[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE,R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE];e.isSupportVideoShare||i.push(R.f.SHARING_ENCODE,R.f.SHARING_DECODE),i.forEach(async e=>{Jt(e,t,130,!1,!0)})}function hi(e){var t,i,r;let a=g.default.getOSInfo();e.cpu=(null===(t=navigator)||void 0===t?void 0:t.hardwareConcurrency)||1,e.deviceType=a.osType,e.osType=a.os,v.default.directReport(JSON.stringify(e));let s=null===T.default||void 0===T.default||null===(i=T.default.instance)||void 0===i?void 0:i.persistenceInfo;if(!s)return;let o=e.encode?s.getVideoEncoderInfo():s.getVideoDecoderInfo(),n={};n.osVersion=a.osVersion,n.browserVersion=null===(r=a.browser)||void 0===r?void 0:r.version,n.sdkVersion=9596,o.updateInfo(e,n)}function fi(e,t){var i;const r=[[],[[R.f.AUDIO_ENCODE],[R.f.AUDIO_DECODE],[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE]],[[R.f.VIDEO_ENCODE],[R.f.VIDEO_DECODE],[R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE]],[],[[R.f.SHARING_ENCODE],[R.f.SHARING_DECODE],[R.f.SHARING_ENCODE,R.f.SHARING_DECODE]]];let a=null===(i=t.body)||void 0===i?void 0:i.data;if(!a)return;let s=a.type,o=a.mode;e.isSupportVideoShare&&4==s&&(s=2);let n=r[s][o];n&&0!=n.length&&n.forEach(e=>{Jt(e,a,133,!1,!0)})}function pi(e,t){let i=null,r=null;return{create:function(){return i||(i=new Promise(async(i,a)=>{try{let a=g.default.isSupportVideoShareSend()&&await g.default.isSDKSupportMultiThread()&&await g.default.isSDKSupportSIMD();const s=await fetch(e),o=await s.arrayBuffer(),n=window.URL.createObjectURL(new Blob([o]));let d=new Worker(n,t?{name:t}:void 0);r=d,d.onmessage=e=>{d.onmessage=null,e.data[0]||(r.terminate(),r=null),i(r)},d.postMessage({command:136,data:a})}catch(e){i(null)}}),i)},destroy:function(){if(!r&&!i)return;let e=i;i=null,r=null,e&&e.then(e=>{null==e||e.terminate()})}}}function _i(e){return Qt(e)}let mi=null;if("function"==typeof AudioWorklet){class e extends AudioWorkletNode{constructor(e,t,i){super(e,t,i),this.port.onmessage=this.handleMessage.bind(this)}handleMessage(e){var t=e.data;switch(t.status){case"delay":if(T.default.localAudioDecMGR)(i=T.default.localAudioDecMGR.map.get(0))&&i.postMessage({command:"delay"});break;case o.CURRENT_SSRC_TIME:t.at&&(T.default.CurrentSSRCTime=t.at,T.default.audioPlayTime=Date.now()),t.st&&T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(t.st);break;case o.AUDIO_MONITOR_LOG:Le.push({log:t.data,logSource:s.AUDIO_WASM_WORKLET});break;case"MONITOR_LOG":A.default.add_monitor(t.data);break;case"UPDATE_MULTIVIEW_TIME":var i;if(T.default.localVideoDecMGR)(i=T.default.localVideoDecMGR.map.get(0))&&i.postMessage({command:"audioDecodeTime",data:t.data,status:1});break;case"WASM_INIT_SUCCESS":for(A.default.add_monitor("DIWL"+t.data.audio_handle),T.default.workletWasmInitSuccess=!0;!T.default.workletMessageQueue.isEmpty();){let e=T.default.workletMessageQueue.dequeue();this.postCMD(e.command,e)}break;case"workletMessage":"error"===t.data.level&&v.default.error(t.data.message,t.data.data);break;case"WASM_INIT_FAILED":A.default.add_monitor("AWMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL);break;case"PROCESS_EXCEPTIONS":Object(J.NotifyUIError)(a.WORKLET_PROCESS_EXCEPTIONS,t.data)}}postData(e,t){this.port.postMessage({status:e,data:t},[t.data.buffer])}postCMD(e,t){this.port.postMessage({status:e,data:t})}}mi=e}var Ei=mi,gi=i(33),Si=i.n(gi),vi=i(52),Ci=i(54),Ai=i.n(Ci),Ri=i(28),Ti=i.n(Ri),Ii=i(34),bi=i.n(Ii);const Oi=Object(S.a)("sdk.rtcUtil");class Di{constructor(e,t){this.rtcPeerConnection=null,this.dataChannel=null,this.id=Date.now()<<3|t,this.dataChannelLabel=null,this.datachannelcloselistener=null,this.datachannelopenlistener=null,this.rtcPeerConnectionCreatedListener=null,this.reconnectCount=0,this.reconnectMax=10,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen=0,this.connectionID=null,this.pubSubTokenList=[],this.isForceClosed=!1,this.reconnectRTCPeerConnectionThrottle=bi()(()=>{this.reconnectRTCPeerConnection()},2e3),this.timeoutThenCloseInterval=null,this.userid=null,this.connectionType=t,this.dataChannelStatus="",this.delaycloseTimeout=0,this.delaycloseid_=0,this._netWorker=null,this.dataTransportMgr=e,this.dataChannelController=null}setUserid(e){this.userid=e}isSupportDataChannel(){return!!window.RTCDataChannel}iceClosed(e){this.isForceClosed||(Oi("rtcPeerConnection.iceClosed",e),this._close(!0),this._clear())}async initConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ZoomWebclientVideoDataChannel";if(A.default.add_monitor("DCCONN"),!this.isSupportDataChannel())return void A.default.add_monitor("DCUNSUPPORT");this.dataChannelLabel=t,this.connectionID=e,this.rtcPeerConnection=new RTCPeerConnection({iceCandidatePoolSize:1}),this.rtcPeerConnection.addEventListener("iceconnectionstatechange",e=>{if(this.isForceClosed)return;let t=this.rtcPeerConnection;if("failed"!==t.iceConnectionState&&"closed"!==t.iceConnectionState||(Oi("".concat(this.dataChannelLabel," iceconnectionstatechange"),t.iceConnectionState),A.default.add_monitor("ICECONNSTATECHANGE:"+this.dataChannelLabel),this.iceClosed(),this.delaycloseid_&&(clearTimeout(this.delaycloseid_),this.delaycloseid_=0)),"disconnected"===t.iceConnectionState&&!this.delaycloseid_){let e=this;this.delaycloseid_=setTimeout(()=>{e.delaycloseid_=0,e.iceClosed()},e.delaycloseTimeout)}"connected"===t.iceConnectionState&&this.delaycloseid_&&(clearTimeout(this.delaycloseid_),this.delaycloseid_=0)});let i=null;this._netWorker&&(i=await this._netWorker.create(),ee(i,"net")),this._createDataChannel(i),await this.rtcPeerConnection.createOffer().then(async t=>(Oi("original offer",JSON.stringify(t)),t.sdp=t.sdp.replace(/a=ice-ufrag:.+/g,"a=ice-ufrag:".concat(e)),Oi("modified offer",t),this.rtcPeerConnection.setLocalDescription(t))).then(()=>{this.rtcPeerConnectionCreatedListener.call(null,this.rtcPeerConnection)})}_close(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];A.default.add_monitor("RTCPeerConnUtil.CLOSE");try{this._closeDataChannel(),this.rtcPeerConnection&&this.rtcPeerConnection.close()}catch(e){v.default.error("Error when closing RTCPeerConnection",e)}finally{this.dataChannel=null,this.rtcPeerConnection=null,e&&this.datachannelcloselistener&&this.datachannelcloselistener(null),this.sendDataChannelStatusMonitorLog(),this.reconnectRTCPeerConnectionThrottle()}}forceClose(){A.default.add_monitor("DCFORCECLOSE:"+this.dataChannelLabel),Oi("forceClose : "+this.dataChannelLabel),this.isForceClosed=!0,this._close(!0),this._clear()}resetDataChannelTransfered(e){this._netWorker=e,this._close(!0),this._clear()}isDestroyed(){return this.isForceClosed}_clear(){this.timeoutThenCloseInterval&&clearInterval(this.timeoutThenCloseInterval),this.timeoutThenCloseInterval=0,this.datachannelcloselistener=null,this.datachannelopenlistener=null,this.pubSubTokenList.forEach(e=>{C.a.unsubscribe(e)}),this.pubSubTokenList=[]}onConnectionCreated(e){this.rtcPeerConnectionCreatedListener=e}reconnectRTCPeerConnection(){this.isForceClosed||this.reconnectCount<this.reconnectMax&&this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen<this.reconnectMax&&(Oi("".concat(this.dataChannelLabel," reconnect reconnectTotalCount : ").concat(this.reconnectCount,"; reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen : ").concat(this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen,", reconnectMax : ").concat(this.reconnectMax)),this.reconnectCount+=1,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen+=1,setTimeout(()=>{this.initConnection(this.connectionID,this.dataChannelLabel)},1e3*Math.pow(2,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen)))}oneSingleLineLog(e){setTimeout(()=>{A.default.send_instant_monitor(),A.default.add_monitor(e),A.default.send_instant_monitor()},0)}checkEmptyUserIdAndResendMonitor(e){e&&this.userid!=e&&(this.setUserid(e),this.sendDataChannelStatusMonitorLog())}sendDataChannelStatusMonitorLog(){this.userid&&("OPEN"===this.dataChannelStatus?(A.default.add_monitor("DCOPEN:"+this.dataChannelLabel),this.oneSingleLineLog("".concat(s.DATACHANNEL_MONITOR_SEPARATOR,",").concat(this.userid,",").concat(this.connectionType,",DCOPEN,").concat(s.DATACHANNEL_MONITOR_SEPARATOR))):"CLOSED"===this.dataChannelStatus&&(A.default.add_monitor("DCCLOSE:"+this.dataChannelLabel),this.oneSingleLineLog("".concat(s.DATACHANNEL_MONITOR_SEPARATOR,",").concat(this.userid,",").concat(this.connectionType,",DCCLOSE,").concat(s.DATACHANNEL_MONITOR_SEPARATOR))))}sendDataChannelController(e){this.dataChannelController=e}_closeDataChannel(){if(this.dataChannel)try{this.dataChannelStatus="CLOSED",this.dataChannel.close()}catch(e){v.default.error("Error when trying to close existing RTCDataChannel",e)}finally{this.dataChannel=null}}_createDataChannel(e){this._closeDataChannel();let t=this.rtcPeerConnection.createDataChannel(this.dataChannelLabel,{ordered:!1,maxRetransmits:0,reliable:!1});t.binaryType="arraybuffer";let i="".concat(this.id,"-").concat(Math.floor(performance.now())),r=new x(i,this.connectionType,t,e);this.connectionType==R.b.VIDEO?r.transportlists=[B.SHARR_DECODE,B.VIDEO_DECODE,B.VIDEO_ENCODE]:r.transportlists=[B.AUDIO_DECODE,B.AUDIO_ENCODE],r.report_monitor_func=(e,t)=>{A.default.add_monitor("".concat(e,":").concat(t))},r.open(),r.onopen(e=>{this.dataChannelController.connectSession(r),function(e){if(!K.dataTransportMgr)throw new Error("not InitDataTransportModule");K.dataTransportMgr.addDataChannel(e)}(r),this.datachannelopenlistener&&this.datachannelopenlistener(e),this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen=0,clearInterval(this.timeoutThenCloseInterval),this.dataChannelStatus="OPEN",this.sendDataChannelStatusMonitorLog()}),r.onclose(e=>{this.dataChannelController.disconnectSession(new L(r.type,r.transfered)),Q(r),this._ondatachannelclosed(e)}),r.onerror(e=>{Q(r);const t=e.error||{};v.default.warn("WebRTC DataChannel ".concat(this.dataChannelLabel," received error with errorDetail: ").concat(t.errorDetail),t),clearInterval(this.timeoutThenCloseInterval),A.default.add_monitor("DCERROR","".concat(this.dataChannelLabel,": ").concat(t.message,", error detail: ").concat(t.errorDetail)),Oi("dataChannel.onerror",e)}),this.dataChannel=r}_ondatachannelclosed(e){"CLOSED"!=this.dataChannelStatus&&(clearInterval(this.timeoutThenCloseInterval),Oi("dataChannel.onclose",e),this.dataChannelStatus="CLOSED",this.datachannelcloselistener&&this.datachannelcloselistener(e),this._close(),this._clear())}onDataChannelClose(e){this.datachannelcloselistener=e}onDataChannelOpen(e){this.datachannelopenlistener=e}waitForAnswerFromRWG(e){let t=this;return new Promise((i,r)=>{let a=C.a.on(e,(e,a)=>{t.isDestroyed()&&r(),i(a)});this.pubSubTokenList.push(a)})}setRemoteDescription(e){Oi("setRemoteDescription",e),this.rtcPeerConnection.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e.sdp}))}closeIfTimeout(){clearInterval(this.timeoutThenCloseInterval),this.timeoutThenCloseInterval=setTimeout(()=>{Oi("closeIfTimeout"),this._close()},1e4)}addIceCandidate(e){this.rtcPeerConnection.addIceCandidate(new RTCIceCandidate({candidate:e,sdpMLineIndex:0,sdpMid:"0"}))}}var wi=i(6),yi=i(30),Mi=i(12);const Pi=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16/9;if(!e||!t)return null;const s=i||0,o=r||0;if(e/t>a){const i=t*a;return{width:i,height:t,left:Math.round((e-i)/2)+s,top:0+o}}{const i=e/a;return{width:e,height:i,left:0+s,top:Math.round((t-i)/2)+o}}};function Ni(e){this.Notify_APPUI=e.Notify_APPUI,this.isSupportOffscreenCanvas=e.isSupportOffscreenCanvas,this.jsMediaEngine=e.jsMediaEngine,this.threadNumbs=e.videodecodethreadnumb,this.globalTracingLogger=e.globalTracingLogger,this.monitorLoggerFn=e.monitorLoggerFn,this.renderManager=e.renderManager,this.waterMarkCanvas=null,this.videoRenderLevel=10,this.videoRenderLevelCount=1,this.renderPeriodTotal=100,this.renderPeriodCount=0,this.renderPeriodTotalFps=0,this.renderPeriodFpsCount=0,this.lastRenderAudioTimeStamp=0,this.videoBufEmptyCount=0,this.videoBufCount=0,this.videoRenderMaxLevel=15,this.timestamp=0,this.audioPlayTime=0,this.videoTimestamp=0,this.videoWaterMarkName="",this.isCreateVideoWaterMark=!1,this.isWaterMarkRepeatedEnable=!1,this.waterMarkOpacity=.15,this.currentactive=0,this.audioPlaySsrc=0,this.currentVideoHeight=0,this.currentVideoWidth=0,this.videoRenderArray=[],this.WaterMarkRGBA=new yi.a,this.vMonitorCount=0,this.videoQueue=new c,this.timestart=0,this.rendingFlag=!0,this.rAFID=0,this.rAFIDBack=null,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.ssrcDisplayMap=new Map,this.ssrcHaddataMap=new Map,this.canvasToLocalDisplay=new Map,this.canvasIdSet=new Set,this.selfvideossrc=0,this.localVideoPtr=0,this.sabBuffer=0,this.localvideossrc=0,this.encodedVideoSharedArrayBufferUint8Array=null,this.encodedVideoSharedArrayBufferUint16Array=null,this.encodedVideoSharedArrayWasmMemory=null,this.startCaptureVideo=!1,this.clearColor=new Uint8Array(4),this.videorendercanvas=null,this.keyrender=null,this.renderIndex=0,this.activeSpeakssrc=0,this.needClear=!1,this.renderMode=0,this.intervalHandle,this.croppingParams={top:0,left:0,height:1,width:1},this.coordinate={x:0,y:0,width:640,height:360},this.isSupportVideoTrackReader=!1,this.bWebglContextLostProtectingMap=new Map,this.ismirror=!1,this.lfTimeStamp=0,this.activeFps=0,this.lastActiveSSRC=0,this.disableOriginalRatio=!1,this.onStopDrawCallback=e.onStopDrawCallback,this.onReStoreCallback=e.onReStoreCallback,this.videoRenderWGLFSTOP=!1}Ni.prototype.clearUseridRender=function(e,t,i){let r=e[0],a=r.display;if(a)if(a.setWatermarkFlag(0),this.renderMode)a.clearCanvas(t);else{let e=r.ssrc;if(!a||!t)return;this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=1,this.croppingParams.width=1,this.clearColor[0]=255*t.R,this.clearColor[1]=255*t.G,this.clearColor[2]=255*t.B,this.clearColor[3]=255*t.A;const o=this.renderManager.getRendererProvider().isWebGLRendererType(),n=this.renderManager.getRendererProvider().isWebGL2RendererType();if(o||n){let e=this.canvasToLocalDisplay.get(r.canvas);if(!e)return void console.log("no clearDisplay");e.setVideoMode(s.VIDEO_RGBA),e.colorRange=0,e.setFillMode(1,1),e.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===i&&((i={}).x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e.drawSelfVideo(i,!0)}else{if(!a)return void console.log("no clearDisplay");a.setVideoMode(s.VIDEO_RGBA),a.setColorRange(0),a.setFillMode(1,1),a.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===i&&((i={}).x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),a.drawSelfVideo(i,!0)}let d=this;this.ssrcDisplayMap.forEach((function(t,i){let r,a;i==d.Get_Logical_SSrc(d.selfvideossrc)&&(r=!0),i==d.Get_Logical_SSrc(e)&&(a=!0),t.forEach(e=>{if(!e.haddata||a)return;let t=e.display;d.coordinate.x=e.x,d.coordinate.y=e.y,d.coordinate.width=e.width,d.coordinate.height=e.height,t&&(!a||o&&n?t.getVideoMode()!=s.VIDEO_INVALID&&(-1==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(t.getVideoMode())&&r?t.drawSelfVideo(d.coordinate,!1,d.ismirror):r?t.drawRemoteVideo(d.coordinate,d.ismirror):t.drawRemoteVideo(d.coordinate)):t.drawSelfVideo(d.coordinate,!0))})})),this.renderManager.renderFor(wi.t.VIDEO)}},Ni.prototype.Set_Render_Array_rAF=function(e){if(this.videoRenderArray=e,this.ssrcDisplayMap.clear(),this.ssrcHaddataMap.clear(),this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){let t=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc));t?t.push(this.videoRenderArray[e]):(t=[],t.push(this.videoRenderArray[e]),this.ssrcDisplayMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),t),this.ssrcHaddataMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),!1))}},Ni.prototype.Set_Render_Array=function(e,t){this.renderMode?this.Set_Render_Array_IntervalMode(e,t):this.Set_Render_Array_rAF(e)},Ni.prototype.ClearQueue=function(){this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},Ni.prototype.Put_Video_Into_Buffer=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e.ssrc);if(t||(t=this.videoQueue.AddQueue(e.ssrc)),t.enqueue(e),this.videoQueue&&this.videoQueue.ssrcInfo){var i=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(i,e.ntptime)}for(var r=this.videoQueue.GetQueueLength(e.ssrc)-10;r>=0;)r--}},Ni.prototype.Update_RemoteVideo_Texture=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(this.Check_Request_Animation(),t)if(e&&i){let t=this.Get_Logical_SSrc(i),n=this.FindVideoRenderListFromMap(i);if(!n.length)return void this.renderManager.destroyUnusedVideoFrame(e);let d=this,u=o&&(1==r||3==r);this.ssrcHaddataMap.set(t,!0),a?(this.croppingParams.top=a.y,this.croppingParams.left=a.x,this.croppingParams.height=a.height,this.croppingParams.width=a.width):(this.croppingParams.top=e.visibleRect?0:e.cropTop,this.croppingParams.left=e.visibleRect?0:e.cropLeft,this.croppingParams.height=e.visibleRect?e.visibleRect.height:e.cropHeight,this.croppingParams.width=e.visibleRect?e.visibleRect.width:e.cropWidth);let{width:l,height:c}=e.visibleRect||{};if(l&&c||(c=this.croppingParams.height,l=this.croppingParams.width),u){let e=c;c=l,l=e,e=this.croppingParams.height,this.croppingParams.height=this.croppingParams.width,this.croppingParams.width=e}o&&(r=0),this.canvasIdSet.clear(),n&&n.forEach(t=>{t.haddata=!0;let i=t.display;d.coordinate.x=t.x,d.coordinate.y=t.y,d.coordinate.width=t.width,d.coordinate.height=t.height;let a=!(i&&i.reuse&&t.rendercanvasID&&this.canvasIdSet.has(t.rendercanvasID));i&&(i.setVideoMode(s.VIDEO_RGBA),d.Should_Update_Watermark(i,t.width,t.height,t.width,t.height)&&d.Update_Display_Watermark(i,t.width,t.height,t.width,t.height),e&&i.updateRemoteVideoTexturesImageBitmap(l,c,e,d.croppingParams,r,a),this.canvasIdSet.add(t.rendercanvasID))})}else this.renderManager.destroyUnusedVideoFrame(e);else{if(e&&e.ssrc){let t,i=this.Get_Logical_SSrc(e.ssrc),r=this.FindVideoRenderListFromMap(e.ssrc);if(!r.length)return e.yuvdataptr&&Module._free(e.yuvdataptr),void this.renderManager.destroyUnusedVideoFrame(e);let a=!1,o=this;this.ssrcHaddataMap.set(i,!0);let n=e;this.croppingParams.top=n.r_y,this.croppingParams.left=n.r_x,this.croppingParams.height=n.r_h,this.croppingParams.width=n.r_w,t=n,t.enableMultiDecodeVideoWithoutSAB?t.yuvdata=t.data:t.yuvdata=Object(Mi.a)().subarray(t.yuvdataptr,t.yuvdataptr+t.yuvlength),!t.yuvdata.length||t.yuvdata.length!=t.width*t.height*3/2||this.croppingParams.top<0||this.croppingParams.left<0||this.croppingParams.left+this.croppingParams.width>t.width||this.croppingParams.top+this.croppingParams.height>t.height||r&&(this.canvasIdSet.clear(),r.forEach(e=>{e.haddata=!0;let i=e.display;o.coordinate.x=e.x,o.coordinate.y=e.y,o.coordinate.width=e.width,o.coordinate.height=e.height;let r=!(i&&i.reuse&&e.rendercanvasID&&this.canvasIdSet.has(e.rendercanvasID));i&&(i.setVideoMode(s.VIDEO_I420),this.Should_Update_Watermark(i,e.width,e.height,e.width,e.height)&&this.Update_Display_Watermark(i,e.width,e.height,e.width,e.height),t&&i.updateRemoteVideoTextures(t.width,t.height,o.croppingParams,t.yuvdata,t.rotation,t.yuv_limited,o.coordinate,a,r),this.canvasIdSet.add(e.rendercanvasID))}))}else this.renderManager.destroyUnusedVideoFrame(e);e.yuvdataptr&&Module._free(e.yuvdataptr)}},Ni.prototype.Set_Cropping_Mode=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disableOriginalRatio=!!e},Ni.prototype.Update_Cropping_Params=function(){if(this.disableOriginalRatio){const e=Pi(this.croppingParams.width,this.croppingParams.height,this.croppingParams.left,this.croppingParams.top);e&&(this.croppingParams={...this.croppingParams,...e})}},Ni.prototype.Update_SelfVideo_Texture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.VIDEO_RGBA,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;if(o?(this.croppingParams.top=o.top,this.croppingParams.left=o.left,this.croppingParams.width=o.width,this.croppingParams.height=o.height):(this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=t,this.croppingParams.width=e),this.renderMode){let o=0;this.canvasIdSet.clear();const d=this.FindVideoRenderList(r);for(;o<d.length;o++){this.coordinate.x=d[o].x,this.coordinate.y=d[o].y,this.coordinate.width=d[o].width,this.coordinate.height=d[o].height,this.Update_Cropping_Params(),d[o].display.setVideoMode(a);const{display:r,width:u,height:l}=d[o];this.Should_Update_Watermark(r,u,l,u,l)&&this.Update_Display_Watermark(r,u,l,u,l);let c=!(r&&r.reuse&&d[o].rendercanvasID&&this.canvasIdSet.has(d[o].rendercanvasID));-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)?(d[o].display.updateSelfVideoTextures(e,t,i,this.croppingParams,c,n),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawSelfVideo(this.coordinate,!1,this.ismirror)):(d[o].display.updateRemoteVideoTextures(e,t,this.croppingParams,i,n,0,this.coordinate,!1,c),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawRemoteVideo(this.coordinate,this.ismirror)),this.canvasIdSet.add(d[o].rendercanvasID)}this.renderManager.renderFor(wi.t.VIDEO)}else if(i&&r){let o=this.FindVideoRenderListFromMap(r);this.ssrcHaddataMap.set(r,!0);let d=this;o.length&&(this.canvasIdSet.clear(),o.forEach(r=>{r.haddata=!0,d.coordinate.x=r.x,d.coordinate.y=r.y,d.coordinate.width=r.width,d.coordinate.height=r.height,d.Update_Cropping_Params();let o=r.display,u=!(o&&o.reuse&&r.rendercanvasID&&this.canvasIdSet.has(r.rendercanvasID));o&&(o.setVideoMode(a),d.Should_Update_Watermark(o,r.width,r.height,r.width,r.height)&&d.Update_Display_Watermark(o,r.width,r.height,r.width,r.height),-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)?o.updateSelfVideoTextures(e,t,i,d.croppingParams,u,n):o.updateRemoteVideoTextures(e,t,d.croppingParams,i,n,!0,d.coordinate,!1,u),this.canvasIdSet.add(r.rendercanvasID))}),this.renderManager.renderFor(wi.t.VIDEO))}},Ni.prototype.Draw_Send_Video_Img=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.VIDEO_RGBA,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.Update_SelfVideo_Texture(t,i,e,r,a,o)},Ni.prototype.setMirrorMyVideoOption=function(e){this.ismirror=e},Ni.prototype.Start_Draw=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return this.rendingFlag=!0,this.renderMode=e,e?t?(this.intervalHandle=setInterval(this.JsMediaSDK_VideoRender_interval.bind(this),t),this.intervalHandle):null:(Li(this),this.Start_Request_Animation_Frame())},Ni.prototype.Stop_Draw=function(){this.rendingFlag=!1,this.renderMode?clearInterval(this.intervalHandle):this.Stop_Request_Animation_Frame()},Ni.prototype.contextLostCallback=function(e){let t=e.currentTarget.canvasId;ki&&Object(Mi.i)(t),e.preventDefault()},Ni.prototype.contextRestoredCallback=function(e){let t=e.currentTarget,i=t.canvasId,r=t.callback;this.Restored_From_Context_Lost(t,t,i,this.Log_Error.bind(this),r),this.onReStoreCallback&&this.onReStoreCallback(this),ki&&Object(Mi.j)(i)},Ni.prototype.webGLContextLostProtect=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t&&t!==e&&(t.contextLostHandler&&t.removeEventListener("webglcontextlost",t.contextLostHandler),t.contextRestoredHandler&&t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),e&&!this.bWebglContextLostProtectingMap.get(e)&&(e.canvasId=i,e.callback=r,this.renderMode||((t=this.bWebglContextLostProtectingMap.get(i))&&(t.removeEventListener("webglcontextlost",t.contextLostHandler),t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),this.bWebglContextLostProtectingMap.set(i,e),e.contextLostHandler=this.contextLostCallback.bind(this),e.contextRestoredHandler=this.contextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",e.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",e.contextRestoredHandler,{capture:!1})))},Ni.prototype._Replace_Video_Render_Array_From_Context_LOST=function(e){let{canvas:t,oldCanvas:i,newDisplayMap:r}=e;for(let e=0;e<this.videoRenderArray.length;e++)if(this.videoRenderArray[e].canvas===i||this.videoRenderArray[e].canvas===t){i!==t&&(this.videoRenderArray[e].canvas=t);const a=this.videoRenderArray[e].display.getFillMode();this.videoRenderArray[e].display=r?r.get(this.videoRenderArray[e].display.getTextureIndex()):this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:t,canvasId:this.videoRenderArray[e].rendercanvasID}),a&&this.videoRenderArray[e].display&&this.videoRenderArray[e].display.setFillMode(a,this.videoRenderArray[e].display.getFillModeForResolution())}},Ni.prototype.Restored_From_Context_Lost=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(this.renderMode)this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t});else{const s=this.renderManager.onRestoredFromContextLost(i,e,t,this.threadNumbs,r,this.canvasToLocalDisplay);s&&(this.ssrcDisplayMap.forEach((i,r)=>{i.forEach(i=>{if(i.haddata=!1,i.canvas===t){t!==e&&(i.canvas=e);let r=i.display;i.display=s.get(r.getTextureIndex())}})}),this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t,newDisplayMap:s}),null==a||a({canvas:e,oldCanvas:t,newDisplayMap:s}),this.rendingFlag&&this.Start_Request_Animation_Frame())}},Ni.prototype.Replace_Canvas=function(e,t){let i=null;this.bWebglContextLostProtectingMap.forEach((e,r)=>{r===t&&(i=e)}),i!=e&&(this.bWebglContextLostProtectingMap.delete(t),this.webGLContextLostProtect(e,i,t),this.Restored_From_Context_Lost(e,i,t,this.Log_Error.bind(this))),this.isSupportOffscreenCanvas&&(this.waterMarkCanvas||this.videorendercanvas)&&(this.waterMarkCanvas=this.videorendercanvas=new OffscreenCanvas(640,360))},Ni.prototype.Get_Display=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=this.renderManager.getRendererProvider().isWebGLRendererType(),s=this.renderManager.getRendererProvider().isWebGL2RendererType();(a||s)&&this.webGLContextLostProtect(e,null,t,r);const o=this.renderManager.getVideoRenderDisplay(e,t,this.threadNumbs,this.Log_Error.bind(this),this.canvasToLocalDisplay);return o},Ni.prototype.GiveBack_Display=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=e[0];i&&i.display&&this.renderManager.recycleRenderDisplay(i.canvas,i.display,t)},Ni.prototype.Get_Logical_SSrc=function(e){return e?e>>10<<10:-1},Ni.prototype.Set_LocalVideo_Ptr=function(e){e&&(this.localVideoPtr=e)},Ni.prototype.Set_LocalVideo_Buffer=function(e){e&&(this.encodedVideoSharedArrayWasmMemory=e,this.sabBuffer=e.buffer,this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.sabBuffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.sabBuffer))},Ni.prototype.Set_LocalVideo_SSRC=function(e){e&&(this.localvideossrc=e,this.selfvideossrc=e)},Ni.prototype.Draw_LocalVideo=function(){if(this.localVideoPtr&&this.sabBuffer&&this.localvideossrc){this.encodedVideoSharedArrayWasmMemory&&this.encodedVideoSharedArrayWasmMemory.buffer!=this.sabBuffer&&(this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.sabBuffer=this.encodedVideoSharedArrayWasmMemory.buffer);let e=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr),t=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr+1),i=!0;if(e==t&&(i=!1),e-t==1&&(e=(e+1)%s.VIDEO_FRAME_BUFFER_SIZE),i){let t=0,i=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e)/2],r=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+2)/2],a=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4)/2],o=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+6)/2],n=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+8)/2],d=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+10)/2],u=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+12)/2],l=255&u,c=u>>8&255;t=l&&l!==s.VIDEO_BGRA?i*r*3/2:i*r*4,this.croppingParams.top=a,this.croppingParams.left=o,this.croppingParams.height=d,this.croppingParams.width=n;let h=this.encodedVideoSharedArrayBufferUint8Array.subarray(this.localVideoPtr+4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4+8,this.localVideoPtr+4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4+8+t);this.Update_SelfVideo_Texture(i,r,h,this.Get_Logical_SSrc(this.localvideossrc),l,this.croppingParams,c),Atomics.store(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr,(e+1)%s.VIDEO_FRAME_BUFFER_SIZE)}}},Ni.prototype.Update_LocalVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.localvideossrc;if(this.renderMode){let a=0,o=0,n=!1,d=this.FindVideoRenderList(r),u=i&&(1==t||3==t);for(;o<d.length;o++){n=!0;let r=e;this.croppingParams.top=r.visibleRect?0:r.cropTop,this.croppingParams.left=r.visibleRect?0:r.cropLeft,this.croppingParams.height=r.visibleRect?u?r.visibleRect.width:r.visibleRect.height:r.cropHeight,this.croppingParams.width=r.visibleRect?u?r.visibleRect.height:r.visibleRect.width:r.cropWidth,this.coordinate.x=d[o].x,this.coordinate.y=d[o].y,this.coordinate.width=d[o].width,this.coordinate.height=d[o].height,this.Update_Cropping_Params(),d[o].display.setVideoMode(a);const{display:l,width:c,height:h}=d[o];0!=c&&0!=h&&(this.Should_Update_Watermark(l,c,h,c,h)&&this.Update_Display_Watermark(l,c,h,c,h),-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)&&(d[o].display.updateRemoteVideoTexturesImageBitmap(this.croppingParams.width,this.croppingParams.height,r,this.croppingParams,i?0:t),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawSelfVideo(this.coordinate,!1,this.ismirror)))}n||this.renderManager.destroyUnusedVideoFrame(e)}else this.Update_RemoteVideo_Texture(e,!0,r,t,null,i)},Ni.prototype.Set_Capture_Video_Flag=function(e){this.startCaptureVideo=e},Ni.prototype.Get_Capture_Video_Flag=function(){return this.startCaptureVideo},Ni.prototype.FindVideoRender=function(e){if(!e)return null;for(let t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc&&this.videoRenderArray[t].ssrc>>10==e>>10)return this.videoRenderArray[t];return null},Ni.prototype.FindVideoRenderList=function(e){let t=this.isActiveSeakerSsrc(e),i=this.FindVideoRender(s.ACTIVE_SPEAKER_SSRC),r=[e>>10];t&&i&&r.push(s.ACTIVE_SPEAKER_SSRC>>10);let a=[];for(let e=0;e<this.videoRenderArray.length;e++)this.videoRenderArray[e].ssrc&&r.includes(this.videoRenderArray[e].ssrc>>10)&&a.push(this.videoRenderArray[e]);return a},Ni.prototype.FindVideoRenderListFromMap=function(e){let t=this.isActiveSeakerSsrc(e),i=[...this.ssrcDisplayMap.get(this.Get_Logical_SSrc(e))||[]];if(t){let e=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC))||[];i.push(...e)}return i},Ni.prototype.JsMediaSDK_VideoRender_interval=function(){this.startCaptureVideo&&this.Draw_LocalVideo();let e=this.FindVideoRender(s.ACTIVE_SPEAKER_SSRC),t=this.FindVideoRender(this.activeSpeakssrc);if(0!=this.videoRenderArray.length){for(let r=0;r<this.videoRenderArray.length;r++){const n=this.videoRenderArray[r],{display:d,canvas:u,enableMultiDecodeVideoWithoutSAB:l,ssrc:c,isMyself:h}=n;var i=null;if(n==e&&t)continue;let f=c;n!=e||t||(f=this.activeSpeakssrc);let p=[n];if(n==t&&e&&p.push(e),this.isActiveSsrcVideo(f)){let e=Date.now();if(this.jsMediaEngine){let e=this.jsMediaEngine.Get_Video_SSRC_Latest_Time();this.timestamp=e.currentSSRCTime,this.audioPlayTime=e.audioPlayTime}this.calPacingTime(e),e-this.timestart<this.pacingTime||(i=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(f)),this.timestart=e)}else i=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(f));if(i){let e;this.isActiveSsrcVideo(f)&&(this.videoTimestamp=i.ntptime),e=i.yuvdata instanceof Mi.c?i.yuvdata.yuvdata:i.yuvdata,this.croppingParams.top=i.r_y,this.croppingParams.left=i.r_x,this.croppingParams.height=i.r_h,this.croppingParams.width=i.r_w;const t=i.width>i.height&&(1===i.rotation||3===i.rotation)||i.width<i.height&&1!==i.rotation&&3!==i.rotation,r=t?i.height:i.width,n=t?i.width:i.height,{width:d,height:c}=u;if(this.currentVideoHeight==this.croppingParams.height&&this.currentVideoWidth==this.croppingParams.width||(this.Notify_APPUI?this.Notify_APPUI(a.CURRENT_VIDEO_RESOLUTION,{width:this.croppingParams.width,height:this.croppingParams.height}):postMessage({status:o.VIDEO_RESOLUTION_UPDATE,width:this.croppingParams.width,height:this.croppingParams.height}),this.currentVideoHeight=this.croppingParams.height,this.currentVideoWidth=this.croppingParams.width),e.length==i.width*i.height*3/2&&i.r_x>=0&&i.r_y>=0&&i.r_x+i.r_w<=i.width&&i.r_y+i.r_h<=i.height){8400==this.vMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("VDGLM"):postMessage({status:o.VIDEO_RENDER_MONITOR_LOG,data:"VDGLW"}),this.vMonitorCount=0),this.vMonitorCount++;let t=this;p.forEach(a=>{a.display&&(t.Should_Update_Watermark(a.display,r,n,d,c)&&t.Update_Display_Watermark(a.display,r,n,d,c),l?a.display&&(a.display.setVideoMode(s.VIDEO_I420),a.display.updateRemoteVideoTextures(i.width,i.height,t.croppingParams,e,i.rotation,i.yuv_limited),a.firstFrame=!0):(a.display.setVideoMode(s.VIDEO_I420),a.display.drawNextOutputPictureFrame(i.width,i.height,t.croppingParams,e,i.rotation,i.yuv_limited,a)))})}else this.Log_Error("Invalid YUV data: ".concat(i.r_x," ").concat(i.r_y," ").concat(i.r_w," ").concat(i.r_h," ").concat(i.width," ").concat(i.height));i.yuvdata instanceof Mi.c&&i.yuvdata.recycle()}l&&p.forEach(e=>{if(l&&e.firstFrame){const{x:t,y:i,width:r,height:a}=e,s={x:t,y:i,width:r,height:a};h?e.display.drawSelfVideo(s):e.display.drawRemoteVideo(s)}})}this.renderManager.renderFor(wi.t.VIDEO)}},Ni.prototype.Get_Decoded_Video_Frame=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e);return t?t.dequeue():null}},Ni.prototype.Set_SSRC_Latest_Time_Stamp=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.timestamp!==e&&"number"==typeof e&&e&&(this.timestamp=e,this.audioPlaySsrc=t,this.audioPlayTime=Date.now())},Ni.prototype.Get_Decoded_Video_Buffer_Length=function(e){return this.videoQueue?this.videoQueue.GetQueueLength(e):0},Ni.prototype.Get_SSRC_VIDEO_FPS=function(e){if(e>>=10,this.videoQueue&&this.videoQueue.ssrcInfo){var t=this.videoQueue.ssrcInfo.GetSSRCFpsInfo(e);if(t)return Math.round(t)}return 0},Ni.prototype.Change_Current_SSRC=function(e){this.currentactive=e,this.ClearQueue()},Ni.prototype.Set_Render_Array_IntervalMode=function(e,t){if(this.videoRenderArray=e,this.renderMode&&this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){const i=this.videoRenderArray[e];t?i.display||(i.enableMultiDecodeVideoWithoutSAB=t,i.display=this.Get_Display(i.canvas,i.canvas.id),i.display&&i.display.setFillMode(i.fillMode,i.fillModeForResolution)):(this.renderManager.getRendererProvider().isWebGPURendererType()?i.display=this.Get_Display(i.canvas,i.rendercanvasID):i.display=this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:i.canvas,canvasId:i.rendercanvasID}),this.webGLContextLostProtect(i.canvas,void 0,i.rendercanvasID))}},Ni.prototype._Create_WebGL_Canvas=function(e){let{videoRenderArrayIndex:t,canvas:i,canvasId:r}=e;const a={forceNoGL:void 0,contextOptions:{webglcontextlostCallback:this.webglcontextlostCallback.bind(this),webglcontextrestoredCallback:this.webglcontextrestoredCallback.bind(this),params:{videoRenderArrayIndex:t,canvas:i,canvasId:r}},webGLResources:void 0,initMask:!1};return this.renderManager.createWebGLVideoRenderDisplay(i,r,0,a)},Ni.prototype.webglcontextlostCallback=function(e,t){let{canvas:i,canvasId:r}=t;e.preventDefault()},Ni.prototype.webglcontextrestoredCallback=function(e,t){var i,r;let{videoRenderArrayIndex:a,canvas:s,canvasId:o}=t;var n;(!this.videoRenderArray||a>=(null===(i=this.videoRenderArray)||void 0===i?void 0:i.length))&&this.Log_Error("videoRenderArray:".concat(this.videoRenderArray,", length:").concat(null===(n=this.videoRenderArray)||void 0===n?void 0:n.length));this.renderMode&&a<(null===(r=this.videoRenderArray)||void 0===r?void 0:r.length)&&(this.videoRenderArray[a].display=this._Create_WebGL_Canvas({videoRenderArrayIndex:a,canvas:s,canvasId:o}),this.Set_Render_Array(this.videoRenderArray))},Ni.prototype.ClearQueue=function(){try{let e=this.videoQueue.ssrcQueueMap;for(let[t,i]of e)for(;!i.isEmpty();){let e=i.dequeue();e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle()}}catch(e){this.Log_Error("Exception during VideoRender.ClearQueue",e)}this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},Ni.prototype.Set_WaterMark_Info=function(e){let{waterMarkCanvas:t,isCreateVideoWaterMark:i,videoWaterMarkName:r,watermarkOpacity:a,watermarkRepeated:s,watermarkPosition:o}=e;this.waterMarkCanvas=t||this.videorendercanvas,this.isCreateVideoWaterMark=i,this.videoWaterMarkName=r,void 0!==s&&(this.isWaterMarkRepeatedEnable=!!s),void 0!==a&&(this.waterMarkOpacity=a),void 0!==o&&(this.watermarkPosition=o)},Ni.prototype.Set_WaterMark_Flag=function(e){if(this.videoRenderArray.length>0)for(let t=0;t<this.videoRenderArray.length;t++){const{display:i}=this.videoRenderArray[t];i.setWatermarkFlag(e?1:0)}},Ni.prototype.Should_Watermark_Repeated=function(e,t){return this.isWaterMarkRepeatedEnable&&e>306&&t>202};const Vi=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}};Ni.prototype.Update_Display_Watermark=function(e,t,i,r,a){const s=this.Should_Watermark_Repeated(r,a);this.waterMarkCanvas||this.videorendercanvas||(this.videorendercanvas=this.isSupportOffscreenCanvas?new OffscreenCanvas(640,360):null);const o=r<512||a<288?16:this.watermarkPosition,n=this.waterMarkCanvas||this.videorendercanvas;if("function"==typeof OffscreenCanvas&&n instanceof OffscreenCanvas&&OffscreenCanvasRenderingContext2D&&!OffscreenCanvasRenderingContext2D.prototype.measureText)return;const d=Vi(t,i);t=d.width,i=d.height;const u=s?this.WaterMarkRGBA.Get_Repeated_WaterMarkRGBA({canvas:n,name:this.videoWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:o}):this.WaterMarkRGBA.Get_WaterMarkRGBA({canvas:n,name:this.videoWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:o});e.updateWatermark(t,i,u)},Ni.prototype.Should_Update_Watermark=function(e,t,i,r,a){if(!this.isCreateVideoWaterMark)return!1;let s=!1;const o=Vi(t,i);o.width===e.getWatermarkWidth()&&o.height===e.getWatermarkHeight()||(s=!0);const n=this.Should_Watermark_Repeated(r,a);e.isSetWatermark()||(s=!0),n!==e.isWatermarkRepeated()&&(s=!0,e.setWatermarkRepeated(n)),this.waterMarkOpacity&&this.waterMarkOpacity!==e.getWatermarkOpacity()&&(s=!0,e.setWatermarkOpacity(this.waterMarkOpacity));const d=t<512||i<288?16:this.watermarkPosition;return d!==e.getWatermarkPosition()&&(s=!0,e.setWatermarkPosition(d)),s},Ni.prototype.calCulateActiveFps=function(e){this.activeFps&&e>=this.lfTimeStamp?this.activeFps=500/(e-this.lfTimeStamp)+this.activeFps/2:this.lfTimeStamp&&(this.activeFps=1e3/(e-this.lfTimeStamp))},Ni.prototype.Put_Video_Data_Queue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;if(this.videoQueue){var i=this.videoQueue.GetQueue(e.ssrc);if(i||(i=this.videoQueue.AddQueue(e.ssrc)),i.enqueue(e),(this.Get_Logical_SSrc(this.currentactive)==this.Get_Logical_SSrc(e.ssrc)||this.Get_Logical_SSrc(this.audioPlaySsrc)==this.Get_Logical_SSrc(e.ssrc))&&(this.lfTimeStamp&&this.calCulateActiveFps(e.ntptime),this.lfTimeStamp=e.ntptime),this.lastActiveSSRC!=e.ssrc&&(this.lfTimeStamp=0,this.activeFps=0),this.lastActiveSSRC=e.ssrc,this.videoQueue&&this.videoQueue.ssrcInfo){var r=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(r,e.ntptime)}for(var a=this.videoQueue.GetQueueLength(e.ssrc),s=a-t;s>=0;){let t=this.Get_Decoded_Video_Frame(e.ssrc);t.yuvdata instanceof Mi.c&&t.yuvdata.recycle(),s--}}else e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle()},Ni.prototype.Set_VideoTrackReader=function(e){this.isSupportVideoTrackReader=e},Ni.prototype.Clear_OffScreenCanvas=function(e){this.renderManager.clearOffscreenCanvas(e),e.contextLostHandler&&(e.removeEventListener("webglcontextlost",e.contextLostHandler),e.contextLostHandler=null),e.contextRestoredHandler&&(e.removeEventListener("webglcontextrestored",e.contextRestoredHandler),e.contextRestoredHandler=null),e.width=1,e.height=1},Ni.prototype.Zoom_Render=function(e){},Ni.prototype.Decode_Ssrc=function(e){return this.ssrcDisplayMap.has(this.Get_Logical_SSrc(e))||this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)};const ki="undefined"==typeof window;function Ui(e){let t=Date.now(),i=xi;if(t-Wi<30)i.Start_Request_Animation_Frame(e);else if(Wi=t,i.rendingFlag){i.needClear&&(i.needClear=!1);try{i.startCaptureVideo&&i.localVideoPtr&&i.Draw_LocalVideo(),i.ssrcDisplayMap.forEach((function(e,r){if(r!=i.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC)||!i.ssrcDisplayMap.has(i.Get_Logical_SSrc(i.activeSpeakssrc)))if(r==i.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC)&&(r=i.activeSpeakssrc),i.isActiveSsrcVideo(r))if(i.calPacingTime(t),t-i.timestart<i.pacingTime);else{i.timestart=t;let e=i.Get_Decoded_Video_Frame(i.Get_Logical_SSrc(r));e&&(i.Update_RemoteVideo_Texture(e),i.videoTimestamp=e.ntptime)}else{let e=i.Get_Decoded_Video_Frame(i.Get_Logical_SSrc(r));e&&i.Update_RemoteVideo_Texture(e)}})),i.ssrcDisplayMap.forEach((function(e,t){let r=i.isSelfVideo(t);e.forEach(e=>{var t;let a=e.display;null!=a&&null!==(t=a.isAvaiable)&&void 0!==t&&t.call(a)||setTimeout(()=>{var e;null==a||null===(e=a.restoreContext)||void 0===e||e.call(a)},5),e.haddata&&(i.coordinate.x=e.x,i.coordinate.y=e.y,i.coordinate.width=e.width,i.coordinate.height=e.height,a&&a.getVideoMode()!=s.VIDEO_INVALID&&(r&&-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a.getVideoMode())?a.drawSelfVideo(i.coordinate,!1,i.ismirror):r?a.drawRemoteVideo(i.coordinate,i.ismirror):a.drawRemoteVideo(i.coordinate)))})})),i.renderManager.renderFor(wi.t.VIDEO)}catch(e){i.Log_Error("Exception while rendering video",e)}i.Start_Request_Animation_Frame(e)}else i.rAFID&&i.Stop_Request_Animation_Frame()}function Li(e){return!!e&&(xi=e,!0)}var xi;Ni.prototype.Check_Request_Animation=function(){if(ki&&this.rendingFlag&&this.prevRequestAnimationTimestap){performance.now()-this.prevRequestAnimationTimestap>5e3&&!this.rAFIDBack&&(postMessage({status:o.MONITOR_MESSAGE,data:"WCL_M,RCIF"}),this.rAFID&&(cancelAnimationFrame(this.rAFID),this.rAFID=0),this.rAFIDBack=setInterval(Ui.bind(null,!0),30))}},Ni.prototype.Start_Request_Animation_Frame=function(e,t){if(!e&&this.rAFIDBack&&(console.log("Request_Animation_start"),this.Stop_Request_Animation_Frame_Backup()),!this.rAFIDBack)return t||(this.retryRequestAnimationStep=2),this.prevRequestAnimationTimestap=performance.now(),this.rAFID=requestAnimationFrame(Ui),this.rAFID},Ni.prototype.Stop_Request_Animation_Frame_Backup=function(){this.rAFIDBack&&(clearInterval(this.rAFIDBack),this.rAFIDBack=null)},Ni.prototype.Stop_Request_Animation_Frame=function(){this.rAFID&&cancelAnimationFrame(this.rAFID),this.rAFID=0,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.Stop_Request_Animation_Frame_Backup()},Ni.prototype.Log_Error=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.globalTracingLogger?this.globalTracingLogger.error(e,t):Object(Mi.h)(e,t)},Ni.prototype.calPacingTime=function(e){if(this.pacingTime=30,this.activeFps>=1&&this.activeFps<=40&&(this.pacingTime=1e3/this.activeFps),this.timestamp&&this.videoTimestamp){let t=this.timestamp+e-this.audioPlayTime,i=this.videoTimestamp+this.pacingTime-t,r=this.currentactive?this.currentactive:this.audioPlaySsrc,a=this.videoQueue.GetQueueLength(this.Get_Logical_SSrc(r));i>65&&i<1e4&&a>=1&&(this.pacingTime=1.5*this.pacingTime),i<-65&&(this.pacingTime=1*this.pacingTime/2)}else this.timestamp||(this.pacingTime>150?this.pacingTime=1*this.pacingTime/2:this.pacingTime=this.pacingTime-10)},Ni.prototype.getRenderManager=function(){return this.renderManager},Ni.prototype.cleanup=function(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.renderManager.cleanup(e,t,i)},Ni.prototype.setActiveSpeakerSsrc=function(e){this.activeSpeakssrc=e},Ni.prototype.getActiveSpeakerSsrc=function(e){return this.activeSpeakssrc},Ni.prototype.isActiveSeakerSsrc=function(e){return this.activeSpeakssrc&&this.activeSpeakssrc>>10==e>>10},Ni.prototype.isActiveSsrcVideo=function(e){let t=e>>10;return t==this.currentactive>>10||t==this.audioPlaySsrc>>10},Ni.prototype.clearDraw=function(e){e&&(this.clearColor[0]=255*e.R,this.clearColor[1]=255*e.G,this.clearColor[2]=255*e.B,this.clearColor[3]=255*e.A),this.needClear=!0},Ni.prototype.isSelfVideo=function(e){return this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)||this.isActiveSeakerSsrc(this.selfvideossrc)&&e>>10==s.ACTIVE_SPEAKER_SSRC>>10};var Wi=0,Bi=Ni;function Gi(e){this.Notify_APPUI=e.Notify_APPUI,this.PubSub=e.PubSub,this.jsMediaEngine=e.jsMediaEngine,this.globalTracingLogger=e.globalTracingLogger,this.renderManager=e.renderManager,this.currentshareactive=0,this.isFromMainSession=0,this.sharingWidthAndHeightInfo={logicHeight:0,logicWidth:0},this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0,this.isCreateSharingWaterMark=!1,this.sharingWaterMarkName="",this.isWaterMarkRepeatedEnable=!1,this.waterMarkOpacity=.15,this.SharingCanvasSizeInfo=null,this.Cursorx=null,this.Cursory=null,this.CursorWidth=null,this.CursorHeight=null,this.xratio=1,this.yratio=1,this.sharingDisplay=null,this.mouseQueue=new m,this.sharingQueue=new m,this.WaterMarkRGBA=new yi.a,this.sMonitorCount=0,this.mMonitorCount=0,this.firstFrameForIOS=!1,this.timestart=0,this.asTime=0,this.rAFID=0,this.requestAnimation=!1,this.requestF=this.No_Bindthis_RAF.bind(this),this.cATimeStamp=0,this.lRTimeStamp=0,this.pacingtime=1,this.sharingFps=0,this.lfTimeStamp=0,this.maxQueueLength=0,this.vaTimeDelta=0,this.renderMode=s.RQUEST_ANIMATION_MODE,this.SharingRenderInterval=0,this.RAFhealthCheckInterval=0,this.RAFLastTime=0,this.brefresh=!1,this.statisticObj=null}Gi.prototype.Start_Draw=function(){return this.requestAnimation=!0,this.Start_Request_Animation_Frame()},Gi.prototype.Stop_Draw=function(){return this.requestAnimation=!1,this.lRTimeStamp=0,this.cATimeStamp=0,this.Stop_Request_Animation_Frame()},Gi.prototype.Start_Request_Animation_Frame=function(){return this.rAFID=requestAnimationFrame(this.requestF),this.rAFID},Gi.prototype.Stop_Request_Animation_Frame=function(){this.rAFID&&(cancelAnimationFrame(this.rAFID),this.rAFID=0)},Gi.prototype.No_Bindthis_RAF=function(){let e=performance.now();this.RAFLastTime=e,this.requestAnimation?(this.calPacingTime(e),e-this.timestart>this.pacingtime&&(this.timestart=e,this.JsMediaSDK_SharingRender()),this.Start_Request_Animation_Frame()):this.Stop_Request_Animation_Frame()},Gi.prototype.No_Bindthis_Interval=function(){let e=performance.now();this.calPacingTime(e),e-this.timestart>this.pacingtime&&(this.timestart=e,this.JsMediaSDK_SharingRender())},Gi.prototype.calPacingTime=function(e){this.pacingtime=30,this.sharingFps&&this.sharingFps>0&&this.sharingFps<100&&(this.pacingtime=1e3/this.sharingFps);let t=this.Get_Current_QueueLength();if(this.cATimeStamp&&this.lRTimeStamp){let i=this.cATimeStamp+e-this.asTime;this.vaTimeDelta=this.lRTimeStamp+this.pacingtime-i,this.vaTimeDelta>65&&this.vaTimeDelta<1e4&&t>1&&(this.pacingtime=1.5*this.pacingtime),this.vaTimeDelta<-65&&(this.pacingtime=1*this.pacingtime/2)}else this.cATimeStamp||(this.pacingtime>150||t>20?this.pacingtime=1*this.pacingtime/2:this.pacingtime=this.pacingtime-10)},Gi.prototype.JsMediaSDK_SharingRender=function(){var e,t,i;if(this.sharingDisplay)if(!1!==(null===(e=(t=this.sharingDisplay).isAvaiable)||void 0===e?void 0:e.call(t))){null===(i=this.statisticObj)||void 0===i||i.sample();var r=this.Get_Decoded_Sharing_Frame(this.currentshareactive,this.isFromMainSession),s=this.Get_Decoded_Mouse_Frame(this.currentshareactive,this.isFromMainSession);if(r){let e,t;this.lRTimeStamp=r.ntptime,r.yuvdata instanceof Mi.c?(e=r.yuvdata.yuvdata,t=r.yuvdata):(e=r.yuvdata,t=null),this.sharingWidthAndHeightInfo.logicWidth==r.logic_w&&this.sharingWidthAndHeightInfo.logicHeight==r.logic_h||(this.PubSub?PubSub.publish(a.SHARING_PARAM_INFO_FROM_SOCKET,{body:{width:r.logic_w,height:r.logic_h,logicWidth:r.logic_w,logicHeight:r.logic_h}}):(postMessage({status:o.Sharing_Width_And_Height_Info,logicWidth:r.logic_w,logicHeight:r.logic_h}),this.updateOffscreenCanvasSize(r.logic_w,r.logic_h)),this.sharingWidthAndHeightInfo.logicWidth=r.logic_w,this.sharingWidthAndHeightInfo.logicHeight=r.logic_h);var n=r.logic_h,d=r.logic_w,u=r.r_h,l=r.r_w;this.xratio=l/d,this.yratio=u/n;var c={top:r.r_x,left:r.r_y,height:r.r_h,width:r.r_w};this.currentSharingHeight==r.r_h&&this.currentSharingWidth==r.r_w&&this.currentSharingLogicHeight==r.logic_h&&this.currentSharingLogicWidth==r.logic_w||(this.Notify_APPUI?this.Notify_APPUI(a.SHARING_PARA,{body:{height:r.logic_h,width:r.logic_w,logicHeight:r.logic_h,logicWidth:r.logic_w}}):(postMessage({status:o.Sharing_Width_And_Height_Info,logicWidth:r.logic_w,logicHeight:r.logic_h}),this.updateOffscreenCanvasSize(r.logic_w,r.logic_h)),this.currentSharingHeight=r.r_h,this.currentSharingWidth=r.r_w,this.currentSharingLogicHeight=r.logic_h,this.currentSharingLogicWidth=r.logic_w);const i=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.width:r.r_w,s=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.height:r.r_h;this.Should_Update_Watermark(this.sharingDisplay,i,s)&&this.Update_Display_Watermark(this.sharingDisplay,i,s),3e3==this.sMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("SDIMM"):postMessage({status:o.SHARING_RENDER_MONITOR_LOG,data:"SDIMW"}),this.sMonitorCount=0),this.sMonitorCount++,this.sharingDisplay.drawNextOutputPictureFrame(r.width,r.height,c,e,null,r.yuv_limited),t&&t.recycle(),r.dataptr&&Module._free(r.dataptr)}else if(this.brefresh&&(this.brefresh=!1,0!=this.sharingDisplay.getTextureWidth()&&0!=this.sharingDisplay.getTextureHeight()&&0!==this.currentSharingWidth&&0!==this.currentSharingHeight)){const e=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.width:this.currentSharingWidth,t=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.height:this.currentSharingHeight;this.Should_Update_Watermark(this.sharingDisplay,e,t)&&this.Update_Display_Watermark(this.sharingDisplay,e,t),this.sharingDisplay.drawNextOutputPictureFrame(this.sharingDisplay.getTextureWidth(),this.sharingDisplay.getTextureHeight(),this.sharingDisplay.getCroppingParams(),null,this.picRotation,!0,null,!1),r=!0}s&&(this.Cursorx=s.r_x*this.xratio,this.Cursory=s.r_y*this.yratio,this.CursorWidth=s.width*this.xratio,this.CursorHeight=s.height*this.yratio,this.sharingDisplay.updateCursor(s.width,s.height,s.buffer),3e3==this.mMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("SDSBM"):postMessage({status:o.SHARING_RENDER_MONITOR_LOG,data:"SDSBW"}),this.mMonitorCount=0),this.mMonitorCount++,this.sharingDisplay.drawCursor(1,this.Cursorx,this.Cursory,this.CursorWidth,this.CursorHeight)),r&&this.renderManager.renderFor(wi.t.SHARE)}else{var h,f;null===(h=(f=this.sharingDisplay).restoreContext)||void 0===h||h.call(f)}else Object(Mi.h)("JsMediaSDK_SharingRender error, display is null")},Gi.prototype.setOnlyAcceptUISize=function(e){this.bOnlyAcceptUISize=e},Gi.prototype.updateOffscreenCanvasSize=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.bOnlyAcceptUISize&&!i)return console.log("drop logic w/h");try{let i=this.sharingDisplay.getAttachedCanvas();i&&i instanceof OffscreenCanvas&&(i.width=e,i.height=t,this.brefresh=!0)}catch(e){this.Log_Error("Error updating OffscreenCanvas size",e)}},Gi.prototype.Set_Render_Display=function(e){this.sharingDisplay=e},Gi.prototype.Change_Current_SSRC=function(e,t){this.currentshareactive=e,this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0,this.isFromMainSession=t,this.firstFrameForIOS=!1,this.ClearQueue()},Gi.prototype.Set_WaterMark_Info=function(e){let{waterMarkCanvas:t,isCreateSharingWaterMark:i,sharingWaterMarkName:r,watermarkOpacity:a,watermarkRepeated:s,watermarkPosition:o}=e;i||(this.SharingCanvasSizeInfo=null),this.Replace_WaterMark_Canvas(t),this.isCreateSharingWaterMark=i,this.sharingWaterMarkName=r,void 0!==s&&(this.isWaterMarkRepeatedEnable=!!s),void 0!==a&&(this.waterMarkOpacity=a),void 0!==o&&(this.watermarkPosition=o)},Gi.prototype.Replace_WaterMark_Canvas=function(e){this.waterMarkCanvas=e},Gi.prototype.Set_WaterMark_Flag=function(e){this.sharingDisplay.setWatermarkFlag(e?1:0)},Gi.prototype.Should_Watermark_Repeated=function(e,t){return this.isWaterMarkRepeatedEnable&&e>306&&t>202};const Fi=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}};Gi.prototype.Update_Display_Watermark=function(e,t,i){if("function"==typeof OffscreenCanvas&&this.waterMarkCanvas instanceof OffscreenCanvas&&OffscreenCanvasRenderingContext2D&&!OffscreenCanvasRenderingContext2D.prototype.measureText)return;const r=t<512||i<288?16:this.watermarkPosition,a=this.Should_Watermark_Repeated(t,i),s=Fi(t,i);t=s.width,i=s.height;const o=a?this.WaterMarkRGBA.Get_Repeated_WaterMarkRGBA({canvas:this.waterMarkCanvas,name:this.sharingWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:r}):this.WaterMarkRGBA.Get_WaterMarkRGBA({canvas:this.waterMarkCanvas,name:this.sharingWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:r});e.updateWatermark(t,i,o)},Gi.prototype.Should_Update_Watermark=function(e,t,i){if(!this.isCreateSharingWaterMark)return!1;let r=!1;const a=Fi(t,i);a.width===e.getWatermarkWidth()&&a.height===e.getWatermarkHeight()||(r=!0);const s=this.Should_Watermark_Repeated(t,i);e.isSetWatermark()||(r=!0),s!==e.isWatermarkRepeated()&&(r=!0,e.setWatermarkRepeated(s)),this.waterMarkOpacity&&this.waterMarkOpacity!==e.getWatermarkOpacity()&&(r=!0,e.setWatermarkOpacity(this.waterMarkOpacity));const o=t<512||i<288?16:this.watermarkPosition;return o!==e.getWatermarkPosition()&&(r=!0,e.setWatermarkPosition(o)),r},Gi.prototype.Update_Sharing_Canvas_Size=function(e){let{width:t,height:i}=e;this.SharingCanvasSizeInfo={width:Math.round(t),height:Math.round(i)}},Gi.prototype.ClearQueue=function(){try{let e=this.sharingQueue.ssrcQueueMap;for(let[t,i]of e)for(;!i.isEmpty();){let e=i.dequeue();e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle(),e.dataptr&&Module._free(e.dataptr)}}catch(e){this.Log_Error("Exception from SharingRender.ClearQueue",e)}this.sharingQueue&&this.sharingQueue.ClearQueue(),this.mouseQueue&&this.mouseQueue.ClearQueue(),this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0},Gi.prototype.Get_Decoded_Sharing_Frame=function(e,t){if(!this.sharingQueue)return null;var i=this.GetLogicalSSRCPart(e,t),r=this.sharingQueue.GetQueue(i);return r?r.dequeue():null},Gi.prototype.Get_Decoded_Mouse_Frame=function(e,t){if(this.mouseQueue){var i=this.GetLogicalSSRCPart(e,t),r=this.mouseQueue.GetQueue(i);return r?r.dequeue():null}},Gi.prototype.Put_Sharing_Data_From_Queue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;if(this.sharingQueue){var i=this.GetLogicalSSRCPart(e.ssrc,e.isFromMainSession);this.firstFrameForIOS||i!=this.currentshareactive>>10||(this.firstFrameForIOS=!0,this.Notify_APPUI?this.Notify_APPUI(a.FIRST_IOS_FRAME,this.currentshareactive):postMessage({status:o.FIRST_SHARING_FRAME_FOR_MOBILE,ssrc:this.currentshareactive}));var r=this.sharingQueue.GetQueue(i);r||(r=this.sharingQueue.AddQueue(i)),r.enqueue(e),this.lfTimeStamp&&(this.sharingFps?this.sharingFps=500/(e.ntptime-this.lfTimeStamp)+this.sharingFps/2:this.sharingFps=1e3/(e.ntptime-this.lfTimeStamp)),this.sharingFps!=1/0&&this.sharingFps||(this.sharingFps=20),this.lfTimeStamp=e.ntptime;var s=this.sharingQueue.GetQueueLength(i),n=s-t;for(this.maxQueueLength=t;n>=0;){let t=this.Get_Decoded_Sharing_Frame(e.ssrc,e.isFromMainSession);t.yuvdata instanceof Mi.c&&t.yuvdata.recycle(),t.dataptr&&Module._free(t.dataptr),n--}}},Gi.prototype.Get_Current_QueueLength=function(){if(!this.sharingQueue)return;let e=this.currentshareactive;var t=this.GetLogicalSSRCPart(e,this.isFromMainSession);return this.sharingQueue.GetQueueLength(t)},Gi.prototype.Put_Mouse_Data_Into_Queue=function(e){if(this.mouseQueue){var t=this.GetLogicalSSRCPart(e.ssrc,e.isFromMainSession),i=this.mouseQueue.GetQueue(t);i||(i=this.mouseQueue.AddQueue(t)),i.enqueue(e);for(var r=this.mouseQueue.GetQueueLength(t)-10;r>=0;)this.Get_Decoded_Mouse_Frame(e.ssrc,e.isFromMainSession),r--}},Gi.prototype.GetLogicalSSRCPart=function(e,t){let i=e>>10;return t&&(i|=1<<23),i},Gi.prototype.SetcATimeStamp=function(e){this.cATimeStamp=e,this.asTime=performance.now()},Gi.prototype.Log_Error=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.globalTracingLogger?this.globalTracingLogger.error(e,t):Object(Mi.h)(e,t)},Gi.prototype.Log_DT=function(e){this.globalTracingLogger?this.globalTracingLogger.directReport(e):Object(Mi.g)(e)},Gi.prototype.setMode=function(e){this.Stop_Draw2(),this.renderMode=e},Gi.prototype.Start_Draw2=function(e){var t;null===(t=this.statisticObj)||void 0===t||t.start(),this.renderMode?(this.SharingRenderInterval&&(clearInterval(this.SharingRenderInterval),this.SharingRenderInterval=0),this.SharingRenderInterval=setInterval(()=>{this.No_Bindthis_Interval()},20)):(this.Start_Draw(),this.startRAFHealthCheck())},Gi.prototype.Stop_Draw2=function(e){var t;null===(t=this.statisticObj)||void 0===t||t.stop(),this.renderMode?this.SharingRenderInterval&&(clearInterval(this.SharingRenderInterval),this.SharingRenderInterval=0):(this.Stop_Draw(),this.stopRAFHealthCheck())},Gi.prototype.startRAFHealthCheck=function(){this.RAFLastTime=performance.now(),this.RAFhealthCheckInterval=setInterval(()=>{let e=performance.now();!this.renderMode&&e-this.RAFLastTime>2e3&&(this.Stop_Draw2(),this.setMode(s.SET_INTERVAL_MODE),this.Start_Draw2(),this.Log_DT("Sharing RAF Failed"))},2e3)},Gi.prototype.stopRAFHealthCheck=function(){this.RAFLastTime=0,this.RAFhealthCheckInterval&&clearInterval(this.RAFhealthCheckInterval)};var Hi=Gi,Ki=i(25),ji=i(16);let Yi=new Map,qi=[];function Xi(e){e.preventDefault()}function Qi(e,t,i,r,a,o,n){let d=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=a,this.textureindex=i||0,this.texturestride=this.textureindex?3:n?4:6,this.initmask=n||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=d,Qi.prototype.ROTATION_CLOCK0=0,Qi.prototype.ROTATION_CLOCK90=1,Qi.prototype.ROTATION_CLOCK180=2,Qi.prototype.ROTATION_CLOCK270=3,this.webGLResources=o,o||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(o);var u=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(u),this.dummpyWaterMark=new Uint8Array(u),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=s.VIDEO_INVALID,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function zi(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let o=s.canvas.width,n=s.canvas.height;a&&(o=a.width,n=a.height);var d,u,l,c,h=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?i:t,f=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?t:i,p=h/f*n,_=f/h*o;p>o?(d=0,l=1,c=1-(u=(n-_)/2/n)):(u=0,c=1,l=1-(d=(o-p)/2/o)),d=2*d-1,l=2*l-1,u=1-2*u,c=1-2*c;var m=new Float32Array([l,u,d,u,l,c,d,c,l,u,d,u,l,c,d,c]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function Ji(e,t,i,r,a){var s=e.contextGL,o=r.top/i,n=r.left/t,d=o+(r.height-1)/i,u=n+r.width/t,l=[n,o,u,o,u,d,n,d];a==e.ROTATION_CLOCK90&&(l.unshift(l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK180&&(l.unshift(l[4],l[5],l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK270&&(l.push(l[0],l[1]),l=l.slice(2));var c=l[0],h=l[1];l[0]=l[2],l[1]=l[3],l[2]=c,l[3]=h;var f=new Float32Array([...l,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}Qi.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},Qi.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(Mi.f)(this.contextGL,"WEBGL_lose_context"))},Qi.prototype.restoreContext=function(){if(this.contextGL)try{var e;null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost()&&(this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(Mi.e)("WebGL2RestoreTimeout")},1500),this.canvasElement.loseContextExtension.restoreContext())}catch(e){Object(Mi.b)("webgl restoreContext exception2",e)}},Qi.prototype.webgGLContextLostCallback=function(e){Object(Mi.g)("webglcontextlost2 event: canvas listener size=".concat(qi.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(qi.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},Qi.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const i=qi.indexOf(this.canvasID);qi.splice(i,1),Yi.delete(e)}},Qi.prototype.webGLContextRestoredCallback=function(e){Object(Mi.g)("webglcontextrestored2 event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},Qi.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(Mi.f)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=Yi.get(e);t&&this.removeEventListener(e,t),Yi.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===qi.indexOf(this.canvasID)&&(qi.push(this.canvasID),qi.length>4&&Object(Mi.g)("webgl2canvas listener size=".concat(qi.length,", ids:").concat(qi.join())))},Qi.prototype.isWebGL2=function(){return this.contextGL},Qi.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},Qi.prototype.initContextGL=function(){for(var e,t,i,r=this.canvasElement,a=null,s=["webgl2"],o=0;!a&&o<s.length;){var n=s[o];try{if(I.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};a=r.getContext(n,t)}else a=r.getContext(n,e)}else a=this.contextOptions?r.getContext(n,this.contextOptions):r.getContext(n)}catch(e){a=null}a&&"function"==typeof a.getParameter||(a=null),++o}if(this.contextGL=a,!a||a.isContextLost())return Object(Mi.b)("Failed when trying to get WebGLContext2 on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(a,", lost=").concat(null===(i=a)||void 0===i?void 0:i.isContextLost())),void Object(Mi.e)("initWebGL2Fail");a.glInitSucceed=0},Qi.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"#version 300 es\n in vec4 vertexPos;\n in vec4 texturePos;\n in vec4 masktexturePos;\n out vec2 textureCoord;\n out vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Vertex shader failed to compile: "+e.getShaderInfoLog(t));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,"#version 300 es\n precision highp float;\n in highp vec2 textureCoord;\n in highp vec2 masktextureCoord;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int maskFlag;\n uniform int yuvmode;\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n \n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n\n out vec4 outputColor;\n \n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n if (yuvmode == 1) {\n u = texture(uSampler, textureCoord).r;\n v = texture(vSampler, textureCoord).r;\n } else {\n u = texture(uSampler, textureCoord).r;\n v = texture(uSampler, textureCoord).a;\n }\n \n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n \n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && textureCoord.x >= cursorInfo.x && textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x+cursorInfo.z && textureCoord.y < cursorInfo.y+cursorInfo.w) {\n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture(cursorSampler, cursorCoord);\n c = c*(1.0-cursor.a) + cursor*cursor.a;\n }\n }\n } else {\n c = texture(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n }\n\n if (waterMarkFlag == 1) {\n c = texture(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture(maskSampler, masktextureCoord);\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask* mask.a+ c*(1.0-mask.a);\n }\n }\n\n if (waterMarkFlag!=1) {\n c.a = 1.0;\n }\n\n outputColor = c;\n }\n "),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Fragment shader failed to compile: "+e.getShaderInfoLog(i));var r=e.createProgram();e.attachShader(r,t),e.attachShader(r,i),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Program failed to compile: "+e.getProgramInfoLog(r)),e.useProgram(r),this.shaderProgram=r},Qi.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var r=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(r),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=i;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var n=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=o}this.texturePosBuffer=a},Qi.prototype.initTextures=function(e){var t=this.contextGL,i=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var r=this.initTexture();this.yTextureRef=r,this.oyTextureRef=r;var a=this.initTexture();this.uTextureRef=a,this.ouTextureRef=a;var o=this.initTexture();if(this.vTextureRef=o,this.ovTextureRef=o,e){this.BindTextures(s.VIDEO_I420);var n=this.initTexture(),d=t.getUniformLocation(i,"cursorSampler");t.uniform1i(d,this.textureindex*this.texturestride+3),this.cursorTextureRef=n;var u=this.initTexture(),l=t.getUniformLocation(i,"waterMarkSampler");t.uniform1i(l,4),this.waterMarkTextureRef=u;var c=this.initTexture();this.repeatedWaterMarkTextureRef=c;var h=this.initTexture(),f=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=h;var p=t.getUniformLocation(i,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var _=this.initTexture(),m=t.getUniformLocation(i,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=_}var E=t.getUniformLocation(i,"colorRange");this.colorRangeRef=E,this.onlyRGBARef=t.getUniformLocation(i,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(i,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(i,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(i,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(i,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(i,"yuvmode")},Qi.prototype.BindTextures=function(e){var t=this.contextGL,i=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==s.VIDEO_I420){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"ySampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"vSampler");t.uniform1i(s,0)}else if(e==s.VIDEO_NV12){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,0)}let r=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(a,6)):t.uniform1i(a,0);let o=t.getUniformLocation(i,"cursorSampler");t.uniform1i(o,0);let n=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(n,0)},Qi.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},Qi.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},Qi.prototype.cleanup=function(){let e=this.canvasElement,t=Yi.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=Xi,e.addEventListener("webglcontextlost",Xi,{capture:!1})),this.isAvaiable()){var i=this.contextGL;i.deleteProgram(this.program),i.activeTexture(i.TEXTURE0+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE1+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE2+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),this.textureindex||this.initmask||(i.activeTexture(i.TEXTURE3+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE4+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(this.getRepeatedWatermarkTextureValue(i)),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE5+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null)),i.bindBuffer(i.ARRAY_BUFFER,null),i.deleteTexture(this.yTextureRef),i.deleteTexture(this.uTextureRef),i.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(i.deleteTexture(this.cursorTextureRef),i.deleteTexture(this.waterMarkTextureRef),i.deleteTexture(this.repeatedWaterMarkTextureRef),i.deleteTexture(this.previewVideoTextureRef),i.deleteBuffer(this.vertexPosBuffer),i.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&i.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&i.deleteBuffer(this.masktexturePosBuffer),i.glInitSucceed=0}},Qi.prototype.drawNextOutputPicture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,i,r,a):this.drawNextOuptutPictureRGBA(e,t,i,r)},Qi.prototype.updateVertexInfoForMultiView=function(e,t,i,r,a){var s,o,n,d,u=this.contextGL;if(this.isUseFillMode({width:i,height:r,rotation:a}))s=0,o=0,n=1,d=1;else{var l=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,h=l/c*t;h>e?(s=0,n=1,d=1-(o=(t-c/l*e)/2/t)):(o=0,d=1,n=1-(s=(e-h)/2/e))}s=2*s-1,n=2*n-1,o=1-2*o,d=1-2*d;var f=new Float32Array([n,o,s,o,n,d,s,d,1,1,-1,1,1,-1,-1,-1]);u.bindBuffer(u.ARRAY_BUFFER,this.vertexPosBuffer),u.bufferData(u.ARRAY_BUFFER,f,u.DYNAMIC_DRAW)},Qi.prototype.updateTextureInfoForMultiView=function(e,t,i,r,a,s,o){var n,d,u,l,c=this.contextGL;if(this.isUseFillMode({width:i.width,height:i.height,rotation:r})){const a=r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?o/s:s/o,c=i.left||0,h=i.top||0;if(i.width/i.height>a){const r=i.height*a;n=h/t,d=(Math.round((i.width-r)/2)+c)/e,u=n+(i.height-1)/t,l=d+r/e}else{const r=i.width/a;u=(n=(Math.round((i.height-r)/2)+h)/t)+(r-1)/t,l=(d=c/e)+i.width/e}}else n=Object(ji.e)(i.top/t,2),d=Object(ji.e)(i.left/e,2),u=Object(ji.h)((i.top+i.height-1)/t,2),l=Object(ji.h)((i.width-1+i.left)/e,2);var h=[d,n,l,n,l,u,d,u];r==this.ROTATION_CLOCK90&&(h.unshift(h[6],h[7]),h=h.slice(0,8)),r==this.ROTATION_CLOCK180&&(h.unshift(h[4],h[5],h[6],h[7]),h=h.slice(0,8)),r==this.ROTATION_CLOCK270&&(h.push(h[0],h[1]),h=h.slice(2,10));var f=h[0],p=h[1];if(h[0]=h[2],h[1]=h[3],h[2]=f,h[3]=p,a)if(r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270){let e=h[1];h[1]=h[3],h[3]=e,e=h[5],h[5]=h[7],h[7]=e}else h[0]=1-h[0],h[2]=1-h[2],h[4]=1-h[4],h[6]=1-h[6];var _=new Float32Array([...h,1,0,0,0,1,1,0,1]);c.bindBuffer(c.ARRAY_BUFFER,this.texturePosBuffer),c.bufferData(c.ARRAY_BUFFER,_,c.DYNAMIC_DRAW)},Qi.prototype.drawNextOutputPictureFrame=function(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var u=this.contextGL,l=(this.texturePosBuffer,this.yTextureRef),c=this.uTextureRef,h=this.vTextureRef;u.enable(u.BLEND),u.blendFunc(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA),a=a||this.ROTATION_CLOCK0;var f=(i=i||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||i.height!=this.croppingParams.height,p=i.top!=this.croppingParams.top||i.left!=this.croppingParams.left,_=u.canvas.width!=this.canvasWidth||u.canvas.height!=this.canvasHeight,m=e!=this.textureWidth||t!=this.textureHeight,E=a!=this.picRotation;(f||_||E)&&zi(this,i.width,i.height,a,n),(f||p||m||E)&&Ji(this,e,t,i,a);let g=o?0:1;g!=this.colorRange&&(u.uniform1i(this.colorRangeRef,g),this.colorRange=g),n?u.viewport(n.x,n.y,n.width,n.height):u.viewport(0,0,u.canvas.width,u.canvas.height),u.uniform1i(this.onlyRGBARef,0),u.uniform1i(this.yuvmodeRef,s.VIDEO_I420),Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.picRotation=a,this.canvasWidth=u.canvas.width,this.canvasHeight=u.canvas.height,u.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),u.clear(u.COLOR_BUFFER_BIT);var S=r,v=e*t;if(u.activeTexture(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,l),d){var C=S.subarray(0,v);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e,t,0,u.LUMINANCE,u.UNSIGNED_BYTE,C)}var A=e/2*t/2;if(u.activeTexture(u.TEXTURE1),u.bindTexture(u.TEXTURE_2D,c),d){var R=S.subarray(v,v+A);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,R)}var T=A;if(u.activeTexture(u.TEXTURE2),u.bindTexture(u.TEXTURE_2D,h),d){var I=S.subarray(v+A,v+A+T);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,I)}u.activeTexture(u.TEXTURE3),u.bindTexture(u.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?u.uniform1i(this.cursorFlagRef,1):d&&u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyCursor),u.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),u.activeTexture(u.TEXTURE5),u.bindTexture(u.TEXTURE_2D,this.previewVideoTextureRef),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyWaterMark);var b=u.getUniformLocation(this.shaderProgram,"maskSampler");u.uniform1i(b,5),this.render(),this.hasWholeFrame=1},Qi.prototype.updateTextureBlock=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL,o=a;if(!(!this.hasWholeFrame||e<=0||t<=0||i<0||r<0||i+e>this.textureWidth||r+t>this.textureHeight)&&a&&a.length==e*t*3/2){var n=this.yTextureRef,d=this.uTextureRef,u=this.vTextureRef,l=e*t,c=o.subarray(0,l);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.texSubImage2D(s.TEXTURE_2D,0,i,r,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,c);var h=e/2*t/2,f=o.subarray(l,l+h);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,d),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=h,_=o.subarray(l+h,l+h+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,u),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,_)}}},Qi.prototype.updateCursor=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this.cursorTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},Qi.prototype.updateWatermark=function(e,t,i){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(this.watermarkData=i,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},Qi.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},Qi.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},Qi.prototype.drawCursor=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(r<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var o=this.yTextureRef,n=this.uTextureRef,d=this.vTextureRef,u=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,d),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,u),e&&this.hasCursor){let e=t/this.croppingParams.width,o=i/this.croppingParams.height,n=r/this.croppingParams.width,d=a/this.croppingParams.height;this.cx=e,this.cy=o,this.cw=n,this.ch=d,s.uniform4f(this.cursorInfoRef,e,o,n,d)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},Qi.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},Qi.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},Qi.prototype.drawNextOuptutPictureRGBA=function(e,t,i,r){if(this.isAvaiable()){var a=r,s=this.canvasElement.getContext("2d"),o=s.getImageData(0,0,e,t);o.data.set(a),s.putImageData(o,0,0)}},Qi.prototype.isRGBAMode=function(e){return-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(e)},Qi.prototype.updateRemoteVideoTextures=function(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var d=this.contextGL,u=this.yTextureRef,l=this.uTextureRef,c=this.vTextureRef;d.enable(d.BLEND),d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);const h=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!r||!r.length||r.length!=e*t*3/2&&!h||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return!1;let f=o?0:1;if(this.colorRange=f,this.rotation=a,Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=d.canvas.width,this.canvasHeight=d.canvas.height,!n)return;if(d.bindTexture(d.TEXTURE_2D,u),h)return void d.texImage2D(d.TEXTURE_2D,0,d.RGBA,e,t,0,d.RGBA,d.UNSIGNED_BYTE,r);var p=r,_=e*t,m=p.subarray(0,_);d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e,t,0,d.LUMINANCE,d.UNSIGNED_BYTE,m);let E=0,g=0;this.videoMode==s.VIDEO_I420?(E=e/2*t/2,g=E):this.videoMode==s.VIDEO_NV12&&(E=e*t/2,g=0);var S=p.subarray(_,_+E);if(d.bindTexture(d.TEXTURE_2D,l),g){d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,S);var v=p.subarray(_+E,_+E+g);d.bindTexture(d.TEXTURE_2D,c),d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,v)}else d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE_ALPHA,e/2,t/2,0,d.LUMINANCE_ALPHA,d.UNSIGNED_BYTE,S);return!0},Qi.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!i)return;if(!this.isAvaiable())return;var o=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,r),!s)return;o.bindTexture(o.TEXTURE_2D,this.yTextureRef);const n=0,d=o.RGBA,u=o.RGBA,l=o.UNSIGNED_BYTE;o.texImage2D(o.TEXTURE_2D,n,d,u,l,i)},Qi.prototype.updateSelfMaskImage=function(e,t,i){if(!(e<=0||t<=0)&&i&&i.length==e*t*4&&this.isAvaiable()){var r=this.contextGL;r.bindTexture(r.TEXTURE_2D,this.maskTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i)}},Qi.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},Qi.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var i=this.contextGL;let r=this.isRGBAMode(this.videoMode)?1:0;i.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(r,this.hasCursor,this.videoMode),this.initmask&&i.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),i.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.render()},Qi.prototype.readPixelsSyncRequest=function(e,t,i,r){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==i*r*4||(this.destination=new Uint8Array(i*r*4)),a=this.destination,s.flush(),s.readPixels(e,t,i,r,s.RGBA,s.UNSIGNED_BYTE,a),a}},Qi.prototype.updateSelfVideoTextures=function(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&i&&i.length%4==0&&this.isAvaiable()){var o=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,r),a&&(o.bindTexture(o.TEXTURE_2D,this.yTextureRef),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,e,t,0,o.RGBA,o.UNSIGNED_BYTE,i))}},Qi.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var r=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,i,e.width,e.height),r.viewport(e.x,e.y,e.width,e.height),t?(r.enable(r.BLEND),r.blendFunc(r.ZERO,r.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(s.VIDEO_RGBA),this.render()}},Qi.prototype.isSetWatermark=function(){return this.hasWaterMark},Qi.prototype.recoverTextures=function(){},Qi.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},Qi.prototype.setUniformFlag=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;r.uniform1i(this.onlyRGBARef,e),r.uniform1i(this.bgraModeRef,e&&i===s.VIDEO_BGRA?1:0),r.uniform1i(this.cursorFlagRef,t),e||r.uniform1i(this.yuvmodeRef,i)}},Qi.prototype.setVideoMode=function(e){this.videoMode=e},Qi.prototype.getVideoMode=function(e){return this.videoMode},Qi.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},Qi.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},Qi.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},Qi.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},Qi.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},Qi.prototype.getWatermarkPosition=function(){return this.watermarkPosition},Qi.prototype.setMultiView=function(e){return this.isMultiView=e},Qi.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},Qi.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},Qi.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},Qi.prototype.getFillMode=function(){return this.fillMode},Qi.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},Qi.prototype.getTextureIndex=function(){return this.textureindex},Qi.prototype.getIndex=function(){return this.textureindex},Qi.prototype.getWatermarkWidth=function(){return this.watermarkWidth},Qi.prototype.getWatermarkHeight=function(){return this.watermarkHeight},Qi.prototype.getTextureWidth=function(){return this.textureWidth},Qi.prototype.getTextureHeight=function(){return this.textureHeight},Qi.prototype.getCroppingParams=function(){return this.croppingParams},Qi.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},Qi.prototype.getAttachedCanvas=function(){return this.canvasElement},Qi.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},Qi.prototype.isUseFillMode=function(e){let{width:t,height:i,rotation:r}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!i)return!1;const a=r===this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?i/t:t/i;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)};var Zi=Qi;class $i{constructor(e){this.options={analyserFrequent:100,...e||{}},this.asnTime=performance.now(),this.audioStream=null,this.analyserNodeBufferDataArray=null,this.audioCtx=null,this.destinationNode=null,"function"==typeof AudioContext&&(this.audioCtx=new(window.AudioContext||window.webkitAudioContext),this.destinationNode=new MediaStreamAudioDestinationNode(this.audioCtx),this.initAnalyserNode()),this.lastUILevel=0}initAnalyserNode(){this.analyserNode=this.audioCtx.createAnalyser(),this.analyserNode.connect(this.destinationNode),this.analyserNode.fftSize=1024}setAudioStream(e){this.audioStream=e}start(){if(this.audioCtx)return this.getAnalyzingStatus()&&this.stop(),this.getDestroyedStatus()?Promise.reject(new Error("instance is destroyed already")):new Promise(e=>{this.setAnalyzingStatus(!0),this.sourceNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.sourceNode.connect(this.analyserNode),this.resumeAudioCtx(),this.setAnalyzeInterval(),e(!0)})}stop(){this.setAnalyzingStatus(!1),this.clearAnalyzeInterval()}destroy(){var e;this.stop(),this.analyserNode&&this.destinationNode&&this.analyserNode.disconnect(this.destinationNode),this.setDestroyedStatus(!0),null===(e=this.audioCtx)||void 0===e||e.suspend().finally(()=>{var e;return null===(e=this.audioCtx)||void 0===e?void 0:e.close()}),this.audioStream=null,this.analyserNodeBufferDataArray=null}analyserNodeIntervalCallback(){if(!this.analyserNodeBufferDataArray)return;this.analyserNode.getFloatTimeDomainData(this.analyserNodeBufferDataArray);let{sumRms:e,absMax:t}=function(e,t){let i=0,r=0;for(let a=0;a<e.length;a+=t){r+=e[a]*e[a];let t=Math.abs(e[a]);t>i&&(i=t)}let a=r/e.length/t;return i=i>1?1:i,{sumRms:a,absMax:i}}(this.analyserNodeBufferDataArray,2);const i=tr(t);i!==this.lastUILevel&&(this.lastUILevel=i,this.options.analyserCallback(i))}setAnalyzeInterval(){this.clearAnalyzeInterval();const e=this.analyserNode.fftSize;this.analyserNodeBufferDataArray=new Float32Array(e),this.analyserNodeTimer=window.setInterval(this.analyserNodeIntervalCallback.bind(this),this.options.analyserFrequent)}clearAnalyzeInterval(){this.analyserNodeTimer&&(window.clearInterval(this.analyserNodeTimer),this.analyserNodeTimer=null,this.analyserNodeBufferDataArray=null)}getAnalyzingStatus(){return!!this.isAnalyzing}setAnalyzingStatus(e){this.isAnalyzing=!!e}getDestroyedStatus(){return!!this.isDestroyed}setDestroyedStatus(e){this.isDestroyed=!!e}resumeAudioCtx(){"running"!==this.audioCtx.state&&this.audioCtx.resume().catch(e=>{v.default.error("audio-level audio context resume error: ",e)})}}const er=[0,1,2,3,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9];function tr(e){if("number"!=typeof e||e<0||e>1)return-1;let t=parseInt(32768*e/1e3);return 0==t&&e>250&&(t=1),er[t]}const ir=(e,t)=>A.default.add_monitor("AB"+e);var rr=[],ar=[];class sr{constructor(){this.levelR16LogTimer=null,this.audioStatus=-1}startLogTimer(){try{this.levelR16LogTimer||(this.levelR16LogTimer=setInterval(()=>{rr.push("x"),ar.push("x"),rr.length>30&&rr.shift(),ar.length>30&&ar.shift()},1e3)),this.audioStatus=2}catch{ir("SALLTERR")}}suspendLogTimer(e){try{this.levelR16LogTimer&&(clearInterval(this.levelR16LogTimer),this.levelR16LogTimer=null),this.audioStatus=e?3:1}catch{ir("PALLTERR")}}destroy(){this.suspendLogTimer(),this.levelR16LogTimer=null}}class or{constructor(e,t){this.workletPath=t||{},this.audioStream=null,this.audioCtx=null,this.webRTCWorkletNode=null,this.inputNode=null,this.outputNode=null,this.isDestroyed=!1,this.mutedLevelLogTimer=new sr,this.initAudioContext(),this.isCreatingWorklet=!1,this.setAudioStreamCallback=e,this.doingDenoise=!1,this.checkProcessInterval=null}initAudioContext(){if(!this.audioCtx){let e=g.default.getAudioContextConfigure();if(this.audioCtx=Object(g.createAudioContext)("WebRTCInput",e),!this.audioCtx)return;this.audioCtx.onstatechange=()=>{var e,t;if(v.default.log("WebRTCInput AudioContext state changed to ".concat(null===(e=this.audioCtx)||void 0===e?void 0:e.state)),A.default.add_monitor("ACSC:WebRTCInput:".concat(null===(t=this.audioCtx)||void 0===t?void 0:t.state)),this.audioStream){this.setAudioStreamCallback(null,!0);const e=this.audioStream.getAudioTracks()[0];if(e){var i;const{muted:t}=e;"running"===(null===(i=this.audioCtx)||void 0===i?void 0:i.state)&&t&&(ir("ACRM"),v.default.error("Audio context running when track muted"))}}},this.outputNode=this.audioCtx.createMediaStreamDestination(),this.resumeAudioCtx()}}async createWebRTCWorklet(){const{jsPath:e,wasmPath:t}=this.workletPath;if(this.audioCtx&&e&&!this.isCreatingWorklet){if(this.isCreatingWorklet=!0,!this.webRTCWorkletNode){try{await this.audioCtx.audioWorklet.addModule(e)}catch(e){return v.default.error("Error when add webRTC worklet module",e),void(this.isCreatingWorklet=!1)}let i=void 0;if(g.default.isSupportAudioDenoise(!0)&&t&&(i=await g.default.downloadAndCompileWebAssembly(t,"AudioWorklet",A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate)),this.isDestroyed)return v.default.log("webrtc manager has been destroyed before create audio worklet node"),void this.destroy();let r=g.default.isBrowserSupportStereo()?2:1;this.webRTCWorkletNode=new Ei(this.audioCtx,"webRTCWorklet",{processorOptions:{userAgent:navigator.userAgent,wasmModule:i,inputAudioChannel:r},numberOfOutputs:1,outputChannelCount:[2]}),this.webRTCWorkletNode.onprocessorerror=e=>{v.default.error("Exception thrown in WebRTC AudioWorkletProcessor",e)},this.webRTCWorkletNode.postCMD("audiowasm"),this.webRTCWorkletNode.port.addEventListener("message",e=>{this.handleMessage(e)}),this.audioStream&&!this.inputNode&&(this.inputNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.inputNode.connect(this.webRTCWorkletNode)),this.webRTCWorkletNode.connect(this.outputNode),"running"===this.audioCtx.state&&this.startCheckProcess(),v.default.log("create worklet successfully")}this.isCreatingWorklet=!1,this.webRTCWorkletNode.postCMD("clearBuffer"),this.resumeAudioCtx()}}handleMessage(e){var t=e.data;switch(t.status){case"AUDIO_LEVEL_R16":{var i;if(1!=(null===(i=this.mutedLevelLogTimer)||void 0===i?void 0:i.audioStatus))break;const e=t.level.toString(16);rr.push(e),rr.length>30&&rr.shift()}break;case"AUDIO_LEVEL_R16_DENOISE":{var r;if(1!=(null===(r=this.mutedLevelLogTimer)||void 0===r?void 0:r.audioStatus))break;const e=t.level.toString(16);ar.push(e),ar.length>30&&ar.shift()}break;case"WASM_INIT_SUCCESS":this.changeDenoiseSwitch(this.denoiseSwitch,this.isHeadSet);break;case"audio_process_changed":v.default.log("denoise switch changed"+t.data),this.doingDenoise=t.data,this.setAudioStreamCallback(null,!0);break;case a.AUDIO_LEVEL_INDICATOR:null!=t.data&&T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:t.data});break;case"SPEECH_LOG":Le.push({log:t.data.log,logSource:s.AUDIO_WEBRTC_WORKLET})}}setAudioStream(e){this.audioStream=e,this.webRTCWorkletNode&&(this.inputNode&&(this.inputNode.disconnect(),this.inputNode=null),e&&(this.inputNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.inputNode.connect(this.webRTCWorkletNode)))}getAudioStream(){var e;return this.outputNode&&this.webRTCWorkletNode&&this.doingDenoise&&"running"===(null===(e=this.audioCtx)||void 0===e?void 0:e.state)?this.outputNode.stream:this.audioStream}changeDenoiseSwitch(e,t){this.denoiseSwitch=!!e,this.isHeadSet=!!t,this.webRTCWorkletNode&&this.webRTCWorkletNode.postCMD("audio_denoise_switch",{enable:this.denoiseSwitch,isHeadSet:this.isHeadSet})}getLevelR16Log(){const e=rr.join(""),t=ar.join("");return rr=[],ar=[],{resLevelR16Log:e,resLevelR16LogDenoise:t}}resumeAudioCtx(){var e,t,i;1!==(null===(e=this.mutedLevelLogTimer)||void 0===e?void 0:e.audioStatus)||"running"===(null===(t=this.audioCtx)||void 0===t?void 0:t.state)||"closed"===(null===(i=this.audioCtx)||void 0===i?void 0:i.state)||this.isCreatingWorklet||(this.startCheckProcess(),this.audioCtx.resume().catch(e=>{v.default.error("webRTC audioContext resume fail",e)}))}suspendAudioCtx(){var e;"suspended"===(null===(e=this.audioCtx)||void 0===e?void 0:e.state)||this.isCreatingWorklet||(this.stopCheckProcess(),this.audioCtx.suspend().catch(e=>{v.default.error("Error when suspend audio context",e)}))}changeAudioStatus(e,t){var i,r,a;t?(null===(i=this.mutedLevelLogTimer)||void 0===i||i.suspendLogTimer(!0),this.suspendAudioCtx()):e?(null===(r=this.mutedLevelLogTimer)||void 0===r||r.startLogTimer(),this.suspendAudioCtx()):(null===(a=this.mutedLevelLogTimer)||void 0===a||a.suspendLogTimer(!1),this.resumeAudioCtx())}startCheckProcess(){this.stopCheckProcess(),this.webRTCWorkletNode&&(this.webRTCWorkletNode.postCMD("clearProcess",null),this.checkProcessInterval=setInterval(()=>{this.webRTCWorkletNode&&this.webRTCWorkletNode.postCMD("checkProcess",null)},1e4))}stopCheckProcess(){this.checkProcessInterval&&(clearInterval(this.checkProcessInterval),this.checkProcessInterval=null)}destroy(){try{this.isDestroyed=!0,this.webRTCWorkletNode&&(this.webRTCWorkletNode.disconnect(),this.webRTCWorkletNode.postCMD("stopWorklet",!0),this.webRTCWorkletNode=null),this.inputNode&&(this.inputNode.disconnect(this.audioLevelNode),this.inputNode=null),this.outputNode&&(this.outputNode.disconnect(),this.outputNode=null),this.audioCtx&&"closed"!==this.audioCtx.state&&this.audioCtx.suspend().finally(()=>{this.audioCtx.close(),this.audioCtx=null}),this.audioStream=null,this.mutedLevelLogTimer&&(this.mutedLevelLogTimer.destroy(),this.mutedLevelLogTimer=null),this.wasmModule=null,this.isCreatingWorklet=!1,ir("DSALOK")}catch(e){ir("DSALERR"),v.default.error("Error when destroy webRTC manager",e)}}}var nr=["headset","pods","buds","opencomm","arctis","mpow","hyperx cloud","zone wired","aeropex by aftershokz","plt focus","xiberia","pxc 550","tk-hs001","lifechat lx","cisco 56"],dr=[["wh-","wf-","wi-"],["1000x","ch","xb","sp","h9","c2","c5","c6","c1","h8","c4","c3"]],ur={jabra:["evolve","pro 900","pro 920","pro 93","pro 94","talk","biz","engage","elite","uc voice","link 180","link 2","link 860","link 850","link 400","blueparrott"],plantronics:["savi","blackwire","c5","c3","c4","c6","c7","bt","audio","da","encorepro","hw111n","gamecom","apu","voyager"],logitech:["h570","h820","h650","pro x"],sennheiser:["sc","mb","pc","sd","dect","g4me1","audio"],sony:["wh","wf","mdr"],bose:["qc","quiet","soundlink","soundsport","on-ear","nc"],beats:["fit","flex","power","solo","studio","mivi"],razer:["kraken","blackshark","barracuda","nari","hammerhead","opus"],yealink:["uh","wh","yh","cp"],soundcore:["life","liberty","spirit","strike"],addasound:["sr","epic"],jbl:["tune","quantum","live","wave","t450bt","c200","everest","c310"],epos:["impact","pc 8 usb","h3","adapt"],jlab:["go","bt","epic","studio"]};var lr=function(e){if("string"!=typeof e)return!1;let t=e.toLowerCase();for(let e=0;e<nr.length;e++){let i=nr[e];if(t.includes(i))return!0}let i=Object.keys(ur);for(let e=0;e<i.length;e++){let r=i[e];if(t.includes(r)){let e=ur[r];for(let i=0;i<e.length;i++)if(t.includes(e[i]))return!0}}let r=dr[0],a=dr[1],s=!1;for(let e=0;e<r.length;e++)if(t.includes(r[e])){s=!0;break}if(s)for(let e=0;e<a.length;e++)if(t.includes(a[e]))return!0;return!1};const cr=/\(\w+:\w+\)|,/gi;function hr(e,t){return e.kind===t.kind?e.deviceId===t.deviceId?0:e.deviceId>t.deviceId?1:-1:e.kind>t.kind?1:-1}function fr(){this._deviceList=null,this._deviceDetectTimer=null,this.addChangeListener(),this.enumDevices()}fr.prototype.init=function(){this.micId=null,this.micLabel=null,this.speakerId=null,this.speakerLabel=null,this.cameraId=null,this.cameraLabel=null,this.startTime=Date.now(),this.userId=0,this.videoWidth=0,this.videoHeight=0,this.audioBridge=!1,this.isUpdatingDevice=!1,this.denoiseSwitch=!1},fr.prototype.isSupportDeviceChange=function(){return!(g.default.isAndroidBrowser()&&!g.default.browser.isFirefox)},fr.prototype.addChangeListener=function(){var e,t,i,r;this.isSupportDeviceChange()?(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.removeEventListener)||void 0===t||t.call(e,"devicechange",this.enumDevices.bind(this)),null===(i=navigator.mediaDevices)||void 0===i||null===(r=i.addEventListener)||void 0===r||r.call(i,"devicechange",this.enumDevices.bind(this))):this.enableSelfDeviceDetect();this.checkPlatformNeedExtraSelfDetection()&&this.enableSelfDeviceDetect()},fr.prototype.checkPlatformNeedExtraSelfDetection=function(){return g.default.isIphoneOrIpadSafari()||g.default.isLinux()},fr.prototype.enableSelfDeviceDetect=function(){this.disableSelfDeviceDetect();this._deviceDetectTimer=setInterval(this.enumDevices.bind(this),3e3)},fr.prototype.disableSelfDeviceDetect=function(){this._deviceDetectTimer&&clearInterval(this._deviceDetectTimer)},fr.prototype.receiveABOptionForExtraDeviceDetect=function(e){if(0==e){if(!this.isSupportDeviceChange())return;this.checkPlatformNeedExtraSelfDetection()&&this.disableSelfDeviceDetect()}},fr.prototype.isDeviceChanged=function(e){let t=this._deviceList;if(null===t)return!0;if(e.length!=t.length)return!0;t.sort(hr),e.sort(hr);let i=0,r=0;for(;!(i>=e.length||r>=t.length);){if(t[r].deviceId!=e[i].deviceId)return!0;i++,r++}return!1},fr.prototype.enumDevices=function(){var e,t;let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===(e=navigator)||void 0===e||null===(e=e.mediaDevices)||void 0===e||null===(t=e.enumerateDevices)||void 0===t?void 0:t.call(e).then(e=>{this.isSupportDeviceChange()&&i?(T.default.Notify_APPUI_SAFE(a.DEVICE_CHANGE_EVENT,e),this.reportAudioAllMonitorLogs(e)):null==this._deviceList?this.reportAudioAllMonitorLogs(e):this.isDeviceChanged(e)&&(T.default.Notify_APPUI_SAFE(a.DEVICE_CHANGE_EVENT,e),this.reportAudioAllMonitorLogs(e)),this._deviceList=e}).catch(e=>{v.GlobalTracingLogger.error("MediaSDK catched error while enumerateDevice: ",e)})},fr.prototype.reportAudioAllMonitorLogs=function(e){e&&e.forEach(e=>{var t;if("audioinput"==e.kind)this.sendDeviceInfo(-1,1,this.getIndex(e.label),e.deviceId,null===(t=e.label)||void 0===t||null===(t=t.replace(cr,""))||void 0===t?void 0:t.trim(),!0);else if("audiooutput"==e.kind){var i;this.sendDeviceInfo(-1,0,this.getIndex(e.label),e.deviceId,null===(i=e.label)||void 0===i||null===(i=i.replace(cr,""))||void 0===i?void 0:i.trim(),!0)}})},fr.prototype.notifyDenoiseSetting=function(){if(g.default.isSupportAudioDenoise(!!this.audioBridge)&&this.micId)if(this.audioBridge)this.audioBridge.changeDenoiseSwitch(this.denoiseSwitch,pr.isHeadSet());else{Tt({command:"audio_denoise_switch",switch:this.denoiseSwitch,isHeadSet:pr.isHeadSet()})}},fr.prototype.hasOutputDevice=async function(e){if(""===e)return!0;let t=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"audiooutput"===e.kind);return 0!==t.length&&t.filter(t=>t.deviceId===e).length},fr.prototype.changeDenoiseSwitch=function(e){this.denoiseSwitch=e,this.notifyDenoiseSetting()},fr.prototype.setAudioBridge=function(e){this.audioBridge=e},fr.prototype.hasPermission=async function(e){try{return"granted"===(await navigator.permissions.query({name:e})).state}catch(t){let i=null;if("microphone"===e)i="audioinput";else{if("camera"!==e)return!1;i="videoinput"}return(await navigator.mediaDevices.enumerateDevices()).forEach(e=>{if(e.kind===i&&""===e.label)return!1}),!0}},fr.prototype.setUserId=function(e){if("number"!=typeof e||Number.isNaN(e))return;const t=this.userId>>10<<10==e>>10<<10;this.userId=e,t||this.reportAudioAllMonitorLogs(this._deviceList)},fr.prototype.updateSelectedMicDevices=function(e,t,i,r){var a;t=null===(a=t)||void 0===a||null===(a=a.replace(cr,""))||void 0===a?void 0:a.trim(),r&&(this.micId=e,this.micLabel=t),this.notifyDenoiseSetting(),this.sendDeviceInfo(i,1,this.getIndex(this.micLabel),e,t,r,this.isHeadSet())},fr.prototype.updateShareAudioDevices=function(e,t){this.sendDeviceInfo(0,2,0,e,t,!0,!1)},fr.prototype.updateSelectedSpeakerDevices=async function(e,t,i){e=e||"default";let r="default";(await navigator.mediaDevices.enumerateDevices()).forEach(t=>{var i;"audiooutput"===t.kind&&t.deviceId===e&&(r=null===(i=t.label)||void 0===i||null===(i=i.replace(cr,""))||void 0===i?void 0:i.trim())}),i&&(this.speakerId=e,this.speakerLabel=r),this.sendDeviceInfo(t,0,this.getIndex(this.speakerLabel),e,r,i,this.isHeadSet(!1))},fr.prototype.updateSelectedCameraDevices=function(e,t,i,r,a,s,o){var n;this.cameraId=e,this.cameraLabel=null==t||null===(n=t.replace(cr,""))||void 0===n?void 0:n.trim(),this.videoWidth=i,this.videoHeight=r,this.videoFrameRate=a,this.sendCameraInfo(s,o,a)},fr.prototype.isHeadSet=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=null;return t=e?this.micLabel:this.speakerLabel,lr(t)},fr.prototype.getIndex=function(e){return"default"==e?-1:"communications"==e?g.default.isMac()?0:-2:0},fr.prototype.sendDeviceInfo=function(e,t,i,r,s,o,n){if(!this.userId)return;let d=null,u=Date.now()-this.startTime;d=-1==e?"WCL_AUDIOD-ALL,"+this.userId+","+t+","+i+","+s+","+r+","+o+","+e+",7,"+u+",1":"WCL_AUDIOD,"+this.userId+","+t+","+i+","+s+","+r+","+o+","+e+",7,"+u+",1,"+(o?1:0)+","+n,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:d}})},fr.prototype.sendCameraInfo=function(e,t,i){if(!this.userId||this.isUpdatingDevice)return;let r=null;r="WCL_CAMERA,"+this.userId+",0,"+this.cameraLabel+","+t+","+e+","+"-1,"+this.videoWidth+","+this.videoHeight+","+"-1,"+i+","+-1,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:r}})},fr.prototype.getMicId=function(){return this.micId},fr.prototype.getMicLabel=function(){return this.micLabel},fr.prototype.getSpeakerId=function(){return this.speakerId};let pr=new fr;var _r=pr;function mr(e,t){return"number"!=typeof e?0:parseFloat(e.toFixed(t)).toString()}class Er{static getReportKeyFromSSRC(e,t){if(e)return t.ssrc.toString()===e?s.REPORT_KEY_NORMAL:s.REPORT_KEY_SHARE}static isAudioSharing(e){return e&s.WEBRTC_SHARE_AUDIO_MODE}static remoteInboundRTPStatisticParse(e,t,i,r,a){let o=this.getReportKeyFromSSRC(e,t);o&&(o!=s.REPORT_KEY_SHARE||this.isAudioSharing(i))&&void 0!==t.roundTripTime&&(r[o]||(r[o]={}),r[o].rtt=Math.floor(1e3*t.roundTripTime))}static outboundRTPStatisticsParse(e,t,i,r,a){let o=this.getReportKeyFromSSRC(e,t);if(!o)return;if(o==s.REPORT_KEY_SHARE&&!this.isAudioSharing(i))return;r[o]||(r[o]={});const{timestamp:n,bytesSent:d,packetsSent:u,nackCount:l,retransmittedBytesSent:c,retransmittedPacketsSent:h,targetBitrate:f,totalPacketSendDelay:p}=t;a[o]||(a[o]={lastBytesSent:d,lastTimeStamp:n});const{lastTimeStamp:_,lastBytesSent:m}=a[o];r[o].bytesSentPerSecond=Math.floor(n-_?1e3*(d-m)/(n-_):0),r[o].packetsSent=u,r[o].nackCount=l,r[o].retransmittedBytesSent=c,r[o].retransmittedPacketsSent=h,r[o].targetBitrate=f/1e3+"k",Object.assign(a[o],{lastBytesSent:d,lastTimeStamp:n})}static outboundBitrateQosParse(e,t){let i=0;e.forEach(e=>{if("outbound-rtp"===e.type){const{bytesSent:r,timestamp:a}=e,{lastBytesSent:s,lastTimestamp:o}=t[e.ssrc]||{};r&&a&&s&&o&&(i+=this.calculateBitrates(s,o,r,a)),t[e.ssrc]={lastBytesSent:r,lastTimestamp:a}}}),t.bitrate=i.toFixed(1)}static inboundBitrateQosParse(e,t){let i=0;e.forEach(e=>{if("inbound-rtp"===e.type){const{bytesReceived:r,timestamp:a}=e,{lastBytesReceived:s,lastTimestamp:o}=t[e.ssrc]||{};r&&a&&s&&o&&(i+=this.calculateBitrates(s,o,r,a)),t[e.ssrc]={lastBytesReceived:r,lastTimestamp:a}}}),t.bitrate=i.toFixed(1)}static calculateBitrates(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return e===i||parseInt(t)===parseInt(r)?0:8e3*(i-e)/(r-t)}static mediaSourceStatisticsParse(e,t,i,r,a){var o;let n=t.trackIdentifier==(null==e||null===(o=e.getAudioTracks()[0])||void 0===o?void 0:o.id)?"NORMAL":"SHARE";if(!n)return;if(n==s.REPORT_KEY_SHARE&&!this.isAudioSharing(i))return;r[n]||(r[n]={});const{audioLevel:d,echoReturnLoss:u,echoReturnLossEnhancement:l,totalAudioEnergy:c,totalSamplesDuration:h}=t;r[n].audioLevel=mr(d,2),r[n].echoReturnLoss=u,r[n].echoReturnLossEnhancement=mr(l,2),r[n].totalAudioEnergy=mr(c,2),r[n].totalSamplesDuration=mr(h,1)}static networkInfoStatisticsParse(e,t,i,r,a){let s=0,o=null,n=null;if("candidate-pair"===t.type){const i=e.get(t.remoteCandidateId);t.selected&&i&&(s=i.port,o=i.protocol);const r=e.get(t.localCandidateId);t.selected&&r&&(n=r.candidateType)}else if("transport"===t.type&&t.selectedCandidatePairId){let i=e.get(t.selectedCandidatePairId);const r=e.get(i.remoteCandidateId);r&&(s=r.port,o=r.protocol);const a=e.get(i.localCandidateId);a&&(n=a.candidateType)}s&&o&&(s!==r.port||o!=r.protocol||n!=r.candidateType)&&(r.port=s,r.protocol=o,r.candidateType=n,v.default.directReport("".concat(a," port:").concat(s,", ").concat(a," protocol:").concat(o,", ").concat(a," localcandidateType:").concat(n)))}}const gr=(e,t)=>A.default.add_monitor("AB"+e);class Sr{constructor(e,t,i,r){this.audioId=e,this.audioTag=document.createElement("audio"),this.audioTag.id=e,this.audioTag.srcObject=t,this.audioTag.autoplay=!0,this.audioTag.controls=!1,this.pauseCB=r,this._listenHandlePlaying=this._listenHandlePlaying.bind(this),this._listenHandlePause=this._listenHandlePause.bind(this),this._listenHandleCanPlay=this._listenHandleCanPlay.bind(this),this._listenHandleError=this._listenHandleError.bind(this),this._addListener(),document.documentElement.appendChild(this.audioTag),this.setSpeakerDevicePromise(i).catch(e=>{})}destroy(){this._removeListener(),this.pause(),this.setStream(null),this.audioTag&&(this.audioTag.remove(),this.audioTag=null)}_addListener(){this.audioTag&&(this.audioTag.addEventListener("playing",this._listenHandlePlaying),this.audioTag.addEventListener("pause",this._listenHandlePause),this.audioTag.addEventListener("canplay",this._listenHandleCanPlay),this.audioTag.addEventListener("error",this._listenHandleError))}_removeListener(){this.audioTag&&(this.audioTag.removeEventListener("playing",this._listenHandlePlaying),this.audioTag.removeEventListener("pause",this._listenHandlePause),this.audioTag.removeEventListener("canplay",this._listenHandleCanPlay),this.audioTag.removeEventListener("error",this._listenHandleError))}_listenHandlePlaying(){gr("ASP:"+this.audioId)}_listenHandlePause(){gr("APP:"+this.audioId),"function"==typeof this.pauseCB&&this.pauseCB.call()}_listenHandleCanPlay(){gr("ACP:"+this.audioId)}_listenHandleError(e){gr("APE:"+this.audioId+"-"+(null==e?void 0:e.code)),v.default.error("RTCAudioPlayer tag error: ",e)}isPaused(){return this.audioTag?this.audioTag.paused:void 0}isMuted(){return this.audioTag?this.audioTag.muted:void 0}isSupportSetSpeakerDevice(){var e;return!(null===(e=this.audioTag)||void 0===e||!e.setSinkId)}setStream(e){this.audioTag&&this.audioTag.srcObject!=e&&(this.audioTag.srcObject=e)}play(){return this.audioTag&&this.audioTag.play()}pause(){return this.audioTag&&this.audioTag.pause()}mute(){this.audioTag&&(this.audioTag.muted=!0)}unmute(){this.audioTag&&(this.audioTag.muted=!1)}setVolume(e){const t=Math.min(Math.max(0,e),100)/100;this.audioTag&&(this.audioTag.volume=t)}setSpeakerDevicePromise(e){return new Promise((t,i)=>this.audioTag&&this.isSupportSetSpeakerDevice()&&e?this.audioTag.sinkId==e?t():void this.audioTag.setSinkId(e).then(t).catch(e=>{v.default.error("Error when setting sink of audio player",e),i(e)}):t())}}const vr=(e,t)=>A.default.add_monitor("AB"+e),Cr=(()=>{let e=[],t={},i=Date.now();return r=>{if(r.onlyAudioLevel)t[r.key]||(t[r.key]=[]),t[r.key].push(r.audioLevel);else if(Object.keys(t).forEach(e=>{r.ssrcMap[e]&&(r.ssrcMap[e].zoomAudioLevel=t[e])}),t={},e.push(r),Date.now()-i>14e3){let r=e.reduce((t,i,r)=>{const{rtt:a,ssrcMap:s}=i;let o="";return Object.keys(s).forEach((t,i,n)=>{const{aveAudioLevel:d,audioLevel:u,jitter:l,zoomAudioLevel:c,jitterBufferMinimumDelay:h,concealedSamples:f,concealmentEvents:p,insertedSamplesForDeceleration_in_5s:_,removedSamplesForAcceleration:m,silentConcealedSamples:E,audioPlayerStatus:g,totalAudioEnergy:S,aveJitterBufferDelay_ms:v,aveJitterBuffeTargetrDelay_ms:C,avePacketsReceived_in_s:A,aveBytesReceived_in_s:R,totalProcessingDelay_in_5s:T,packetsDiscarded_in_5s:I,packetsLost_in_5s:b}=s[t];o+="".concat(void 0===a?"":a,"|{[SSRCLOG]}|{").concat(t,"}|").concat(g,"|").concat(S.toFixed(4),"|").concat(c.join(""),"|").concat(tr(Number(u)),"|").concat(tr(Number(d)),"|").concat(1e3*l,"|").concat(v,"|").concat(C,"|").concat(b,"|").concat(A,"|").concat(R,"|").concat(h,"|").concat(I,"|").concat(f,"|").concat(p,"|").concat(_,"|").concat(m,"|").concat(E,"|").concat(T),r===e.length-1&&i===n.length-1||(o+="#")}),t+o},"WCL_AB,{[DOWNLINK]},");i=Date.now(),r+=",{[END]}",T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:r}}),t={},e=[]}}})(),Ar=(()=>{let e=[],t=Date.now();return i=>{if(e.push(i),Date.now()-t>14e3){let i="",r="";const s=e.reduce((t,a,s)=>{let o="";return Object.keys(a).forEach((e,t,s)=>{const{rtt:n="",bytesSentPerSecond:d,packetsSent:u,audioLevelR16Str:l="",audioLevelR16DenoiseStr:c="",targetBitrate:h="",nackCount:f="",retransmittedBytesSent:p="",retransmittedPacketsSent:_="",audioLevel:m="",echoReturnLoss:E="",echoReturnLossEnhancement:g="",totalAudioEnergy:S="",totalSamplesDuration:v=""}=a[e];i+=l,r+=c||l,o+="{".concat(e,"}").concat(n,"|").concat(d,"|").concat(u,"|").concat(h,"|").concat(f,"|").concat(p,"|").concat(_,"|").concat(m,"|").concat(E,"|").concat(g,"|").concat(S,"|").concat(v)}),s===e.length-1?o+=",{[SPEECH_R16]},".concat(i,",").concat(r,",{[END]}"):o+="#",t+o},"WCL_AB,{[UPLINK]},");t=Date.now(),T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:s}}),e=[]}}})(),Rr={bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",sdpSemantics:"unified-plan",iceServers:[],iceTransportPolicy:"all"};class Tr{constructor(e,t,i,r,a,o,n,d){this.callback=n,this.onlyCheck=d,this.publisherCandidate=[],this.subscriberCandidate=[],this.retry=0,this.retryPublish=0,this.cid=e,this.wsUrl=t,this.audioPlayerMap=new Map,this.isRetrying=!1,this.recvOnly=!!i,this.audioStream=null,this.shareAudioStream=null,this.monitorTimer=null,this.audioReportCount=0,this.monitorTimerDuration=1e3,this.monitorInfo={subscriber:{},publisher:{}},this.bitrateInfo={subscriber:{},publisher:{}},this.muted=!1,this.audioMuteStatus=new Map,this.ssrcUserIdMap=new Map,this.published=!1,this.joinAudioAfterConnect=!1,this.audioMode=s.WEBRTC_NO_AUDIO_MODE,this.codecDoAVSync=!!r,this.normalAudioMap=new Map,this.shareAudioMap=new Map,this.audioProfile=s.ORIGINAL_SOUND_OFF,this.syncTimer=null,o&&!this.onlyCheck&&(this.webRTCWorkletManager=new or(this.setNormalAudioStream.bind(this),o)),this.hasPaused=!1,this.recoverAfter1s=null,this.useWebRTCOnDesktop=a,this.receiveAudioStatus=new Map,document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&this.playAllRemoteAudio()}),this.isMutedBySystem=!1,this.leaveTime=0,this.noPacketsCount=0,this.lastSentPackets=0,this.useIceServers=!1,this.iceServers=[],this.isAudioSentBytesZero=!1,this.audioSpeakerSetErrorCnt=0}setIceServers(e){this.iceServers=e||[]}setUseIceServers(e){this.useIceServers=e}playAllRemoteAudio(){if(this.isMutedBySystem)return;if(!this.hasPaused||!this.audioMode)return;let e=Array.from(this.audioPlayerMap.values()).map(e=>{if(e.isPaused())return e.play()});Promise.all(e).then(()=>{this.hasPaused=!1}).catch(e=>{this.hasPaused=!0,vr("REA"),this.notifyUIMessage(a.RECOVER_WEBRTC_AUDIO),v.default.error("Error when playAllRemoteAudio: ",e)})}async reconnect(e){if(!this.isRetrying&&!this.isDestroyed){if(this.stopAVSyncTimer(),this.stopAudioQualityMonitorTimer(),this.destroySocketAndWebRtcConnect(!0),this.retry>=3)return this.isRetrying=!1,v.default.error("Audio Bridge failed to reconnect",e),void this.notifyUIMessage(a.WCL_SIP_WEBSOCKET_CONNECT_ERROR);this.isRetrying=!0,await g.default.sleep(3e3),this.isDestroyed||(vr("JOIN"+this.retry),this.retry++,this.notifyUIMessage(a.WCL_AUDIO_BRIDGE_RECONNECT_START),await this.join(!0),this.isRetrying=!1)}}async join(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.WEBRTC_NO_AUDIO_MODE;if(i===s.WEBRTC_COMMPUTER_AUDIO_MODE)try{var r,o,n;this.cleanUserEventListener||(this.cleanUserEventListener=Object(g.addUserEventListener)(this.playAllRemoteAudio.bind(this))),null===(r=this.webRTCWorkletManager)||void 0===r||r.createWebRTCWorklet(this.workletPath),null===(o=this.webRTCWorkletManager)||void 0===o||o.changeAudioStatus(!1,!1),null===(n=this.webRTCWorkletManager)||void 0===n||n.startCheckProcess()}catch(e){v.default.error("Error when creating webRTCWorklet",e)}if(this.audioMode=this.audioMode|i,this.signal){var d;if(i!=s.WEBRTC_NO_AUDIO_MODE)this.startAVSyncTimer(),this.startAudioQualityMonitorTimer(),(null===(d=this.signal.socket)||void 0===d?void 0:d.readyState)===WebSocket.OPEN&&this.signal.notify("audiostatus",{status:this.audioMode});return void(i===s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.unmuteAllRemoteAudio())}if(!e&&this.isRetrying)return void this.destroySocketAndWebRtcConnect(e);this.destroySocketAndWebRtcConnect(e),this.signal=new br,this.audioMode&&this.startAVSyncTimer();try{let e;t?e=t:(vr("RTK"),T.default.sendMessageToRwg(a.REQUEST_AUDIO_BRIDGE_TOKEN,{evt:a.WS_CONF_AB_TOKEN_REQ},!1),e=await this.waitForTokenFromRWG(a.PUBSUB_EVT.AUDIO_BRIDGE_WS_TOKEN),vr("TK")),this.signal.init("".concat(this.wsUrl,"&token=").concat(e,"&").concat(this.onlyCheck?"prob=1":"prob=0"))}catch(e){this.reconnect(e)}this.signal.onopen(async e=>{this.audioMode&&(this.signal.notify("audiostatus",{status:this.audioMode}),this.startAudioQualityMonitorTimer()),this.isOpen=!0,this.retryPublish=0,this.clearAudioPlayerMap(),await this.publish(),this.retry=0,this.audioMode&&this.notifyUIMessage(a.WCL_AUDIO_BRIDGE_RECONNECT_END)}),this.signal.onclose(e=>{!this.audioMode&&Date.now()-this.leaveTime>=15e3?(this.signal.destroy(),this.signal=null,this.reconnect(e)):(v.default.error("socket close, notify UI failover: "+s.WS_CLOSE_FAILOVER),this.notifyUIMessage(a.NOTIFY_UI_FAILOVER,s.WS_CLOSE_FAILOVER))}),this.signal.onerror(e=>{this.isOpen||v.default.error("Audio Bridge WebSocket open error"),!this.audioMode&&Date.now()-this.leaveTime>=15e3?(this.signal.destroy(),this.signal=null,this.reconnect(e)):(v.default.error("socket error, notify UI failover: "+s.WS_ERROR_FAILOVER),Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER,s.WS_ERROR_FAILOVER))}),this.signal.onmessage(e=>{if("closing"===e.method){let t=e.params.reason;return t===s.PUBLISHER_ICEConnectionState_Failed?(t="0"+(this.publisher.firstConnected?"1":"0"),T.default.peerConnectionCannotConnectTimes++):t===s.SUBSCRIBER_ICEConnectionState_Failed&&(t="1"+(this.subscriber.firstConnected?"1":"0"),T.default.peerConnectionCannotConnectTimes++),"00"!==t&&"10"!==t||!this.iceServers.length||this.useIceServers?(v.default.error("received closing from audioBridge, notify UI failover: "+t),T.default.peerConnectionCannotConnectTimes<=5?this.notifyUIMessage(a.NOTIFY_UI_FAILOVER,t):v.default.error("peerConnection cannot connect to audioBridge over 5 times"),this.callback("updateConnectionResult","00"!==t&&"10"!==t),this.callback("destroy"),!0):(this.setUseIceServers(!0),this.reconnect(t),!0)}if("qos"===e.method){let t=e.params;return t.encoding=t.encoding===parseInt(R.f.AUDIO_ENCODE),t.sample_rate=48,t.rate=t.encoding?this.bitrateInfo.publisher.bitrate:this.bitrateInfo.subscriber.bitrate,this.notifyUIMessage(a.AUDIO_QOS_DATA,t),!0}return!1}),this.signal.notifyUImessage(this.notifyUIMessage.bind(this)),this.signal.on_notify("command",e=>{const{data:t}=e||{};if(t)try{const e=JSON.parse(t),{evt:i}=e||{};i===a.WS_CONF_END_INDICATION&&this.destroy(!1)}catch(e){}}),this.signal.UpdateNTP=(e,t,i,r)=>{if(this.useWebRTCOnDesktop&&this.codecDoAVSync){let t=new ArrayBuffer(16),r=e.toString(2),a=parseInt(r.substring(0,r.length-32),2),s=parseInt(r.substring(r.length-32,r.length),2),o=new DataView(t);o.setUint32(0,i,!0),o.setUint32(4,s,!0),o.setUint32(8,a,!0),o.setUint32(12,Date.now(),!0),gt({command:"audioDecodeTime",status:1,data:new Uint8Array(t)})}else 512&i?this.shareAudioMap.set(i>>10,{ntptime:e,rtptime:t,abssrc:r}):this.normalAudioMap.set(i>>10,{ntptime:e,rtptime:t,abssrc:r})},this.publisher&&this.removeAudioSender();let u=Object.assign({},Rr);this.useIceServers&&(v.default.directReport("AB_USE_TURN"),u.iceServers=this.iceServers),this.publisher=new RTCPeerConnection(u),this.subscriber=new RTCPeerConnection(u),this.normalAudioSender=null,this.shareAudioSender=null,this.publisher.addTransceiver("audio",{direction:"sendrecv"}),this.publisher.addTransceiver("audio",{direction:"sendrecv"}),this.signal.onOffer=async e=>{vr("RERSDP"),this.updateSsrcUserIdMap(e),await this.subscriber.setRemoteDescription(e),this.subscriberCandidate.forEach(e=>this.subscriber.addIceCandidate(e)),this.subscriberCandidate=[];const t=await this.subscriber.createAnswer();t.sdp=this.updateSdpCodecParameters(t.sdp,"opus",new Map([["stereo",{value:1,operater:"add"}]])),await this.subscriber.setLocalDescription(t),vr("RELSDP"),await this.rpc("answer",{desc:t})},this.signal.onTrickle=async(e,t)=>{0==t?null!=this.subscriber.remoteDescription?(vr("RERICE"),this.subscriber.addIceCandidate(e)):(vr("RERICEF"),this.subscriberCandidate.push(e)):1==t?null!=this.publisher.remoteDescription?(vr("SERICE"),this.publisher.addIceCandidate(e)):(vr("SERICEF"),this.publisherCandidate.push(e)):v.default.error("Audio Bridge onTrickle error: role: ".concat(t,", candidate: ").concat(e))},this.publisher.onicecandidate=e=>{let{candidate:t}=e;vr("SELICE"),this.signal.notify("trickle",{candidate:t,role:1})},this.publisher.onconnectionstatechange=()=>{vr("PCSC:"+this.publisher.connectionState),this.publisher&&("disconnected"===this.publisher.connectionState?setTimeout(()=>{this.publisher&&"disconnected"===this.publisher.connectionState&&(Object(J.NotifyUIError)(a.MEDIA_RECONNECT,{mediaType:"audio"}),this.publish(!0))},5e3):"connected"===this.publisher.connectionState&&(T.default.peerConnectionCannotConnectTimes=0,this.changeSDPAfterConnect&&(this.changeSDPAfterConnect=!1,this.resetOfferandAnswer()),this.notifyUIMessage(a.MEDIA_CONNECTED,{mediaType:"audio"}),this.publisher.firstConnected||(this.publisher.firstConnected=!0,this.notifyUIMessage(a.AUDIO_BRIDGE_CAN_SEND_DATA),this.subscriber.firstConnected&&this.callback("updateConnectionResult",!0))))},this.subscriber.onicecandidate=e=>{let{candidate:t}=e;vr("RELICE"),this.signal.notify("trickle",{candidate:t,role:0})},this.subscriber.ontrack=e=>{vr("REVT");const t=e.streams[0],i=decodeURIComponent(t.id),r="ab-audio-"+i;e.track.onunmute=()=>{this.hasPaused=!0;let e=this.audioPlayerMap.get(i);e?e.setStream(t):(e=new Sr(r,t,_r.speakerId,()=>{this.hasPaused=!0,"visible"===document.visibilityState&&null===this.recoverAfter1s&&(this.recoverAfter1s=setTimeout(()=>{this.recoverAfter1s=null,this.playAllRemoteAudio()},1e3))}),this.audioPlayerMap.set(i,e)),"visible"===document.visibilityState&&null===this.recoverAfter1s&&(this.recoverAfter1s=setTimeout(()=>{this.recoverAfter1s=null,this.playAllRemoteAudio()},1e3)),this.receiveAudioStatus.forEach((e,t)=>{this.setShareVolumeLevel(t/10,e.volume,e.isFromMainSession,!1)}),this.isDestroyed&&e.mute(),vr("REVTP")},e.track.onmute=()=>{vr("REVTM");const e=this.audioPlayerMap.get(i);e&&e.destroy(),this.audioPlayerMap.delete(i)}},this.subscriber.onconnectionstatechange=()=>{var e;if(vr("SCSC:"+this.subscriber.connectionState),"connected"===(null===(e=this.subscriber)||void 0===e?void 0:e.connectionState)){if(T.default.peerConnectionCannotConnectTimes=0,this.notifyUIMessage(a.MEDIA_CONNECTED,{mediaType:"audio"}),this.subscriber.firstConnected)return;this.subscriber.firstConnected=!0,this.notifyUIMessage(a.AUDIO_BRIDGE_FIRST_RECV_DATA),this.publisher.firstConnected&&this.callback("updateConnectionResult",!0)}}}notifyUIMessage(e,t){!this.onlyCheck&&T.default.Notify_APPUI&&T.default.Notify_APPUI(e,t)}async enableShareToBO(e){let t=null;try{t=await this.rpc("Enable_Share_To_BO",{enable:e})}catch(e){v.default.error("Error when enable share to BO",e)}t&&2==t.length?this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_SHARE_TO_BO_SUCCESS,{enable:t[1].enable}):this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_SHARE_TO_BO_FAILURE,{enable:e})}async enableBroadCastToBO(e){let t=null;try{t=await this.rpc("Enable_Broadcast_To_BO",{enable:e})}catch(e){v.default.error("Error when enable broadcast to bo",e)}t&&2==t.length?this.notifyUIMessage(a.AUDIOBRIDGE_ENABLE_BROADCAST_TO_BO_SUCCESS,{enable:t[1].enable}):this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_BROADCAST_TO_BO_FAILURE,{enable:e})}leaveAudioWithoutDisconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.WEBRTC_NO_AUDIO_MODE;var t,i;(this.audioMode=this.audioMode&~e,this.signal&&this.signal.notify("audiostatus",{status:this.audioMode}),e===s.WEBRTC_COMMPUTER_AUDIO_MODE)?(this.setNormalAudioStream(null),this.muteAllRemoteAudio(),this.cleanUserEventListener&&(this.cleanUserEventListener(),this.cleanUserEventListener=null),this.muted=!1,null===(t=this.webRTCWorkletManager)||void 0===t||t.changeAudioStatus(!1,!0),null===(i=this.webRTCWorkletManager)||void 0===i||i.stopCheckProcess()):e===s.WEBRTC_SHARE_AUDIO_MODE&&this.setShareAudioStream(null);this.audioMode===s.WEBRTC_NO_AUDIO_MODE&&(this.leaveTime=Date.now(),this.stopAudioQualityMonitorTimer(),this.stopAVSyncTimer())}async rpc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(this.isDestroyed)return v.default.error("audioBridge instance is destroyed, method ".concat(e)),"";try{return this.signal?this.signal.call(e,t):(v.default.error("Audio Bridge RPC error: signal is not available,method: ".concat(e)),"")}catch(i){return v.default.error("Audio Bridge RPC error: method: ".concat(e,", params: ").concat(t),i),""}}async publish(e){if(!this.publisher||!this.isOpen)return;if(e){if(this.retryPublish>=3)return;this.retryPublish++}if(!e){if(this.published)return;this.published=!0}let t=await this.publisher.createOffer({iceRestart:!!e});t.sdp=this.changeOfferSDP(t.sdp),await this.publisher.setLocalDescription(t),this.uid||e||(this.uid=Ir()),vr("SELSDP");const i=await(e?this.rpc("offer",{desc:this.publisher.localDescription}):this.rpc("join",{uid:this.uid,offer:this.publisher.localDescription}));if(i&&2===i.length){const e=i[1];if("answer"===e.type){vr("SERSDP"),e.sdp=this.changeOfferSDP(e.sdp),this.publisherAnswer=e,await this.publisher.setRemoteDescription(e);let t=this.publisher.getTransceivers();1===t.length?this.normalAudioSender=t[0].sender:2==t.length&&(t[0].mid<t[1].mid?(this.normalAudioSender=t[0].sender,this.shareAudioSender=t[1].sender):(this.normalAudioSender=t[1].sender,this.shareAudioSender=t[0].sender)),this.setNormalAudioStream(this.audioStream),this.setShareAudioStream(this.shareAudioStream),this.publisherCandidate.forEach(e=>{this.publisher.addIceCandidate(e),vr("SERICE")}),this.publisherCandidate=[]}}}async resetOfferandAnswer(){let e=await this.publisher.createOffer();if(e.sdp=this.changeOfferSDP(e.sdp),this.publisherAnswer)return await this.publisher.setLocalDescription(e),this.publisherAnswer.sdp=this.changeOfferSDP(this.publisherAnswer.sdp),await this.publisher.setRemoteDescription(this.publisherAnswer),void this.rpc("Set_AudioProfile",{audioProfile:this.audioProfile});v.default.log("publisher answer is null when reset offer and answer")}waitForTokenFromRWG(e){return new Promise((t,i)=>{C.a.on(e,(e,i)=>{t(i)})})}updateSdpCodecParameters(e,t,i){try{let r=[];const a=e.split("\r\n"),s=new RegExp("^a=rtpmap:([0-9]+) ".concat(t,"/"));for(let e=0;e<a.length;e++){let t=a[e].match(s);t&&r.push(t[1])}if(r.length)for(let e=0;e<a.length;e++){let t=r.reduce((t,i)=>a[e].match(new RegExp("^a=fmtp:".concat(i," (.*)")))||t,null);if(t){const r=new Map(t[1].split(";").map(e=>e.split("=")));i.forEach((e,t)=>{"add"===e.operater?r.set(t,e.value):"sub"===e.operater&&r.delete(t)});let s=a[e].match(/a=fmtp:(\d+)/)[0]+" ";for(const[e,t]of r)s+="".concat(e,"=").concat(t,";");s=s.slice(0,s.length-1),a[e]=s}}return a.join("\r\n")}catch(t){return v.default.error("Error when updateSdpCodecParameters",t),e}}changeOfferSDP(e){try{let t=e.split("m="),i=0,r=[];for(let e=1;e<t.length;e++){if(0===t[e].indexOf("audio")){i++;let a=t[e].match(/a=mid:(\d+)/);a&&r.push(a[1])}t[e]="m="+t[e]}if(1===i)return e=this.updateSdpCodecParameters(e,"opus",s.AudioProfile[this.audioProfile]);if(2!==i||2!=r.length)return v.default.error("Audio line invalid: "+i),v.default.error("mid line length invalid: "+r.length),e;let a="";for(let e=0;e<t.length;e++){if(t[e].startsWith("m=audio"))if(-1!=t[e].indexOf("mid:"+Math.min(r[0],r[1]))){if(t[e]=this.updateSdpCodecParameters(t[e],"opus",s.AudioProfile[this.audioProfile]),-1===t[e].indexOf("cname:Normal")){t[e]=t[e].replace(/a=ssrc:(.+) cname:/,"a=ssrc:$1 cname:Normal+");let i=t[e].match(/a=ssrc:(.+) cname:/);i&&i[1]&&(this.normalAudioSSRC=i[1])}}else t[e].indexOf("mid:"+Math.min(r[0],r[1]))&&(t[e]=this.updateSdpCodecParameters(t[e],"opus",s.AudioProfile[s.SHARE_AUDIO]),-1===t[e].indexOf("cname:Share")&&(t[e]=t[e].replace(/a=ssrc:(.+) cname:/,"a=ssrc:$1 cname:Share+")));a+=t[e]}return a}catch(t){return v.default.error("Error when changeOfferSDP",t),e}}setRecvOnly(e,t){this.recvOnly=!!e,this.recvOnly?this.setNormalAudioStream(null):t&&this.setNormalAudioStream(t)}setCodecDoAVSync(e){this.codecDoAVSync=e}setNormalAudioStream(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.recvOnly?this.audioStream=null:this.audioStream=e,this.webRTCWorkletManager&&this.webRTCWorkletManager.setAudioStream(this.audioStream));let t=e;this.webRTCWorkletManager&&(t=this.webRTCWorkletManager.getAudioStream()),e&&(this.muted?this.mute():this.unmute()),this.publishAudioStream(t,this.normalAudioSender,"PAT")}setShareAudioStream(e){this.shareAudioStream=e,this.publishAudioStream(this.shareAudioStream,this.shareAudioSender,"PAST")}publishAudioStream(e,t,i){this.isDestroyed||(t?e?e.getAudioTracks().forEach(e=>{v.default.log("publish track label: "+e.label),vr("".concat(i,"-").concat(e.id)),t.replaceTrack(e).catch(t=>{vr("".concat(i,"-Failed-").concat(e.id)),v.default.error("error publishing audio stream",t)})}):(t.replaceTrack(null),vr("".concat(i,"-null"))):vr(i+"SE "))}mute(){var e;(this.muted=!0,this.audioStream)&&(vr("SEVTP"),this.audioStream.getAudioTracks().forEach(e=>{e.enabled=!1}),null===(e=this.webRTCWorkletManager)||void 0===e||e.changeAudioStatus(!0,!1))}unmute(){var e;(this.muted=!1,this.audioStream)&&(vr("SEVTM"),this.audioStream.getAudioTracks().forEach(e=>{e.enabled=!0}),null===(e=this.webRTCWorkletManager)||void 0===e||e.changeAudioStatus(!1,!1))}stopIncomingAudio(e){e?this.muteAllRemoteAudio():this.unmuteAllRemoteAudio()}muteAllRemoteAudio(){for(const[e,t]of this.audioPlayerMap)t.mute()}unmuteAllRemoteAudio(){for(const[e,t]of this.audioPlayerMap)t.unmute();this.playAllRemoteAudio()}setSpeechVolumeLevel(e,t){for(const[i,r]of this.audioPlayerMap){if(-1!==i.indexOf("OS"))continue;const a=Number(i.split("+")[0]||"0"),s=Number.isNaN(a)||!a?null:a>>10<<10;if(s&&s===e>>10<<10){r.setVolume(t);break}}}async changeSpeaker(e){let t=!0,i="",r=Date.now(),s=[];for(const[r,a]of this.audioPlayerMap){if(!1===a.isSupportSetSpeakerDevice()){t=!1,i="audioplayer.setSinkId is not supported on your device";break}let r=a.setSpeakerDevicePromise(e);s.push(r)}try{await Promise.all(s)}catch(e){t=!1,i="Error when setting sink of audio player: "+e.message}if(t)this.audioSpeakerSetErrorCnt=0,this.notifyUIMessage(a.AUDIO_SPEAKER_SET_SUCCESS,e||"default");else{this.audioSpeakerSetErrorCnt++;let e=_r.getSpeakerId();v.default.error("setSinkId failed ".concat(this.audioSpeakerSetErrorCnt," times, current speaker ").concat(e,", reason = ").concat(i)),this.audioSpeakerSetErrorCnt<=3&&this.notifyUIMessage(a.AUDIO_SPEAKER_SET_ERROR,{reason:i,currentSink:e})}_r.updateSelectedSpeakerDevices(e,Date.now()-r,t)}setShareVolumeLevel(e,t,i){(!(arguments.length>3&&void 0!==arguments[3])||arguments[3])&&this.receiveAudioStatus.set(10*e+(i?1:0),{volume:t,isFromMainSession:i});let r=i?/(\d+)\+OS/:/(\d+)\+CS/;for(const[i,a]of this.audioPlayerMap){let s=i.match(r);s&&s.length>=2&&s[1]>>10===e&&512&s[1]&&(t?a.unmute():a.mute())}}async set_CC_lang(e){let t=null;try{t=await this.rpc("set_CC_lang",{lang:e})}catch(e){v.default.error("error when setting language",e)}t&&2===t.length?this.notifyUIMessage(a.AUDIOBRIDGE_SET_CC_LANG_SUCCESS,t[1].lang):this.notifyUIMessage(a.AUDIOBRIDGE_SET_CC_LANG_FAILURE,e)}updateSsrcUserIdMap(e){if(e){const{sdp:t=""}=e,i=t.match(/a=ssrc:(.+) cname:(.+)/g);i&&i.forEach(e=>{const t=e.match(/a=ssrc:(.+) cname:(.+)/);if(t&&t[1]&&t[2]){const e=Number(t[2].split("+")[0]||"0"),i=Number.isNaN(e)||!e?null:e>>10<<10,r=Number(t[1]);this.ssrcUserIdMap.set(r,i)}})}}updateUserMuteUnmuteStatus(e){const{update:t,remove:i}=e;t&&t.length>0&&t.forEach(e=>{const{userId:t,muted:i}=e;t&&this.audioMuteStatus.set(t>>10<<10,!!i)}),i&&i.length>0&&i.forEach(e=>{const{userId:t}=e;t&&this.audioMuteStatus.set(t>>10<<10,!0)})}isUserMuted(e){const t=this.ssrcUserIdMap.get(e);if(!t)return!1;const i=this.audioMuteStatus.get(t);return void 0!==i&&!!i}async setAudioProfile(e){if(this.audioMode!==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioMode!=s.WEBRTC_MULTI_AUDIO_MODE)return;let t=this.audioProfile;"backgroundNoiseSuppression"===e.currentSelect?(e.highBitrate?this.audioProfile=s.ORIGINAL_SOUND_OFF_HIGH_BITRATE:this.audioProfile=s.ORIGINAL_SOUND_OFF,_r.changeDenoiseSwitch("Zoom"===e.backgroundNoiseSuppression)):(_r.changeDenoiseSwitch(!1),e.originalSound.highfidelity&&e.originalSound.stereo?this.audioProfile=s.ORIGINAL_SOUND_HIGHFIDELITY_STEREO:e.originalSound.highfidelity?this.audioProfile=s.ORIGINAL_SOUND_HIGHFIDELITY:e.originalSound.stereo?this.audioProfile=s.ORIGINAL_SOUND_STEREO:this.audioProfile=s.ORIGINAL_SOUND_ON),t!==this.audioProfile&&(this.publisher&&"connected"===this.publisher.connectionState?await this.resetOfferandAnswer():this.changeSDPAfterConnect=!0)}clearAudioPlayerMap(){this.muteAllRemoteAudio();for(const[e,t]of this.audioPlayerMap)t.destroy();this.audioPlayerMap.clear(),this.audioMuteStatus.clear()}getAudioPlayer(e){let t=(2+(parseInt(e)>>10<<10)).toString();if(t)for(const[e,i]of this.audioPlayerMap)if(e.includes(t))return this.audioPlayerMap.get(e)}removeAudioSender(){this.normalAudioSender&&(this.publisher.removeTrack(this.normalAudioSender),this.normalAudioSender=null),this.shareAudioSender&&(this.publisher.removeTrack(this.shareAudioSender),this.shareAudioSender=null)}destroySocketAndWebRtcConnect(e){this.published=!1;try{this.removeAudioSender()}catch(e){}this.publisher&&(this.publisher.close(),this.publisher=null),this.subscriber&&(this.subscriber.close(),this.subscriber=null),this.isOpen=!1,e||(this.retry=0),this.retryPublish=0,this.signal&&(this.signal.destroy(),this.signal=null),this.ssrcUserIdMap.clear()}destroy(){vr("DS"),this.isDestroyed=!0,this.cleanUserEventListener&&(this.cleanUserEventListener(),this.cleanUserEventListener=null),this.stopAudioQualityMonitorTimer(),this.stopAVSyncTimer(),this.webRTCWorkletManager&&(this.webRTCWorkletManager.destroy(),this.webRTCWorkletManager=null),this.setNormalAudioStream(null),this.setShareAudioStream(null),this.clearAudioPlayerMap(),this.destroySocketAndWebRtcConnect(),this.recvOnly=!1}startAudioQualityMonitorTimer(){this.audioReportCount=0,this.stopAudioQualityMonitorTimer(),this.monitorTimer=setInterval(()=>{this._publisherStatsParse(this.audioReportCount),this._subscriberStatsParse(this.audioReportCount),this.audioReportCount++},this.monitorTimerDuration)}stopAudioQualityMonitorTimer(){var e,t,i,r,a,s;this.monitorTimer&&(clearInterval(this.monitorTimer),this.monitorTimer=null,this.audioReportCount=0,this.monitorInfo={subscriber:{port:null===(e=this.monitorInfo)||void 0===e||null===(e=e.subscriber)||void 0===e?void 0:e.port,protocol:null===(t=this.monitorInfo)||void 0===t||null===(t=t.subscriber)||void 0===t?void 0:t.protocol,candidateType:null===(i=this.monitorInfo)||void 0===i||null===(i=i.subscriber)||void 0===i?void 0:i.candidateType},publisher:{port:null===(r=this.monitorInfo)||void 0===r||null===(r=r.publisher)||void 0===r?void 0:r.port,protocol:null===(a=this.monitorInfo)||void 0===a||null===(a=a.publisher)||void 0===a?void 0:a.protocol,candidateType:null===(s=this.monitorInfo)||void 0===s||null===(s=s.publisher)||void 0===s?void 0:s.candidateType}},this.bitrateInfo={publisher:{},subscriber:{}})}publishStream(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.setShareAudioStream(e):this.setNormalAudioStream(e),new Promise((e,t)=>{this.published?e(!0):this.publish().then(()=>{e(!1)})})}stopAVSyncTimer(){this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null)}syncSingleView(e,t){let i=0;if(t){let e=parseInt(t).toString(2),r=e.substring(0,e.length-32),a=e.substring(e.length-32,e.length);r=parseInt(r,2),a=parseInt(a,2),i=1e3*r+232.8*a/1e9}0==T.default.mediaSDKHandle.RenderInMain?e?At({command:"audioTimestamp",data:i}):gt({command:"audioDecodeTime",status:0,data:i}):e?T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(i):T.default.CurrentSSRCTime!=i&&(T.default.CurrentSSRCTime=i,T.default.audioPlayTime=Date.now())}startAVSyncTimer(){this.stopAVSyncTimer(),this.syncTimer=setInterval(()=>{if(!this.subscriber)return;let e=0;this.subscriber.getReceivers().forEach(t=>{t.getSynchronizationSources().forEach(t=>{e++;let i=this.ssrcUserIdMap.get(t.source),r=null,a=!1;if(r=this.shareAudioMap.get(i>>10),r&&r.abssrc===t.source?a=!0:r=this.normalAudioMap.get(i>>10),r){let e=r.ntptime,s=r.rtptime,o=e+(t.rtpTimestamp-s)*Math.pow(2,32)/48e3;this.codecDoAVSync||i>>10!=T.default.CurrentSSRC>>10&&!a||t.source===r.abssrc&&this.syncSingleView(a,o)}})}),0===e&&(this.syncSingleView(!1,0),this.syncSingleView(!0,0))},500)}async _publisherStatsParse(e){var t,i;const r=!(e%5),a=this.showQos&&!(e%1);if(!this.publisher)return;if(!r&&!a)return;const o=await this.publisher.getStats();if(!o)return;if(a&&Er.outboundBitrateQosParse(o,this.bitrateInfo.publisher),!r)return;let n={};const{publisher:d}=this.monitorInfo;if(o.forEach(e=>{if("remote-inbound-rtp"===e.type)Er.remoteInboundRTPStatisticParse(this.normalAudioSSRC,e,this.audioMode,n,d);else if("outbound-rtp"===e.type)Er.outboundRTPStatisticsParse(this.normalAudioSSRC,e,this.audioMode,n,d);else if("media-source"===e.type){var t;let i=(null===(t=this.webRTCWorkletManager)||void 0===t?void 0:t.getAudioStream())||this.audioStream;Er.mediaSourceStatisticsParse(i,e,this.audioMode,n,d)}Er.networkInfoStatisticsParse(o,e,this.audioMode,d,"publisher")}),this.handleNetworkQuality(0,null===(t=n[s.REPORT_KEY_NORMAL])||void 0===t?void 0:t.rtt),this.handleNoAudioPackets(null===(i=n[s.REPORT_KEY_NORMAL])||void 0===i?void 0:i.packetsSent),this.webRTCWorkletManager&&n.NORMAL){const{resLevelR16Log:e,resLevelR16LogDenoise:t}=this.webRTCWorkletManager.getLevelR16Log();n.NORMAL.audioLevelR16Str=e,n.NORMAL.audioLevelR16DenoiseStr=t}Ar(n)}async _subscriberStatsParse(e){var t;if(!this.subscriber)return;const i=!(e%5),r=!(e%1),a=this.showQos&&!(e%1),s=await this.subscriber.getStats();if(!s)return;let o={ssrcMap:{}};a&&Er.inboundBitrateQosParse(s,null===(t=this.bitrateInfo)||void 0===t?void 0:t.subscriber);let n=!1;const{subscriber:d}=this.monitorInfo;s.forEach(e=>{i&&(this._subscriberCandidatePairParse(e,o),n=!0,Er.networkInfoStatisticsParse(s,e,this.audioMode,d,"subscriber")),n=this._subscriberInboundRTPParse(e,o,d,r&&!i)||n}),i&&this.handleNetworkQuality(1,o.rtt),n&&Cr(o)}_subscriberCandidatePairParse(e,t){const{subscriber:i}=this.monitorInfo,{totalRoundTripTime:r,responsesReceived:a,type:s,state:o,nominated:n}=e;if("candidate-pair"===s&&"succeeded"===o&&n){i.prevStatInfo||(i.prevStatInfo={responsesReceived:a,totalRoundTripTime:r},i.ssrcMap={});const{prevStatInfo:e}=i;Object.assign(t,{rtt:Math.floor(1e3*(a===e.responsesReceived?0:(r-e.totalRoundTripTime)/(a-e.responsesReceived)))}),Object.assign(i.prevStatInfo,{totalRoundTripTime:r,responsesReceived:a})}}_subscriberInboundRTPParse(e,t,i,r){const{type:a}=e;let s=void 0;if("inbound-rtp"===a){const{totalAudioEnergy:a,timestamp:n,jitterBufferDelay:d,jitterBufferEmittedCount:u,jitterBufferMinimumDelay:l,jitterBufferTargetDelay:c,ssrc:h,jitter:f,audioLevel:p,packetsLost:_,packetsDiscarded:m,packetsReceived:E,bytesReceived:g,concealedSamples:S,concealmentEvents:v,insertedSamplesForDeceleration:C,removedSamplesForAcceleration:A,silentConcealedSamples:R,totalProcessingDelay:T}=e,I=this.ssrcUserIdMap.get(h);if(Cr({key:"".concat(h,"-").concat(I),audioLevel:tr(p),onlyAudioLevel:!0}),r)return!1;i.ssrcMap||(i.ssrcMap={});let b=i.ssrcMap[h];if(b){if(I){var o;s=!0;const e=Math.sqrt((a-b.totalAudioEnergy)/(n-b.timestamp)).toFixed(4);let i=-1;"number"==typeof p&&(i=p.toFixed(4));const r=this.calculateRate(b.jitterBufferDelay,b.jitterBufferEmittedCount,d,u,1),O=this.calculateRate(b.jitterBufferTargetDelay,b.jitterBufferEmittedCount,c,u,1),D=this.calculateRate(b.packetsReceived,b.timestamp,E,n),w=this.calculateRate(b.bytesReceived,b.timestamp,g,n),y=this.calculateRate(b.totalProcessingDelay,0,T,1,1),M=this.calculateRate(b.packetsDiscarded,0,m,1,1),P=this.calculateRate(b.insertedSamplesForDeceleration,0,C,1,1),N=this.calculateRate(b.packetsLost,0,_,1,1);t.ssrcMap["".concat(h,"-").concat(I)]=Object.assign(t.ssrcMap["".concat(h,"-").concat(I)]||{},{aveAudioLevel:e<1e-4?0:e,audioLevel:i<1e-4?0:i,jitter:f,jitterBufferMinimumDelay:l,concealedSamples:S,concealmentEvents:v,insertedSamplesForDeceleration_in_5s:P,removedSamplesForAcceleration:A,silentConcealedSamples:R,audioPlayerStatus:null!==(o=this.getAudioPlayer(I))&&void 0!==o&&o.isPaused()?0:1,totalAudioEnergy:a,aveJitterBufferDelay_ms:r,aveJitterBuffeTargetrDelay_ms:O,avePacketsReceived_in_s:D,aveBytesReceived_in_s:w,totalProcessingDelay_in_5s:y,packetsDiscarded_in_5s:M,packetsLost_in_5s:N})}}else b=i.ssrcMap[h]={},s=!1;this.isUserMuted(h)||!this.ssrcUserIdMap.has(h)?i.ssrcMap[h]=null:Object.assign(b,{totalAudioEnergy:a,timestamp:n,jitterBufferDelay:d,jitterBufferEmittedCount:u,packetsLost:_,packetsReceived:E,bytesReceived:g,jitterBufferTargetDelay:c,totalProcessingDelay:T,insertedSamplesForDeceleration:C,packetsDiscarded:m})}return s}handleNoAudioPackets(e){this.audioMode!=s.WEBRTC_COMMPUTER_AUDIO_MODE||!this.audioStream||this.muted||(e||0)-this.lastSentPackets!=0||this.isMutedBySystem?(this.audioMode==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioStream&&1==this.isAudioSentBytesZero&&(e||0)-this.lastSentPackets>0&&(vr("HEALTH_CHECK_RESTORED"),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED)),this.isAudioSentBytesZero=!1,this.noPacketsCount=0,this.lastSentPackets=e||0):(this.noPacketsCount++,2===this.noPacketsCount&&0==this.isAudioSentBytesZero&&(vr("HEALTH_CHECK_FAILED"),Object(J.NotifyUIError)(a.AUDIO_SENT_BYTES_ZERO,s.RECAPTURE_AUDIO_AFTER_MUTED),this.isAudioSentBytesZero=!0,this.noPacketsCount=0))}handleNetworkQuality(e,t){this.audioMode==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioStream&&t&&(t>5e3?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:0===e,networkLevel:s.NET_QUALITY_LEVEL.NET_QUALITY_VERY_BAD,bwLevel:s.NET_BW_LEVEL.NET_BW_LEVEL_VERY_LOW}):t>2e3&&T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:0===e,networkLevel:s.NET_QUALITY_LEVEL.NET_QUALITY_BAD,bwLevel:s.NET_BW_LEVEL.NET_BW_LEVEL_LOW}))}calculateRate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1e3;return e===i||t===r?0:Math.floor(a*(i-e)/(r-t))}changeDenoiseSwitch(e,t){var i;this.denoiseSwitch=e,this.isHeadSet=t,null===(i=this.webRTCWorkletManager)||void 0===i||i.changeDenoiseSwitch(e,t)}updateQos(e){this.showQos=e.enable,this.signal&&this.signal.notify("qos",{enable:e.enable,encoding:parseInt(e.workerType),pollingInterval:e.pollingInterval})}}function Ir(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}function br(){this.onOffer,this.isDestroyed=!1,this.heartBeatDetection=null,this.onopen=function(e){this._onopen=e},this.onclose=function(e){this._onclose=e},this.onerror=function(e){this._onerror=e},this.onmessage=function(e){this._onmessage=e},this.notifyUImessage=function(e){this.notifyUIMessage=e},this.init=function(e){vr("INIT: ".concat(e)),this.socket=window.audioBridgeSignal=Object(g.createRlbSocket)(e),this._notifyhandlers={},this.socket.addEventListener("open",()=>{vr("WSO"),this.lastMessageTimeStamp=performance.now(),this.socket.isRlb||(this.ping(),this.heartBeatDetection&&(clearTimeout(this.heartBeatDetection),this.heartBeatDetection=null),this.heartBeatDetection=setTimeout(function e(){var t;if(this.isDestroyed||1!==(null===(t=this.socket)||void 0===t?void 0:t.readyState))return;let i=performance.now()-this.lastMessageTimeStamp;i>32e3?(vr("WST"),v.default.error("didn't reveive message from websocket in the last 30s, notify UI failover, duration: "+i),Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER,s.NO_MESSAGE_FAILOVER)):this.heartBeatDetection=setTimeout(e.bind(this),2e3)}.bind(this),2e3)),this._onopen&&this._onopen()}),this.socket.addEventListener("error",e=>{this.isDestroyed||(v.default.directReport("Audio Bridge WebSocket received error"),vr("WSE"),this._onerror&&this._onerror(e||!0))}),this.socket.addEventListener("close",e=>{this.isDestroyed||(v.default.directReport("Audio Bridge WebSocket close"),vr("WSC"),this._onclose&&this._onclose(e||!0))}),this.socket.addEventListener("message",async e=>{this.lastMessageTimeStamp=performance.now();const t=JSON.parse(e.data);let i=!1;if(this._onmessage&&(i=this._onmessage(t)),!i)if("offer"===t.method)this.onOffer&&this.onOffer(t.params);else if("trickle"===t.method)this.onTrickle&&this.onTrickle(t.params.candidate,t.params.role);else if("rtcpsr"===t.method)this.UpdateNTP(t.params.ntptime,t.params.rtptime,t.params.ssrc,t.params.abssrc);else if("pong"===t.result){let e=parseInt(performance.now())-t.id;vr("RTT: "+e)}else{const e=this._notifyhandlers[t.method];e&&e(t.params)}})},this.on_notify=function(e,t){this._notifyhandlers[e]=t},this.notify=function(e,t,i){var r;this.isDestroyed?v.default.error("audioBridge instance is destroyed, method ".concat(e)):this.socket&&this.socket.readyState===WebSocket.OPEN?this.socket.send(JSON.stringify({method:e,params:t,id:i})):v.default.error("Websocket is not open: ".concat(this.socket.readyState,", ").concat(null===(r=this.socket)||void 0===r?void 0:r.url))},this.call=async function(e,t){const i=Ir();var r;if(this.socket&&this.socket.readyState===WebSocket.OPEN)return this.socket.send(JSON.stringify({method:e,params:t,id:i})),new Promise((e,t)=>{const r=t=>{const a=JSON.parse(t.data);a.id===i&&(a.error?e(a):e(a.result),this.socket.removeEventListener("message",r))};this.socket.addEventListener("message",r)});v.default.error("Websocket is not open: ".concat(this.socket.readyState,", ").concat(null===(r=this.socket)||void 0===r?void 0:r.url))},this.ping=()=>{this.notify("ping",{},parseInt(performance.now())),this.pingTimeout&&clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{this.ping()},1e4)},this.destroy=()=>{this.isDestroyed=!0,this.pingTimeout&&(clearTimeout(this.pingTimeout),this.pingTimeout=null),this.heartBeatDetection&&(clearTimeout(this.heartBeatDetection),this.heartBeatDetection=null),this.socket&&this.socket.close&&this.socket.close(3456,"close socket when destroy signal")}}const Or=11;class Dr{static async init(e,t){if(!window.navigator.hid||!window.navigator.hid.requestDevice)return!1;const i=this.webHid=new wr(e=>{switch(e.eventName){case"ondevicehookswitch":T.default.Notify_APPUI_SAFE(a.HID_STATUS_OFF_HOOK,"on"===e.hookStatus);break;case"ondevicemuteswitch":T.default.Notify_APPUI_SAFE(a.HID_STATUS_MUTE,e.isMute)}});return await i.open({label:e,muted:t,hookStatus:"off"})}static sendReport(e,t){switch(e){case"hookswitch":this.webHid.sendDeviceReport({command:t?"offHook":"onHook"});break;case"mute":this.webHid.sendDeviceReport({command:t?"muteOn":"muteOff"})}}static async destroy(){await this.webHid.close()}}class wr{constructor(e){this.deviceUsage={mute:{usageId:524297,usageName:"Mute"},offHook:{usageId:524311,usageName:"Off Hook"},ring:{usageId:524312,usageName:"Ring"},hookSwitch:{usageId:720928,usageName:"Hook Switch"},phoneMute:{usageId:720943,usageName:"Phone Mute"}},this.deviceCommand={outputReport:{mute:{reportId:0,usageOffset:-1},offHook:{reportId:0,usageOffset:-1},ring:{reportId:0,itemIndex:-1}},inputReport:{hookSwitch:{reportId:0,usageOffset:-1,isAbsolute:!1},phoneMute:{reportId:0,usageOffset:-1,isAbsolute:!1}}},this.device=null,this.inputReportRetFunc=e}getHexByte(e){let t=Number(e).toString(16);for(;t.length<2;)t="0"+t;return t}getHexByteStr(e){let t="";for(let i=0;i<e.byteLength;++i)t+=this.getHexByte(e.getUint8(i))+" ";return t}parseDeviceDescriptors(){try{if(this.outputEventGenerators=new Map,!this.device||!this.device.collections)return;let e=this.device.collections.find(e=>e.usagePage===Or);if(!e||0===Object.keys(e).length)return;if(e.inputReports&&!this.parseInputReports(e.inputReports))return!1;if(e.outputReports)return!!this.parseOutputReports(e.outputReports)}catch(e){console.error("parseDeviceDescriptors error:"+JSON.stringify(e,null," "))}}parseInputReports(e){return e.forEach(e=>{if(!e.items.length||void 0===e.reportId)return;let t=0;e.items.forEach(i=>{void 0!==i.usages&&void 0!==i.reportSize&&void 0!==i.reportCount&&void 0!==i.isAbsolute&&(i.usages.forEach((r,a)=>{switch(r){case this.deviceUsage.hookSwitch.usageId:this.deviceCommand.inputReport.hookSwitch={reportId:e.reportId,usageOffset:t+a*i.reportSize,isAbsolute:i.isAbsolute};break;case this.deviceUsage.phoneMute.usageId:this.deviceCommand.inputReport.phoneMute={reportId:e.reportId,usageOffset:t+a*i.reportSize,isAbsolute:i.isAbsolute}}}),t+=i.reportCount*i.reportSize)})}),0!==this.deviceCommand.inputReport.phoneMute.reportData&&0!==this.deviceCommand.inputReport.hookSwitch}parseOutputReports(e){let t,i,r;e.forEach(e=>{if(!e.items.length||void 0===e.reportId)return;let t=0,i=new Map;e.items.forEach(r=>{void 0!==r.usages&&void 0!==r.reportSize&&void 0!==r.reportCount&&(r.usages.forEach((a,s)=>{switch(a){case this.deviceUsage.mute.usageId:this.deviceCommand.outputReport.mute={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize);break;case this.deviceUsage.offHook.usageId:this.deviceCommand.outputReport.offHook={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize);break;case this.deviceUsage.ring.usageId:this.deviceCommand.outputReport.ring={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize)}}),t+=r.reportCount*r.reportSize)});let r=t;for(let[e,t]of i)this.outputEventGenerators[e]=e=>{let i=new Uint8Array(r/8);if(t>=0&&e){let e=Math.trunc(t/8),r=t%8;i[e]=1<<r}return i}});for(let e in this.outputEventGenerators){let a=this.getHexByte(e);a="0x0"+a,this.deviceUsage.mute.usageId===Number(a)?t=this.outputEventGenerators[this.deviceUsage.mute.usageId]:this.deviceUsage.offHook.usageId===Number(a)?r=this.outputEventGenerators[this.deviceUsage.offHook.usageId]:this.deviceUsage.ring.usageId===Number(a)&&(i=this.outputEventGenerators[this.deviceUsage.ring.usageId])}return!!(t||i||r)}async open(e){const t=await navigator.hid.getDevices();if(t.length&&(this.device=t.find(t=>e.label.includes(t.productName))),!this.device){let t=[];try{t=await navigator.hid.requestDevice({filters:[{usagePage:Or}]})}catch(e){v.default.error("hid requestDevice error")}t.length&&(this.device=t.find(t=>e.label.includes(t.productName)))}if(!this.device)return!1;try{return this.device.opened&&await this.device.close(),await this.device.open(),this.parseDeviceDescriptors()?(this.device.oninputreport=await this.handleInputReport.bind(this),this.resetState({muted:e.muted,hookStatus:e.hookStatus}),!0):!1}catch(e){console.error("error content:"+e)}}async close(){try{if(this.resetState({muted:!1,hookStatus:"on"}),!this.device)return;this.device&&this.device.opened&&await this.device.close(),this.device.oninputreport=null,this.device=null}catch(e){console.error(e)}}resetState(e){let{muted:t,hookStatus:i}=e;this.device&&this.device.opened&&(this.device.hookStatus=i,this.device.muted=t,this.device.ring=!1,this.sendDeviceReport({command:"off"===i?"offHook":"onHook"}),this.sendDeviceReport({command:t?"muteOn":"muteOff"}))}async sendDeviceReport(e){if(!(e&&e.command&&this.device&&this.device.opened))return;if("muteOn"===e.command||"muteOff"===e.command){if(!this.outputEventGenerators[this.deviceUsage.mute.usageId])return}else if("onHook"===e.command||"offHook"===e.command){if(!this.outputEventGenerators[this.deviceUsage.offHook.usageId])return}else if(("onRing"===e.command||"offRing"===e.command)&&!this.outputEventGenerators[this.deviceUsage.ring.usageId])return;let t,i,r,a,s,o,n,d,u,l=0,c=null;switch(e.command){case"muteOn":case"muteOff":l=this.deviceCommand.outputReport.mute.reportId;break;case"onHook":case"offHook":l=this.deviceCommand.outputReport.offHook.reportId;break;case"onRing":case"offRing":l=this.deviceCommand.outputReport.ring.reportId;break;default:return}if(0!=l){if(i=this.device.muted,"off"===this.device.hookStatus)t=!0;else{if("on"!==this.device.hookStatus)return;t=!1}switch(r=this.device.ring,e.command){case"muteOn":s=!0;break;case"muteOff":s=!1;break;case"onHook":a=!1;break;case"offHook":a=!0;break;case"onRing":o=!0;break;case"offRing":o=!1;break;default:return}if(this.outputEventGenerators[this.deviceUsage.mute.usageId]&&(d=void 0===s?this.outputEventGenerators[this.deviceUsage.mute.usageId](i):this.outputEventGenerators[this.deviceUsage.mute.usageId](s)),this.outputEventGenerators[this.deviceUsage.offHook.usageId]&&(n=void 0===a?this.outputEventGenerators[this.deviceUsage.offHook.usageId](t):this.outputEventGenerators[this.deviceUsage.offHook.usageId](a)),this.outputEventGenerators[this.deviceUsage.ring.usageId]&&(u=void 0===o?this.outputEventGenerators[this.deviceUsage.ring.usageId](r):this.outputEventGenerators[this.deviceUsage.ring.usageId](o)),l===this.deviceCommand.outputReport.mute.reportId)if(null===c)c=new Uint8Array(d);else for(const[e,t]of d.entries())c[e]|=t;if(l===this.deviceCommand.outputReport.offHook.reportId)if(null===c)c=new Uint8Array(n);else for(const[e,t]of n.entries())c[e]|=t;if(l===this.deviceCommand.outputReport.ring.reportId)if(null===c)c=new Uint8Array(u);else for(const[e,t]of u.entries())c[e]|=t;switch(await this.device.sendReport(l,c),e.command){case"muteOn":this.device.muted=!0;break;case"muteOff":this.device.muted=!1;break;case"onHook":this.device.hookStatus="on";break;case"offHook":this.device.hookStatus="off";break;case"onRing":this.device.ring=!0;break;case"offRing":this.device.ring=!1}}}async sendReplyReport(e,t,i){let r,a,s,o,n=0;if(this.deviceCommand.outputReport.offHook.reportId===this.deviceCommand.outputReport.mute.reportId||e===this.deviceCommand.inputReport.hookSwitch.reportId?n=this.deviceCommand.outputReport.offHook.reportId:e===this.deviceCommand.inputReport.phoneMute.reportId&&(n=this.deviceCommand.outputReport.mute.reportId),this.device&&this.device.opened&&0!==n&&void 0!==t&&void 0!==i){if(this.deviceCommand.outputReport.offHook.reportId===this.deviceCommand.outputReport.mute.reportId){a=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),s=this.outputEventGenerators[this.deviceUsage.offHook.usageId](t),r=new Uint8Array(s);for(const[e,t]of a.entries())r[e]|=t}else n===this.deviceCommand.outputReport.offHook.reportId?(s=this.outputEventGenerators[this.deviceUsage.offHook.usageId](t),r=new Uint8Array(s)):n===this.deviceCommand.outputReport.mute.reportId?(a=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),r=new Uint8Array(a)):n===this.deviceCommand.outputReport.ring.reportId&&(o=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),r=new Uint8Array(o));await this.device.sendReport(n,r)}}handleInputReport(e){let t=this;try{const{data:i,device:r,reportId:a}=e;if(0===a)return;let s=t.deviceCommand.inputReport;if(a!==s.hookSwitch.reportId&&a!==s.phoneMute.reportId)return;let o=!1,n=!1,d=new Uint8Array(i.buffer),u=!0;if(a===s.hookSwitch.reportId){let e=s.hookSwitch,r=Math.trunc(e.usageOffset/8),a=e.usageOffset%8,n=0!=(i.getUint8(r)&1<<a);s.hookSwitch.isAbsolute?"on"===t.device.hookStatus&&n?(t.device.hookStatus="off",o=!0):"off"!==t.device.hookStatus||n||(t.device.hookStatus="on",o=!0):n&&(t.device.hookStatus="off"===t.device.hookStatus?"on":"off",o=!0)}t.device.muted;if(a===s.phoneMute.reportId){let e=s.phoneMute,r=Math.trunc(e.usageOffset/8),a=e.usageOffset%8,o=0!=(i.getUint8(r)&1<<a);s.phoneMute.isAbsolute?t.device.muted!=o&&(t.device.muted=o,n=!0):o&&(t.device.muted=!t.device.muted,n=!0)}let l={productName:r.productName,reportId:t.getHexByte(a),reportData:d};if(o&&(l.eventName="ondevicehookswitch",l.hookStatus=t.device.hookStatus),n&&(l.eventName="ondevicemuteswitch",l.isMute=t.device.muted),t.inputReportRetFunc&&t.inputReportRetFunc(l),u&&(o||n)){let e;if("off"===this.device.hookStatus)e=!0;else{if("on"!==this.device.hookStatus)return;e=!1}t.sendReplyReport(a,e,t.device.muted)}}catch(e){console.error(e)}}}var yr=i(38),Mr=i.n(yr);const Pr={[R.f.AUDIO_ENCODE]:"audioEncodeInitInstance",[R.f.AUDIO_DECODE]:"audioDecInitInstance",[R.f.VIDEO_ENCODE]:"videoInitInstance",[R.f.VIDEO_DECODE]:"videoDecInitInstance",[R.f.SHARING_ENCODE]:"sharingEncInitInstance",[R.f.SHARING_DECODE]:"sharingDecInitInstance"};class Nr{constructor(){this.logWriterMap=window.logWriterMap=new Map,this.inited=!1}async init(){this.inited||(this.inited=!0,Object.values(R.f).forEach(async e=>{const t=await async function(){const e=new yr.FileWriter({maxDaysToKeepFile:1,fileSizeQuota:10485760});return new Promise(t=>{e.on("initOK",()=>{t(e)})})}();this.logWriterMap.set(e,t),await T.default[Pr[e]].waitforInitSuccess();const i=t.createMessagePort();Jt(e,i,"local_log_port",!0,!0),t.startWriteNormalLogFile({filenamePrefix:R.g[e],filenameExtension:".log",timestamp:!1,newLine:!1}),t.on("startWriteNormalLogFileReady",()=>{Jt(e,null,"local_log_ready",!1,!0)})}))}saveLogFileByWorkerType(e){const t=this.logWriterMap.get(e);t&&t.saveLog()}saveAllLogFiles(){Mr.a.selectSaveDir().then(()=>{Object.values(R.f).forEach(e=>{Mr.a.saveLog({filenamePrefix:R.g[e],filenameExtension:".log"})})})}}var Vr=i(55);class kr{constructor(){this.pressureLevel={nominal:0,fair:1,serious:2,critical:3},this.pressureStatisticHelper=new Vr.StatisticHelper,this.observer=new PressureObserver(e=>{this.result=this.pressureLevel[e[0].state],A.default.add_monitor("CPC:"+this.result),this.pressureStatisticHelper.update(e[0].state)})}init(){this.initPromise=this.observer.observe("cpu").then(()=>{this.pressureStatisticHelper.start("nominal")}).catch(e=>{(g.default.isWindows()||g.default.isMac()||g.default.isChromeOS())&&v.default.warn("ComputePressure observe error: ",e)}).finally(()=>{this.initPromise=null})}destroy(){if(this.initPromise)this.initPromise.then(()=>{this.observer.unobserve("cpu");const e=this.pressureStatisticHelper.end();v.default.log("CPU pressure report: ".concat(JSON.stringify(e)))});else{this.observer.unobserve("cpu");const e=this.pressureStatisticHelper.end();v.default.log("CPU pressure report: ".concat(JSON.stringify(e)))}}}O()(kr,"isSupportComputePressure",()=>"function"==typeof PressureObserver);var Ur=i(1),Lr=i.n(Ur),xr=i(8),Wr=i.n(xr);function Br(e,t){Fr(e,t),t.add(e)}function Gr(e,t,i){Fr(e,t),t.set(e,i)}function Fr(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Hr(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Kr=new WeakMap,jr=new WeakMap,Yr=new WeakMap,qr=new WeakMap,Xr=new WeakMap,Qr=new WeakMap,zr=new WeakMap,Jr=new WeakMap,Zr=new WeakMap,$r=new WeakMap,ea=new WeakMap,ta=new WeakMap,ia=new WeakMap,ra=new WeakMap,aa=new WeakMap,sa=new WeakMap,oa=new WeakMap,na=new WeakMap,da=new WeakMap,ua=new WeakMap,la=new WeakMap,ca=new WeakMap,ha=new WeakMap,fa=new WeakMap,pa=new WeakMap,_a=new WeakSet,ma=new WeakSet,Ea=new WeakSet,ga=new WeakSet,Sa=new WeakSet,va=new WeakSet,Ca=new WeakSet,Aa=new WeakSet,Ra=new WeakSet,Ta=new WeakSet,Ia=new WeakSet,ba=new WeakSet,Oa=new WeakSet,Da=new WeakSet,wa=new WeakSet,ya=new WeakSet,Ma=new WeakSet,Pa=new WeakSet,Na=new WeakSet,Va=new WeakSet;function ka(e){e&&e.forEach(e=>{e.markRenderingStatePending()});const t=Hr(this,wa,Qa).call(this,e);if(Lr()(this,Jr)&&Lr()(this,zr)&&Lr()(this,ea))if(Lr()(this,Kr)&&0!=Lr()(this,Kr).width&&0!=Lr()(this,Kr).height&&Lr()(this,zr)&&Lr()(this,zr).getCurrentTexture()&&0!=Lr()(this,zr).getCurrentTexture().width&&0!=Lr()(this,zr).getCurrentTexture().height)try{if(!Lr()(this,ra)){const e=Lr()(this,pa).byteLength,t=e;Wr()(this,ra,Lr()(this,ea).acquireBuffer(t,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,e,!0,!1)),new Float32Array(Lr()(this,ra).getMappedRange()).set(Lr()(this,pa)),Lr()(this,ra).unmap()}const e=Hr(this,Ca,Ga).call(this);for(const[i,r]of t)Hr(this,Ma,Ja).call(this,i,r,e);const i=Hr(this,Da,Xa).call(this,Lr()(this,zr).getCurrentTexture().createView()),r=e.beginRenderPass(i);r.setVertexBuffer(0,Lr()(this,ra));for(const[e,i]of t)if(i&&0!=i.length)for(const e of i){e.unlock();if(e.getTextureLayerType()==wi.v.UNKNOWN)continue;const t=e.getTextureType();let i=e.getUVCoords();if(t!==wi.x.CLEAR_COLOR&&!i)continue;const a=Lr()(this,Kr).width,s=Lr()(this,Kr).height;let o=e.getViewport();if(!o||Number.isNaN(o.x)||Number.isNaN(o.y)||Number.isNaN(o.w)||Number.isNaN(o.h)||o.x<0||o.y<0)continue;if(o.x+o.w>a){let e=o.x+o.w-a;if(!(e>0&&e<=wi.i))continue;o.w-=e,o.w<=0&&(o.w=1)}if(o.y+o.h>s){let e=o.y+o.h-s;if(!(e>0&&e<=wi.i))continue;o.h-=e,o.h<=0&&(o.h=1)}const n=Hr(this,ya,za).call(this,e);if(!n)continue;if(n.pipelineType!==wi.l.CLEAR_COLOR){let t=e.getUVCoordsBuffer();if(!t){const r=i.byteLength;t=Lr()(this,ea).acquireBuffer(r,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST,i.byteLength,!1,!1),e.setUVCoordsBuffer(t)}Lr()(this,Jr).queue.writeBuffer(t,0,i,0,i.length),r.setVertexBuffer(1,t)}r.setViewport(o.x,o.y,o.w,o.h,o.minDepth,o.maxDepth);const d=n.pipeline;r.setPipeline(d);const u=Lr()(this,Jr).createBindGroup({layout:d.getBindGroupLayout(0),entries:n.entries});r.setBindGroup(0,u),r.draw(6,1,0,0)}r.end(),Hr(this,Aa,Fa).call(this)}catch(e){Object(Mi.h)("[WebGUPRenderer] renderNoMsaa() error:".concat(e.message))}finally{Lr()(this,Qr).recycleInUsedGPUBuffers(t)}else Lr()(this,Qr).recycleInUsedGPUBuffers(t);else Lr()(this,Qr).recycleInUsedGPUBuffers(t)}function Ua(e){if(!Lr()(this,Jr)||!Lr()(this,zr))return;const t=Lr()(this,Jr).createBuffer({label:"VertexBuffer",size:Lr()(this,pa).byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,mappedAtCreation:!0});new Float32Array(t.getMappedRange()).set(Lr()(this,pa)),t.unmap();const i=Hr(this,Ca,Ga).call(this),r=Hr(this,wa,Qa).call(this,e);for(const[e,t]of r)Hr(this,Ma,Ja).call(this,e,t,i);const a=Hr(this,Va,es).call(this,Lr()(this,Kr)),s=Hr(this,Oa,qa).call(this,0,a.createView(),Lr()(this,zr).getCurrentTexture().createView()),o=i.beginRenderPass(s);o.setVertexBuffer(0,t);for(const[e,t]of r)if(t&&0!=t.length)for(const e of t){e.unlock();if(e.getTextureLayerType()==wi.v.UNKNOWN)continue;let t=e.getUVCoords();if(!t)continue;let i=e.getUVCoordsBuffer();if(!i){const r=t.byteLength;i=Lr()(this,ea).acquireBuffer(r,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST,t.byteLength,!1,!0),e.setUVCoordsBuffer(i)}Lr()(this,Jr).queue.writeBuffer(i,0,t,0,t.length),o.setVertexBuffer(1,i);const r=Lr()(this,Kr).width,a=Lr()(this,Kr).height;let s=e.getViewport();if(!s||Number.isNaN(s.x)||Number.isNaN(s.y)||Number.isNaN(s.w)||Number.isNaN(s.h)||s.x<0||s.y<0||s.x+s.w>r||s.y+s.h>a)continue;const n=Hr(this,ya,za).call(this,e,!0);if(!n)continue;o.setViewport(s.x,s.y,s.w,s.h,s.minDepth,s.maxDepth);const d=n.pipeline;o.setPipeline(d);const u=Lr()(this,Jr).createBindGroup({layout:d.getBindGroupLayout(0),entries:n.entries});o.setBindGroup(0,u),o.draw(6,1,0,0)}o.end(),Hr(this,Aa,Fa).call(this),e.forEach(e=>{e.markRenderingStatePending()})}function La(e){if(!Array.isArray(e))return;let t=[];for(let i=0;i<e.length;++i){let r=e[i];t.push(r.x),t.push(r.y)}Lr()(this,pa).set(t,0)}function xa(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r=e.getTextureBufferGroup();if(!Lr()(this,Jr))return console.warn("[evalYuvTextureGroup] GPUDevice is not ready!"),r&&r.buffer&&r.buffer.unmap(),null;if(!t)return console.warn("[evalYuvTextureGroup] command encoder is invalid!"),r&&r.buffer&&r.buffer.unmap(),null;if(!r)return i||null;"unmapped"!=r.buffer.mapState&&r.buffer.unmap();let a=null,s=null,o=null;const n=e.getWidth(),d=e.getHeight(),u=null!=i&&(n!=i.yPlaneTex.width||d!=i.yPlaneTex.height);let l=!0;i&&(u?(Lr()(this,Qr).destroyTextureGroup(e),l=!0):(a=i.yPlaneTex,s=i.uPlaneTex,o=i.vPlaneTex,l=!1));let c=!1,h="r8unorm";if(r&&r.bufferConfig&&"nv12"==r.bufferConfig.colorFormat&&(h="rg8unorm",c=!0),l){const t=e.getIndex(),i=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,r=Lr()(this,ia).assembleTextureConfig(n,d,i,"r8unorm",1),u=Lr()(this,ia).assembleTextureConfig(n/2,d/2,i,h,1);a=Lr()(this,ia).acquireTexture(r),a&&(a.label="RD(".concat(t,")-YPlaneTexture")),c?(s=Lr()(this,ia).acquireTexture(u),s&&(s.label="RD(".concat(t,")-UVPlaneTexture"))):(s=Lr()(this,ia).acquireTexture(u),s&&(s.label="RD(".concat(t,")-UPlaneTexture")),o=Lr()(this,ia).acquireTexture(u),o&&(o.label="RD(".concat(t,")-VPlaneTexture")))}t.copyBufferToTexture({buffer:r.buffer,offset:r.yPlaneBuffer.offset,bytesPerRow:r.yPlaneBuffer.bytesPerRow,rowsPerImage:r.yPlaneBuffer.rowsPerImage},{texture:a},[n,d,1]),t.copyBufferToTexture({buffer:r.buffer,offset:r.uPlaneBuffer.offset,bytesPerRow:r.uPlaneBuffer.bytesPerRow,rowsPerImage:r.uPlaneBuffer.rowsPerImage},{texture:s},[n/2,d/2,1]),r.vPlaneBuffer.offset>0&&!c&&t.copyBufferToTexture({buffer:r.buffer,offset:r.vPlaneBuffer.offset,bytesPerRow:r.vPlaneBuffer.bytesPerRow,rowsPerImage:r.vPlaneBuffer.rowsPerImage},{texture:o},[n/2,d/2,1]);let f={};return f.yPlaneTex=a,f.uPlaneTex=s,f.vPlaneTex=o,f}function Wa(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r=e.getTextureBufferGroup();if(!Lr()(this,Jr))return console.warn("[evalRgbaTexture] GPUDevice is not ready!"),r&&r.buffer&&r.buffer.unmap(),null;if(!t)return console.warn("[evalRgbaTexture] command encoder is invalid!"),r&&r.buffer&&r.buffer.unmap(),null;if(!r)return i||null;"unmapped"!=r.buffer.mapState&&r.buffer.unmap();const a=e.getIndex(),s=e.getWidth(),o=e.getHeight(),n=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let d=null;const u=null!=i&&(s!=i.width||o!=i.height);let l=!0;if(i&&(u?(Lr()(this,Qr).destroyTextureGroup(e),l=!0):(d=i,l=!1)),l){const e=Lr()(this,ia).assembleTextureConfig(s,o,n,"rgba8unorm",1);d=Lr()(this,ia).acquireTexture(e),d&&(d.label="RD(".concat(a,")-rgbaTexture"))}return t.copyBufferToTexture({buffer:r.buffer,offset:0,bytesPerRow:r.bytesPerRow,rowsPerImage:r.rowsPerImage},{texture:d},[s,o,1]),d}function Ba(e,t){return Math.ceil(e/t)*t}function Ga(){return Lr()(this,Jr)?(Lr()(this,$r)||Wr()(this,$r,Lr()(this,Jr).createCommandEncoder()),Lr()(this,$r)):(Object(Mi.h)("GPUDevice is not ready! No available command encoder."),null)}function Fa(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;Lr()(this,$r)&&e?Lr()(this,Jr).queue.submit([Lr()(this,$r).finish(),e.finish()]):Lr()(this,$r)?Lr()(this,Jr).queue.submit([Lr()(this,$r).finish()]):e&&Lr()(this,Jr).queue.submit([e.finish()]),Wr()(this,$r,null)}function Ha(e,t){if(!Lr()(this,Jr))return null;if(!Lr()(this,ca)){let i=Lr()(this,Jr).createBindGroupLayout({label:"CursorTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]});if(!i)return null;const r=Lr()(this,Jr).createPipelineLayout({label:"CursorTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[i]}),a={label:"CursorTexRenderPipeline(".concat(e,")"),layout:r,vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.e}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(a.multisample={count:4}),Wr()(this,ca,Lr()(this,Jr).createRenderPipeline(a))}return Lr()(this,ca)}function Ka(e,t){if(!Lr()(this,Jr))return null;if(!Lr()(this,la)){let i=Lr()(this,Jr).createBindGroupLayout({label:"WatermarkTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}}]});if(!i)return null;const r=Lr()(this,Jr).createPipelineLayout({label:"WatermarkTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[i]}),a={label:"WatermarkTexRenderPipeline(".concat(e,")"),layout:r,vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.B}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.B}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(a.multisample={count:4}),Wr()(this,la,Lr()(this,Jr).createRenderPipeline(a))}return Lr()(this,la)}function ja(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,na)){const i=Lr()(this,Jr).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:6,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"YuvRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,na,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,na)}function Ya(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,da)){const i=Lr()(this,Jr).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:5,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"YuvRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,da,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,da)}function qa(e,t,i){return{label:"renderPass - ".concat(e),colorAttachments:[{view:t,resolveTarget:i,loadOp:"clear",storeOp:"discard"}]}}function Xa(e){return e&&(e.label="canvas-texture-view"),{label:"RenderPassNoMsaa",colorAttachments:[{view:e,loadOp:"clear",storeOp:"store"}]}}function Qa(e){let t=new Map;for(let i=0;i<e.length;++i){const r=e[i].getTextureLayersMap();for(let e=wi.w.VS_BASE;e<wi.w.END;++e)if(r.has(e)){const i=r.get(e);if(i){let r=t.get(e);r||(r=[]),r.push(i),t.set(e,r)}}}return t}function za(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=null,r=null,a=null,s=null;const o=e.getZIndex(),n=e.getTextureType(),d=e.getColorFormat();if(o==wi.w.VS_BASE){if(n==wi.x.EXTERNAL_TEX){s=wi.l.VIDEO_FRAME,i=this.acquireVideoFrameRenderPipeline(wi.y,t),r=this.acquireVideoFrameSampler();const o=e.getPendingVideoFrame();if(!o||0==o.codedWidth||0==o.codedHeight||!o.format)return e.setPendingVideoFrame(null),null;const n=e.getUniformBuffer();if(!n)return null;a=[{binding:0,resource:r},{binding:1,resource:Lr()(this,Jr).importExternalTexture({source:o})},{binding:2,resource:{buffer:n}}]}else if(n==wi.x.CLEAR_COLOR){s=wi.l.CLEAR_COLOR,i=this.acquireClearColorRenderPipeline(wi.c);const t=e.getClearColorUniformBuffer();if(!t)return null;a=[{binding:0,resource:{buffer:t}}]}else if(n==wi.x.GPU_TEX_YUV){"i420"==d?(s=wi.l.YUV_I420,i=Hr(this,Ia,ja).call(this,wi.z,t)):"nv12"==d&&(s=wi.l.YUV_NV12,i=Hr(this,ba,Ya).call(this,wi.A,t)),r=this.acquireYuvTexturesSamplers();const o=e.getUniformBuffer();if(!o)return null;const n=e.getTextureGroup();n&&("i420"==d?a=[{binding:0,resource:r[0]},{binding:1,resource:r[1]},{binding:2,resource:n.yPlaneTex.createView()},{binding:3,resource:n.uPlaneTex.createView()},{binding:4,resource:n.vPlaneTex.createView()},{binding:5,resource:{buffer:o}},{binding:6,resource:{buffer:o}}]:"nv12"==d&&(a=[{binding:0,resource:r[0]},{binding:1,resource:r[1]},{binding:2,resource:n.yPlaneTex.createView()},{binding:3,resource:n.uPlaneTex.createView()},{binding:4,resource:{buffer:o}},{binding:5,resource:{buffer:o}}]))}}else if(o==wi.w.WATERMARK||o==wi.w.MASK){s=wi.l.RGBA_WATERMARK,i=Hr(this,Ta,Ka).call(this,o,t),r=this.acquireBlendTextureSampler();const n=e.getTextureGroup();n&&(a=[{binding:0,resource:r},{binding:1,resource:n.createView()}])}else if(o==wi.w.CURSOR){s=wi.l.RGBA_CURSOR,i=Hr(this,Ra,Ha).call(this,o,t),r=this.acquireBlendTextureSampler();const n=e.getUniformBuffer();if(!n)return null;const d=e.getTextureGroup();d&&(a=[{binding:0,resource:r},{binding:1,resource:d.createView()},{binding:2,resource:{buffer:n}}])}if(s===wi.l.CLEAR_COLOR){if(!i||!a)return null}else if(!i||!r||!a||null==s)return null;const u={pipelineType:s,pipeline:i,entries:a};return u}function Ja(e,t,i){for(const r of t){const t=r.getTextureType();t!=wi.x.EXTERNAL_TEX&&t!=wi.x.CLEAR_COLOR&&(e==wi.w.VS_BASE?Hr(this,Pa,Za).call(this,r,i):e!=wi.w.CURSOR&&e!=wi.w.WATERMARK&&e!=wi.w.MASK||Hr(this,Na,$a).call(this,r,i))}}function Za(e,t){let i=e.getTextureGroup();i?e.isNew()&&(i=Hr(this,ga,xa).call(this,e,t,i),e.setIsNew(!1)):(i=Hr(this,ga,xa).call(this,e,t,null),e.setIsNew(!1)),i&&e.setTextureGroup(i)}function $a(e,t){let i=e.getTextureGroup();i?e.isNew()&&(i=Hr(this,Sa,Wa).call(this,e,t,i),e.setIsNew(!1)):(i=Hr(this,Sa,Wa).call(this,e,t,null),e.setIsNew(!1)),i&&e.setTextureGroup(i)}function es(e){if(!e||!Lr()(this,Jr))return Lr()(this,fa)?Lr()(this,fa):null;if(Lr()(this,fa)){if(Lr()(this,fa).width!=e.width||Lr()(this,fa).height!=e.height){const t=Lr()(this,ia).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,Lr()(this,Zr),4);Wr()(this,fa,Lr()(this,ia).acquireTexture(t))}}else{const t=Lr()(this,ia).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,Lr()(this,Zr),4);Wr()(this,fa,Lr()(this,ia).acquireTexture(t))}return Lr()(this,fa)}var ts=class{constructor(e,t){if(Br(this,Va),Br(this,Na),Br(this,Pa),Br(this,Ma),Br(this,ya),Br(this,wa),Br(this,Da),Br(this,Oa),Br(this,ba),Br(this,Ia),Br(this,Ta),Br(this,Ra),Br(this,Aa),Br(this,Ca),Br(this,va),Br(this,Sa),Br(this,ga),Br(this,Ea),Br(this,ma),Br(this,_a),Gr(this,Kr,{writable:!0,value:null}),Gr(this,jr,{writable:!0,value:0}),Gr(this,Yr,{writable:!0,value:0}),Gr(this,qr,{writable:!0,value:!1}),Gr(this,Xr,{writable:!0,value:!1}),Gr(this,Qr,{writable:!0,value:null}),Gr(this,zr,{writable:!0,value:null}),Gr(this,Jr,{writable:!0,value:null}),Gr(this,Zr,{writable:!0,value:null}),Gr(this,$r,{writable:!0,value:null}),Gr(this,ea,{writable:!0,value:null}),Gr(this,ta,{writable:!0,value:null}),Gr(this,ia,{writable:!0,value:null}),Gr(this,ra,{writable:!0,value:null}),Gr(this,aa,{writable:!0,value:null}),Gr(this,sa,{writable:!0,value:null}),Gr(this,oa,{writable:!0,value:null}),Gr(this,na,{writable:!0,value:null}),Gr(this,da,{writable:!0,value:null}),Gr(this,ua,{writable:!0,value:null}),Gr(this,la,{writable:!0,value:null}),Gr(this,ca,{writable:!0,value:null}),Gr(this,ha,{writable:!0,value:null}),Gr(this,fa,{writable:!0,value:null}),Gr(this,pa,{writable:!0,value:new Float32Array(12)}),!t)throw new Error("[WebGPURenderer] resMgr is an invalid param! ".concat(t));Wr()(this,Kr,e),Wr()(this,Qr,t),this.initialize(e)}switchMsaa(e){Wr()(this,Xr,e)}isMsaaEnabled(){return Lr()(this,Xr)}setCanvas(e){e&&Wr()(this,Kr,e)}setDevice(e){e&&Wr()(this,Jr,e)}setRenderArgs(e,t){Wr()(this,jr,e||0),Wr()(this,Yr,Lr()(this,jr)?3:t?4:6),Wr()(this,qr,t||!1)}setTextureIndex(e){Wr()(this,jr,e||0)}initialize(e){Lr()(this,Jr)||(Wr()(this,Jr,Lr()(this,Qr).acquireGPUDevice()),Lr()(this,Jr))?(Lr()(this,Zr)||Wr()(this,Zr,Lr()(this,Qr).acquireCanvasFormat()),Lr()(this,ea)||Wr()(this,ea,Lr()(this,Qr).acquireGPUBufferMgr()),Lr()(this,ta)||Wr()(this,ta,Lr()(this,Qr).acquireGPUBufferPool()),Lr()(this,ia)||Wr()(this,ia,Lr()(this,Qr).acquireGPUTextureMgr()),this.configureGPUContext(e),Hr(this,Ea,La).call(this,wi.b)):Object(Mi.h)("[WebGPURenderer] initialize() device is not ready!")}isGPUDeviceReady(){return null!=Lr()(this,Jr)}render(e){Lr()(this,Xr)?Hr(this,ma,Ua).call(this,e):Hr(this,_a,ka).call(this,e)}updateVertexCoords(e){Hr(this,Ea,La).call(this,e)}createRGBATexture(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;if(t<0)return Object(Mi.h)("[createRGBATexture] ".concat(t," is an invalid index!")),null;if(!Lr()(this,ea))return console.warn("[createRGBATexture] buffer manager is not ready!"),null;if(!Lr()(this,Jr))return console.warn("[createRGBATexture] GPUDevice is not ready!"),null;if(null==a||void 0===a)return console.warn("[createRGBATexture] rgbaData is invalid!"),null;if(!e)return console.warn("[createRGBATexture] command encoder is invalid!"),null;const o=Hr(this,va,Ba).call(this,Uint32Array.BYTES_PER_ELEMENT*i,256),n=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC,d=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let u=null;const l=null!=s&&(i!=s.width||r!=s.height);let c=!0;if(s&&(l?(Lr()(this,ia).recycleTexture(s),c=!0):(u=s,c=!1)),c){const e=Lr()(this,ia).assembleTextureConfig(i,r,d,"rgba8unorm",1);u=Lr()(this,ia).acquireTexture(e),u&&(u.label="RD(".concat(t,")-rgbaTexture"))}const h=Lr()(this,ea).acquireBuffer("".concat(t,"_Y"),n,o*r,!0,!1),f=new Uint8Array(h.getMappedRange()),p=i*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<r;++e)f.set(a.subarray(e*p,(e+1)*p),e*o);return h.unmap(),e.copyBufferToTexture({buffer:h,offset:0,bytesPerRow:o,rowsPerImage:r},{texture:u},[i,r,1]),u}writeToYuvTexturesBufferGroup(e,t){if(!(Lr()(this,ea)&&e&&t&&t.buffer&&t.bufferConfig&&"mapped"==t.buffer.mapState))return null;let i=e.yPlane,r=e.cbPlane,a=e.crPlane;const s=Hr(this,va,Ba).call(this,Uint8Array.BYTES_PER_ELEMENT*i.width,256);let o=Uint8Array.BYTES_PER_ELEMENT;"nv12"==t.bufferConfig.colorFormat&&(o=Uint16Array.BYTES_PER_ELEMENT);const n=Hr(this,va,Ba).call(this,o*r.width,256),d=s*i.height;let u=0,l=s*i.height+n*r.height;a&&a.buffer&&(l+=n*a.height,u=0+d+n*r.height);let c=t.buffer,h=t.bufferArray;h||(h=c.getMappedRange(0,l),t.bufferArray=h);const f=new Uint8Array(h),p=i.width*Uint8Array.BYTES_PER_ELEMENT;if(0+i.height*s>=f.length)return console.error("[WebGPURenderer] write yPlane is out of range! yPlaneOffset=".concat(0,", yPlane.height=").concat(i.height,", yPlaneBytesPerRow=").concat(s,", mappedArray.len=").concat(f.length)),null;for(let e=0;e<i.height;++e)f.set(i.buffer.subarray(e*p,(e+1)*p),0+e*s);let _=p/2;if(0==u&&(_=r.width*Uint16Array.BYTES_PER_ELEMENT),d+r.height*n>f.length)return null;for(let e=0;e<r.height;++e)f.set(r.buffer.subarray(e*_,(e+1)*_),d+e*n);if(u>0){if(u+a.height*n>f.length)return null;for(let e=0;e<a.height;++e)f.set(a.buffer.subarray(e*_,(e+1)*_),u+e*n)}return t.buffer=c,t.yPlaneBuffer={bytesPerRow:s,rowsPerImage:i.height,offset:0},t.uPlaneBuffer={bytesPerRow:n,rowsPerImage:r.height,offset:d},t.vPlaneBuffer={bytesPerRow:n,rowsPerImage:a.height,offset:u},t}writeToRgbaTextureBuffer(e,t,i,r,a){if(!(Lr()(this,ea)&&r&&a&&a.buffer))return null;const s=Hr(this,va,Ba).call(this,Uint32Array.BYTES_PER_ELEMENT*t,256),o=a.buffer;let n=a.bufferArray;n||(n=o.getMappedRange(),a.bufferArray=n);const d=new Uint8Array(n),u=t*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<i;++e)d.set(r.subarray(e*u,(e+1)*u),e*s);return a.buffer=o,a.bytesPerRow=s,a.rowsPerImage=i,a}produceVideoFrame(e,t){return new VideoFrame(e,t)}writeUniformBuffer(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!Lr()(this,Jr))return Object(Mi.h)("writeUniformBuffer() GPUDevice is not ready yet."),null;if(!t||0==t.length)return null;let r=i;return r||(r=Lr()(this,Jr).createBuffer({label:e,size:t.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})),Lr()(this,Jr).queue.writeBuffer(r,0,t,0,t.length),r}acquireBlendTextureSampler(){return Lr()(this,Jr)?(Lr()(this,ha)||Wr()(this,ha,Lr()(this,Jr).createSampler({})),Lr()(this,ha)):null}configureGPUContext(e){Lr()(this,zr)||(Wr()(this,zr,e.getContext("webgpu")),Lr()(this,zr)?Lr()(this,zr).configure({device:Lr()(this,Jr),format:Lr()(this,Zr),alphaMode:"premultiplied"}):Object(Mi.h)("configureGPUContext() webgpuContext is invalid! canvas=".concat(e)))}unconfigureGPUContext(){Lr()(this,zr)&&(Lr()(this,zr).unconfigure(),Wr()(this,zr,null))}acquireVideoFrameRenderPipeline(e,t){if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,aa)){const i=Lr()(this,Jr).createBindGroupLayout({label:"VideoFrameBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,externalTexture:{}},{binding:2,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"VideoFrameRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"VideoFramePipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,aa,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,aa)}acquireClearColorRenderPipeline(e){if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,sa)){const t=Lr()(this,Jr).createBindGroupLayout({label:"ClearColorBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),i={label:"ClearColorRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"ClearColorPipelineLayout",bindGroupLayouts:[t]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};Wr()(this,sa,Lr()(this,Jr).createRenderPipeline(i))}return Lr()(this,sa)}acquireVideoFrameSampler(){return Lr()(this,Jr)?(Lr()(this,oa)||Wr()(this,oa,Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"})),Lr()(this,oa)):null}acquireYuvTexturesSamplers(){if(!Lr()(this,Jr))return null;if(!Lr()(this,ua)){Wr()(this,ua,[]);const e=Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"}),t=Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"});Lr()(this,ua).push(e),Lr()(this,ua).push(t)}return Lr()(this,ua)}clearAttachedCanvas(){if(!Lr()(this,Jr)||!Lr()(this,zr)||!Lr()(this,ra))return;if(!Lr()(this,Kr)||0==Lr()(this,Kr).width||0==Lr()(this,Kr).height)return;const e=Lr()(this,Jr).createCommandEncoder(),t=e.beginRenderPass({colorAttachments:[{view:Lr()(this,zr).getCurrentTexture().createView(),clearValue:{r:0,g:0,b:0,a:1},loadOp:"clear",storeOp:"store"}]}),i=Lr()(this,Jr).createRenderPipeline({layout:"auto",vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.d}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.d}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}});t.setVertexBuffer(0,Lr()(this,ra)),t.setPipeline(i),t.draw(6),t.end(),Lr()(this,Jr).queue.submit([e.finish()])}clear(){console.log("WebGPURender.clear")}cleanup(){this.unconfigureGPUContext(),Wr()(this,Kr,null),Wr()(this,Zr,null),Wr()(this,$r,null),Wr()(this,ra,null),Wr()(this,aa,null),Wr()(this,sa,null),Wr()(this,oa,null),Wr()(this,na,null),Wr()(this,da,null),Wr()(this,ua,null),Wr()(this,la,null),Wr()(this,ca,null),Wr()(this,ha,null),Wr()(this,fa,null),Lr()(this,ea)&&Wr()(this,ea,null),Lr()(this,Jr)&&Wr()(this,Jr,null)}};function is(e,t){as(e,t),t.add(e)}function rs(e,t,i){as(e,t),t.set(e,i)}function as(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function ss(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var os=new WeakMap,ns=new WeakMap,ds=new WeakMap,us=new WeakMap,ls=new WeakSet,cs=new WeakSet,hs=new WeakSet,fs=new WeakSet,ps=new WeakSet;function _s(){return!0}function ms(){if(Lr()(this,ds)){let e={};return e.architecture=Lr()(this,ds).architecture,e.vendor=Lr()(this,ds).vendor,e}return null}async function Es(){if(!navigator.gpu)return Wr()(this,os,wi.C.NOT_SUPPORTED),!1;const e=await navigator.gpu.requestAdapter();if(!e)return Wr()(this,os,wi.C.CANNOT_REQ_ADAPTER),!1;return await e.requestDevice()?("function"==typeof e.requestAdapterInfo?(Wr()(this,ds,await e.requestAdapterInfo()),Lr()(this,ds)&&console.log("adapter info: ".concat(Lr()(this,ds).architecture,", ").concat(Lr()(this,ds).vendor))):"info"in e&&Wr()(this,ds,e.info),Wr()(this,os,wi.C.AVAILABLE),!0):(Wr()(this,os,wi.C.CANNOT_REQ_DEVICE),!1)}function gs(e){if(!e)return!1;const t=e.vendor;return-1!==wi.g.indexOf(t)}function Ss(e,t,i){return class{static produce(e,t,i){let r=null;return e===wi.j.WEBGPU&&(r=new ts(t,i)),r}}.produce(e,t,i)}var vs=class{constructor(){is(this,ps),is(this,fs),is(this,hs),is(this,cs),is(this,ls),rs(this,os,{writable:!0,value:wi.C.AVAILABLE}),rs(this,ns,{writable:!0,value:wi.j.WEBGL}),rs(this,ds,{writable:!0,value:null}),rs(this,us,{writable:!0,value:new Map})}async evaluate(e){Wr()(this,ns,wi.j.WEBGL);if(!ss(this,ls,_s).call(this))return Lr()(this,ns);if(!e.allowedOnTargetPlatforms)return Lr()(this,ns);if(!e.allowedOnTargetBrowsers)return Lr()(this,ns);if(!await ss(this,hs,Es).call(this))return Lr()(this,ns);const t=ss(this,cs,ms).call(this);if(!ss(this,fs,gs).call(this,t))return Lr()(this,ns);let i=new OffscreenCanvas(1,1);return i.getContext("webgpu")?(i=null,Wr()(this,ns,wi.j.WEBGPU),Lr()(this,ns)):(i=null,Lr()(this,ns))}acquireRenderer(e,t){let i=null;return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&Lr()(this,us).clear(),Lr()(this,us).has(e)&&(i=Lr()(this,us).get(e),i&&(e&&(i.setCanvas(e),i.initialize(e)),t&&i.setDevice(t.acquireGPUDevice()))),null==i&&(i=ss(this,ps,Ss).call(this,Lr()(this,ns),e,t),i&&Lr()(this,us).set(e,i)),i}rendererReinitialize(){if(Lr()(this,us))for(const[e,t]of Lr()(this,us))t&&t.initialize(e)}rendererUnconfigureGPUContext(){if(Lr()(this,us))for(const[e,t]of Lr()(this,us))t&&t.unconfigureGPUContext()}getRendererType(){return Lr()(this,ns)}setRendererType(e){Wr()(this,ns,e)}isWebGPURendererType(){return Lr()(this,ns)===wi.j.WEBGPU}isWebGLRendererType(){return Lr()(this,ns)===wi.j.WEBGL}isWebGL2RendererType(){return Lr()(this,ns)===wi.j.WEBGL_2}cleanup(){for(const[e,t]of Lr()(this,us))t&&t.cleanup();Lr()(this,us).clear()}};function Cs(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function As(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Rs=new WeakSet,Ts=new WeakSet;function Is(e){e.forEach(e=>{e.consumePendingGPUEvents()})}function bs(e){if(!e||0==e.length)return!0;return-1==e.findIndex(e=>{if(!e)return!1;return!!e.getTextureLayerByZIndex(wi.w.VS_BASE)&&e.isRenderingStateReady()})}var Os=class{constructor(){Cs(this,Ts),Cs(this,Rs)}render(e,t){return e?e.isGPUDeviceReady()?t&&0!=t.length?(As(this,Rs,Is).call(this,t),void(As(this,Ts,bs).call(this,t)||e.render(t))):(console.warn("[RendererController] render displays are not available!"),void Object(Mi.d)("WGPU RendererController_render() displays are not available!")):(console.log("[RendererController] GPU device is not ready!"),void Object(Mi.d)("WGPU RendererController_render() GPU device is not ready!")):(console.warn("[RendererController] renderer is not attached!"),void Object(Mi.d)("WGPU RendererController_render() renderer is not attached!"))}};function Ds(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var ws=new WeakMap,ys=new WeakMap,Ms=new WeakMap,Ps=new WeakMap,Ns=new WeakMap,Vs=new WeakMap,ks=new WeakMap,Us=new WeakMap,Ls=new WeakMap,xs=new WeakMap,Ws=new WeakMap,Bs=new WeakMap,Gs=new WeakMap,Fs=new WeakMap,Hs=new WeakMap,Ks=new WeakMap,js=new WeakMap,Ys=new WeakMap;var qs=class{constructor(e,t){Ds(this,ws,{writable:!0,value:0}),Ds(this,ys,{writable:!0,value:-1}),Ds(this,Ms,{writable:!0,value:0}),Ds(this,Ps,{writable:!0,value:0}),Ds(this,Ns,{writable:!0,value:-1}),Ds(this,Vs,{writable:!0,value:null}),Ds(this,ks,{writable:!0,value:-1}),Ds(this,Us,{writable:!0,value:null}),Ds(this,Ls,{writable:!0,value:null}),Ds(this,xs,{writable:!0,value:null}),Ds(this,Ws,{writable:!0,value:!1}),Ds(this,Bs,{writable:!0,value:null}),Ds(this,Gs,{writable:!0,value:null}),Ds(this,Fs,{writable:!0,value:null}),Ds(this,Hs,{writable:!0,value:null}),Ds(this,Ks,{writable:!0,value:null}),Ds(this,js,{writable:!0,value:!1}),Ds(this,Ys,{writable:!0,value:""}),Wr()(this,ws,e),Wr()(this,ys,t)}getIndex(){return Lr()(this,ws)}lock(){Wr()(this,Ws,!0)}unlock(){Wr()(this,Ws,!1)}isLocked(){return Lr()(this,Ws)}getZIndex(){return Lr()(this,ys)}setWidth(e){Wr()(this,Ms,e)}setHeight(e){Wr()(this,Ps,e)}getWidth(){return Lr()(this,Ms)}getHeight(){return Lr()(this,Ps)}getRawData(){return Lr()(this,Vs)}setRawData(e){Wr()(this,Vs,e)}setIsNew(e){Wr()(this,js,e)}isNew(){return Lr()(this,js)}setColorFormat(e){Wr()(this,Ys,e)}getColorFormat(){return Lr()(this,Ys)}setPendingVideoFrame(e){Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null)),Wr()(this,Bs,e)}clearPendingVideoFrame(){Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null))}setTextureLayerType(e){Wr()(this,Ns,e)}getTextureLayerType(){return Lr()(this,Ns)}setTextureType(e){Wr()(this,ks,e)}getTextureType(){return Lr()(this,ks)}getPendingVideoFrame(){return Lr()(this,Bs)}getUVCoords(){return Lr()(this,Ls)}setUVCoords(e){Wr()(this,Ls,e)}getUVCoordsBuffer(){return Lr()(this,Hs)}setUVCoordsBuffer(e){Wr()(this,Hs,e)}evalViewport(e,t,i,r,a){Lr()(this,xs)||Wr()(this,xs,{}),Lr()(this,xs).x=Math.floor(e),Lr()(this,xs).w=Math.floor(i),Lr()(this,xs).h=Math.floor(r),Lr()(this,Ns)==wi.v.BASE_LAYER?Lr()(this,xs).y=Math.floor(a-(t+r)):Lr()(this,xs).y=Math.floor(t),Lr()(this,xs).x<0&&(Lr()(this,xs).x=0),Lr()(this,xs).y<0&&(Lr()(this,xs).y=0),Lr()(this,xs).minDepth=0,Lr()(this,xs).maxDepth=1}setViewport(e){Wr()(this,xs,e)}getViewport(){return Lr()(this,xs)}getTextureGroup(){return Lr()(this,Us)}setTextureGroup(e){Wr()(this,Us,e)}setUniformBuffer(e){Wr()(this,Gs,e)}getUniformBuffer(){return Lr()(this,Gs)}setClearColorUniformBuffer(e){Wr()(this,Fs,e)}getClearColorUniformBuffer(){return Lr()(this,Fs)}setTextureBufferGroup(e){Wr()(this,Ks,e)}getTextureBufferGroup(){return Lr()(this,Ks)}destroyTextureBufferGroup(){Lr()(this,Ks)&&Wr()(this,Ks,null)}recycle(e){this.destroyTextureBufferGroup(),e&&e.destroyTextureGroup(this),Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null)),Lr()(this,Gs)&&(Lr()(this,Gs).destroy(),Wr()(this,Gs,null)),Lr()(this,Fs)&&(Lr()(this,Fs).destroy(),Wr()(this,Fs,null)),Wr()(this,ws,-1),Wr()(this,ys,-1),Wr()(this,Ns,wi.v.UNKNOWN),Wr()(this,Vs,null),Wr()(this,ks,wi.x.UNKNOWN),Wr()(this,Ls,null),Wr()(this,xs,null),Wr()(this,Ws,!1),Wr()(this,js,!1),Wr()(this,Ys,"")}};function Xs(e,t){zs(e,t),t.add(e)}function Qs(e,t,i){zs(e,t),t.set(e,i)}function zs(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Js(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Zs=new WeakMap,$s=new WeakMap,eo=new WeakMap,to=new WeakMap,io=new WeakMap,ro=new WeakMap,ao=new WeakMap,so=new WeakMap,oo=new WeakMap,no=new WeakMap,uo=new WeakMap,lo=new WeakMap,co=new WeakMap,ho=new WeakMap,fo=new WeakMap,po=new WeakMap,_o=new WeakMap,mo=new WeakMap,Eo=new WeakMap,go=new WeakMap,So=new WeakMap,vo=new WeakMap,Co=new WeakMap,Ao=new WeakMap,Ro=new WeakMap,To=new WeakMap,Io=new WeakMap,bo=new WeakMap,Oo=new WeakMap,Do=new WeakMap,wo=new WeakMap,yo=new WeakMap,Mo=new WeakMap,Po=new WeakMap,No=new WeakMap,Vo=new WeakMap,ko=new WeakMap,Uo=new WeakMap,Lo=new WeakMap,xo=new WeakMap,Wo=new WeakSet,Bo=new WeakSet,Go=new WeakSet,Fo=new WeakSet,Ho=new WeakSet,Ko=new WeakSet,jo=new WeakSet,Yo=new WeakSet,qo=new WeakSet,Xo=new WeakSet,Qo=new WeakSet,zo=new WeakSet,Jo=new WeakSet,Zo=new WeakSet,$o=new WeakSet,en=new WeakSet,tn=new WeakSet,rn=new WeakSet,an=new WeakSet,sn=new WeakSet,on=new WeakSet,nn=new WeakSet,dn=new WeakSet,un=new WeakSet,ln=new WeakSet,cn=new WeakSet,hn=new WeakSet,fn=new WeakSet,pn=new WeakSet,_n=new WeakSet;function mn(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Js(this,zo,On).call(this),!Lr()(this,ho)||!Lr()(this,fo)||!Lr()(this,ho).isGPUDeviceReady())return void(i instanceof VideoFrame&&i.close());const a=wi.w.VS_BASE,s=Js(this,Zo,wn).call(this,a),o=s.isLocked();if(o){const a=s.getPendingVideoFrame();!a||a.codedWidth==e&&a.codedHeight==t?i instanceof VideoFrame&&i.close():i instanceof VideoFrame?s.setPendingVideoFrame(i):(r&&Js(this,Go,gn).call(this,s,e,t,i),Object(Mi.h)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!"))}else{if(i instanceof VideoFrame){s.getPendingVideoFrame()!=i&&s.setPendingVideoFrame(i)}else r&&Js(this,Go,gn).call(this,s,e,t,i),Object(Mi.h)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!");s.setTextureLayerType(wi.v.BASE_LAYER),s.setTextureType(wi.x.EXTERNAL_TEX),s.lock()}this.markRenderingStateReady()}function En(e,t,i,r,a,s){Js(this,zo,On).call(this);const o=wi.w.VS_BASE,n=Js(this,Zo,wn).call(this,o);if(n.setTextureLayerType(wi.v.BASE_LAYER),n.setTextureType(wi.x.GPU_TEX_YUV),n.clearPendingVideoFrame(),n.isLocked()){const e=n.getWidth(),r=n.getHeight();e==t&&r==i||(n.setWidth(t),n.setHeight(i),n.setIsNew(!0))}else n.setWidth(t),n.setHeight(i),n.setIsNew(!0),n.lock();const d=Js(this,un,Wn).call(this,r,t,i,s),u=Lr()(this,ho).writeToYuvTexturesBufferGroup(d,a);n.setTextureBufferGroup(u)}function gn(e,t,i,r){const a=Js(this,cn,Gn).call(this,t,i);a.label="RgbaTexBuffer(".concat(e.getIndex(),")-").concat(a.size);let s=e.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,e,s,a),!s||!s.buffer)return console.warn("[updateRgbaBaseTexLayer()] texLayer(".concat(e.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Ko,Cn).call(this,Lr()(this,Zs),t,i,r,s),this.markRenderingStateReady()}function Sn(e,t,i,r,a){const s=wi.w.CURSOR,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BLEND_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function vn(e,t,i,r,a){const s=wi.w.WATERMARK,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BLEND_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function Cn(e,t,i,r,a){const s=wi.w.VS_BASE,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BASE_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function An(e,t,i){if(!Js(this,pn,Kn).call(this,e))return;if(!Lr()(this,fo))return void console.log("drawVideoFrameBaseTextureLayer() canvas is invalid? canvas=".concat(Lr()(this,fo)));const r=wi.w.VS_BASE,a=Js(this,Zo,wn).call(this,r);let s=a.getUVCoords(),o=Js(this,qo,Tn).call(this,Lr()(this,to),Lr()(this,io),Lr()(this,eo),Lr()(this,oo),i,e.width,e.height);s||(s=new Float32Array(12)),s.set(o,0),a.setUVCoords(s);const n=Lr()(this,eo).width>Lr()(this,eo).height,d=Lr()(this,fo).width>e.width,u=Lr()(this,fo).height>e.height;let l=d?e.width:Lr()(this,fo).width,c=u?e.height:Lr()(this,fo).height;if(n){const i=Math.abs(t.left)*l,r=Math.abs(t.top)*c,s=e.x+(e.width-i)/2;let o=0;o=e.y>=0?e.y+(e.height-r)/2:0,a.evalViewport(s,o,i,r,Lr()(this,fo).height)}else{let t=e.height*Lr()(this,eo).width/Lr()(this,eo).height;t>e.width&&(t=e.width);let i=Lr()(this,eo).height/Lr()(this,eo).width*t;const r=e.x+e.width/2-t/2;let s=0;if(e.y>0)s=e.y+(e.height-i)/2;else if(0===e.y){s=e.height>i?(e.height-i)/2:0}else s=0;a.evalViewport(r,s,t,i,Lr()(this,fo).height)}const h=Js(this,en,Mn).call(this);h&&h.buffer&&a.setUniformBuffer(h.buffer)}function Rn(e,t,i){const r=wi.w.VS_BASE,a=Js(this,Zo,wn).call(this,r);let s=a.getUVCoords(),o=Js(this,qo,Tn).call(this,Lr()(this,to),Lr()(this,io),Lr()(this,eo),Lr()(this,oo),i,e.width,e.height);s||(s=new Float32Array(12)),s.set(o,0),a.setUVCoords(s);const n=Lr()(this,eo).width>Lr()(this,eo).height,d=Lr()(this,fo).width>e.width,u=Lr()(this,fo).height>e.height;let l=d?e.width:Lr()(this,fo).width,c=u?e.height:Lr()(this,fo).height;if(n){const i=Math.abs(t.left)*l,r=Math.abs(t.top)*c,s=e.x+(e.width-i)/2;let o=0;o=e.y>=0?e.y+(e.height-r)/2:0,a.evalViewport(s,o,i,r,Lr()(this,fo).height)}else{let t=e.height*Lr()(this,eo).width/Lr()(this,eo).height;t>e.width&&(t=e.width);let i=Lr()(this,eo).height/Lr()(this,eo).width*t;const r=e.x+e.width/2-t/2;let s=0;if(e.y>0)s=e.y+(e.height-i)/2;else if(0===e.y){s=e.height>i?(e.height-i)/2:0}else s=0;a.evalViewport(r,s,t,i,Lr()(this,fo).height)}let h=null;h=a.getTextureType()==wi.x.EXTERNAL_TEX?Js(this,en,Mn).call(this):Js(this,tn,Pn).call(this,Lr()(this,oo)),h&&h.buffer&&a.setUniformBuffer(h.buffer)}function Tn(e,t,i,r,a,s,o){const n=this.isUseFillMode({w:i.width,h:i.height,rotation:r}),d={width:s,height:o},u={width:e,height:t};return Object(ji.c)(n,d,u,i,r,a)}function In(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=e.width,o=e.height;a&&(s=a.width,o=a.height);let n,d,u,l,c=r==wi.s||r==wi.r?i:t,h=r==wi.s||r==wi.r?t:i,f=c/h*o,p=h/c*s;f>s?(n=0,u=1,d=(o-p)/2/o,l=1-d):(d=0,l=1,n=(s-f)/2/s,u=1-n),n=2*n-1,u=2*u-1,d=1-2*d,l=1-2*l;let _=[{x:u,y:d},{x:u,y:l},{x:n,y:l},{x:u,y:d},{x:n,y:d},{x:n,y:l}];Lr()(this,ho)&&Lr()(this,ho).updateVertexCoords(_)}function bn(e,t,i,r,a){var s,o,n,d;if(this.isUseFillMode({w:i,h:r,rotation:a}))s=0,o=0,n=1,d=1;else{var u=a==wi.s||a==wi.r?r:i,l=a==wi.s||a==wi.r?i:r,c=u/l*t;c>e?(s=0,n=1,d=1-(o=(t-l/u*e)/2/t)):(o=0,d=1,n=1-(s=(e-c)/2/e))}return{top:o=1-2*o,left:s=2*s-1,right:n=2*n-1,bottom:d=1-2*d}}function On(){Lr()(this,ho)||Object(Mi.h)("[WebGPURenderDisplay] renderer is not attached!")}function Dn(e){if(e<0)throw new Error("[hasZIndexTexLayer] ".concat(e," is an invalid parameter!"));return Lr()(this,Lo).has(e)}function wn(e){let t=null;return Js(this,Jo,Dn).call(this,e)?t=Lr()(this,Lo).get(e):(t=new qs(Lr()(this,Zs),e),Lr()(this,Lo).set(e,t)),t}function yn(e,t,i){Lr()(this,fo)&&(Wr()(this,Do,e),Wr()(this,Po,e&&i===s.VIDEO_BGRA?1:0),Wr()(this,No,t),e||Wr()(this,wo,i))}function Mn(){const e={rotation:Lr()(this,oo)};let t=null,i=Lr()(this,Uo).get(wi.w.VS_BASE);if(i){let r=i.buffer,a=i.uniform;if(a)if("yuvMode"in a)r&&r.destroy(),i=null;else if("rotation"in a){if(a.rotation!=e.rotation){const i=Js(this,sn,kn).call(this,e);t=Lr()(this,ho).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i,r)}}else r&&r.destroy(),i=null}if(!i){const i=Js(this,sn,kn).call(this,e);t=Lr()(this,ho).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i)}return t?(i||(i={}),i.uniform=e,i.buffer=t,Lr()(this,Uo).set(wi.w.VS_BASE,i),i):null}function Pn(e){if(-1==Lr()(this,yo))return null;const t={yuvMode:s.VIDEO_I420,colorRange:Lr()(this,yo),rotation:e};let i=null,r=Lr()(this,Uo).get(wi.w.VS_BASE);if(r){const e=r.uniform;if(i=r.buffer,e.yuvMode!=t.yuvMode||e.colorRange!=t.colorRange||e.rotation!=t.rotation){const e=Js(this,on,Un).call(this,t);i=Lr()(this,ho).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),e,i)}}else{r={};const e=Js(this,on,Un).call(this,t);i=Lr()(this,ho).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),e)}return i?(r.uniform=t,r.buffer=i,Lr()(this,Uo).set(wi.w.VS_BASE,r),r):null}function Nn(){if(!Lr()(this,ko))return null;const e={cursorFlag:Lr()(this,No),cursorInfo:Lr()(this,ko)};let t=null,i=Lr()(this,Uo).get(wi.w.CURSOR);if(i){const r=i.uniform;if(t=i.buffer,r.cursorFlag!=e.cursorFlag||r.cursorInfo!=e.cursorInfo){const i=Js(this,nn,Ln).call(this,e);t=Lr()(this,ho).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i,t)}}else{i={};const r=Js(this,nn,Ln).call(this,e);t=Lr()(this,ho).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),r)}return t?(i.uniform=e,i.buffer=t,Lr()(this,Uo).set(wi.w.CURSOR,i),i):null}function Vn(e,t){return Math.ceil(e/t)*t}function kn(e){const t=Js(this,an,Vn).call(this,1*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.rotation,i}function Un(e){const t=Js(this,an,Vn).call(this,3*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.yuvMode,i[1]=e.colorRange,i[2]=e.rotation,i}function Ln(e){const t=Js(this,an,Vn).call(this,5*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.cursorFlag,i[1]=e.cursorInfo.x,i[2]=e.cursorInfo.y,i[3]=e.cursorInfo.w,i[4]=e.cursorInfo.h,i}function xn(e){if(!e||0==e.length)return null;const t=Js(this,an,Vn).call(this,4*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i}function Wn(e,t,i,r){let a=t*i,o=e.subarray(0,a),n=0,d=0;r==s.VIDEO_I420?(d=t/2*i/2,n=d):r==s.VIDEO_NV12&&(d=t*i/2,n=0);let u=e.subarray(a,a+d);return{yPlane:{buffer:o,width:t,height:i},crPlane:{buffer:0!=n?e.subarray(a+d,a+d+n):null,width:t/2,height:i/2},cbPlane:{buffer:u,width:t/2,height:i/2}}}function Bn(e,t,i){let r="",a=0,o=0,n=0;i==s.VIDEO_I420?(a=e/2*t/2,o=a,r="i420",n=Uint8Array.BYTES_PER_ELEMENT):i==s.VIDEO_NV12&&(a=e*t/2,o=0,r="nv12",n=Uint16Array.BYTES_PER_ELEMENT);const d=Js(this,an,Vn).call(this,Uint8Array.BYTES_PER_ELEMENT*e,256),u=Js(this,an,Vn).call(this,n*e/2,256);let l=d*t+u*t/2;o>0&&(l+=u*t/2);return{colorFormat:r,size:l,yPlane:{width:d,height:t},uvPlane:{width:u,height:t/2}}}function Gn(e,t){const i=Js(this,an,Vn).call(this,Uint32Array.BYTES_PER_ELEMENT*e,256);return{colorFormat:"rgba",width:i,height:t,size:i*t}}function Fn(e,t,i){if(t)if(t.buffer)if(i.size>t.buffer.size)Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;else{"mapped"==t.buffer.mapState?t.bufferArray&&t.bufferArray.byteLength<i.size&&(Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i):(Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i)}else t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;else(t={}).buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;return t}function Hn(){const e=[];for(let t=0;t<wi.a.length;++t){let i=wi.a[t];e.push(i.u),e.push(i.v)}return e}function Kn(e){return e&&0!=e.width&&0!=e.height}function jn(){if(Lr()(this,Oo))for(const[e,t]of Lr()(this,Lo))t&&(Lr()(this,Oo).recycleTextureBufferGroup(t,!1),Lr()(this,Oo).destroyTextureGroup(t,!0));else Object(Mi.h)("clearTexLayerResources() GPUResManager is not attached!")}var Yn=class{constructor(e,t){Xs(this,_n),Xs(this,pn),Xs(this,fn),Xs(this,hn),Xs(this,cn),Xs(this,ln),Xs(this,un),Xs(this,dn),Xs(this,nn),Xs(this,on),Xs(this,sn),Xs(this,an),Xs(this,rn),Xs(this,tn),Xs(this,en),Xs(this,$o),Xs(this,Zo),Xs(this,Jo),Xs(this,zo),Xs(this,Qo),Xs(this,Xo),Xs(this,qo),Xs(this,Yo),Xs(this,jo),Xs(this,Ko),Xs(this,Ho),Xs(this,Fo),Xs(this,Go),Xs(this,Bo),Xs(this,Wo),Qs(this,Zs,{writable:!0,value:0}),Qs(this,$s,{writable:!0,value:0}),Qs(this,eo,{writable:!0,value:{}}),Qs(this,to,{writable:!0,value:0}),Qs(this,io,{writable:!0,value:0}),Qs(this,ro,{writable:!0,value:0}),Qs(this,ao,{writable:!0,value:0}),Qs(this,so,{writable:!0,value:-1}),Qs(this,oo,{writable:!0,value:wi.p}),Qs(this,no,{writable:!0,value:s.VIDEO_INVALID}),Qs(this,uo,{writable:!0,value:0}),Qs(this,lo,{writable:!0,value:0}),Qs(this,co,{writable:!0,value:!1}),Qs(this,ho,{writable:!0,value:null}),Qs(this,fo,{writable:!0,value:null}),Qs(this,po,{writable:!0,value:!1}),Qs(this,_o,{writable:!0,value:0}),Qs(this,mo,{writable:!0,value:!1}),Qs(this,Eo,{writable:!0,value:0}),Qs(this,go,{writable:!0,value:0}),Qs(this,So,{writable:!0,value:0}),Qs(this,vo,{writable:!0,value:0}),Qs(this,Co,{writable:!0,value:wi.k.IDLE}),Qs(this,Ao,{writable:!0,value:0}),Qs(this,Ro,{writable:!0,value:0}),Qs(this,To,{writable:!0,value:0}),Qs(this,Io,{writable:!0,value:!1}),Qs(this,bo,{writable:!0,value:0}),Qs(this,Oo,{writable:!0,value:null}),Qs(this,Do,{writable:!0,value:0}),Qs(this,wo,{writable:!0,value:s.VIDEO_INVALID}),Qs(this,yo,{writable:!0,value:-1}),Qs(this,Mo,{writable:!0,value:0}),Qs(this,Po,{writable:!0,value:0}),Qs(this,No,{writable:!0,value:0}),Qs(this,Vo,{writable:!0,value:0}),Qs(this,ko,{writable:!0,value:null}),Qs(this,Uo,{writable:!0,value:new Map}),Qs(this,Lo,{writable:!0,value:new Map}),Qs(this,xo,{writable:!0,value:{top:0,left:0,bottom:0,right:0}}),O()(this,"reuse",!1),Wr()(this,Zs,e),Wr()(this,Oo,t),Wr()(this,$s,e||0),Lr()(this,eo).top=0,Lr()(this,eo).left=0,Lr()(this,eo).width=0,Lr()(this,eo).height=0,Wr()(this,to,0),Wr()(this,io,0),Wr()(this,ro,0),Wr()(this,ao,0),Wr()(this,no,s.VIDEO_INVALID),Wr()(this,uo,0),Wr()(this,lo,0),this.markRenderingStateIdle()}addRenderer(e){Wr()(this,ho,e)}removeRenderer(){Wr()(this,ho,null)}setGPUResMgr(e){Wr()(this,Oo,e)}removeGPUResMgr(){Wr()(this,Oo,null)}attachCanvas(e){Wr()(this,fo,e)}getAttachedCanvas(){return Lr()(this,fo)}detachCanvas(){Wr()(this,fo,null)}bindSsrc(e){Wr()(this,bo,e)}unbindSsrc(){Wr()(this,bo,0)}drawSelfVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!Js(this,pn,Kn).call(this,e))return;Js(this,zo,On).call(this),Js(this,$o,yn).call(this,1,Lr()(this,Io),Lr()(this,no));let r=null;r=t?Js(this,Qo,bn).call(this,e.width,e.height,e.width,e.height,wi.p):Js(this,Qo,bn).call(this,e.width,e.height,Lr()(this,eo).width,Lr()(this,eo).height,Lr()(this,oo)),Js(this,jo,An).call(this,e,r,i)}drawRemoteVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,fo))return;if(!Js(this,pn,Kn).call(this,e))return;Js(this,zo,On).call(this);const i=this.isRgbaMode(Lr()(this,no))?1:0;Js(this,$o,yn).call(this,i,Lr()(this,Io),Lr()(this,no));const r=Js(this,Qo,bn).call(this,e.width,e.height,Lr()(this,eo).width,Lr()(this,eo).height,Lr()(this,oo));Js(this,Yo,Rn).call(this,e,r,t)}drawCursor(e,t,i,r,a){if(!Lr()(this,Ao)||e&&(r<0||a<0))return;const s=wi.w.CURSOR,o=Js(this,Zo,wn).call(this,s),n=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(o.setUVCoords(n.getUVCoords()),o.evalViewport(t,i,r,a,Lr()(this,fo).height),e&&Lr()(this,Io)){const e={x:t/Lr()(this,eo).width,y:i/Lr()(this,eo).height,w:r/Lr()(this,eo).width,h:a/Lr()(this,eo).height};Wr()(this,ko,e)}else{const e={x:0,y:0,w:0,h:0};Wr()(this,ko,e)}const d=Js(this,rn,Nn).call(this);d&&d.buffer&&o.setUniformBuffer(d.buffer)}setMultiView(e){Wr()(this,po,e)}setFillMode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Wr()(this,uo,e),Wr()(this,lo,t)}getFillMode(){return Lr()(this,uo)}setColorRange(e){Wr()(this,yo,e)}getFillModeForResolution(){return Lr()(this,lo)}getTextureIndex(){return Lr()(this,$s)}isUseFillMode(e){let{w:t,h:i,rotation:r}=e;if(!Lr()(this,uo))return!1;if(!Lr()(this,lo))return!0;if(!t||!i)return!1;const a=r===wi.s||r===wi.s?i/t:t/i;return(Array.isArray(Lr()(this,lo))?Lr()(this,lo):[Lr()(this,lo)]).some(e=>Math.abs(a-e)<.01)}setVideoMode(e){Wr()(this,no,e)}getVideoMode(){return Lr()(this,no)}setWatermarkFlag(e){Wr()(this,_o,e),e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))}setWatermarkRepeated(e){Wr()(this,mo,e)}isWatermarkRepeated(){return!!Lr()(this,mo)}setWatermarkOpacity(e){Wr()(this,Eo,e||.15)}getWatermarkOpacity(){return Lr()(this,Eo)}setWatermarkPosition(e){Wr()(this,go,e||16)}getWatermarkPosition(){return Lr()(this,go)}isSetWatermark(){return Lr()(this,_o)}isRgbaMode(e){return-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(e)}getTextureWidth(){return Lr()(this,to)}getTextureHeight(){return Lr()(this,io)}getCroppingParams(){return Lr()(this,eo)}recoverTextures(){}updateWatermark(e,t,i){const r=wi.w.WATERMARK,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(Object(ji.g)(Lr()(this,Oo),e,t))return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(Wr()(this,So,e),Wr()(this,vo,t),Wr()(this,_o,1),Wr()(this,Mo,1),!Js(this,Jo,Dn).call(this,wi.w.VS_BASE)){console.log("[updateWatermark] base layer is not ready, set data to the texture layer for creating texture later."),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending();const r={index:Lr()(this,Zs),width:e,height:t,data:i};return void a.setRawData(r)}const s=Js(this,Zo,wn).call(this,wi.w.VS_BASE).getViewport();if(s)try{const r=Js(this,cn,Gn).call(this,e,t);r.label="WatermarkTexBuffer(".concat(a.getIndex(),")-").concat(r.size);let o=a.getTextureBufferGroup();if(o=Js(this,hn,Fn).call(this,a,o,r),!o||!o.buffer)return console.warn("[updateWatermark()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Ho,vn).call(this,Lr()(this,Zs),e,t,i,o),s&&a.setViewport(s);let n=a.getUVCoords(),d=Js(this,fn,Hn).call(this);n||(n=new Float32Array(12)),n.set(d,0),a.setUVCoords(n),a.setRawData(null),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateWatermark() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateWatermark() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}else{console.log("[updateWatermark] base layer's viewport is not ready, set data to the texture layer for creating texture later."),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending();const r={index:Lr()(this,Zs),width:e,height:t,data:i};a.setRawData(r)}}updateCursor(e,t,i){const r=wi.w.CURSOR,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();Wr()(this,Ro,e),Wr()(this,To,t),Wr()(this,Io,1);try{const r=Js(this,cn,Gn).call(this,e,t);r.label="CursorTexBuffer(".concat(a.getIndex(),")-").concat(r.size);let s=a.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,a,s,r),!s||!s.buffer)return void console.warn("[updateCursor()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!"));if("mapped"!=s.buffer.mapState)return void console.error("updateCursor() why buffer state is not mapped!");Js(this,Fo,Sn).call(this,Lr()(this,Zs),e,t,i,s),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateCursor() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateCursor() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}}updateSelfVideoTextures(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;Js(this,zo,On).call(this);const o=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(!Lr()(this,fo)||!Lr()(this,ho))return i&&i instanceof VideoFrame&&i.close(),Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length%4!=0)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();if(1!=e||1!=t){if(Wr()(this,to,e),Wr()(this,io,t),Wr()(this,oo,s),Object.assign(Lr()(this,eo),r),!a)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();try{Js(this,Wo,mn).call(this,e,t,i),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateSelfVideoTextures() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateSelfVideoTextures() error:".concat(e.message)),this.markRenderingStatePending(),i instanceof VideoFrame&&i.close();Js(this,Zo,wn).call(this,wi.w.VS_BASE).setPendingVideoFrame(null)}}else{o.setPendingVideoFrame(null),Js(this,_n,jn).call(this),i&&i instanceof VideoFrame&&i.close();const e=Js(this,dn,xn).call(this,i);if(e)if(Lr()(this,ho)){let t=o.getClearColorUniformBuffer();t=Lr()(this,ho).writeUniformBuffer("ClearColorUniformBuffer",e,t),o.setClearColorUniformBuffer(t),o.setTextureType(wi.x.CLEAR_COLOR)}else console.warn("updateSelfVideoTextures() renderer is not attached!");else Object(Mi.h)("updateSelfVideoTextures() cannot create the uniform buffer array.");this.markRenderingStateReady()}}updateRemoteVideoTexturesImageBitmap(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(!Lr()(this,ho)||!Lr()(this,fo))return i&&i instanceof VideoFrame&&i.close(),Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();if(Wr()(this,to,e),Wr()(this,io,t),Number.isNaN(a)||Wr()(this,oo,a),Object.assign(Lr()(this,eo),r),!s)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();try{Js(this,Wo,mn).call(this,e,t,i),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),this.markRenderingStatePending(),i instanceof VideoFrame&&i.close(),o.setPendingVideoFrame(null)}}updateRemoteVideoTextures(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=arguments.length>6?arguments[6]:void 0;const n=wi.w.VS_BASE,d=Js(this,Zo,wn).call(this,n);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(!Js(this,pn,Kn).call(this,o))return Lr()(this,Oo).recycleTextureBufferGroup(d),void this.markRenderingStatePending();Js(this,zo,On).call(this);const u=this.isRgbaMode(Lr()(this,no));if(e<=0||t<=0||!r||!r.length||r.length!=e*t*3/2&&!u||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return Lr()(this,Oo).recycleTextureBufferGroup(d),void this.markRenderingStatePending();if(u)try{Js(this,Wo,mn).call(this,e,t,r,!0);let o=s?0:1;Wr()(this,yo,o),Wr()(this,oo,a),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height)}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),d.setPendingVideoFrame(null),this.markRenderingStatePending()}finally{Lr()(this,Oo).recycleTextureBufferGroup(d)}else try{const o=Js(this,ln,Bn).call(this,e,t,Lr()(this,no));o.label="YuvVideoTexBuffer(".concat(d.getIndex(),")-").concat(o.size),d.setColorFormat(o.colorFormat);let n=d.getTextureBufferGroup();if(n=Js(this,hn,Fn).call(this,d,n,o),!n||!n.buffer)return console.warn("[updateRemoteVideoTextures()] texLayer(".concat(d.getIndex(),") cannot apply a GPUBuffer!")),void this.markRenderingStatePending();let u=s?0:1;Wr()(this,yo,u),Wr()(this,oo,a),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height),Js(this,Bo,En).call(this,Lr()(this,Zs),e,t,r,n,Lr()(this,no)),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message," cs:").concat(e.stack)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(d),this.markRenderingStatePending()}}drawNextOutputPictureFrame(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];const u=wi.w.VS_BASE,l=Js(this,Zo,wn).call(this,u);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(Object(ji.g)(Lr()(this,Oo),e,t))return Lr()(this,Oo).recycleTextureBufferGroup(l),void this.markRenderingStatePending();a=a||wi.p;let c=(i=i||{top:0,left:0,width:e,height:t}).width!=Lr()(this,eo).width||i.height!=Lr()(this,eo).height,h=i.top!=Lr()(this,eo).top||i.left!=Lr()(this,eo).left,f=Lr()(this,fo).width!=Lr()(this,ro)||Lr()(this,fo).height!=Lr()(this,ao),p=e!=Lr()(this,to)||t!=Lr()(this,io),_=a!=Lr()(this,so);if((c||f||_)&&Js(this,Xo,In).call(this,Lr()(this,fo),i.width,i.height,a,n),n){const e=Object(ji.d)(i,a),t=Object(ji.a)(n,e);l.evalViewport(t.x,t.y,t.width,t.height,Lr()(this,fo).height)}else l.evalViewport(0,0,Lr()(this,fo).width,Lr()(this,fo).height,Lr()(this,fo).height);if(c||h||p||_||!l.getUVCoords()){let r=Object(ji.b)({width:e,height:t},i,Lr()(this,fo),a),s=l.getUVCoords();s||(s=new Float32Array(12)),s.set(r),l.setUVCoords(s)}let m=o?0:1;m!=Lr()(this,yo)&&Wr()(this,yo,m),Wr()(this,Do,0),Wr()(this,wo,s.VIDEO_I420),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,so,a),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height),l.setColorFormat("i420");try{const i=Js(this,ln,Bn).call(this,e,t,s.VIDEO_I420);if(i.label="YuvShareTexBuffer(".concat(l.getIndex(),")-").concat(i.size),d){let a=l.getTextureBufferGroup();if(a=Js(this,hn,Fn).call(this,l,a,i),!a||!a.buffer)return console.warn("[drawNextOutputPictureFrame()] texLayer(".concat(l.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Bo,En).call(this,Lr()(this,Zs),e,t,r,a,s.VIDEO_I420);const o=Js(this,tn,Pn).call(this,Lr()(this,so));o&&o.buffer&&l.setUniformBuffer(o.buffer)}Lr()(this,Io)?Wr()(this,No,1):Wr()(this,No,0),Wr()(this,Ao,1),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] drawNextOutputPictureFrame() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_drawNextOutputPictureFrame() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(l),this.markRenderingStatePending()}}clearCanvas(e){Lr()(this,ho)&&Lr()(this,ho).clearAttachedCanvas()}updateSelfMaskImage(e,t,i){const r=wi.w.MASK,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo))return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(!Js(this,Jo,Dn).call(this,wi.w.VS_BASE))return console.log("[updateSelfMaskImage] base layer is not ready."),Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();try{const r=Js(this,cn,Gn).call(this,e,t);let s=a.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,a,s,r),!s||!s.buffer)return console.warn("[updateSelfMaskImage()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();if(s.buffer.label="SelfMaskImageTexBuffer(".concat(a.getIndex(),")-").concat(r.size),a.setTextureLayerType(wi.v.BLEND_LAYER),a.setTextureType(wi.x.GPU_TEX_RGBA),a.isLocked()){const i=a.getWidth(),r=a.getHeight();i==e&&r==t||(a.setWidth(e),a.setHeight(t),a.setIsNew(!0))}else a.setWidth(e),a.setHeight(t),a.setIsNew(!0),a.lock();const o=Lr()(this,ho).writeToRgbaTextureBuffer(Lr()(this,Zs),e,t,i,s);a.setTextureBufferGroup(o);const n=Js(this,Zo,wn).call(this,wi.w.VS_BASE),d=n.getViewport();d&&a.setViewport(d),a.setUVCoords(n.getUVCoords()),this.isSetWatermark()&&Lr()(this,So)&&Lr()(this,vo),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateSelfMaskImage() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateSelfMaskImage() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}}readPixelsSyncRequest(e,t,i,r){}isAvaiable(){return!0}markRenderingStateReady(){Wr()(this,Co,wi.k.READY)}markRenderingStateRendering(){Wr()(this,Co,wi.k.RENDERING)}markRenderingStatePending(){Wr()(this,Co,wi.k.PENDING)}markRenderingStateIdle(){Wr()(this,Co,wi.k.IDLE)}isRenderingStateReady(){return Lr()(this,Co)===wi.k.READY}isInTargetRenderingState(e){return Lr()(this,Co)===e}getWatermarkWidth(){return Lr()(this,So)}getWatermarkHeight(){return Lr()(this,vo)}getIndex(){return Lr()(this,Zs)}getRenderingState(){return Lr()(this,Co)}recycle(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];for(const[t,i]of Lr()(this,Lo))i&&(Lr()(this,Oo).recycleTextureBufferGroup(i,e),i.recycle(Lr()(this,Oo)));Wr()(this,xo,{top:0,left:0,bottom:0,right:0}),this.markRenderingStateIdle(),Lr()(this,Lo).clear(),Lr()(this,Uo).clear(),this.unbindSsrc()}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.recycle(e),this.removeRenderer(),this.detachCanvas(),this.removeGPUResMgr()}clear(){console.log("WebGPURenderDisplay.clear"),this.clearCanvas(),Wr()(this,Ao,0),Wr()(this,Io,0),this.recycle()}clearDisplay(){console.log("WebGPURenderDisplay.clearDisplay"),this.clearCanvas()}getTextureLayersMap(){return Lr()(this,Lo)}getTextureLayerByZIndex(e){return Js(this,Zo,wn).call(this,e)}getUsedBuffersCount(){let e=0;for(const[t,i]of Lr()(this,Lo))i&&i.getTextureBufferGroup()&&i.getTextureBufferGroup().buffer&&e++;return e}consumePendingGPUEvents(){if(Lr()(this,_o)){const e=Js(this,Zo,wn).call(this,wi.w.WATERMARK).getRawData();e&&this.updateWatermark(Lr()(this,So),Lr()(this,vo),e.data)}}resizeCanvasTo(e,t){Lr()(this,fo)&&(Lr()(this,fo).width=e,Lr()(this,fo).height=t)}};function qn(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Xn=new WeakMap,Qn=new WeakMap,zn=new WeakMap,Jn=new WeakMap,Zn=new WeakMap;var $n=class{constructor(e,t,i){qn(this,Xn,{writable:!0,value:0}),qn(this,Qn,{writable:!0,value:null}),qn(this,zn,{writable:!0,value:null}),qn(this,Jn,{writable:!0,value:wi.t.AVAILABLE}),qn(this,Zn,{writable:!0,value:null}),Wr()(this,Xn,e),Wr()(this,Jn,t),Wr()(this,Zn,i),Wr()(this,Qn,[]),Wr()(this,zn,[])}initPool(e){if(e>Lr()(this,Xn))throw new Error("initSize=".concat(e," is larger than maxSize=").concat(Lr()(this,Xn),", invalid!"));if(e<0)throw new Error("initSize=".concat(e," is smaller than 0, invalid!"));for(let t=0;t<e;t++){const e=new Yn(t,Lr()(this,Zn));Lr()(this,Qn).push(e)}}expandPool(e){if(Lr()(this,Qn).length>=Lr()(this,Xn))return;let t=0;if(Lr()(this,Qn).length+e>=Lr()(this,Xn)&&(t=Lr()(this,Xn)-Lr()(this,Qn).length),t>0){const e=Lr()(this,Qn).length;for(let i=0;i<t;i++){const t=new Yn(i+e,Lr()(this,Zn));Lr()(this,Qn).push(t)}}}pop(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&this.isPoolEmpty()&&this.expandPool(4);const e=Lr()(this,Qn).pop();return e&&(e.markRenderingStatePending(),Lr()(this,zn).push(e)),e}recycle(e){if(Lr()(this,Qn).length<Lr()(this,Xn)){e.recycle(),Lr()(this,Qn).push(e);const t=Lr()(this,zn).indexOf(e);-1!=t&&Lr()(this,zn).splice(t,1)}}clear(){if(Lr()(this,Qn)){for(const e of Lr()(this,Qn))e&&e.clear();Lr()(this,Qn).length=0}}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Lr()(this,Qn).forEach(t=>{t.cleanup(e)}),Lr()(this,zn).forEach(t=>{t.cleanup(e)}),Wr()(this,Qn,[]),Wr()(this,zn,[])}isPoolEmpty(){return 0==Lr()(this,Qn).length}getInUseRenderDisplays(){return Lr()(this,zn)}getAllRenderDisplays(){return Lr()(this,Qn)}isServeForVideoRendering(){return Lr()(this,Jn)===wi.t.VIDEO}isServeForShareRendering(){return Lr()(this,Jn)===wi.t.SHARE}isServingForNow(e){return Lr()(this,Jn)===e}};function ed(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var td=new WeakMap,id=new WeakMap,rd=new WeakMap,ad=new WeakMap,sd=new WeakMap;class od{getVideoRenderDisplay(e,t,i,r){throw new Error("getVideoRenderDisplay() should be implemented by subclass.")}getSharingRenderDisplay(e,t,i){throw new Error("getSharingRenderDisplay() should be implemented by subclass.")}createVideoRenderDisplay(e,t,i){throw new Error("createVideoRenderDisplay() should be implemented by subclass.")}}var nd=new WeakMap,dd=new WeakMap;class ud extends od{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),ed(this,nd,{writable:!0,value:new Map}),ed(this,dd,{writable:!0,value:!1}),Wr()(this,dd,e)}setCanvasAlphaChannelEnability(e){Wr()(this,dd,e)}createVideoRenderDisplay(e,t,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=null,s=null,o=null,n=!1;return r&&(a=r.forceNoGL,s=r.contextOptions,o=r.webGLResources,n=r.initMask),new Ki.default(e,t,i,a,s,o,n,Lr()(this,dd))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=Lr()(this,nd).get(e);if(!s){let r=[];s=[r,[]],Lr()(this,nd).set(e,s);let o=new Ki.default(e,t,0,void 0,void 0,void 0,void 0,Lr()(this,dd));o.setMultiView(!0),a&&a.set(e,o);let n=1;for(;n<=i;n++){const i=new Ki.default(e,t,n,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,Lr()(this,dd));i.setMultiView(!0),r.push(i)}}let o,n=Lr()(this,nd).get(e),d=n[0],u=n[1];if(n&&d[0]&&(o=d.pop(),u.push(o)),!o){const e=n?"".concat(n.length):"undefined",t=d?"".concat(d.length):"undefined";r("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,i){return new Ki.default(e,t,0,void 0,i.contextOptions,void 0,void 0,Lr()(this,dd))}recycleRenderDisplay(e,t,i){t.setWatermarkFlag(0),t.setVideoMode(s.VIDEO_INVALID),t.clear(i);let r=Lr()(this,nd).get(e);if(r){let e=r[0],i=r[1];i&&i.some((function(e,r){if(e===t)return i.splice(r,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=Lr()(this,nd).get(i);(!o||o.length<2)&&a("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let n=s.get(t);if(n){n.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:n.shaderProgram,contextgl:n.contextGL,vBuffer:n.vertexPosBuffer,tBuffer:n.texturePosBuffer,waterMarkTextureRef:n.waterMarkTextureRef,repeatedWaterMarkTextureRef:n.repeatedWaterMarkTextureRef})});return i!==t&&(Lr()(this,nd).delete(i),Lr()(this,nd).set(t,o),s&&(s.delete(i),s.set(t,n))),null}}getRenderDisplayMap(){return Lr()(this,nd)}cleanup(e,t){var i;null==t||null===(i=t.cleanup)||void 0===i||i.call(t,null);for(const[e,t]of Lr()(this,nd)){const e=t[0],i=t[1];for(const t of e)t.cleanup();for(const e of i)e.cleanup()}Wr()(this,nd,new Map)}cleanupByCanvas(e){if(Lr()(this,nd).get(e)){let t=Lr()(this,nd).get(e);if(t){let i=t[0],r=t[1];r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i=[],r=[],Lr()(this,nd).delete(e)}}}}var ld=new WeakMap,cd=new WeakMap;class hd extends od{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),ed(this,ld,{writable:!0,value:new Map}),ed(this,cd,{writable:!0,value:!1}),Wr()(this,cd,e)}setCanvasAlphaChannelEnability(e){Wr()(this,cd,e)}createVideoRenderDisplay(e,t,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=null,s=null,o=null,n=!1;return r&&(a=r.forceNoGL,s=r.contextOptions,o=r.webGLResources,n=r.initMask),new Zi(e,t,i,a,s,o,n,Lr()(this,cd))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=Lr()(this,ld).get(e);if(!s){let r=[];s=[r,[]],Lr()(this,ld).set(e,s);let o=new Zi(e,t,0,void 0,void 0,void 0,void 0,Lr()(this,cd));o.setMultiView(!0),a&&a.set(e,o);let n=1;for(;n<=i;n++){const i=new Zi(e,t,n,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,void 0,Lr()(this,cd));i.setMultiView(!0),r.push(i)}}let o,n=Lr()(this,ld).get(e),d=n[0],u=n[1];if(n&&d[0]&&(o=d.pop(),u.push(o)),!o){const e=n?"".concat(n.length):"undefined",t=d?"".concat(d.length):"undefined";r("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,i){return new Zi(e,t,0,void 0,i.contextOptions,void 0,void 0,Lr()(this,cd))}recycleRenderDisplay(e,t,i){t.setWatermarkFlag(0),t.setVideoMode(s.VIDEO_INVALID),t.clear(i);let r=Lr()(this,ld).get(e);if(r){let e=r[0],i=r[1];i&&i.some((function(e,r){if(e===t)return i.splice(r,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=Lr()(this,ld).get(i);(!o||o.length<2)&&a("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let n=s.get(t);if(n){n.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:n.shaderProgram,contextgl:n.contextGL,vBuffer:n.vertexPosBuffer,tBuffer:n.texturePosBuffer,waterMarkTextureRef:n.waterMarkTextureRef,repeatedWaterMarkTextureRef:n.repeatedWaterMarkTextureRef})});return i!==t&&(Lr()(this,ld).delete(i),Lr()(this,ld).set(t,o),s&&(s.delete(i),s.set(t,n))),null}}getRenderDisplayMap(){return Lr()(this,ld)}cleanup(e,t){var i;null==t||null===(i=t.cleanup)||void 0===i||i.call(t);for(const[e,t]of Lr()(this,ld)){const e=t[0],i=t[1];for(const t of e)t.cleanup();for(const e of i)e.cleanup()}Wr()(this,ld,new Map)}cleanupByCanvas(e){if(Lr()(this,ld).get(e)){let t=Lr()(this,ld).get(e);if(t){let i=t[0],r=t[1];r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i=[],r=[],Lr()(this,ld).delete(e)}}}}var fd=new WeakMap,pd=new WeakMap,_d=new WeakMap;class md extends od{constructor(){super(),ed(this,fd,{writable:!0,value:new Map}),ed(this,pd,{writable:!0,value:new Map}),ed(this,_d,{writable:!0,value:null})}setGPUResourceMgr(e){Wr()(this,_d,e)}getVideoRenderDisplay(e,t,i,r){let a=Lr()(this,fd).get(e);a||(a=new $n(i,wi.t.VIDEO,Lr()(this,_d)),a.initPool(i),Lr()(this,fd).set(e,a));let s=a.pop();return s?(s.setMultiView(!0),s):null}getSharingRenderDisplay(e,t,i){i&&i.clearCache&&Lr()(this,pd).clear();let r=Lr()(this,pd).get(e);return r||(r=new $n(1,wi.t.SHARE,Lr()(this,_d)),r.initPool(1),Lr()(this,pd).set(e,r)),r.pop()}createVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=new Yn(i,Lr()(this,_d));return a.addRenderer(r),a.attachCanvas(e),a}getInUseCanvasRenderDisplayList(e){let t=[],i=null;if(e==wi.t.VIDEO?i=Lr()(this,fd):e==wi.t.SHARE&&(i=Lr()(this,pd)),i)for(const[e,r]of i){let i={};i.canvas=e,i.renderDisplays=r.getInUseRenderDisplays(),i.renderDisplays.length>0&&t.push(i)}return t}recycleRenderDisplay(e,t){if(e){const t=e.getAttachedCanvas();if(t){let i=Lr()(this,fd).get(t);i&&(e.setWatermarkFlag(0),e.setVideoMode(s.VIDEO_INVALID),i.recycle(e));let r=Lr()(this,pd).get(t);r&&(e.setWatermarkFlag(0),e.setVideoMode(s.VIDEO_INVALID),r.recycle(e))}}}cleanup(e){var t;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];null==e||null===(t=e.cleanup)||void 0===t||t.call(e,i);for(const[e,t]of Lr()(this,fd))t.cleanup(i);for(const[e,t]of Lr()(this,pd))t.cleanup(i)}cleanupByCanvas(e){let t=Lr()(this,fd).get(e);t&&(t.cleanup(),Lr()(this,fd).delete(e));let i=Lr()(this,pd).get(e);i&&(i.cleanup(),Lr()(this,pd).delete(e))}collectInUseRenderDisplays(e){return this.getInUseCanvasRenderDisplayList(e)}collectInUseRenderDisplaysByCanvas(e,t){let i=null;if(e)if(t==wi.t.VIDEO){i=Lr()(this,fd).get(e).getInUseRenderDisplays()}else if(t==wi.t.SHARE){i=Lr()(this,pd).get(e).getInUseRenderDisplays()}return i}getRenderDisplayMap(e){let t=null;return e==wi.t.VIDEO?t=Lr()(this,fd):e==wi.t.SHARE&&(t=Lr()(this,pd)),t}}var Ed=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];ed(this,td,{writable:!0,value:null}),ed(this,id,{writable:!0,value:null}),ed(this,rd,{writable:!0,value:null}),ed(this,ad,{writable:!0,value:null}),ed(this,sd,{writable:!0,value:!1}),Wr()(this,sd,e)}setGPUResourceMgr(e){Wr()(this,ad,e)}isEnableCanvasAlphaChannel(){return Lr()(this,sd)}setCanvasAlphaChannelEnability(e){Wr()(this,sd,e),Lr()(this,td)&&Lr()(this,td).setCanvasAlphaChannelEnability(e),Lr()(this,id)&&Lr()(this,id).setCanvasAlphaChannelEnability(e)}getWebGLRenderDisplayMgr(){return Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),Lr()(this,td)}getWebGL2RenderDisplayMgr(){return Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),Lr()(this,id)}getWebGPURenderDisplayMgr(){return Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),Lr()(this,rd)}getVideoRenderDisplay(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=null;return e===wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),n=Lr()(this,td).getVideoRenderDisplay(t,i,r,a,o)):e===wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),n=Lr()(this,id).getVideoRenderDisplay(t,i,r,a,o)):e===wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),n=Lr()(this,rd).getVideoRenderDisplay(t,i,r,a),n&&(n.addRenderer(s),n.attachCanvas(t),n.setGPUResMgr(Lr()(this,ad)))),n}getSharingRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=null;return e===wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),s=Lr()(this,td).getSharingRenderDisplay(t,i,a)):e===wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),s=Lr()(this,id).getSharingRenderDisplay(t,i,a)):e===wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),s=Lr()(this,rd).getSharingRenderDisplay(t,i,a),s&&(s.addRenderer(r),s.attachCanvas(t),s.setGPUResMgr(Lr()(this,ad)))),s}createVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=null;return e==wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),o=Lr()(this,td).createVideoRenderDisplay(t,i,r,a,s)):e==wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),o=Lr()(this,id).createVideoRenderDisplay(t,i,r,a,s)):e==wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),o=Lr()(this,rd).createVideoRenderDisplay(t,i,r,a,s),o.addRenderer(a),o.attachCanvas(t),o.setGPUResMgr(Lr()(this,ad))),o}recycleRenderDisplay(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e===wi.j.WEBGPU?Lr()(this,rd)&&Lr()(this,rd).recycleRenderDisplay(i,r,a):e===wi.j.WEBGL?Lr()(this,td)&&Lr()(this,td).recycleRenderDisplay(t,i,a):e===wi.j.WEBGL_2&&Lr()(this,id)&&Lr()(this,id).recycleRenderDisplay(t,i,a)}collectInUseRenderDisplays(e,t){let i=null;return e===wi.j.WEBGPU&&Lr()(this,rd)&&(i=Lr()(this,rd).collectInUseRenderDisplays(t)),i}collectInUseRenderDisplaysByCanvas(e,t,i){let r=null;return e===wi.j.WEBGPU&&Lr()(this,rd)&&(r=Lr()(this,rd).collectInUseRenderDisplaysByCanvas(t,i)),r}getRenderDisplayMap(e,t){if(e===wi.j.WEBGL){if(Lr()(this,td))return Lr()(this,td).getRenderDisplayMap()}else if(e===wi.j.WEBGPU){if(Lr()(this,rd))return Lr()(this,rd).getRenderDisplayMap(t)}else if(e===wi.j.WEBGL_2&&Lr()(this,id))return Lr()(this,id).getRenderDisplayMap(t);return null}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return Lr()(this,td)?Lr()(this,td).onRestoredFromContextLost(e,t,i,r,a,s):Lr()(this,id)?Lr()(this,id).onRestoredFromContextLost(e,t,i,r,a,s):null}cleanup(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];null!==Lr()(this,td)&&Lr()(this,td).cleanup(e,t),Lr()(this,id)&&Lr()(this,id).cleanup(e,t),null!==Lr()(this,rd)&&Lr()(this,rd).cleanup(t,i)}cleanupByCanvas(e){null!==Lr()(this,td)&&Lr()(this,td).cleanupByCanvas(e),null!==Lr()(this,id)&&Lr()(this,id).cleanupByCanvas(e),null!==Lr()(this,rd)&&Lr()(this,rd).cleanupByCanvas(e)}};function gd(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Sd=new WeakMap,vd=new WeakMap,Cd=new WeakMap,Ad=new WeakMap,Rd=new WeakMap,Td=new WeakMap,Id=new WeakMap;var bd=class{constructor(e){gd(this,Sd,{writable:!0,value:wi.f.VERTEX_BUFFER}),gd(this,vd,{writable:!0,value:{}}),gd(this,Cd,{writable:!0,value:null}),gd(this,Ad,{writable:!0,value:0}),gd(this,Rd,{writable:!0,value:0}),gd(this,Td,{writable:!0,value:[]}),gd(this,Id,{writable:!0,value:new Map}),Wr()(this,Cd,e)}acquireBuffer(e,t,i){let r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!(arguments.length>4&&void 0!==arguments[4])||arguments[4]?Lr()(this,Id).has(e)?r=Lr()(this,Id).get(e):Lr()(this,Td).length>0?(r=Lr()(this,Td).pop(),Lr()(this,Id).set(e,r)):(r=Lr()(this,Cd).createBuffer({size:i,usage:t,mappedAtCreation:a}),Lr()(this,Id).set(e,r)):r=Lr()(this,Cd).createBuffer({size:i,usage:t,mappedAtCreation:a}),r}releaseBuffer(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(Lr()(this,Id).has(e)){const t=Lr()(this,Id).get(e);i?Lr()(this,Td).push(t):t.destroy(),Lr()(this,Id).delete(e)}else i||-1!=Lr()(this,Td).indexOf(t)&&(Lr()(this,Td)[index]=Lr()(this,Td)[Lr()(this,Td).length-1],Lr()(this,Td).pop(),t.destroy())}getNumUsedBuffers(){return Lr()(this,Ad)}getNumFreeBuffers(){return Lr()(this,Rd)}cleanup(){Lr()(this,Td).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Id).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Td).length=0,Lr()(this,Id).clear(),Wr()(this,Ad,0),Wr()(this,Rd,0)}release(e){e==wi.n.OVERUSE&&(Lr()(this,Td).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Td).length=0,Wr()(this,Rd,0))}getResourceType(){return Lr()(this,Sd)}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,Id))e++,t+=a.size,i+="[GPUBufferMgr] entry{key:".concat(r,", buffer:{label:").concat(a.label," size:").concat(a.size,"}}\n");for(const i of Lr()(this,Td))e++,t+=i.size;return i+="[GPUBufferMgr] freeBuffers{size:".concat(Lr()(this,Td).length,"}\n"),i+="[GPUBufferMgr] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,vd).type=Lr()(this,Sd),Lr()(this,vd).count=e,Lr()(this,vd).usedBytes=t,Lr()(this,vd).output=i,Lr()(this,vd)}onOccupancyLevelEvaluated(e){console.log("[GPUBufferManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(Mi.d)("WGPU GPUBufferManager_onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}};function Od(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Dd=new WeakMap,wd=new WeakMap,yd=new WeakMap;var Md=class{constructor(){Od(this,Dd,{writable:!0,value:wi.f.TEXTURE}),Od(this,wd,{writable:!0,value:[]}),Od(this,yd,{writable:!0,value:[]})}acquire(e){let t=null;const i=Lr()(this,wd).findIndex(t=>t&&t.width==e.w&&t.height==e.h&&t.format==e.format&&t.usage==e.usage);return i>-1&&(t=Lr()(this,wd).splice(i,1)[0]),t&&Lr()(this,yd).push(t),t}recycle(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=Lr()(this,yd).indexOf(e);-1!=i&&Lr()(this,yd).splice(i,1),t?e.destroy():(Lr()(this,wd).push(e),e.label="")}pushToAvailablePool(e){e&&Lr()(this,wd).push(e)}pushToInUsePool(e){e&&Lr()(this,yd).push(e)}release(e){if(e==wi.n.OVERUSE&&Lr()(this,wd).length>0){for(const e of Lr()(this,wd))e.destroy();Lr()(this,wd).length=0}}cleanup(){for(const e of Lr()(this,wd))e.destroy();for(const e of Lr()(this,yd))e.destroy();Lr()(this,wd).length=0,Lr()(this,yd).length=0}getAvailablePool(){return Lr()(this,wd)}getInUsedPool(){return Lr()(this,yd)}getResourceType(){return Lr()(this,Dd)}};function Pd(e,t){Vd(e,t),t.add(e)}function Nd(e,t,i){Vd(e,t),t.set(e,i)}function Vd(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function kd(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Ud=new WeakMap,Ld=new WeakMap,xd=new WeakMap,Wd=new WeakMap,Bd=new WeakSet,Gd=new WeakSet,Fd=new WeakSet,Hd=new WeakSet,Kd=new WeakSet;function jd(e){let t=Lr()(this,xd).get(e.level),i=null;return t?(i=t.acquire(e),i||(i=kd(this,Fd,qd).call(this,e),i?t.pushToInUsePool(i):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e))))):(i=kd(this,Fd,qd).call(this,e),i?(t=new Md,t.pushToInUsePool(i),Lr()(this,xd).set(e.level,t)):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e)))),i}function Yd(e){const t=e.zOrder;let i=Lr()(this,Wd).get(t);return i?(e.w>i.width||e.h>i.height)&&(i.destroy(),i=kd(this,Fd,qd).call(this,e),Lr()(this,Wd).set(t,i)):(i=kd(this,Fd,qd).call(this,e),Lr()(this,Wd).set(t,i)),i}function qd(e){if(!Lr()(this,Ud))return null;if(0==e.w||0==e.h)return null;const t={size:{width:e.w,height:e.h},format:e.format,usage:e.usage};return e.sampleCount>0&&(t.sampleCount=e.sampleCount),Lr()(this,Ud).createTexture(t)}function Xd(e){let t=wi.u[wi.u.length-1];for(let i=0;i<wi.u.length;++i)if(e<=wi.u[i]){t=wi.u[i];break}return t}function Qd(e){return e&&e.zOrder&&e.zOrder==TEX_LAYER_Z_IDX.WATERMARK}var zd=class{constructor(e){Pd(this,Kd),Pd(this,Hd),Pd(this,Fd),Pd(this,Gd),Pd(this,Bd),Nd(this,Ud,{writable:!0,value:null}),Nd(this,Ld,{writable:!0,value:{}}),Nd(this,xd,{writable:!0,value:new Map}),Nd(this,Wd,{writable:!0,value:new Map}),Wr()(this,Ud,e)}assembleTextureConfig(e,t,i,r,a){return{w:e,h:t,usage:i,format:r,sampleCount:a,level:kd(this,Hd,Xd).call(this,t)}}isSameTextureConfig(e,t){return!(!e||!t)&&(e.w==t.w&&e.h==t.h&&e.usage==t.usage&&e.format==t.format&&e.sampleCount==t.sampleCount)}evalTexConfig(e){if(!e)throw new Error("hasSameTextureConfig() invalid input!");const t=Lr()(this,xd).keys();let i=e;for(const r of t)if(this.isSameTextureConfig(r,e)){i=r;break}return i}needNewTexturesMapEntry(e,t){return!!t&&(!e||(e.w!=t.w||e.h!=t.h||e.usage!=t.usage||e.format!=t.format||e.sampleCount!=t.sampleCount))}acquireTexture(e){if(!e||e.w<=0||e.h<=0)return console.error("[GPUTextureMgr] acquireTexture() texConfig is invalid"),null;let t=null;return t=kd(this,Kd,Qd).call(this,e)?kd(this,Gd,Yd).call(this,e):kd(this,Bd,jd).call(this,e),t}recycleTexture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const i=this.assembleTextureConfig(e.width,e.height,e.usage,e.format,e.sampleCount);let r=Lr()(this,xd).get(i.level);if(r)r.recycle(e,t);else if(console.warn("recycleTexture(".concat(e.label,") texture is not found in the map!, destroy:").concat(t)),t)e.destroy();else{const t=new Md;t.pushToAvailablePool(e),Lr()(this,xd).set(i.level,t)}}cleanup(){for(const[e,t]of Lr()(this,xd))t&&t.cleanup();Lr()(this,xd).clear()}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,xd))if(a){const s=a.getAvailablePool();for(const i of s)e++,"r8unorm"==i.format?t+=i.width*i.height:"rgba8unorm"==i.format&&(t+=i.width*i.height*Uint32Array.BYTES_PER_ELEMENT);const o=a.getInUsedPool();for(const i of o)e++,"r8unorm"==i.format?t+=i.width*i.height:"rgba8unorm"==i.format&&(t+=i.width*i.height*Uint32Array.BYTES_PER_ELEMENT);(s.length>0||o.length>0)&&(i+="[GPUTexturePool] level:".concat(r," pool:{ava_count:").concat(s.length," in_used_count:").concat(o.length,"}\n"))}return i+="[GPUTexturePool] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,Ld).type=wi.f.TEXTURE,Lr()(this,Ld).count=e,Lr()(this,Ld).usedBytes=t,Lr()(this,Ld).output=i,Lr()(this,Ld)}onOccupancyLevelEvaluated(e){if(console.log("[GPUTextureManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(Mi.d)("WGPU GPUTextureManager_onOccupancyLevelEvaluated() level:".concat(e)),e==wi.n.OVERUSE)for(const[t,i]of Lr()(this,xd))i&&i.release(e)}};function Jd(e,t){$d(e,t),t.add(e)}function Zd(e,t,i){$d(e,t),t.set(e,i)}function $d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function eu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var tu=new WeakMap,iu=new WeakMap,ru=new WeakMap,au=new WeakMap,su=new WeakSet,ou=new WeakSet;function nu(e,t,i){if(Lr()(this,ru).set(e,t),i){let e=Array.from(Lr()(this,ru).entries());e.sort((e,t)=>e[0]-t[0]),Lr()(this,ru).clear(),e.forEach(e=>{let[t,i]=e;Lr()(this,ru).set(t,i)})}}function du(e,t){if(!e||0==e.length)return null;let i=0,r=0,a=null;for(const s of e)"mapped"==s.mapState?(i+=1,a||s.size>=t&&(a=s)):r+=1;if(i>0&&0==r||i>=2&&0!=r){if(a){const t=e.indexOf(a);-1!=t&&e.splice(t,1)}return a}return null}var uu=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Jd(this,ou),Jd(this,su),Zd(this,tu,{writable:!0,value:wi.f.TEXTURE_BUFFER}),Zd(this,iu,{writable:!0,value:0}),Zd(this,ru,{writable:!0,value:new Map}),Zd(this,au,{writable:!0,value:0}),Wr()(this,iu,e),Wr()(this,au,t)}isUpToThreshold(e,t){if(e!=Lr()(this,iu)||t<=0)return!1;if(0==Lr()(this,au))return!1;const i=Lr()(this,ru).get(t);return!!i&&i.length>=Lr()(this,au)}push(e,t,i){if(e!=Lr()(this,iu)||!i||t<=0)return!1;let r=null,a=!1;if(Lr()(this,ru).has(t)){if(r=Lr()(this,ru).get(t),r||(r=[],a=!0),!(r.length<Lr()(this,au)))return!1;r.push(i)}else r=[],r.push(i),a=!0;return a&&eu(this,su,nu).call(this,t,r,a),!0}acquire(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;let i=e.level,r=e.bytesPerRow,a=e.size;if(i!=Lr()(this,iu)||r<=0)return console.error("[GPUBufferPoolEntry] acquire() level(".concat(i,") or bpr=").concat(r," is invalid!")),null;let s=null,o=!1;if(Lr()(this,ru).has(r)){let e=Lr()(this,ru).get(r);if(e){const t=e.findIndex(e=>"mapped"==e.mapState&&e.size>=a);t>-1?s=e.splice(t,1)[0]:o=!0}else o=!0}else o=!0;if(o&&!s&&!t){let t=2,o=!1;i>=wi.m[wi.h]&&(o=!0);for(const[i,n]of Lr()(this,ru))if((t>0||o)&&i>r){if(s=eu(this,ou,du).call(this,n,a),s){e.bytesPerRow=i;break}t--}}return s}recycle(e,t,i){if(e!=Lr()(this,iu)||t<=0||!i)return!1;let r=!1;if(Lr()(this,ru).has(t)){let e=!1,a=Lr()(this,ru).get(t);a||(a=[],e=!0),a.push(i),e&&eu(this,su,nu).call(this,t,a,e),r=!0}else r=this.push(e,t,i);return r}release(e){if(e==wi.n.OVERUSE){for(const[e,t]of Lr()(this,ru))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}Lr()(this,ru).clear()}}cleanup(){for(const[e,t]of Lr()(this,ru))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}Lr()(this,ru).clear()}getPool(){return Lr()(this,ru)}hasBytesPerRowAsKey(e){return Lr()(this,ru).has(e)}getResourceType(){return Lr()(this,tu)}getPoolThreshold(){return Lr()(this,au)}canLendBufferCrossLevel(e,t){let i=!0;if(Lr()(this,ru).has(t)){const r=Lr()(this,ru).get(t);if(r){let t=0,a=0;for(const e of r)"mapped"==e.mapState?t+=1:a+=1;if(e>=wi.m[wi.h])i=t>0;else{const e=t>=2&&0!=a;i=t>0&&0==a||e}}}else i=!1;return i}};function lu(e,t){hu(e,t),t.add(e)}function cu(e,t,i){hu(e,t),t.set(e,i)}function hu(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function fu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var pu=new WeakMap,_u=new WeakMap,mu=new WeakMap,Eu=new WeakMap,gu=new WeakMap,Su=new WeakMap,vu=new WeakSet,Cu=new WeakSet,Au=new WeakSet,Ru=new WeakSet,Tu=new WeakSet,Iu=new WeakSet,bu=new WeakSet;function Ou(e){if(!e)return;const t=e.colorFormat;if("rgba"==t){const t=fu(this,Cu,Du).call(this,e.height);t>0&&t<wi.m[wi.h]&&(e.size=e.width*t,e.height=t),e.level=t,e.bytesPerRow=e.width}else if("i420"==t){const t=fu(this,Cu,Du).call(this,e.yPlane.height);t>0&&t<wi.m[wi.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}else if("nv12"==t){const t=fu(this,Cu,Du).call(this,e.yPlane.height);t>0&&t<wi.m[wi.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t/2,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}}function Du(e){if(e<=0)return 0;let t=wi.m[wi.h];for(let i=0;i<wi.m.length;++i)if(e<=wi.m[i]){t=wi.m[i];break}return t}function wu(e){const t=wi.m.indexOf(e);return t>-1&&t+1<=wi.m.length-1?wi.m[t+1]:e}function yu(e){if(!e)return 0;let t=0;const i=e.colorFormat;if("rgba"==i?t=e.height:"i420"!=i&&"nv12"!=i||(t=e.yPlane.height),0==t)return 0;let r=0;return r=t<=wi.m[2]?90:t>wi.m[2]&&t<=wi.m[5]?60:15,r}function Mu(e){return e.mapAsync(GPUMapMode.WRITE,0,e.size)}function Pu(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(Lr()(this,gu).set(e,t),i){let e=Array.from(Lr()(this,gu).entries());e.sort((e,t)=>e[0]-t[0]),Lr()(this,gu).clear(),e.forEach(e=>{let[t,i]=e;Lr()(this,gu).set(t,i)})}}function Nu(e){if(!e)return null;let t=e.level,i=e.bytesPerRow;e.size;const r=fu(this,Au,wu).call(this,t);if(r<=t)return null;if(!Lr()(this,gu).has(r))return null;const a=Lr()(this,gu).get(r);if(!a)return null;if(!a.hasBytesPerRowAsKey(i))return null;if(!a.canLendBufferCrossLevel(t,i))return null;const s={};Object.assign(s,e),s.level=r;const o=a.acquire(s,!0);return o&&(e.level=r,e.bytesPerRow=s.bytesPerRow),o}var Vu=class{constructor(e){lu(this,bu),lu(this,Iu),lu(this,Tu),lu(this,Ru),lu(this,Au),lu(this,Cu),lu(this,vu),cu(this,pu,{writable:!0,value:wi.f.TEXTURE_BUFFER}),cu(this,_u,{writable:!0,value:{}}),cu(this,mu,{writable:!0,value:null}),cu(this,Eu,{writable:!0,value:[]}),cu(this,gu,{writable:!0,value:new Map}),cu(this,Su,{writable:!0,value:0}),Wr()(this,mu,e)}acquire(e){if(!e)throw new Error("acquire() bufferConfig is invalid!");fu(this,vu,Ou).call(this,e);let t=null,i=null;if(0==Lr()(this,gu).size){if(Lr()(this,mu)){const r=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});let a=!1;if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),a=!0}r&&(Wr()(this,Su,Lr()(this,Su)+1),t=r,t.label="".concat(e.label,"-").concat(Lr()(this,Su))),fu(this,Iu,Pu).call(this,e.level,i,a)}}else if(Lr()(this,gu).has(e.level)){i=Lr()(this,gu).get(e.level);let r=!1;if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),r=!0}if(t=i.acquire(e),t)t.label="".concat(e.label,"-").concat(Lr()(this,Su));else if(t=fu(this,bu,Nu).call(this,e),!t)if(i.isUpToThreshold(e.level,e.bytesPerRow))console.log("[GPUBufferPool]acquire() next level cant help and pool is up to threshold! Only to wait for a while...");else{const i=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});i&&(Wr()(this,Su,Lr()(this,Su)+1),t=i,t.label="".concat(e.label,"-").concat(Lr()(this,Su)))}r&&fu(this,Iu,Pu).call(this,e.level,i,r)}else{let r=!1;if(t=fu(this,bu,Nu).call(this,e),t)t.label="".concat(e.label,"-").concat(Lr()(this,Su));else{const a=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),r=!0}a&&(Wr()(this,Su,Lr()(this,Su)+1),t=a,t.label="".concat(e.label,"-").concat(Lr()(this,Su)))}r&&fu(this,Iu,Pu).call(this,e.level,i,r)}return t&&Lr()(this,Eu).push(t),t}recycle(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return;const r=Lr()(this,Eu).indexOf(e);if(-1!=r?Lr()(this,Eu).splice(r,1):(console.error("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(i)),Object(Mi.d)("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(i))),t)if(i){"unmapped"!=e.mapState&&e.unmap(),"unmapped"==e.mapState&&fu(this,Tu,Mu).call(this,e).then(()=>{}).catch(t=>{console.warn("mapAsyncBuffer() error:".concat(t)),e.destroy(),e=null});let i=Lr()(this,gu).get(t.level);i&&i.recycle(t.level,t.bytesPerRow,e),e.label=""}else e.destroy(),e=null;else e.destroy()}recycleInUsedGPUBuffers(e,t){for(const[i,r]of e)for(const e of r)if(e){const i=e.getTextureBufferGroup();i&&i.buffer&&(i.bufferArray&&(i.bufferArray=null),this.recycle(i.buffer,i.bufferConfig)),e.destroyTextureBufferGroup(t)}}recycleTextureBufferGroup(e,t){if(e&&t){const i=t.acquireGPUBufferPool();if(i){const r=e.getTextureBufferGroup();r&&r.buffer&&(r.bufferArray&&(r.bufferArray=null),i.recycle(r.buffer,r.bufferConfig),e.destroyTextureBufferGroup(t))}}}cleanup(){for(const e of Lr()(this,Eu))"unmapped"!=e.mapState&&e.unmap(),e.destroy();Lr()(this,Eu).length=0;for(const[e,t]of Lr()(this,gu))t&&t.cleanup();Lr()(this,gu).clear()}release(e){if(e==wi.n.OVERUSE){for(const[t,i]of Lr()(this,gu))i&&i.release(e);Lr()(this,gu).clear()}}getResourceType(){return Lr()(this,pu)}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,gu))if(a){const s=a.getPool();for(const[o,n]of s){e+=n.length;let s=0,d=0;for(const e of n)t+=e.size,"mapped"==e.mapState?s+=1:d+=1;i+="[GPUBufferPool] level:".concat(r," bpr:").concat(o," threshold:").concat(a.getPoolThreshold()," pool:{len:").concat(n.length," ava_count:").concat(s," pending_count:").concat(d,"}\n")}}let r=0;for(const i of Lr()(this,Eu))e+=1,t+=i.size,r+=1;return i+="[GPUBufferPool] in_used_count:".concat(r,"\n"),i+="[GPUBufferPool] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,_u).type=Lr()(this,pu),Lr()(this,_u).count=e,Lr()(this,_u).usedBytes=t,Lr()(this,_u).output=i,Lr()(this,_u)}onOccupancyLevelEvaluated(e){Object(Mi.d)("WGPU GPUBufferPool_onOccupancyLevelEvaluated() level:".concat(e)),console.log("[GPUBufferPool] onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}getInUsedPoolCount(){return Lr()(this,Eu).length}};function ku(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Uu=new WeakMap,Lu=new WeakMap;var xu=class{constructor(e){ku(this,Uu,{writable:!0,value:null}),ku(this,Lu,{writable:!0,value:null}),Wr()(this,Uu,e),e&&Wr()(this,Lu,e.features)}getAdapterFeatures(){return Lr()(this,Lu)}getAdapterLimits(){return Lr()(this,Uu)?Lr()(this,Uu).limits:null}queryMaxTextureDimension2D(){const e=this.getAdapterLimits();return e?e.maxTextureDimension2D:0}queryMaxBufferSize(){const e=this.getAdapterLimits();return e?e.maxBufferSize:0}queryAdapterFeature(e){return!(!Lr()(this,Lu)||!e)&&Lr()(this,Lu).has(e)}isTimestampQuerySupported(){return this.queryAdapterFeature("timestamp-query")}getGPUAdapter(){return Lr()(this,Uu)}cleanup(){Wr()(this,Uu,null),Wr()(this,Lu,null)}};function Wu(e,t){Gu(e,t),t.add(e)}function Bu(e,t,i){Gu(e,t),t.set(e,i)}function Gu(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Fu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Hu=new WeakMap,Ku=new WeakMap,ju=new WeakMap,Yu=new WeakMap,qu=new WeakSet,Xu=new WeakSet,Qu=new WeakSet;function zu(){let e=wi.n.LOW;const t="---WatchDog(".concat(Lr()(this,Yu),") starts analyzing---\n");console.log("".concat(t));for(const t of Lr()(this,Ku)){const i=t.collectResourceInfo();console.log("".concat(i.output));const r=Fu(this,Xu,Ju).call(this,i);t.onOccupancyLevelEvaluated(r),r>e&&(e=r)}const i=Fu(this,Qu,Zu).call(this,e);i!=Lr()(this,Hu)&&(clearInterval(Lr()(this,ju)),Wr()(this,ju,null),Wr()(this,Hu,i),this.monitor())}function Ju(e){let t=wi.n.LOW;return e.type==wi.f.TEXTURE?t=e.usedBytes<=31457280?wi.n.LOW:e.usedBytes<=94371840?wi.n.MEDIUM:e.usedBytes<=157286400?wi.n.HIGH:wi.n.OVERUSE:e.type==wi.f.VERTEX_BUFFER?t=e.usedBytes<=5242880?wi.n.LOW:e.usedBytes<=10485760?wi.n.MEDIUM:e.usedBytes<=15728640?wi.n.HIGH:wi.n.OVERUSE:e.type==wi.f.TEXTURE_BUFFER&&(t=e.usedBytes<=52428800?wi.n.LOW:e.usedBytes<=104857600?wi.n.MEDIUM:e.usedBytes<=209715200?wi.n.HIGH:wi.n.OVERUSE),t}function Zu(e){let t=0;switch(e){case wi.n.LOW:t=wi.o.LOW;break;case wi.n.MEDIUM:t=wi.o.MEDIUM;break;case wi.n.HIGH:t=wi.o.HIGH;break;case wi.n.OVERUSE:t=wi.o.OVERUSE;break;default:t=wi.o.MEDIUM}return t}var $u=class{constructor(e){Wu(this,Qu),Wu(this,Xu),Wu(this,qu),Bu(this,Hu,{writable:!0,value:wi.o.HIGH}),Bu(this,Ku,{writable:!0,value:[]}),Bu(this,ju,{writable:!0,value:null}),Bu(this,Yu,{writable:!0,value:""}),Wr()(this,Yu,e)}addObservable(e){Lr()(this,Ku).push(e)}removeObservable(e){const t=Lr()(this,Ku).indexOf(e);-1!=t&&Lr()(this,Ku).splice(t,1)}removeAllObservables(){Lr()(this,Ku).length=0}monitor(){Lr()(this,ju)||Wr()(this,ju,setInterval(()=>{Fu(this,qu,zu).call(this)},Lr()(this,Hu)))}cleanup(){this.removeAllObservables(),clearInterval(Lr()(this,ju)),Wr()(this,ju,null),Wr()(this,Hu,0)}};function el(e,t,i){tl(e,t),t.set(e,i)}function tl(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}var il=new WeakMap,rl=new WeakMap,al=new WeakMap,sl=new WeakMap,ol=new WeakMap,nl=new WeakMap,dl=new WeakMap,ul=new WeakMap,ll=new WeakMap,cl=new WeakMap,hl=new WeakMap,fl=new WeakSet;function pl(e){return void 0!==e&&"yPlaneTex"in e}var _l=class{constructor(){var e,t;tl(e=this,t=fl),t.add(e),el(this,il,{writable:!0,value:null}),el(this,rl,{writable:!0,value:null}),el(this,al,{writable:!0,value:null}),el(this,sl,{writable:!0,value:null}),el(this,ol,{writable:!0,value:null}),el(this,nl,{writable:!0,value:null}),el(this,dl,{writable:!0,value:null}),el(this,ul,{writable:!0,value:null}),el(this,ll,{writable:!0,value:null}),el(this,cl,{writable:!0,value:null}),el(this,hl,{writable:!0,value:""})}addRendererProviderModule(e){Wr()(this,cl,e)}setLabel(e){Wr()(this,hl,e)}async initialize(){if(navigator.gpu){if(!Lr()(this,il)&&(Wr()(this,il,await navigator.gpu.requestAdapter()),!Lr()(this,il)))return console.error("[WebGPUResManager] initialize() Couldn't request WebGPU adapter."),Object(Mi.h)("WebGPU device was lost: ".concat(info.message," reason=").concat(info.reason)),void Object(Mi.e)("WebGPUDeviceLost");Lr()(this,al)||(Wr()(this,al,await Lr()(this,il).requestDevice()),Lr()(this,al).lost.then(async e=>{"destroyed"!=e.reason&&(console.error("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(Mi.h)("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(Mi.e)("WebGPUDeviceLost")),Lr()(this,cl)&&Lr()(this,cl).rendererUnconfigureGPUContext(),this.cleanup(),"destroyed"!=e.reason&&(Wr()(this,al,null),await this.initialize(),Lr()(this,cl)&&Lr()(this,cl).rendererReinitialize())})),Lr()(this,rl)||("function"==typeof Lr()(this,il).requestAdapterInfo?Wr()(this,rl,await Lr()(this,il).requestAdapterInfo()):"info"in Lr()(this,il)&&Wr()(this,rl,Lr()(this,il).info)),Lr()(this,sl)||Wr()(this,sl,navigator.gpu.getPreferredCanvasFormat()),Lr()(this,ol)||Wr()(this,ol,new bd(Lr()(this,al))),Lr()(this,nl)||Wr()(this,nl,new zd(Lr()(this,al))),Lr()(this,dl)||Wr()(this,dl,new Vu(Lr()(this,al))),Lr()(this,ul)||Wr()(this,ul,new xu(Lr()(this,il))),Lr()(this,ll)||(Wr()(this,ll,new $u(Lr()(this,hl))),Lr()(this,ll).addObservable(Lr()(this,ol)),Lr()(this,ll).addObservable(Lr()(this,nl)),Lr()(this,ll).addObservable(Lr()(this,dl)),Lr()(this,ll).monitor())}else console.error("[WebGPUResManager] initialize() WebGPU is not supported!")}acquireGPUDevice(){return Lr()(this,al)}acquireCanvasFormat(){return Lr()(this,sl)}acquireGPUAdapterInfo(){return Lr()(this,rl)}destroyGPUDevice(){Lr()(this,al)&&(Lr()(this,al).destroy(),Wr()(this,al,null))}acquireGPUBufferMgr(){return Lr()(this,ol)}acquireGPUTextureMgr(){return Lr()(this,nl)}acquireGPUBufferPool(){return Lr()(this,dl)}acquireGPUFeaturesHelper(){return Lr()(this,ul)}cleanup(){Lr()(this,ol)&&(Lr()(this,ol).cleanup(),Wr()(this,ol,null)),Lr()(this,nl)&&(Lr()(this,nl).cleanup(),Wr()(this,nl,null)),Lr()(this,dl)&&(Lr()(this,dl).cleanup(),Wr()(this,dl,null)),Lr()(this,ul)&&(Lr()(this,ul).cleanup(),Wr()(this,ul,null)),Lr()(this,ll)&&(Lr()(this,ll).cleanup(),Wr()(this,ll,null)),Wr()(this,cl,null),this.destroyGPUDevice()}recycleTextureBufferGroup(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e&&Lr()(this,dl)){const i=e.getTextureBufferGroup();i&&i.buffer&&(i.bufferArray&&(i.bufferArray=null),Lr()(this,dl).recycle(i.buffer,i.bufferConfig,t),e.destroyTextureBufferGroup(this))}}recycleInUsedGPUBuffers(e){for(const[t,i]of e)for(const e of i)if(e){const t=e.getTextureBufferGroup();t&&t.buffer&&(t.bufferArray&&(t.bufferArray=null),Lr()(this,dl).recycle(t.buffer,t.bufferConfig)),e.destroyTextureBufferGroup(this)}}requestTextureBuffer(e){if(!Lr()(this,dl))return null;if(Object(ji.f)(this,e.size))return Object(Mi.h)("requestTextureBuffer() a buffer size that exceeds the max size of GPUBuffer is required.(size:".concat(e.size,")")),null;const t=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC;return e.usage=t,Lr()(this,dl).acquire(e)}destroyTextureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const i=e.getTextureGroup();if(!i)return;if(!Lr()(this,nl))return void Object(Mi.h)("destroyTextureGroup() mGPUTextureMgr is undefined!");const r=e.getTextureType();i&&(r==wi.x.GPU_TEX_YUV||r!=wi.x.GPU_TEX_RGBA&&function(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}(this,fl,pl).call(this,i)?(Lr()(this,nl).recycleTexture(i.yPlaneTex,t),Lr()(this,nl).recycleTexture(i.uPlaneTex,t),i.vPlaneTex&&Lr()(this,nl).recycleTexture(i.vPlaneTex,t)):Lr()(this,nl).recycleTexture(i,t),e.setTextureGroup(null))}};function ml(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var El=new WeakMap,gl=new WeakMap,Sl=new WeakMap,vl=new WeakMap,Cl=new WeakMap;var Al=class{constructor(e){ml(this,El,{writable:!0,value:""}),ml(this,gl,{writable:!0,value:new vs}),ml(this,Sl,{writable:!0,value:new Ed}),ml(this,vl,{writable:!0,value:new Os}),ml(this,Cl,{writable:!0,value:new _l}),Wr()(this,El,e),Lr()(this,Cl).addRendererProviderModule(Lr()(this,gl)),Lr()(this,Cl).setLabel(Lr()(this,El)),Lr()(this,Sl).setGPUResourceMgr(Lr()(this,Cl))}isEnableCanvasAlphaChannel(){return Lr()(this,Sl).isEnableCanvasAlphaChannel()}setCanvasAlphaChannelEnability(e){Lr()(this,Sl).setCanvasAlphaChannelEnability(e)}async evalRendererType(e){const t=await Lr()(this,gl).evaluate(e);console.log("[RenderManager] rendererType is ".concat(t))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const s=Lr()(this,gl).getRendererType(),o=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl));return Lr()(this,Sl).getVideoRenderDisplay(s,e,t,i,r,o,a)}createWebGLVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return Lr()(this,gl).isWebGL2RendererType()?Lr()(this,Sl).getWebGL2RenderDisplayMgr().createVideoRenderDisplay(e,t,i,null,r):Lr()(this,gl).isWebGLRendererType()?Lr()(this,Sl).getWebGLRenderDisplayMgr().createVideoRenderDisplay(e,t,i,null,r):null}createVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=Lr()(this,gl).getRendererType(),s=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl));return Lr()(this,Sl).createVideoRenderDisplay(a,e,t,i,s,r)}getSharingRenderDisplay(e,t,i){const r=Lr()(this,gl).getRendererType(),a=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl),!0);return i||(i={}),i.clearCache=!0,Lr()(this,Sl).getSharingRenderDisplay(r,e,t,a,i)}recycleRenderDisplay(e,t,i){const r=Lr()(this,gl).getRendererType();Lr()(this,Sl).recycleRenderDisplay(r,e,t,Lr()(this,Cl),i)}renderFor(e){if(Lr()(this,gl).isWebGPURendererType()){const t=Lr()(this,gl).getRendererType(),i=Lr()(this,Sl).collectInUseRenderDisplays(t,e);i&&i.forEach(e=>{const t=Lr()(this,gl).acquireRenderer(e.canvas,Lr()(this,Cl));Lr()(this,vl).render(t,e.renderDisplays)})}}renderWith(e){if(Lr()(this,gl).isWebGPURendererType()){const t=e.getAttachedCanvas();if(t){const i=Lr()(this,gl).acquireRenderer(t,Lr()(this,Cl)),r=[];r.push(e),Lr()(this,vl).render(i,r)}}}getRenderDisplayMap(e){const t=Lr()(this,gl).getRendererType();return Lr()(this,Sl).getRenderDisplayMap(t,e)}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return Lr()(this,gl).isWebGLRendererType()||Lr()(this,gl).isWebGL2RendererType()?Lr()(this,Sl).onRestoredFromContextLost(e,t,i,r,a,s):null}destroyUnusedVideoFrame(e){"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&Lr()(this,gl).isWebGPURendererType()&&e.close()}getRendererProvider(){return Lr()(this,gl)}getRenderDisplayManager(){return Lr()(this,Sl)}getWebGPUResMgr(){return Lr()(this,Cl)}cleanup(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Lr()(this,gl)&&Lr()(this,gl).cleanup(),Lr()(this,Sl)&&Lr()(this,Sl).cleanup(e,t,Lr()(this,Cl),i),i||Lr()(this,Cl)&&Lr()(this,Cl).cleanup()}clearOffscreenCanvas(e){Lr()(this,Sl)&&Lr()(this,Sl).cleanupByCanvas(e)}},Rl=i(24),Tl=i(22),Il=i(11),bl=i(56),Ol=i.n(bl),Dl=i(26),wl=i(36);function yl(e){if(!(Object(g.IsSupportTransferableDataChannel)()&&T.default.enableTransferDataChannel)||!e)return null;if("undefined"!=typeof DedicatedWorkerGlobalScope)return null;let t=K.dataTransportMgr;return null==t.mediadatachannel.netthreadworker&&(t.mediadatachannel.netthreadworker=pi(e,"net"),v.default.directReport("transferdatachannel supported")),t.mediadatachannel.netthreadworker}var Ml,Pl=i(37),Nl=i(17),Vl=i(21);const kl=null===(Ml=document.currentScript)||void 0===Ml?void 0:Ml.src;const Ul=new class{constructor(){this._isReuseStreamEnabled=!1,this._isStreamInReuseMap=new Map,this.presetedConstraints={audioConstraints:null,videoConstraints:null,audioTimer:null,videoTimer:null},this._deprecatedStream={audio:[],video:[]},this._captureVideoDeferred=null,this.audioConstraints=null,this.audioStream=null,this.isCaptureAudioInProgress=!1,this.audioCaptureElapsedTime=0,this.videoConstraints=null,this.videoStream=null,this.videoStreamTrack=null,this.captureVideoTimer=null,this.checkVideoStreamActiveTimer=null,this.isCaptureVideoInProgress=!1,this.isCapturingAudioFromDefault=!1,this.currentVideoResolution={width:0,height:0},this.streamProcessAbility={isSupportMediaStreamTrackProcessor:g.default.isSupportMediaStreamTrackProcessor(),isSupportVideoTrackReader:g.default.isSupportVideoTrackReader(),isSupportImageCapture:g.default.isSupportImageCapture()},this.mediaStreamTrackProcessor=null,this.reableStream=null,this.videoTrackReader=null,this.videoImageCapture=null,this.videoImageCaptureLocked=!1,this.isAppleGraphic=!1,this.isSupportFullHD=!1,this.facingMode=s.FACE_MODE_UNKNOW,this.VBMFlag=!1,this.audioBridge=null,this.webrtcFlag=!1,this.vbStream=null,this.vb=null,this.isVBEnabled=!1,this.updateVideoStream=null,this.isCaptureAudioFromFile=!1,this.blockUpgradeCapture={},this.videoCaptureSuccessHandler=null,this.videoCaptureFailedHandler=null,this.receivedVideoConstraints=null,this.onVBResolutionChange=null}enableReuseStream(e){this._isReuseStreamEnabled=!!e}_updateStreamInReuse(e,t){t?this._isStreamInReuseMap.set(e,!0):this._isStreamInReuseMap.delete(e)}_isStreamInReuse(e){return!!this._isStreamInReuseMap.get(e)}presetConstraints(e){let{audioConstraints:t,videoConstraints:i}=e;t&&(this.presetedConstraints.audioConstraints=this._getAudioConstraints(t)),i&&(this.presetedConstraints.videoConstraints=this._getVideoConstraints(i))}_clearPresetConstraints(){this.presetedConstraints.audioConstraints=null,this.presetedConstraints.videoConstraints=null}_getPresetAudioConstraints(){const{audioConstraints:e}=this.presetedConstraints;return this._clearPresetConstraints(),!(!e||this.audioStream||this.isCaptureAudioInProgress)&&e}_getPresetVideoConstraints(){const{videoConstraints:e}=this.presetedConstraints;return this._clearPresetConstraints(),!(!e||this.videoStream||this.isCaptureVideoInProgress)&&e}_pushDeprecatedStream(){let{audioStream:e,videoStream:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e&&this._deprecatedStream.audio.push(e),t&&this._deprecatedStream.video.push(t)}_destoryDeprecatedStream(){let{audio:e,video:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e&&(this._deprecatedStream.audio.forEach(e=>{try{this._destoryStream(e)}catch(e){v.default.error("Error when destroying deprecated audio stream",e)}}),this._deprecatedStream.audio=[]),t&&(this._deprecatedStream.video.forEach(e=>{try{this._destoryStream(e)}catch(e){v.default.error("Error when destroying deprecated video stream",e)}}),this._deprecatedStream.video=[])}setStreamProcessAbility(e){let{isSupportMediaStreamTrackProcessor:t,isSupportVideoTrackReader:i,isSupportImageCapture:r}=e;this.streamProcessAbility={...this.streamProcessAbility,...void 0!==t?{isSupportMediaStreamTrackProcessor:t}:{},...void 0!==i?{isSupportVideoTrackReader:i}:{},...void 0!==r?{isSupportImageCapture:r}:{}}}_isFileInputAudioSource(e){return e&&(e.audio instanceof HTMLVideoElement||e.audio instanceof HTMLAudioElement)}_getAudioConstraints(e){let{audioSource:t,isSupportBrowserAec:i,disableAudioAGC:r,disableNoiseSuppression:a,enableOriginalSound:s,enableStereo:o}=e;if(t instanceof HTMLVideoElement||t instanceof HTMLAudioElement)return{audio:t};let n=!1,d=g.default.getOSInfo();return n=i?{deviceId:t?{exact:t}:g.default.browser.isChrome&&"OpenHarmony"!=d.os?{exact:"default"}:void 0,autoGainControl:!r&&!s,noiseSuppression:!a&&!s,latency:0,echoCancellation:!o,channelCount:2,sampleRate:48e3}:{deviceId:t?{exact:t}:g.default.browser.isChrome&&"OpenHarmony"!=d.os?{exact:"default"}:void 0,autoGainControl:!r&&!s,noiseSuppression:!a&&!s,latency:0,echoCancellation:i&&!o,channelCount:2,sampleRate:48e3},n}_isSameAudioConstraintsAsPrev(e){return!this._isFileInputAudioSource(e)&&(!(!this.audioConstraints||!Object(g.deepEqual)(this.audioConstraints,e))&&(!!this.audioStream&&!!this._isStreamHasAudio(this.audioStream)))}_destoryStream(e){let{audioOnly:t,videoOnly:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&!g.default.audioToMediaStreamMananger.isAudioFileStream(e)){let r=[];r=t?e.getAudioTracks():i?e.getVideoTracks():e.getTracks(),r.forEach(e=>{e.stop()})}}_isStreamHasAudio(e){const t=e.getAudioTracks();return t&&t.length>0}_isStreamHasVideo(e){const t=e.getVideoTracks();return t&&t.length>0}destoryAudioMediaStream(){this.audioStream?(this._isFileInputAudioSource(this.audioConstraints)&&g.default.audioToMediaStreamMananger.stopCapture(),this._isReuseStreamEnabled?this._updateStreamInReuse(this.audioStream,!0):(this._updateStreamInReuse(this.audioStream,!1),this._destoryStream(this.audioStream),this.audioStream=null,this.audioConstraints=null,this.audioCaptureElapsedTime=0,this._destoryDeprecatedStream({audio:!0}))):this._destoryDeprecatedStream({audio:!0}),this.enableReuseStream(!1)}shouldCaptureAudio(){return!this.audioStream||this._isStreamInReuse(this.audioStream)}muteUnmuteAudioMediaStream(e){if(this.audioStream){(this.audioStream.getAudioTracks()||[]).forEach(t=>{t.enabled=!e})}}_storeAudioStream(e,t,i){e&&(Ll("audio stream is ok"),this.destoryAudioMediaStream(),this.audioStream=e,this.audioConstraints=t,i&&this._setPresetAudioStreamAutoStopTimer())}_setPresetAudioStreamAutoStopTimer(){this._clearPresetAudioStreamAutoStopTimer(),this.presetedConstraints.audioTimer=setTimeout(()=>{this.destoryAudioMediaStream()},1e4)}_clearPresetAudioStreamAutoStopTimer(){this.presetedConstraints.audioTimer&&(clearTimeout(this.presetedConstraints.audioTimer),this.presetedConstraints.audioTimer=null)}addAudioTrackSettingsMonitor(e,t){const i=null==e?void 0:e.getSettings();A.default.add_monitor(t+":"+(null==i?void 0:i.channelCount)+":"+(null==i?void 0:i.echoCancellation)+":"+(null==i?void 0:i.autoGainControl)+":"+(null==i?void 0:i.noiseSuppression))}_handleAudioCaptureSuccess(e,t,i,r){this._clearPresetAudioStreamAutoStopTimer(),r||this._storeAudioStream(e,t),this._updateStreamInReuse(e,!1);let o=e.getAudioTracks()[0];o?(A.default.add_monitor("ATRS:"+o.readyState+":"+o.id),A.default.add_monitor("ATMS:"+o.muted+":"+o.id),this.addAudioTrackSettingsMonitor(o,"NormalAudioCapture"),o.onended=async()=>{if(!await _r.hasPermission("microphone"))return A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-R"),void Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.PERMISSION_RESET);let e=await navigator.mediaDevices.enumerateDevices(),t=!1;e.forEach(e=>{var i;"audioinput"==e.kind&&(null===(i=e.label)||void 0===i||null===(i=i.replace(/\(\w+:\w+\)|,/gi,""))||void 0===i?void 0:i.trim())==_r.getMicLabel()&&e.deviceId==_r.getMicId()&&(t=!0)}),t?(Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION),A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-L")):A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-I")},o.muted?(T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_MUTED,s.REMINDER_AFTER_MUTED),this.audioBridge&&(this.audioBridge.isMutedBySystem=!0)):(T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED),this.audioBridge&&(this.audioBridge.isMutedBySystem=!1)),o.onmute=()=>{A.default.add_monitor("ATMS:"+o.muted+":"+o.id);const e=this.audioStream.getAudioTracks()[0];e&&e.id===o.id&&(this.audioBridge&&(this.audioBridge.isMutedBySystem=!0),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_MUTED,s.RECAPTURE_AUDIO_AFTER_MUTED))},o.onunmute=()=>{A.default.add_monitor("ATMS:"+o.muted+":"+o.id);const e=this.audioStream.getAudioTracks()[0];e&&e.id===o.id&&(this.audioBridge&&(this.audioBridge.muted||this.audioBridge.unmute(),this.audioBridge.isMutedBySystem=!1),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED))}):A.default.add_monitor("TN"),i(e)}_genAudioStream(e){try{const t=e.getAudioTracks();if(0===t.length)return null;return new MediaStream(t)}catch(t){return v.default.warn("_genAudioStream",t),this._destoryStream(e,{videoOnly:!0}),e}}_genVideoStream(e){try{const t=e.getVideoTracks();if(0===t.length)return null;return new MediaStream(t)}catch(t){return v.default.warn("_genVideoStream",t),this._destoryStream(e,{audioOnly:!0}),e}}_splitAudioStream(e,t,i,r){const{audio:a,video:s}=t;if(s&&this._isStreamHasVideo(e)){const t=this._genAudioStream(e),o=this._genVideoStream(e);return t?this._handleAudioCaptureSuccess(t,a,i):r(new Error("audio stream do not contains audio track ")),void(o&&(this.videoStream?this._pushDeprecatedStream({videoStream:o}):(this._updateStreamInReuse(o,!0),this._storeVideoStream(o,s,!0))))}this._handleAudioCaptureSuccess(e,a,i)}async _captureFileInputAudioStream(e){const{audio:t}=e;try{if(!await new Promise((e,i)=>{t.currentTime>0&&!t.paused&&!t.ended&&e(!0);const r=()=>{e(!0),t.removeEventListener("timeupdate",r)};t.addEventListener("timeupdate",r),setTimeout(()=>i(!1),1e4)}))throw new Error("audio file playing failed");return g.default.audioToMediaStreamMananger.startCapture(t)}catch(e){console.error(e);const t=new Error("capture stream from file input souce failed");throw t.name="FileInputSouceError",t}}async startCaptureAudio(e){var t,i;let{audioConstraints:r,successHandler:a,errorHandler:s}=e;this.enableReuseStream(!1);const o=!!r&&this._getAudioConstraints(r),n=this._isFileInputAudioSource(o);this.isCaptureAudioFromFile=n;const d=this._isSameAudioConstraintsAsPrev(o),u=this._getPresetVideoConstraints();if(this._clearPresetAudioStreamAutoStopTimer(),d)return this.audioCaptureElapsedTime=-2,void this._handleAudioCaptureSuccess(this.audioStream,o,a,!0);const l={audio:o,video:n?null:u};this.isCaptureAudioInProgress=!0;let c=Date.now();g.default.isIphoneOrIpadSafari()&&(this._captureVideoDeferred&&await this._captureVideoDeferred.promise,this._captureVideoDeferred=new g.Deferred),this.destoryAudioMediaStream(),A.default.add_monitor("RGUMA"),document.removeEventListener("visibilitychange",xl),this.isCapturingAudioFromDefault="default"===(null==l||null===(t=l.audio)||void 0===t?void 0:t.deviceId)||!(null!=l&&null!==(i=l.audio)&&void 0!==i&&i.deviceId),(n?this._captureFileInputAudioStream(o):navigator.mediaDevices.getUserMedia(l)).then(e=>{if(T.default.ComputerAudioStatus===R.a.ComputerAudio_Null)return v.default.log("getUserMedia successfully but UI has called leave audio"),void e.getAudioTracks().forEach(e=>{e.stop()});this.audioCaptureElapsedTime=Date.now()-c,this._splitAudioStream(e,l,a,s)}).catch(e=>{T.default.ComputerAudioStatus!==R.a.ComputerAudio_Null?(n||_r.updateSelectedMicDevices(o.deviceId&&o.deviceId.exact||"default","getUsermedia failed",Date.now()-c,!1),s(e)):v.default.log("getUserMedia failed but UI has called leave audio")}).finally(()=>{this.isCaptureAudioInProgress=!1,this._captureVideoDeferred&&this._captureVideoDeferred.resolve()})}_isFileInputVideoSource(e){return e&&e.video instanceof HTMLVideoElement}isUsingFileInputVideoSource(){return this._isFileInputVideoSource(this.videoConstraints)}_getFileInputSourceSize(e,t){const i=[90,180,360,720];return t||(t=360),t>720&&(t=720),t<90&&(t=90),-1===i.indexOf(t)&&i.some((e,r)=>e>t&&(t=(e+i[r-1])/2<t?e:i[r-1],!0)),{width:16/9*t,height:t}}_getVideoConstraints(e){let{videoSource:t,usingFacingMode:i,width:r,height:a,pan:o,tilt:n,zoom:d,fps:u}=e;if(t instanceof HTMLVideoElement)return{video:t,...r&&a?this._getFileInputSourceSize(r,a):{}};let l=!1,c=u||s.VIDEO_CAPTURE_FPS;c>s.MAX_VIDEO_CAPTURE_FPS&&(c=s.MAX_VIDEO_CAPTURE_FPS),c<s.MIN_VIDEO_CAPTURE_FPS&&(c=s.VIDEO_CAPTURE_FPS),navigator.hardwareConcurrency&&navigator.hardwareConcurrency<4&&c>s.LOWER_VIDEO_CAPTURE_FPS&&(c=s.LOWER_VIDEO_CAPTURE_FPS),this.webrtcFlag&&(c={min:s.VIDEO_CAPTURE_FPS,max:s.MAX_VIDEO_CAPTURE_FPS,ideal:s.MAX_VIDEO_CAPTURE_FPS});const h=c,f=["user","environment","left","right"];if(this.webrtcFlag)if(i)l=!f.includes(t)||{facingMode:{exact:t},frameRate:h};else{const{width:e,height:i}=this.currentVideoResolution,s=0!=e&&0!=i;let u=s?e:r||640,c=s?i:a||360;u>=1280&&(u=1280,c=720),l={width:{min:u,ideal:u},height:{min:c,ideal:c},deviceId:t?{exact:t}:void 0,frameRate:h,pan:o,tilt:n,zoom:d}}else if(i)l=!t||(f.includes(t)?{facingMode:{exact:t}}:{deviceId:{exact:t}});else if(g.default.browser.isSafari)l=!t||{deviceId:{exact:t}};else{const{width:e,height:i}=this.currentVideoResolution,s=0!=e&&0!=i;let u=s?e:r||640,c=s?i:a||360;u>=1920&&!g.default.get1080pcapacity()&&(u=1280,c=720),l={width:{min:u,ideal:u},height:{min:c,ideal:c},deviceId:t?{exact:t}:void 0,frameRate:h,pan:o,tilt:n,zoom:d}}return l}_getVideoIdealWidthHeight(e){let{videoSource:t,usingFacingMode:i,width:r,height:a}=e;if(t instanceof HTMLVideoElement||this.webrtcFlag)return!0;if(i)return!0;if(g.default.browser.isSafari)return!0;{const{width:e,height:t}=this.currentVideoResolution||{},i=0!=e&&0!=t;let s=i?e:r||640,o=i?t:a||360;return s>=1920&&!g.default.get1080pcapacity()&&(s=1280,o=720),{width:{ideal:s},height:{ideal:o}}}}_updateVideoConstraints(e){return this.videoStreamTrack?this.videoStreamTrack.applyConstraints(e).catch(t=>{const{readyState:i}=this.videoStreamTrack;if(v.default.error("Applying video constraints failed "+i+JSON.stringify(e),t),"ended"===i){const{width:e,height:t}=this.currentVideoResolution,{deviceId:i}=this.videoStreamTrack.getSettings();this.blockUpgradeCapture[i]=!0,this.destoryVideoMediaStream();const r={...this.receivedVideoConstraints};e&&(r.width=e),t&&(r.height=t),this.startCaptureVideo({videoConstraints:r,timeout:null}).catch(e=>{v.default.error("Recapture video failed: ",e),A.default.add_monitor("RECPF")})}return Promise.reject(t)}):Promise.reject(new Error("video stream not exist! update video constraints failed"))}changeVideoResolution(e,t,i){if(this.isUsingFileInputVideoSource())return Promise.reject(new Error("Reject upgrade caputre, reason: using file input video source"));if(this.videoStreamTrack){if(e>=1920&&!this.isSupportFullHD&&(e=1280,t=720),this.videoStreamTrack.getSettings){let r=this.videoStreamTrack.getSettings();if(Math.abs(r.width-e)<50)return Promise.reject(new Error("Reject upgrade caputre, reason: width change less than 50"));if((e>r.width||t>r.height||i>r.frameRate)&&this.blockUpgradeCapture[r.deviceId])return Promise.reject(new Error("Reject upgrade caputre, reason: block upgrade capture"))}A.default.add_monitor("CCWidth"+e);let r=void 0;r=this.webrtcFlag?{min:s.VIDEO_CAPTURE_FPS,max:s.MAX_VIDEO_CAPTURE_FPS,ideal:i}:{max:s.MAX_VIDEO_CAPTURE_FPS,ideal:i};let a={width:{min:e,ideal:e},height:{min:t,ideal:t},frameRate:r,aspectRatio:this.platformType==s.WCL_PLATFORM_TYPE.DESKTOP?{ideal:16/9}:void 0};return this._updateVideoConstraints(a).then(()=>{if(this.currentVideoResolution={width:e,height:t},this.webrtcFlag&&this.isVideoStreamProcessed()){const e=this.videoStream.getVideoTracks()[0];if(e){const{width:t,height:i}=e.getSettings();return new Promise((e,r)=>{const a=setTimeout(()=>{this.onVBResolutionChange=null,r()},150);this.onVBResolutionChange=r=>{r.width===t&&r.height===i&&(clearTimeout(a),this.onVBResolutionChange=null,e())}})}}})}return Promise.reject(new Error("video stream not exist! change video resolution failed"))}_isSameVideoConstraintsAsPrev(e){return!this._isFileInputVideoSource(e)&&(!(!this.videoConstraints||!Object(g.deepEqual)(this.videoConstraints,e))&&(!!this.videoStream&&!!this._isStreamHasVideo(this.videoStream)))}_clearCaptureVideoTimer(){this.captureVideoTimer&&(clearTimeout(this.captureVideoTimer),this.captureVideoTimer=null)}destoryVideoMediaStream(){this.videoStream?(this._isFileInputVideoSource(this.videoConstraints)&&g.default.videoToMediaStreamManager.stopCapture(),this.vbStream&&this.stopVBStream(),this.processedStream=null,this._isReuseStreamEnabled?this._updateStreamInReuse(this.videoStream,!0):(this._updateStreamInReuse(this.videoStream,!1),this._destoryStream(this.videoStream),this.videoStream=null,this.videoStreamTrack=null,this.videoConstraints=null,this._destoryDeprecatedStream({video:!0}))):this._destoryDeprecatedStream({video:!0}),this._isReuseStreamEnabled||this._clearCaptureVideoTimer(),this.enableReuseStream(!1),this.destoryVideoProcessor(),this._clearCheckVideoStreamActiveTimer()}shouldCaptureVideo(){return!this.videoStream||this._isStreamInReuse(this.videoStream)}_clearCheckVideoStreamActiveTimer(){this.checkVideoStreamActiveTimer&&(clearTimeout(this.checkVideoStreamActiveTimer),this.checkVideoStreamActiveTimer=null)}checkVideoStreamActive(){return new Promise((e,t)=>{this._clearCheckVideoStreamActiveTimer(),this.checkVideoStreamActiveTimer=setTimeout(()=>{this.videoStream?!1===this.videoStream.active?t(new J.CameraOccupiedError("VideoMediaStram.active equals false")):e(!0):t(!1)},1e3)})}destoryVideoProcessor(){if(this.videoTrackReader){try{this.videoTrackReader.stop()}catch(e){v.default.error("Error when destroying video track reader",e)}this.videoTrackReader=null}if(this.mediaStreamTrackProcessor){if(this.mediaStreamTrackProcessor=null,_t({command:"releaseStream"}),this.reableStream&&this.reableStream.close)try{this.reableStream.close()}catch(e){v.default.error("Error when destroying mediaStreamTrackProcessor",e)}this.reableStream=null}this.videoImageCapture=null,this.unLockImageCapture()}lockImageCapture(){this.videoImageCaptureLocked=!0}unLockImageCapture(){this.videoImageCaptureLocked=!1}isImageCaptureLocked(){return this.videoImageCaptureLocked}_createVideoProcessor(){this.videoStreamTrack?this.streamProcessAbility.isSupportMediaStreamTrackProcessor?(this.mediaStreamTrackProcessor=new MediaStreamTrackProcessor(this.videoStreamTrack),this.reableStream=this.mediaStreamTrackProcessor.readable,_t({command:"releaseStream"}),mt("frameStream",this.reableStream),A.default.add_monitor("VCTP")):this.streamProcessAbility.isSupportVideoTrackReader?(this.videoTrackReader=new VideoTrackReader(this.videoStreamTrack),A.default.add_monitor("VCTR")):this.streamProcessAbility.isSupportImageCapture&&(this.videoImageCapture=new ImageCapture(this.videoStreamTrack),A.default.add_monitor("VCIC")):v.default.error("Video stream track does not exist - cannot create video processor")}_storeVideoStream(e,t,i){e&&(Ll("video stream is ok"),this.destoryVideoMediaStream(),this.videoStream=e,this.videoStreamTrack=this.videoStream.getVideoTracks()[0],this.videoConstraints=t,i&&this._setPresetVideoStreamAutoStopTimer())}_setPresetVideoStreamAutoStopTimer(){this._clearPresetVideoStreamAutoStopTimer(),this.presetedConstraints.videoTimer=setTimeout(()=>{this.destoryVideoMediaStream()},1e4)}_clearPresetVideoStreamAutoStopTimer(){this.presetedConstraints.videoTimer&&(clearTimeout(this.presetedConstraints.videoTimer),this.presetedConstraints.videoTimer=null)}_handleVideoCaptureSuccess(e,t,i,r){this._clearPresetVideoStreamAutoStopTimer(),r||this._storeVideoStream(e,t),this.webrtcFlag||this._createVideoProcessor(),this._updateStreamInReuse(e,!1),this.isVBEnabled?this.startVBStream().then(()=>{i(e)}).catch(()=>{}):i(e)}getVideoCapabilities(){if(this.videoStream&&(this.videoStreamTrack||(this.videoStreamTrack=this.videoStream.getVideoTracks()[0]),this.videoStreamTrack)){if(this.videoStreamTrack.getCapabilities)return this.videoStreamTrack.getCapabilities()||{};if(this.videoStreamTrack.getSettings)return this.videoStreamTrack.getSettings()||{}}return{}}getAudioCapabilities(){let e=null,t=null;if(this.audioStream){let i=this.audioStream.getAudioTracks()[0];i&&(e=i.getSettings().deviceId,t=i.label)}return{deviceId:e,elapsed_time:this.audioCaptureElapsedTime,deviceLabel:t}}getAudioDeviceId(){return this.isCapturingAudioFromDefault?null:this.getAudioCapabilities().deviceId}_splitVideoStream(e,t,i,r){const{audio:a,video:s}=t;if(a&&this._isStreamHasAudio(e)){const t=this._genVideoStream(e),o=this._genAudioStream(e);return t?this._handleVideoCaptureSuccess(t,s,i):r(new Error("video stream do not contains video track ")),void(o&&(this.audioStream?this._pushDeprecatedStream({audioStream:o}):(this._updateStreamInReuse(o,!0),this._storeAudioStream(o,a,!0))))}this._handleVideoCaptureSuccess(e,s,i)}async _captureFileInputVideoStream(e){const{video:t}=e;try{if(!await new Promise((e,i)=>{t.currentTime>0&&!t.paused&&!t.ended&&e(!0);const r=()=>{e(!0),t.removeEventListener("timeupdate",r)};t.addEventListener("timeupdate",r),setTimeout(()=>i(!1),1e4)}))throw new Error("video file playing failed");if(!e.width||!e.height){const{width:i,height:r}=_getFileInputSourceSize(t.videoWidth,t.videoHeight);e.width=i,e.height=r}return g.default.videoToMediaStreamManager.startCapture(t,e.width,e.height)}catch(e){console.error(e);const t=new Error("capture stream from file input souce failed");throw t.name="FileInputSouceError",t}}async startCaptureVideo(e){let{videoConstraints:t,timeout:i,successHandler:r=this.videoCaptureSuccessHandler,errorHandler:a=this.videoCaptureFailedHandler}=e;this.videoCaptureSuccessHandler=r,this.videoCaptureFailedHandler=a,this.receivedVideoConstraints=t,this._captureVideoDeferred&&await this._captureVideoDeferred.promise,this.enableReuseStream(!1);const o=!!t&&this._getVideoConstraints(t),n=this._isFileInputVideoSource(o),d=this._isSameVideoConstraintsAsPrev(o),u=this._getPresetAudioConstraints();if(this._clearPresetVideoStreamAutoStopTimer(),A.default.add_monitor("STARTVIDEOCAPTURE:".concat(!!this._captureVideoDeferred,":").concat(d)),d)return void this._handleVideoCaptureSuccess(this.videoStream,o,r,!0);this.destoryVideoMediaStream();const l={audio:n?null:u,video:o};Ll("try to getusermedia",l),A.default.add_monitor("VCFC: ".concat(Object(g.replaceComma)(JSON.stringify(l)),"|isFileInputVideoSource:").concat(n));try{this.isCaptureVideoInProgress=!0;let e,d=!1;this._clearCaptureVideoTimer(),i&&(this.captureVideoTimer=setTimeout(()=>{if(!e){d=!0;const e=new Error("GetUserMedia timeout");a(e)}},i));let u=Date.now();if(n)e=await this._captureFileInputVideoStream(o);else try{e=await navigator.mediaDevices.getUserMedia(l)}catch(i){let r=!0;if(i instanceof OverconstrainedError){r=this._getVideoIdealWidthHeight(t),r instanceof Object&&(r=Object.assign({},l.video,r));try{e=await navigator.mediaDevices.getUserMedia(Object.assign({},l,{video:r})),a(i,!0)}catch(e){a(e)}}else a(i)}if(this._clearCaptureVideoTimer(),!e)return;{let t=e.getVideoTracks()[0];if(t&&t.getCapabilities){var c;let e=t.getCapabilities();(null==e||null===(c=e.width)||void 0===c?void 0:c.max)>=1920&&(this.isSupportFullHD=!0)}let i=t.getSettings();const{width:r,height:a,frameRate:o,facingMode:n,deviceId:l}=i||{};this.facingMode="user"===n?s.FACE_MODE_USER:"environment"===n?s.FACE_MODE_ENVIRONMENT:s.FACE_MODE_UNKNOW;const h={width:r,height:a,frameRate:o,facingMode:n};A.default.add_monitor("CapturedVT: ".concat(Object(g.replaceComma)(JSON.stringify(h))));let f=t.label;if(d)return this._destoryStream(e),void _r.updateSelectedCameraDevices(l,f,r,a,o,Date.now()-u,!1);_r.updateSelectedCameraDevices(l,f,r,a,o,Date.now()-u,!0)}this._splitVideoStream(e,l,r,a)}catch(e){a(e)}finally{this.isCaptureVideoInProgress=!1}}playVideoStream(e){if(e){e.setAttribute("muted",""),e.setAttribute("playsinline","");try{e.srcObject=this.getVideoStream()}catch(t){e.src=URL.createObjectURL(this.getVideoStream())}const t=e.play();return t?t.then(()=>{}).catch(e=>{if(!e.message.includes("The play() request was interrupted")&&!e.message.includes("The fetching process for the media resource was aborted"))throw v.default.warn("Video element playback failed",e),e}):Promise.resolve(void 0)}return Promise.reject(new Error("video dom node not provided!"))}removeVideoStream(e){if(e){(()=>{!e.paused&&e.pause(),e.srcObject&&(e.srcObject=null),e.src&&(e.src=null)})()}}destoryReuseStream(){let{audio:e,video:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.enableReuseStream(!1),e&&this.destoryAudioMediaStream(),t&&this.destoryVideoMediaStream()}async initVB(e){if(!this.vb){const e=kl.substring(0,kl.lastIndexOf("/"));let t;this.vb=new Ol.a({cdnPath:e}),this.vb.ontimeout3s=()=>{A.default.add_monitor("VBP3S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_3S,null)},this.vb.ontimeout10s=()=>{A.default.add_monitor("VBP10S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_10S,null)},this.vb.onMessage(e=>{const{cmd:i,payload:r}=e;if(i===Dl.VB_EVENT_TYPE.VB_MODEL_READY)t=performance.now();else if(i===Dl.VB_EVENT_TYPE.VB_PREDICT_DONE){const i=performance.now()-t;A.default.add_monitor("VBPOK"+i),A.default.add_monitor("TFBE-"+e.payload)}else if(i===Dl.VB_EVENT_TYPE.VB_GENERATE_FIRST_FRAME&&this.isVBEnabled&&this.updateVideoStream)this.updateVideoStream(this.vbStream);else if(i===Dl.VB_EVENT_TYPE.VB_WORKER_ERROR){switch(r.message){case Dl.VB_VIDEOFRAME_COPYTO_ERROR:Object(J.NotifyUIError)(a.VB_PROCESS_IMAGE_FAIL)}v.default.error("VB module error: ",r)}else i===Dl.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE&&this.onVBResolutionChange&&this.onVBResolutionChange(r)}),A.default.add_monitor("CWMSCVB")}this.updateVideoStream=e;try{await this.vb.initialize(),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_OK,null)}catch(e){v.default.error("VB initialize failed",e),A.default.add_monitor("VBBEF");const{VB_SETTING_PARA_ERROR_TYPE:t}=a;T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,t.FAIL)}}async changeVBImage(e){if(this.isVBEnabled=!0,"blur"===e)this.vb.set_background_blur();else{this.vb.set_background_image(e)||v.default.error("WebRTC change VB background failed")}if(!this.vbStream&&this.videoStream)try{await this.startVBStream()}catch(e){v.default.error("WebRTC startVBStream failed",e)}}startVBStream(){return this.videoStream.getVideoTracks()[0]?(this.vbStream=this.vb.createStream(),this.vb.captureVideo(this.videoStream)):Promise.reject("start vb stream fail")}stopVBStream(){this.vbStream=null,this.vb.stopCapture(!1)}disableVB(){this.isVBEnabled=!1,this.updateVideoStream&&this.updateVideoStream(this.videoStream),this.stopVBStream()}getVideoStream(){return this.processedStream?this.processedStream:this.isVBEnabled?this.vbStream:this.videoStream}isVideoStreamProcessed(){return this.getVideoStream()!=this.videoStream}async adjustShareResUnder2K(e){const{height:t,width:i}=e.getSettings(),r=t>=i;if((r?i:t)>1440||(r?t:i)>2560){const t=e.getConstraints();t.height=r?2560:1440,t.width=r?1440:2560;try{await e.applyConstraints(t)}catch(t){Ll.error("browser does not support applyConstraints",t),A.default.add_monitor("SVSTACF: ".concat(e.readyState))}}}getScaledResolution(e,t){if(e>t&&e>2560){let i=e/2560,r=t/1440;return i>r?{w:2560,h:Math.floor(t/i)}:{w:Math.floor(e/r),h:1440}}return{w:e,h:t}}},Ll=Object(S.a)("sdk");function xl(){document.hidden||(A.default.add_monitor("RE-CAPTURE"),T.default.Notify_APPUI_SAFE(a.RECAPTURE_AUDIO),document.removeEventListener("visibilitychange",xl))}let Wl=!1;try{Wl=!1}catch(e){}var Bl=0;const Gl=e=>{switch(window.orientation){case 0:Bl=1;break;case 90:Bl=2;break;case 180:Bl=3;break;case-90:default:Bl=0}};function Fl(){return g.default.isIphoneOrIpadSafari()}function Hl(e){let t=a.CAPTURE_FAILED_REASON.UNKNOWN_REASON,i="Unknown reason";return"NotAllowedError"===(null==e?void 0:e.name)?"Permission denied by system"===(null==e?void 0:e.message)?(t=a.CAPTURE_FAILED_REASON.SYSTEM_DENIED,i="Permission denied by system"):"Permission denied"===(null==e?void 0:e.message)||null!=e&&e.message.includes("The request is not allowed by the user agent or the platform in the current context")?(t=a.CAPTURE_FAILED_REASON.USER_DENIED,i="Permission denied by user"):"Permission dismissed"===e.message&&(t=a.CAPTURE_FAILED_REASON.USER_DISMISS,i="Permission dismissed by user"):"NotFoundError"===(null==e?void 0:e.name)?"The object can not be found here."===e.message?(t=a.CAPTURE_FAILED_REASON.SYSTEM_DENIED,i="Permission denied by system"):"Requested device not found"===e.message&&(t=a.CAPTURE_FAILED_REASON.NO_DEVICE,i="No device found"):"NotReadableError"!==(null==e?void 0:e.name)&&"TrackStartError"!==(null==e?void 0:e.name)||"Device in use"!==(null==e?void 0:e.message)?"OverconstrainedError"===(null==e?void 0:e.name)&&(t=a.CAPTURE_FAILED_REASON.OVERCONSTRAINED,i="Constraint violation"):(t=a.CAPTURE_FAILED_REASON.DEVICE_IN_USE,i="Device in use"),{errorCode:t,errorMessage:i,error:e}}!function(){try{var e,t,i;null!==(e=screen)&&void 0!==e&&e.orientation,null===(t=window)||void 0===t||t.removeEventListener("orientationchange",Gl),null===(i=window)||void 0===i||i.addEventListener("orientationchange",Gl),Gl()}catch(e){}}(),document.addEventListener("visibilitychange",()=>{let e=g.default.getMachineCapability();A.default.add_monitor("page_visibility:".concat(document.visibilityState)),document.hidden?(e.unvisibilitycount++,e.visibility=!1):e.visibility=!0}),function(e){try{const t="undefined"!=typeof DedicatedWorkerGlobalScope;if(K.dataTransportMgr)return;let i=new W({type:t?W.THREAD_SUB:W.THREAD_MAIN,remote:t?self:null});K.dataTransportMgr=i,i.monitorlogfn=e,t&&self.addEventListener("message",i._onrecvmainthreadlistener.bind(i))}catch(e){console.error("<<<< InitDataTransportModule",e)}}();var Kl=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Ll("sdkProps",t),A.default.reset(),Ul.webrtcFlag=!1,this._id=(new Date).getTime()+Math.floor(performance.now()),t.parentPath){const e=t.parentPath.endsWith("/")?t.parentPath:t.parentPath+"/";i.p=e}else{const e=null==kl?void 0:kl.indexOf("js_media.min.js");e?i.p=null==kl?void 0:kl.substring(0,e):Ll("could not locate parentPath")}if(this.lateLoadedAssetsHash={},t.globalTracingLogger&&v.default.setInstance(t.globalTracingLogger,Kl.fixVersion),v.default.clearHighFrequencyLogs(),this.isSupportThread="object"==typeof WebAssembly&&"function"==typeof Worker,!this.isSupportThread)throw new Error("Webassemly or worker is not supported on this browser");let r=T.default.sharedBuffer;T.default.reinit(this),r&&(T.default.sharedBuffer=r),this.localLog=null,Wl&&(this.localLog=new Nr,this.localLog.init()),_r.init(),this.userId="",this.selfPreviewVideotagList=[],this.sharingCanvasList=[],this.mainSharingCanvas=null,this.annoCanvas=null,this.audioCtx=null,this.sharingAudioCtx=null,this.webrtcAudioNode=null,this.sharingWebrtcAudioNode=null,this.videoRenderArray=[],this.videoCaptureValue=null,this.audioRenderArray=[],this.audioCapture=null,this.deviceInfo=new Map,this.display=[],this.sampleRate=null===(e=this.audioCtx)||void 0===e?void 0:e.sampleRate,this.videoRenderIntervalHandle=null,this.audioDomNode=null,this.audioSpeakerValue=null,this.audioSpeakerSetErrorCnt=0,this.audioMicSetErrorCnt=0,this.audionoderecordbuffersize=2048,this.lastresidual=null,this.currentactive=0,this.audioPlay=!1,this.sharingInterval=null,this.sharingIntervalTime=100,this.sharingDisplay=null,this.currentshareactive=0,this.activeSpeakerSsrc=0,this.videorenderinterval=30,this.waterMarkCanvas=null,this.videoCaptureHiddenCanvas=null,this.videoCaptureHiddenCanvasCtx=null,this.isSetCursor=!1,this.logon=!1,this.canvas=null,this.firstSetDelay=!0,this.isSelfViewWithVideo=!1,this.isSupportOffscreenCanvas=g.default.isSupportOffscreenCanvas(),this.isSupportImageCapture=g.default.isSupportImageCapture(),this.isSharingSupportImageCapture=this.isSupportImageCapture,this.isSupportVideoTrackReader=g.default.isSupportVideoTrackReader(),this.isSupportSharingTrackReader=this.isSupportVideoTrackReader,this.isSupportVideoShare=g.default.isSupportVideoShareReceive()&&g.default.isSupportVideoShareSend(),this.isSupportMediaStreamTrackProcessor=g.default.isSupportMediaStreamTrackProcessor(),this.isSupportVideoFrameOrBitmapCapture=g.default.isSupportVideoFrameOrBitmapCapture(),this.isMultipleCanvasForMultipleView=0,this.canISendNextSharingFrame=!0,this.isCaputureNodeConnect=!1,this.isSharingCaptureNodeConnect=!1,this.audioWorkletJsPath=null,this.isSupportChromeWideAEC=g.default.isSupportChromeWideAEC(),this.isSupport2DCanvasDrawFrame=g.default.isSupport2DCanvasDrawFrame(),this.MaskImage=null,this.BgImage=null,this.bgCanvas=null,this.bgCanvasctx=null,this.isCurrentInMaskStatus=!1,this.isCurrentInNoVBPreviewStatus=!1,this.videoNoVBPreviewCanvas=null,this.videoNoVBPreviewCanvasctx=null,this.isVideoNoVBPreviewCanvasScaled=!1,this.maskCoordinate={dx:0,dy:0,dWidth:0,dHeight:0},this.VideoMaskSettingCanvas=null,this.VideoMaskSettingCanvasctx=null,this.PrevVideoMaskSettingCanvas=null,this.VideoMaskCanvasFillMode=0,this.isMaskSettingOn=!1,this.isMaskSettingStarted=!1,this.MaskData=null,this.MaskSettingVideo=null,this.ReadyCapureWidth=640,this.ReadyCapureHeight=360,this.bgImageCroppingParams={sx:0,sy:0,sw:0,sh:0},this.VideoVBSettingCanvas=null,this.isVBSettingOn=!1,this.sMonitorCaptureFrameCount=0,this.vMonitorCaptureFrameCount=0,this.videoCaptureInterval=0,this.isStartVideoCapture=!1,this.videoCaptureWidth=0,this.videoCaptureHeight=0,this.videoCaptureContext=null,this.isCreateVideoWaterMark=!1,this.videoWaterMarkName="",this.sharingWaterMarkName="",this.isCreateSharingWaterMark=!1,this.videoWaterMarkParams={},this.sharingWaterMarkParams={},this.isStartDesktopSharing=!1,this.desktopSharingValue=null,this.desktopCaptureContext=null,this.desktopSharingMediaStram=null,this.desktopSharingCaptureWidth=0,this.desktopSharingCaptureHeight=0,this.sharingCodecInfo={width:0,height:0},this.desktopSharingSend=!1,this.isdesktopCaptureLoadedmetadata=!1,this.captureVideoOutputCanvasDomList=[],this.captureVideoOutPutVideoDom=null,this.shareTrack=null,this.isVideoCaptureLoadedmetadata=!1,this.videoloadmetadataListener=null,this.videoloadedmetadatamonitor=null,this.loadedmetadatamtimeoutcount=0,this.mountoadedmetadatatime=0,this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO={},this.vMonitorCount=0,this.sMonitorCount=0,this.mMonitorCount=0,this.sharingTrackReader,this.sharingMediaStreamTrackProcessor,this.sharingFrameStream,this.isSendVideoOfflineCanvas=!1,T.default.mediaSDKHandle=this,this._preloadMeetingParam=null,this.is32bitbrowser=!1,this.flipSend=!0,this.mtu_size=0,this.sharingImageCapture=null,this.sharingRenderCanvas=null,this.VideoRenderObj=null,this.SharingRenderObj=null,this.rtcConnectionA=null,this.rtcConnectionB=null,this.isLocalP2PSupportedPromise=g.default.checkLocalP2PConnection(),this.isSupportBrowserAec=!0,this.sharingWidthAndHeightInfo={ctiveNodeID:0,height:0,logicHeight:0,logicWidth:0,width:0},this.remoteControl=null,this.isMirrorMyVideo=!1,this.isCanvasScaled=!1,this.isDestroy=!1,this.destoryPromise=null,this.rwgAgentMessageListenerWrapper=this.rwgAgentMessageListener.bind(this),this.bVideoDecodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bVideoEncodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bAudioEncodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bAudioDecodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.videoDecodeRingBuffer=null,this.videoEncodeRingBuffer=null,this.audioDecodeRingBuffer=null,this.audioEncodeRingBuffer=null,this.bVideoEncodeMainThreadConsumerIntervalEnable=Fl(),this.isSupportOffscreenCanvasForVideoDecode=g.default.isSupportOffscreenCanvas(),this.isMultiView=!1,this.checkWorkletInterval=null,this.persistenceInfo=new wl.a,this.audioPersistenceInfo=this.persistenceInfo.getAudioSolutionInfo("audio"),t.ivObj&&(T.default.ivObj=t.ivObj),this.lastRealRect={left:0,top:0,width:0,height:0},this.videodecodehardwareflag=null,this.videoencodehardwareflag=null,this.isEnableVideoDecodeHardWareThread=!1,this.hardwareflag=null,this.isEnableHardWareThread=!1,this.isTeslaMode=!1,this.useAudioBridge=!1,this.audioBridge=null,this.replaceCanvasMap={},this.hidAvalible=!1,this.enableHID=!1,this.audioInputLevel=null,this.captureAudioMuted=!1,this.setvideokk=!1,this.isStartWhiteboardSharing=!1,this.ZoomMonitor=A.default.add_monitor.bind(A.default),this.isLandScape=!1,this.captureSize=null,this.platformType=s.WCL_PLATFORM_TYPE.DESKTOP,Object(J.SetMonitorFn)(this.ZoomMonitor),this.wmscManager=null,this.webrtcConfig={userId:null,webrtcflag:!1,subscribeQosParamsData:{},currentReloadTimes:0,maxReloadTimes:6},this.allpromises=[],this.RenderInMain=s.RENDER_UNSET,this.vcFlag=!1,this.waitingVcChannelReady=!1,kr.isSupportComputePressure()&&(this.computePressureManager=new kr),this.renderManager=new Al("JsMediaSDK"),this.rendererType=-1,this.defaultRendererType=0,this.isWebGPUFeatureEnabled=!1,this.enableVBWasmBackend=0,this.isWebGL2FeatureEnabled=!1,this.isWebTransportAllowed=!0,this.mGPUBlacklist=null,this.mWebCodecConfig=null,this.isWebCodecEncoderOnWhitelist=!1,this.isWebCodecDecoderOnWhitelist=!1,this.mediaProcessorConfig=0,this.mediaFeatureOptions="",this.isVideoHD=!1,this.vbResource=null,this.vbSettingDomMap={},this.annotationModule=null,this.annotationMgr=null,this.fileAudioPlaybackTag=null,this.initVEPara=null,this.resolveVEwebrtcpromise=null,this.webrtcpromise=new Promise((e,t)=>{this.resolveVEwebrtcpromise=e}),this.initVDPara=null,this.resolveVDwebrtcpromise=null,this.webrtcVDpromise=new Promise((e,t)=>{this.resolveVDwebrtcpromise=e}),this.hadsetpropsbeforeinit=!1,this.networkerpath=null,this.dataChannelController=new z,this.dataChannelController.addTransportListiner(),Z(this),$(this.workrtHealthCheckReport.bind(this)),this.processorMessagePort=null,this.shadowProcessorMessagePort=null};Kl.buildNumber=9596,Kl.version="15.0.9596",Kl.util=g.default,Kl.fixVersion="Web-Media-EP-20250114",Kl.prototype={JsMediaSDK_Log:function(e){v.default.error("Error in JsMediaSDK",e)},JsMediaSDK_PreLoad:function(e,t,i){var r,a;const{isTeslaMode:s,isGoogleMeetMode:o,enableMultiDecodeVideoWithoutSAB:n,enableVirtualBackgroundWithoutSAB:d,enableDecoderInWorklet:u,enableAudioBridge:l,onDesktop:c,disableStreamingInstantiate:h}=i||{};T.default.decoderinworkletOP=!0,T.default.onDesktop=c,T.default.chromeWideAEC=u,T.default.enableStreamingInstantiate=!h,T.default.enableMultiDecodeVideoWithoutSAB=n,T.default.enableVirtualBackgroundWithoutSAB=d,T.default.enableAudioBridge=l,this.isTeslaMode=!!s,T.default.isGoogleMeetMode=o,e.basePath&&(this.getFilePath=this.makFilePath(e.basePath));let f={audioWorkletPath:(e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e).audioWorkletPath,audioWorkletSIMDPath:e.audioWorkletSIMDPath,audioWorkletProcessPath:e.audioWorkletProcessPath,sharingAudioWorkletPath:e.sharingAudioWorkletPath,audioLevelWorkletPath:e.audioLevelWorkletPath,audioWasm:e.audioWasm,audioSIMDWasm:e.audioSIMDWasm};this.networkerpath=null===(a=e)||void 0===a?void 0:a.netThreadPath,this.setPropsBeforeInit({callback:t,audioWorkletPath:f,fromPreload:!0}),this._preloadMeetingParam=e,Vt(),this.handleUnloadEvent(),A.default.add_monitor("JSPLD"),this.vbResource=i,this.computePressureManager&&this.computePressureManager.init(),this.mediasdkConfig=null,this.iceServers=[]},getWebRTCFlag(){return this.webrtcConfig&&this.webrtcConfig.webrtcflag},makFilePath(e){let t=e;return function(){return t?{audioWorkerPath:"".concat(t,"/js_audio_process.min.js"),audioWorkletPath:"".concat(t,"/js_audio_worklet.min.js"),audioWorkletSIMDPath:"".concat(t,"/js_audio_worklet_simd.min.js"),audioWorkletProcessPath:"".concat(t,"/js_audio_worklet_process.min.js"),audioWasm:"".concat(t,"/audio.encode.wasm"),videoWorkerPath:"".concat(t,"/video_s.min.js"),videoMtWorkerPath:"".concat(t,"/video_m.min.js"),videoWasm:"".concat(t,"/video.decode.wasm"),videoMtWasm:"".concat(t,"/video.mt.wasm"),sharingWorkerPath:"".concat(t,"/sharing_s.min.js"),sharingMtWorkerPath:"".concat(t,"/sharing_m.min.js"),videoSIMDWorkerPath:"".concat(t,"/video_simd.min.js"),videoSIMDWasm:"".concat(t,"/video.simd.wasm"),sharingSIMDWorkerPath:"".concat(t,"/sharing_simd.min.js"),videoMSIMDWasm:"".concat(t,"/video.mtsimd.wasm"),sharingMSIMDWorkerPath:"".concat(t,"/sharing_mtsimd.min.js"),videoMSIMDWorkerPath:"".concat(t,"/video_mtsimd.min.js"),audioSIMDWorkletPath:"".concat(t,"/audio_simd.min.js"),audioSIMDWasm:"".concat(t,"/audio.simd.wasm"),vsmiworkerpath:"".concat(t,"/video_share_mtsimd.min.js"),sharingAudioWorkletPath:"".concat(t,"/js_sharing_audio_worklet.min.js"),audioLevelWorkletPath:"".concat(t,"/js_audio_level_worklet_process.min.js"),netThreadPath:"".concat(t,"/net_thread.min.js")}:void 0}},isPreviewVideotag(e){return this.userId&&this.userId>>10==e>>10&&g.default.isSelfPreviewRenderWithVideo()},isSelfUser(e){return this.userId==e},recordSharingParamInfo(){let e=this;C.a.on(a.SHARING_PARAM_INFO_FROM_SOCKET,(t,i)=>{var r;Object.assign(e.sharingWidthAndHeightInfo,i.body),null===(r=e.annotationMgr)||void 0===r||r.updateRemoteSizeInfo(i.body)})},setCallback(e){if(!Si()(e))throw new Error("callback must be function");T.default._Notify_APPUI=e,Object(J.SetNotifyUIFn)(T.default.Notify_APPUI_SAFE.bind(T.default))},addCallback(e){if(!Si()(e))throw new Error("callback must be function");T.default._callbackList.push(e)},removeCallback(e){const t=T.default._callbackList.indexOf(e);-1!==t&&T.default._callbackList.splice(t,1)},setPropsBeforeInit(e){this.hadsetpropsbeforeinit|=!e.fromPreload;let t=e.featureOptions;if(e.mediaFeatureOptions&&(t=e.mediaFeatureOptions),this.mediaFeatureOptions=t,t){const e=[{bitIndex:Il.a.HW_ENCODER_FOR_360P.index,readCount:1,defaultVal:Il.a.HW_ENCODER_FOR_360P.default},{bitIndex:Il.a.WEBGPU_RENDERER.index,readCount:1,defaultVal:Il.a.WEBGPU_RENDERER.default},{bitIndex:Il.a.VB_ON_SAFARI_17.index,readCount:1,defaultVal:Il.a.VB_ON_SAFARI_17.default},{bitIndex:Il.a.WEBGL2_RENDERER.index,readCount:1,defaultVal:Il.a.WEBGL2_RENDERER.default},{bitIndex:Il.a.AUDIO_ECHO_DETECT.index,readCount:1,defaultVal:Il.a.AUDIO_ECHO_DETECT.default},{bitIndex:Il.a.WEBCODEC_DECODE_OPTION.index,readCount:1,defaultVal:Il.a.WEBCODEC_DECODE_OPTION.default},{bitIndex:Il.a.HW_WEBCODEC_ON_SAFARI.index,readCount:1,defaultVal:Il.a.HW_WEBCODEC_ON_SAFARI.default},{bitIndex:Il.a.HW_DECODE_FOR_360P.index,readCount:1,defaultVal:Il.a.HW_DECODE_FOR_360P.default},{bitIndex:Il.a.WEBCODEC_ON_ANDROID_CHROME.index,readCount:1,defaultVal:Il.a.WEBCODEC_ON_ANDROID_CHROME.default},{bitIndex:Il.a.WEBCODEC_ENCODE_OPT_1ON1.index,readCount:1,defaultVal:Il.a.WEBCODEC_ENCODE_OPT_1ON1.default},{bitIndex:Il.a.CAP_WEBCODEC_SUPPORT.index,readCount:1,defaultVal:Il.a.CAP_WEBCODEC_SUPPORT.default},{bitIndex:Il.a.WEBGL_CANVAS_OPTION_OPT.index,readCount:1,defaultVal:Il.a.WEBGL_CANVAS_OPTION_OPT.default},{bitIndex:Il.a.DEFAULT_RENDERER.index,readCount:1,defaultVal:Il.a.DEFAULT_RENDERER.default},{bitIndex:Il.a.WEB_TRANSPORT_CONTROL.index,readCount:1,defaultVal:Il.a.WEB_TRANSPORT_CONTROL.default},{bitIndex:Il.a.ENABLE_TP_RLB_WEBSOCKET.index,readCount:1,defaultVal:Il.a.ENABLE_TP_RLB_WEBSOCKET.default},{bitIndex:Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.index,readCount:1,defaultVal:Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.default},{bitIndex:Il.a.ENABLE_WEBRTC_TURN_SERVERS.index,readCount:1,defaultVal:Il.a.ENABLE_WEBRTC_TURN_SERVERS.default},{bitIndex:Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.index,readCount:1,defaultVal:Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.default},{bitIndex:Il.a.ENABLE_MEDIA_PROCESSOR.index,readCount:1,defaultVal:Il.a.ENABLE_MEDIA_PROCESSOR.default}],i=Tl.a.batchRead(t,e);this.isWebGPUFeatureEnabled=!!i.get(Il.a.WEBGPU_RENDERER.index),this.enableVBWasmBackend=i.get(Il.a.VB_ON_SAFARI_17.index),this.isWebGL2FeatureEnabled=!!i.get(Il.a.WEBGL2_RENDERER.index),this.defaultRendererType=i.get(Il.a.DEFAULT_RENDERER.index),this.isWebTransportAllowed=!!i.get(Il.a.WEB_TRANSPORT_CONTROL.index),T.default.enable360pHWEnc=i.get(Il.a.HW_ENCODER_FOR_360P.index),T.default.enableEchoDetection=i.get(Il.a.AUDIO_ECHO_DETECT.index),T.default.enableHADecOpt=i.get(Il.a.WEBCODEC_DECODE_OPTION.index),T.default.enableSafariHWCodec=i.get(Il.a.HW_WEBCODEC_ON_SAFARI.index),T.default.enable360pHWDec=i.get(Il.a.HW_DECODE_FOR_360P.index),T.default.enableAndroidHWCodec=i.get(Il.a.WEBCODEC_ON_ANDROID_CHROME.index),T.default.enableOptCopyFrame=i.get(Il.a.WEBCODEC_ENCODE_OPT_1ON1.index),T.default.disableHWCodec=i.get(Il.a.CAP_WEBCODEC_SUPPORT.index);let r=i.get(Il.a.WEBGL_CANVAS_OPTION_OPT.index);T.default.enableTransferDataChannel=i.get(Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.index),T.default.enableWebrtcTurnServer=i.get(Il.a.ENABLE_WEBRTC_TURN_SERVERS.index);let a=i.get(Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.index);I.a.setIsEnableCanvasCtxOptionsOpt(r),_r.receiveABOptionForExtraDeviceDetect(a),this.mediaProcessorConfig=i.get(Il.a.ENABLE_MEDIA_PROCESSOR.index),g.default.isAndroidBrowser()&&(T.default.enable360pHWDec=T.default.enableAndroidHWCodec);const s=g.default.getOSInfo();v.default.directReport("setPropsBeforeInit, os:".concat(s.os,", version:").concat(s.osVersion,", enableSafariHWCodec:").concat(T.default.enableSafariHWCodec,", enable360pHWDec:").concat(T.default.enable360pHWDec,", enable360pHWEnc:").concat(T.default.enable360pHWEnc,", enableAndroidHWCodec:").concat(T.default.enableAndroidHWCodec,",disableHWCodec:").concat(T.default.disableHWCodec,", enableOptCopyFrame:").concat(T.default.enableOptCopyFrame))}const i=g.default.getGpuInfo();if(e&&e.webMediaBlockConfig){try{const t=JSON.parse(e.webMediaBlockConfig);this.mGPUBlacklist=null==t?void 0:t.GPUBlacklist,this.mWebCodecConfig=null==t?void 0:t.WebCodecConfig,this.mWebCodecConfig?(this.isWebCodecEncoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("encoder",this.mWebCodecConfig,i),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",this.mWebCodecConfig,i)):(this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i))}catch{this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i),""===e.webMediaBlockConfig?v.default.log("cannot read empty props.webMediaBlockConfig. encoder:".concat(this.isWebCodecEncoderOnWhitelist," decoder:").concat(this.isWebCodecDecoderOnWhitelist)):v.default.error("failed to read props.webMediaBlockConfig! config=".concat(null==e?void 0:e.webMediaBlockConfig," encoder:").concat(this.isWebCodecEncoderOnWhitelist," decoder:").concat(this.isWebCodecDecoderOnWhitelist))}0}else this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i);e&&void 0!==e.rendererType&&(this.rendererType=e.rendererType,this.handleRendererTypeInProps(this.rendererType,this.defaultRendererType,this.mGPUBlacklist).then(e=>{T.default.Notify_APPUI(a.SYNC_RENDERER_TYPE_RESPONSE,e),this.renderManager.getRendererProvider().setRendererType(e.rendererType),this.rendererType=e.rendererType,v.default.log("handleRendererTypeInProps() final rendererType=".concat(e.rendererType," gpuBlacklist=").concat(JSON.stringify(this.mGPUBlacklist))),console.log("handleRendererTypeInProps() final rendererType=".concat(e.rendererType," gpuBlacklist=").concat(JSON.stringify(this.mGPUBlacklist)))})),A.default.add_monitor("props:".concat(e.featureOptions,":").concat(this.isWebGPUFeatureEnabled,":").concat(this.enableVBWasmBackend,":").concat(this.isWebGL2FeatureEnabled,":").concat(this.rendererType,":").concat(T.default.enableEchoDetection)),e.callback&&this.setCallback(e.callback),e.audioWorkletPath&&(this.audioWorkletJsPath=e.audioWorkletPath),e.e2eEncrypt?T.default.e2eencrypt=!0:T.default.e2eencrypt=!1;let r=e.enableWebtransport;if(this.isWebTransportAllowed||(r=!1),this._setWebtransportEnable({enable:r,webtransportPort:e.webtransportPort}),e.bandwidth?e.bandwidth.uplimit>=800?T.default.uplimit=1e3*(e.bandwidth.uplimit-120):T.default.uplimit=0:T.default.uplimit||(T.default.uplimit=0),e&&void 0!==e.useWebRTC){const t=!!e.useWebRTC;Ul.webrtcFlag=t,this.webrtcConfig.webrtcflag=t,Object(g.setIsWebRTCMode)(t),!1===t&&this.wmscManager&&A.default.add_monitor("WMSC_Not_Destory_ERROR")}if(!e.fromPreload&&this.vbResource){const{file:e}=this.vbResource;e&&(this.webrtcConfig.webrtcflag?Ul.initVB(this.updateWebRTCVideoStream.bind(this)):ri(e))}var s,o;(e&&!1===e.isSessionBranding&&(T.default.enableCanvasAlphaChannel=!1),null!=e&&e.mediasdkConfig&&T.default.enableWebrtcTurnServer)&&(this.mediasdkConfig=e.mediasdkConfig,this.iceServers=(null===(s=this.mediasdkConfig)||void 0===s?void 0:s.iceServers)||[],null===(o=this.audioBridge)||void 0===o||o.setIceServers(this.iceServers))},async onRendererTypeSelected(){const e=await this.handleRendererTypeInProps(this.rendererType,this.defaultRendererType,this.mGPUBlacklist);this.renderManager.getRendererProvider().setRendererType(e.rendererType),this.rendererType=e.rendererType},async handleRendererTypeInProps(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e!==wi.j.AUTO&&e!==wi.j.UNDEFINED&&e!==wi.j.WEBGL&&e!==wi.j.WEBGL_2&&e!==wi.j.WEBGPU&&(e=wi.j.AUTO);let r=e,a=0;e!==wi.j.AUTO&&e!==wi.j.UNDEFINED||(r=t);return await g.default.isRendererTypeSupported(r,this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled,i)||(a=1,r=await g.default.evaluateRendererType(this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled,i)),{errNo:a,rendererType:r}},setRWGAgent(e){T.default.rwgAgent=e,this.addEventListenerForRWGAgent(e)},updateQosSubscription:function(e,t,i){var r;if(this.useAudioBridge&&(t===R.f.AUDIO_DECODE||t===R.f.AUDIO_ENCODE))return void(null===(r=this.audioBridge)||void 0===r||r.updateQos({enable:e,workerType:t,pollingInterval:i}));const a=t===R.f.VIDEO_ENCODE||t===R.f.VIDEO_DECODE;if(this.webrtcConfig.webrtcflag&&a){var s;this.wmscManager&&null!==(s=this.wmscManager)&&void 0!==s&&s.isJoinRWGSuccess?this.wmscManager.updateQosSubscription(e,t,i):this.webrtcConfig.subscribeQosParamsData[t]=[e,t,i]}else{let r=!0;this.isSupportVideoShare&&(t==R.f.SHARING_DECODE&&(t=R.f.VIDEO_DECODE,r=!1),t==R.f.SHARING_ENCODE&&(t=R.f.VIDEO_ENCODE,r=!1));Jt(t,{enable:e,workerType:t,pollingInterval:i,isVideo:r},11,!1)}},addEventListenerForRWGAgent(e){e.on("message",this.rwgAgentMessageListenerWrapper)},rwgAgentMessageListener(e){if("string"!=typeof e.data)return;let t=JSON.parse(e.data);if(!this.isDestroy)switch(t.evt){case a.EVT_TYPE_WS_VIDEO_DATACHANNEL_ANSWER:this.setRTCPeerConnectionDatachannelAnswer(t)}},setRTCPeerConnectionDatachannelAnswer(e){if(e.evt===a.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT||e.evt===a.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT){if(Ll("rwg answer",e),!e.answer)return;switch(e.answer.type){case R.h.ZOOM_CONNECTION_VIDEO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT,e);break;case R.h.ZOOM_CONNECTION_AUDIO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT,e)}}},async initVideoDataChannel(e,t,i){var r;if((null===(r=this.videoDataChannel)||void 0===r?void 0:r.connectionID)==e)return void(t&&this.videoDataChannel.checkEmptyUserIdAndResendMonitor(t));this.isInitVideoDataChannel=!1,this.videoDataChannel&&(this.videoDataChannel.forceClose(),v.default.error("video datachannel cid changed")),this.videoDataChannel=null;let s=yl(i);A.default.add_monitor("INITVDC"),Ll("initVideoDataChannel",e);let o=new Di(this.dataTransportMgr,R.b.VIDEO);o.sendDataChannelController(this.dataChannelController),o._netWorker=s,g.default.browser.isFirefox?o.delaycloseTimeout=15e3:o.delaycloseTimeout=5e3,o.setUserid(t),Ll("rtc",o);let n=this;o.onConnectionCreated(async e=>{let t=e.localDescription;if(Ll("localDesc",t),n.isDestroy)return;T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_VIDEO_OFFER_EVT,offer:{sdp:t.sdp,type:R.h.ZOOM_CONNECTION_VIDEO}},!1);let i=await o.waitForAnswerFromRWG(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT);if(Ll("jsEvent.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",i),e!=o.rtcPeerConnection||o.isDestroyed())return;o.setRemoteDescription(i.answer),o.closeIfTimeout();let r=i.answer.sdp.match(/a=candidate:.+/)[0];Ll("received candidate",r),r=r.replace(/^a=/,""),o.addIceCandidate(r),o.onDataChannelOpen(()=>{}),o.onDataChannelClose(()=>{ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_DATACHANNEL)})}),o.initConnection(e).catch(e=>{Ll.warn("initConnection",e),A.default.add_monitor("INITVDCERR",e.message)}),this.videoDataChannel=o},async initAudioDataChannel(e,t,i){var r,s;if((null===(r=this.audioDataChannel)||void 0===r?void 0:r.connectionID)==e)return void(t&&this.audioDataChannel.checkEmptyUserIdAndResendMonitor(t));this.isInitAudioDataChannel=!1,this.audioDataChannel&&(null===(s=this.audioDataChannel)||void 0===s||s.forceClose(),v.default.error("audio datachannel cid changed")),this.audioDataChannel=null;let o=yl(i);A.default.add_monitor("INITADC"),Ll("initAudioDataChannel",e);let n=new Di(this.dataTransportMgr,R.b.AUDIO);n.sendDataChannelController(this.dataChannelController),n._netWorker=o,g.default.browser.isFirefox?n.delaycloseTimeout=15e3:n.delaycloseTimeout=5e3,n.setUserid(t),Ll("rtc",n);let d=this;n.onConnectionCreated(async e=>{let t=e.localDescription;if(d.isDestroy)return;Ll("localDesc",t),T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_VIDEO_OFFER_EVT,offer:{sdp:t.sdp,type:R.h.ZOOM_CONNECTION_AUDIO}},!1);let i=await n.waitForAnswerFromRWG(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT);if(Ll("answer",i),e!=n.rtcPeerConnection||n.isDestroyed())return;n.setRemoteDescription(i.answer),n.closeIfTimeout();let r=i.answer.sdp.match(/a=candidate:.+/)[0];Ll("received candidate",r),r=r.replace(/^a=/,""),n.addIceCandidate(r),n.onDataChannelOpen(()=>{}),n.onDataChannelClose(()=>{ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_DATACHANNEL)})}),n.initConnection(e,"ZoomWebclientAudioDataChannel").catch(e=>{Ll.warn("initConnection",e),A.default.add_monitor("INITADCERR",e.message)}),this.audioDataChannel=n},init_Notify_APPUI(e,t){let i=li[t],r=e?i.success:i.fail;T.default.Notify_APPUI(r,i.callbackDataValue)},_setWebtransportEnable(e){let{enable:t,webtransportPort:i}=e;t?(g.apiSupportUtility.setIsSupportWebtransport(!0),T.default.webtransportPort=i||8802):g.apiSupportUtility.setIsSupportWebtransport(!1)},_previewInitWebtransport(e){let{conId:t,meetingNumber:i,rwgHost:r,webtransportPort:a,workType:s}=e;if(this._setWebtransportEnable({enable:!0,webtransportPort:a}),g.apiSupportUtility.getIsSupportWebtransport()){const e=s===R.f.AUDIO_ENCODE,a=s===R.f.AUDIO_DECODE,o=s===R.f.VIDEO_ENCODE,n=s===R.f.VIDEO_DECODE,d=e||a,u=d?"a":"v",l=e||o?2:1,c="https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(i,"?type=").concat(u,"&cid=").concat(t),h="".concat(c,"&mode=").concat(l);d?je(c):qe(c);const f=T.default.SPECIAL_ID;let p="",_=null;e?(p="localAudioEncMGR",_=me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS):a?(p="localAudioDecMGR",_=me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS):o?(p="localVideoEncMGR",_=me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS):n&&(p="localVideoDecMGR",_=me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS);let m=T.default[p]&&T.default[p].map.get(f);m?m.postMessage({command:6,webtransportURL:h,_id:this._id}):me.enqueueMessage({name:_,handler:()=>{m=T.default[p].map.get(f),m.postMessage({command:6,webtransportURL:h,_id:this._id})},direction:me.direction.SDK_TO_SDK})}},_previewInitMediaWebsocket(e){let{websocketUrl:t,workType:i}=e;const r=T.default.SPECIAL_ID,a=i===R.f.AUDIO_ENCODE,s=i===R.f.AUDIO_DECODE,o=i===R.f.VIDEO_ENCODE,n=i===R.f.VIDEO_DECODE;a||s?Ke(t):Ye(t);let d="",u=null,l=0;a?(l=2,d="localAudioEncMGR",u=me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS):s?(l=5,d="localAudioDecMGR",u=me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS):o?(l=2,d="localVideoEncMGR",u=me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS):n&&(l=5,d="localVideoDecMGR",u=me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS);let c=T.default[d]&&T.default[d].map.get(r);c?c.postMessage({command:5,websocket_ip_address:"".concat(t,"&mode=").concat(l)}):me.enqueueMessage({name:u,handler:()=>{c=T.default[d].map.get(r),c.postMessage({command:5,websocket_ip_address:"".concat(t,"&mode=").concat(l)})},direction:me.direction.SDK_TO_SDK})},async previewInit(e){let{videoDecode:t,videoDataChannel:i,videoEncodeMediaWss:r,videoDecodeMediaWss:a,videoEncodeWebtransport:s,videoDecodeWebtransport:o,audioDecode:n,audioDataChannel:d,audioBridge:u,audioEncodeMediaWss:l,audioDecodeMediaWss:c,audioEncodeWebtransport:h,audioDecodeWebtransport:f}=e,p=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Ce(this))return!1;if(t){var _;let{urlParameters:e}=t||{};e=(null===(_=this.getFilePath)||void 0===_?void 0:_.call(this))||e;let i=await g.default.isSDKSupportMultiThread(),r=await g.default.isSDKSupportSIMD(),a=r&&i;await this.onRendererTypeSelected();let s={};s.rendererType=this.rendererType,this.isSupportVideoShare&=a,this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.isSupportVideoShare?(s.workerJsFileUrl=e.vsmiworkerpath,s.workerWasmFileUrl=e.videoMSIMDWasm):a?(s.workerJsFileUrl=e.videoMSIMDWorkerPath,s.workerWasmFileUrl=e.videoMSIMDWasm):i?(s.workerJsFileUrl=e.videoMtWorkerPath,s.workerWasmFileUrl=e.videoMtWasm):r?(s.workerJsFileUrl=e.videoSIMDWorkerPath,s.workerWasmFileUrl=e.videoSIMDWasm):(s.workerJsFileUrl=e.videoWorkerPath,s.workerWasmFileUrl=e.videoWasm),s.integrityHelper=new g.IntegrityHelper(s.workerJsFileUrl,this.lateLoadedAssetsHash),Ee.resetVideoDecode(!0),Re(s,this)}if(i&&(p||this.hadsetpropsbeforeinit)){const{conId:e,userid:t}=i;this.initVideoDataChannel(e,t,this.networkerpath)}if(r){const{websocketUrl:e}=r;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.VIDEO_ENCODE})}if(a){const{websocketUrl:e}=a;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.VIDEO_DECODE})}if(s){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=s;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.VIDEO_ENCODE})}if(o){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=o;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.VIDEO_DECODE})}if(n){var m;let{urlParameters:e}=n||{};e=(null===(m=this.getFilePath)||void 0===m?void 0:m.call(this))||e;let t={};await g.default.isSDKSupportSIMD()?(t.workerJsFileUrl=e.audioSIMDWorkletPath,t.workerWasmFileUrl=e.audioSIMDWasm):(t.workerJsFileUrl=e.audioWorkerPath,t.workerWasmFileUrl=e.audioWasm),t.integrityHelper=new g.IntegrityHelper(t.workerJsFileUrl,this.lateLoadedAssetsHash),Ee.resetAudioDecode(!0),Ie(t,this)}if(d&&(p||this.hadsetpropsbeforeinit)){const{conId:e,userid:t}=d;this.initAudioDataChannel(e,t,this.networkerpath)}if(u){if(this.useAudioBridge=!0,!g.default.isSupportPeerConnection())return void v.default.error("no support peer connection");const{nginxHost:e,rwgHost:t,cid:i,abToken:r,isCapturingAudio:a,audioMode:s,supportLocalAB:o,useWebRTCOnDesktop:n}=u;T.default.audioSolution="WEBRTC";let d="wss://".concat(o?t:e,"/ab/signal?rwg=").concat(t,"&cid=").concat(i);if(!this.audioBridge||this.audioBridge.cid!=i){if(this.audioBridge)try{this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null}catch(e){v.default.error("destory webrtc audio error",e)}let e={jsPath:this.audioWorkletJsPath.audioLevelWorkletPath,wasmPath:this.audioWorkletJsPath.audioSIMDWasm};this.audioBridge=new Tr(i,d,!a,this.codecDoAVSync,n||T.default.onDesktop,e,(e,t)=>{var i,r;switch(e){case"destroy":null===(i=this.audioBridge)||void 0===i||i.destroy(),this.audioBridge=null;break;case"updateConnectionResult":null===(r=this.audioPersistenceInfo)||void 0===r||r.updatewebRTCProbResult(t)}}),this.audioBridge.setIceServers(this.iceServers),Ul.audioBridge=this.audioBridge}a&&this.audioBridge.setRecvOnly(!1,Ul.audioStream),this.audioBridge.setCodecDoAVSync(this.codecDoAVSync),await this.audioBridge.join(!1,r,s)}if(l){const{websocketUrl:e}=l;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.AUDIO_ENCODE})}if(c){const{websocketUrl:e}=c;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.AUDIO_DECODE})}if(h){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=h;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.AUDIO_ENCODE})}if(f){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=f;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.AUDIO_DECODE})}p||this.hadsetpropsbeforeinit||v.default.directReport("previewinit before setprops")},previewUnInitRtcConnection(){A.default.add_monitor("REINITRTC");try{var e,t;null===(e=this.videoDataChannel)||void 0===e||e.forceClose(),null===(t=this.audioDataChannel)||void 0===t||t.forceClose()}catch(e){Ll.error("clear rtcPeerConnectionList err",e)}this.audioBridge&&(this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null);const i=T.default.SPECIAL_ID;[T.default.localVideoEncMGR&&T.default.localVideoEncMGR.map.get(i),T.default.localVideoDecMGR&&T.default.localVideoDecMGR.map.get(i),T.default.localAudioEncMGR&&T.default.localAudioEncMGR.map.get(i),T.default.localAudioDecMGR&&T.default.localAudioDecMGR.map.get(i)].forEach(e=>{e&&(e.postMessage({command:3}),e.postMessage({command:4,_id:this._id}))})},doesSafariSupportWebcodec:()=>!g.default.isMacIntelSafari()&&(g.default.isSafariVersionHigherThan("17.5")&&T.default.enableSafariHWCodec),_enableHardWareDecode(){if(T.default.disableHWCodec&s.WEBCODEC_DECODE_OFF)return!1;return g.default.isAndroidBrowser()?g.default.isChromeVersionHigherThan(124)&&T.default.enableAndroidHWCodec:g.default.isChromeVersionHigherThan(95)||this.doesSafariSupportWebcodec()},async initVideoEncode(e,t,i){var r,a;let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4?arguments[4]:void 0,d=arguments.length>5?arguments[5]:void 0,u=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,c=arguments.length>9?arguments[9]:void 0,h=arguments.length>10?arguments[10]:void 0,f=arguments.length>11&&void 0!==arguments[11]&&arguments[11],p=arguments.length>12?arguments[12]:void 0,_=arguments.length>13&&void 0!==arguments[13]&&arguments[13];if((g.default.isAndroidBrowser()&&!g.default.isMTRAndroid()||g.default.isIphoneOrIpadBrowser())&&(f=!0,void 0===h&&(h=!0)),g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB()?this.platformType=s.WCL_PLATFORM_TYPE.ANDROID:g.default.isIphoneOrIpadBrowser()&&(this.platformType=s.WCL_PLATFORM_TYPE.IPHONE),u=g.default.getMaxCountRender(),this.userId=i,!Ce(this))return!1;if(A.default.add_monitor("INITVE"),this.webrtcConfig.webrtcflag&&!_)return this.initVEPara=arguments,this.resolveVEwebrtcpromise(!0),A.default.add_monitor("WMSC_INITVE"),this._initWMSC(t,d,R.f.VIDEO_ENCODE,i);this.isSupportImageCapture=!l&&this.isSupportImageCapture,Ul.setStreamProcessAbility({isSupportImageCapture:this.isSupportImageCapture}),this.setMultiView(u,T.default.enableMultiDecodeVideoWithoutSAB),this.isSupportVideoFrameOrBitmapCapture=this.isSupportImageCapture||this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor,Ll("initVideoEncode"),_r.setUserId(i),Ee.resetVideoEncode(p),this.is32bitbrowser=await g.default.is32bitChrome();let m=await g.default.isSDKSupportMultiThread();g.apiSupportUtility.setIsSupportVirtualBackground(!this.isTeslaMode&&!g.default.isAndroidBrowser()&&!l&&(m||T.default.enableVirtualBackgroundWithoutSAB));const E=g.apiSupportUtility.getIsSupportVirtualBackground()&&!this.webrtcConfig.webrtcflag;let S=await g.default.isSDKSupportSIMD(),v=S&&m,C={},I=!1,b=g.default.graphicName,O=!!b&&b.includes("amd");this.isAppleGraphic=!!b&&(b.includes("apple m1")||b.includes("apple m2")),(g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()||navigator.hardwareConcurrency&&navigator.hardwareConcurrency>7||await g.default.VP9MachineDetect()&&O&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>=4)&&c&&(I=!0),(g.default.isIphoneOrIpadSafari()&&!g.default.isSupportVideoFrame()||g.default.isAndroidBrowser()&&g.default.isAndroidVersionLessEqual(10))&&(I=!1),this.isSupportVideoShare&=v,A.default.add_monitor("isMT: "+m),A.default.add_monitor("isenbaleHD: "+c),A.default.add_monitor("ENABLE720:"+I),A.default.add_monitor("ISVSV:"+this.isSupportVideoShare),A.default.add_monitor("graphicname: "+b),this.is32bitbrowser&&A.default.add_monitor("is32chrome: "+this.is32bitbrowser);let D=!(T.default.disableHWCodec&s.WEBCODEC_ENCODE_OFF),w=D&&h;if(m&&(c||f)&&(this.isSupportMediaStreamTrackProcessor&&g.default.isChromeVersionHigherThan(95)&&(!g.default.isAndroidBrowser()||T.default.enableAndroidHWCodec)||this.doesSafariSupportWebcodec())&&this.isWebCodecEncoderOnWhitelist?(this.videoencodehardwareflag=D&&await g.default.IsSupportVideoEncodeHardwareAcceleration(),h=this.videoencodehardwareflag):(this.videoencodehardwareflag=!1,h=!1),A.default.add_monitor("EOWL:"+this.isWebCodecEncoderOnWhitelist),A.default.add_monitor("VIHD:"+this.videoencodehardwareflag),A.default.add_monitor("enableHW: "+h),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.isSupportVideoShare?(C.workerJsFileUrl=e.vsmiworkerpath,C.workerWasmFileUrl=e.videoMSIMDWasm):v?(C.workerJsFileUrl=e.videoMSIMDWorkerPath,C.workerWasmFileUrl=e.videoMSIMDWasm):m?(C.workerJsFileUrl=e.videoMtWorkerPath,C.workerWasmFileUrl=e.videoMtWasm):S?(C.workerJsFileUrl=e.videoSIMDWorkerPath,C.workerWasmFileUrl=e.videoSIMDWasm):(C.workerJsFileUrl=e.videoWorkerPath,C.workerWasmFileUrl=e.videoWasm),C.integrityHelper=new g.IntegrityHelper(C.workerJsFileUrl,this.lateLoadedAssetsHash),!p){let e=new URL(t).searchParams.get("cid"),r=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&qe("https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(d,"?type=v&cid=").concat(e)),this.previewInit({videoDataChannel:{conId:e,userid:i}},!0)}let y=1,P=!1,N=!1;const V=E&&m;V&&h?(y=3,P=!0,N=!!w):V||h?(y=2,h&&(P=!0,N=!!w)):(this.isSupportVideoShare||m)&&(y=2);let k=P&&N&&I;g.default.set720pcapacity(k),A.default.add_monitor("CAPTURE720:"+k),A.default.add_monitor("VETNum:"+y),N=N&&(!this.isAppleGraphic||g.default.isChromeVersionHigherThan(116)&&(!g.default.isAndroidBrowser()||T.default.enableAndroidHWCodec)||this.doesSafariSupportWebcodec()),await this.onRendererTypeSelected(),A.default.add_monitor("SupportWebCodecEncode: "+N);let U={log:o,confId:i,meetingid:n,meetingnumb:d,videodecodethreadnumb:u,isSupportMultiThread:m,videoencodethreadnumb:y,isSupportVirtualBackground:E,isSupportWebCodecEnocde:P,initWebCodecFlag:N,is360penablehwenc:f,enable720p:I,platformType:this.platformType,rendererType:this.rendererType,IsRenderInWorker:this.checkIsRenderInWorker()&&!g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0),webrtcvideo:this.webrtcConfig.webrtcflag,MaskFlag:!!T.default.rwgAgent,isSafari:null===(a=g.default.browser)||void 0===a?void 0:a.isSafari};if(console.log("VP9?:",await g.default.VP9MachineDetect(),"AMD?:",g.default.isAMDGraphic(),"AMDdecodecheck:",g.default.isGraphicShouldUseHardwareAccelerationDecode(),"isenbaleHD:"+c+" enable720p?:",I,"capacityfor720:",k),He(t,U),!Ce(this))return!1;if(await ge(C,this),T.default.extVBPort&&this.addVbReceiver(T.default.extVBPort),this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),p||this.isDestroy)return;let L=this;this.allpromises.push(T.default.videoInitInstance.initSuccessPromise);let x=null;return this.bVideoDecodeUsingSAB&&!this.videoEncodeRingBuffer&&(m?(x=!0,this.videoEncodeRingBuffer=!0):(x=M.getStorageForCapacity(),this.videoEncodeRingBuffer=x)),await T.default.videoInitInstance.initSuccessPromise.then(e=>!!Ce(L)&&(e&&this.bVideoEncodeUsingSAB&&x&&Jt(R.f.VIDEO_ENCODE,{interval:this.bVideoEncodeMainThreadConsumerIntervalEnable,data:m?null:{buffer:x,offset:0,length:x.byteLength}},"VIDEO_ENCODE_SAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITVERET-".concat(L._id,"-").concat(e&&!L.isDestroy)),!!Ce(L)&&(_||this.init_Notify_APPUI(e,R.f.VIDEO_ENCODE),me.subscribeMessage(me.nameMap.INIT_VIDEO_ENCODE_SUCCESS),ce(R.f.VIDEO_ENCODE),L.waitingVcChannelReady&&L.addChannelForVideo(),e)))},async _initWMSC(e,t,i,r){const s=new Date;return Object(g.getWMSCModule)().then(a=>{let{WMSCManager:o}=a;if(this.webrtcConfig.currentReloadTimes=0,!e||!t||!r||this.isDestroy)return void A.default.add_monitor("WMSC_Stop_Init: ".concat(this.isDestroy));const n=()=>{const e={[R.f.VIDEO_ENCODE]:me.nameMap.INIT_VIDEO_ENCODE_SUCCESS,[R.f.VIDEO_DECODE]:me.nameMap.INIT_VIDEO_DECODE_SUCCESS};this.init_Notify_APPUI(!0,i),me.subscribeMessage(e[i]),A.default.add_monitor("WMSC_".concat(e[i]))};if(!this.wmscManager){const i=new Date;A.default.add_monitor("WMSC_Load_Time: ".concat(i-s));const a=new URL(e).host,n=new URL(e).searchParams.get("cid"),d="wss://".concat(a,"/wc/media/").concat(t,"?type=v&cid=").concat(n,"&mode=16"),u="WMSC_WSS_URL: rwgHost:".concat(a,"|cid: ").concat(n);A.default.add_monitor(u),this.wmscManager=new o({webRTCWebSocketUrl:d,confId:n,nodeId:r,HDVideo:this.isVideoHD,mediaStreamController:Ul,iceServers:this.iceServers})}var d;return this.isDestroy?(A.default.add_monitor("WMSC_Destory_Init: ".concat(this.isDestroy)),void(null===(d=this.wmscManager)||void 0===d||d.destroy())):this.wmscManager.isJoinRWGSuccess?n():this.wmscManager.waitJoinRWGSuccess().then(()=>{if(n(),"{}"!==JSON.stringify(this.webrtcConfig.subscribeQosParamsData)){A.default.add_monitor("WMSC_Update_Qos_Subscription_Async");for(const e in this.webrtcConfig.subscribeQosParamsData){const t=this.webrtcConfig.subscribeQosParamsData[e];this.wmscManager.updateQosSubscription(...t)}this.webrtcConfig.subscribeQosParamsData={}}})}).catch(s=>{const{currentReloadTimes:o,maxReloadTimes:n}=this.webrtcConfig;if(o>=n)return v.default.error("WMSC_JS_LOAD_FAIL_FAILOVER"),void T.default.Notify_APPUI(a.NOTIFY_UI_WMSC_WSS_DISCONNECTED);setTimeout(()=>(v.default.error("WMSCf_IMPORT_FAIL ".concat(this.webrtcConfig.currentReloadTimes),s),this.webrtcConfig.currentReloadTimes+=1,this._initWMSC(e,t,i,r)),1e3)})},async initVideoDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0,d=arguments.length>6?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0,l=arguments.length>9&&void 0!==arguments[9]&&arguments[9];if((g.default.isAndroidBrowser()&&!g.default.isMTRAndroid()||g.default.isIphoneOrIpadBrowser())&&void 0===u&&(u=!0),this.userId=i,d=g.default.getMaxCountRender(),!Ce(this))return!1;let c=!1;if(this.webrtcConfig.webrtcflag&&!l)return A.default.add_monitor("WMSC_INITVD"),this.initVDPara=arguments,this.resolveVDwebrtcpromise(!0),this._initWMSC(t,n,R.f.VIDEO_DECODE,i).then(()=>{T.default.webrtcVideoInited=!0});T.default.webrtcVideoInited&&(T.default.webrtcVideoInited=!1,c=!0),Ee.resetVideoDecode(!1),Ll("initVideoDecode"),A.default.add_monitor("INITVD"),A.default.add_monitor("DOWL:"+this.isWebCodecDecoderOnWhitelist),this.setMultiView(d,T.default.enableMultiDecodeVideoWithoutSAB),d>1&&!T.default.enableMultiDecodeVideoWithoutSAB&&(Object(g.IsSupportWebGLOffscreenCanvas)()||g.default.isWebGL2Supported(this.isWebGL2FeatureEnabled))?this.codecDoAVSync=!0:this.codecDoAVSync=!1,this.is32bitbrowser=await g.default.is32bitChrome();let h=await g.default.isSDKSupportMultiThread(),f=await g.default.isSDKSupportSIMD(),p=f&&h,_={};this.isEnableVideoDecodeHardWareThread=h&&this._enableHardWareDecode(),u&&this.isEnableVideoDecodeHardWareThread?(this.videodecodehardwareflag=await g.default.IsSupportVideoDecodeHardwareAcceleration(T.default.enableHADecOpt),u=this.videodecodehardwareflag):u=!1,this.isSupportVideoShare&=p,A.default.add_monitor("isMT:"+h),A.default.add_monitor("SIMD:"+f),A.default.add_monitor("VDHT:"+this.isEnableVideoDecodeHardWareThread),A.default.add_monitor("VDHW:"+this.videodecodehardwareflag),A.default.add_monitor("SupportWebCodecDecode:".concat(u)),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.isSupportVideoShare?(_.workerJsFileUrl=e.vsmiworkerpath,_.workerWasmFileUrl=e.videoMSIMDWasm):p?(_.workerJsFileUrl=e.videoMSIMDWorkerPath,_.workerWasmFileUrl=e.videoMSIMDWasm):h?(_.workerJsFileUrl=e.videoMtWorkerPath,_.workerWasmFileUrl=e.videoMtWasm):f?(_.workerJsFileUrl=e.videoSIMDWorkerPath,_.workerWasmFileUrl=e.videoSIMDWasm):(_.workerJsFileUrl=e.videoWorkerPath,_.workerWasmFileUrl=e.videoWasm),_.integrityHelper=new g.IntegrityHelper(_.workerJsFileUrl,this.lateLoadedAssetsHash);let m=new URL(t).searchParams.get("cid"),E=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&qe("https://".concat(E,":").concat(T.default.webtransportPort,"/wc/media/").concat(n,"?type=v&cid=").concat(m)),this.previewInit({videoDataChannel:{conId:m,userid:i}},!0);let S=u&&this.isEnableVideoDecodeHardWareThread&&d>1&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>=4;g.default.setsub1080pcapacity(S);let C=this.platformType;if(g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB()?C=s.WCL_PLATFORM_TYPE.ANDROID:g.default.isIphoneOrIpadBrowser()&&(C=s.WCL_PLATFORM_TYPE.IPHONE),await this.onRendererTypeSelected(),He(t,{log:a,confId:i,meetingid:o,meetingnumb:n,videodecodethreadnumb:d,isFirefox:g.default.browser.isFirefox,isSupportMultiThread:h,isSupportVideoTrackReader:this.isSupportVideoTrackReader,isSupportOffscreenCanvas:this.isSupportOffscreenCanvas,isenablehw:u,isEnableVideoDecodeHardWareThread:this.isEnableVideoDecodeHardWareThread,isEnableHardWareThread:this.isEnableHardWareThread,isTeslaMode:this.isTeslaMode,platformType:C,rendererType:this.rendererType,isWebCodecDecoderOnWhitelist:this.isWebCodecDecoderOnWhitelist,webrtcvideo:this.webrtcConfig.webrtcflag}),!Ce(this))return!1;if(await Re(_,this),!Ce(this))return!1;let I=this;this.allpromises.push(T.default.videoDecInitInstance.initSuccessPromise);let b=null;return this.bVideoDecodeUsingSAB&&!this.videoDecodeRingBuffer&&(h?(b=!0,this.videoDecodeRingBuffer=!0):(b=M.getStorageForCapacity(),this.videoDecodeRingBuffer=b)),await T.default.videoDecInitInstance.initSuccessPromise.then(async e=>!!Ce(I)&&(e&&this.bVideoDecodeUsingSAB&&b&&Jt(R.f.VIDEO_DECODE,h?null:{buffer:b,offset:0,length:b.byteLength},"VIDEO_DECODE_SAB_FROM_DATACHANNEL",!1,!0),e)).then(e=>(A.default.add_monitor("INITVDRET-".concat(I._id,"-").concat(e&&!I.isDestroy)),!!Ce(I)&&(l||this.init_Notify_APPUI(e,R.f.VIDEO_DECODE),me.subscribeMessage(me.nameMap.INIT_VIDEO_DECODE_SUCCESS),ce(R.f.VIDEO_DECODE),I.waitingVcChannelReady&&I.addChannelForVideo(),e&&c&&v.default.directReport("video fallback to wasm successfully"),e)))},async initAudioEncode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0,d=arguments.length>8?arguments[8]:void 0;if(this.userId=i,Ll("initAudioEncode"),!Ce(this))return!1;A.default.add_monitor("INITAE"),_r.setUserId(i),Ee.resetAudioEncode(d),this.is32bitbrowser=await g.default.is32bitChrome();let u={},l=await g.default.isSDKSupportSIMD();if(e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,l?(u.workerJsFileUrl=e.audioSIMDWorkletPath,u.workerWasmFileUrl=e.audioSIMDWasm):(u.workerJsFileUrl=e.audioWorkerPath,u.workerWasmFileUrl=e.audioWasm),u.integrityHelper=new g.IntegrityHelper(u.workerJsFileUrl,this.lateLoadedAssetsHash),!d){let e=new URL(t).searchParams.get("cid"),r=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&je("https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(o,"?type=a&cid=").concat(e)),this.previewInit({audioDataChannel:{conId:e,userid:i}},!0)}if(this.audioCtx||(this.audioCtx=Object(g.createMainAudioContext)()),Fe(t,{sampleRate:this.audioCtx.sampleRate,userid:i,log:a,meetingid:s,meetingnumb:o,videodecodethreadnumb:n}),!Ce(this))return!1;if(await Te(u,this),d||this.isDestroy)return;let c=this;this.allpromises.push(T.default.audioEncodeInitInstance.initSuccessPromise);let h=null;return this.bAudioDecodeUsingSAB&&!this.audioEncodeRingBuffer&&(h=M.getStorageForCapacity(100),this.audioEncodeRingBuffer=h),await T.default.audioEncodeInitInstance.initSuccessPromise.then(e=>!c.isDestroy&&(e&&this.bAudioEncodeUsingSAB&&h&&Jt(R.f.AUDIO_ENCODE,{buffer:h,offset:0,length:h.byteLength,bAudioEncodeMainThreadConsumerIntervalEnable:!1},"audioEncodeSAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITAERET-".concat(c._id,"-").concat(e&&!c.isDestroy)),!!Ce(c)&&(this.init_Notify_APPUI(e,R.f.AUDIO_ENCODE),ce(R.f.AUDIO_ENCODE),e)))},async initAudioDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0;if(this.userId=i,!Ce(this))return!1;Ee.resetAudioDecode(!1),Ll("initAudioDecode"),_r.setUserId(i);let d=!1;"WEBRTC"===T.default.audioSolution&&(d=!0),T.default.audioSolution="WASM",A.default.add_monitor("INITAD"),this.is32bitbrowser=await g.default.is32bitChrome();let u=new URL(t).searchParams.get("cid"),l=new URL(t).host,c={};e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,c.workerJsFileUrl=e.audioWorkerPath,c.workerWasmFileUrl=e.audioWasm,g.apiSupportUtility.getIsSupportWebtransport()&&je("https://".concat(l,":").concat(T.default.webtransportPort,"/wc/media/").concat(o,"?type=a&cid=").concat(u)),this.previewInit({audioDataChannel:{conId:u,userid:i}},!0);let h=await g.default.isSDKSupportMultiThread();if(await g.default.isSDKSupportSIMD()?(c.workerJsFileUrl=e.audioSIMDWorkletPath,c.workerWasmFileUrl=e.audioSIMDWasm):(c.workerJsFileUrl=e.audioWorkerPath,c.workerWasmFileUrl=e.audioWasm),c.integrityHelper=new g.IntegrityHelper(c.workerJsFileUrl,this.lateLoadedAssetsHash),this.audioCtx||(this.audioCtx=Object(g.createMainAudioContext)()),Fe(t,{sampleRate:this.audioCtx.sampleRate,userid:i,log:a,meetingid:s,meetingnumb:o,videodecodethreadnumb:n,isSupportMultiThread:h}),!Ce(this))return!1;if(await Ie(c,this),!Ce(this))return!1;let f=this;this.allpromises.push(T.default.audioDecInitInstance.initSuccessPromise);let p=null;return this.bAudioDecodeUsingSAB&&!this.audioDecodeRingBuffer&&(p=M.getStorageForCapacity(100),this.audioDecodeRingBuffer=p),await T.default.audioDecInitInstance.initSuccessPromise.then(async e=>!f.isDestroy&&(A.default.add_monitor("ADIP"+!!e),e&&this.bAudioDecodeUsingSAB&&p&&await Jt(R.f.AUDIO_DECODE,{buffer:p,offset:0,length:p.byteLength},"audioDecodeSAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITADRET-".concat(f._id,"-").concat(e&&!f.isDestroy)),!!Ce(f)&&(e&&d&&v.default.directReport("fallback to wasm solution successfully"),this.init_Notify_APPUI(e,R.f.AUDIO_DECODE),ce(R.f.AUDIO_DECODE),e)))},async initSharingDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0;if(!Ce(this))return!1;A.default.add_monitor("INITSD");let n=await g.default.isSDKSupportSIMD(),d=await g.default.isSDKSupportMultiThread(),u=n&&d;if(this.isSupportVideoShare&=u,this.isSupportVideoShare&&this.webrtcConfig.webrtcflag)try{await this.webrtcVDpromise,await this.initVideoDecode(...this.initVDPara,!0)}catch(e){A.default.add_monitor("INITVDSDF")}if(this.userId=i,this.recordSharingParamInfo(),this.isSupportVideoShare){this.allpromises.push(T.default.sharingDecInitInstance.socketSuccessPromise);let e=this;return await T.default.sharingDecInitInstance.handlerSuccessPromise,await T.default.sharingDecInitInstance.socketSuccessPromise.then(t=>(A.default.add_monitor("INITSDRET-".concat(e._id,"-").concat(t&&!e.isDestroy)),!!Ce(e)&&(this.init_Notify_APPUI(t,R.f.SHARING_DECODE),ce(R.f.SHARING_DECODE),t)))}this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.is32bitbrowser=await g.default.is32bitChrome(),await this.onRendererTypeSelected(),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e;let l={};if(u?(l.workerJsFileUrl=e.sharingMSIMDWorkerPath,l.workerWasmFileUrl=e.videoMSIMDWasm):d?(l.workerJsFileUrl=e.sharingMtWorkerPath,l.workerWasmFileUrl=e.videoMtWasm):n?(l.workerJsFileUrl=e.sharingSIMDWorkerPath,l.workerWasmFileUrl=e.videoSIMDWasm):(l.workerJsFileUrl=e.sharingWorkerPath,l.workerWasmFileUrl=e.videoWasm),l.integrityHelper=new g.IntegrityHelper(l.workerJsFileUrl,this.lateLoadedAssetsHash),Ge(t,{log:a,userid:i,meetingid:s,meetingnumb:o,isSupportMultiThread:d,rendererType:this.rendererType,isWebCodecDecoderOnWhitelist:this.isWebCodecDecoderOnWhitelist}),!Ce(this))return!1;if(await be(l,this),!Ce(this))return!1;this.allpromises.push(T.default.sharingDecInitInstance.initSuccessPromise);let c=this;return await T.default.sharingDecInitInstance.initSuccessPromise.then(e=>(A.default.add_monitor("INITSDRET-".concat(c._id,"-").concat(e&&!c.isDestroy)),!!Ce(c)&&(this.init_Notify_APPUI(e,R.f.SHARING_DECODE),ce(R.f.SHARING_DECODE),e)))},async initSharingEncode(e,t,i){var r;let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0;A.default.add_monitor("INITSE");let d=await g.default.isSDKSupportSIMD(),u=await g.default.isSDKSupportMultiThread(),l=d&&u;if(this.isSupportVideoShare&=l,this.isSupportVideoShare&&this.webrtcConfig.webrtcflag)try{await this.webrtcpromise,11==this.initVEPara.length?await this.initVideoEncode(...this.initVEPara,!1,!1,!0):await this.initVideoEncode(...this.initVEPara,!0)}catch(e){A.default.add_monitor("INITVESEF")}if(this.userId=i,!Ce(this))return!1;if(this.isSupportVideoShare){this.allpromises.push(T.default.sharingEncInitInstance.socketSuccessPromise);let e=this;return await T.default.sharingEncInitInstance.handlerSuccessPromise,await T.default.sharingEncInitInstance.socketSuccessPromise.then(t=>(A.default.add_monitor("INITSERET-".concat(e._id,"-").concat(t&&!e.isDestroy)),!!Ce(e)&&(this.init_Notify_APPUI(t,R.f.SHARING_ENCODE),ce(R.f.SHARING_ENCODE),g.default.getGpuInfo().isWebGLContextInvalid&&Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,{reason:"WebGLContextInvalid"}),t)))}e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.is32bitbrowser=await g.default.is32bitChrome(),await this.onRendererTypeSelected();let c={};if(l?(c.workerJsFileUrl=e.sharingMSIMDWorkerPath,c.workerWasmFileUrl=e.videoMSIMDWasm):u?(c.workerJsFileUrl=e.sharingMtWorkerPath,c.workerWasmFileUrl=e.videoMtWasm):d?(c.workerJsFileUrl=e.sharingSIMDWorkerPath,c.workerWasmFileUrl=e.videoSIMDWasm):(c.workerJsFileUrl=e.sharingWorkerPath,c.workerWasmFileUrl=e.videoWasm),c.integrityHelper=new g.IntegrityHelper(c.workerJsFileUrl,this.lateLoadedAssetsHash),Ge(t,{log:s,userid:i,meetingid:o,meetingnumb:n,isSupportMultiThread:u,rendererType:this.rendererType}),!Ce(this))return!1;if(await Oe(c,this),!Ce(this))return!1;let h=this;return this.allpromises.push(T.default.sharingEncInitInstance.initSuccessPromise),await T.default.sharingEncInitInstance.initSuccessPromise.then(e=>(A.default.add_monitor("INITSERET-".concat(h._id,"-").concat(e&&!h.isDestroy)),!!Ce(h)&&(this.init_Notify_APPUI(e,R.f.SHARING_ENCODE),ce(R.f.SHARING_ENCODE),e)))},JsMediaSDK_UnInit:function(){Ut();this.videoRenderArray.length&&this.videoRenderArray.forEach((function(e){e.display&&(e.display.cleanup(),e.display=null)})),T.default._callbackList=[],T.default._Notify_APPUI=null,Object(J.SetNotifyUIFn)(null)},StartAudioMediaCapture:function(){var e,t,i;Ul.startCaptureAudio({audioConstraints:this.audioCapture?{audioSource:this.audioCapture?this.audioCapture.AudioSelectValue:null,enableOriginalSound:"originalSound"===(null===(e=this.audioCapture)||void 0===e||null===(e=e.audioProfile)||void 0===e?void 0:e.currentSelect),enableStereo:"originalSound"===(null===(t=this.audioCapture)||void 0===t||null===(t=t.audioProfile)||void 0===t?void 0:t.currentSelect)&&(null===(i=this.audioCapture)||void 0===i||null===(i=i.audioProfile)||void 0===i||null===(i=i.originalSound)||void 0===i?void 0:i.stereo),isSupportBrowserAec:this.isSupportBrowserAec,disableAudioAGC:this.disableAudioAGC,disableNoiseSuppression:this.disableNoiseSuppression}:null,successHandler:this.handleAudioCapture.bind(this),errorHandler:this.handleAudioError.bind(this)})},StartDesktopMediaCapture:async function(){if(this.desktopSharingValue.audioOnly){try{const e=await navigator.mediaDevices.getUserMedia({audio:{deviceId:this.desktopSharingValue.deviceId?{exact:this.desktopSharingValue.deviceId}:g.default.browser.isChrome?{exact:"default"}:void 0,echoCancellation:this.desktopSharingValue.echoCancellation,noiseSuppression:this.desktopSharingValue.noiseSuppression,autoGainControl:this.desktopSharingValue.autoGainControl,sampleRate:this.desktopSharingValue.sampleRate||48e3}});this.handleDesktopCapture(e,!0)}catch(e){this.handleCaptureError(e)}return}if(this.desktopSharingValue.sourceId){const e=this.desktopSharingValue.sourceId;try{const t=await navigator.mediaDevices.getUserMedia({audio:!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e}}});this.handleDesktopCapture(t)}catch(e){this.handleCaptureError(e)}return}const e=this.handleDesktopCapture.bind(this),t=this.handleCaptureError.bind(this);if(this.desktopSharingValue.share2ndCamera){const i=this.desktopSharingValue.share2ndCameraParams||{},r=i.VideoSelectValue?{exact:i.VideoSelectValue}:void 0,a=i.frameRate?{ideal:i.frameRate}:void 0,s={deviceId:r,width:i.width||640,height:i.height||360,frameRate:a};let o=!1;i.AudioSelectValue&&(o={noiseSuppression:null==i?void 0:i.noiseSuppression,autoGainControl:null==i?void 0:i.autoGainControl,echoCancellation:null==i?void 0:i.echoCancellation,sampleRate:i.sampleRate||48e3,deviceId:{exact:i.AudioSelectValue}});const n={video:s,audio:o};return void navigator.mediaDevices.getUserMedia(n).then(e,t)}const i=this.desktopSharingValue.videoParams,r=navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints(),a=r&&!!r.displaySurface&&i&&i.displaySurface;if(navigator.mediaDevices.getDisplayMedia){let r=!(!g.default.isSupportSharedArrayBuffer()&&!this.audioBridge||!this.desktopSharingValue.showShareAudioOption)&&{autoGainControl:!1,noiseSuppression:!1,echoCancellation:!g.default.isSupportSharingStereo()},s=this.desktopSharingValue.videoParams||!0;a&&("object"==typeof s?s.displaySurface=i.displaySurface:"boolean"==typeof s&&(s={displaySurface:i.displaySurface}));let o={video:s,audio:r,...this.desktopSharingValue.otherParams};navigator.mediaDevices.getDisplayMedia(o).then(e,t)}},StartVideoMediaCapture:async function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const i=this.videoCaptureValue,r={encode:this.isStartVideoCapture,preview:this.isMaskSettingOn||this.isVBSettingOn};A.default.add_monitor("STARTVIDEOMEDIA:".concat(r.encode,":").concat(r.preview)),Ul.startCaptureVideo({videoConstraints:this.videoCaptureValue?{videoSource:this.videoCaptureValue.VideoSelectValue,usingFacingMode:this.videoCaptureValue.usingFacingMode,width:this.videoCaptureValue.width,height:this.videoCaptureValue.height,pan:this.videoCaptureValue.pan,tilt:this.videoCaptureValue.tilt,zoom:this.videoCaptureValue.zoom,fps:this.videoCaptureValue.fps}:null,timeout:this.videoCaptureValue?this.videoCaptureValue.timeout:null,successHandler:async e=>{var o;if(Nl.ProcessorManager.hasMediaStreamFrameProcessor()){Nl.ProcessorManager.removeStream(),Nl.ProcessorManager.setStream(e);const t=Nl.ProcessorManager.getStream();Ul.processedStream=t}if(!Ce(this,"videocapture"))return Ul.enableReuseStream(!1),Ul.destoryVideoMediaStream(),void v.default.error("VideoCaptureException successed sdkinstance has destroyed");if((null===(o=this.videoCaptureValue)||void 0===o?void 0:o.videoCtrl)===(null==i?void 0:i.videoCtrl)&&(this.videoCaptureValue=i),Ul.videoConstraints){const{width:e,height:t}=Ul.videoConstraints;e&&t&&(this.videoCaptureWidth=e instanceof Object?e.ideal:e,this.videoCaptureHeight=t instanceof Object?t.ideal:t)}let n=!1;try{var d;const i=e.getVideoTracks()[0]||{};if(A.default.add_monitor("WMSC_Stream_ Capture_Success: ".concat(null==i?void 0:i.muted,"|").concat(null==i?void 0:i.readyState,"|").concat(!(null===(d=this.videoCaptureValue)||void 0===d||!d.videoCtrl))),this.webrtcConfig.webrtcflag)if(this.wmscManager){var u;t&&T.default.Notify_APPUI(a.MOBILE_CAPTURE_DEVICE_CHANGE,this.userId);const e=Ul.getVideoStream();0,null!==(u=this.wmscManager)&&void 0!==u&&u.vbSettingVideoDom&&(this.wmscManager.vbSettingVideoDom.srcObject=e),await this.handleWebRTCStream("streamCaptureSuccess",e),await this.handleWebrtcVideoCapture(e),n=!0}else{const e="WMSC_Capture_Success_Handle_Fail:".concat(!!this.wmscManager,"|").concat(this.isStartVideoCapture,"|streamCaptureSuccess");A.default.add_monitor(e),v.default.error(e)}else await this.handleWasmVideoCapture(e,r),n=!0;if(A.default.add_monitor("STARTVIDEORET:".concat(n,"|").concat(null==i?void 0:i.muted)),n){A.default.add_monitor("VCMS"),i.onended=async()=>{if(!await _r.hasPermission("camera"))return A.default.add_monitor("VTRS:"+i.readyState+"R"),void Object(J.NotifyUIError)(a.VIDEO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.PERMISSION_RESET);let e=await navigator.mediaDevices.enumerateDevices(),t=!1;e.forEach(e=>{"videoinput"===e.kind&&e.label===i.label&&e.deviceId===i.getSettings().deviceId&&(t=!0)}),t?(A.default.add_monitor("VTRS:"+i.readyState+"I"),Object(J.NotifyUIError)(a.VIDEO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION)):A.default.add_monitor("VTRS:"+i.readyState+"L"),_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.STOP,type:s.HEALTH_CHECK_TYPE.VIDEO}),v.default.error("video media track ended")},i.onmute=async()=>{A.default.add_monitor("VTMS:"+i.muted),v.default.directReport("NotifyUIError,event=".concat(a.VIDEO_STREAM_MUTED,",data=").concat(!!this.videoCaptureValue)),this.videoCaptureValue&&(this.videoMuteTimeoutId=setTimeout(()=>{T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_MUTED),this.videoMuteTimeoutId=0},3e3),T.default.rwgAgent||_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.PAUSE,type:s.HEALTH_CHECK_TYPE.VIDEO}));await _r.hasPermission("camera")||Object(J.NotifyUIError)(a.LOST_CAMERA_ACCESS,J.CAPTURE_ERROR_TYPE.LOST_ACCESS)},i.onunmute=()=>{A.default.add_monitor("VTMS:"+i.muted),v.default.directReport("NotifyUIError,event=".concat(a.VIDEO_STREAM_UNMUTED)),this.webrtcConfig.webrtcflag&&this.wmscManager&&this.wmscManager.playAllVideoTag("videoTrackUnmute"),this.videoMuteTimeoutId?(clearTimeout(this.videoMuteTimeoutId),this.videoMuteTimeoutId=0):T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_UNMUTED),T.default.rwgAgent||_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.RESUME,type:s.HEALTH_CHECK_TYPE.VIDEO})},i.muted?(A.default.add_monitor("VTMS:"+i.muted),T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_MUTED)):(A.default.add_monitor("VTMS:"+i.muted),T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_UNMUTED));try{let{width:e,height:t}=Ul.currentVideoResolution||{};if((g.default.browser.isSafari||g.default.isAndroidBrowser())&&e&&t){let i=e instanceof Object?e.ideal:e,r=t instanceof Object?t.ideal:t;e&&t&&this.Change_Video_Capture_Resolution(i,r,!0)}}catch(e){}}}catch(e){this.handleVideoError(e)}},errorHandler:function(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.handleVideoError(t,i)}})},Start_Audio_Play:function(){this.audioPlay=!0,T.default.AudioNode&&T.default.AudioNode.postCMD("startPlayAudio",null),fe(!0)},Stop_Audio_Play:function(){fe(!1),T.default.AudioNode&&T.default.AudioNode.postCMD("stopPlayAudio",null)},Remove_Audio_Play:function(){fe(!1),this.audioPlay=!1,T.default.AudioNode&&T.default.AudioNode.postCMD("stopPlayAudio",null)},Meeting_Fail_Over:function(e,t){st(e,t)},Start_Desktop_Audio_Capture:function(){if(this.useAudioBridge){var e;null===(e=this.audioBridge)||void 0===e||e.publishStream(this.desktopSharingMediaStram,!0)}else{let e=this.desktopSharingMediaStram.getAudioTracks();if(this.desktopSharingMediaStram&&e){var t=this.sharingAudioCtx.createMediaStreamSource(this.desktopSharingMediaStram);return this.sharingWebrtcAudioNode=t,this.isSharingCaptureNodeConnect||(this.sharingWebrtcAudioNode.connect(T.default.SharingAudioNode),T.default.SharingAudioNode.postCMD("StartCaptureAudio",null),this.isSharingCaptureNodeConnect=!0),void(this.screenShareAudioPreviewElement&&this.screenShareAudioPreviewElement.play().catch(e=>{v.default.error("Screenshare audio preview play failed",e)}))}}},Start_Audio_Capture:function(){if(Ul.shouldCaptureAudio())this.StartAudioMediaCapture();else{Ul.getAudioCapabilities().deviceId;if(this.audioInputLevel)return this.audioInputLevel.setAudioStream(Ul.audioStream),this.captureAudioMuted||this.audioInputLevel.start(),void(T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId())));var e;if(this.useAudioBridge)return void(null===(e=this.audioBridge)||void 0===e||e.publishStream(Ul.audioStream).then(e=>{T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}));if(T.default.AudioNode){this.webrtcAudioNode&&(this.webrtcAudioNode.disconnect(T.default.AudioNode),this.webrtcAudioNode=null);var t=this.audioCtx.createMediaStreamSource(Ul.audioStream);this.webrtcAudioNode=t,this.webrtcAudioNode.connect(T.default.AudioNode),T.default.AudioNode.postCMD("StartCaptureAudio",null),Tt({command:132,value:!0}),this.isCaputureNodeConnect=!0}T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}},Stop_Audio_Capture:function(){nt(T.default.SPECIAL_ID,a.AUDIO_STOP)},_startVideoLoadedmetadataMonitor:function(e,t){var i;null!==(i=this.videoloadedmetadatamonitor)&&void 0!==i&&i.stop&&this.videoloadedmetadatamonitor.stop();let r=Math.min(s.LOADEDMETADATAT_IMEOUT+5e3*this.loadedmetadatamtimeoutcount,3e4),a=setTimeout(()=>{var i;(null===(i=this.videoloadedmetadatamonitor)||void 0===i?void 0:i.id)!=t||this.isDestroy||(Object(g.RecordVideoState)(e),this.loadedmetadatamtimeoutcount++,this.videoloadedmetadatamonitor=null,e.readyState>=2?(this._videoloadedmetadata(t,{}),v.default.directReport("video is ready state no loadedmetadata callback")):(A.default.add_monitor("loadmetadatamtimeout:".concat(this.loadedmetadatamtimeoutcount)),this.handleVideoError(new Error("Video loadedmetadata timeout ".concat(this.loadedmetadatamtimeoutcount)))))},r);this.videoloadedmetadatamonitor={id:t,stop:()=>{clearTimeout(a)}}},_addVideoLoadedmetadataListener:function(e){var t;if(!e)return void v.default.error("videodom is null");this.mountoadedmetadatatime=performance.now(),null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null);let i=Date.now();const r=this._videoloadedmetadata.bind(this,i);e.addEventListener("loadedmetadata",r);this.videoloadmetadataListener={id:i,remove:()=>{e.removeEventListener("loadedmetadata",r)}},this._startVideoLoadedmetadataMonitor(e,i)},_videoloadedmetadata:function(e,t){var i,r;if(this.videoloadmetadataListener){if(this.videoloadmetadataListener.id!=e)return;var s;null===(s=this.videoloadmetadataListener)||void 0===s||s.remove(),this.videoloadmetadataListener=null}let o,n;null!==(i=this.videoloadedmetadatamonitor)&&void 0!==i&&i.stop&&(this.videoloadedmetadatamonitor.stop(),this.videoloadedmetadatamonitor=null);let d=this,u=null;if(t?(u=t.target||d.videoCaptureValue.videoCtrl,A.default.add_monitor("VIDEOLOADEDMETADATA:".concat(u==d.videoCaptureValue.videoCtrl))):A.default.add_monitor("VIDEOLOADEDMETADATA:".concat(!0)),!Ce(d,"loadedmetadata"))return v.default.error("VideoCaptureException loadedmetadata JsMediaSDK instance destroyed"),Ul.enableReuseStream(!1),void Ul.destoryVideoMediaStream();var l;(d.isVideoCaptureLoadedmetadata&&v.default.warn("Video capture isVideoCaptureLoadedmetadata is true"),d.isVideoCaptureLoadedmetadata=!0,d.isSupportVideoFrameOrBitmapCapture)?(o=d.videoCaptureWidth,n=d.videoCaptureHeight):(o=d.videoCaptureValue.videoCtrl.videoWidth,n=d.videoCaptureValue.videoCtrl.videoHeight,d.videoCaptureWidth=o,d.videoCaptureHeight=n,null===(l=d.captureVideoOutputCanvasDomList)||void 0===l||l.forEach((function(e){e.width=o,e.height=n})));t&&this.startVideoCaptureSuccess(),null===(r=d.VideoRenderObj)||void 0===r||r.Set_LocalVideo_SSRC(d.videoCaptureValue.ssid),d.webrtcConfig.webrtcflag||(_t({command:"startVideoEncode",width:d.videoCaptureWidth,height:d.videoCaptureHeight,fps:d.videoCaptureValue.fps,ssid:d.videoCaptureValue.ssid,mtu_size:d.mtu_size,isSupportImageCapture:d.isSupportImageCapture,isSupportVideoTrackReader:d.isSupportVideoTrackReader,isSupportMediaStreamTrackProcessor:d.isSupportMediaStreamTrackProcessor,isSupport2DCanvasDrawFrame:d.isSupport2DCanvasDrawFrame,disableOriginalRatio:!!d.videoCaptureValue.disableOriginalRatio}),gt({command:"startVideoEncode",ssid:d.videoCaptureValue.ssid,disableOriginalRatio:!!d.videoCaptureValue.disableOriginalRatio}),d.isSupportVideoShare||Ft({command:"startVideoEncode"}),_t({command:"updateVideoPara",width:d.videoCaptureWidth,height:d.videoCaptureHeight,fps:d.GetVideoCaptureFps()})),d.lastRealRect.left=0,d.lastRealRect.top=0,d.lastRealRect.width=d.videoCaptureWidth,d.lastRealRect.height=d.videoCaptureHeight,T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:o,height:n})},startVideoCaptureSuccess:function(){const{deviceId:e,pan:t=null,tilt:i=null,zoom:r=null,facingMode:s=null}=Ul.getVideoCapabilities(),o={currentDeviceID:e,PTZRange:{pan:t,tilt:i,zoom:r}},{usingFacingMode:n=!1}=this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO;n&&(null==s?void 0:s.length)>0&&(o.usingFacingMode=!0,o.VideoSelectValue=s),A.default.add_monitor("START_VIDEO_CAPTURE_SUCCESS_Response:".concat(Object(g.replaceComma)(JSON.stringify(o)))),T.default.Notify_APPUI(a.START_VIDEO_CAPTURE_SUCCESS,o)},handleWebRTCStream:async function(e,t){if(!this.webrtcConfig.webrtcflag)return void A.default.add_monitor("WMSC_WebRTC_Flag_Error:".concat(e));const i=t||Ul.getVideoStream();if(this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&(this.videoCaptureValue.videoCtrl.srcObject=i,Ul.playVideoStream(this.videoCaptureValue.videoCtrl)),this.wmscManager&&i){var r;this.wmscManager.selfVideoDomMap.size>0&&this.wmscManager.selfVideoDomMap.forEach(t=>{t.srcObject=i,this.wmscManager.playSelfVideo(e,t)});const t=null===(r=i.getVideoTracks()[0])||void 0===r?void 0:r.getSettings(),a=[{stream:i,width:(null==t?void 0:t.width)||640,height:(null==t?void 0:t.height)||360}];Ul.isVideoStreamProcessed()&&a.push({stream:Ul.videoStream}),A.default.add_monitor("WMSC_Prepare_Send_streams:".concat(e,"|").concat(this.isStartVideoCapture)),this.isStartVideoCapture&&await this.wmscManager.sendMessageToWMSCAsync({type:"VIDEO_STREAMS",streams:a})}else{var a;A.default.add_monitor("WMSC_Send_Stream_Fail:".concat(!!this.wmscManager,"|").concat(!!i,"|").concat(!(null===(a=this.videoCaptureValue)||void 0===a||!a.videoCtrl),"|").concat(e))}},render_self_video_wasm:function(){try{this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(this.videoCaptureValue.videoCtrl),this.selfPreviewVideotagList&&this.selfPreviewVideotagList.length>0&&this.selfPreviewVideotagList.forEach(e=>{e&&Ul.playVideoStream(e)})}catch(e){v.default.error("Error trying to set srcObject of video tag",e)}},Start_Video_Capture:function(){if(!Ul.shouldCaptureVideo()){var e=this;return new Promise((t,i)=>{if(e.isSupportVideoFrameOrBitmapCapture?(e._videoloadedmetadata(null),e.render_self_video_wasm(),g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()&&e.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(e.videoCaptureValue.videoCtrl),t(!0)):(e.isVideoCaptureLoadedmetadata&&(v.default.error("Video capture isVideoCaptureLoadedmetadata is true"),e.isVideoCaptureLoadedmetadata=!1),this._addVideoLoadedmetadataListener(e.videoCaptureValue.videoCtrl),Ul.checkVideoStreamActive().then(t).catch(i),e.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(e.videoCaptureValue.videoCtrl)),this.webrtcConfig.webrtcflag)if(A.default.add_monitor("WMSC_Start_CAPTURE_REUSE_STREAM"),this.wmscManager)this.handleWebRTCStream("reuseCaptureStream");else{const e="WMSC_Resuse_Stream_Fail:".concat(!!this.wmscManager,"|").concat(this.isStartVideoCapture,"|reuseCaptureStream");A.default.add_monitor(e),v.default.error(e)}A.default.add_monitor("STARTVIDEOSUCCESS"),(e.isSupportVideoFrameOrBitmapCapture||!e.isSupportedVideoFrameOrBitmapCapture&&this.webrtcConfig.webrtcflag)&&this.startVideoCaptureSuccess()})}this.StartVideoMediaCapture()},video_capture_for_webrtc:function(){if(!Ul.shouldCaptureVideo())return new Promise(e=>{this.startVideoCaptureSuccess(),e(!0)})},Stop_Video_Capture:function(){this.webrtcConfig.webrtcflag?(A.default.add_monitor("WMSC_Stop_Video_CAPTURE"),this.Stop_Video_Capture_for_webrtc()):this.Stop_Video_Capture_for_wasm(),this.isStartVideoCapture=!1,this.isVideoCaptureLoadedmetadata=!1,Ul._clearCheckVideoStreamActiveTimer(),this.isMaskSettingOn||this.isVBSettingOn||this.isStartVideoCapture||(Ul.destoryVideoMediaStream(),this.videoCaptureValue=null),clearInterval(this.videoCaptureInterval),this.videoCaptureInterval=0},Stop_Video_Capture_for_wasm:function(){if(_t({command:"stopVideoEncode"}),gt({command:"stopVideoEncode"}),Ft({command:"stopVideoEncode"}),this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&!this.isMaskSettingOn&&!this.isVBSettingOn){var e,t;let i=!1;if(this.videoloadmetadataListener&&Object(g.RecordVideoState)(this.videoCaptureValue.videoCtrl),this.selfPreviewVideotagList.length&&this.selfPreviewVideotagList.forEach(e=>{e===this.videoCaptureValue.videoCtrl&&(i=!0),Ul.removeVideoStream(e)}),i||Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),null!==(e=this.videoloadedmetadatamonitor)&&void 0!==e&&e.stop&&(this.videoloadedmetadatamonitor.stop(),this.videoloadedmetadatamonitor=null),null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove){this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null;let e=performance.now();e-this.mountoadedmetadatatime>5e3&&v.default.error("stop video capture but loadedmetadata not callback after ".concat(Math.round(e-this.mountoadedmetadatatime)," ms"))}}},Stop_Video_Capture_for_webrtc:async function(){var e;null!==(e=this.videoCaptureValue)&&void 0!==e&&e.videoCtrl&&Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),this.wmscManager&&await this.wmscManager.sendMessageToWMSCAsync({type:"VIDEO_STREAMS",streams:[]})},Remove_Video_Capture:function(){clearInterval(this.videoCaptureInterval),this.videoCaptureInterval=0,Ul.destoryVideoMediaStream(),this.videoCaptureValue=null,this.videoCaptureValue.videoCtrl&&this.videoCaptureValue.videoCtrl.pause()},Change_Video_Capture_Resolution:function(e,t){var i;let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const o=null===T.default||void 0===T.default||null===(i=T.default.localVideoPara)||void 0===i?void 0:i.isSupportWebCodecEnocde;if(g.default.isIpadOS()&&!o)return;let n=!1;if((g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()||g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB())&&(n=!0,r||(this.captureSize={width:e,height:t}),!this.isLandScape&&!r))return;if(this.videoCaptureHiddenCanvas&&g.default.isMac()&&g.default.browser.isFirefox)return;if(e>=1920&&this.platformType!=s.WCL_PLATFORM_TYPE.DESKTOP)return;let d=0;d=e>=1920?30:this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:24,Ul.changeVideoResolution(e,t,d).then(()=>{n||(this.ReadyCapureWidth=e,this.ReadyCapureHeight=t,this.videoCaptureWidth=e,this.videoCaptureHeight=t,T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),_t({command:"updateVideoPara",width:e,height:t,fps:this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:24}))}).catch(e=>{v.default.warn("change video resoltuion info:",e)}),!Ul.videoStreamTrack||this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor||this.Process_Video()},Start_Whiteboard_Sharing:async function(){let e,t;const i=this.desktopSharingValue.canvas;this.whiteboardCanvas=i;this.isdesktopCaptureLoadedmetadata=!0,e=i.width,t=i.height,this.desktopSharingCaptureWidth=e,this.desktopSharingCaptureHeight=t,this.desktopCaptureContext=i.getContext("2d");let r={command:"startSharingEncode",width:e,height:t,fps:8,ssid:this.desktopSharingValue.ssid,isSupportVideoTrackReader:!1,isSupportMediaStreamTrackProcessor:!1,isWhiteboardSharing:!0};_t(r),this.isSupportVideoShare||Ft(r)},Change_Sharing_Capture_Resolution:function(e){if(this.shareTrack){let t;console.log("change sharing capture resolution to",e),t=1==e?{video:!0,frameRate:5}:{width:1280,height:720,frameRate:24},this.shareTrack.applyConstraints(t)}},Start_Desktop_Sharing:function(){if(this.desktopSharingMediaStram){var e=this;return new Promise((t,i)=>{let r=async function(t){let i,s;var o=e.desktopSharingMediaStram.getVideoTracks()[0];if(await Ul.adjustShareResUnder2K(o),e.isSupportSharingTrackReader||e.isSupportMediaStreamTrackProcessor)e.isSupportMediaStreamTrackProcessor?(e.sharingMediaStreamTrackProcessor=new MediaStreamTrackProcessor(o),e.sharingFrameStream=e.sharingMediaStreamTrackProcessor.readable,e.isSupportVideoShare?St("sharingframeStream",e.sharingFrameStream):vt("frameStream",e.sharingFrameStream),A.default.add_monitor("SCTP")):e.isSupportSharingTrackReader&&(e.sharingTrackReader=new VideoTrackReader(o),A.default.add_monitor("SCTPR")),e.desktopSharingValue.video&&(i=e.desktopSharingValue.video.videoWidth,s=e.desktopSharingValue.video.videoHeight,e.desktopSharingCaptureWidth=i,e.desktopSharingCaptureHeight=s,e.desktopSharingValue.video.removeEventListener("loadedmetadata",r));else if(e.isSharingSupportImageCapture){e.sharingImageCapture=new ImageCapture(o),A.default.add_monitor("SCIC");let r=await e.sharingImageCapture.grabFrame();e.desktopSharingCaptureWidth=r.width,e.desktopSharingCaptureHeight=r.height,i=r.width,s=r.height;try{e.replaceCanvasMap.sharingPreviewCanvasId=e.desktopSharingValue.rendercanvasID,e.sharingOffscreenCanvas=e.desktopSharingValue.canvas.transferControlToOffscreen();var n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(u=T.default.localSharingEncMGR.map.get(n)){var d={command:"newSharingPara",rendercanvasID:e.replaceCanvasMap.sharingPreviewCanvasId,data:e.sharingOffscreenCanvas,width:i,height:s,flipSend:e.flipSend,is32bitbrowser:e.is32bitbrowser};u.postMessage(d,[d.data])}}catch(t){var u;n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(u=T.default.localSharingEncMGR.map.get(n)){d={command:"newSharingPara",flipSend:e.flipSend,is32bitbrowser:e.is32bitbrowser};u.postMessage(d)}}}else e.isdesktopCaptureLoadedmetadata=!0,i=e.desktopSharingValue.video.videoWidth,s=e.desktopSharingValue.video.videoHeight,e.desktopSharingValue.canvas.width=i,e.desktopSharingValue.canvas.height=s,e.desktopSharingCaptureWidth=i,e.desktopSharingCaptureHeight=s,e.desktopCaptureContext=e.desktopSharingValue.canvas.getContext("2d"),e.desktopSharingValue.video.removeEventListener("loadedmetadata",r);e.isSupportVideoShare?Gt({command:"startSharingEncode",width:i,height:s,fps:8,ssid:e.desktopSharingValue.ssid,isSupportVideoTrackReader:e.isSupportSharingTrackReader,isSupportMediaStreamTrackProcessor:e.isSupportMediaStreamTrackProcessor}):Ft({command:"startSharingEncode",width:i,height:s,fps:8,ssid:e.desktopSharingValue.ssid,isSupportVideoTrackReader:e.isSupportSharingTrackReader,isSupportMediaStreamTrackProcessor:e.isSupportMediaStreamTrackProcessor}),T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:i,height:s}),_t({command:"startsharingencode"})};if(e.isSupportSharingTrackReader||e.isSupportMediaStreamTrackProcessor)e.desktopSharingValue.video.addEventListener("loadedmetadata",r);else{if(e.isSharingSupportImageCapture)return r(),e.desktopSharingValue.video.srcObject=e.desktopSharingMediaStram,e.desktopSharingValue.video.muted=!0,void t(!0);e.desktopSharingValue.video.addEventListener("loadedmetadata",r),e.desktopSharingValue.video.setAttribute("playsinline",""),e.desktopSharingValue.video.muted=!0}try{e.desktopSharingValue.video.srcObject=e.desktopSharingMediaStram,e.desktopSharingValue.video.muted=!0}catch(t){e.desktopSharingValue.video.src=URL.createObjectURL(e.desktopSharingMediaStram)}e.desktopSharingValue.video.play().catch(e=>{v.default.error("Screenshare video preview play failed",e)}),T.default.isGoogleMeetMode&&e.desktopSharingMediaStram.getAudioTracks().length>0&&(e.screenShareAudioPreviewElement=new Audio,e.screenShareAudioPreviewElement.srcObject=e.desktopSharingMediaStram,e.screenShareAudioPreviewElement.setSinkId(e.audioCtx.sinkId)),t(!0)})}this.StartDesktopMediaCapture()},SharingFrameOutputCallback:function(e){let t,i,r=this;if(null!=e.format&&null!=e.planes)if(t=e.planes[0].stride,i=e.planes[0].rows,t==r.desktopSharingCaptureWidth&&i==r.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t,height:i}),r.desktopSharingCaptureWidth=t,r.desktopSharingCaptureHeight=i),1e3==r.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),r.sMonitorCaptureFrameCount=0),r.sMonitorCaptureFrameCount++,r.canISendNextSharingFrame){r.canISendNextSharingFrame=!1;var s=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var o=T.default.localSharingEncMGR.map.get(s);if(o){var n={command:"encodeSharingFrame",isSupportVideoTrackReader:r.isSupportSharingTrackReader,data:e};o.postMessage(n)}g.default.browserType.version>=90&&("close"in e?e.close():e.destroy())}}else"close"in e?e.close():e.destroy();else if(r.canISendNextSharingFrame){let s;r.canISendNextSharingFrame=!1,e.createImageBitmap().then(o=>{s=o,t=s.width,i=s.height,"close"in e?e.close():e.destroy(),t==r.desktopSharingCaptureWidth&&i==r.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t,height:i}),r.desktopSharingCaptureWidth=t,r.desktopSharingCaptureHeight=i);var n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var d=T.default.localSharingEncMGR.map.get(n);d&&d.postMessage({command:"encodeSharingFrame",isImageFromSharingFrame:!0,data:s},[s])}}).catch(e=>{v.default.error("Converting sharing frame to image bitmap failed",e)})}else"close"in e?e.close():e.destroy()},Process_Sharing:async function(){if(!this.desktopSharingValue||!this.desktopSharingSend)return;let e,t,i;if(!this.isStartWhiteboardSharing&&this.isSupportSharingTrackReader){try{await this.sharingTrackReader.start(this.SharingFrameOutputCallback.bind(this))}catch(e){}return}if(!this.isStartWhiteboardSharing&&this.isSharingSupportImageCapture)try{let i=await this.sharingImageCapture.grabFrame();e=i.width,t=i.height,1e3==this.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),this.sMonitorCaptureFrameCount=0),this.sMonitorCaptureFrameCount++;var r=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(o=T.default.localSharingEncMGR.map.get(r)){var s={command:"encodeSharingFrame",data:i,isImage:!0};o.postMessage(s,[s.data])}}catch(e){v.default.error("An error occurred when trying to encode a sharing frame using the ImageCapture API",e),A.default.add_monitor3("SICF");var o;r=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(o=T.default.localSharingEncMGR.map.get(r)){s={command:"encodeSharingFrame"};o.postMessage(s)}}else this.isStartWhiteboardSharing?(i=this.whiteboardCanvas,e=i.width,t=i.height):(i=this.desktopSharingValue.video,e=i.videoWidth,t=i.videoHeight);let n=Ul.getScaledResolution(e,t);e=n.w,t=n.h,e==this.desktopSharingCaptureWidth&&t==this.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:e,height:t}),this.desktopSharingCaptureWidth=e,this.desktopSharingCaptureHeight=t);try{if(this.isdesktopCaptureLoadedmetadata&&i){this.isStartWhiteboardSharing||(this.desktopSharingValue.canvas.width=e,this.desktopSharingValue.canvas.height=t);var d=this.desktopCaptureContext;if(!this.is32bitbrowser||this.flipSend){this.isStartWhiteboardSharing||d.drawImage(i,0,0,e,t);var u=d.getImageData(0,0,e,t);1e3==this.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),this.sMonitorCaptureFrameCount=0),this.sMonitorCaptureFrameCount++,Ze(T.default.SPECIAL_ID,u.data,u.data.length,0,e,t),this.flipSend=!1}else this.flipSend=!0,Ze(T.default.SPECIAL_ID,null,0,0,0,0)}}catch(e){v.default.error("An error occurred when trying to encode a sharing frame",e),A.default.add_monitor3("GIDF"),setTimeout((function(){Ze(T.default.SPECIAL_ID,null,0,0,0,0)}),1e3)}},VideoFrameOutputCallback:function(e){let t,i,r,s,o=this;if(null!=e.format&&null!=e.planes){r=o.videoCaptureWidth,s=o.videoCaptureHeight,t=e.cropWidth,i=e.cropHeight,t===r&&i===s||(Ll("video width/height changed old => begin",r,s,t,i),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:t,height:i}),_t({command:"updateVideoPara",width:t,height:i,fps:o.GetVideoCaptureFps()}),o.videoCaptureWidth=t,o.videoCaptureHeight=i),3e3==o.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),o.vMonitorCaptureFrameCount=0),o.vMonitorCaptureFrameCount++;var n=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var d=T.default.localVideoEncMGR.map.get(n);d&&e&&d.postMessage({command:"yuvVideoFrame",data:e}),g.default.browserType.version>=90&&("close"in e?e.close():e.destroy())}}else{let n;e.createImageBitmap().then(d=>{n=d,"close"in e?e.close():e.destroy(),r=o.videoCaptureWidth,s=o.videoCaptureHeight,t=n.width,i=n.height,t===r&&i===s||(Ll("video width/height changed old => begin",r,s,t,i),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:t,height:i}),_t({command:"updateVideoPara",width:t,height:i,fps:o.GetVideoCaptureFps()}),o.videoCaptureWidth=t,o.videoCaptureHeight=i);var u=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var l=T.default.localVideoEncMGR.map.get(u);l&&l.postMessage({command:"ImageBitmapFromVideoFrame",data:n},[n])}}).catch(e=>{v.default.error("Converting video frame to image bitmap failed",e)})}},Update_Mask_Texture:function(e,t,i){if(this.VideoMaskSettingCanvas){try{"object"==typeof t&&t.ideal&&(t=t.ideal),"object"==typeof i&&i.ideal&&(i=i.ideal),this.bgCanvas&&this.bgCanvasctx||(this.bgCanvas=document.createElement("canvas"),this.bgCanvasctx=this.bgCanvas.getContext("2d")),this.bgCanvas.width==t&&this.bgCanvas.height==i||(this.bgCanvas.width=t,this.bgCanvas.height=i)}catch(e){globaltracing_error("Update_Mask_Texture, width=$".concat(JSON.stringify(t),", height=").concat(JSON.stringify(i),". "),e),t=this.bgCanvas.width,i=this.bgCanvas.height}if(this.bgCanvasctx.clearRect(0,0,t,i),this.MaskImage&&this.BgImage&&"blur"!==this.BgImage){if(e.dWidth>0&&e.dHeight>0&&this.VideoMaskSettingCanvas.width>0&&this.VideoMaskSettingCanvas.height>0&&t>0&&i>0){let r=e.dx/(this.VideoMaskSettingCanvas.width/t),a=e.dy/(this.VideoMaskSettingCanvas.height/i),s=e.dWidth/(this.VideoMaskSettingCanvas.width/t),o=e.dHeight/(this.VideoMaskSettingCanvas.height/i);this.bgCanvasctx.drawImage(this.MaskImage,r,a,s,o)}let r,a,s,o;this.bgCanvasctx.globalCompositeOperation="source-out",this.Crop_Mask_Bg_16V9(),r=this.bgImageCroppingParams.sx,a=this.bgImageCroppingParams.sy,s=this.bgImageCroppingParams.sw,o=this.bgImageCroppingParams.sh,this.bgCanvasctx.drawImage(this.BgImage,r,a,s,o,0,0,t,i)}}},Crop_Mask_Bg_16V9:function(){let e,t,i,r=0,a=this.BgImage.naturalWidth,s=this.BgImage.naturalHeight;16/9*s>=a?(i=a,r=a/(16/9),e=0,t=(s-r)/2):(i=s*(16/9),r=s,e=(a-i)/2,t=0),this.bgImageCroppingParams.sx=e,this.bgImageCroppingParams.sy=t,this.bgImageCroppingParams.sw=i,this.bgImageCroppingParams.sh=r},Draw_Mask_Frame:function(){if(!this.VideoMaskSettingCanvas)return;this.VideoMaskSettingCanvasctx||(this.VideoMaskSettingCanvasctx=this.VideoMaskSettingCanvas.getContext("2d"));const e=this.VideoMaskCanvasFillMode?Pi(this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height,void 0,void 0,this.VideoMaskSettingCanvas.width/this.VideoMaskSettingCanvas.height):this.videoCaptureValue&&this.videoCaptureValue.disableOriginalRatio?Pi(this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height):null;this.isMirrorMyVideo?(this.isCanvasScaled||(this.VideoMaskSettingCanvasctx.scale(-1,1),this.isCanvasScaled=!0),this.VideoMaskSettingCanvasctx.clearRect(0-this.VideoMaskSettingCanvas.width,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx.drawImage(this.videoCaptureHiddenCanvas,...e?[e.left,e.top,e.width,e.height]:[],0-this.VideoMaskSettingCanvas.width,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height)):(this.isCanvasScaled&&(this.VideoMaskSettingCanvasctx.setTransform(1,0,0,1,0,0),this.isCanvasScaled=!1),this.VideoMaskSettingCanvasctx.clearRect(0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx.drawImage(this.videoCaptureHiddenCanvas,...e?[e.left,e.top,e.width,e.height]:[],0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height))},Draw_No_VB_Preview_Frame:function(){if(!this.videoNoVBPreviewCanvas)return;this.videoNoVBPreviewCanvasctx||(this.videoNoVBPreviewCanvasctx=this.videoNoVBPreviewCanvas.getContext("2d"));const e=this.videoCaptureHiddenCanvas,t=this.videoNoVBPreviewCanvas.width,i=this.videoNoVBPreviewCanvas.height,r=e.width,a=e.height;let s,o,n;r/a>t/i?(s=t/r,o=0,n=(i-a*s)/2):(s=i/a,o=(t-r*s)/2,n=0),this.isMirrorMyVideo?(this.isVideoNoVBPreviewCanvasScaled||(this.videoNoVBPreviewCanvasctx.scale(-1,1),this.isVideoNoVBPreviewCanvasScaled=!0),this.videoNoVBPreviewCanvasctx.clearRect(0-this.videoNoVBPreviewCanvas.width,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,r,a,-o-r*s,n,r*s,a*s)):(this.isVideoNoVBPreviewCanvasScaled&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.isVideoNoVBPreviewCanvasScaled=!1),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,r,a,o,n,r*s,a*s))},DrawNoVBPreviewFromVideo:function(e){if(!this.videoNoVBPreviewCanvas)return;this.videoNoVBPreviewCanvasctx||(this.videoNoVBPreviewCanvasctx=this.videoNoVBPreviewCanvas.getContext("2d"));const t=e.videoWidth?e.videoWidth:640,i=e.videoHeight?e.videoHeight:360,r=this.videoNoVBPreviewCanvas.width,a=this.videoNoVBPreviewCanvas.height;let s,o,n;t/i>r/a?(s=r/t,o=0,n=(a-i*s)/2):(s=a/i,o=(r-t*s)/2,n=0),this.isMirrorMyVideo?(this.isVideoNoVBPreviewCanvasScaled||(this.videoNoVBPreviewCanvasctx.scale(-1,1),this.isVideoNoVBPreviewCanvasScaled=!0),this.videoNoVBPreviewCanvasctx.clearRect(0-this.videoNoVBPreviewCanvas.width,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,t,i,-o-t*s,n,t*s,i*s)):(this.isVideoNoVBPreviewCanvasScaled&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.isVideoNoVBPreviewCanvasScaled=!1),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,t,i,o,n,t*s,i*s))},GetVideoCaptureFps:function(){return this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:s.VIDEO_CAPTURE_FPS},Process_Video:async function(){if(this.isSupportMediaStreamTrackProcessor)return;if(this.isSupportVideoTrackReader){try{await Ul.videoTrackReader.start(this.VideoFrameOutputCallback.bind(this))}catch(e){}return}if(this.isSupportImageCapture){if(Ul.isImageCaptureLocked())return;Ul.lockImageCapture()}if(!(this.videoCaptureValue&&this.isStartVideoCapture||this.isMaskSettingOn||this.isVBSettingOn))return void Ul.unLockImageCapture();let e,t,i,r,o,n=this;if(i=this.videoCaptureWidth,r=this.videoCaptureHeight,this.isSupportImageCapture){try{let s=await Ul.videoImageCapture.grabFrame();e=s.width,t=s.height,e&&t&&(e!==i||t!==r)&&(Ll("video width/height changed old => begin",i,r,e,t),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),_t({command:"updateVideoPara",width:e,height:t,fps:this.GetVideoCaptureFps()}),3e3==this.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),this.vMonitorCaptureFrameCount=0),this.vMonitorCaptureFrameCount++,this.videoCaptureWidth=e,this.videoCaptureHeight=t),ai(s)}catch(e){v.default.error("An error occurred when trying to encode a video frame using the ImageCapture API",e),A.default.add_monitor3("VICF"),ai(null)}return void Ul.unLockImageCapture()}const d=Ul.isUsingFileInputVideoSource();if(this.isStartVideoCapture?o=this.videoCaptureValue.videoCtrl:(this.isMaskSettingOn||this.isVBSettingOn)&&(o=this.MaskSettingVideo),Object(g.VideoStreamCanCapture)(o.srcObject)&&(this.isVideoCaptureLoadedmetadata||this.isMaskSettingOn||this.isVBSettingOn)&&o&&o.readyState>=2){var u,l;if((o.paused||o.ended)&&o.play().catch(e=>{v.default.error("Video capture video tag play failed",e)}),this.isSelfViewWithVideo&&this.platformType==s.WCL_PLATFORM_TYPE.IPHONE){let e=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?e=0:0==Bl&&(e=2)),Ul.isUsingFileInputVideoSource()&&(e=0);let t=new VideoFrame(o,{timestamp:1e3*performance.now()});return void(Et({command:"yuvVideoFrame",data:t,rotation:e},[t])||t.close())}if(g.default.isSupportVideoFrame()&&!n.isCurrentInMaskStatus&&(null!==(u=g.default.browser)&&void 0!==u&&u.isSafari||null!==(l=g.default.browser)&&void 0!==l&&l.isFirefox)){let e=new VideoFrame(o,{timestamp:1e3*performance.now()}),t=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?t=0:0==Bl&&(t=2)),Ul.isUsingFileInputVideoSource()&&(t=0);let i={command:"yuvVideoFrame",data:e,rotation:t};return n.videoCaptureValue&&n.VideoRenderObj?(Nl.ProcessorManager.hasProcessor()||n.VideoRenderObj.Update_LocalVideo(e,t,!0),_t(i),e.close()):Et(i,[e])||e.close(),void(n.isVBSettingOn&&n.isCurrentInNoVBPreviewStatus&&n.DrawNoVBPreviewFromVideo(o))}let h,f,p,_;if(e=o.videoWidth?o.videoWidth:640,t=o.videoHeight?o.videoHeight:360,e&&t&&(e!==i||t!==r)&&(Ll("video width/height changed old => begin",i,r,e,t),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),this.videoCaptureWidth=e,this.videoCaptureHeight=t,_t({command:"updateVideoPara",width:e,height:t,fps:n.GetVideoCaptureFps()})),(!(!n.isMaskSettingOn||n.videoCaptureValue&&n.videoCaptureValue.disableOriginalRatio)||n.MaskImage&&n.BgImage)&&n.isCurrentInMaskStatus&&n.isCurrentInNoVBPreviewStatus){let i=e/t*n.ReadyCapureHeight,r=t/e*n.ReadyCapureWidth;i>n.ReadyCapureWidth?(h=0,f=(n.ReadyCapureHeight-r)/2):(h=(n.ReadyCapureWidth-i)/2,f=0),p=n.ReadyCapureWidth-2*h,_=n.ReadyCapureHeight-2*f,n.videoCaptureHiddenCanvas.width=n.ReadyCapureWidth,n.videoCaptureHiddenCanvas.height=n.ReadyCapureHeight}else p=e,_=t,h=0,f=0,n.videoCaptureHiddenCanvas.width=e,n.videoCaptureHiddenCanvas.height=t;if(d?g.default.videoToMediaStreamManager.drawCanvas(n.videoCaptureHiddenCanvas,n.videoCaptureHiddenCanvasCtx,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height):n.videoCaptureHiddenCanvasCtx.drawImage(o,0,0,e,t,h,f,p,_),n.isCurrentInMaskStatus&&(n.bgCanvas?n.videoCaptureHiddenCanvasCtx.drawImage(n.bgCanvas,0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height):n.Update_Mask_Texture(this.maskCoordinate,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height),n.VideoMaskSettingCanvas&&n.Draw_Mask_Frame()),n.isCurrentInNoVBPreviewStatus&&n.videoNoVBPreviewCanvas&&n.Draw_No_VB_Preview_Frame(),n.isStartVideoCapture||n.isVBSettingOn){var c=n.videoCaptureHiddenCanvasCtx.getImageData(0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height);let e=c.data;n.lastRealRect.width==n.videoCaptureHiddenCanvas.width&&n.lastRealRect.height==n.videoCaptureHiddenCanvas.height||(n.lastRealRect.left=0,n.lastRealRect.top=0,n.lastRealRect.width=n.videoCaptureHiddenCanvas.width,n.lastRealRect.height=n.videoCaptureHiddenCanvas.height,_t({command:"updateVideoPara",width:n.lastRealRect.width,height:n.lastRealRect.height,fps:n.GetVideoCaptureFps()})),n.videoCaptureValue&&n.VideoRenderObj&&!n.isMultiView&&(c.data instanceof Uint8ClampedArray&&(e=new Uint8Array(c.data.buffer)),n.videoCaptureValue&&void 0!==n.videoCaptureValue.disableOriginalRatio&&n.VideoRenderObj.Set_Cropping_Mode(!!n.videoCaptureValue.disableOriginalRatio),n.VideoRenderObj.Draw_Send_Video_Img(e,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height,n.videoCaptureValue.ssid,s.VIDEO_RGBA,n.lastRealRect)),3e3==n.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),n.vMonitorCaptureFrameCount=0),n.vMonitorCaptureFrameCount++,Je(T.default.SPECIAL_ID,e,n.videoCaptureHiddenCanvas.width,n.lastRealRect.left,n.lastRealRect.top)}n.videoCaptureHiddenCanvasCtx.clearRect(0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height)}},Remove_Sharing_Audio_Capture:function(){var e;if(this.useAudioBridge)null===(e=this.audioBridge)||void 0===e||e.publishStream(null,!0);else if(Tt({command:"changeAudioShare",isStart:!1}),T.default.ComputerAudioStatus==R.a.ComputerAudio_Null&&Le.clear(),this.sharingWebrtcAudioNode&&T.default.SharingAudioNode){try{this.sharingWebrtcAudioNode.disconnect(T.default.SharingAudioNode)}catch(e){this.JsMediaSDK_Log(e)}this.sharingWebrtcAudioNode=null}},Remove_Audio_Capture:function(e){if(nt(T.default.SPECIAL_ID,a.AUDIO_REMOVE,e),T.default.DesktopAudioStatus==R.a.DesktopAudio_Null&&Le.clear(),this.firstSetDelay=!0,this.webrtcAudioNode&&T.default.AudioNode){try{this.webrtcAudioNode.disconnect(T.default.AudioNode)}catch(e){this.JsMediaSDK_Log(e)}this.webrtcAudioNode=null}},Start_Video_Play:function(){this.videoRenderIntervalHandle||(this.videoRenderIntervalHandle=this.JsMediaSDK_VideoRenderInterval(this.videorenderinterval))},Stop_Video_Play:function(){if(this.UpdateVideoPlayStatus(!1),this.VideoRenderObj&&(this.VideoRenderObj.ClearQueue(),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName})),this.videoRenderIntervalHandle){this.VideoRenderObj.Stop_Draw.bind(this.VideoRenderObj)(),this.videoRenderIntervalHandle=null}},Remove_Video_Play:function(){this.UpdateVideoPlayStatus(!1),this.videoRenderIntervalHandle&&(clearInterval(this.videoRenderIntervalHandle),this.videoRenderIntervalHandle=null),gt({command:"removeVideoPlay"})},UpdateVideoPlayStatus(e){pe(e)},EndMedia:function(){try{T.default.rwgAgent&&T.default.rwgAgent.off("message",this.rwgAgentMessageListenerWrapper)}catch(e){v.default.error("rwgAgent.off error",e)}try{var e,t;null===(e=this.videoDataChannel)||void 0===e||e.forceClose(),null===(t=this.audioDataChannel)||void 0===t||t.forceClose()}catch(e){v.default.error("clear rtcPeerConnectionList err",e)}try{Ul.enableReuseStream(!1),Ul.destoryAudioMediaStream(),this.Remove_Audio_Play(),this.Remove_Audio_Capture(),this.Remove_Sharing_Audio_Capture(),this.checkWorkletInterval&&(clearInterval(this.checkWorkletInterval),this.checkWorkletInterval=null),this.Remove_Video_Play(),this.audioCtx&&(this.audioCtx.onstatechange=null,this.audioCtx.close(),this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx=null),this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.sharingAudioCtx=null),this.audioDomNode&&(this.audioDomNode=null)}catch(e){v.default.error("endMedia",e)}try{Ul.enableReuseStream(!1),Ul.destoryVideoMediaStream(),this.EndSharingMediaStream(),this.CloseBoringPeerConnection(),g.default.audioToMediaStreamMananger.destroy(!1)}catch(e){v.default.error("endMedia",e)}try{Kt()}catch(e){v.default.error("endMedia",e)}try{this.remoteControl&&this.remoteControl.destroy()}catch(e){v.default.error("endMedia",e)}},EndDesktopAudioMediaStream:function(){if(this.desktopSharingMediaStram){let e=this.desktopSharingMediaStram.getAudioTracks();e.length&&e.forEach((function(e){e.stop()})),this.desktopSharingValue.audioOnly&&!this.desktopSharingMediaStram.getVideoTracks().length&&(this.desktopSharingMediaStram=null)}this.isStartDesktopSharing||(this.desktopSharingValue=null)},EndSharingMediaStream:function(){this.desktopSharingMediaStram&&(this.desktopSharingMediaStram.getTracks().forEach((function(e){e.stop()})),this.desktopSharingMediaStram=null,window.WebQrscanner&&WebQrscanner.qrScanner.stop())},StopSharingCapture:function(){this.EndSharingMediaStream(),this.desktopSharingSend=!1,this.isStartDesktopSharing&&_t({command:"stopsharingencode"}),this.isStartDesktopSharing=!1,this.desktopSharingMediaStram=null,window.WebQrscanner&&WebQrscanner.qrScanner.stop(),this.desktopSharingValue=null},CloseBoringPeerConnection:function(){try{this.rtcConnectionB&&(this.rtcConnectionB.close(),this.rtcConnectionB=null),this.rtcConnectionA&&(this.rtcConnectionA.close(),this.rtcConnectionA=null)}catch(e){Ll(e)}},UnMuteAudio:function(){nt(T.default.SPECIAL_ID,a.AUDIO_START),this.enableHID&&this.hidAvalible&&Dr.sendReport("mute",!1)},MuteAudio:function(){this.Stop_Audio_Capture(),this.enableHID&&this.hidAvalible&&Dr.sendReport("mute",!0)},async selectComputerAudioSpeaker(e,t){var i;let r=g.default.isSupportChromeWideAEC(),s="default"==e?"":e,o=null;var n;if(r&&!this.audioDomNode?this.audioCtx&&(o=this.audioCtx):this.audioDomNode&&(o=this.audioDomNode),!await _r.hasOutputDevice(s))return _r.updateSelectedSpeakerDevices(s,0,!1),v.default.error("Selected output device ID is not available: ".concat(s)),void this.notifyUISetSpeakerError({currentSink:(null===(n=o)||void 0===n?void 0:n.sinkId)||"default",reason:"sinkId not exists"});if(null!==(i=this.fileAudioPlaybackTag)&&void 0!==i&&i.setSinkId&&this.fileAudioPlaybackTag.setSinkId(s).catch(e=>{v.default.error("set audio tag setSinkId error",e)}),this.useAudioBridge){var d;null===(d=this.audioBridge)||void 0===d||d.changeSpeaker(e)}else{var u;if(!o)return A.default.add_monitor("NoAudioPlayer"),void this.notifyUISetSpeakerError({currentSink:(null===(u=o)||void 0===u?void 0:u.sinkId)||"default",reason:"audioPlayer not exists"});o.setSinkId?o.setSinkId(s).then(()=>{var e,i;_r.updateSelectedSpeakerDevices((null===(e=o)||void 0===e?void 0:e.sinkId)||"default",Date.now()-t,!0),"suspended"===o.state&&(A.default.add_monitor("AUDIOCONTEXT:RESUME"),o.resume().catch(e=>{v.default.error("resume audio context failed when setSinkId",e)})),T.default.Notify_APPUI(a.AUDIO_SPEAKER_SET_SUCCESS,(null===(i=o)||void 0===i?void 0:i.sinkId)||"default"),this.audioSpeakerSetErrorCnt=0}).catch(e=>{var i;v.default.error("An error occurred when trying to set the audio output device",e),A.default.add_monitor("AODF"),_r.updateSelectedSpeakerDevices(s,Date.now()-t,!1),this.notifyUISetSpeakerError({currentSink:(null===(i=o)||void 0===i?void 0:i.sinkId)||"default",reason:"setSinkId failed, error = ".concat(e.message)})}):v.default.error("setSinkId is not supported")}},handleDesktopCapture:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.desktopSharingMediaStram=e,this.sharingCodecInfo={width:0,height:0};var i=this;let r=this.desktopSharingMediaStram.getAudioTracks()[0];r?(Ul.addAudioTrackSettingsMonitor(r,"DesktopAudioCapture"),t||"Tab audio"===r.label||r.label.includes("HDMI")||(T.default.shareSystemAudio=!0),_r.updateShareAudioDevices(r.id,r.label),T.default.Notify_APPUI(a.SHARING_DESKTOP_STREAM_HAVE_AUDIO,t),r.onended=function(){A.default.add_monitor("ATRS:"+r.readyState+":"+r.id+":-S")},r.onmute=function(){A.default.add_monitor("ATMS:"+r.muted+":"+r.id+":-S")},r.onunmute=function(){A.default.add_monitor("ATMS:"+r.muted+":"+r.id+":-S")}):T.default.Notify_APPUI(a.SHARING_DESKTOP_STREAM_HAVE_NO_AUDIO,null),this.shareTrack=this.desktopSharingMediaStram.getVideoTracks()[0],this.shareTrack?(A.default.add_monitor("OSTS"),this.shareTrack.onended=function(){A.default.add_monitor("SSBB"),T.default.Notify_APPUI(a.USER_STOP_DESKTOP_SHARING,null),i.StopSharingCapture()},this.Start_Desktop_Sharing(),T.default.Notify_APPUI(a.DESKTOP_SHARING_CAPTURE_SUCCESS,null)):v.default.log("shareTrack is null when share screen")},handleCaptureError:function(e){this.handleGetDisplayMediaError("An error occurred when trying to capture sharing",e),this.StopSharingCapture(),A.default.add_monitor("SCCF"),"Permission denied by system"===e.message?T.default.Notify_APPUI(a.DESKTOP_SHARING_SYSTEM_ERROR,null):T.default.Notify_APPUI(a.DESKTOP_SHARING_ERROR,null)},handleAudioCapture:function(){let{deviceId:e,elapsed_time:t,deviceLabel:i}=Ul.getAudioCapabilities();var r;return e&&t&&i&&_r.updateSelectedMicDevices(e,i,t,!0),this.updateFileAudioPlaybackStream(Ul.audioStream),this.useAudioBridge&&!this.audioInputLevel?(null===(r=this.audioBridge)||void 0===r||r.publishStream(Ul.audioStream).then(e=>{T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}),v.default.log("user grante audio capture"),void T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,e)):this.audioCtx||this.audioInputLevel?(v.default.log("user grante audio capture"),T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,e),void this.Start_Audio_Capture()):(v.default.log("no audio context when join computer audio"),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null),void Ul.destoryAudioMediaStream())},handleWasmVideoCapture:function(e,t){let i=this;return new Promise(async(r,a)=>{if(!e)return a(new Error("no stream"));if(i.videoCaptureWidth?i.videoCaptureWidth=i.videoCaptureWidth:i.videoCaptureWidth=640,i.videoCaptureHeight?i.videoCaptureHeight=i.videoCaptureHeight:i.videoCaptureHeight=360,t.encode&&i.isStartVideoCapture){try{r(await i.Start_Video_Capture())}catch(e){v.default.error("media stream is ok, but start video capture fail",e),a(new Error("media stream is ok, but start video capture fail"))}i.isMaskSettingOn&&i.MaskSettingVideo&&Ul.playVideoStream(i.MaskSettingVideo)}else if(t.preview&&(i.isMaskSettingOn||i.isVBSettingOn))try{r(await i.startMaskOrVBSettingVideoCapture(e))}catch(e){Ll("startMaskOrVBSettingVideoCapture",e),a(new Error("media stream is ok, but start setting video capture fail"))}else i.isStartVideoCapture||Ul.destoryVideoMediaStream()})},handleWebrtcVideoCapture:function(e){let t=this;return new Promise(async(i,r)=>{if(!e)return r(new Error("no stream"));if(t.isStartVideoCapture)try{i(await t.video_capture_for_webrtc())}catch(e){r(new Error("media stream is ok, but start video capture fail"))}else if(t.isMaskSettingOn||t.isVBSettingOn)try{i(await t.startMaskOrVBSettingVideoCapture(e))}catch(e){Ll("startMaskOrVBSettingVideoCapture",e),r(new Error("media stream is ok, but start setting video capture fail"))}else Ul.destoryVideoMediaStream()})},startMaskOrVBSettingVideoCapture:function(e){return new Promise((e,t)=>{try{if(this.isVBSettingOn)if(this.MaskSettingVideo){const e=Ul.playVideoStream(this.MaskSettingVideo);e&&e.then((function(){T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS,null)})).catch((function(e){t(new Error("media stream is ok, but video.play() fail")),v.default.error("An error occurred when trying to play video in Background Setting tab",e),A.default.add_monitor("VBVPF")}))}else T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS,null);else if(this.isMaskSettingOn)if(this.MaskSettingVideo){const e=Ul.playVideoStream(this.MaskSettingVideo);e&&e.then((function(){T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null)})).catch((function(e){t(new Error("media stream is ok, but video.play() fail")),v.default.error("An error occurred when trying to play video in Background Setting tab",e),A.default.add_monitor("MVPF")}))}else T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null);this.webrtcConfig.webrtcflag||(this.addChannelForVideo(),_t({command:"startvideointerval",width:this.videoCaptureValue.width,height:this.videoCaptureValue.height,ssid:this.videoCaptureValue.ssid,mtu_size:this.mtu_size,fps:this.videoCaptureValue.fps,isSupportImageCapture:this.isSupportImageCapture,isSupportVideoTrackReader:this.isSupportVideoTrackReader,isSupportMediaStreamTrackProcessor:this.isSupportMediaStreamTrackProcessor,isSupport2DCanvasDrawFrame:this.isSupport2DCanvasDrawFrame,isVBSettingOn:this.isVBSettingOn,isMaskSettingOn:this.isMaskSettingOn})),e(!0)}catch(e){v.default.error("Starting mask or virtual background failed",e),t(e)}})},handleGetDisplayMediaError:function(e,t){const{name:i}=t,r={AbortError:"error",InvalidStateError:"error",NotAllowedError:"warn",NotFoundError:"warn",NotReadableError:"warn",OverconstrainedError:"warn",TypeError:"error"}[i]||"error";v.default[r](e,t)},handleGetUserMediaError:function(e,t){const{name:i}=t,r={NotAllowedError:"warn",NotFoundError:"warn",NotReadableError:"warn",OverconstrainedError:"warn",SecurityError:"warn",SourceUnavailableError:"warn",PermissionDeniedError:"warn",AbortError:"error",TypeError:"error"}[i]||"error";v.default[r](e,t)},analyserCaptureReason:function(e){let t=Hl(e);T.default.Notify_APPUI(a.AUDIO_CAPTURE_FAILED,t),"NotAllowedError"===(null==e?void 0:e.name)&&"hidden"===document.visibilityState&&(document.removeEventListener("visibilitychange",xl),document.addEventListener("visibilitychange",xl)),A.default.add_monitor("HADF: "+(null==e?void 0:e.name)+"-"+(null==t?void 0:t.errorCode))},handleAudioError:function(e){this.handleGetUserMediaError("Error occurred when trying to capture audio",e),this.analyserCaptureReason(e),T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null))},handleVideoError:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Ce(this,"videocaptureerror"))return void v.default.error("VideoCaptureException VideoError, JsMediaSDK instance destroyed");if(t)return A.default.add_monitor("GUMF"),void this.handleGetUserMediaError("Error occurred when trying to capture video with normal constraints",e);this.isMaskSettingStarted=!1,this.isCurrentInMaskStatus=!1,this.isCurrentInNoVBPreviewStatus=!1,Ll("handleVideoError",e);let i=(null==e?void 0:e.name)||"other error",r="Error ".concat((null==e?void 0:e.message)||"");A.default.add_monitor("STARTVIDEOERR:".concat(i,"-").concat(r));let s=["NotReadableError","SourceUnavailableError"];e instanceof J.CameraOccupiedError||e.name&&-1!==s.indexOf(e.name)?(A.default.add_monitor("COCPEF"),T.default.Notify_APPUI(a.USER_CAMERA_IS_TAKEN_BY_OTHER_PROGRAMS,e)):(A.default.add_monitor("HVDF"),T.default.Notify_APPUI(a.USER_FORBIDDED_CAPTURE_VIDEO,e)),this.handleGetUserMediaError("Error occurred when trying to capture video",e),this.Stop_Video_Capture()},chromeAecWorkAround:async function(e){if(A.default.add_monitor("ASCAEC"),this.rtcConnectionA||this.rtcConnectionB)return!1;let t=null,i=null,r=new MediaStream;let a,s;t=new RTCPeerConnection,i=new RTCPeerConnection,t.onicecandidate=e=>e.candidate&&i.addIceCandidate(new RTCIceCandidate(e.candidate)),i.onicecandidate=e=>e.candidate&&t.addIceCandidate(new RTCIceCandidate(e.candidate)),i.ontrack=e=>{e.streams[0].getTracks().forEach(e=>{r.addTrack(e)})},t.addStream(e),a=await t.createOffer({offerVideo:!0,offerAudio:!0,offerToReceiveAudio:!1,offerToReceiveVideo:!1});let o=!1,n=null,d=null,u=g.default.getBrowserVersion();try{d=a.sdp,u>=104?(n=a.sdp.replace("SAVPF 111","SAVPF 100 111"),n=n.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:100 L16/48000\na=rtpmap:111 opus/48000/2")):(n=a.sdp.replace("SAVPF 111","SAVPF 10 111"),n=n.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:10 L16/48000\na=rtpmap:111 opus/48000/2")),a.sdp=n,await t.setLocalDescription(a),await i.setRemoteDescription(a)}catch(e){o=!0,a.sdp=d,await t.setLocalDescription(a),await i.setRemoteDescription(a)}return s=await i.createAnswer(),o||(u>=104?(s.sdp=s.sdp.replace("SAVPF 111","SAVPF 100 111"),s.sdp=s.sdp.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:100 L16/48000\na=rtpmap:111 opus/48000/2")):(s.sdp=s.sdp.replace("SAVPF 111","SAVPF 10 111"),s.sdp=s.sdp.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:10 L16/48000\na=rtpmap:111 opus/48000/2"))),await i.setLocalDescription(s),await t.setRemoteDescription(s),this.rtcConnectionA=t,this.rtcConnectionB=i,r},switchCanvasForVideoCapture:function(e){var t=[].concat(e),i=t[0];if(this.captureVideoOutputCanvasDomList=t,this.videoCaptureValue.canvasCtrl=i,!this.isSupportVideoFrameOrBitmapCapture){var r=this.videoCaptureValue.videoCtrl.videoWidth,a=this.videoCaptureValue.videoCtrl.videoHeight;t.forEach((function(e){e.width=r,e.height=a})),this.videoCaptureValue.canvasCtrl.width=r,this.videoCaptureValue.canvasCtrl.height=a,this.videoCaptureContext=i.getContext("2d")}},switchVideoTagForVideoCapture:function(e){var t;if(!this.videoCaptureValue)return;if(e===this.videoCaptureValue.videoCtrl)return;null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null);const i=this.videoCaptureValue.videoCtrl;i&&!this.selfPreviewVideotagList.includes(i)&&Ul.removeVideoStream(i),this.videoCaptureValue.videoCtrl=e,this.captureVideoOutPutVideoDom=e,this.isVideoCaptureLoadedmetadata||(v.default.warn("isVideoCaptureLoadedmetadata is false ,need to reloaded"),this._addVideoLoadedmetadataListener(e)),Ul.playVideoStream(e)},videoDecodeFrameBackSABRingBufferConsumeCallback(e){let t=new N;t.setBuffer(e);let i=t.buffer2Obj();$e(i.video_ssrc,i.data,i.video_timestamp,i.video_width,i.video_height,i.rendering_x,i.rendering_y,i.rendering_w,i.rendering_h,i.rotation,i.yuv_limited),this.VideoRenderObj.JsMediaSDK_VideoRender.bind(this.VideoRenderObj)()},CheckCurrentActiveSSRC(e){this.currentactive!=e&&(this.currentactive=e,T.default.CurrentSSRC=this.currentactive,T.default.decoderinworklet?T.default.AudioNode&&T.default.AudioNode.postCMD("currentSSRC",T.default.CurrentSSRC):Rt(T.default.CurrentSSRC))},createVideoElement(){this.MaskSettingVideo||(this.videoCaptureValue&&this.videoCaptureValue.videoCtrl?this.MaskSettingVideo=this.videoCaptureValue.videoCtrl:(this.MaskSettingVideo=function(){let e=document.createElement("video");return e.setAttribute("muted",""),e.setAttribute("playsinline",""),e}(),g.default.browser.isSafari&&(this.MaskSettingVideo.setAttribute("style","position:fixed;top:-10000px;left:-10000px;"),document.body.appendChild(this.MaskSettingVideo))))},changeVideoRenderActiveSsrc(e){if(!this.webrtcConfig.webrtcflag)if(this.RenderInMain==s.RENDER_IN_WORKER){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);if(i){var r={command:"CHANGE_CURRENT_ACTIVE_SSRC",ssrc:e};i.postMessage(r)}}}else this.RenderInMain==s.RENDER_IN_MAIN&&this.VideoRenderObj.Change_Current_SSRC(e)},addChannelForVideo(){var e,t;if(this.vcFlag)return;this.waitingVcChannelReady=!0;let i=T.default.SPECIAL_ID;if(null!==(e=T.default.localVideoDecMGR)&&void 0!==e&&e.map.get(i)&&null!==(t=T.default.localVideoEncMGR)&&void 0!==t&&t.map.get(i)){this.waitingVcChannelReady=!1,this.vcFlag=!0;var r=new MessageChannel;lt(r,r)}},checkIsRenderInWorker(){return this.isMultiView||this.isSupportVideoFrameOrBitmapCapture||T.default.enableVirtualBackgroundWithoutSAB||Object(g.IsSupportWebGLOffscreenCanvas)()&&"undefined"!=typeof SharedArrayBuffer&&g.default.isSafariVersionHigherThan("17.5")},setMultiView(e,t){const i=e>1,r=Object(g.IsSupportWebGLOffscreenCanvas)(),a=!!g.default.isWebGL2Supported(this.isWebGL2FeatureEnabled),s="function"==typeof OffscreenCanvas;this.isMultiView=i&&(r||a),v.default.directReport("JsMediaSDK-SetMultiView() isMultiView:".concat(this.isMultiView||t,",\n docodeThreadNumber:").concat(e,",\n isWebGLSupported:").concat(r,",\n isWebGL2Supported:").concat(a,",\n isOffscreenCanvasSupported:").concat(s,",\n enableMultiDecodeVideoWithoutSAB:").concat(t))},start_capture_video_wasm:function(e){if(Lt(T.default.e2eencrypt),this.addChannelForVideo(),this.videoCaptureHiddenCanvas||this.isSupportVideoFrameOrBitmapCapture||(this.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),this.videoCaptureHiddenCanvasCtx=this.videoCaptureHiddenCanvas.getContext("2d")),!Zt())return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");if(A.default.add_monitor("STARTVIDEO:".concat(this.isStartVideoCapture)),this.isStartVideoCapture)v.default.warn("video capture is already started, do not call again.");else{if(this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO=Object.assign({},e),this.isStartVideoCapture=!0,this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor){let t;t=e.canvas instanceof Array?e.canvas[0]:e.canvas,g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()?e.video?e.videoCtrl=Object(g.parseDOMParams)(e.video).dom:this.selfPreviewVideotagList.length&&(e.videoCtrl=this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]):(this.MaskSettingVideo||this.createVideoElement(),e.videoCtrl=this.MaskSettingVideo)}else e.canvasCtrlList=[],e.canvasCtrl=this.videoCaptureHiddenCanvas,g.default.isSelfPreviewRenderWithVideo()&&(e.video||this.selfPreviewVideotagList.length)?(e.video?e.videoCtrl=Object(g.parseDOMParams)(e.video).dom:this.selfPreviewVideotagList.length&&(e.videoCtrl=this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]),this.isSelfViewWithVideo=!0):(g.default.browser.isSafari,this.MaskSettingVideo||this.createVideoElement(),e.videoCtrl=this.MaskSettingVideo);this.ReadyCapureWidth=e.width?e.width:640,this.ReadyCapureHeight=e.width?e.height:360,this.captureVideoOutPutVideoDom=e.videoCtrl,this.videoCaptureValue=e,this.videoCaptureValue.ssid&&(T.default.localSsrc=this.videoCaptureValue.ssid),!T.default.rwgAgent&&(!e.fps||24==e.fps)&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>8&&this.isSupportVideoShare&&(this.videoCaptureValue.fps=30),this.Start_Video_Capture()}},start_capture_video_webrtc:function(e){const{video:t=null,...i}=e;A.default.add_monitor("WMSC_Start_CAPTURE: ".concat(Object(g.replaceComma)(JSON.stringify(i)),"|").concat(!!t)),this.isStartVideoCapture?v.default.warn("video capture is already started, do not call again."):(this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO=Object.assign({},e),this.isStartVideoCapture=!0,e.videoCtrl=e.video?Object(g.parseDOMParams)(e.video).dom:null,this.captureVideoOutPutVideoDom=e.videoCtrl,this.videoCaptureValue=e,this.videoCaptureValue.ssid&&(T.default.localSsrc=this.videoCaptureValue.ssid),this.Start_Video_Capture())},add_render_video_wasm:async function(e){var t=0;if(Object.assign(e,this.videoWaterMarkParams),void 0===e.isMyself&&(e.isMyself=this.userId&&this.userId>>10==e.userId>>10),g.default.isSelfPreviewRenderWithVideo()&&this.videoCaptureValue&&Object(g.Get_Logical_SSrc)(parseInt(e.userId))==Object(g.Get_Logical_SSrc)(this.videoCaptureValue.ssid)&&e.videodom)return Ul.playVideoStream(e.videodom),this.selfPreviewVideotagList.includes(e.videodom)||this.selfPreviewVideotagList.push(e.videodom),void(this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor?g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()&&(this.videoCaptureValue.videoCtrl=e.videodom):g.default.isSelfPreviewRenderWithVideo()&&(this.videoCaptureValue.videoCtrl=e.videodom,this.isSelfViewWithVideo=!0));if(e.ssrc=e.userId,e.canvas=Object(g.parseDOMParams)(e.canvas).dom,e.canvas){if(e.x=Math.floor(e.x),e.y=Math.floor(e.y),e.width=Math.floor(e.width),e.height=Math.floor(e.height),this.isCreateVideoWaterMark=e.enableWaterMark,this.videoWaterMarkName=this.isCreateVideoWaterMark?e.waterMarkText:"",this.isMultiView||e.isMyself||this.CheckCurrentActiveSSRC(e.ssrc),this.checkIsRenderInWorker()){var i;const t=g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(e.ssrc)===Object(g.Get_Logical_SSrc)(T.default.localSsrc)),r=t?T.default.localVideoEncMGR:T.default.localVideoDecMGR,a=T.default.SPECIAL_ID,o=null===(i=e.canvas)||void 0===i?void 0:i.id;this.replaceCanvasMap.videoDecodeCanvasIds||(this.replaceCanvasMap.videoDecodeCanvasIds=[]),this.replaceCanvasMap.videoEncodeCanvasIds||(this.replaceCanvasMap.videoEncodeCanvasIds=[]),t?-1===this.replaceCanvasMap.videoEncodeCanvasIds.indexOf(o)&&this.replaceCanvasMap.videoEncodeCanvasIds.push(o):-1===this.replaceCanvasMap.videoDecodeCanvasIds.indexOf(o)&&this.replaceCanvasMap.videoDecodeCanvasIds.push(o);try{if(r){const t=r.map.get(a);if(t){const i=e.canvas.transferControlToOffscreen(),r={command:"renderOfflineCanvas",ssrc:e.ssrc,rendercanvasID:o,canvas:i,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,waterMarkText:e.waterMarkText,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition,x:e.x,y:e.y,width:e.width,height:e.height,zone:e.zone,fillMode:e.fillMode,fillModeForResolution:e.fillModeForResolution};t.postMessage(r,[i])}}}catch(t){if(r){const t=r.map.get(a);if(t){const i={command:"renderOfflineCanvas",rendercanvasID:o,ssrc:e.ssrc,videoWaterMarkName:this.videoWaterMarkName,isCreateVideoWaterMark:this.isCreateVideoWaterMark,waterMarkText:e.waterMarkText,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition,x:e.x,y:e.y,width:e.width,height:e.height,zone:e.zone,fillMode:e.fillMode,fillModeForResolution:e.fillModeForResolution};t.postMessage(i)}}}this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_WORKER),this.currentactive&&this.changeVideoRenderActiveSsrc(this.currentactive)}else{var a;e.isMyself||gt({command:"RenderInMain"});const i=null===(a=e.canvas)||void 0===a?void 0:a.id;if(this.videoRenderArray.length)for(t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc==e.ssrc&&this.videoRenderArray[t].zone==e.zone)return;var o,n;if(e.rendercanvasID=i,this.videoRenderArray.push(e),!this.VideoRenderObj)if(this.VideoRenderObj=new Bi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),isSupportOffscreenCanvas:!1,jsMediaEngine:r,...T.default.enableMultiDecodeVideoWithoutSAB?{videodecodethreadnumb:s.MAX_RENDER_WITHOUT_SAB}:{},globalTracingLogger:v.default,monitorLoggerFn:A.default.add_monitor,renderManager:this.renderManager})),null!=this&&null!==(o=this.videoCaptureValue)&&void 0!==o&&o.ssid)null===(n=this.VideoRenderObj)||void 0===n||n.Set_LocalVideo_SSRC(this.videoCaptureValue.ssid);this.activeSpeakerSsrc&&this.VideoRenderObj.setActiveSpeakerSsrc(this.activeSpeakerSsrc),e.canvasList&&e.canvasList.forEach(t=>{this.videoRenderArray.push(Object.assign({},e,{canvas:t}))}),Ll("Start_Video_Play"),this.Start_Video_Play(),this.VideoRenderObj.Set_Render_Array(this.videoRenderArray,T.default.enableMultiDecodeVideoWithoutSAB),this.isCreateVideoWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition}),this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_MAIN),this.currentactive&&this.changeVideoRenderActiveSsrc(this.currentactive)}await pe(!0)}else v.default.warn("ADDRENDER:".concat(e.userId,", canvas:").concat(e.canvas))},add_render_video_webrtc:async function(e){this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_WMSC_VIDEO_TAG_MAPPING",data:{...e,action:"add"}})},stop_render_video_wasm:async function(e){if(g.default.isSelfPreviewRenderWithVideo()&&e.videodom){const t=this.selfPreviewVideotagList.indexOf(e.videodom);t>=0&&(this.selfPreviewVideotagList.splice(t,1),this.videoCaptureValue&&this.videoCaptureValue.videoCtrl===e.videodom&&this.selfPreviewVideotagList.length?this.switchVideoTagForVideoCapture(this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]):this.isStartVideoCapture||Ul.removeVideoStream(e.videodom))}var t;"string"!=typeof e.canvas&&(e.canvas=null===(t=e.canvas)||void 0===t?void 0:t.id);if(this.videoWaterMarkName="",this.isCreateVideoWaterMark=!1,e.ssrc=e.userId,this.checkIsRenderInWorker()){(g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(e.ssrc)===Object(g.Get_Logical_SSrc)(T.default.localSsrc))?_t:gt)({command:"stopVideoRender",ssrc:e.ssrc,canvas:e.canvas,RGBA:e.RGBA,doNotClean:e.doNotClean,x:e.x,y:e.y,zone:e.zone})}if(this.videoRenderArray.length)for(let t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc==e.ssrc&&this.videoRenderArray[t].zone==e.zone){let i=this.videoRenderArray.splice(t,1);this.StopUserVideoRender(this.VideoRenderObj,i,e.RGBA,!e.doNotClean)}},stop_render_video_webrtc:function(e){this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_WMSC_VIDEO_TAG_MAPPING",data:{...e,action:"remove"}})},Notify_MeidaSDK:async function(e,t){Ll(e,t);var i=0;switch(A.default.add_monitor2("B"+e),e){case a.START_VIDEO_VB_SETTING:{t.id&&this.vbSettingDomMap[t.id]&&Object.assign(t,this.vbSettingDomMap[t.id]);let e=this;var o,n;if(e.isVBSettingOn=!0,e.isCurrentInMaskStatus=!1,o=t.width?t.width:640,n=t.height?t.height:360,e.videoCaptureWidth?e.videoCaptureWidth=e.videoCaptureWidth:e.videoCaptureWidth=o,e.videoCaptureHeight?e.videoCaptureHeight=e.videoCaptureHeight:e.videoCaptureHeight=n,this.webrtcConfig.webrtcflag?t.videodom&&this.wmscManager&&(this.wmscManager.vbSettingVideoDom=t.videodom):_t({command:"StartVBSetting"}),A.default.add_monitor(t.bgdom?"VBON":"VBOFF"),t.bgdom)if(this.VBMFlag||(this.VBMFlag=!0,A.default.send_monitor_directly(s.VB_CONSTANT)),"blur"==t.bgdom)this.webrtcConfig.webrtcflag?Ul.changeVBImage("blur"):_t({command:"vbbgimagebitmap",data:t.bgdom});else{let i=Object(g.parseDOMParams)(t.bgdom).dom;if(!i||!i.naturalWidth||!i.naturalHeight)return A.default.add_monitor("VBGF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2);e.BgImage=i,createImageBitmap(i).then(e=>{this.webrtcConfig.webrtcflag?Ul.changeVBImage(e):oi(e,"BgImage")}).catch(e=>{A.default.add_monitor("VBCF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2)})}else this.webrtcConfig.webrtcflag?Ul.isVBEnabled&&Ul.disableVB():oi(null,"BgImage");if(t.canvas){const{id:i,dom:r}=Object(g.parseDOMParams)(t.canvas);if(this.webrtcConfig.webrtcflag)this.wmscManager&&(this.wmscManager.vbSettingVideoDom=r);else if(!g.default.isSupportOffscreenCanvas()||g.default.browser.isSafari&&!g.default.isSafariVersionHigherThan("17.4"))e.isCurrentInNoVBPreviewStatus=!0,e.videoNoVBPreviewCanvas=r;else{if(e.VideoVBSettingCanvas=r,!e.VideoVBSettingCanvas||e.VideoVBSettingCanvas.width<=0||e.VideoVBSettingCanvas.height<=0)return A.default.add_monitor("VBCAF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,3);try{$t(e.VideoVBSettingCanvas.transferControlToOffscreen(),"VBOfflineCanvas",i)}catch(e){$t(null,"VBOfflineCanvas",i)}}}if(e.isSupportVideoFrameOrBitmapCapture||(e.createVideoElement(),e.videoCaptureHiddenCanvas||(e.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),e.videoCaptureHiddenCanvasCtx=e.videoCaptureHiddenCanvas.getContext("2d"))),Ul.shouldCaptureVideo()){if(!Zt()&&!this.webrtcConfig.webrtcflag)return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");e.videoCaptureValue?e.videoCaptureValue=Object.assign(e.videoCaptureValue,t):e.videoCaptureValue=t,e.videoCaptureValue.ssid&&(T.default.localSsrc=e.videoCaptureValue.ssid),e.StartVideoMediaCapture()}else e.MaskSettingVideo&&Ul.playVideoStream(e.MaskSettingVideo)}break;case a.UPDATE_VIDEO_VB_BG_IMAGE:if(A.default.add_monitor(t.bgdom?"VBON":"VBOFF"),t.bgdom)if(this.VBMFlag||(this.VBMFlag=!0,A.default.send_monitor_directly(s.VB_CONSTANT)),"blur"==t.bgdom)this.webrtcConfig.webrtcflag?Ul.changeVBImage("blur"):_t({command:"vbbgimagebitmap",data:t.bgdom});else{let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return A.default.add_monitor("VBGF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2);this.BgImage=e,createImageBitmap(e).then(e=>{this.webrtcConfig.webrtcflag?Ul.changeVBImage(e):oi(e,"BgImage")}).catch(e=>{A.default.add_monitor("VBCF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2)})}else this.BgImage=null,this.webrtcConfig.webrtcflag?Ul.isVBEnabled&&Ul.disableVB():oi(null,"BgImage");break;case a.STOP_VIDEO_VB_SETTING:if((!g.default.isSupportOffscreenCanvas()||g.default.browser.isSafari&&!g.default.isSafariVersionHigherThan("17.4"))&&(this.isCurrentInNoVBPreviewStatus=!1,this.videoNoVBPreviewCanvas&&(this.videoNoVBPreviewCanvasctx&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx=null),this.videoNoVBPreviewCanvas=null),this.isVideoNoVBPreviewCanvasScaled=!1),this.isVBSettingOn=!1,t.isSwitch&&(this.isMaskSettingOn=!0,this.webrtcConfig.webrtcflag||_t({command:"StartMaskSetting",isSwitch:t.isSwitch,enabled:this.isSupportVideoFrameOrBitmapCapture})),this.webrtcConfig.webrtcflag){if(this.wmscManager){const{isConnected:e}=this.wmscManager.vbSettingVideoDom||{};e&&(this.wmscManager.vbSettingVideoDom.srcObject=null),this.wmscManager.vbSettingVideoDom=null}}else _t({command:"finishVBSetting"});this.isStartVideoCapture||this.isMaskSettingOn||this.Stop_Video_Capture(),this.MaskSettingVideo&&this.MaskSettingVideo.pause();break;case a.ADD_VIDEO_VB_SETTING_DOM:{const{id:e,canvas:i,videodom:r}=t;this.vbSettingDomMap[e]={canvas:i,videodom:r}}break;case a.REMOVE_VIDEO_VB_SETTING_DOM:{const{id:e,canvas:i,videodom:r}=t;delete this.vbSettingDomMap[e]}break;case a.VIDEO_MASK_SETTING:{if(this.webrtcConfig.webrtcflag)return;if(this.isMaskSettingStarted)return;this.isMaskSettingStarted=!0;let e=this,i=0,r=0;e.isCurrentInMaskStatus=!0,e.isMaskSettingOn=!0,i=t.width?t.width:640,r=t.height?t.height:360,e.ReadyCapureWidth=i,e.ReadyCapureHeight=r,e.videoCaptureWidth?e.videoCaptureWidth=e.videoCaptureWidth:e.videoCaptureWidth=i,e.videoCaptureHeight?e.videoCaptureHeight=e.videoCaptureHeight:e.videoCaptureHeight=r;let s=0,o=0;if(t.canvas){const{dom:i,id:r}=Object(g.parseDOMParams)(t.canvas);if(e.VideoMaskSettingCanvas=i,e.PrevVideoMaskSettingCanvas=e.VideoMaskSettingCanvas,e.replaceCanvasMap.videoMaskSettingCanvasId=r,!e.VideoMaskSettingCanvas||e.VideoMaskSettingCanvas.width<=0||e.VideoMaskSettingCanvas.height<=0)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,3);s=t.originWidth||e.VideoMaskSettingCanvas.width,o=t.originHeight||e.VideoMaskSettingCanvas.height}if(t.maskdom){let i=Object(g.parseDOMParams)(t.maskdom).dom;if(!i||!i.width||!i.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);let r=1;0==s||0==o||s==e.VideoMaskSettingCanvas.width&&o==e.VideoMaskSettingCanvas.height||(r=Math.min(1*e.VideoMaskSettingCanvas.width/s,1*e.VideoMaskSettingCanvas.height/o)),e.MaskImage=i,e.maskCoordinate.dx=t.dx?Math.round(t.dx*r):e.maskCoordinate.dx,e.maskCoordinate.dy=t.dy?Math.round(t.dy*r):e.maskCoordinate.dy,e.maskCoordinate.dWidth=t.dWidth?Math.round(t.dWidth*r):e.maskCoordinate.dWidth,e.maskCoordinate.dHeight=t.dHeight?Math.round(t.dHeight*r):e.maskCoordinate.dHeight,e.isSupportVideoFrameOrBitmapCapture&&createImageBitmap(i).then((function(t){ni(t,"MaskImage",e.maskCoordinate,e.videoCaptureWidth,e.videoCaptureHeight)})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1)})}if(t.bgdom){let i=Object(g.parseDOMParams)(t.bgdom).dom;if(!i||!i.naturalWidth||!i.naturalHeight)return A.default.add_monitor("VMGF"),void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);e.BgImage=i,e.isSupportVideoFrameOrBitmapCapture&&createImageBitmap(i).then((function(e){si(e,"BgImage")})).catch(e=>{A.default.add_monitor("VMCF"),T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2)})}if(e.isSupportVideoFrameOrBitmapCapture||e.createVideoElement(),this.VideoMaskCanvasFillMode=t.fillMode?1:0,_t({command:"StartMaskSetting",fillMode:this.VideoMaskCanvasFillMode,enabled:this.isSupportVideoFrameOrBitmapCapture}),Ul.shouldCaptureVideo()){if(e.videoCaptureHiddenCanvas||e.isSupportVideoFrameOrBitmapCapture||(e.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),e.videoCaptureHiddenCanvasCtx=e.videoCaptureHiddenCanvas.getContext("2d")),!Zt())return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");e.videoCaptureValue?e.videoCaptureValue=Object.assign(e.videoCaptureValue,t):e.videoCaptureValue=t,e.videoCaptureValue.ssid&&(T.default.localSsrc=e.videoCaptureValue.ssid),e.StartVideoMediaCapture()}else e.MaskSettingVideo&&Ul.playVideoStream(e.MaskSettingVideo),e.isMaskSettingOn&&T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null);if(e.isSupportVideoFrameOrBitmapCapture||g.default.isSupportVideoFrameOrBitmapCapture()&&g.default.isSelfPreviewRenderWithVideo())try{$t(e.VideoMaskSettingCanvas.transferControlToOffscreen(),"MaskOfflineCanvas",e.replaceCanvasMap.videoMaskSettingCanvasId)}catch(t){$t(null,"MaskOfflineCanvas",e.replaceCanvasMap.videoMaskSettingCanvasId)}else e.Update_Mask_Texture(e.maskCoordinate,e.videoCaptureWidth,e.videoCaptureHeight)}break;case a.UPDATE_MASK_CANVAS_SIZE:{if(this.webrtcConfig.webrtcflag)return;const{id:e,dom:i}=Object(g.parseDOMParams)(t.canvas);if(this.isSupportImageCapture||g.default.isSupportImageCapture()&&g.default.isSelfPreviewRenderWithVideo()){var d=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR)if(p=T.default.localVideoEncMGR.map.get(d)){var u={command:"update_mask_canvas_size",rendercanvasID:e,width:t.width,height:t.height};p.postMessage(u)}}else t.canvas=i,t.canvas&&(t.canvas.width=t.width,t.canvas.height=t.height);break}case a.UPDATE_BG_IMAGE:if(this.webrtcConfig.webrtcflag)return;if(this.isSupportVideoFrameOrBitmapCapture)if(t.bgdom){let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);this.BgImage=e,createImageBitmap(e).then((function(e){si(e,"BgImage")})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2)})}else this.BgImage=null,si(null,"BgImage");else{if(t.bgdom){let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);this.BgImage=e}else this.BgImage=null;this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}break;case a.UPDATE_MASK_INFO:if(this.webrtcConfig.webrtcflag)return;if(this.maskCoordinate.dx=t.dx,this.maskCoordinate.dy=t.dy,this.maskCoordinate.dWidth=t.dWidth,this.maskCoordinate.dHeight=t.dHeight,this.isSupportVideoFrameOrBitmapCapture)if(t.maskdom){let e=Object(g.parseDOMParams)(t.maskdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);this.MaskImage=e;let i=this.maskCoordinate,r=this.videoCaptureWidth,s=this.videoCaptureHeight;createImageBitmap(e).then((function(e){ni(e,"MaskImage",i,r,s)})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1)})}else{this.MaskImage=null,ni(null,"MaskImage",this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}else{if(t.maskdom){let e=Object(g.parseDOMParams)(t.maskdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);this.MaskImage=e}else this.MaskImage=null;this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}break;case a.FINISH_MASK_SETTING:if(this.webrtcConfig.webrtcflag)return;this.isMaskSettingStarted=!1,this.isMaskSettingOn=!1,this.BgImage||(this.isCurrentInMaskStatus=!1),t.isSwitch&&(this.isVBSettingOn=!0,_t({command:"StartVBSetting",isSwitch:t.isSwitch})),this.MaskSettingVideo&&this.MaskSettingVideo.pause(),this.VideoMaskSettingCanvas&&(this.VideoMaskSettingCanvasctx&&(this.VideoMaskSettingCanvasctx.setTransform(1,0,0,1,0,0),this.VideoMaskSettingCanvasctx.clearRect(0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx=null),this.VideoMaskSettingCanvas=null),this.isCanvasScaled=!1,_t({command:"finishMaskSetting"}),this.isStartVideoCapture||this.isVBSettingOn||this.Stop_Video_Capture();break;case a.MIRROR_MY_VIDEO:this.isMirrorMyVideo=t.isMirrorMyVideo,this.webrtcConfig.webrtcflag?this.wmscManager&&this.wmscManager.mirrorSelfVideo(this.isMirrorMyVideo):(_t({command:"mirrorMyVideo",isMirrorMyVideo:this.isMirrorMyVideo}),this.isSupportOffscreenCanvas?(this.VideoRenderObj&&this.VideoRenderObj.setMirrorMyVideoOption(this.isMirrorMyVideo),gt({command:"mirrorMyVideo",isMirrorMyVideo:this.isMirrorMyVideo,isSupportOffscreenCanvas:this.isSupportOffscreenCanvas})):(this.VideoRenderObj||(this.VideoRenderObj=new Bi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),isSupportOffscreenCanvas:!1,jsMediaEngine:r,globalTracingLogger:v.default,monitorLoggerFn:A.default.add_monitor,...T.default.enableMultiDecodeVideoWithoutSAB?{videodecodethreadnumb:s.MAX_RENDER_WITHOUT_SAB}:{},renderManager:this.renderManager})),this.activeSpeakerSsrc&&this.VideoRenderObj.setActiveSpeakerSsrc(this.activeSpeakerSsrc)),this.VideoRenderObj.setMirrorMyVideoOption(this.isMirrorMyVideo)));break;case a.NEW_ACTIVE_SPEAKER_SSRC:if(this.webrtcConfig.webrtcflag){var l;null===(l=this.wmscManager)||void 0===l||l.onActiveSpeakerChange(t.ssrc)}else{var c;if(A.default.add_monitor("ACTIVESSRC:".concat(t.ssrc)),Jt(R.f.VIDEO_DECODE,{ssrc:t.ssrc},"newActiveSpeakerSsrc",!1,!0),this.RenderInMain==s.RENDER_IN_MAIN)null===(c=this.VideoRenderObj)||void 0===c||c.setActiveSpeakerSsrc(t.ssrc);this.activeSpeakerSsrc=t.ssrc}break;case a.CANCEL_NEW_ACTIVE_SPEAKER_BEFORE_CALL_BACK:A.default.add_monitor("CANCELACTIVE:".concat(t.ssrc)),gt({command:"cancelNewActiveSpeakerSsrcBefreCallback",ssrc:t.ssrc,haddata:t.haddata}),this.activeSpeakerSsrc=0;break;case a.SEND_RENDER_LOG:A.default.add_monitor(t.message);break;case a.UPDATE_VIDEO_QUALITY:if(!T.default.rwgAgent)break;this.userId!=t.userId&&T.default.sendMessageToRwg(a.SUBSCRIBE_VIDEO,{evt:12303,seq:1,body:{subInfoList:[{id:Number(t.userId),size:Number(t.videoQuality),bOn:!1}]}});break;case a.ADD_RENDER_VIDEO:if(A.default.add_monitor("ADDRENDER:".concat(t.userId)),this.webrtcConfig.webrtcflag){var h;const e=parseInt(t.userId),i=null===(h=this.wmscManager)||void 0===h?void 0:h.isSelfVideo(e);if(1===e&&this.wmscManager&&(this.wmscManager.activeSpeakerVideoDom=t.videodom),this.videoCaptureValue&&i)return Nl.ProcessorManager.hasMediaStreamFrameProcessor()&&Ul.processedStream?t.videodom.srcObject=Ul.processedStream:Ul.isVBEnabled?t.videodom.srcObject=Ul.vbStream:t.videodom.srcObject=Ul.videoStream,this.wmscManager?(this.wmscManager.selfVideoDomMap.set(t.zone,t.videodom),this.wmscManager.mirrorVideoEle(t.videodom,this.wmscManager.isMirror),this.wmscManager.playSelfVideo("addRenderVideo",t.videodom)):(v.default.error("WMSC_Self_Add_Render, ".concat(t.userId)),t.videodom.play().catch(()=>{v.default.error("WMSC_SV_ARP_F: ".concat(t.userId))})),void(this.webrtcConfig.userId=parseInt(t.userId));await this.add_render_video_webrtc(t)}else await this.add_render_video_wasm(t);break;case a.UPDATE_CANVAS_SIZE:{const{id:e,dom:i}=Object(g.parseDOMParams)(t.canvas);if(Object(g.CheckCanvasSize)(t.width,t.height),this.checkIsRenderInWorker()){d=T.default.SPECIAL_ID;var f=null;if(T.default.localVideoEncMGR&&T.default.enableVirtualBackgroundWithoutSAB&&(f=T.default.localVideoEncMGR.map.get(d)),T.default.localVideoDecMGR)if(p=T.default.localVideoDecMGR.map.get(d)){u={command:"update_canvas_size",rendercanvasID:e,width:t.width,height:t.height};p.postMessage(u),f&&f.postMessage(u)}}else t.canvas=i,t.canvas&&(t.canvas.width=t.width,t.canvas.height=t.height);this.UpdateVideoPlayStatus(!0)}break;case a.ZOOM_RENDER:if(A.default.add_monitor("ZOOMRENDER:".concat(t.userId)),"string"!=typeof t.canvas&&(t.canvas=t.canvas.id),this.checkIsRenderInWorker()){const e=g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(t.userId)===Object(g.Get_Logical_SSrc)(T.default.localSsrc));let i=T.default.SPECIAL_ID;var p=null;if(e&&T.default.localVideoEncMGR?p=T.default.localVideoEncMGR.map.get(i):T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(i)),p){u={command:"zoomrender",ssrc:t.userId,x:t.x,y:t.y,width:t.width,height:t.height,canvas:t.canvas,zone:t.zone,RGBA:t.RGBA};p.postMessage(u)}}if(this.videoRenderArray.length)for(i=0;i<this.videoRenderArray.length;i++)this.videoRenderArray[i].ssrc==t.userId&&this.videoRenderArray[i].zone==t.zone&&(this.videoRenderArray[i].x=t.x,this.videoRenderArray[i].y=t.y,this.videoRenderArray[i].width=t.width,this.videoRenderArray[i].height=t.height);break;case a.STOP_RENDER_VIDEO:if(A.default.add_monitor("RMRENDER:".concat(t.userId)),this.webrtcConfig.webrtcflag){var _;const e=parseInt(t.userId),i=null===(_=this.wmscManager)||void 0===_?void 0:_.isSelfVideo(e);if(1===e&&this.wmscManager&&(this.wmscManager.activeSpeakerVideoDom=null),i)return void(this.wmscManager&&this.wmscManager.selfVideoDomMap.has(t.zone)&&this.wmscManager.selfVideoDomMap.delete(t.zone));this.stop_render_video_webrtc(t)}else await this.stop_render_video_wasm(t);break;case a.SWITCH_CANVAS_FOR_VIDEO_CAPTURE:var m=null;if(g.default.isSelfPreviewRenderWithVideo()){let e;e=t instanceof Array?t[0]:t,m=e instanceof HTMLVideoElement?e:Object(g.parseDOMParams)(e).dom}if(!this.videoCaptureValue)break;if(g.default.isSelfPreviewRenderWithVideo()&&m&&m instanceof HTMLVideoElement)this.switchVideoTagForVideoCapture(m);else{var E=[];t instanceof Array?E=t:E.push(t);var S=this.videoCaptureValue.canvasCtrlList.filter((function(e){return-1!==E.indexOf(e.k)})).map((function(e){return e.dom}));this.switchCanvasForVideoCapture(S)}break;case a.START_CAPTURE_VIDEO:this.webrtcConfig.webrtcflag?this.start_capture_video_webrtc(t):this.start_capture_video_wasm(t);break;case a.STOP_CAPTURE_VIDEO:var I=this;return new Promise((e,t)=>{try{if(Ul.isCaptureVideoInProgress)return T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_FAILED,null),t(new Error("Too many calls : the device is opening camera now, cannot stop video capture"));I.isStartVideoCapture&&I.Stop_Video_Capture(),T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_SUCCESS,null),e(!0)}catch(e){T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_FAILED,null),t(e)}T.default.extVBPort&&T.default.extVBPort.postMessage({type:a.UNIFIED_VB_PAUSE})});case a.ADD_RENDER_AUDIO:0==this.audioRenderArray.length&&(this.audioRenderArray.push(t),this.Start_Audio_Play());break;case a.STOP_RENDER_AUDIO:if(this.audioRenderArray.length>0)for(this.Stop_Audio_Play(),i=0;i<this.audioRenderArray.length;i++)this.audioRenderArray[i].ssrc==t.ssrc&&this.audioRenderArray.splice(i,1);break;case a.PAUSE_OR_RESUME_AUDIO_DECODE:await Jt(R.f.AUDIO_DECODE,{bPause:t.bPause},"PAUSE_OR_RESUME_AUDIO_DECODE",!1,!0);break;case a.UNMUTE_AUDIO:var b;if(this.captureAudioMuted=!1,this.audioInputLevel&&this.audioInputLevel.start(),this.useAudioBridge)null===(b=this.audioBridge)||void 0===b||b.unmute();this.UnMuteAudio();break;case a.MUTE_AUDIO:var O;if(this.captureAudioMuted=!0,this.audioInputLevel&&this.audioInputLevel.stop(),this.useAudioBridge)null===(O=this.audioBridge)||void 0===O||O.mute();this.MuteAudio();break;case a.START_ANNOTATION_A:{if(this.annotationMgr){if(this.annotationMgr.getAppId()===t.shareSessionId){this.annotationMgr.startAnnotation(t.presenterId),T.default.Notify_APPUI(a.START_ANNOTATION_SUCCESS);break}this.annotationMgr.destroy()}const e={appId:t.shareSessionId,userName:t.userName,presenterId:t.presenterId,isPresenter:t.isPresenter||!1,isBOSession:t.isBOSession||!1,annoCanvas:this.annoCanvas,sharingMainCanvas:this.mainSharingCanvas,remoteSizeInfo:{width:this.sharingWidthAndHeightInfo.width,height:this.sharingWidthAndHeightInfo.height}};if(!e.annoCanvas||!e.sharingMainCanvas){T.default.Notify_APPUI(a.START_ANNOTATION_FAILED,"Canvas is incorrect");break}this.annotationModule?(this.annotationMgr=new this.annotationModule(e),this.annotationMgr.startAnnotation(t.presenterId),T.default.Notify_APPUI(a.START_ANNOTATION_SUCCESS)):(Ll.error("AnnotationMgr module was not loaded"),T.default.Notify_APPUI(a.START_ANNOTATION_FAILED,"Failed to load annotation module"))}break;case a.STOP_ANNOTATION_A:var D;null===(D=this.annotationMgr)||void 0===D||D.stopAnnotation(t);break;case a.ANNOTATION_ACTIONS:var w;null===(w=this.annotationMgr)||void 0===w||w.onAnnotationActions(t);break;case a.START_SHARING:var y;if(this.annotationModule||Object(g.getAnnoterModule)().then(e=>{let{AnnotationMgr:t}=e;this.annotationModule=t}).catch(e=>{Ll.error("Failed to load AnnotationMgr",e)}),this.sharingCanvasList.includes(t.canvas.id)||this.sharingCanvasList.push(t.canvas.id),this.mainSharingCanvas=t.canvas,this.annoCanvas=t.annoCanvas,null===(y=this.annotationMgr)||void 0===y||y.updateCanvas({sharingMainCanvas:this.mainSharingCanvas,annoCanvas:this.annoCanvas}),Object.assign(t,this.sharingWaterMarkParams),this.isSupportVideoShare?Ct({command:"startSharingRender"}):At({command:"startSharingRender"}),this.currentshareactive=t.ssrc,null==this.currentshareactive&&A.default.add_monitor2("SSRC"),this.isCreateSharingWaterMark=t.enableWaterMark,this.sharingWaterMarkName=this.isCreateSharingWaterMark?t.waterMarkText:"",this.isSupportOffscreenCanvas){this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_WORKER);try{d=T.default.SPECIAL_ID;this.replaceCanvasMap.sharingMainCanvasId=t.canvas.id;p=null;if(this.isSupportVideoShare?T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(d)):T.default.localSharingDecMGR&&(p=T.default.localSharingDecMGR.map.get(d)),p){this.sharingRenderCanvas=t.canvas.transferControlToOffscreen(),Object(g.CheckCanvasSize)(t.canvas.width,t.canvas.height);u={command:"sharingRenderCanvas",canvas:this.sharingRenderCanvas,rendercanvasID:this.replaceCanvasMap.sharingMainCanvasId,ssrc:this.currentshareactive,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,isFromMainSession:t.isFromMainSession,watermarkPosition:t.watermarkPosition};p.postMessage(u,[u.canvas])}}catch(e){d=T.default.SPECIAL_ID,p=null;if(this.isSupportVideoShare?T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(d)):T.default.localSharingDecMGR&&(p=T.default.localSharingDecMGR.map.get(d)),p){u={command:"sharingRenderCanvas",rendercanvasID:this.replaceCanvasMap.sharingMainCanvasId,ssrc:this.currentshareactive,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,isFromMainSession:t.isFromMainSession,watermarkPosition:t.watermarkPosition};p.postMessage(u)}}}else this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_MAIN),this.SharingRenderObj||(this.SharingRenderObj=new Hi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),PubSub:C.a,jsMediaEngine:r,globalTracingLogger:v.default,renderManager:this.renderManager}))),this.renderManager.getRendererProvider().isWebGLRendererType()?this.sharingDisplay=new Ki.default(t.canvas,t.canvas.id,0,void 0,{preserveDrawingBuffer:!1},void 0,void 0,T.default.enableCanvasAlphaChannel):this.renderManager.getRendererProvider().isWebGL2RendererType()&&(this.sharingDisplay=new Zi(t.canvas,t.canvas.id,0,void 0,{preserveDrawingBuffer:!1},void 0,void 0,T.default.enableCanvasAlphaChannel)),this.SharingRenderObj.Set_Render_Display(this.sharingDisplay),this.SharingRenderObj.Change_Current_SSRC(this.currentshareactive,t.isFromMainSession),this.isCreateSharingWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,watermarkPosition:t.watermarkPosition}),this.sharingInterval||(this.sharingInterval=this.JsMediaSDK_SharingRenderInterval(this.sharingIntervalTime,t.isVideoShare)),_e(!0);break;case a.STOP_SHARING:if(t.canvas){const e=this.sharingCanvasList.indexOf(t.canvas.id);-1!==e&&this.sharingCanvasList.splice(e,1)}else this.sharingCanvasList=[];if(this.mainSharingCanvas=null,this.annoCanvas=null,0!==this.sharingCanvasList.length)return;_e(!1),this.isSupportVideoShare?Ct({command:"stopSharingRender"}):At({command:"stopSharingRender"}),this.isCreateSharingWaterMark=!1,this.sharingWaterMarkName="",this.sharingInterval&&(clearInterval(this.sharingInterval),this.sharingInterval=0),this.sharingDisplay&&(this.sharingDisplay.clear(),this.sharingDisplay.cleanup(),this.sharingDisplay=null),this.SharingRenderObj&&(this.SharingRenderObj.ClearQueue(),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName}));break;case a.UPDATE_SHARING_DECODE_PARAM:{var M;let{width:e,height:i,canvas:r}=t;if(r&&r.id&&!this.sharingCanvasList.includes(r.id))return;if(Ll("UPDATE_SHARING_DECODE_PARAM",t),this.SharingRenderObj?this.SharingRenderObj.Update_Sharing_Canvas_Size({width:e,height:i}):this.isSupportVideoShare?Ct({command:"UPDATE_SHARING_CANVAS_SIZE",width:e,height:i}):At({command:"UPDATE_SHARING_CANVAS_SIZE",width:e,height:i}),ui())return Object(g.CheckCanvasSize)(e,i),Ll("isSharingNotClearChromeVersion",ui());if(null===(M=this.annotationMgr)||void 0===M||M.updateAnnoCanvasSize(),!T.default.rwgAgent)break;this.isSupportVideoShare?Ct({command:"SET_OFFSCREENCANVAS_WIDTH_HEIGHT",data:{width:e,height:i}}):await Jt(R.f.SHARING_DECODE,{width:e,height:i},"SET_OFFSCREENCANVAS_WIDTH_HEIGHT",!1,!0);break}case a.CHANGE_FRAME_RATE:case a.CHANGE_VIDEO_RESOLUTION:break;case a.CHANGE_AUDIO_SPEAKER:{if(!t.AudioSelectValue)return void T.default.Notify_APPUI(a.EVENT_PARMS_ERROR,a.CHANGE_AUDIO_SPEAKER);let e=Date.now();var P;if(this.useAudioBridge)return void(null===(P=this.audioBridge)||void 0===P||P.changeSpeaker(t.AudioSelectValue));this.selectComputerAudioSpeaker(t.AudioSelectValue,e)}break;case a.AUDIO_DENOISE_SWITCH:_r.changeDenoiseSwitch(t.switch);break;case a.CHANGE_AUDIO_PROFILE:{var N;let e=null===(N=this.audioCapture)||void 0===N?void 0:N.audioProfile;if(!e)break;if(this.audioCapture.audioProfile=t,"backgroundNoiseSuppression"===t.currentSelect){if("backgroundNoiseSuppression"!==e.currentSelect){let e={command:"original_sound_switch",enable:!1,highfidelity:!1,stereo:!1};var V;if(this.useAudioBridge)await(null===(V=this.audioBridge)||void 0===V?void 0:V.setAudioProfile(t));else Tt(e);Ul.destoryAudioMediaStream(),this.Start_Audio_Capture()}var k;if(e.highBitrate!==t.highBitrate)if(this.useAudioBridge)await(null===(k=this.audioBridge)||void 0===k?void 0:k.setAudioProfile(t));else Tt({command:"highBitrate",highBitrate:t.highBitrate?1:0});let i="Zoom"===t.backgroundNoiseSuppression;_r.changeDenoiseSwitch(i)}else{var U;let i={command:"original_sound_switch",enable:!0,highfidelity:t.originalSound.highfidelity,stereo:t.originalSound.stereo};var L;if(this.useAudioBridge)await(null===(L=this.audioBridge)||void 0===L?void 0:L.setAudioProfile(t));else Tt(i);"originalSound"===e.currentSelect&&(null===(U=e.originalSound)||void 0===U?void 0:U.stereo)===t.originalSound.stereo||(Ul.destoryAudioMediaStream(),this.Start_Audio_Capture())}}break;case a.CHANGE_VIDEO_CAPTURE_DEVICE:{var x;let e=Object.assign({},this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO,t);if(!this.isSupportVideoTrackReader&&!this.isSupportMediaStreamTrackProcessor){if(e.canvasCtrlList=[],e.canvas instanceof Array)for(i=0;i<e.canvas.length;i++)e.canvasCtrlList.push({k:e.canvas[i],dom:Object(g.parseDOMParams)(e.canvas[i]).dom});else e.canvasCtrlList.push({k:e.canvas,dom:Object(g.parseDOMParams)(e.canvas).dom});e.canvasCtrl=e.canvasCtrlList[0].dom}e.videoCtrl=this.captureVideoOutPutVideoDom,null!==(x=this.videoloadmetadataListener)&&void 0!==x&&x.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null),this.isVideoCaptureLoadedmetadata=!1,Ul.destoryVideoMediaStream(),this.videoCaptureValue=e,Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),this.StartVideoMediaCapture()}break;case a.CHANGE_SHARING_2ND_VIDEO_CAPTUREVIDEO_DEVICE:{t.canvas&&(t.rendercanvasID=t.canvas);let e=Object.assign({},this.desktopSharingValue,t);this.EndSharingMediaStream(),this.desktopSharingValue=e,this.StartDesktopMediaCapture()}break;case a.SHARE_2ND_AUDIO_CAPTURE_DEVICE:this.EndSharingMediaStream(),this.desktopSharingValue=t,this.StartDesktopMediaCapture();break;case a.CHANGE_CURRENT_ACTIVE_SSRC:this.currentactive!=t.ssrc&&(this.currentactive=t.ssrc,T.default.CurrentSSRC=this.currentactive,this.changeVideoRenderActiveSsrc(this.currentactive)),Rt(T.default.CurrentSSRC);break;case a.CHANGE_CURRENT_SHARING_ACTIVE_SSRC:if(this.currentshareactive!=t.ssrc&&(this.currentshareactive=t.ssrc),this.isSupportOffscreenCanvas)if(this.isSupportVideoShare)Ct({command:"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",ssrc:t.ssrc,isFromMainSession:t.isFromMainSession});else{d=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR)if(p=T.default.localSharingDecMGR.map.get(d)){u={command:"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",ssrc:t.ssrc,isFromMainSession:t.isFromMainSession};p.postMessage(u)}}else this.SharingRenderObj||(this.SharingRenderObj=new Hi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),PubSub:C.a,jsMediaEngine:r,globalTracingLogger:v.default,renderManager:this.renderManager}))),this.SharingRenderObj.Change_Current_SSRC(this.currentshareactive,t.isFromMainSession);break;case a.LEAVE_MEETING:this.Stop_Audio_Play();break;case a.MEETING_FAIL_OVER:this.Meeting_Fail_Over(t.audio_websocket_address,t.video_websocket_address);break;case a.END_MEDIA:Ll("jsEvent.END_MEDIA"),C.a.trigger(a.PUBSUB_EVT.END_MEDIA),this.removeVbReceiver(),this.destroy().catch(e=>Ll.error(e));break;case a.CHANGE_AUDIO_MIC:if(this.audioCapture&&t){this.enableHID&&(this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),t.microphoneLabel&&(this.hidAvalible=await Dr.init(t.microphoneLabel,t.defaultMuted))),Ul.destoryAudioMediaStream(),Tt({command:132,value:!1});try{this.isCaputureNodeConnect=!1,T.default.ComputerAudioStatus=R.a.ComputerAudio_Connecting,t.audioProfile=this.audioCapture.audioProfile,this.audioCapture=t,this.audioCtx&&this.audioCtx.sampleRate!=this.sampleRate&&(this.sampleRate=this.audioCtx.sampleRate,ot(this.sampleRate)),this.Start_Audio_Capture(),Mt(),this.audioMicSetErrorCnt=0}catch(e){this.notifyUISetMicError({currentMic:_r.getMicId(),reason:"".concat(e.message)}),this.JsMediaSDK_Log(e)}}else T.default.Notify_APPUI(a.EVENT_PARMS_ERROR,a.CHANGE_AUDIO_MIC);return;case a.WEBRTC_RESTART:t&&(nt(T.default.SPECIAL_ID,a.AUDIO_START),Ul.destoryAudioMediaStream(),this.Remove_Audio_Capture(),this.audioCapture=t,this.Start_Audio_Capture(),Mt());break;case a.LEAVE_COMPUTER_AUDIO:if(Ul.destoryAudioMediaStream(),document.removeEventListener("visibilitychange",xl),this.setFileAudioPlaybackSwitch(!1),Tt({command:132,value:!1}),this.audioCapture=null,this.captureAudioMuted=!1,this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,this.audioInputLevel)return this.audioInputLevel.destroy(),this.audioInputLevel=null,void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);if(this.useAudioBridge)return this.audioBridge&&(this.audioBridge.isMutedBySystem=!1,this.audioBridge.enableBroadCastToBO(!1),this.audioBridge.leaveAudioWithoutDisconnect(s.WEBRTC_COMMPUTER_AUDIO_MODE)),void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);if(T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting)return void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);this.Remove_Audio_Capture(),this.Remove_Audio_Play(),this.CloseBoringPeerConnection(),this.checkWorkletInterval&&(clearInterval(this.checkWorkletInterval),this.checkWorkletInterval=null);try{T.default.AudioNode&&(T.default.AudioNode.disconnect(),T.default.AudioNode.postCMD("stopWorklet",!0),T.default.AudioNode.port=null)}catch(e){Ll("AudioNode.port",e)}T.default.AudioNode=null,T.default.workletWasmInitSuccess=!1,this.audioCtx&&(this.audioCtx.onstatechange=null,this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx.close(),this.isCaputureNodeConnect=!1),this.audioCtx=null,this.audioPlay=!1,this.audioDomNode=null,T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);break;case a.JOIN_COMPUTER_AUDIO:if(A.default.add_monitor("JCAA:"+t.checkAutoplay),this.enableHID=t.CaptureAudioInfo.enableHID,this.enableHID&&t.CaptureAudioInfo.microphoneLabel)try{this.hidAvalible=await Dr.init(t.CaptureAudioInfo.microphoneLabel,t.CaptureAudioInfo.defaultMuted)}catch(e){v.default.log("auto connect hid fail"),T.default.Notify_APPUI(a.AUDIO_CONNECT_HID_JOIN_FAILED,e)}T.default.ComputerAudioStatus=R.a.ComputerAudio_Connecting;try{t.checkAutoplay&&await g.default.checkAudioAutoPlay()}catch(e){return Ll.error("audio auto play",e),v.default.error("check auto play fail",e),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.AUDIO_AUTO_PLAY_FAILED,e)}if(this.audioInputLevel&&(this.audioInputLevel.destroy(),this.audioInputLevel=null),t.isPreviewMode)return void(t.CaptureAudio?(this.audioCapture=t.CaptureAudioInfo,this.audioInputLevel=new $i({analyserCallback:e=>{T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:e})}}),Ul.shouldCaptureAudio()||T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,null),this.Start_Audio_Capture()):(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null)));if(!this.isSupportVideoShare&&this.isSupportOffscreenCanvas){var W=new MessageChannel;ct(W,W)}if(this.useAudioBridge=!!t.audioBridge,this.useAudioBridge){_r.setUserId(t.CaptureAudioInfo.ssrc);const{nginxHost:e,rwgHost:i,cid:r,abToken:o,supportLocalAB:n,useWebRTCOnDesktop:d}=t.audioBridge;if(await this.previewInit({audioBridge:{nginxHost:e,rwgHost:i,cid:r,abToken:o,isCapturingAudio:t.CaptureAudio,audioMode:s.WEBRTC_COMMPUTER_AUDIO_MODE,supportLocalAB:n,useWebRTCOnDesktop:d}}),!this.audioBridge){v.default.error("audioBridge instance is null after initialization");break}var B;if(_r.setAudioBridge(this.audioBridge),t.CaptureAudio)this.audioCapture=t.CaptureAudioInfo,null!==(B=t.CaptureAudioInfo)&&void 0!==B&&B.audioProfile&&this.audioBridge.setAudioProfile(t.CaptureAudioInfo.audioProfile),this.Start_Audio_Capture();else T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null);if(g.default.isAndroidBrowser()||g.default.isQuestBrowser()||!g.default.browser.isChrome&&!g.default.isFirefoxVersionHigherThan(116))_r.updateSelectedSpeakerDevices("default",0,!0);else{var G,F;let e=null!==(G=t.speakerInfo)&&void 0!==G&&G.defaultDeviceId?null===(F=t.speakerInfo)||void 0===F?void 0:F.defaultDeviceId:"";this.selectComputerAudioSpeaker(e,Date.now())}return}try{this.Remove_Audio_Play(),this.Remove_Audio_Capture(),this.CloseBoringPeerConnection(),nt(T.default.SPECIAL_ID,a.AUDIO_START),this.audioCtx&&(this.audioCtx.close(),this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx=null,this.isCaputureNodeConnect=!1),this.audioCtx=Object(g.createMainAudioContext)(),g.default.isChromeVersionHigherThan(129)&&!this.audioCtx.onerror&&(this.audioCtx.onerror=()=>{A.default.add_monitor("AUDIOCONTEXT:ERROR")}),this.audioCtx.sampleRate!=this.sampleRate&&(this.sampleRate=this.audioCtx.sampleRate,ot(this.sampleRate)),this.disableAudioAGC=t.disableAudioAGC,this.disableNoiseSuppression=t.disableNoiseSuppression,this.disableBrowserAec=t.disableBrowserAec,this.bAudioDecodeUsingSAB&&A.default.add_monitor("ASSAB"),"suspended"===this.audioCtx.state&&this.audioCtx.resume().catch(e=>{v.default.error("audioContext resume fail",e)});I=this;let e=null,i=null;if(T.default.decoderinworklet){await g.default.isSDKSupportSIMD()?(e=this.audioWorkletJsPath.audioWorkletSIMDPath,i=this.audioWorkletJsPath.audioSIMDWasm):(e=this.audioWorkletJsPath.audioWorkletProcessPath,i=this.audioWorkletJsPath.audioWasm)}else e=this.audioWorkletJsPath.audioWorkletPath;if(this.isDestroy)return;let r=null;i&&(r=await g.default.downloadAndCompileWebAssembly(i,"AudioWorklet",A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate)),await this.audioCtx.audioWorklet.addModule(e),T.default.AudioNode=new Ei(I.audioCtx,"zoomAudioWorklet",{processorOptions:{sharedBuffer:g.default.browser.isSafari&&T.default.sharedBuffer?T.default.sharedBuffer:null,userAgent:navigator.userAgent,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,audioEncodeChannelsNum:g.default.isBrowserSupportStereo()?2:1,wasmModule:r},numberOfOutputs:1,outputChannelCount:[2]}),T.default.AudioNode.onprocessorerror=e=>{A.default.add_monitor("CWFIP"),v.default.error("Exception thrown in AudioWorkletProcessor",e)},g.default.browser.isSafari&&!T.default.sharedBuffer&&T.default.AudioNode.postCMD("diableSharedArrayBuffer"),T.default.decoderinworklet||T.default.AudioNode.postCMD("disableDecoderinworklet"),T.default.decoderinworklet&&(this.codecDoAVSync?T.default.AudioNode.postCMD("codecDoAVSync",!0):T.default.CurrentSSRC&&T.default.AudioNode.postCMD("currentSSRC",T.default.CurrentSSRC),T.default.AudioNode.postCMD("initData",{userid:t.CaptureAudioInfo.ssrc,meetingnumb:T.default.localAudioPara.meetingnumb,meetingid:T.default.localAudioPara.meetingid}),T.default.AudioNode.postCMD("audiowasm")),I.checkWorkletInterval&&(clearInterval(I.checkWorkletInterval),I.checkWorkletInterval=null),I.checkWorkletInterval=setInterval(()=>{T.default.AudioNode&&T.default.AudioNode.postCMD("checkProcess",null)},1e4);let s=g.default.isSupportChromeWideAEC()&&!T.default.shareSystemAudio;if(!g.default.browser.isChrome||g.default.isAndroidBrowser()||g.default.isQuestBrowser())if(T.default.sharedBuffer&&T.default.AudioNode.postCMD("sharedBuffer",g.default.browser.isSafari?null:T.default.sharedBuffer),g.default.isAndroidBrowser()||g.default.isQuestBrowser()){let e=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e),this.disableBrowserAec?this.isSupportBrowserAec=!1:this.isSupportBrowserAec=await this.isLocalP2PSupportedPromise;let t=e.stream;this.disableBrowserAec||(this.isSupportBrowserAec?t=await I.chromeAecWorkAround(e.stream):dt(T.default.SPECIAL_ID,!1)),I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=t,I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}else if(g.default.browser.isFirefox&&g.default.isFirefoxVersionHigherThan(116)){let e=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e);let i=e.stream;I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=i;let r=null,a=Date.now();r=t.speakerInfo&&t.speakerInfo.defaultDeviceId?t.speakerInfo.defaultDeviceId:"",this.selectComputerAudioSpeaker(r,a),I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}else T.default.AudioNode.connect(I.audioCtx.destination),_r.updateSelectedSpeakerDevices("default",0,!0);else{let e;if(this.disableBrowserAec?this.isSupportBrowserAec=!1:this.isSupportBrowserAec=s||await this.isLocalP2PSupportedPromise,T.default.sharedBuffer&&T.default.AudioNode.postCMD("sharedBuffer",T.default.sharedBuffer),!this.disableBrowserAec)if(this.isSupportBrowserAec){if(!s){let t=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(t),e=t.stream,e=await I.chromeAecWorkAround(t.stream)}}else dt(T.default.SPECIAL_ID,!1);let i=null;i=t.speakerInfo&&t.speakerInfo.defaultDeviceId?t.speakerInfo.defaultDeviceId:"";let r=Date.now();s?T.default.AudioNode.connect(I.audioCtx.destination):(I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=e,I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})),I.selectComputerAudioSpeaker(i,r)}It({command:"stop_audio_incoming",stopPlayAudio:!1}),Tt({command:"startAudioEncode",ssid:t.CaptureAudioInfo.ssrc,audioMode:T.default.audioMode}),Ht(T.default.e2eencrypt);var H=new MessageChannel,K=new MessageChannel,j=new MessageChannel;if(T.default.AudioNode.port.postMessage({status:"encodeAudioPort"},[K.port2]),T.default.AudioNode.port.postMessage({status:"decodeAudioPort"},[H.port1]),T.default.AudioNode.port.postMessage({status:"sampleRate",data:I.audioCtx.sampleRate}),ut(H,K,"decodeAudioPort","encodeAudioPort"),T.default.enableEchoDetection&&!T.default.sharedBuffer&&ut(j,j,"audioWorkerPort","audioWorkerPort"),I.Start_Audio_Play(),this.isSupportOffscreenCanvasForVideoDecode){var Y=new MessageChannel;pt(Y),T.default.decoderinworklet?T.default.AudioNode.port.postMessage({status:"decodeVideoPort"},[Y.port2]):ht(Y)}if(t.CaptureAudio){I.audioCapture=t.CaptureAudioInfo;let e=t.CaptureAudioInfo.audioProfile;if(e)if("backgroundNoiseSuppression"===e.currentSelect){let t="Zoom"===e.backgroundNoiseSuppression;_r.changeDenoiseSwitch(t),Tt({command:"highBitrate",highBitrate:e.highBitrate?1:0})}else{var q,X;let t={command:"original_sound_switch",enable:!0,highfidelity:null===(q=e.originalSound)||void 0===q?void 0:q.highfidelity,stereo:null===(X=e.originalSound)||void 0===X?void 0:X.stereo};var Q;if(this.useAudioBridge)await(null===(Q=this.audioBridge)||void 0===Q?void 0:Q.setAudioProfile(e));else Tt(t)}I.Start_Audio_Capture(),this.firstSetDelay&&(this.firstSetDelay=!1,Mt())}else T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null)}catch(e){v.default.error("join audio failed",e),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null),Ll.error(e),this.JsMediaSDK_Log(e)}break;case a.JOIN_DESKTOP_AUDIO:if(T.default.DesktopAudioStatus!==R.a.DesktopAudio_Null)return void T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null);if(T.default.DesktopAudioStatus=R.a.DesktopAudio_Connecting,this.useAudioBridge=!!t.audioBridge,this.useAudioBridge){_r.setUserId(t.CaptureAudioInfo.ssrc);const{nginxHost:e,rwgHost:i,cid:r,abToken:o,supportLocalAB:n,useWebRTCOnDesktop:d}=t.audioBridge;return await this.previewInit({audioBridge:{nginxHost:e,rwgHost:i,cid:r,abToken:o,isCapturingAudio:t.CaptureAudio,audioMode:s.WEBRTC_SHARE_AUDIO_MODE,supportLocalAB:n,useWebRTCOnDesktop:d}}),_r.setAudioBridge(this.audioBridge),this.Start_Desktop_Audio_Capture(),T.default.DesktopAudioStatus=R.a.DesktopAudio_Connected,void T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null)}if(g.default.isSupportChromeWideAEC()&&T.default.ComputerAudioStatus!=R.a.ComputerAudio_Null&&!this.audioDomNode&&T.default.shareSystemAudio&&await this.isLocalP2PSupportedPromise){T.default.AudioNode.disconnect();let e=this.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e);let t=e.stream;t=await this.chromeAecWorkAround(e.stream),this.audioDomNode||(this.audioDomNode=new Audio),this.audioDomNode.srcObject=t;let i=_r.speakerId,r=Date.now();this.selectComputerAudioSpeaker(i,r),this.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}try{Tt({command:"mute",bOn:a.AUDIO_START,sharing:!0}),this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.isSharingCaptureNodeConnect=!1);let e=g.default.getAudioContextConfigure();this.sharingAudioCtx=Object(g.createAudioContext)("MainSharing",e);I=this;let i=this.audioWorkletJsPath.sharingAudioWorkletPath;await this.sharingAudioCtx.audioWorklet.addModule(i),T.default.SharingAudioNode=new Ei(I.sharingAudioCtx,"zoomSharingAudioWorklet",{processorOptions:{sharingEncodeChannelsNum:g.default.isSupportSharingStereo()?2:1}}),T.default.sharedBuffer&&T.default.SharingAudioNode.postCMD("sharedBuffer",T.default.sharedBuffer);let r=new MessageChannel;T.default.SharingAudioNode.port.postMessage({status:"encodeAudioPort"},[r.port1]),ft(r),Tt({command:"startAudioEncode",ssid:t.CaptureAudioInfo.ssrc,samplerate:this.sharingAudioCtx.sampleRate,isSharing:!0,audioMode:T.default.audioMode,sharingEncodeChannelsNum:g.default.isSupportSharingStereo()?2:1}),Ht(T.default.e2eencrypt),I.Start_Desktop_Audio_Capture()}catch(e){Ll.error(e),this.JsMediaSDK_Log(e)}T.default.DesktopAudioStatus=R.a.DesktopAudio_Connected,T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null);break;case a.LEAVE_DESKTOP_AUDIO:{if(T.default.DesktopAudioStatus!==R.a.DesktopAudio_Connected)return void T.default.Notify_APPUI(a.LEAVE_DESKTOP_AUDIO_COMPLETE,null);let e=!1;if(t&&t.isPause&&(e=!0),e||this.EndDesktopAudioMediaStream(),this.Remove_Sharing_Audio_Capture(),this.useAudioBridge){var z;null===(z=this.audioBridge)||void 0===z||z.leaveAudioWithoutDisconnect(s.WEBRTC_SHARE_AUDIO_MODE)}else{if(g.default.isSupportChromeWideAEC()&&this.audioDomNode){T.default.AudioNode.disconnect(),this.CloseBoringPeerConnection(),this.audioDomNode=null;let e="default"==_r.speakerId?"":_r.speakerId;T.default.AudioNode.connect(this.audioCtx.destination);let t=Date.now();this.selectComputerAudioSpeaker(e,t)}try{T.default.SharingAudioNode&&(T.default.SharingAudioNode.postCMD("stopWorklet",!0),T.default.SharingAudioNode.port=null,T.default.SharingAudioNode.disconnect(),T.default.SharingAudioNode=null)}catch(e){Ll("SharingAudioNode.port",e)}this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.isSharingCaptureNodeConnect=!1),this.sharingAudioCtx=null,this.screenShareAudioPreviewElement&&this.screenShareAudioPreviewElement.pause()}T.default.DesktopAudioStatus=R.a.DesktopAudio_Null,T.default.Notify_APPUI(a.LEAVE_DESKTOP_AUDIO_COMPLETE,null)}break;case a.START_REMOTE_CONTROL:{Ll("sdk start remote control 1");let e=this.sharingWidthAndHeightInfo,i=new vi.a(Object.assign({dom:document},t));return this.remoteControl=i,Ll("sharingInfo",e),i.setDstWidthAndHeight(e.logicWidth,e.logicHeight),i.setSrcWidthAndHeight(e.logicWidth,e.logicHeight),i.setSrcScaleWidthAndHeight(t.scaleWidth,t.scaleHeight),i.setSrcOffsetXY(t.srcOffsetX,t.srcOffsetY),i.setRemoteOS(t.os),i.start().then(e=>(T.default.Notify_APPUI(e?a.START_REMOTE_CONTROL_SUCCESS:a.START_REMOTE_CONTROL_FAILED),e&&(i.onPasteTextLengthOverflow((function(){T.default.Notify_APPUI(a.REMOTE_CONTROL_PASTE_TEXT_LENGTH_OVERFLOW)})),i.onReturnCopiedText(e=>{Ll(e),T.default.Notify_APPUI(a.REMOTE_CONTROL_COPIED_TEXT_NOTIFY,e)})),e)).catch(e=>(Ll(e),T.default.Notify_APPUI(a.START_REMOTE_CONTROL_FAILED),v.default.error("An error occurred when trying to start remote control",e),A.default.add_monitor("RMCTF"),Promise.reject(e)))}case a.CANCEL_REMOTE_CONTROL:return this.remoteControl.destroy().then(e=>(T.default.Notify_APPUI(e?a.CANCEL_REMOTE_CONTROL_SUCCESS:a.CANCEL_REMOTE_CONTROL_FAILED),e));case a.UPDATE_REMOTE_CONTROL_PROPERTIES:this.remoteControl&&(t.scaleWidth&&t.scaleHeight&&this.remoteControl.setSrcScaleWidthAndHeight(t.scaleWidth,t.scaleHeight),(Ti()(t.srcOffsetX)||Ti()(t.srcOffsetY))&&this.remoteControl.setSrcOffsetXYAndSendPDU(t.srcOffsetX,t.srcOffsetY),Ai()(t.isControllerNow)&&this.remoteControl.setIsControlerNow(t.isControllerNow),Ti()(t.os)&&this.remoteControl.setRemoteOS(t.os));break;case a.RESEND_REMOTE_CONTROL_POSITION_PDU:this.remoteControl&&this.remoteControl.sendPostionPDU();break;case a.START_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,t.mode?this.isSharingSupportImageCapture=g.default.isSupportImageCapture():this.isSharingSupportImageCapture=!1,this.isStartDesktopSharing)return;{xt(T.default.e2eencrypt),this.isStartDesktopSharing=!0,this.desktopSharingSend=!0;const{dom:e,id:i}=Object(g.parseDOMParams)(t.canvas);t.canvas&&(t.rendercanvasID=i),this.isSupportSharingTrackReader||this.isSupportMediaStreamTrackProcessor?t.video=e:(t.video=Object(g.parseDOMParams)(t.video).dom,t.canvas=e),this.desktopSharingValue=t,this.Start_Desktop_Sharing()}break;case a.STOP_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,T.default.shareSystemAudio=!1,this.sharingTrackReader)try{this.sharingTrackReader.stop()}catch(e){}if(!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.StopSharingCapture(),this.isSupportVideoShare?Wt({command:"stopsharing"}):Bt({command:"stopsharing"});break;case a.PAUSE_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!1,!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.isSupportVideoShare?Wt({command:"pause"}):Bt({command:"pause"});break;case a.RESUME_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,!this.isStartDesktopSharing)return;this.desktopSharingSend=!0,this.isSupportMediaStreamTrackProcessor||this.isSupportSharingTrackReader||this.Process_Sharing(),this.isSupportVideoShare?Wt({command:"resume"}):Bt({command:"resume"});break;case a.START_STOP_REMOTE_CONTROL_CHECK:if(!window.WebQrscanner)return void console.error("qrScanner not loaded");A.default.add_monitor("QRSCAN:".concat(t.enable)),t.enable&&this.desktopSharingMediaStram?WebQrscanner.qrScanner.start(this.desktopSharingValue.video,e=>{T.default.Notify_APPUI_SAFE(a.SEND_REMOTE_CONTROL_QR_CODE,e)},()=>{A.default.add_monitor("QRSCANTIMEOUT")}):WebQrscanner.qrScanner.stop();break;case a.START_SHARING_WHITEBOARD:{this.isStartWhiteboardSharing=!0;const{dom:e,id:i}=Object(g.parseDOMParams)(t.canvas);if(t.canvas&&(t.rendercanvasID=i),this.isStartDesktopSharing)return;xt(T.default.e2eencrypt),t.video=t.canvas=e,this.isStartDesktopSharing=!0,this.desktopSharingSend=!0,this.desktopSharingValue=t,this.Start_Whiteboard_Sharing()}break;case a.STOP_SHARING_WHITEBOARD:if(this.isStartWhiteboardSharing=!1,!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.isStartDesktopSharing=!1,Bt({command:"stopsharing"});break;case a.CHECK_CHROME_SHARING_EXTENSION:var Z=document.createElement("img");Z.src="chrome-extension://kgjfgplpablkjnlkjmjdecgdpfankdle/images/trash.png",Z.onload=function(){T.default.Notify_APPUI(a.CHECK_CHROME_SHARING_EXTENSION_RESPONSE,!0)},Z.onerror=function(){T.default.Notify_APPUI(a.CHECK_CHROME_SHARING_EXTENSION_RESPONSE,!1)};break;case a.COMMAND_SOCKET_MESSAGE_NOTIFY:if(t.evt===a.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT||t.evt===a.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT){if(Ll("rwg answer from ui",t),!t.answer)return;switch(t.answer.type){case R.h.ZOOM_CONNECTION_VIDEO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT,t);break;case R.h.ZOOM_CONNECTION_AUDIO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT,t)}}else t.evt===a.WS_CONF_AB_TOKEN_RES&&t.body&&t.body.token&&C.a.trigger(a.PUBSUB_EVT.AUDIO_BRIDGE_WS_TOKEN,t.body.token);break;case a.USER_NODE_LIST:he(t.userList),!this.setvideokk&&t.encryptKey&&(this.setvideokk=!0,Jt(R.f.VIDEO_DECODE,{KK:t.encryptKey},"MAIN_KK",!1,!0),Jt(R.f.VIDEO_ENCODE,{KK:t.encryptKey},"MAIN_KK",!1,!0));break;case a.AUIOD_INTERPRETATION_MUTE:wt(t.mute);break;case a.AUDIO_INTERPRETATION_SELECT_LANGUAGE:Dt(t.lang);break;case a.AUDIO_INTERPRETATION_LIST_INFO:yt(t.interpreterList);break;case a.AUDIO_INTERPRETATION_ENABLE:bt(t.enable);break;case a.VIDEO_ENABLE_DECODE_HW:t.enable&&this.isEnableVideoDecodeHardWareThread&&(null!==this.videodecodehardwareflag||(this.videodecodehardwareflag=await g.default.IsSupportVideoDecodeHardwareAcceleration(T.default.enableHADecOpt)),t.enable=this.videodecodehardwareflag),gt({command:"hwstatus",enable:t.enable});break;case a.VIDEO_ENABLE_ENCODE_HW:if(T.default.disableHWCodec&s.WEBCODEC_ENCODE_OFF)break;t.enable&&this.videoencodehardwareflag&&(!this.isAppleGraphic||g.default.isChromeVersionHigherThan(116)||this.doesSafariSupportWebcodec())?t.enable=!0:t.enable=!1,_t({command:"hwstatus",enable:t.enable});break;case"update_videohd_value":this.isVideoHD=!(null==t||!t.videohd),this.webrtcConfig.webrtcflag?this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"UPDATE_WMSC_PARAMS",data:{HDVideo:this.isVideoHD}}):(A.default.add_monitor("NoVideoHD"),!t.videohd&&this.videoencodehardwareflag&&(g.default.set720pcapacity(!1),A.default.add_monitor("CAPTURE720:"+!1),_t({command:"videohd",videohd:t.videohd})));break;case"update_videofullhd_value":A.default.add_monitor("UVFHD"+t.videofullhd),g.default.set1080pcapacity(t.videofullhd),_t({command:"videofullhd",videofullhd:t.videofullhd});break;case a.SET_DESKTOP_VOLUME:var $;if(this.useAudioBridge)null===($=this.audioBridge)||void 0===$||$.setShareVolumeLevel(t.userid,t.shareVolume,t.isFromMainSession);else It({command:"setShareVolumeLevel",userid:t.userid,shareVolume:t.shareVolume,isFromMainSession:t.isFromMainSession});break;case a.USER_NODE_LIST_IN_MAIN_SESSION:t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_DECODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,10,!1,!0):Jt(R.f.SHARING_DECODE,t,10,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_ENCODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_ENCODE,t,10,!1,!0):Jt(R.f.SHARING_ENCODE,t,10,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.AUDIO_DECODE&&Jt(R.f.AUDIO_DECODE,t,10,!1,!0);break;case a.UPDATE_MEDIA_PARAMS:t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_DECODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,9,!1,!0):Jt(R.f.SHARING_DECODE,t,9,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_ENCODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_ENCODE,t,9,!1,!0):Jt(R.f.SHARING_ENCODE,t,9,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.AUDIO_DECODE&&Jt(R.f.AUDIO_DECODE,t,9,!1,!0);break;case a.SHARING_ADD_REV_CHANNEL_TYPE:this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,"SHARING_ADD_REV_CHANNEL_TYPE",!1,!0):Jt(R.f.SHARING_DECODE,t,"SHARING_ADD_REV_CHANNEL_TYPE",!1,!0);break;case a.SHARING_REMOVE_REV_CHANNEL_TYPE:this.isSupportVideoShare?Ct({command:"SHARING_REMOVE_REV_CHANNEL_TYPE",data:t}):At({command:"SHARING_REMOVE_REV_CHANNEL_TYPE",data:t});break;case a.BUILD_MS_CHANNEL_IN_BO:this.isSupportVideoShare?Ct({command:"BUILD_MS_CHANNEL_IN_BO",data:t}):At({command:"BUILD_MS_CHANNEL_IN_BO",data:t});break;case a.SWITCH_WATER_MARK_FLAG:{const{type:e}=t;e?e===R.b.VIDEO?this.SWITCH_VIDEO_WATER_MARK(t):e===R.b.SHARING&&this.SWITCH_SHARING_WATER_MARK(t):(this.SWITCH_VIDEO_WATER_MARK(t),this.SWITCH_SHARING_WATER_MARK(t))}break;case a.AUDIO_CC_SELECT_LANGUAGE:var ee;if(this.useAudioBridge)null===(ee=this.audioBridge)||void 0===ee||ee.set_CC_lang(t.lang);else Ot(t.lang);break;case a.BUILD_MA_CHANNEL_IN_BO:It({command:"BUILD_MA_CHANNEL_IN_BO",data:t});break;case a.ENABLE_SHARE_TO_BO:var te;if(A.default.add_monitor("ESTB:"+t.enable),this.useAudioBridge)null===(te=this.audioBridge)||void 0===te||te.enableShareToBO(t.enable);else Tt({command:"ENABLE_SHARE_TO_BO",data:t.enable});break;case a.ENABLE_BROADCAST_TO_BO:var ie;if(A.default.add_monitor("EBTB:"+t.enable),this.useAudioBridge)null===(ie=this.audioBridge)||void 0===ie||ie.enableBroadCastToBO(t.enable);else Tt({command:"ENABLE_BROADCAST_TO_BO",data:t.enable});break;case a.WEBGL_LOST_REPLACE_CANVAS:{let e=Object(g.parseDOMParams)(t.canvasId).dom;if(t.canvas&&(e=t.canvas),!e)return;let i=null;const r=this.replaceCanvasMap.videoDecodeCanvasIds&&-1!==this.replaceCanvasMap.videoDecodeCanvasIds.indexOf(t.canvasId),a=this.replaceCanvasMap.videoEncodeCanvasIds&&-1!==this.replaceCanvasMap.videoEncodeCanvasIds.indexOf(t.canvasId);if(t.canvasId===this.replaceCanvasMap.videoMaskSettingCanvasId?i=T.default.localVideoEncMGR:t.canvasId===this.replaceCanvasMap.sharingMainCanvasId?i=this.isSupportVideoShare?T.default.localVideoDecMGR:T.default.localSharingDecMGR:t.canvasId===this.replaceCanvasMap.sharingPreviewCanvasId?i=T.default.localSharingEncMGR:(a||r)&&(i=a?T.default.localVideoEncMGR:T.default.localVideoDecMGR,this.lazyReplaceEncodeCanvasTimer&&(clearTimeout(this.lazyReplaceEncodeCanvasTimer),this.lazyReplaceEncodeCanvasTimer=null),this.lazyReplaceEncodeCanvasTimer=setTimeout(()=>{let e=T.default.localVideoEncMGR;if(e){let t=e.map.get(T.default.SPECIAL_ID);t&&t.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS"})}let t=T.default.localSharingEncMGR;if(t){let e=t.map.get(T.default.SPECIAL_ID);e&&e.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS"})}if(this.videoCaptureHiddenCanvas){const{width:e,height:t}=this.videoCaptureHiddenCanvas;g.default.isSupport2dOffscreenCanvas()?this.videoCaptureHiddenCanvas=new OffscreenCanvas(e,t):(this.videoCaptureHiddenCanvas=document.createElement("canvas"),this.videoCaptureHiddenCanvas.width=e,this.videoCaptureHiddenCanvas.height=t),this.videoCaptureHiddenCanvasCtx=this.videoCaptureHiddenCanvas.getContext("2d")}if(this.bgCanvas){const{width:e,height:t}=this.bgCanvas;this.bgCanvas=document.createElement("canvas"),this.bgCanvas.width=e,this.bgCanvas.height=t,this.bgCanvasctx=this.bgCanvas.getContext("2d"),!this.VideoMaskSettingCanvas&&this.PrevVideoMaskSettingCanvas?(this.VideoMaskSettingCanvas=this.PrevVideoMaskSettingCanvas,this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height),this.VideoMaskSettingCanvas=null):this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height)}},500)),i)try{var re=e.transferControlToOffscreen(),ae=i.map.get(T.default.SPECIAL_ID);ae&&ae.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS",data:{canvasId:t.canvasId,canvas:re}},[re])}catch(e){}break}case a.CHANGE_HID_ENABLE:A.default.add_monitor("CHIDE:"+t.enable),this.enableHID=t.enable,t.enable?(this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),t.microphoneLabel&&(this.hidAvalible=await Dr.init(t.microphoneLabel,t.defaultMuted))):this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1);break;case a.ENABLE_VIDEO_OBSERVER:gt({command:"ENABLE_VIDEO_OBSERVER",data:t.enable,enablefps:!t.fpsdisbale});break;case a.SWITCH_SHARING_TYPE:_t({command:"SWITCH_SHARING_TYPE",data:t.mode});break;case a.SET_OTHER_AUDIO_VOLUME_LEVEL:var se;if(this.useAudioBridge)null===(se=this.audioBridge)||void 0===se||se.setSpeechVolumeLevel(t.userId,t.volume);T.default.decoderinworklet?T.default.AudioNode&&T.default.AudioNode.postCMD("setSpeechVolumeLevel",{userid:t.userId>>10,volume:t.volume}):It({command:"setSpeechVolumeLevel",userid:t.userId>>10,volume:t.volume});break;case a.USER_NODE_AUDIO_STATUS_LIST:var oe;if(this.useAudioBridge)null===(oe=this.audioBridge)||void 0===oe||oe.updateUserMuteUnmuteStatus(t);break;case a.MOVE_PTZ_CAMERA:Ul._updateVideoConstraints({advanced:[t]});break;case a.NOTIFY_SDK_JOIN_RWG_SUCCESS:this._SaveSystemInfo(),T.default.clearMessageToRwg();break;case a.ENABLE_REUSE_STREAM:Ul.enableReuseStream(t.enable);break;case a.PRESET_MEDIA_CONSTRAINTS:Ul.presetConstraints(t||{});break;case a.DESTORY_REUSE_STREAM:Ul.destoryReuseStream({audio:t&&t.audio,video:t&&t.video});break;case a.WHITEBOARD_JOIN_MESSAGE:{let e={command:"WHITEBOARD_JOIN_MESSAGE",data:t.message,nodeId:t.nodeId,encryptKey:t.encryptKey,sn:t.sn,dcsId:t.dcsId,EncodedSn:t.EncodedSn};this.isSupportVideoShare?Gt(e):Ft(e)}break;case a.STOP_AUDIO_INCOMING:var ne;if(this.useAudioBridge)null===(ne=this.audioBridge)||void 0===ne||ne.stopIncomingAudio(t);else T.default.decoderinworklet?It({command:"stop_audio_incoming",stopPlayAudio:t}):T.default.AudioNode&&T.default.AudioNode.postCMD("stop_audio_incoming",t);break;case a.MOBILE_ROTATE:if(this.isLandScape=t.isLandScape,!Ul.videoStreamTrack)return;this.isLandScape&&this.captureSize&&this.Change_Video_Capture_Resolution(this.captureSize.width,this.captureSize.height);break;case a.SAVE_LOCAL_LOG:this.localLog&&this.localLog.saveAllLogFiles();break;case a.AUDIO_JOIN_SUCCESS:if(Ul&&Ul.audioStream){let e=Ul.audioStream.getAudioTracks()[0];e&&(e.muted||"live"!==e.readyState)&&Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION)}break;case a.REMOVE_EXPIRED_CANVAS:{const e=T.default.localVideoDecMGR,i=T.default.SPECIAL_ID;if(e){const r=e.map.get(i);if(r){const e={command:"removeExpiredCanvas",rendercanvasID:t.canvasId};r.postMessage(e)}}}break;case a.UI_SUBSCRIBE_VIDEO:this.webrtcConfig.webrtcflag?(A.default.add_monitor("WMSC_UI_S_V: ".concat(Object(g.replaceComma)(JSON.stringify(t)))),this.wmscManager&&Array.isArray(t)&&t.length>0&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_SDK_SUBSCRIBE_VIDEO",data:t})):T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.WS_VIDEO_MULTI_SUBSCRIBE_REQ,body:{subInfoList:t}});break;case a.UI_UNSUBSCRIBE_VIDEO:Array.isArray(t)&&t.length>0&&(this.webrtcConfig.webrtcflag&&this.wmscManager?(A.default.add_monitor("WMSC_UI_UNS_V: ".concat(Object(g.replaceComma)(JSON.stringify(t)))),this.wmscManager.sendMessageToWMSC({type:"NOTIFY_SDK_UNSUBSCRIBE_VIDEO",data:t})):T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.WS_VIDEO_MULTI_UNSUBSCRIBE_REQ,body:{subIDList:t}}));break;case a.ON_HOLD:var de,ue;if(A.default.add_monitor("HOLD:".concat(null==t?void 0:t.hold,":").concat(null==t?void 0:t.userid,":").concat(null==t?void 0:t.reinit)),!t.hold&&this.isSupportVideoShare)null===(de=T.default.sharingDecInitInstance)||void 0===de||de.resetHandleDeferred(),null===(ue=T.default.sharingEncInitInstance)||void 0===ue||ue.resetHandleDeferred();t&&!t.userid&&(t.userid=this.userId),ci(this,t),!t.hold&&t.userid&&(this.userId=t.userid),t.hold&&this.SessionHold(),T.default.videoEncodeSession=null,T.default.videoDecodeSession=null,T.default.sharingDecodeSession=null,T.default.sharingEncodeSession=null,T.default.audioDecodeSession=null,T.default.audioEncodeSession=null;break;case a.SET_ALL_SPEECH_VOLUME:T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD(131,{volume:t}):T.default.workletMessageQueue.enqueue({command:131,volume:t}):It({command:131,volume:t});break;case a.ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY:A.default.add_monitor("ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY: ".concat(t)),this.setFileAudioPlaybackSwitch(t);break;case a.RWG_COMMAND_BYPASS_TO_WCL:fi(this,t);break;case a.REQUEST_PERMISSION:{let e=setTimeout(()=>{T.default.Notify_APPUI_SAFE(a.REQUEST_PERMISSIOM_POP_REMINDER),clearTimeout(e),e=null},t||2e3);try{let t=await navigator.mediaDevices.getUserMedia({audio:!0,video:!0});t.getTracks().forEach(e=>e.stop()),t=null,e&&(clearTimeout(e),e=null),this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.GRANTED_AUDIO_VIDEO)}catch(t){try{let t=await navigator.mediaDevices.getUserMedia({audio:!0});e&&(clearTimeout(e),e=null),t.getTracks().forEach(e=>e.stop()),t=null,this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.GRANTED_AUDIO)}catch(t){e&&(clearTimeout(e),e=null);const{errorCode:i}=Hl(t);i===a.CAPTURE_FAILED_REASON.USER_DENIED?this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.DENIED):i===a.CAPTURE_FAILED_REASON.USER_DISMISS?this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.DISMISS):this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.EXCEPTION_FAILS)}}break}default:Ll("CAN NOT HANDLE THE EVENT!")}},requestPermissionCallback:function(e){T.default.Notify_APPUI_SAFE(a.REQUEST_PERMISSION_RESULT,e)},setFileAudioPlaybackSwitch:function(e){e?(this.fileAudioPlaybackTag||(this.fileAudioPlaybackTag=new Audio),this.updateFileAudioPlaybackStream(Ul.audioStream)):this.fileAudioPlaybackTag&&(this.fileAudioPlaybackTag.pause(),this.fileAudioPlaybackTag=null)},updateFileAudioPlaybackStream:function(e){var t;if(Ul.isCaptureAudioFromFile){if(e&&this.fileAudioPlaybackTag){this.fileAudioPlaybackTag.srcObject!==e&&(this.fileAudioPlaybackTag.srcObject=e);const t="default"===_r.speakerId||null===_r.speakerId?"":_r.speakerId;this.fileAudioPlaybackTag.setSinkId&&this.fileAudioPlaybackTag.sinkId!==t&&this.fileAudioPlaybackTag.setSinkId(t).catch(e=>{v.default.error("fileAudioPlaybackTag setSinkId error when update stream")}),this.fileAudioPlaybackTag.play().catch(e=>{v.default.error("self audio playback failed",e)})}}else null===(t=this.fileAudioPlaybackTag)||void 0===t||t.pause()},SWITCH_VIDEO_WATER_MARK:function(e){this.videoWaterMarkParams=e;const{enableWaterMark:t,waterMarkText:i="",watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}=e;this.isCreateVideoWaterMark=!!t,this.videoWaterMarkName=this.isCreateVideoWaterMark?i:"",this.VideoRenderObj?(t?this.isCreateVideoWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")):this.VideoRenderObj.Set_WaterMark_Flag(t),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})):gt({command:"SWITCH_WATER_MARK_FLAG",isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}),g.default.watermark.updateWaterMarkInfo(e)},SWITCH_SHARING_WATER_MARK:function(e){this.sharingWaterMarkParams=e;const{enableWaterMark:t,waterMarkText:i="",watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}=e;this.isCreateSharingWaterMark=!!t,this.sharingWaterMarkName=this.isCreateSharingWaterMark?i:"",this.SharingRenderObj?(t?this.isCreateSharingWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")):this.SharingRenderObj.Set_WaterMark_Flag(t),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})):this.isSupportVideoShare?Ct({command:"SWITCH_SHARING_WATER_MARK_FLAG",isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}):At({command:"SWITCH_WATER_MARK_FLAG",isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})},JsMediaSDK_VideoRenderInterval:function(e){return this.VideoRenderObj.Start_Draw.bind(this.VideoRenderObj)(s.SET_INTERVAL_MODE,e)},JsMediaSDK_SharingRenderInterval:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];var i=this.SharingRenderObj.No_Bindthis_Interval.bind(this.SharingRenderObj),r=setInterval(i,t?20:e);return r},getShareStreamInfo:function(){if(!this.desktopSharingMediaStram)return null;const e=this.desktopSharingMediaStram.getVideoTracks();if(!e.length)return null;if(e[0].getSettings){let t=e[0].getSettings()||null;return t&&this.sharingCodecInfo.width&&this.sharingCodecInfo.height&&(t.width=this.sharingCodecInfo.width,t.height=this.sharingCodecInfo.height),t}return null},onUnload:function(e){const t=this.rendererType==wi.j.WEBGPU;v.default.log("window.onunload:".concat(this._id,", webGPU:").concat(t)),A.default.add_monitor("window.onunload:".concat(this._id,", webGPU:").concat(t)),t&&this.destroy().catch(e=>{})},handleUnloadEvent(){this.unloadHandler=this.onUnload.bind(this),window.addEventListener("unload",this.unloadHandler)},async destroy(){var e;(Ll("destroy"),window.removeEventListener("unload",this.unloadHandler),this.destoryPromise)?await this.destoryPromise:(T.default.extVBPort&&T.default.extVBPort.postMessage({type:a.UNIFIED_VB_PAUSE}),null===(e=te.instance)||void 0===e||e.close(),$(()=>{}),Object(g.updateAudioProbResult)(),document.removeEventListener("visibilitychange",xl),this.isDestroy=!0,this.destoryPromise=new Promise(async(e,t)=>{try{var i;v.default.log("DelInstance:".concat(this._id)),T.default._callbackList=[],T.default._Notify_APPUI=null,T.default.localVideoPara.VE=null,T.default.localVideoPara.VD=null,A.default.add_monitor("DelInstance:".concat(this._id)),Object(J.SetNotifyUIFn)(null),this.wmscManager&&(this.wmscManager.destroy(),this.wmscManager=null),null===(i=this.annotationMgr)||void 0===i||i.destroy(),this.annotationMgr=null;let e=this;Ut(),C.a.clearAllSubscriptions(),me.clear(),T.default.destroyQueueMessageToRwg(),this.audioInputLevel&&(this.audioInputLevel.destroy(),this.audioInputLevel=null),this.audioBridge&&(this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null),this.EndMedia(),function(){let e=K.dataTransportMgr;Object.keys(e.refs).forEach(t=>{let i=e.refs[t];delete e.refs[t],i.worker.removeEventListener("message",i.listener)}),e.reinit()}(),this.dataChannelController.remoteTransportListener(),function(e){let t=K.dataTransportMgr;t.mediadatachannel.netthreadworker&&(t.mediadatachannel.netthreadworker.destroy(),t.mediadatachannel.netthreadworker=null)}(),this.computePressureManager&&this.computePressureManager.destroy();let t=[T.default.localVideoDecMGR,T.default.localVideoEncMGR,T.default.localSharingDecMGR,T.default.localSharingEncMGR],r=[T.default.localAudioDecMGR,T.default.localAudioEncMGR];jt([T.default.sharingDecInitInstance,T.default.sharingEncInitInstance,T.default.videoDecInitInstance,T.default.videoInitInstance,T.default.audioDecInitInstance,T.default.audioEncodeInitInstance]),Yt(t,r);try{await new Promise((function(t,i){let r=setTimeout(()=>t(),1e3);Promise.all(e.allpromises).finally(()=>{clearTimeout(r),t()})}))}catch(e){console.error(e)}ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_WEBTRANSPORT),ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_WEBTRANSPORT),await qt(this,t,r),this.hidAvalible&&await Dr.destroy(),Nl.ProcessorManager.resetProcessorManager(),this.processorWorker&&(this.processorWorker.onmessage=null,this.processorWorker.terminate(),this.processorWorker=null),await Xt(t,r)}catch(e){v.default.error("destroy instance ".concat(this._id," error"),e)}e()}),await this.destoryPromise)},async isWebGPURendererType(){return await g.default.evaluateRendererType(this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled)==wi.j.WEBGPU},addVbReceiver(e){_t({command:"addExtVbReceiver"}),T.default.extVBPort&&(T.default.extVBPort.onmessage=null),T.default.extVBPort=e,T.default.frameReceived=0,T.default.frameSent=0,e.onmessage=e=>{const{type:t}=e.data;t===a.UNIFIED_VB_ACK&&T.default.frameReceived++},A.default.add_monitor("EVBA")},removeVbReceiver(){_t({command:"removeExtVbReceiver"}),T.default.extVBPort&&(T.default.extVBPort.postMessage({type:a.UNIFIED_VB_STOP}),T.default.extVBPort.onmessage=null,T.default.extVBPort=null),A.default.add_monitor("EVBR")},SessionHold(){if(!this.VideoRenderObj)return;let e=this.VideoRenderObj.clearColor.map(e=>e/255);for(;this.videoRenderArray.length>0;){let t=this.videoRenderArray.shift();this.StopUserVideoRender(this.VideoRenderObj,[t],e,!0)}},StopUserVideoRender(e,t,i,r){e&&(r&&e.clearUseridRender(t,i),T.default.enableMultiDecodeVideoWithoutSAB&&e.GiveBack_Display(t),e.Set_Render_Array(this.videoRenderArray,T.default.enableMultiDecodeVideoWithoutSAB),0==this.videoRenderArray.length&&(gt({command:"stopVideoRender",MFlag:!0}),this.Stop_Video_Play()))},_SaveSystemInfo:function(){try{A.default.add_monitor("JSBN:".concat(Kl.buildNumber,",").concat(Kl.fixVersion)),A.default.add_monitor("NewInstance:".concat(this._id)),v.default.directReport("MediaSDK Version:".concat(Kl.fixVersion)),Nt()}catch(e){Ll(e)}},async updateWebRTCVideoStream(e){var t;null!==(t=this.wmscManager)&&void 0!==t&&t.vbSettingVideoDom&&(this.wmscManager.vbSettingVideoDom.srcObject=e),this.isStartVideoCapture&&this.wmscManager.streamId!==e.id&&this.handleWebRTCStream("fromVBModule",e)},onAnnotationPdu:function(e){this.annotationMgr&&this.annotationMgr.onRWGMessage(e)},sendAnnotationPdu:function(e,t){t||(this.isSupportVideoShare?Ct(e):At(e))},beforeReportToGlobalTracing:function(){this.wmscManager&&this.wmscManager.reportWMSCPeerConnectionRawStats()},workrtHealthCheckReport(e,t){var i,r;"net"==e&&(null===(i=this.audioDataChannel)||void 0===i||i.resetDataChannelTransfered(null),null===(r=this.videoDataChannel)||void 0===r||r.resetDataChannelTransfered(null),function(e){te.instance&&te.instance.unRegisterWorker(e)}(e));let a="WORKERZOMBIE:".concat(e,":").concat(t);A.default.add_monitor(a),v.default.error(a)},onSharingSizeChange(e){this.sharingCodecInfo.width=e.width,this.sharingCodecInfo.height=e.height},isEnableAutoJoinAudio(){return!(g.default.isMac()&&g.default.browser.isSafari&&!this.audioBridge&&!g.default.isSafariVersionHigherThan("18.0"))},notifyUISetSpeakerError(e){this.audioSpeakerSetErrorCnt++,v.default.error("setSinkId failed ".concat(this.audioSpeakerSetErrorCnt," times, current speaker ").concat(e.currentSink,", reason = ").concat(e.reason)),this.audioSpeakerSetErrorCnt<=3&&T.default.Notify_APPUI(a.AUDIO_SPEAKER_SET_ERROR,e)},notifyUISetMicError(e){this.audioMicSetErrorCnt++,v.default.error("setSinkId failed ".concat(this.audioMicSetErrorCnt," times, current mic ").concat(e.currentMic,", reason = ").concat(e.reason)),this.audioMicSetErrorCnt<=3&&T.default.Notify_APPUI(a.AUDIO_MIC_SET_ERROR,e)},async initVideoProcessorWorker(){if(!this.processorWorker){const r=kl.substring(0,kl.lastIndexOf("/"))+"/video_processor.min.js",a=await fetch(r),s=await a.arrayBuffer(),o=URL.createObjectURL(new Blob([s],{type:"text/javascript"}));this.processorWorker=new Worker(o,{name:"video-processor"}),URL.revokeObjectURL(o),this.processorWorker.addEventListener("message",e=>{const t=e.data;t.cmd==Vl.VideoProcessorEvent.PROCESSOR_WORKER_ERROR&&A.default.add_monitor("PCWE"+t.data)});const n=new MessageChannel;var e,t,i;if(this.processorWorker.postMessage({command:Vl.VideoProcessorWorkerEvent.ADD_VIDEO_PORT,data:n.port1},[n.port1]),this.webrtcConfig.webrtcflag||g.default.isSelfPreviewRenderWithVideo())this.processorMessagePort=n.port2;else if(null===(e=T.default.localVideoEncMGR)||void 0===e||null===(e=e.map)||void 0===e||null===(t=e.get)||void 0===t||null===(t=t.call(e,T.default.SPECIAL_ID))||void 0===t||null===(i=t.postMessage)||void 0===i||i.call(t,{command:"processor_message_port",data:n.port2},[n.port2]),!this.checkIsRenderInWorker()||g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0)){const e=new MessageChannel;this.processorWorker.postMessage({command:Vl.VideoProcessorWorkerEvent.ADD_SHADOW_PORT,data:e.port1},[e.port1]),this.shadowProcessorMessagePort=e.port2}}},processorInited:(e,t)=>new Promise(i=>{const r=a=>{a.data.name===e&&(a.data.cmd===Vl.VideoProcessorWorkerEvent.PROCESSOR_READY?(i(!0),t.removeEventListener("message",r)):a.data.cmd===Vl.VideoProcessorWorkerEvent.PROCESSOR_ERROR&&(i(!1),t.removeEventListener("message",r)))};try{t.addEventListener("message",r)}catch(e){console.error(e)}}),async addProcessor(e){let{url:t,name:i,type:r="video",options:a}=e;if("video"===r&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions)){await this.initVideoProcessorWorker();const e=new MessageChannel;e.port1.start(),this.processorWorker.postMessage({url:t,name:i,command:Vl.VideoProcessorWorkerEvent.ADD_VIDEO_PROCESSOR,port:e.port2,options:a},[e.port2]);if(await this.processorInited(i,this.processorWorker))return{name:i,type:r,port:e.port1}}return null},startProcessor(e){let{name:t,type:i}=e;if(A.default.add_monitor("SPMV"),"video"===i&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions))if(this.webrtcConfig.webrtcflag||g.default.isSelfPreviewRenderWithVideo()){var r,a,o;if(Nl.ProcessorManager.addCallback(t,(e,t)=>{e==Vl.VideoProcessorEvent.RESOLUTION_CHANGE&&Ul.onVBResolutionChange&&Ul.onVBResolutionChange(t)}),Nl.ProcessorManager.addFrameCallback(t,e=>{Et({command:"yuvVideoFrame",data:e,rotation:0},[e]),e.close()}),Nl.ProcessorManager.startProcessor(t,new Pl.MediaStreamVideoProcessorAgent(t,this.processorMessagePort,this.platformType==s.WCL_PLATFORM_TYPE.IPHONE,!this.webrtcConfig.webrtcflag)),Ul.videoStream){Nl.ProcessorManager.removeStream(),Nl.ProcessorManager.setStream(Ul.videoStream);const e=Nl.ProcessorManager.getStream();Ul.processedStream=e,this.webrtcConfig.webrtcflag?this.updateWebRTCVideoStream(e):this.render_self_video_wasm()}null===(r=T.default.localVideoEncMGR)||void 0===r||null===(r=r.map)||void 0===r||null===(a=r.get)||void 0===a||null===(a=a.call(r,T.default.SPECIAL_ID))||void 0===a||null===(o=a.postMessage)||void 0===o||o.call(a,{command:137,flag:!0})}else{var n,d,u;null===(n=T.default.localVideoEncMGR)||void 0===n||null===(n=n.map)||void 0===n||null===(d=n.get)||void 0===d||null===(d=d.call(n,T.default.SPECIAL_ID))||void 0===d||null===(u=d.postMessage)||void 0===u||u.call(d,{command:"start_processor",name:t}),this.checkIsRenderInWorker()&&!g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0)||(Nl.ProcessorManager.addFrameCallback(t,e=>{var t;let i=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?i=0:0==Bl&&(i=2)),Ul.isUsingFileInputVideoSource()&&(i=0),null===(t=this.VideoRenderObj)||void 0===t||t.Update_LocalVideo(e,i,!0),e.close()}),Nl.ProcessorManager.startProcessor(t,new Pl.ShadowVideoFrameProcessor(t,this.shadowProcessorMessagePort)))}},stopProcessor(e){let{name:t,type:i}=e;if(A.default.add_monitor("EPMV"),"video"===i&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions)){var r,a,s,o,n,d;if(!this.webrtcConfig.webrtcflag)null===(o=T.default.localVideoEncMGR)||void 0===o||null===(o=o.map)||void 0===o||null===(n=o.get)||void 0===n||null===(n=n.call(o,T.default.SPECIAL_ID))||void 0===n||null===(d=n.postMessage)||void 0===d||d.call(n,{command:"stop_processor",name:t});Nl.ProcessorManager.stopProcessor(t),!Nl.ProcessorManager.hasProcessor()&&Ul.videoStream&&(Ul.processedStream=null,this.webrtcConfig.webrtcflag?this.updateWebRTCVideoStream(Ul.videoStream):this.render_self_video_wasm()),null===(r=T.default.localVideoEncMGR)||void 0===r||null===(r=r.map)||void 0===r||null===(a=r.get)||void 0===a||null===(a=a.call(r,T.default.SPECIAL_ID))||void 0===a||null===(s=a.postMessage)||void 0===s||s.call(a,{command:137,flag:!1})}}};t.default=Kl}])}));
|
|
2
|
-
//# sourceMappingURL=https://d1cdksi819e9z7.cloudfront.net/sourcemap/js_media.min.js-
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("disk-file-writer")):"function"==typeof define&&define.amd?define("JsMediaSDK_Instance",["disk-file-writer"],t):"object"==typeof exports?exports.JsMediaSDK_Instance=t(require("disk-file-writer")):e.JsMediaSDK_Instance=t(e["disk-file-writer"])}(window,(function(e){return function(e){function t(t){for(var i,a,s=t[0],o=t[1],n=0,u=[];n<s.length;n++)a=s[n],r[a]&&u.push(r[a][0]),r[a]=0;for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);for(d&&d(t);u.length;)u.shift()()}var i={},r={1:0};function a(t){if(i[t])return i[t].exports;var r=i[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],i=r[e];if(0!==i)if(i)t.push(i[2]);else{var s=new Promise((function(t,a){i=r[e]=[t,a]}));t.push(i[2]=s);var o,n=document.createElement("script");n.charset="utf-8",n.timeout=120,a.nc&&n.setAttribute("nonce",a.nc),n.src=function(e){return a.p+""+({0:"annoter",2:"pako",3:"wmsc"}[e]||e)+".min.js"}(e);var d=new Error;o=function(t){n.onerror=n.onload=null,clearTimeout(u);var i=r[e];if(0!==i){if(i){var a=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;d.message="Loading chunk "+e+" failed.\n("+a+": "+s+")",d.type=a,d.request=s,i[1](d)}r[e]=void 0}};var u=setTimeout((function(){o({type:"timeout",target:n})}),12e4);n.onerror=n.onload=o,document.head.appendChild(n)}return Promise.all(t)},a.m=e,a.c=i,a.d=function(e,t,i){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(i,r,function(t){return e[t]}.bind(null,r));return i},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a.oe=function(e){throw console.error(e),e};var s=window.webpackJsonpJsMediaSDK_Instance=window.webpackJsonpJsMediaSDK_Instance||[],o=s.push.bind(s);s.push=t,s=s.slice();for(var n=0;n<s.length;n++)t(s[n]);var d=o;return a(a.s=57)}([function(e,t,i){"use strict";i.r(t);var r=i(18),a=i(7),s=i(3),o=i(19);const n=Object(o.a)("sdk.init");class d{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.name=e,this.handler=null,this.wasm=null,this.socket=null,this.defered=new s.Deferred,this.initSuccessPromise=this.defered.promise,this.wasmDefered=new s.Deferred,this.wasmSuccessPromise=this.wasmDefered.promise,this.handlerDefered=new s.Deferred,this.handlerSuccessPromise=this.handlerDefered.promise,this.socketDefered=new s.Deferred,this.socketSuccessPromise=this.socketDefered.promise,Promise.all([this.wasmSuccessPromise,this.handlerSuccessPromise,this.socketSuccessPromise]).then(e=>{let t=e.every(e=>!0===e);this.defered.resolve(t),t||n.error(this.name,{handler:this.handler,wasm:this.wasm,socket:this.socket})})}setHanderSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.handler=e,this.handlerDefered.resolve(e)}setWasmSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.wasm=e,this.wasmDefered.resolve(e)}setSocketSuccess(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.socket=e,this.socketDefered.resolve(e)}checkInitSuccess(){let e=this.handler&&this.wasm&&this.socket;return e&&this.defered.resolve(!0),e}isSocketInitSuccess(){return this.socket}waitforInitSuccess(){return this.initSuccessPromise}resetHandleDeferred(){this.setHanderSuccess(!0),this.handlerDefered=new s.Deferred,this.handlerSuccessPromise=this.handlerDefered.promise}}class u extends d{constructor(e){super(e)}}class l extends d{constructor(e){super(e)}}class c extends d{constructor(e){super(e)}}var h=i(5),f=i(4);const p=Object(o.a)("sdk.variables");function _(){this.crashCount=0,this.crashLastTime=0,this.AEW=null,this.ADW=null,this.AEWF=null,this.ADWF=null,this.VE=null,this.VD=null,this.SE=null,this.SD=null,this.VEMTimes=0,this.VDMTimes=0,this.SEMTimes=0,this.SDMTimes=0,this.extVBPort=null,this.frameSent=0,this.frameReceived=0,this.peerConnectionCannotConnectTimes=0}_.prototype.initDB=function(){let e,t={},i=this;t.init=function(r){if(this.db_name=r.db_name,this.db_version=r.db_version,this.db_store_name=r.db_store_name,indexedDB){try{e=indexedDB.open(this.db_name,this.db_version)}catch(e){return a.default.error("Error opening IndexedDB",e),void(i.indexDbObject=null)}e.onerror=function(e){i.indexDbObject=null},e.onupgradeneeded=function(e){this.db=e.target.result,this.db.createObjectStore(t.db_store_name)},e.onsuccess=function(e){t.db=e.target.result,i.openIndexFlag=!0,i.indexDbObject.select("delay")}}else i.indexDbObject=null},t.put=function(e,i){try{var r=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).put(e,i);r.onsuccess=function(){},r.onerror=function(e){a.default.error("Set Delay failed!",e)}}catch(e){a.default.error("IndexDb put Failed!",e)}},t.delete=function(i){e=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).delete(i),e.onsuccess=function(){p("Delete the key:"+i)}},t.select=function(e){try{var r=t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name);if(e)var s=r.get(e);else s=r.getAll();s.onsuccess=function(){i.audioDelay=s.result},s.onerror=function(){i.audioDelay=0}}catch(e){a.default.error("IndexDb Select Failed",e)}},t.clear=function(){t.db.transaction(t.db_store_name,"readwrite").objectStore(t.db_store_name).clear().onsuccess=function(){p("Clear the IndexDb Successfully")}},t.close=function(){t.db&&t.db.close()},this.indexDbObject=t,this.indexDbObject.init({db_name:"AEC",db_version:1,db_store_name:"delay"})},_.prototype.Notify_APPUI_SAFE=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];if("number"==typeof e||"string"==typeof e)i=arguments;else if(e!==this.instance)return;this._Notify_APPUI&&(p("Notify_APPUI_SAFE",i),this._Notify_APPUI.apply(this,i),this._callbackList.forEach(e=>e.apply(this,i)))},_.prototype.Notify_APPUI=_.prototype.Notify_APPUI_SAFE,_.prototype.queueMessageToRwg=function(e,t){this.rwgMessageList.push({jsEvent:e,message:t})},_.prototype.clearMessageToRwg=function(){f.default.startSend(),this.rwgConnectSuccess=!0,this.rwgMessageList.length>0&&(this.rwgAgent||this._Notify_APPUI)&&(this.rwgMessageList.forEach(e=>{let{jsEvent:t,message:i}=e;this.sendMessageToRwg(t,i,!1,!1)}),this.rwgMessageList=[])},_.prototype.destroyQueueMessageToRwg=function(){this.rwgConnectSuccess=!1,this.rwgMessageList=[]},_.prototype.sendMessageToRwg=function(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(this.rwgConnectSuccess&&(this.rwgAgent||this._Notify_APPUI)||!i){this.rwgConnectSuccess&&r&&this.clearMessageToRwg();try{this.rwgAgent?this.rwgAgent.sendMessageToRwg(t):this.Notify_APPUI_SAFE(e,t)}catch(e){a.default.error("Error sending message to RWG",e)}}else this.queueMessageToRwg(e,t)},_.prototype.reinit=function(e){this.instance=e,this.SPECIAL_ID=0,this._callbackList=[],this._Notify_APPUI=null,this.localAudioDecMGR=null,this.localVideoDecMGR=null,this.localAudioEncMGR=null,this.localVideoEncMGR=null,this.localSharingDecMGR=null,this.localMouseDecMGR=null,this.localSharingEncMGR=null,this.localAudioPara=null,this.localVideoPara={},this.localSharingPara=null,this.Audio_WebSocket_Ip_Address=null,this.Audio_Web_Transport_Ip_Address=null,this.Video_WebSocket_Ip_Address=null,this.Video_Web_Transport_Ip_Address=null,this.Sharing_WebSocket_Ip_Address=null,this.mediaSDKHandle=null,this.audio_pcm_queue=new r.a,this.int16Array=null,this.isInitialFailed=!1,this.isAudioEncodeWASMOK=!1,this.isAudioDecodeWASMOK=!1,this.isVideoEncodeWASMOK=!1,this.isVideoDecodeWASMOK=!1,this.isSharingDecodeWASMOK=!1,this.isSharingEncodeWASMOK=!1,this.audioEncWorkerPath="",this.audioDecWorkerPath="",this.videoDecWorkerPath="",this.videoEncWorkerPath="",this.sharingDecWorkerPath="",this.sharingEncWorkerPath="",this.audioEncodeSession=null,this.audioDecodeSession=null,this.videoDecodeSession=null,this.videoEncodeSession=null,this.sharingDecodeSession=null,this.sharingEncodeSession=null,this.isAudioEncodeThreadStart=!1,this.isAudioDecodeThreadStart=!1,this.isVideoDecodeThreadStart=!1,this.isSharingDecodeThreadStart=!1,this.isVideoEncodeThreadStart=!1,this.isSharingEncodeThreadStart=!1,this.isAudioPlayWork=!1,this.isVideoPlayWork=!1,this.isSharingPlayWork=!1,this.shareBufferSampleNumb=30,this.audioWasmInfo=null,this.initialSuccessNumb=0,this.TotalWaitEvent=0,this.audioPostInterval=null,this.sharedBuffer=null,this.decoderinworklet=null,this.decoderinworkletOP=null,this.chromeWideAEC=null,this.shareSystemAudio=!1,this.indexDbObject=null,this.audioDelay=0,this.openIndexFlag=!1,this.audioBufferSize=s.default.browser.isFirefox?30:15,this.monitorIntervalHandle=null,this.e2eencrypt=!1,this.AudioNode=null,this.SharingAudioNode=null,this.CurrentSSRC=0,this.CurrentSSRCTime=0,this.audioPlayTime=0,this.videoDecResponseText=null,this.videoEncResponseText=null,this.sharingDecodeResponse=null,this.sharingEncodeResponse=null,this.sharingDecInitInstance=new u(h.f.SHARING_DECODE),this.sharingEncInitInstance=new u(h.f.SHARING_ENCODE),this.videoDecInitInstance=new l(h.f.VIDEO_DECODE),this.videoInitInstance=new l(h.f.VIDEO_ENCODE),this.audioDecInitInstance=new c(h.f.AUDIO_DECODE),this.audioEncodeInitInstance=new c(h.f.AUDIO_ENCODE),this.audioDecodeResponse=null,this.audioEncodeResponse=null,this.ivObj={},this.userNodeList=[],this.rwgAgent=null,this.ComputerAudioStatus=h.a.ComputerAudio_Null,this.DesktopAudioStatus=h.a.DesktopAudio_Null,this.initDB(),this.resourceManager=null,this.vbarraybuffer=null,this.vbbin=null,this.vbjson=null,this.tfjsurl=null,this.afnbin=null,this.afnjson=null,this.basebin=null,this.basejson=null,this.workletMessageQueue=new r.a,this.workletWasmInitSuccess=!1,this.videoEncodeInitSuccess=null,this.vbPreloadSuccess=null,this.enableAduioBridge=!1,this.audioMode=-1,this.enableEchoDetection=0,this.enableHADecOpt=0,this.enableSafariHWCodec=0,this.enable360pHWDec=0,this.enable360pHWEnc=0,this.enableAndroidHWCodec=0,this.disableHWCodec=0,this.enableOptCopyFrame=0,this.enableTransferDataChannel=0,this.enableCanvasAlphaChannel=!0,this.enableWebrtcTurnServer=!1,this.VEMTimes=0,this.VDMTimes=0,this.SEMTimes=0,this.SDMTimes=0,this.isPreviewMode={audioEncode:!1,audioDecode:!1,videoEncode:!1,videoDecode:!1},this.rwgConnectSuccess=!1,this.rwgMessageList=[],this.localSsrc=0,this.frameSent=0,this.frameReceived=0};let m=new _;t.default=m},function(e,t,i){var r=i(90),a=i(49);e.exports=function(e,t){var i=a(e,t,"get");return r(e,i)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";i.r(t),i.d(t,"START_MEDIA",(function(){return r})),i.d(t,"ADD_RENDER_VIDEO",(function(){return a})),i.d(t,"STOP_RENDER_VIDEO",(function(){return s})),i.d(t,"START_CAPTURE_VIDEO",(function(){return o})),i.d(t,"STOP_CAPTURE_VIDEO",(function(){return n})),i.d(t,"ADD_RENDER_AUDIO",(function(){return d})),i.d(t,"STOP_RENDER_AUDIO",(function(){return u})),i.d(t,"UNMUTE_AUDIO",(function(){return l})),i.d(t,"MUTE_AUDIO",(function(){return c})),i.d(t,"CHANGE_FRAME_RATE",(function(){return h})),i.d(t,"CHANGE_VIDEO_RESOLUTION",(function(){return f})),i.d(t,"CHANGE_AUDIO_SPEAKER",(function(){return p})),i.d(t,"CHANGE_VIDEO_CAPTURE_DEVICE",(function(){return _})),i.d(t,"CHANGE_CURRENT_ACTIVE_SSRC",(function(){return m})),i.d(t,"REMOVE_AUDIO_CAPTURE",(function(){return E})),i.d(t,"LEAVE_MEETING",(function(){return g})),i.d(t,"MEETING_FAIL_OVER",(function(){return S})),i.d(t,"END_MEDIA",(function(){return v})),i.d(t,"CHANGE_AUDIO_MIC",(function(){return C})),i.d(t,"WEBRTC_RESTART",(function(){return A})),i.d(t,"REMOVE_RENDER_AUDIO",(function(){return R})),i.d(t,"LEAVE_COMPUTER_AUDIO",(function(){return T})),i.d(t,"JOIN_COMPUTER_AUDIO",(function(){return I})),i.d(t,"START_SHARING",(function(){return b})),i.d(t,"STOP_SHARING",(function(){return O})),i.d(t,"SWITCH_CANVAS_FOR_VIDEO_CAPTURE",(function(){return D})),i.d(t,"START_REMOTE_CONTROL",(function(){return w})),i.d(t,"UPDATE_REMOTE_CONTROL_PROPERTIES",(function(){return y})),i.d(t,"CANCEL_REMOTE_CONTROL",(function(){return M})),i.d(t,"UPDATE_SUBSCRIBE_VIDEO",(function(){return P})),i.d(t,"START_DESKTOP_SHARING",(function(){return N})),i.d(t,"START_SHARING_WHITEBOARD",(function(){return V})),i.d(t,"STOP_DESKTOP_SHARING",(function(){return k})),i.d(t,"STOP_SHARING_WHITEBOARD",(function(){return U})),i.d(t,"PAUSE_DESKTOP_SHARING",(function(){return L})),i.d(t,"RESUME_DESKTOP_SHARING",(function(){return x})),i.d(t,"CHECK_CHROME_SHARING_EXTENSION",(function(){return W})),i.d(t,"SWITCH_CANVAS_FOR_SHARING_CAPTURE",(function(){return B})),i.d(t,"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",(function(){return G})),i.d(t,"COMMAND_SOCKET_MESSAGE_NOTIFY",(function(){return F})),i.d(t,"RESEND_REMOTE_CONTROL_POSITION_PDU",(function(){return H})),i.d(t,"AES_GCM_IV_VALUE",(function(){return K})),i.d(t,"USER_NODE_LIST",(function(){return j})),i.d(t,"UPDATE_SHARING_DECODE_PARAM",(function(){return Y})),i.d(t,"PAUSE_OR_RESUME_AUDIO_DECODE",(function(){return q})),i.d(t,"UPDATE_CANVAS_SIZE",(function(){return X})),i.d(t,"CLEAR_CANVAS",(function(){return Q})),i.d(t,"ZOOM_RENDER",(function(){return z})),i.d(t,"CHANGE_SHARING_2ND_VIDEO_CAPTUREVIDEO_DEVICE",(function(){return J})),i.d(t,"SET_OTHER_AUDIO_VOLUME_LEVEL",(function(){return Z})),i.d(t,"USER_NODE_AUDIO_STATUS_LIST",(function(){return $})),i.d(t,"UPDATE_MASK_CANVAS_SIZE",(function(){return ee})),i.d(t,"MOVE_PTZ_CAMERA",(function(){return te})),i.d(t,"START_STOP_REMOTE_CONTROL_CHECK",(function(){return ie})),i.d(t,"SEND_REMOTE_CONTROL_QR_CODE",(function(){return re})),i.d(t,"AUDIO_CC_SELECT_LANGUAGE",(function(){return ae})),i.d(t,"AUIOD_INTERPRETATION_MUTE",(function(){return se})),i.d(t,"AUDIO_INTERPRETATION_SELECT_LANGUAGE",(function(){return oe})),i.d(t,"AUDIO_INTERPRETATION_LIST_INFO",(function(){return ne})),i.d(t,"AUDIO_INTERPRETATION_ENABLE",(function(){return de})),i.d(t,"VIDEO_MASK_SETTING",(function(){return ue})),i.d(t,"UPDATE_BG_IMAGE",(function(){return le})),i.d(t,"UPDATE_MASK_INFO",(function(){return ce})),i.d(t,"FINISH_MASK_SETTING",(function(){return he})),i.d(t,"START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS",(function(){return fe})),i.d(t,"VIDEO_ENABLE_DECODE_HW",(function(){return pe})),i.d(t,"VIDEO_ENABLE_ENCODE_HW",(function(){return _e})),i.d(t,"JOIN_DESKTOP_AUDIO",(function(){return me})),i.d(t,"LEAVE_DESKTOP_AUDIO",(function(){return Ee})),i.d(t,"SET_DESKTOP_VOLUME",(function(){return ge})),i.d(t,"MIRROR_MY_VIDEO",(function(){return Se})),i.d(t,"REMOVE_EXPIRED_CANVAS",(function(){return ve})),i.d(t,"WEBGL_LOST_REPLACE_CANVAS",(function(){return Ce})),i.d(t,"UPDATE_VIDEO_QUALITY",(function(){return Ae})),i.d(t,"SEND_RENDER_LOG",(function(){return Re})),i.d(t,"USER_NODE_LIST_IN_MAIN_SESSION",(function(){return Te})),i.d(t,"UPDATE_MEDIA_PARAMS",(function(){return Ie})),i.d(t,"SHARING_ADD_REV_CHANNEL_TYPE",(function(){return be})),i.d(t,"SHARING_REMOVE_REV_CHANNEL_TYPE",(function(){return Oe})),i.d(t,"BUILD_MS_CHANNEL_IN_BO",(function(){return De})),i.d(t,"BUILD_MA_CHANNEL_IN_BO",(function(){return we})),i.d(t,"ENABLE_SHARE_TO_BO",(function(){return ye})),i.d(t,"ENABLE_BROADCAST_TO_BO",(function(){return Me})),i.d(t,"SWITCH_WATER_MARK_FLAG",(function(){return Pe})),i.d(t,"START_VIDEO_VB_SETTING",(function(){return Ne})),i.d(t,"UPDATE_VIDEO_VB_BG_IMAGE",(function(){return Ve})),i.d(t,"STOP_VIDEO_VB_SETTING",(function(){return ke})),i.d(t,"START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS",(function(){return Ue})),i.d(t,"SWITCH_MASK_AND_VB",(function(){return Le})),i.d(t,"VB_MODEL_PRELOADING_3S",(function(){return xe})),i.d(t,"VB_MODEL_PRELOADING_10S",(function(){return We})),i.d(t,"VB_MODEL_PRELOADING_OK",(function(){return Be})),i.d(t,"ENABLE_VIDEO_OBSERVER",(function(){return Ge})),i.d(t,"SWITCH_SHARING_TYPE",(function(){return Fe})),i.d(t,"CHANGE_HID_ENABLE",(function(){return He})),i.d(t,"ADD_VIDEO_VB_SETTING_DOM",(function(){return Ke})),i.d(t,"REMOVE_VIDEO_VB_SETTING_DOM",(function(){return je})),i.d(t,"NEW_ACTIVE_SPEAKER_SSRC",(function(){return Ye})),i.d(t,"NEW_ACTIVE_SPEAKER_FIRST_FRAME_CALLBACK",(function(){return qe})),i.d(t,"CANCEL_NEW_ACTIVE_SPEAKER_BEFORE_CALL_BACK",(function(){return Xe})),i.d(t,"NOTIFY_SDK_JOIN_RWG_SUCCESS",(function(){return Qe})),i.d(t,"AUDIO_BRIDGE_FIRST_RECV_DATA",(function(){return ze})),i.d(t,"AUDIO_BRIDGE_CAN_SEND_DATA",(function(){return Je})),i.d(t,"FIRST_VIDEO_FRAME",(function(){return Ze})),i.d(t,"PREVIEW_INIT_VIDEO_DECODE_SUCCESS",(function(){return $e})),i.d(t,"PREVIEW_INIT_AUDIO_DECODE_SUCCESS",(function(){return et})),i.d(t,"WHITEBOARD_JOIN_MESSAGE",(function(){return tt})),i.d(t,"AUDIO_DENOISE_SWITCH",(function(){return it})),i.d(t,"SET_CODEC_MODE",(function(){return rt})),i.d(t,"STOP_AUDIO_INCOMING",(function(){return at})),i.d(t,"MOBILE_ROTATE",(function(){return st})),i.d(t,"SAVE_LOCAL_LOG",(function(){return ot})),i.d(t,"CHANGE_AUDIO_PROFILE",(function(){return nt})),i.d(t,"AUDIO_JOIN_SUCCESS",(function(){return dt})),i.d(t,"RWG_COMMAND_BYPASS_TO_WCL",(function(){return ut})),i.d(t,"SHARE_2ND_AUDIO_CAPTURE_DEVICE",(function(){return lt})),i.d(t,"SUBSCRIBE_VIDEO",(function(){return ct})),i.d(t,"UNSUBSCRIBE_VIDEO",(function(){return ht})),i.d(t,"UI_SUBSCRIBE_VIDEO",(function(){return ft})),i.d(t,"UI_UNSUBSCRIBE_VIDEO",(function(){return pt})),i.d(t,"MOBILE_CAPTURE_DEVICE_CHANGE",(function(){return _t})),i.d(t,"ON_HOLD",(function(){return mt})),i.d(t,"SET_ALL_SPEECH_VOLUME",(function(){return Et})),i.d(t,"ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY",(function(){return gt})),i.d(t,"START_ANNOTATION_A",(function(){return St})),i.d(t,"ANNOTATION_ACTIONS",(function(){return vt})),i.d(t,"STOP_ANNOTATION_A",(function(){return Ct})),i.d(t,"START_ANNOTATION_SUCCESS",(function(){return At})),i.d(t,"DEVICE_CHANGE_EVENT",(function(){return Rt})),i.d(t,"RECAPTURE_AUDIO",(function(){return Tt})),i.d(t,"REQUEST_PERMISSION",(function(){return It})),i.d(t,"REQUEST_PERMISSION_RESULT",(function(){return bt})),i.d(t,"REQUEST_PERMISSIOM_POP_REMINDER",(function(){return Ot})),i.d(t,"INIT_SUCCESS",(function(){return Dt})),i.d(t,"INIT_SUCCESS_VIDEO",(function(){return wt})),i.d(t,"INIT_SUCCESS_AUDIO",(function(){return yt})),i.d(t,"INIT_SUCCESS_SHARING",(function(){return Mt})),i.d(t,"USER_GRANT_CAPTURE_AUDIO",(function(){return Pt})),i.d(t,"CURRENT_VIDEO_RESOLUTION",(function(){return Nt})),i.d(t,"SHARING_DEC_THREAD_OK",(function(){return Vt})),i.d(t,"SHARING_DATA",(function(){return kt})),i.d(t,"SHARING_PARA",(function(){return Ut})),i.d(t,"SHARING_MORE_INFO",(function(){return Lt})),i.d(t,"VIDEO_DECODE_MAX_SIZE",(function(){return xt})),i.d(t,"CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT",(function(){return Wt})),i.d(t,"START_VIDEO_CAPTURE_SUCCESS",(function(){return Bt})),i.d(t,"STOP_VIDEO_CAPTURE_SUCCESS",(function(){return Gt})),i.d(t,"START_REMOTE_CONTROL_SUCCESS",(function(){return Ft})),i.d(t,"CANCEL_REMOTE_CONTROL_SUCCESS",(function(){return Ht})),i.d(t,"REMOTE_CONTROL_COPIED_TEXT_NOTIFY",(function(){return Kt})),i.d(t,"MONITOR_LOG",(function(){return jt})),i.d(t,"CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT",(function(){return Yt})),i.d(t,"DESKTOP_SHARING_CAPTURE_SUCCESS",(function(){return qt})),i.d(t,"CHECK_CHROME_SHARING_EXTENSION_RESPONSE",(function(){return Xt})),i.d(t,"SHARING_DECODE_MAX_SIZE",(function(){return Qt})),i.d(t,"REQUEST_AUDIO_BRIDGE_TOKEN",(function(){return zt})),i.d(t,"SEND_MESSAGE_TO_RWG",(function(){return Jt})),i.d(t,"AES_GCM_IV_RESPONSE",(function(){return Zt})),i.d(t,"SHARING_DESKTOP_STREAM_HAVE_AUDIO",(function(){return $t})),i.d(t,"JOIN_COMPUTER_AUDIO_COMPLETE",(function(){return ei})),i.d(t,"JOIN_DESKTOP_AUDIO_COMPLETE",(function(){return ti})),i.d(t,"LEAVE_COMPUTER_AUDIO_COMPLETE",(function(){return ii})),i.d(t,"LEAVE_DESKTOP_AUDIO_COMPLETE",(function(){return ri})),i.d(t,"HID_STATUS_MUTE",(function(){return ai})),i.d(t,"HID_STATUS_OFF_HOOK",(function(){return si})),i.d(t,"WB_MESSAGE",(function(){return oi})),i.d(t,"AUDIO_STREAM_FAILED",(function(){return ni})),i.d(t,"VIDEO_STREAM_FAILED",(function(){return di})),i.d(t,"AUDIO_SPEAKER_SET_SUCCESS",(function(){return ui})),i.d(t,"FIRST_IOS_FRAME",(function(){return li})),i.d(t,"AUDIOBRIDGE_EBABLE_SHARE_TO_BO_SUCCESS",(function(){return ci})),i.d(t,"AUDIOBRIDGE_SET_CC_LANG_SUCCESS",(function(){return hi})),i.d(t,"AUDIOBRIDGE_ENABLE_BROADCAST_TO_BO_SUCCESS",(function(){return fi})),i.d(t,"AUDIO_LEVEL_INDICATOR",(function(){return pi})),i.d(t,"SYNC_RENDERER_TYPE_RESPONSE",(function(){return _i})),i.d(t,"INIT_FAILED",(function(){return mi})),i.d(t,"INIT_FAILED_VIDEO",(function(){return Ei})),i.d(t,"INIT_FAILED_AUDIO",(function(){return gi})),i.d(t,"INIT_FAILED_SHARING",(function(){return Si})),i.d(t,"AUDIO_CAPTURE_FAILED",(function(){return vi})),i.d(t,"AUDIO_WEBSOCKET_BROKEN",(function(){return Ci})),i.d(t,"VIDEO_WEBSOCKET_BROKEN",(function(){return Ai})),i.d(t,"SHARING_DEC_THREAD_FAILED",(function(){return Ri})),i.d(t,"AUDIO_ZERO_DATA",(function(){return Ti})),i.d(t,"AUDIO_CTX_SAMPLERATE",(function(){return Ii})),i.d(t,"USER_FORBIDDED_CAPTURE_VIDEO",(function(){return bi})),i.d(t,"USER_CAMERA_IS_TAKEN_BY_OTHER_PROGRAMS",(function(){return Oi})),i.d(t,"STOP_VIDEO_CAPTURE_FAILED",(function(){return Di})),i.d(t,"START_REMOTE_CONTROL_FAILED",(function(){return wi})),i.d(t,"CANCEL_REMOTE_CONTROL_FAILED",(function(){return yi})),i.d(t,"REMOTE_CONTROL_PASTE_TEXT_LENGTH_OVERFLOW",(function(){return Mi})),i.d(t,"USER_STOP_DESKTOP_SHARING",(function(){return Pi})),i.d(t,"USER_CANCEL_PERMISSION_REQUEST",(function(){return Ni})),i.d(t,"DESKTOP_SHARING_CHROME_EXTENSION_UNINSTALLED",(function(){return Vi})),i.d(t,"DESKTOP_SHARING_PERMISSION_DENIED",(function(){return ki})),i.d(t,"DESKTOP_SHARING_TIME_OUT",(function(){return Ui})),i.d(t,"DESKTOP_SHARING_ERROR",(function(){return Li})),i.d(t,"AUDIO_SPEAKER_SET_ERROR",(function(){return xi})),i.d(t,"DESKTOP_SHARING_SYSTEM_ERROR",(function(){return Wi})),i.d(t,"AUDIO_CLIPPING",(function(){return Bi})),i.d(t,"AUDIO_AUTO_PLAY_FAILED",(function(){return Gi})),i.d(t,"WCL_SIP_WEBSOCKET_CONNECT_ERROR",(function(){return Fi})),i.d(t,"SHARING_DESKTOP_STREAM_HAVE_NO_AUDIO",(function(){return Hi})),i.d(t,"WCL_AUDIO_BRIDGE_RECONNECT_START",(function(){return Ki})),i.d(t,"WCL_AUDIO_BRIDGE_RECONNECT_END",(function(){return ji})),i.d(t,"WEBGL_LOST_IN_MULTI_VIEW",(function(){return Yi})),i.d(t,"MASK_SETTING_PARA_ERROR",(function(){return qi})),i.d(t,"VIDEO_VB_SETTING_PARA_ERROR",(function(){return Xi})),i.d(t,"NOTIFY_UI_FAILOVER",(function(){return Qi})),i.d(t,"AUDIO_CONNECT_HID_JOIN_FAILED",(function(){return zi})),i.d(t,"JOIN_COMPUTER_AUDIO_FAILURE",(function(){return Ji})),i.d(t,"AUDIOBRIDGE_EBABLE_BROADCAST_TO_BO_FAILURE",(function(){return Zi})),i.d(t,"AUDIOBRIDGE_SET_CC_LANG_FAILURE",(function(){return $i})),i.d(t,"AUDIOBRIDGE_EBABLE_SHARE_TO_BO_FAILURE",(function(){return er})),i.d(t,"AUDIO_MIC_SET_ERROR",(function(){return tr})),i.d(t,"NOTIFY_UI_WMSC_FAILOVER",(function(){return ir})),i.d(t,"NOTIFY_UI_WMSC_WSS_DISCONNECTED",(function(){return rr})),i.d(t,"RECOVER_WEBRTC_AUDIO",(function(){return ar})),i.d(t,"MEDIA_RECONNECT",(function(){return sr})),i.d(t,"WEBGL_CONTEXT_INVALID",(function(){return or})),i.d(t,"WASM_MEMORY_FAIL",(function(){return nr})),i.d(t,"LOST_CAMERA_ACCESS",(function(){return dr})),i.d(t,"WORKLET_PROCESS_EXCEPTIONS",(function(){return ur})),i.d(t,"VB_PROCESS_IMAGE_FAIL",(function(){return lr})),i.d(t,"MEDIA_HEALTH_CHECK_FAILED",(function(){return cr})),i.d(t,"START_ANNOTATION_FAILED",(function(){return hr})),i.d(t,"AUDIO_SENT_BYTES_ZERO",(function(){return fr})),i.d(t,"EVENT_PARMS_ERROR",(function(){return pr})),i.d(t,"AUDIO_STOP",(function(){return _r})),i.d(t,"AUDIO_START",(function(){return mr})),i.d(t,"AUDIO_REMOVE",(function(){return Er})),i.d(t,"AUDIO_ILLEGAL",(function(){return gr})),i.d(t,"SHARING_PARAM_INFO_FROM_SOCKET",(function(){return Sr})),i.d(t,"ZOOM_CONNECTION_VIDEO_OFFER_EVT",(function(){return vr})),i.d(t,"ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",(function(){return Cr})),i.d(t,"ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT",(function(){return Ar})),i.d(t,"ZOOM_CONNECTION_REMOVE_UDP_EVT",(function(){return Rr})),i.d(t,"EVT_TYPE_WS_VIDEO_DATACHANNEL_ANSWER",(function(){return Tr})),i.d(t,"WS_CONF_AB_TOKEN_REQ",(function(){return Ir})),i.d(t,"WS_CONF_AB_TOKEN_RES",(function(){return br})),i.d(t,"WS_CONF_END_INDICATION",(function(){return Or})),i.d(t,"WS_VIDEO_MULTI_SUBSCRIBE_REQ",(function(){return Dr})),i.d(t,"WS_VIDEO_MULTI_UNSUBSCRIBE_REQ",(function(){return wr})),i.d(t,"RWG_MONITOR_LOG_EVENT",(function(){return yr})),i.d(t,"WS_CONF_WCL_SET_FULL_HD_REQ",(function(){return Mr})),i.d(t,"PUBSUB_EVT",(function(){return Pr})),i.d(t,"SHARING_FIRST_DECODE_FRAME_RECEIVED_SSRC",(function(){return Nr})),i.d(t,"MEDIA_CONNECTED",(function(){return Vr})),i.d(t,"HAVE_NO_WATERMARK",(function(){return kr})),i.d(t,"HAVE_WATERMARK",(function(){return Ur})),i.d(t,"SPEAKING_WHEN_MUTE",(function(){return Lr})),i.d(t,"AUDIO_QOS_DATA",(function(){return xr})),i.d(t,"VIDEO_QOS_DATA",(function(){return Wr})),i.d(t,"VIDEOSHARE_QOS_DATA",(function(){return Br})),i.d(t,"NETWORK_QUALITY_CHANGE",(function(){return Gr})),i.d(t,"NETWORK_QUALITY_CHANGE_AUDIO",(function(){return Fr})),i.d(t,"sdkIvTypeKeyEnum",(function(){return Hr})),i.d(t,"CURRENT_DECODE_VIDEO_QUALITY",(function(){return Kr})),i.d(t,"CURRENT_DECODE_VIDEO_FPS",(function(){return jr})),i.d(t,"ENABLE_REUSE_STREAM",(function(){return Yr})),i.d(t,"PRESET_MEDIA_CONSTRAINTS",(function(){return qr})),i.d(t,"DESTORY_REUSE_STREAM",(function(){return Xr})),i.d(t,"VB_SETTING_PARA_ERROR_TYPE",(function(){return Qr})),i.d(t,"AUDIO_STREAM_MUTED",(function(){return zr})),i.d(t,"AUDIO_STREAM_UNMUTED",(function(){return Jr})),i.d(t,"VIDEO_STREAM_MUTED",(function(){return Zr})),i.d(t,"VIDEO_STREAM_UNMUTED",(function(){return $r})),i.d(t,"EXPOSE_VB_FRAME",(function(){return ea})),i.d(t,"UNIFIED_VB_FRAME",(function(){return ta})),i.d(t,"UNIFIED_VB_STOP",(function(){return ia})),i.d(t,"UNIFIED_VB_PAUSE",(function(){return ra})),i.d(t,"UNIFIED_VB_ACK",(function(){return aa})),i.d(t,"ANNO_UNDO_STATUS",(function(){return sa})),i.d(t,"ANNO_REDO_STATUS",(function(){return oa})),i.d(t,"CAPTURE_FAILED_REASON",(function(){return na})),i.d(t,"REQUEST_PERMISSION_STATUS",(function(){return da}));const r=0,a=1,s=2,o=3,n=4,d=5,u=6,l=7,c=8,h=9,f=10,p=11,_=12,m=13,E=14,g=15,S=16,v=17,C=18,A=19,R=20,T=21,I=22,b=23,O=24,D=25,w=26,y=27,M=28,P=29,N=30,V=30.1,k=31,U=31.1,L=32,x=33,W=34,B=35,G=36,F=40,H=41,K=42,j=43,Y=44,q=45,X=46,Q=47,z=48,J=49,Z=50,$=51,ee=52,te=53,ie=54,re=55,ae=57,se=58,oe=59,ne=60,de=61,ue=62,le=63,ce=64,he=65,fe=66,pe=70,_e=71,me=72,Ee=73,ge=74,Se=75,ve=76,Ce=77,Ae=78,Re=79,Te=80,Ie=81,be=82,Oe=83,De=84,we=85,ye=86,Me=87,Pe=90,Ne=91,Ve=92,ke=93,Ue=94,Le=95,xe=96,We=97,Be=98,Ge=99,Fe=101,He=100,Ke=102,je=103,Ye=110,qe=111,Xe=112,Qe=113,ze=114,Je=115,Ze=116,$e=117,et=118,tt=120,it=121,rt=122,at=123,st=124,ot=125,nt=126,dt=127,ut=128,lt=129,ct=130,ht=131,ft=132,pt=133,_t=135,mt=136,Et=137,gt=138,St=150,vt=152,Ct=156,At=158,Rt=159,Tt=160,It=161,bt=162,Ot=163,Dt=1,wt=1.1,yt=1.2,Mt=1.3,Pt=2,Nt=3,Vt=4,kt=5,Ut=6,Lt=6.1,xt=7,Wt=8,Bt=9,Gt=10,Ft=11,Ht=12,Kt=13,jt=14,Yt=15,qt=16,Xt=17,Qt=18,zt=19,Jt=20,Zt=21,$t=23,ei=24,ti=25,ii=26,ri=27,ai=28,si=29,oi=30,ni=31,di=32,ui=33,li=34,ci=35,hi=36,fi=37,pi=38,_i=39,mi=-1,Ei=-1.1,gi=-1.2,Si=-1.3,vi=-2,Ci=-3,Ai=-4,Ri=-5,Ti=-6,Ii=-7,bi=-8,Oi=-9,Di=-10,wi=-11,yi=-12,Mi=-14,Pi=-15,Ni=-16,Vi=-17,ki=-18,Ui=-19,Li=-20,xi=-21,Wi=-22,Bi=-23,Gi=-24,Fi=-28,Hi=-27,Ki=-29,ji=-31,Yi=-32,qi=-33,Xi=-34,Qi=-35,zi=-36,Ji=-37,Zi=-38,$i=-39,er=-40,tr=-41,ir=-42,rr=-43,ar=-44,sr=-45,or=-51,nr=-52,dr=-60,ur=-53,lr=-70,cr=-129,hr=-130,fr=-136,pr=-137,_r=0,mr=1,Er=2,gr=-1,Sr="SHARING_PARAM_INFO_FROM_SOCKET",vr=24321,Cr=24322,Ar=24322,Rr=24323,Tr=24322,Ir=4300,br=4299,Or=7939,Dr=12303,wr=12305,yr=4167,Mr=4355,Pr={ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT:"ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT:"ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT",END_MEDIA:"END_MEDIA",DESTROY:"DESTROY",DC_COMING_MESSAGE:"DC_COMING_MESSAGE",AUDIO_BRIDGE_WS_TOKEN:"AUDIO_BRIDGE_WS_TOKEN"},Nr=70,Vr=170,kr=!1,Ur=!0,Lr=121,xr="AUDIO_QOS_DATA",Wr="VIDEO_QOS_DATA",Br="VIDEOSHARE_QOS_DATA",Gr="NETWORK_QUALITY_CHANGE",Fr="NETWORK_QUALITY_CHANGE_AUDIO",Hr={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},Kr=66.5,jr=66.6,Yr="ENABLE_REUSE_STREAM",qr="PRESET_MEDIA_CONSTRAINTS",Xr="DESTORY_REUSE_STREAM",Qr={FAIL:4},zr="AUDIO_STREAM_MUTED",Jr="AUDIO_STREAM_UNMUTED",Zr="VIDEO_STREAM_MUTED",$r="VIDEO_STREAM_UNMUTED",ea="EXPOSE_VB_FRAME",ta="UNIFIED_VB_FRAME",ia="UNIFIED_VB_STOP",ra="UNIFIED_VB_PAUSE",aa="UNIFIED_VB_ACK",sa="ANNO_UNDO_STATUS",oa="ANNO_REDO_STATUS",na={USER_DENIED:1,SYSTEM_DENIED:2,DEVICE_IN_USE:3,NO_DEVICE:4,UNKNOWN_REASON:5,OVERCONSTRAINED:6,USER_DISMISS:7},da={GRANTED_AUDIO_VIDEO:1,GRANTED_AUDIO:2,DENIED:3,EXCEPTION_FAILS:4,DISMISS:5}},function(e,t,i){"use strict";i.r(t),i.d(t,"apiSupportUtility",(function(){return b})),i.d(t,"IsSupportWebGLOffscreenCanvas",(function(){return U})),i.d(t,"DetectIsMTRAndroidWithSAB",(function(){return L})),i.d(t,"Get_Logical_SSrc",(function(){return W})),i.d(t,"createMainAudioContext",(function(){return B})),i.d(t,"createAudioContext",(function(){return G})),i.d(t,"Deferred",(function(){return H})),i.d(t,"getFilename",(function(){return K})),i.d(t,"IntegrityHelper",(function(){return j})),i.d(t,"getGcd",(function(){return Y})),i.d(t,"getLcm",(function(){return q})),i.d(t,"AdjustRegion_AspectRatio",(function(){return X})),i.d(t,"deepEqual",(function(){return Q})),i.d(t,"getWMSCModule",(function(){return z})),i.d(t,"getAnnoterModule",(function(){return J})),i.d(t,"addSelfViewDebugInfoForWebRTC",(function(){return Z})),i.d(t,"addUserEventListener",(function(){return $})),i.d(t,"VideoStreamCanCapture",(function(){return ee})),i.d(t,"RecordVideoState",(function(){return te})),i.d(t,"CheckCanvasSize",(function(){return ie})),i.d(t,"isHtmlElement",(function(){return re})),i.d(t,"parseDOMParams",(function(){return ae})),i.d(t,"checkBrowserVersion",(function(){return se})),i.d(t,"replaceComma",(function(){return oe})),i.d(t,"isChromeOS",(function(){return ne})),i.d(t,"isMobileDevice",(function(){return de})),i.d(t,"isTablet",(function(){return ue})),i.d(t,"isWebGLAvailable",(function(){return le})),i.d(t,"createRlbSocket",(function(){return ce})),i.d(t,"setIsWebRTCMode",(function(){return he})),i.d(t,"updateAudioProbResult",(function(){return pe})),i.d(t,"isMacIntel",(function(){return _e})),i.d(t,"IsSupportTransferableDataChannel",(function(){return me}));var r=i(35),a=i(30),s=i(7),o=i(0),n=i(6),d=i(4),u=i(50),l=i.n(u),c=i(40),h=i(24),f=i(36),p=i(22),_=i(11);const m={};let E=!1,g=!1;const S=function(){let e=(i={},r=navigator.userAgent.toLowerCase(),(t=r.match(/rv:([\d.]+)\) like gecko/))||(t=r.match(/msie ([\d\.]+)/))?(i.ie=t[1],i.name="ie"):(t=r.match(/(?:edge|edg)\/([\d\.]+)/))?(i.edge=t[1],i.name="edge"):(t=r.match(/(?:firefox|iceweasel)\/([\d\.]+)/))?(i.firefox=t[1],i.name="firefox"):(t=r.match(/(?:opera|opr).([\d\.]+)/))?(i.opera=t[1],i.name="opera"):(t=r.match(/chrome\/([\d\.]+)/))?(i.chrome=t[1],i.name="chrome"):(t=r.match(/version\/([\d\.]+).*safari/))&&(i.safari=t[1],i.name="safari"),i);var t,i,r;return function(){return e}}(),v=function(){let e={};return function(){try{var t,i,r,a,s,o;let n=l()(navigator.userAgent),d="tablet"==(null==n||null===(t=n.device)||void 0===t?void 0:t.type)||ue(),u="mobile"==(null==n||null===(i=n.device)||void 0===i?void 0:i.type)||de(),c=null==n||null===(r=n.os)||void 0===r?void 0:r.name,h=null==n||null===(a=n.os)||void 0===a?void 0:a.version,f=0;if(d?f=4:u&&(f=1),!c){const e=navigator.userAgent.match(/\(([^;]+); OpenHarmony ([\d.]+)\)/);e&&e.length>2&&(c="OpenHarmony",h=e[2],"Tablet"===e[1]?f=4:"Phone"===e[1]&&(f=1))}e.osType=f,e.os=c,e.osVersion=h,e.browser=Object.assign({},n.browser),null!==(s=c)&&void 0!==s&&s.toLowerCase().includes("mac")&&(d||u)&&(e.os="ios"),null!==(o=c)&&void 0!==o&&o.toLowerCase().includes("linux")&&(d||u)&&(e.os="android");let p=(h||"").split(".")[0];c&&navigator.userAgentData&&(c.toLowerCase().includes("win")&&"10"==p||c.toLowerCase().includes("android")||c.toLowerCase().includes("mac"))&&navigator.userAgentData.getHighEntropyValues(["platform","platformVersion"]).then(t=>{c=null==t?void 0:t.platform;const i=(c||"").toLowerCase(),r=parseInt((t.platformVersion||"").split(".")[0]);i.includes("win")?(h=r>=13?"11":r>0?"10":"7",e.os=c,e.osVersion=h):(i.includes("android")||i.includes("mac"))&&(h=t.platformVersion,e.osVersion=h)})}catch(e){}}(),function(){return e}}(),C=(e,t)=>{const i=t.toString().split("."),r=e.toString().split("."),a=i.length,s=r.length,o=Math.min(a,s);for(let e=0;e<o;e++){const t=parseInt(i[e],10),a=parseInt(r[e],10);if(t!==a)return a>t}return s>=a},A=(e,t)=>{var i=S();if("chrome"===e||"chromium"===e){if(i.chrome||i.edge||i.opera){var r=i.chrome||i.edge||i.opera;return C(r,t)}}else if(i[e])return C(i[e],t);return!1},R=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:90;return A("chrome",e)},T=e=>A("firefox",e),I=e=>A("safari",e);const b=new class{constructor(){this._isSupportMultiThread=!1,this._isSupportSIMD=!1,this.inProgressPromise={checkSupportMultiThread:null,checkSupportSIMD:null},this._isSupportWebtransport=!1,this._isSupportVirtualBackground=!1}async checkIsSupportMultiThread(){if(!this.getIsSupportMultiThread())try{this.inProgressPromise.checkSupportMultiThread?await this.inProgressPromise.checkSupportMultiThread:(this.inProgressPromise.checkSupportMultiThread=r.default.threads(),this._setIsSupportMultiThread(await this.inProgressPromise.checkSupportMultiThread))}catch(e){this._setIsSupportMultiThread(!1)}}_setIsSupportMultiThread(e){this._isSupportMultiThread=e}getIsSupportMultiThread(){return this._isSupportMultiThread}async checkIsSupportSIMD(){if(!this.getIsSupportSIMD())try{this.inProgressPromise.checkSupportSIMD?await this.inProgressPromise.checkSupportSIMD:(this.inProgressPromise.checkSupportSIMD=r.default.simd(),this._setIsSupportSIMD(await this.inProgressPromise.checkSupportSIMD))}catch(e){this._setIsSupportSIMD(!1)}}_setIsSupportSIMD(e){this._isSupportSIMD=e}getIsSupportSIMD(){return this._isSupportSIMD}getIsSupportWebtransport(){return R(97)&&"function"==typeof WebTransport&&this._isSupportWebtransport}setIsSupportWebtransport(e){this._isSupportWebtransport=!!e}getIsSupportVirtualBackground(){const e=R(91)||T(89)||I(17.4);return navigator.hardwareConcurrency&&navigator.hardwareConcurrency>2&&e&&"function"==typeof OffscreenCanvas&&this._isSupportVirtualBackground}setIsSupportVirtualBackground(e){this._isSupportVirtualBackground=!!e}getIsRenderSelfVideoInEncodeWorker(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!o.default.enableMultiDecodeVideoWithoutSAB&&e&&!this.getIsSupportMultiThread()&&this.getIsSupportVirtualBackground()}};var O={capacity:void 0,capacity1080:!0,get capacityfor720(){return void 0!==this.capacity&&this.capacity},set capacityfor720(e){this.capacity=e},get capacityfor1080(){return void 0!==this.capacity1080&&this.capacity1080},set capacityfor1080(e){this.capacity1080=e}},D={capacitydeco:void 0,get capacitydecofor1080(){return void 0!==this.capacitydeco&&this.capacitydeco},set capacitydecofor1080(e){this.capacitydeco=e}};function w(e,t,i){const r=e.match(t);return r&&r.length>=i&&parseInt(r[i],10)}function y(){const{navigator:e}=window,t={browser:null,version:null};if("undefined"==typeof window||!window.navigator)return t.browser="Not a browser.",t;if(e.mozGetUserMedia)t.browser="firefox",t.version=w(e.userAgent,/Firefox\/(\d+)\./,1);else if(e.webkitGetUserMedia)t.browser="chrome",t.version=w(e.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(e.mediaDevices&&e.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=w(e.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!window.RTCPeerConnection||!e.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=w(e.userAgent,/AppleWebKit\/(\d+)\./,1)}return t}const M=y();function P(){try{var e=navigator.userAgent||navigator.vendor||window.opera;return!!/android/i.test(e)}catch(e){return!1}}const N=function(){let e={vendor:"",renderInfo:"",isAstcSupported:!1,isWebGLContextInvalid:!0};try{const r=document.createElement("canvas");if(!r){const e="Error: document.createElement return a null canvas!";s.default.error(e)}let a=r.getContext("webgl")||r.getContext("moz-webgl")||r.getContext("webkit-3d")||r.getContext("experimental-webgl");if(!a||a.isContextLost()){const e="Error: canvas.getContext fail, context:".concat(a,", lost:").concat(null==a?void 0:a.isContextLost(),", size:(").concat(r.width,",").concat(r.height,")");s.default.error(e)}if(a){var t,i;if(e.isWebGLContextInvalid=!1,a.isContextLost()){const e="Error: webgl context is lost, canvas(".concat(r.width,",").concat(r.height,")!");s.default.error(e)}let o,n;if("firefox"===M.browser)o=a.getParameter(a.RENDERER),n=a.getParameter(a.VENDOR);else{let e=a.getExtension("WEBGL_debug_renderer_info");o=a.getParameter(e.UNMASKED_RENDERER_WEBGL),n=a.getParameter(e.UNMASKED_VENDOR_WEBGL)}if(e.renderInfo=null===(t=o)||void 0===t?void 0:t.toLowerCase(),e.vendor=null===(i=n)||void 0===i?void 0:i.toLowerCase(),e.isAstcSupported=-1!==a.getSupportedExtensions().indexOf("WEBGL_compressed_texture_astc"),""==n){const e="Error: vendor is null, debug:".concat(debugInfo,", render:").concat(debugInfo.UNMASKED_RENDERER_WEBGL,", vendor:").concat(debugInfo.UNMASKED_VENDOR_WEBGL,", contextLost:").concat(a.isContextLost(),"!");s.default.error(e)}}}catch(e){s.default.error("Error while get webgl context:",e)}return e}(),V=function(){if("function"!=typeof OffscreenCanvas)return!1;let e={isSupportWebgl:!1,isSupportWebgl2:!1};try{const t=new OffscreenCanvas(1,1);(t.getContext("webgl")||t.getContext("experimental-webgl")||t.getContext("moz-webgl")||t.getContext("webkit-3d"))&&(e.isSupportWebgl=!0)}catch(e){s.default.error("Error while get webglcontext:",e)}try{if(e.isSupportWebgl){new OffscreenCanvas(1,1).getContext("webgl2")&&(e.isSupportWebgl2=!0)}}catch(e){s.default.error("Error while get webglcontext2:",e)}return e}();var k=function(){let e=Object.assign({},V,N);return e.cpu=navigator.hardwareConcurrency?navigator.hardwareConcurrency:0,e.VE=0,e.SE=0,e.VD=0,e.SD=0,e.SAB=null!=typeof SharedArrayBuffer,e.errorMessage=null,e.visibility=!0,e.unvisibilitycount=0,e.time=0,e}();function U(){return V.isSupportWebgl}function L(){return-1!==navigator.userAgent.indexOf("MSFT Teams Android Room")&&"undefined"!=typeof SharedArrayBuffer}function x(){return"function"==typeof VideoTrackReader&&"function"==typeof VideoFrame}function W(e){return e?e>>10<<10:-1}function B(){return G("Main",F.getAudioContextConfigure())}function G(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"function"!=typeof AudioContext?(s.default.error("Not Support AudioContext"),null):(s.default.log("Creating ".concat(e," AudioContext")),t=i?new AudioContext(i):new AudioContext,t.onstatechange=()=>{s.default.log("".concat(e," AudioContext state changed to ").concat(t.state)),d.default.add_monitor("ACSC:".concat(e,":").concat(t.state))},t.onsinkchange=()=>{"object"==typeof t.sinkId&&"none"===t.sinkId.type?s.default.log("".concat(e," AudioContext - Audio changed to not play on any device")):s.default.log("".concat(e," AudioContext - Audio output device changed to ").concat(t.sinkId))},t)}const F={getOSInfo:()=>v(),getGpuInfo:()=>N,isMTRAndroidWithSAB:()=>L(),isSupport2DCanvasDrawFrame:()=>("function"==typeof MediaStreamTrackProcessor||x())&&"chrome"==M.browser&&M.version>=104&&-1==navigator.appVersion.indexOf("Mac"),checkLocalP2PConnection:()=>new Promise(async(e,t)=>{function i(e){return new Promise((t,i)=>{e.onconnectionstatechange=i=>{"connected"===e.connectionState&&t(!0)}})}function r(e){e&&e.close()}let a,o,n=null,d=null,u=document.createElement("canvas");try{u.width=200,u.height=200,u.getContext("2d");let t=u.captureStream();if("function"!=typeof RTCPeerConnection)return void e(!1);if(n=new RTCPeerConnection,d=new RTCPeerConnection,n.onicecandidate=e=>{e.candidate&&d.addIceCandidate(new RTCIceCandidate(e.candidate))},d.onicecandidate=e=>{e.candidate&&n.addIceCandidate(new RTCIceCandidate(e.candidate))},Promise.all([i(n),i(d)]).then(()=>{e(!0),r(n),r(d)}),"function"!=typeof n.addStream)return void e(!1);await n.addStream(t),a=await n.createOffer(),await n.setLocalDescription(a),await d.setRemoteDescription(a),o=await d.createAnswer(),await d.setLocalDescription(o),await n.setRemoteDescription(o),setTimeout(()=>{e(!1),r(n),r(d)},200)}catch(t){s.default.error("Error when trying to check for local RTC peer connection",t),e(!1)}}),getDocumentHandle:e=>document.getElementById(e),browserType:M,browser:{isFirefox:"firefox"===M.browser,isChrome:"chrome"===M.browser,isSafari:"safari"===M.browser},isIphoneOrIpadSafari(){return this.isIphoneOrIpadBrowser()||this.isIpadOS()},isOpera65:()=>function(){try{var e=navigator.userAgent.match(/OPR\/(\d+)\./);return!!(e&&Number(e[1])<66)}catch(e){return!1}}(),isOpera:()=>/opera|opr\/[\d]+/i.test(navigator.userAgent),isOperaVersionHigherThan(e){try{var t=navigator.userAgent.match(/OPR\/(\d+)\./);return!!(t&&Number(t[1])>=e)}catch(e){return!1}},isAndroidBrowser:()=>P(),isAndroidVersionLessEqual(e){const t=v();if(!t.os||"android"!==t.os.toLowerCase()||!t.osVersion)return!1;const i=t.osVersion.toString().split(".");return parseInt(i[0])<=e},isSupportVideoFrame:()=>"undefined"!=typeof VideoFrame,isQuestBrowser:()=>function(){try{return/oculusbrowser/i.test(navigator.userAgent)}catch(e){return!1}}(),isMobileSafariSupportVideoFrame(){return(this.isIphoneOrIpadBrowser()||this.isIpadOS()&&o.default.rwgAgent)&&this.isSupportVideoFrame()},isSelfPreviewRenderWithVideo(){return!!this.isMobileSafariSupportVideoFrame()||(!b.getIsSupportMultiThread()&&!b.getIsSupportVirtualBackground()&&this.isSupportVideoFrameOrBitmapCapture()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()&&!o.default.rwgAgent)},isSupportNewWaitRoomFlow:()=>!0,isMacIntelSafari(){try{return!(!this.browser.isSafari||navigator.maxTouchPoints&&!(navigator.maxTouchPoints<=2)||N.isAstcSupported||!this.isMac())}catch(e){return!1}},isMacIntelChrome(){try{var e;return!!(this.browser.isChrome&&(!navigator.maxTouchPoints||navigator.maxTouchPoints<=2)&&(null===(e=N.vendor)||void 0===e?void 0:e.indexOf("intel"))>-1&&this.isMac())}catch(e){return!1}},isIphoneOrIpadBrowser(){try{return!!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)}catch(e){return!1}},isIpadOS:()=>navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&(/iPad/.test(navigator.platform)||/MacIntel/.test(navigator.platform)),isChromeOS:()=>function(){try{return!!/\bCrOS\b/.test(navigator.userAgent)}catch(e){return!1}}(),isWindowsChrome(){const{userAgent:e}=navigator;return/windows/i.test(e)},isTeslaMode:()=>/TESLA/.test(navigator.userAgent),isMac:()=>navigator.platform.indexOf("Mac")>-1,isWindows:()=>navigator.platform.indexOf("Win")>-1,isLinux(){return navigator.platform.indexOf("Linux")>-1&&!this.isChromeOS()},isMTRAndroid:()=>/MSFT Teams Android Room/i.test(navigator.userAgent),isMTRWindows(){const e=window.meetingHost;if(!e)return!1;return"MSFT"===e.getHostState().vendorId&&!this.isMTRAndroid()},isSupportChromeWideAEC(){const e=o.default.chromeWideAEC&&this.isChromeOS()&&R(116);return(this.isMac()||this.isWindows()||this.isLinux())&&R(111)||e||o.default.isGoogleMeetMode},isSupportOpenMicWhenShareAudio(){return this.isSupportChromeWideAEC()&&!o.default.shareSystemAudio},getAudioFeatureFlags:()=>o.default.enableAudioBridge?4:12,isSupportShareMultiStream:()=>!0,isSupportVideoLTR:()=>!0,isSupportAudioBridgeAvsync:()=>!0,getAudioContextConfigure(){let e={};return function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:90;return A("chromium",e)}(74)&&(e={sampleRate:48e3,latencyHint:.02}),e},download(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(m[e])return m[e];let i=new Promise(async(i,r)=>{let a={};t&&(a.integrity=t);for(let t=0;t<3;t++)try{let o=await fetch(e,a);if(null!=o&&o.ok){i(o.text()),t>0&&s.default.error("after ".concat(t," retry download js ").concat(e," successed "));break}2==t&&r("download failed ".concat(e," ").concat(null==o?void 0:o.status))}catch(e){2==t&&r(e)}});return m[e]=i,i},async downloadAndCompileWebAssembly(e,t,i){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const a="".concat(e).concat(r);if(m[a])return m[a];let o=new Promise(async(a,o)=>{let n=null;i.add_monitor("CS".concat(t));for(let o=0;o<3;o++){try{if(r)n=await WebAssembly.compileStreaming(fetch(e,{priority:"high"}));else{const t=await fetch(e,{priority:"high"});n=await t.arrayBuffer()}i.add_monitor("CE".concat(t))}catch(a){if("TypeError"===a.name)try{const t=await fetch(e,{priority:"high"}),i=await t.arrayBuffer();n=await WebAssembly.compile(i)}catch(a){2==o&&(i.add_monitor("".concat(r?"CF":"FF").concat(t)),s.default.error("Failed to download WASM file using compile: ".concat(e," for worker type: ").concat(t),a))}else 2==o&&s.default.error("Failed to download WASM file using ".concat(r?"compileStreaming":"fetch",": ").concat(e," for worker type: ").concat(t),a)}if(n)return a(n),void(o>0&&s.default.error("after ".concat(o," retry download wasm ").concat(e," successed ")))}o(new Error("Unable to download and compile WASM file: ".concat(e," for worker type: ").concat(t)))});return m[a]=o,o},readBlob:e=>new Promise((t,i)=>{var r=new FileReader;r.onload=function(){t(r.result)},r.readAsText(e)}),readBlobAsBuffer:e=>new Promise((t,i)=>{var r=new FileReader;r.onload=function(e){t(e.target.result)},r.readAsArrayBuffer(e)}),lengthInUtf8Bytes(e){var t=encodeURIComponent(e).match(/%[89ABab]/g);return e.length+(t?t.length:0)},isLittleEndian(){let e=new ArrayBuffer(2),t=new Uint8Array(e),i=new Uint16Array(e);return t[0]=170,t[1]=187,48042===i[0]},sleep:e=>new Promise((t,i)=>{setTimeout(()=>{t(!0)},e)}),isSDKSupportMultiThread:async()=>(await b.checkIsSupportMultiThread(),b.getIsSupportMultiThread()),is32bitChrome:async()=>{if(-1!=navigator.userAgent.indexOf("WOW64"))return!0;if(navigator.userAgentData&&navigator.userAgentData.getHighEntropyValues){return(await navigator.userAgentData.getHighEntropyValues(["wow64"])).wow64}return!1},isAMDGraphic(){try{return this.graphicName.includes("amd")}catch(e){return!1}},graphicName:N.renderInfo,graphicvendorname:N.vendor,isGraphicShouldUseHardwareAccelerationDecode(){return!(!this.isAMDGraphic()||!this.isChromeOS())||!(this.isAMDGraphic()&&!this.isChromeOS())},VP9MachineDetect(){const e=navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/vp9",bitrate:1e7,framerate:25,height:1920,width:1080}});return new Promise((t,i)=>{e.then(e=>{e.supported||(s.default.log("video/vp9 codec isn't supported in software or hardware"),t(!1)),t(e.powerEfficient)}).catch(e=>{s.default.warn("Error when trying to determine support for VP9 codec",e),t(!1)})})},async IsSupportVideoDecodeHardwareAcceleration(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("function"!=typeof VideoDecoder||this.browser.isSafari&&!I("17.5"))return!1;var t={codec:"avc1.640028",description:new Uint8Array([1,100,0,31,255,225,0,14,103,100,0,51,172,27,26,17,129,64,22,201,160,16,7,0,5,104,200,66,60,48,0,5,104,82,16,207,12,0,25,104,114,16,143,24,67,17,132,56,140,84,81,8,18,22,41,3,194,98,3,5,32,122,9,140,0,5,104,36,132,51,203,0,5,104,46,132,51,195,0,25,104,54,132,35,198,16,196,97,14,35,21,20,66,4,133,138,64,240,152,128,193,72,30,130,99,0,5,104,62,132,51,203]),codedWidth:1280,codedHeight:720,optimizeForLatency:!0,hardwareAcceleration:e?"no-preference":"prefer-hardware"};try{return!!(await VideoDecoder.isConfigSupported(t)).supported}catch(e){return!1}},async IsSupportVideoEncodeHardwareAcceleration(){if("function"!=typeof VideoEncoder||this.browser.isSafari&&!I("17.5"))return!1;var e={codec:"avc1.640028",bitrate:15e5,width:1280,height:720,avc:{format:"annexb"},framerate:25,hardwareAcceleration:"no-preference",latencyMode:"realtime",bitrateMode:"constant",scalabilityMode:"L1T2"};return!!(await VideoEncoder.isConfigSupported(e)).supported},AdapterWhiteListCheckForEncoder(){if(!U())return-1;try{var e=N.renderInfo,t=N.vendor,i=e.toLowerCase(),r=t.includes("ARM"),a=(i.includes("amd"),i.includes("intel"));i.includes("hd graphics"),i.includes("nvidia"),i.includes("geforce");return a?0:r?-1:0}catch(e){return 0}},isChromeVersionHigherThan:R,isFirefoxVersionHigherThan:T,isSafariVersionHigherThan:I,async isSDKSupportSIMD(){if("object"!=typeof WebAssembly)return!1;if("chrome"==M.browser){if(!(M.version>=84))return!1;await b.checkIsSupportSIMD()}else await b.checkIsSupportSIMD();return b.getIsSupportSIMD()},buffer2stringSplitByComma:e=>new Uint8Array(e).join(","),stringSplitByComma2Buffer(e){try{let t=e.split(",").map(e=>parseInt(e)),i=new ArrayBuffer(t.length),r=new Uint8Array(i);for(let e=0;e<t.length;e++)r[e]=t[e];return i}catch(e){return null}},removeDuplicates(e,t){let i=[];return e.forEach(e=>{let r=!1;for(let a=0;a<i.length;a++)if(!t.call(null,i[a],e)){r=!0;break}r||i.push(e)}),i},getBrowserVersion(){let e=function(){var e=navigator.userAgent.toLowerCase();if(e.indexOf("firefox")>0)return e.match(/firefox\/[\d.]+/gi);if(e.indexOf("safari")>0&&e.indexOf("chrome")<0){var t,i="safari/unknow";return i=e.match(/safari\/[\d.]+/gi),t=e.match(/safari\/[\d.]+/gi),i&&(i=[i.toString().replace("version","safari")]),t&&(i=[t.toString().replace("version","safari")]),i}return e.indexOf("chrome")>0?e.match(/chrome\/[\d.]+/gi):"other"}();return e[0]&&e[0].match(/(\d+)/)?e[0].match(/(\d+)/)[0]:"other"},getIOSMajorVersion(){if(/iP(hone|od|ad)/.test(navigator.platform)){let e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return parseInt(e[1],10)}return null},getMacSafariMajorVersion(){if(this.browser.isSafari){const e=navigator.userAgent.match(/Version\/([\d\.]+)/);return e&&e[1]?parseFloat(e[1]):null}return null},isSupportImageCapture(){var e;return(null===(e=this.browser)||void 0===e?void 0:e.isChrome)&&"function"==typeof ImageCapture&&U()},isSupportOffscreenCanvas:()=>U(),isSupport2dOffscreenCanvas:()=>"function"==typeof OffscreenCanvas,isSupportVideoTrackReader:()=>x()&&U(),isSupportMediaStreamTrackProcessor:function(){return"function"==typeof MediaStreamTrackProcessor&&U()},isSupportVideoFrameOrBitmapCapture(){return this.isSupportImageCapture()||this.isSupportVideoTrackReader()||this.isSupportMediaStreamTrackProcessor()},isSupportSharedArrayBuffer:()=>"undefined"!=typeof SharedArrayBuffer,async queryPTZPermisson(){try{return"granted"==(await navigator.permissions.query({name:"camera",panTiltZoom:!0})).state}catch(e){return s.default.error("Error when querying pan-tilt-zoom permission",e),!1}},isSupportCameraPan(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.pan)},isSupportCameraTilt(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.tilt)},isSupportCameraZoom(){var e,t;return!(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t||null===(t=t.call(e))||void 0===t||!t.zoom)},isSupportPTZ(){var e,t;const i=null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.getSupportedConstraints)||void 0===t?void 0:t.call(e);return i&&i.pan&&i.tilt&&i.zoom},get720pcapacity:()=>O.capacityfor720,set720pcapacity(e){O.capacityfor720=e},get1080pcapacity:()=>O.capacity1080,set1080pcapacity(e){O.capacity1080=e},isSupportBrowserWebRTC:()=>!!(navigator.mediaDevices&&navigator.mediaDevices.getUserMedia&&window.RTCPeerConnection),getsub1080pcapacity:()=>D.capacitydecofor1080,setsub1080pcapacity(e){D.capacitydecofor1080=e},getMaxCountRender:()=>{if(E)return P()?16:26;var e;return U()&&(null===(e=navigator)||void 0===e?void 0:e.hardwareConcurrency)>=2&&"function"==typeof requestAnimationFrame&&"function"==typeof SharedArrayBuffer||o.default.enableMultiDecodeVideoWithoutSAB?26:1},checkAudioAutoPlay:()=>new Promise((e,t)=>{let i=new ArrayBuffer(684),r=new Uint32Array(i);r.set([1179011410,676,1163280727,544501094,16,65539,16e3,64e3,2097156,1635017060,640],0);let a=new Blob([r],{type:"audio/wav"}),o=window.URL.createObjectURL(a),n=new Audio(o);n.addEventListener("canplaythrough",()=>{n.play().then(()=>{e(!0)}).catch(e=>{s.default.log("Unable to auto play audio",e),t(e)}).finally(()=>{window.URL.revokeObjectURL(o)})}),n.load&&n.load()}),isSupportSendVideoFullHD(){return this.isSupportVideoShareSend()&&navigator.hardwareConcurrency>=8},isSupportSendVideoShareFullHD:()=>!1,isSupportVideoShare:()=>!0,isSupportVideoShareSend(){let e,t=y();return"chrome"==t.browser&&(e=this.getBrowserVersion()),!!this.isSupportSharedArrayBuffer()&&!("chrome"!==t.browser||e&&e<=100||navigator.hardwareConcurrency<=2||this.isTeslaMode()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()||this.isIphoneOrIpadBrowser())},isSupportVideoShareReceive:()=>!0,getOption(e,t,i){try{let r=e.length;if(t>r)return 0;let a=e.slice(r-t-i+1,r-t+1);if(a){return parseInt(a,16)}}catch(e){}return 0},async isSupportWebGPURender(e){const t=this.parseGPUBlacklist(e);return await this.evaluateRendererType(!0,!1,t)==n.j.WEBGPU},getMachineCapability(){var e,t,i,r,a,s,n;return k.VE=null===o.default||void 0===o.default||null===(e=o.default.localVideoPara)||void 0===e||null===(e=e.VE)||void 0===e?void 0:e.buffer.byteLength,k.VD=null===o.default||void 0===o.default||null===(t=o.default.localVideoPara)||void 0===t||null===(t=t.VD)||void 0===t?void 0:t.buffer.byteLength,k.SE=null===o.default||void 0===o.default||null===(i=o.default.localVideoPara)||void 0===i||null===(i=i.SE)||void 0===i?void 0:i.buffer.byteLength,k.SD=null===o.default||void 0===o.default||null===(r=o.default.localVideoPara)||void 0===r||null===(r=r.SD)||void 0===r?void 0:r.buffer.byteLength,k.dt=null===o.default||void 0===o.default||null===(a=o.default.localVideoPara)||void 0===a?void 0:a.videodecodethreadnumb,k.et=null===o.default||void 0===o.default||null===(s=o.default.localVideoPara)||void 0===s?void 0:s.videoencodethreadnumb,k.MT=null===o.default||void 0===o.default||null===(n=o.default.localVideoPara)||void 0===n?void 0:n.isSupportMultiThread,k.time=performance.now(),k},watermark:(()=>{const e=new a.a,t=document.createElement("canvas"),i={enableWaterMark:!1,waterMarkText:"",watermarkOpacity:0,watermarkRepeated:!1,watermarkPosition:void 0};return{getWaterMarkData(r){let{width:a,height:s}=r;if(!i.enableWaterMark)return null;const o=a<512||s<288?16:i.watermarkPosition,n=i.watermarkRepeated&&a>306&&s>202,d=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}}(a,s);a=d.width,s=d.height;return n?e.Get_Repeated_WaterMarkRGBA({canvas:t,name:i.waterMarkText,width:d.width,height:d.height,opacity:i.watermarkOpacity,position:o,convertToDataUrl:!0}):e.Get_WaterMarkRGBA({canvas:t,name:i.waterMarkText,width:d.width,height:d.height,opacity:i.watermarkOpacity,position:o,convertToDataUrl:!0})},updateWaterMarkInfo(e){Object.assign(i,e)}}})(),isSupportAudioDenoise(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("function"!=typeof AudioContext)return!1;if("chrome"==y().browser){if(this.getBrowserVersion()<=100)return!1}const t=WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]));return!1!==t&&(!0!==t?(s.default.error("WebAssembly.validate don't return a boolean"),!1):!(!e&&!this.isSupportSharedArrayBuffer())&&!(navigator.hardwareConcurrency<=2||this.isTeslaMode()||this.isAndroidBrowser()&&!this.isMTRAndroidWithSAB()||this.isIphoneOrIpadBrowser()))},isSupportPlayStereo(){return!!(this.browser.isFirefox||this.browser.isSafari||this.isSupportChromeWideAEC())},isBrowserSupportStereo(){return!this.browser.isSafari},isSupportShare2ndAudioDevice(e){return!this.browser.isSafari&&!this.isIphoneOrIpadBrowser()&&(!!e||!(this.isMac()&&!R(126))&&!!this.isSupportSharedArrayBuffer())},isSupportSharingStereo:()=>!1,isSupportVideoActiveChannel:()=>!0,async evaluateRendererType(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=n.j.WEBGL,a=null;const o=U();try{if(this.isWebGL2Supported(t)?r=n.j.WEBGL_2:s.default.log("evaluateRendererType() WebGL 2 is not supported."),!this.isSupportVideoFrame())return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: VideoFrame is not supported)"),r;if(!(this.isMac()||this.isWindows()||this.isChromeOS()||this.isLinux()))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: unsupported platform)"),r;if(!(this.browser.isChrome&&this.isChromeVersionHigherThan(119)||this.isOpera()&&this.isOperaVersionHigherThan(108)||this.browser.isChrome&&(this.isLinux()||this.isAndroidBrowser())&&this.isChromeVersionHigherThan(121)))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: unmatched browser)"),r;if(!navigator.gpu)return r;const d=await navigator.gpu.requestAdapter();if(!d)return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available adapter.)"),r;if(!await d.requestDevice())return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available device.)"),r;let u=void 0;if("function"==typeof d.requestAdapterInfo?u=await d.requestAdapterInfo():"info"in d&&(u=d.info),!u)return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available adapter info.)"),r;s.default.log("evaluateRendererType() GPUAdapterInfo: arch=".concat(u.architecture,", vendor=").concat(u.vendor)),console.log("evaluateRendererType() GPUAdapterInfo: arch=".concat(u.architecture,", vendor=").concat(u.vendor));const l=this.queryDeviceProfile(u);if(!this.isGPUProfileOnWebGPUWhitelist(l,i))return r;if(o){a=new OffscreenCanvas(1,1);if(!a.getContext("webgpu"))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: no available GPUContext.)"),r;if(!this.isOpFeatureEnabled(e))return s.default.log("evaluateRendererType() WebGPU is not supported. (reason: WebGPU is not allowed for this account.)"),r;a=null,r=n.j.WEBGPU}else s.default.log("evaluateRendererType() OffscreenCanvas is not supported while checking WebGPU.");return r}catch(e){return s.default.error("evaluateRendererType()",e),r}finally{a=null}},isOpFeatureEnabled:e=>1&e,queryDeviceProfile(e){if(e){let t={};return t.architecture=e.architecture,t.vendor=e.vendor,t}return null},isGPUProfileOnWebGPUWhitelist(e,t){if(!e)return!1;const i=e.vendor,r=e.architecture;return-1==n.g.indexOf(i)?(s.default.log("isGPUProfileOnWebGPUWhitelist() vendor:".concat(i," arch:").concat(r," is not on the vendor whitelist!")),!1):null===t||!this.isHitGPUBlacklist(i,r,t)},isHitGPUBlacklist(e,t,i){if(""===e||void 0===e||void 0===t||void 0===i)return!1;for(let r=0;r<i.length;r++){const a=i[r];if(e.includes(a.vendor)&&t.includes(a.generations))return!0}return!1},parseGPUBlacklist(e){let t=null;if(e)try{const i=JSON.parse(e);t=null==i?void 0:i.GPUBlacklist}catch{s.default.error("parseGPUBlacklist() failed to read mediaBlockConfig! val=".concat(e))}return t},async getRendererTypeList(e,t){const i=this.parseGPUBlacklist(t),r=[{bitIndex:_.a.WEBGPU_RENDERER.index,readCount:1,defaultVal:_.a.WEBGPU_RENDERER.default},{bitIndex:_.a.WEBGL2_RENDERER.index,readCount:1,defaultVal:_.a.WEBGL2_RENDERER.default}],a=p.a.batchRead(e,r),s=!!a.get(_.a.WEBGPU_RENDERER.index),o=!!a.get(_.a.WEBGL2_RENDERER.index),d=await this.isWebGPUSupported(s,i),u=this.isWebGL2Supported(o),l=U(),c=[];return d&&c.push({rendererType:n.j.WEBGPU,rendererName:"WebGPU"}),u&&c.push({rendererType:n.j.WEBGL_2,rendererName:"WebGL2"}),l&&c.push({rendererType:n.j.WEBGL,rendererName:"WebGL"}),c},evaluateWebRTCStrategy(e,t){var i,r;let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e!==n.D.DISABLED&&e!==n.D.ENABLED&&e!==n.D.AUTO&&(s.default.error("evaluateWebRTCStrategy() invalid webrtcSelection(".concat(e,") from caller.")),e=n.D.AUTO);let o={shouldUseWebRTC:!1,errNo:n.E.UNKNOWN,errMsg:""};if(!this.isWebRTCFeatureEnabled(t))return o.shouldUseWebRTC=!1,o.errNo=n.E.FEATURE_OPTION_DISABLED,o.errMsg="webrtc is disabled(feature option is disabled).",o;const d=this.getOSInfo();let u=(null==d||null===(i=d.browser)||void 0===i?void 0:i.name)||"",l=(null==d||null===(r=d.browser)||void 0===r?void 0:r.version)||"",c=N;const f={os:null==d?void 0:d.os,browserName:u,browserVersion:l,vendor:c.vendor,renderInfo:c.renderInfo,isAstcSupported:c.isAstcSupported};if(e===n.D.DISABLED)return s.default.log("evaluateWebRTCStrategy() WebRTC is disabled by caller."),o.shouldUseWebRTC=!1,o.errNo=n.E.SUCCEED,o.errMsg="webrtc is disabled(disabled by caller).",o;const p=this.isSupportBrowserWebRTC();try{if(h.a.isOnWebRTCWhitelist(f)){const i=h.a.evalWebRTCStrategy(a,f,p,e);o.errNo=i.errNo,o.errMsg=i.errMsg,i.stg==n.D.ENABLED?o.shouldUseWebRTC=!0:i.stg==n.D.DISABLED?o.shouldUseWebRTC=!1:i.stg==n.D.AUTO?o.shouldUseWebRTC=this.isDefaultToUseWebRTC(t,f):(o.shouldUseWebRTC=!1,o.errNo=n.E.UNKNOWN_SELECTION,o.errMsg="webrtc is disabled(unknown selection type).",s.default.error("evaluateWebRTCStrategy() unknown WEBRTC_STG:".concat(i.stg)))}else o.shouldUseWebRTC=!1,o.errNo=n.E.DEVICE_NOT_ON_WHITELIST,o.errMsg="webrtc is disabled(not on the whitelist)."}catch(e){s.default.error("evaluateWebRTCStrategy() error:",e),o.shouldUseWebRTC=!1,o.errNo=n.E.OTHER_EX,o.errMsg="webrtc is disabled(unexpected error:".concat(e.errorMessage,").")}return s.default.directReport("evaluateWebRTCStrategy() stg=".concat(JSON.stringify(o),", isBrowserSupportWebRTC=").concat(p,", webrtcBlacklist=").concat(JSON.stringify(a),", selection=").concat(e)),o},isWebRTCFeatureEnabled(e){const t=p.a.read(e,_.a.ENABLE_WEBRTC_FEATURE.index,1,_.a.ENABLE_WEBRTC_FEATURE.default);return s.default.log("isWebRTCFeatureEnabled() optionVal:".concat(t)),!!t},getWebRTCStrategyOptions(e){const t=p.a.read(e,_.a.WEBRTC_STG.index,1,_.a.WEBRTC_STG.default);s.default.log("getWebRTCStrategyOption() optionVal:".concat(t));const i=[];return Object.entries(n.D).forEach(e=>{let[r,a]=e;const s={key:r,value:a,isDefault:!1};t===a&&(s.isDefault=!0),i.push(s)}),i},isDefaultToUseWebRTC(e,t){var i;if(p.a.read(e,_.a.FORCE_TO_USE_WEBRTC.index,1,_.a.FORCE_TO_USE_WEBRTC.default)&_.a.FORCE_TO_USE_WEBRTC.candidates.VIDEO_ON_BROWSER_32BIT&&g)return!0;const r={os:null===(i=t.os)||void 0===i?void 0:i.toLowerCase()},a=p.a.read(e,_.a.WEBRTC_AUTO_CONFIG.index,1,_.a.WEBRTC_AUTO_CONFIG.default);if(a===_.a.WEBRTC_AUTO_CONFIG.candidates.NO_CONFIG)return!1;if(a===_.a.WEBRTC_AUTO_CONFIG.candidates.SAB_OFF&&!this.isSupportSharedArrayBuffer())return console.log("force webc when sab off"),!0;return[{os:"android",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.MOB_ANDROID},{os:"ios",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.MOB_IOS},{os:"win",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP},{os:"mac",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP},{os:"chromium os",flag:_.a.WEBRTC_AUTO_CONFIG.candidates.DESKTOP}].some(e=>{let{os:t,flag:i}=e;return a&i&&r.os.includes(t)})},isWebGL2Supported:e=>"function"==typeof OffscreenCanvas&&(e&&V.isSupportWebgl2),isWebGL2SupportedWhenOpEnabled:()=>V.isSupportWebgl2,async isWebGPUSupported(e,t){if(!e)return!1;if(!this.isSupportVideoFrame())return!1;if(!(this.isMac()||this.isWindows()||this.isChromeOS()||this.isLinux()))return!1;if(!(this.browser.isChrome&&this.isChromeVersionHigherThan(119)||this.isOpera()&&this.isOperaVersionHigherThan(108)||this.browser.isChrome&&(this.isLinux()||this.isAndroidBrowser())&&this.isChromeVersionHigherThan(121)))return!1;if(!navigator.gpu)return!1;const i=await navigator.gpu.requestAdapter();if(!i)return!1;if(!await i.requestDevice())return!1;let r=void 0;if("function"==typeof i.requestAdapterInfo?r=await i.requestAdapterInfo():"info"in i&&(r=i.info),!r)return!1;const a=this.queryDeviceProfile(r);if(!this.isGPUProfileOnWebGPUWhitelist(a,t))return s.default.log("isWebGPUSupported() hit blacklist! profile=".concat(JSON.stringify(a),", blacklist=").concat(JSON.stringify(t))),!1;let o=new OffscreenCanvas(1,1);return o.getContext("webgpu")?(o=null,!0):(o=null,!1)},async isRendererTypeSupported(e,t,i,r){return!(e<=n.j.UNDEFINED||e>n.j.WEBGL_2)&&(e===n.j.WEBGL?U():e===n.j.WEBGL_2?this.isWebGL2Supported(i):e===n.j.WEBGPU&&await this.isWebGPUSupported(t,r))},videoToMediaStreamManager:(()=>{let e,t,i=document.createElement("canvas"),r=i.getContext("2d"),a=640,s=360;const o=navigator.hardwareConcurrency&&navigator.hardwareConcurrency<4?10:24,n=1e3/("chrome"===M.browser?o:10);let d=null,u=0,l=null;return{_draw(){if(!e)return;this.drawCanvas(i,r,a,s);const t=performance.now();if(u){const e=t-u;e>n?this._setFasterTimer():e<.8*n&&this._clearFastTimer()}u=t},_setFasterTimer(){d||(d=setInterval(()=>{e&&e.currentTime>0&&!e.paused&&!e.ended&&performance.now()-u>=n/2&&this.drawCanvas(i,r,a,s)},n))},_clearFastTimer(){u=0,clearInterval(d),d=null},drawCanvas(t,i,r,a){t.width=r,t.height=a;let s=0,o=0;e.videoWidth/e.videoHeight>r/a?(o=e.videoHeight,s=r/a*o):(s=e.videoWidth,o=a/r*s),i.drawImage(e,(e.videoWidth-s)/2,(e.videoHeight-o)/2,s,o,0,0,r,a)},startCapture(r,n,d){return e=r,n&&d&&n/d==16/9&&(a=n,s=d),l&&e.removeEventListener("timeupdate",l),l=this._draw.bind(this),r.addEventListener("timeupdate",l),t=i.captureStream(o),t},stopCapture(){l&&e.removeEventListener("timeupdate",l),this._clearFastTimer(),t&&(t.getVideoTracks().forEach(e=>e.stop()),t=null),e=null},isSupported:()=>"function"==typeof HTMLCanvasElement.prototype.captureStream}})(),audioToMediaStreamMananger:(()=>{let e=null,t=null,i=null,r=null,a=null;return{startCapture(o){if(t||(t=G("File")),a&&o===a)e=a;else{this.destroy(),e=o,a=e,r=t.createMediaElementSource(e);const s=t.createMediaStreamDestination();r.connect(s),i=s.stream}return"suspended"!==t.state&&"interrupted"!==t.state||t.resume().catch(e=>{s.default.error("File audio context resume error: ",e)}),i},stopCapture(){t&&t.suspend(),e=null},destroy(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r&&r.disconnect(),i&&(i.getAudioTracks().forEach(e=>e.stop()),i=null),a=null,r=null,!e&&t&&(t.close(),t=null)},isAudioFileStream:e=>e===i,isSupported:()=>"undefined"!=typeof AudioContext&&"function"==typeof AudioContext.prototype.createMediaStreamDestination&&"function"==typeof AudioContext.prototype.createMediaElementSource}})(),evaluateAudioStrategy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.isEnforceWasmMachine())return!1;const i=p.a.read(e,1,2),r=/iPad|iPhone|iPod/i.test(navigator.userAgent)||/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2,a=navigator.userAgent.match(/Android/i),s=navigator.userAgent.match(/\(([^;]+); OpenHarmony ([\d.]+)\)/),o=this.isMTRAndroid()||this.isMTRWindows(),n=this.isTeslaMode();return o?8&i:n?2&i:a||s?4&i:r?1&i:!(!(128&i)&&!fe)&&this.isDefaultAudioBridgeMachine(e,i,t)},isEnforceWasmMachine(){var e;if("undefined"==typeof RTCPeerConnection)return!0;let t=this.getOSInfo();return!de()&&((null==t||null===(e=t.browser)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.toLowerCase().includes("firefox"))||this.browser.isFirefox)},isDefaultAudioBridgeMachine(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(1===i)return!0;if(0===i)return!1;if(p.a.read(e,_.a.FORCE_TO_USE_WEBRTC.index,1,_.a.FORCE_TO_USE_WEBRTC.default)&_.a.FORCE_TO_USE_WEBRTC.candidates.AUDIO_ON_BROWSER_32BIT&&g)return!0;let r=this.getOSInfo();return r&&r.os&&r.browser?0!==r.osType?32&t:this.isSupportSharedArrayBuffer()?"Windows"!==r.os&&"Mac OS"!==r.os&&"Chromium OS"!==r.os?32&t:("Chrome"===r.browser.name||"Safari"===r.browser.name||"Edge"===r.browser.name)&&navigator.hardwareConcurrency>4?64&t:32&t:32&t:(navigator.hardwareConcurrency<=4||!this.isSupportSharedArrayBuffer())&&32&t},requestScreenWakeLock:()=>c.screenWakeLock.requestWakeLock(),releaseScreenWakeLock:()=>c.screenWakeLock.release(),isSupportPeerConnection:()=>"function"==typeof RTCPeerConnection,async initAsyncJob(){g=!!await this.is32bitChrome()},isSupportVideoProcessor(e){const t=!!(p.a.read(e,_.a.ENABLE_MEDIA_PROCESSOR.index,1,_.a.ENABLE_MEDIA_PROCESSOR.default)&_.a.ENABLE_MEDIA_PROCESSOR.candidates.VIDEO_PROCESSOR);return this.isSupportOffscreenCanvas()&&this.isSupportVideoFrame()&&t},isVideoProcessorEnabled:e=>!!(e&_.a.ENABLE_MEDIA_PROCESSOR.candidates.VIDEO_PROCESSOR),isMediaProcessorEnabled:e=>e>0};function H(){let e=this;this.promise=new Promise((function(t,i){e.reject=i,e.resolve=t}))}function K(e){return e.split("/").pop().split("?")[0].split("#")[0]}t.default=F;class j{constructor(e,t){this.scriptURL=e,this.lateLoadedAssetsHash=t}getIntegrity(){let e=K(this.scriptURL),t=this.lateLoadedAssetsHash[e];return t||null}}function Y(e,t){let i=Math.max(e,t),r=Math.min(e,t);return i%r==0?r:Y(i%r,r)}function q(e,t){return e*t/Y(e,t)}function X(e,t,i,r,a,s,o){if(0==e||0==t)return!1;if(0!=a){let i=q(e,a),r=i/e;e=i,t*=r}if(0!=s){let i=q(t,s),r=i/t;t=i,e*=r}if(o.width<e||o.height<t)return!1;let n=o.width/e,d=o.height/t,u=n<d?n:d,l=e*u,c=t*u,h=o.x+(o.width-l)/2,f=o.y+(o.height-c)/2;0!=i&&(h-=h%i),0!=r&&(f-=f%r);let p={};return p.left=h,p.top=f,p.width=l,p.height=c,p}function Q(e,t){if(e===t)return!0;if(r(e)&&r(t)){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var i in e)if(!Q(e[i],t[i]))return!1;return!0}function r(e){return"object"==typeof e&&null!=e}}function z(){return Promise.all([i.e(2),i.e(3)]).then(i.t.bind(null,97,7))}function J(){return i.e(0).then(i.t.bind(null,98,7))}function Z(e,t,i){if(!e)return;if(!t.userId)return;const{userId:r,webrtcflag:a}=t;i&&(!a||(null==i?void 0:i.size)<=0||i.forEach((t,i)=>{const a=t,s="self_view_debug_".concat(i);if(a){const t=a.parentNode;if(!t)return;const i=e.getVideoTracks()[0],{width:o=0,height:n=0}=i.getSettings(),d=[{elementId:"s_u_"+r,value:"userId: ".concat(r)},{elementId:"s_r_"+r,value:"stream resolutions: ".concat(o,"x").concat(n)},{elementId:"s_a_"+r,value:"stream active: ".concat(e.active)},{elementId:"s_m_"+r,value:"video track muted: ".concat(i.muted)},{elementId:"s_p_"+r,value:"video tag paused: ".concat(!!a.paused)},{elementId:"s_sr_"+r,value:"video tag src: ".concat(!!a.srcObject)}],u=t.querySelector("#".concat(s));u?(u.nextElementSibling&&t.removeChild(u.nextElementSibling),d.reverse().forEach(e=>{const{elementId:i,value:r}=e,a=t.querySelector("#".concat(i));a?a.innerText!==r&&(a.innerText=r):u.insertAdjacentHTML("afterbegin",'<div id="'.concat(i,'" style="color: red; font-size: 12px; text-align: right; margin-right: 5px">').concat(r,"</div>"))})):a.insertAdjacentHTML("afterend",'<div id="'.concat(s,'" style="position: absolute; top: 50%; transform: translate(0, -50%); right: 0px; padding-right:3px"></div>'))}else{const e=document.getElementById(s);if(e){e.parentNode.removeChild(e)}}}))}function $(e){const t=document.body,i=["click","contextmenu","auxclick","dblclick","mousedown","mouseup","touchend","keydown","keyup"];function r(){e()}return i.forEach(e=>t.addEventListener(e,r,!1)),function(){i.forEach(e=>t.removeEventListener(e,r))}}function ee(e){let t=null==e?void 0:e.getVideoTracks();return!(null==t||!t.length)&&!t[0].muted}function te(e){try{var t;let[i]=(null===(t=e.srcObject)||void 0===t?void 0:t.getVideoTracks())||[],r="VDom:".concat(e.ended,":").concat(e.paused,":").concat(e.readyState,",VTrack:").concat(null==i?void 0:i.muted,":").concat(null==i?void 0:i.readyState);d.default.add_monitor(r)}catch(e){s.default.error("RecordVideoState error",e)}}function ie(e,t){(e<0||t<0||e>3e3||t>3e3)&&s.default.directReport("CANVASSIZE:".concat(e,"x").concat(t))}function re(e){if(!e)return!1;if(e.ownerDocument===window.document)return e instanceof HTMLElement;{var t;const i=null===(t=e.ownerDocument.defaultView)||void 0===t?void 0:t.HTMLElement;return!!i&&e instanceof i||e instanceof HTMLElement}}function ae(e){const t={dom:null,id:""};if(e)if("string"==typeof e)t.dom=document.getElementById(e),t.id=e;else if(re(e)){var i;t.dom=e,t.id=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"id")}return t}function se(){try{const e={safari:"15.0",firefox:"89",chrome:"91",edge:"91",opera:"77"},t={safari:"16.4",firefox:"105",chrome:"102",edge:"102",opera:"88"};let i=Object.assign({name:"",version:""},v().browser);if(-1==Object.keys(e).findIndex(e=>{if(i.name.toLowerCase().includes(e))return i.name=e,!0}))return console.error("!!!!! For a better experience, please use Chrome (version >= 102) or Safari (version >= 16.4) browser "),void s.default.error("unkown browser info");C(i.version,e[i.name])||(console.error("!!!! For a better experience, \n Chrome (version > ".concat(e.chrome," ,performance version > ").concat(t.chrome,") \n Safari (version > ").concat(e.safari," , performance version > ").concat(t.safari,") \n Firefox (version > ").concat(e.firefox," , performance version > ").concat(t.firefox,") \n Edge (version > ").concat(e.edge," , performance version > ").concat(t.edge," ) \n Opera (version > ").concat(e.opera," , performance version > ").concat(t.opera,") \n")),s.default.error("less than min version "))}catch(e){s.default.error("check browser version error",e)}}function oe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"|";return e?e.toString().replaceAll(/[,,]/g,t):""}function ne(){return/\bCrOS\b/.test(navigator.userAgent)}function de(){return!!(navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPhone/i)||/iPad/i.test(navigator.userAgent)||/Macintosh/i.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||navigator.userAgent.match(/iPod/i)||navigator.userAgent.match(/BlackBerry/i)||navigator.userAgent.match(/Windows Phone/i))}function ue(){var e,t,i;if(ne())return!1;const r=((null===(e=navigator)||void 0===e?void 0:e.userAgent)||"").toLowerCase();if(/ipad|android(?!.*mobile)|tablet/i.test(r))return!0;const a=Math.min((null===(t=window)||void 0===t||null===(t=t.screen)||void 0===t?void 0:t.width)||0,(null===(i=window)||void 0===i||null===(i=i.screen)||void 0===i?void 0:i.height)||0),s="ontouchstart"in window||navigator.maxTouchPoints>0;return a>=600&&a<=1280&&s}function le(){try{const e=document.createElement("canvas");return!!(e.getContext("webgl")||e.getContext("experimental-webgl"))}catch(e){return!1}}function ce(e){const t=self.ZoomTPModule;return new(t&&t.ZoomTPWebSocket?t.ZoomTPWebSocket:WebSocket)(e)}function he(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];E=e}let fe=!0;function pe(){try{let e=(new f.a).getAudioSolutionInfo();fe=null==e?void 0:e.getProbResult()}catch(e){s.default.error("updateAudioProbResult error",e),fe=!0}}function _e(){return F.isMacIntelSafari()||F.isMacIntelChrome()}function me(){try{return!("safari"!==(null==M?void 0:M.browser)||!I(15))||!("chrome"!==(null==M?void 0:M.browser)||!R(131))}catch(e){return!1}}pe()},function(e,t,i){"use strict";i.r(t);var r=i(2),a=i(0),s=i(7);const o={AEWF:"Audio encode WASM failed to download/compile",ADWF:"Audio decode WASM failed to download/compile",VDWF:"Video decode WASM failed to download/compile",VEWF:"Video encode WASM failed to download/compile",SEWF:"Sharing encode WASM failed to download/compile",SDWF:"Sharing decode WASM failed to download/compile",MWCGLF:"WebGL context failed to be restored",VCFF:"Captured video format is not supported",SHHF:"Initialization of sharing decode WASM failed",SDSF:"Sharing decode WebSocket failed to connect after 10 attempts",SEHF:"Initialization of sharing encode WASM failed",SESF:"Sharing encode WebSocket failed to connect after 10 attempts",ADHF:"Initialization of audio decode WASM failed",ADSF:"Audio decode WebSocket failed to connect after 10 attempts",AEHF:"Initialization of audio encode WASM failed",AESF:"Audio encode WebSocket failed to connect after 10 attempts",VDHF:"Initialization of video decode WASM failed",VDSF:"Video decode WebSocket failed to connect after 10 attempts",VEHF:"Initialization of video encode WASM failed",VESF:"Video encode WebSocket failed to connect after 10 attempts",INITVDCERR:"An error occurred when initializing video WebRTC DataChannel",INITADCERR:"An error occurred when initializing audio WebRTC DataChannel"},n=["VCAPTURE","VFCLOSE","VDCS","CPC","VDCR","ADCS","ADCR","VCFOK","VCTN","ABRTT"];var d=function(){function e(){this.base_time=null,this.monitor="",this.last_get_monitor_time=0,this.checkIsNecessaryLogMap=new Map,this.highfrequencyerror=new Map,this.startSendLog=!1}return e.prototype={init:function(){this.base_time||(this.base_time=(new Date).getTime(),this.checkIsNecessaryLogMap=new Map,this.add_monitor("STARTMONITOR"+this.base_time))},need_to_flush_log:function(e){return e&&("F"==e[e.length-1]||"f"==e[e.length-1])&&this.startSendLog},append_to_monitor:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)try{const i=2e3;this.monitor&&this.monitor.length+e.length>i&&this.send_instant_monitor(),this.monitor?this.monitor+=e:this.monitor=e,t&&this.send_instant_monitor()}catch(e){s.default.error("Error when adding data to the monitor log",e)}},add_monitor:function(e,t){if(this.base_time||this.init(),e&&this.checkLogValidity(e))try{if(o[e]){let i=o[e];t&&(i="".concat(i,". Additional information: ").concat(t)),s.default.error(i)}let i=(new Date).getTime()-this.base_time,r=e+"("+Math.ceil(i)+")",a=this.need_to_flush_log(e);this.append_to_monitor(r,a)}catch(e){s.default.error("Error when adding data to the monitor log",e)}},get_monitor:function(){let e=this.monitor,t=(new Date).getTime();return null!=e&&(e.length>80||t-this.last_get_monitor_time>180)?(this.last_get_monitor_time=t,this.monitor=null,"WCL_M, "+e):""},get_instant_monitor:function(){let e=this.monitor;return this.monitor=null,e?"WCL_M, "+e:null},send_instant_monitor:function(){let e=this.get_instant_monitor();e&&a.default.sendMessageToRwg(r.MONITOR_LOG,{evt:r.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},send_monitor_directly:function(e){e&&this.checkLogValidity(e)&&a.default.sendMessageToRwg(r.MONITOR_LOG,{evt:r.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},add_monitor2(e){if(this.base_time||this.init(),e&&this.checkLogValidity(e)){let t=e+"("+((new Date).getTime()-this.base_time)+")";this.append_to_monitor(t)}},add_monitor3(e){if(this.base_time||this.init(),!e||!this.checkLogValidity(e))return;this.highfrequencyerror[e]?this.highfrequencyerror[e]+=1:this.highfrequencyerror[e]=1;Object(s.isPowerOf2)(this.highfrequencyerror[e])&&this.add_monitor(e,"Occurred ".concat(this.highfrequencyerror[e]," times"))},checkIsNecessaryExceptionLogAndReturnRepeatTimes(e){let t=!0,i=0;try{return this.checkIsNecessaryLogMap.get(e)&&this.checkIsNecessaryLogMap.get(e)%100!=0&&(t=!1),i=this.checkIsNecessaryLogMap.get(e),{isNecessary:t,repeatNumber:void 0===i?0:i}}catch(e){return{isNecessary:!0,repeatNumber:0}}finally{let t=this.checkIsNecessaryLogMap.get(e)||0;if(this.checkIsNecessaryLogMap.set(e,t+1),this.checkIsNecessaryLogMap.size>200){let e=Array.from(this.checkIsNecessaryLogMap.keys()).slice(0,20);console.log("delete log cache keys",e),e.forEach(e=>this.checkIsNecessaryLogMap.delete(e))}}},reset(){this.base_time=null,this.last_get_monitor_time=0,this.monitor="",this.highfrequencyerror.clear()},startSend(){this.startSendLog=!0},checkLogValidity(e){return!!this.startSendLog||!n.some(t=>-1!==e.indexOf(t))}},new e}();t.default=d},function(e,t,i){"use strict";i.d(t,"h",(function(){return r})),i.d(t,"d",(function(){return a})),i.d(t,"c",(function(){return s})),i.d(t,"b",(function(){return o})),i.d(t,"e",(function(){return n})),i.d(t,"f",(function(){return d})),i.d(t,"i",(function(){return u})),i.d(t,"a",(function(){return l})),i.d(t,"g",(function(){return c}));const r={ZOOM_CONNECTION_COMMAND:0,ZOOM_CONNECTION_AUDIO:1,ZOOM_CONNECTION_VIDEO:2,ZOOM_CONNECTION_SHARING_JPEG:3,ZOOM_CONNECTION_SHARING_VIDEO:4,ZOOM_CONNECTION_MEDIA_LOG:5,ZOOM_CONNECTION_SHARING_REMOTE_CONTROL:6,ZOOM_CONNECTION_UNKNOW:7},a={NET_WEBSOCKET:0,NET_DATACHANNEL:1,NET_WEBTRANSPORT:2},s={encode:1,decode:2},o={AUDIO:1,SHARING:2,VIDEO:3},n={UNKNOWN:0,WIN:1,MAC:2,PAD:3,MOBILE:4,CALL_IN:5,LINUX:6,WEB:7,CHROME:8},d={VIDEO_ENCODE:"0",VIDEO_DECODE:"1",AUDIO_ENCODE:"2",AUDIO_DECODE:"3",SHARING_ENCODE:"4",SHARING_DECODE:"5"},u=(()=>{const e={};for(const t in d)e[d[t]]="WCL_"+t;return e})(),l={ComputerAudio_Null:0,ComputerAudio_Connecting:1,ComputerAudio_Connected:2,DesktopAudio_Null:0,DesktopAudio_Connecting:1,DesktopAudio_Connected:2},c={[d.AUDIO_ENCODE]:"audio.encode",[d.AUDIO_DECODE]:"audio.decode",[d.VIDEO_ENCODE]:"video.encode",[d.VIDEO_DECODE]:"video.decode",[d.SHARING_ENCODE]:"share.encode",[d.SHARING_DECODE]:"share.decode"}},function(e,t,i){"use strict";i.d(t,"C",(function(){return r})),i.d(t,"j",(function(){return a})),i.d(t,"D",(function(){return s})),i.d(t,"E",(function(){return o})),i.d(t,"t",(function(){return n})),i.d(t,"k",(function(){return d})),i.d(t,"v",(function(){return u})),i.d(t,"x",(function(){return l})),i.d(t,"p",(function(){return c})),i.d(t,"s",(function(){return h})),i.d(t,"q",(function(){return f})),i.d(t,"r",(function(){return p})),i.d(t,"a",(function(){return _})),i.d(t,"b",(function(){return m})),i.d(t,"w",(function(){return E})),i.d(t,"g",(function(){return g})),i.d(t,"y",(function(){return S})),i.d(t,"z",(function(){return v})),i.d(t,"A",(function(){return C})),i.d(t,"B",(function(){return A})),i.d(t,"e",(function(){return R})),i.d(t,"d",(function(){return T})),i.d(t,"c",(function(){return I})),i.d(t,"f",(function(){return b})),i.d(t,"n",(function(){return O})),i.d(t,"o",(function(){return D})),i.d(t,"m",(function(){return w})),i.d(t,"l",(function(){return y})),i.d(t,"h",(function(){return M})),i.d(t,"u",(function(){return P})),i.d(t,"i",(function(){return N}));const r={AVAILABLE:0,NOT_SUPPORTED:1,CANNOT_REQ_ADAPTER:2,CANNOT_REQ_DEVICE:3},a={AUTO:-1,UNDEFINED:0,WEBGL:1,WEBGPU:2,WEBGL_2:3},s={DISABLED:0,ENABLED:1,AUTO:2},o={SUCCEED:0,UNKNOWN:-1,INVALID_ARG:-2,BROWSER_NOT_SPT:-3,DEVICE_ON_BLACKLIST:-4,INVALID_DEVICE_INFO:-5,UNKNOWN_SELECTION:-6,OTHER_EX:-7,DEVICE_NOT_ON_WHITELIST:-8,FEATURE_OPTION_DISABLED:-9},n={AVAILABLE:0,VIDEO:1,SHARE:2},d={IDLE:0,PENDING:1,READY:2,RENDERING:3},u={UNKNOWN:-1,BASE_LAYER:0,BLEND_LAYER:1},l={UNKNOWN:-1,EXTERNAL_TEX:0,GPU_TEX_YUV:1,GPU_TEX_RGBA:2,CLEAR_COLOR:3},c=0,h=1,f=2,p=3,_=[{u:1,v:0},{u:1,v:1},{u:0,v:1},{u:1,v:0},{u:0,v:0},{u:0,v:1}],m=[{x:1,y:1},{x:1,y:-1},{x:-1,y:-1},{x:1,y:1},{x:-1,y:1},{x:-1,y:-1}],E={VS_BASE:0,CURSOR:1,WATERMARK:2,MASK:3,END:4},g=["intel","nvidia","apple","amd","qualcomm","arm"],S="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n struct FsUniforms {\n rotation: f32,\n };\n \n @group(0) @binding(0) var vfSampler: sampler;\n @group(0) @binding(1) var vfTexture: texture_external;\n @group(0) @binding(2) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(vfTexture, vfSampler, uv);\n return color;\n }\n ",v="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(6) var<uniform> vertexUniforms: FsUniforms;\n \n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var vPlaneTex: texture_2d<f32>;\n @group(0) @binding(5) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(7) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n if (uniforms.yuvMode == 1) {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(vPlaneTex, uvPlaneSampler, uv).r;\n } else {\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).a;\n }\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n return color;\n }\n ",C="\n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @group(0) @binding(5) var<uniform> vertexUniforms: FsUniforms;\n @vertex\n fn vertex_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(vtxPos, 0.0, 1.0);\n \n if (vertexUniforms.rotation == 0) {\n output.uv = vec2f(uvPos.x, 1 - uvPos.y); \n } else if (vertexUniforms.rotation == 1) {\n output.uv = vec2f(1 - uvPos.y, 1 - uvPos.x);\n } else if (vertexUniforms.rotation == 2) {\n output.uv = vec2f(uvPos.x, uvPos.y);\n } else if (vertexUniforms.rotation == 3) {\n output.uv = vec2f(uvPos.y, uvPos.x);\n } else {\n output.uv = uvPos;\n }\n \n return output;\n }\n \n struct FsUniforms {\n yuvMode: f32,\n colorRange: f32,\n rotation: f32,\n };\n \n @group(0) @binding(0) var yPlaneSampler: sampler;\n @group(0) @binding(1) var uvPlaneSampler: sampler;\n @group(0) @binding(2) var yPlaneTex: texture_2d<f32>;\n @group(0) @binding(3) var uPlaneTex: texture_2d<f32>;\n @group(0) @binding(4) var<uniform> uniforms: FsUniforms;\n // @group(0) @binding(5) var<storage, read_write> outputBuffer: array<f32>;\n \n @fragment\n fn fragment_main(@location(0) uv : vec2<f32>) -> @location(0) vec4<f32> {\n let y = textureSampleBaseClampToEdge(yPlaneTex, yPlaneSampler, uv).r;\n var u: f32;\n var v: f32;\n u = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).r;\n v = textureSampleBaseClampToEdge(uPlaneTex, uvPlaneSampler, uv).g;\n \n const yuv2RGB_L = mat4x4(\n 1.1643835616, 0, 1.7927410714, -0.9729450750,\n 1.1643835616, -0.2132486143, -0.5329093286, 0.3014826655,\n 1.1643835616, 2.1124017857, 0, -1.1334022179,\n 0, 0, 0, 1\n );\n \n const yuv2RGB_F = mat4x4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n \n var color = vec4<f32>(y, u, v, 1.0);\n if (uniforms.colorRange == 0) {\n color = color * yuv2RGB_L;\n } else {\n color = color * yuv2RGB_F;\n }\n \n // outputBuffer[0] = y;\n // outputBuffer[1] = u;\n // outputBuffer[2] = v;\n // outputBuffer[3] = color.r;\n // outputBuffer[4] = color.g;\n // outputBuffer[5] = color.b;\n // outputBuffer[6] = color.a;\n \n return color;\n }\n ",A="\n @group(0) @binding(0) var watermarkSampler: sampler;\n @group(0) @binding(1) var watermarkTex: texture_2d<f32>;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(watermarkTex, watermarkSampler, uv);\n if (color.r == 0 && color.g == 0 && color.b == 0) {\n color.a = 0;\n }\n return color;\n }\n ",R="\n \n struct FsUniforms {\n cursorFlag: f32,\n cursorInfo: vec4f\n };\n \n @group(0) @binding(0) var cursorSampler: sampler;\n @group(0) @binding(1) var cursorTex: texture_2d<f32>;\n @group(0) @binding(2) var<uniform> uniforms: FsUniforms;\n \n struct VertexOutput {\n @builtin(position) Position: vec4<f32>,\n @location(0) uv: vec2<f32>,\n };\n \n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) pos: vec2<f32>,\n @location(1) uvPos: vec2<f32>\n ) -> VertexOutput {\n \n var output: VertexOutput;\n output.Position = vec4<f32>(pos, 0.0, 1.0);\n output.uv = vec2f(uvPos.x, 1 - uvPos.y);\n return output;\n }\n \n @fragment\n fn f_main(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {\n var color: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, uv);\n // if (uniforms.cursorFlag == 1) {\n // if (uniforms.cursorInfo.z > 0.0 \n // && uv.x >= uniforms.cursorInfo.x\n // && uv.y >= uniforms.cursorInfo.y\n // && uv.x < uniforms.cursorInfo.x + uniforms.cursorInfo.z\n // && uv.y < uniforms.cursorInfo.y + uniforms.cursorInfo.w) {\n \n // var cursorCoord: vec2f = uv - uniforms.cursorInfo.xy;\n // cursorCoord = cursorCoord / uniforms.cursorInfo.zw;\n // var cursorColor: vec4<f32> = textureSampleBaseClampToEdge(cursorTex, cursorSampler, cursorCoord);\n // color = color * (1.0 - cursorColor.a) + cursorColor * cursorColor.a;\n // }\n // }\n \n return color;\n }\n ",T="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return vec4(0.0, 0.0, 0.0, 1.0);\n }\n ",I="\n @vertex\n fn v_main(\n @builtin(vertex_index) VertexIndex: u32,\n @location(0) vtxPos: vec2<f32>,\n ) -> @builtin(position) vec4<f32> {\n return vec4<f32>(vtxPos, 0.0, 1.0);\n }\n \n struct ClearColorUniforms {\n clearColor: vec4<f32>,\n };\n \n @group(0) @binding(0) var<uniform> uniforms: ClearColorUniforms;\n @fragment\n fn f_main() -> @location(0) vec4<f32> {\n return uniforms.clearColor;\n }\n ",b={TEXTURE_BUFFER:0,VERTEX_BUFFER:1,TEXTURE:2},O={LOW:0,MEDIUM:1,HIGH:2,OVERUSE:3},D={LOW:6e4,MEDIUM:45e3,HIGH:3e4,OVERUSE:15e3},w=[60,120,180,360,540,720,1080,2160],y={VIDEO_FRAME:0,YUV_I420:1,YUV_NV12:2,RGBA_WATERMARK:3,RGBA_CURSOR:4,CLEAR_COLOR:5},M=6,P=[180,360,540,720,1080,2160],N=5},function(e,t,i){"use strict";i.r(t),i.d(t,"isPowerOf2",(function(){return a})),i.d(t,"GlobalTracingLogger",(function(){return r}));class r{constructor(){this._highFrequencyLogs={},this.fixVersion=""}setInstance(e,t){this._instance=e,this.fixVersion=t}getMessageFromErrorOrEvent(e,t){let i=e;return t instanceof ErrorEvent?(t.filename&&(i+=" File: ".concat(t.filename)),(t.lineno||t.colno)&&(i+=" Line: ".concat(t.lineno,":").concat(t.colno)),t.message&&(i+=" Message: ".concat(t.message)),t.error&&(i+="\nStack: ".concat(t.error.stack))):t instanceof Error?(t.fileName&&(i+=" File: ".concat(t.fileName)),(t.lineNumber||t.columnNumber)&&(i+=" Line: ".concat(t.lineNumber,":").concat(t.columnNumber)),t.message&&(i+=" Message: ".concat(t.message)),t.stack&&(i+=" Stack: ".concat(t.stack)),t.name&&(i+=" Name: ".concat(t.name)),t.constraint&&(i+=" Constraint: ".concat(t.constraint))):t instanceof CloseEvent?(t.code&&(i+=" Code: ".concat(t.code)),t.reason&&(i+=" Reason: ".concat(t.reason)),i+=" wasClean: ".concat(t.wasClean)):t instanceof DOMException?(t.message&&(i+=" Message: ".concat(t.message)),t.name&&(i+=" Name: ".concat(t.name))):i+=t?t.toString():"",i}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._highFrequencyLogs[e]?this._highFrequencyLogs[e]+=1:this._highFrequencyLogs[e]=1;const i=a(this._highFrequencyLogs[e]);this._instance&&i&&this._instance.error(e,[this.fixVersion])}severityerror(e,t){this._instance&&this._instance.error(JSON.stringify(e),t)}directReport(e,t){var i,r;this._instance&&(t||(t=["MEDIASDK_INFO"]),null===(i=(r=this._instance).directReport)||void 0===i||i.call(r,{msg:e},t))}warn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e=this.getMessageFromErrorOrEvent(e,t),this._instance&&this._instance.warn(e)}log(e){this._instance&&this._instance.log(e)}clearHighFrequencyLogs(){this._highFrequencyLogs={}}}const a=e=>0==(e&e-1);let s=new r;t.default=s},function(e,t,i){var r=i(91),a=i(49);e.exports=function(e,t,i){var s=a(e,t,"set");return r(e,s,i),i},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";i.r(t),i.d(t,"Audio_Dec_WASM_OK",(function(){return r})),i.d(t,"Audio_Dec_Handle_OK",(function(){return a})),i.d(t,"Audio_Dec_WebSocket_OK",(function(){return s})),i.d(t,"Audio_Enc_WASM_OK",(function(){return o})),i.d(t,"Audio_Enc_Handle_OK",(function(){return n})),i.d(t,"Video_Dec_WASM_OK",(function(){return d})),i.d(t,"Video_Dec_Handle_OK",(function(){return u})),i.d(t,"Video_Dec_WebSocket_OK",(function(){return l})),i.d(t,"Video_Enc_WASM_OK",(function(){return c})),i.d(t,"Video_Enc_Handle_OK",(function(){return h})),i.d(t,"Sharing_Dec_WASM_OK",(function(){return f})),i.d(t,"AUDIO_DELAY",(function(){return p})),i.d(t,"Sharing_Dec_WebSocket_OK",(function(){return _})),i.d(t,"Sharing_Handle_OK",(function(){return m})),i.d(t,"DECODE_MESSAGE",(function(){return E})),i.d(t,"Video_Capture_Tick",(function(){return g})),i.d(t,"MONITOR_MESSAGE",(function(){return S})),i.d(t,"WORKER_MAIN_VIDEO_ENCODE_RINGBUFFER_TICK",(function(){return v})),i.d(t,"WORKER_MAIN_AUDIO_ENCODE_RINGBUFFER_TICK",(function(){return C})),i.d(t,"WORKER_MAIN_VIDEO_DECODE_RINGBUFFER_TICK",(function(){return A})),i.d(t,"Audio_Encode_Preview_OK",(function(){return R})),i.d(t,"Video_Encode_Preview_OK",(function(){return T})),i.d(t,"DOWNLOAD_WASM_FROM_MAIN_THREAD",(function(){return I})),i.d(t,"APP_TROUBLESHOOTING_INFO",(function(){return b})),i.d(t,"WCL_TROUBLESHOOTING_INFO",(function(){return O})),i.d(t,"SHARING_DATA_VIDEO_MODE",(function(){return D})),i.d(t,"MOUSE_DATA_VIDEO_MODE",(function(){return w})),i.d(t,"SHARING_DECODE_MESSAGE",(function(){return y})),i.d(t,"VIDEO_ENCODED_DATA",(function(){return M})),i.d(t,"AUDIO_ENCODED_DATA",(function(){return P})),i.d(t,"WASMPTR",(function(){return N})),i.d(t,"AUDIO_MONITOR_LOG",(function(){return V})),i.d(t,"VIDEO_RESOLUTION_UPDATE",(function(){return k})),i.d(t,"VIDEO_RENDER_MONITOR_LOG",(function(){return U})),i.d(t,"Sharing_Width_And_Height_Info",(function(){return L})),i.d(t,"SHARING_RENDER_MONITOR_LOG",(function(){return x})),i.d(t,"SHARING_GET_IMAGE_DATA_WRONG",(function(){return W})),i.d(t,"AES_GCM_IV_CALLBACK_FROM_WASM",(function(){return B})),i.d(t,"CURRENT_SSRC_TIME",(function(){return G})),i.d(t,"WhiteBoard_Video_Capture_Tick",(function(){return F})),i.d(t,"GLOBAL_TRACING_LOG",(function(){return H})),i.d(t,"Video_Sharing_Handle_OK",(function(){return K})),i.d(t,"CURRENT_DECODE_VIDEO_QUALITY",(function(){return j})),i.d(t,"CURRENT_DECODE_VIDEO_FPS",(function(){return Y})),i.d(t,"CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT",(function(){return q})),i.d(t,"CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT",(function(){return X})),i.d(t,"SHARING_FIRST_DECODE_FRAME_RECEIVED",(function(){return Q})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_CHANGE",(function(){return z})),i.d(t,"VIDEO_CAPTURE_FRAME_COUNT_STATISTIC",(function(){return J})),i.d(t,"SHARING_CAPTURE_FRAME_COUNT_STATISTIC",(function(){return Z})),i.d(t,"UNSUPPORTED_SHARING_FORMAT",(function(){return $})),i.d(t,"UNSUPPORTED_VIDEO_FORMAT",(function(){return ee})),i.d(t,"FIRST_SHARING_FRAME_FOR_MOBILE",(function(){return te})),i.d(t,"CONNECT_WEBTRANSPORT_OK",(function(){return ie})),i.d(t,"CONNECT_WEBTRANSPORT_CLOSE",(function(){return re})),i.d(t,"CURRENT_MEDIA_DATA_TRANSPORT_TYPE",(function(){return ae})),i.d(t,"CONNECT_WEBSOCKET_CLOSE",(function(){return se})),i.d(t,"CURRENT_ENCODED_TYPE",(function(){return oe})),i.d(t,"WHITEBOARD_WORKER_MESSAGE",(function(){return ne})),i.d(t,"NETWORK_QUALITY_CHANGE",(function(){return de})),i.d(t,"NETWORK_QUALITY_CHANGE_AUDIO",(function(){return ue})),i.d(t,"WEBCODEC_PERFORMANCE_STATUS",(function(){return le})),i.d(t,"DATACHANNEL_OPEN",(function(){return ce})),i.d(t,"DATACHANNEL_ERROR",(function(){return he})),i.d(t,"DATACHANNEL_CLOSE",(function(){return fe})),i.d(t,"MSG_QUEUE_DATA",(function(){return pe})),i.d(t,"MSG_BUFFER_TICKT",(function(){return _e})),i.d(t,"MSG_QUEUE_STATUS",(function(){return me})),i.d(t,"CLOSE_TRANSPORT",(function(){return Ee})),i.d(t,"CREATE_MSGSOCK_TRANSPORT",(function(){return ge})),i.d(t,"TRANSPORT_SET_SABBUFF",(function(){return Se})),i.d(t,"TRANSPORT_SET_MSGPORT",(function(){return ve})),i.d(t,"WORKER_HEARTBEAT",(function(){return Ce})),i.d(t,"RECEIVE_ANNOTATION_PDU",(function(){return Ae})),i.d(t,"Audio_Dec_WASM_FAILED",(function(){return Re})),i.d(t,"Audio_Dec_Handle_FAILED",(function(){return Te})),i.d(t,"Audio_Dec_WebSocket_FAILED",(function(){return Ie})),i.d(t,"Audio_Enc_WASM_FAILED",(function(){return be})),i.d(t,"Audio_Enc_Handle_FAILED",(function(){return Oe})),i.d(t,"Video_Dec_WASM_FAILED",(function(){return De})),i.d(t,"Video_Dec_Handle_FAILED",(function(){return we})),i.d(t,"Video_Dec_WebSocket_FAILED",(function(){return ye})),i.d(t,"Video_Enc_WASM_FAILED",(function(){return Me})),i.d(t,"Video_Enc_Handle_FAILED",(function(){return Pe})),i.d(t,"Sharing_Dec_WASM_FAILED",(function(){return Ne})),i.d(t,"Sharing_Handle_FAILED",(function(){return Ve})),i.d(t,"Sharing_Dec_WebSocket_FAILED",(function(){return ke})),i.d(t,"AUDIO_CLIPPING",(function(){return Ue})),i.d(t,"MULTIVIEW_WEBGL_CONTEXT_LOST",(function(){return Le})),i.d(t,"WEBGL_CONTEXT_CREATE_FAILED",(function(){return xe})),i.d(t,"MULTIVIEW_WEBGL_CONTEXT_RESTORED",(function(){return We})),i.d(t,"WASM_MEMORY_GRROW_FAILED",(function(){return Be})),i.d(t,"SHARING_HEALTH_CHECK_FAILED",(function(){return Ge})),i.d(t,"VIDEO_HEALTH_CHECK_FAILED",(function(){return Fe})),i.d(t,"AUDIO_HEALTH_CHECK_FAILED",(function(){return He})),i.d(t,"WEBRTC_VIDEO_HEALTH_CHECK_FAILED",(function(){return Ke})),i.d(t,"WEBRTC_AUDIO_HEALTH_CHECK_FAILED",(function(){return je}));const r=1,a=2,s=3,o=4,n=5,d=7,u=8,l=9,c=10,h=11,f=12,p=14,_=15,m=16,E=18,g=20,S=21,v=22,C=23,A=24,R=26,T=27,I=30,b=31,O=35,D=36,w=37,y=38,M=39,P=42,N=47,V=48,k=50,U=51,L=52,x=53,W=54,B=56,G=57,F=60,H=61,K=62,j=66.5,Y=66.6,q=67,X=68,Q=69,z=71,J=72,Z=73,$=75,ee=76,te=78,ie=105,re=106,ae=107,se=108,oe=109,ne=120,de=121,ue=122,le=123,ce=124,he=125,fe=126,pe=127,_e=128,me=129,Ee=132,ge=133,Se=135,ve=136,Ce=137,Ae=151,Re=-1,Te=-2,Ie=-3,be=-4,Oe=-5,De=-7,we=-8,ye=-9,Me=-10,Pe=-11,Ne=-12,Ve=-14,ke=-15,Ue=-23,Le=-26,xe=-27,We=-28,Be=-35,Ge=-129,Fe=-130,He=-131,Ke=-135,je=-136},function(e,t,i){"use strict";i.r(t),i.d(t,"QOS_DEFAULT_POLLING_INTERVAL",(function(){return r})),i.d(t,"VIDEO_MONITOR_LOG_SECOENDS",(function(){return a})),i.d(t,"THREAD_STATE_IDLE",(function(){return s})),i.d(t,"THREAD_STATE_CREATING",(function(){return o})),i.d(t,"THREAD_STATE_CREATED",(function(){return n})),i.d(t,"MEDIA_S2C_KEEPALIVE",(function(){return d})),i.d(t,"MEDIA_AUDIO_DATA",(function(){return u})),i.d(t,"MEDIA_AUDIO_RTCP",(function(){return l})),i.d(t,"MEDIA_AUDIO_FEATURE",(function(){return c})),i.d(t,"MEDIA_VIDEO_DATA",(function(){return h})),i.d(t,"MEDIA_VIDEO_RTCP",(function(){return f})),i.d(t,"MEDIA_NTP_UPDATE",(function(){return p})),i.d(t,"VIDEO_KEYFRAME_REQ",(function(){return _})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_360P",(function(){return m})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_720P",(function(){return E})),i.d(t,"VIDEO_CAPTURER_RESOLUTION_1080P",(function(){return g})),i.d(t,"UPDATE_ENCRYPTION_GCM_MODEL_KEY",(function(){return S})),i.d(t,"MEDIA_AUDIO_QOS_SESS_DATA",(function(){return v})),i.d(t,"INTERPRETATION_ENABLE",(function(){return C})),i.d(t,"INTERPRETATION_SET_LANG",(function(){return A})),i.d(t,"INTERPRETATION_MUTE",(function(){return R})),i.d(t,"INTERPRETATION_SET_INTERPRETER",(function(){return T})),i.d(t,"DATA_DIRECTION_FROM_RECEIVE",(function(){return I})),i.d(t,"DATA_DIRECTION_FROM_SEND",(function(){return b})),i.d(t,"RWG_WCL_PDU_QOS_DATA",(function(){return O})),i.d(t,"RWG_WCL_PDU_QOS_DATA_VIDEO",(function(){return D})),i.d(t,"serverHeartbeatMaxTimeoutSeconds",(function(){return w})),i.d(t,"RQUEST_ANIMATION_MODE",(function(){return y})),i.d(t,"SET_INTERVAL_MODE",(function(){return M})),i.d(t,"VIDEO_INVALID",(function(){return P})),i.d(t,"VIDEO_RGBA",(function(){return N})),i.d(t,"VIDEO_I420",(function(){return V})),i.d(t,"VIDEO_NV12",(function(){return k})),i.d(t,"VIDEO_BGRA",(function(){return U})),i.d(t,"EVENT_ROLLBACK_BUFFER",(function(){return L})),i.d(t,"EVENT_NEEDMORE_DATA",(function(){return x})),i.d(t,"EVENT_CAPTURE_DATA",(function(){return W})),i.d(t,"EVENT_CACHE_SIZE",(function(){return B})),i.d(t,"WEBCODEC_ENCODE_OFF",(function(){return G})),i.d(t,"WEBCODEC_DECODE_OFF",(function(){return F})),i.d(t,"QosSession",(function(){return H})),i.d(t,"QosConnectType",(function(){return K})),i.d(t,"MAX_VIDEO_CAPTURE_FPS",(function(){return j})),i.d(t,"MIN_VIDEO_CAPTURE_FPS",(function(){return Y})),i.d(t,"VIDEO_CAPTURE_FPS",(function(){return q})),i.d(t,"VIDEO_CAPTURE_20FPS",(function(){return X})),i.d(t,"DOWN_VIDEO_CAPTURE_FPS",(function(){return Q})),i.d(t,"LOWER_VIDEO_CAPTURE_FPS",(function(){return z})),i.d(t,"VIDEO_DATA_MAX_SIZE",(function(){return J})),i.d(t,"VIDEO_FRAME_BUFFER_SIZE",(function(){return Z})),i.d(t,"SHARING_NULL",(function(){return $})),i.d(t,"SHARING_NORMAL",(function(){return ee})),i.d(t,"SHARING_VIDEO_MODE",(function(){return te})),i.d(t,"SHARING_VIDEO_MODE_CAPTURED_FPS",(function(){return ie})),i.d(t,"SHARING_NORMAL_MODE_CAPTURED_FPS",(function(){return re})),i.d(t,"VIDEO_RINGBUF_PKG_NUM",(function(){return ae})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_360P",(function(){return se})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_720P",(function(){return oe})),i.d(t,"ADDITIONNAL_MULTITHREAD_NUMBER_ENCODE_FOR_1080p",(function(){return ne})),i.d(t,"WCL_PLATFORM_TYPE",(function(){return de})),i.d(t,"AS_CAPTURE_SOURCE",(function(){return ue})),i.d(t,"MEDIA_COMMAND",(function(){return le})),i.d(t,"RENDER_UNSET",(function(){return ce})),i.d(t,"RENDER_IN_WORKER",(function(){return he})),i.d(t,"RENDER_IN_MAIN",(function(){return fe})),i.d(t,"WEBRTC_NO_AUDIO_MODE",(function(){return pe})),i.d(t,"WEBRTC_COMMPUTER_AUDIO_MODE",(function(){return _e})),i.d(t,"WEBRTC_SHARE_AUDIO_MODE",(function(){return me})),i.d(t,"WEBRTC_MULTI_AUDIO_MODE",(function(){return Ee})),i.d(t,"VIDEO_FRAME",(function(){return ge})),i.d(t,"SHARING_FRAME",(function(){return Se})),i.d(t,"MAX_RENDER_WITHOUT_SAB",(function(){return ve})),i.d(t,"ACTIVE_SPEAKER_SSRC",(function(){return Ce})),i.d(t,"FACE_MODE_UNKNOW",(function(){return Ae})),i.d(t,"FACE_MODE_USER",(function(){return Re})),i.d(t,"FACE_MODE_ENVIRONMENT",(function(){return Te})),i.d(t,"ORIGINAL_SOUND_OFF",(function(){return Ie})),i.d(t,"ORIGINAL_SOUND_ON",(function(){return be})),i.d(t,"ORIGINAL_SOUND_STEREO",(function(){return Oe})),i.d(t,"ORIGINAL_SOUND_HIGHFIDELITY",(function(){return De})),i.d(t,"ORIGINAL_SOUND_HIGHFIDELITY_STEREO",(function(){return we})),i.d(t,"SHARE_AUDIO",(function(){return ye})),i.d(t,"ORIGINAL_SOUND_OFF_HIGH_BITRATE",(function(){return Me})),i.d(t,"PUBLISHER_ICEConnectionState_Failed",(function(){return Pe})),i.d(t,"SUBSCRIBER_ICEConnectionState_Failed",(function(){return Ne})),i.d(t,"NO_MESSAGE_FAILOVER",(function(){return Ve})),i.d(t,"WS_ERROR_FAILOVER",(function(){return ke})),i.d(t,"WS_CLOSE_FAILOVER",(function(){return Ue})),i.d(t,"RUNTIME_ERROR_FAILOVER",(function(){return Le})),i.d(t,"WEBRTC_FALLBACK_TO_WASM",(function(){return xe})),i.d(t,"VB_CONSTANT",(function(){return We})),i.d(t,"AUDIO_ENCODE_WORKER",(function(){return Be})),i.d(t,"AUDIO_DECODE_WORKER",(function(){return Ge})),i.d(t,"AUDIO_WASM_WORKLET",(function(){return Fe})),i.d(t,"AUDIO_WEBRTC_WORKLET",(function(){return He})),i.d(t,"DATACHANNEL_MONITOR_SEPARATOR",(function(){return Ke})),i.d(t,"LOADEDMETADATAT_IMEOUT",(function(){return je})),i.d(t,"MEDIA_SOLUTION_WEBRTC",(function(){return Ye})),i.d(t,"MEDIA_SOLUTION_WASM",(function(){return qe})),i.d(t,"AudioProfile",(function(){return Xe})),i.d(t,"REPORT_KEY_SHARE",(function(){return Qe})),i.d(t,"REPORT_KEY_NORMAL",(function(){return ze})),i.d(t,"WEBGL_CONTEXT_INVALID_WHEN_START",(function(){return Je})),i.d(t,"HEALTH_CHECK_TYPE",(function(){return Ze})),i.d(t,"HEALTH_CHECK_OPERATOR",(function(){return $e})),i.d(t,"REMINDER_AFTER_MUTED",(function(){return et})),i.d(t,"RECAPTURE_AUDIO_AFTER_MUTED",(function(){return tt})),i.d(t,"NET_QUALITY_LEVEL",(function(){return it})),i.d(t,"NET_BW_LEVEL",(function(){return rt}));const r=1e3,a=5,s=43,o=44,n=45,d=0,u=1,l=6,c=146,h=2,f=7,p=9,_=17,m=10,E=11,g=12,S=102,v=107,C=0,A=1,R=2,T=3,I=0,b=1,O=108,D=104,w=65,y=0,M=1,P=-1,N=0,V=1,k=2,U=3,L=0,x=1,W=2,B=3,G=1,F=2,H={SESSION_TYPE_CONF:0,SESSION_TYPE_AUDIO:1,SESSION_TYPE_DESKSHARE:2,SESSION_TYPE_VIDEO:3,SESSION_TYPE_CHAT:4,SESSION_TYPE_TELEPHONE:5,SESSION_TYPE_ZC_PING:6,SESSION_TYPE_TOTAL_CNT:7},K={CONNECT_TYPE_UDP:0,CONNECT_TYPE_TCP:1},j=30,Y=1,q=24,X=20,Q=15,z=10,J=8294400,Z=5,$=0,ee=1,te=2,ie=15,re=5,ae=400,se=3,oe=7,ne=8,de={DESKTOP:0,MOBILE:1,ANDROID:2,IPHONE:3},ue={DESKTOP_SOURCE:0,UAC_SOURCE:1},le={SHARE_REMOTE_CONTROL_UAC_MOUSE:144,SHARE_REMOTE_CONTROL_UAC_JPEG_FRAME:145},ce=-1,he=0,fe=1,pe=0,_e=1,me=2,Ee=_e+me,ge=0,Se=1,ve=25,Ce=1,Ae=-1,Re=0,Te=1,Ie=0,be=1,Oe=2|be,De=4|be,we=Oe|De,ye=8,Me=16,Pe=3,Ne=107,Ve="100",ke="101",Ue="102",Le="103",xe="150",We="WCL_M,isWebEnabled:1, isLocalEnabled:1, isSmartBkgnd:1, bkgType:2",Be=0,Ge=1,Fe=2,He=3,Ke="{[WLCCONT]}",je=1e4,Ye=1,qe=2,Xe={[Ie]:new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:48e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]]),[be]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[Oe]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:96e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[De]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[we]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:128e3,operater:"add"}],["maxplaybackrate",{value:48e3,operater:"add"}],["sprop-maxcapturerate",{value:48e3,operater:"add"}],["sprop-stereo",{value:1,operater:"add"}],["stereo",{value:1,operater:"add"}]]),[ye]:new Map([["useinbandfec",{value:1,operater:"sub"}],["maxaveragebitrate",{value:"96000",operater:"add"}],["maxplaybackrate",{value:"48000",operater:"add"}],["sprop-maxcapturerate",{value:"48000",operater:"add"}]]),[Me]:new Map([["useinbandfec",{value:1,operater:"add"}],["maxaveragebitrate",{value:64e3,operater:"add"}],["maxplaybackrate",{value:24e3,operater:"add"}],["sprop-maxcapturerate",{value:24e3,operater:"add"}],["sprop-stereo",{value:1,operater:"sub"}],["stereo",{value:1,operater:"sub"}]])},Qe="SHARE",ze="NORMAL",Je="WebGLContextInvalidWhenStart",Ze={VIDEO:0,SHARE:1},$e={PAUSE:0,RESUME:1,STOP:2},et=!0,tt=!1,it={NET_QUALITY_UNKNOWN:-1,NET_QUALITY_VERY_BAD:0,NET_QUALITY_BAD:1,NET_QUALITY_NOT_GOOD:2,NET_QUALITY_NORMAL:3,NET_QUALITY_GOOD:4,NET_QUALITY_EXCELLENT:5},rt={NET_BW_LEVEL_UNKNOWN:-1,NET_BW_LEVEL_VERY_LOW:0,NET_BW_LEVEL_LOW:1,NET_BW_LEVEL_NORMAL:2}},function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));const r={AUDIO_BRIDGE_1:{index:1,default:15},AUDIO_BRIDGE_2:{index:2,default:1},HW_ENCODER_FOR_360P:{index:3,default:0},WEBGL_CONTEXT_LOST_OPT:{index:4,default:0},RECEIVE_720P_ON_SAFARI:{index:5,default:0},MULTI_VIEW_ON_MOBILE:{index:8,default:0},AUDIO_DENOISE:{index:11,default:1},VB_ON_FIREFOX:{index:12,default:0},ENABLE_DECODE_720P_ON_IOS:{index:15,default:1},UNIFIED_RENDER:{index:20,default:0},WEBGPU_RENDERER:{index:21,default:0},ORIGINAL_SOUND:{index:22,default:0},SEND_1080P_VIDEO:{index:24,default:0},SEND_1080P_VIDEO_SHARE:{index:25,default:0},VB_ON_SAFARI_17:{index:27,default:0},WEBGL2_RENDERER:{index:29,default:1},AUDIO_ECHO_DETECT:{index:31,default:0},UNIFIED_RENDER_ON_MOBILE:{index:34,default:0},WEBCODEC_DECODE_OPTION:{index:36,default:0},HW_WEBCODEC_ON_SAFARI:{index:37,default:1},HW_DECODE_FOR_360P:{index:38,default:0},WEBCODEC_ON_ANDROID_CHROME:{index:39,default:0},SUPPORT_ANNOTATION:{index:40,default:0},WEBCODEC_ENCODE_OPT_1ON1:{index:41,default:0},CAP_WEBCODEC_SUPPORT:{index:42,default:0},WEBRTC_STG:{index:43,default:0},WEBGL_CANVAS_OPTION_OPT:{index:44,default:1},DEFAULT_RENDERER:{index:45,default:3},WEB_TRANSPORT_CONTROL:{index:46,default:0},ENABLE_TP_RLB_WEBSOCKET:{index:47,default:0},ENABLE_TRANSFERABLE_RTC_DATACHANNEL:{index:48,default:1},ENABLE_WEBRTC_FEATURE:{index:49,default:0},WEBRTC_AUTO_CONFIG:{index:50,default:0,candidates:{NO_CONFIG:0,MOB_ANDROID:1,MOB_IOS:2,DESKTOP:4,SAB_OFF:8}},FORCE_TO_USE_WEBRTC:{index:51,default:0,candidates:{NO_CONFIG:0,AUDIO_ON_BROWSER_32BIT:1,VIDEO_ON_BROWSER_32BIT:2}},ENABLE_WEBRTC_TURN_SERVERS:{index:52,default:0},EXTRA_DEVICE_INTERVAL_ENUMERATE:{index:53,default:0,candidates:{DISABLE:0,ENABLE:1}},ENABLE_MEDIA_PROCESSOR:{index:54,default:0,candidates:{NONE:0,VIDEO_PROCESSOR:1,AUDIO_PROCESSOR:2,SHARE_PROCESSOR:4}}}},function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return u})),i.d(t,"h",(function(){return l})),i.d(t,"g",(function(){return c})),i.d(t,"d",(function(){return h})),i.d(t,"i",(function(){return f})),i.d(t,"j",(function(){return p})),i.d(t,"e",(function(){return _})),i.d(t,"c",(function(){return m})),i.d(t,"f",(function(){return g}));var r=i(9),a=i(7),s=i(13),o=i(2);function n(){return self.GROWABLE_HEAP_U8?self.GROWABLE_HEAP_U8():Module.HEAPU8}const d="function"!=typeof importScripts;function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;d?a.default.error(e,t):l(e,t)}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var i,a,s,o;(t instanceof Error||t instanceof ErrorEvent)&&(e+=" Message: "+(null===(i=t)||void 0===i?void 0:i.message)+" Stack: "+(null!==(a=null===(s=t)||void 0===s||null===(s=s.error)||void 0===s?void 0:s.stack)&&void 0!==a?a:null===(o=t)||void 0===o?void 0:o.stack),t=null);postMessage({status:r.GLOBAL_TRACING_LOG,errorMessage:e,errorEvent:t})}function c(e){postMessage({status:r.GLOBAL_TRACING_LOG,errorMessage:e,level:"low"})}function h(e){postMessage({status:r.WCL_TROUBLESHOOTING_INFO,data:e})}function f(e){postMessage({status:r.MULTIVIEW_WEBGL_CONTEXT_LOST,canvasId:e,replaceCanvas:!1})}function p(e){postMessage({status:r.MULTIVIEW_WEBGL_CONTEXT_RESTORED,canvasId:e})}function _(e){d?Object(s.NotifyUIError)(o.WEBGL_CONTEXT_INVALID,e):postMessage({status:r.WEBGL_CONTEXT_CREATE_FAILED,where:e})}class m{constructor(e){this.sharedBufferList=e}storeFlexible(e,t){let i=e.byteLength-this.sharedBufferList.bytesPerElement;if(i>0){let e=Math.floor(.1*this.sharedBufferList.bytesPerElement),r=i>e?i:e;if(r+this.sharedBufferList.bytesPerElement>t)return Promise.reject("too big, more than maxBytesPerElement");this.sharedBufferList.increaseBufferSize(r)}return this.store(e)}store(e){return this.sharedBufferList.get().then(t=>{try{return this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0}catch(e){throw e}finally{this.autoRecycle()}})}storeSync(e){let t=this.sharedBufferList.getSync();return null!==t&&(this.obj=t,t.uint8s.set(e,0),this.yuvdata=new Uint8Array(t.uint8s.buffer,0,e.byteLength),!0)}autoRecycle(){this.autoRecycleInterval=setTimeout(()=>{console.log("autoRecycle",this.obj.index),this.recycle()},5e3)}recycle(){try{this.autoRecycleInterval&&clearInterval(this.autoRecycleInterval),this.sharedBufferList.recycle(this.obj.index)}catch(e){l("Error in YuvWrap.recycle: ".concat(e))}}}const E=["","MOZ_","OP_","WEBKIT_"];function g(e,t){for(var i=0;i<E.length;++i){var r=E[i]+t,a=e.getExtension(r);if(a)return a}}new Map,new class{constructor(){this.ssrcInfoMap=new Map,this.timer=null}updateSSRCInfo(e,t){this.ssrcInfoMap.has(e)||this.ssrcInfoMap.set(e,{firstTime:0,lastTime:0,frames:0,fps:0}),this._calculateFPS(e,t),this._removeZeroFPS()}_calculateFPS(e,t){const i=this.ssrcInfoMap.get(e);if(0===i.frames?i.firstTime=t:i.lastTime=t,i.frames+=1,i.frames>2&&i.frames%5==0&&i.lastTime-i.firstTime>=1e3){const t=Math.floor(1e3/((i.lastTime-i.firstTime)/(i.frames-1)));i.fps!==t&&(this._notifyFPS(e,t),i.fps=t),i.firstTime=i.lastTime,i.frames=1}}_removeZeroFPS(){let e=Date.now();this.ssrcInfoMap.forEach((t,i)=>{const r=this.ssrcInfoMap.get(i);r&&e-r.lastTime>2e3&&(this.ssrcInfoMap.delete(i),this._notifyFPS(i,0))})}_notifyFPS(e,t){postMessage({status:r.CURRENT_DECODE_VIDEO_FPS,data:{ssrc:e,fps:t}})}_checkIfNewFrameComing(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.timer=setTimeout(()=>{this._removeZeroFPS(),this.timer=null},2500)}}},function(e,t,i){"use strict";i.r(t),i.d(t,"CameraOccupiedError",(function(){return a})),i.d(t,"CAPTURE_ERROR_TYPE",(function(){return s})),i.d(t,"SetNotifyUIFn",(function(){return l})),i.d(t,"SetMonitorFn",(function(){return c})),i.d(t,"NotifyUIError",(function(){return h}));var r=i(7);function a(e){this.name="CameraOccupiedError",this.message=e,this.stack=(new Error).stack}a.prototype=new Error;const s={EXCEPTION:-1,PERMISSION_RESET:-2,LOST_ACCESS:-3},o=new Map;function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"|";return e?e.toString().replaceAll(/[,,]/g,t):""}let d=null,u=null;function l(e){d=e}function c(e){u=e}function h(e,t){var i,a;if(!function(e){const t=performance.now();return(!o.has(e)||t-o.get(e)>5e3)&&(o.set(e,t),!0)}(e))return;let s;try{s=n("object"==typeof t?JSON.stringify(t):t)}catch(e){s=n(t)}null===(i=u)||void 0===i||i("NEM-".concat(e,"-").concat(s)),r.default.error("NotifyUIError,event=".concat(e,",data=").concat(s)),null===(a=d)||void 0===a||a(e,t)}},function(e,t,i){var r=i(84);e.exports=function(e,t,i){return(t=r(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var r=i(41),a=i(51);let s=r;i.n(a)()(r)&&(s=window.PubSub);let o=function(){};o.prototype={publish(){return s.publish.apply(this,arguments)},publishSync(){return s.publishSync.apply(this,arguments)},trigger(){return this.publish.apply(this,arguments)},triggerSync(){return this.publishSync.apply(this,arguments)},emit(){return this.publish.apply(this,arguments)},subscribe(){return s.subscribe.apply(this,arguments)},on(){return this.subscribe.apply(this,arguments)},unsubscribe(){return s.unsubscribe.apply(this,arguments)},clearAllSubscriptions(){s.clearAllSubscriptions()}},t.a=new o},function(e,t,i){"use strict";i.d(t,"h",(function(){return s})),i.d(t,"e",(function(){return o})),i.d(t,"g",(function(){return n})),i.d(t,"f",(function(){return d})),i.d(t,"d",(function(){return u})),i.d(t,"a",(function(){return l})),i.d(t,"b",(function(){return c})),i.d(t,"c",(function(){return h}));var r=i(12),a=i(6);function s(e,t){const i=Math.pow(10,t);return Math.floor(e*i)/i}function o(e,t){const i=Math.pow(10,t);return Math.ceil(e*i)/i}function n(e,t,i){if(!e||t<0||i<0)throw new Error("isDimensionsOverMaxDimension2DSize() invalid parameters. res=".concat(e,", width=").concat(t,", height=").concat(i));let a=!1,s=0;const o=e.acquireGPUFeaturesHelper();return o&&(s=o.queryMaxTextureDimension2D(),s>0&&(a=t>s||i>s)),a&&(console.log("isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(i," max:").concat(s)),Object(r.d)("WGPU isDimensionsOverMaxDimension2DSize() w:".concat(t," h:").concat(i," max:").concat(s))),a}function d(e,t){if(!e||t<0)throw new Error("isBufferSizeOverMaxSize() invalid parameters. res=".concat(e,", bufferSize=").concat(t));let i=!1,a=0;const s=e.acquireGPUFeaturesHelper();return s&&(a=s.queryMaxBufferSize(),a>0&&(i=t>a)),i&&(console.log("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a)),Object(r.d)("isBufferSizeOverMaxSize() bufferSize:".concat(t," max:").concat(a))),i}function u(e,t){if(!e||null==t)throw new Error("evalCroppingRect() invalid parameters!");return t===a.s||t===a.r?{top:e.top,left:e.left,width:e.height,height:e.width}:e}function l(e,t){let i=0,r=0,a=0,s=0;const o=t.width/t.height;return e.width/e.height>o?(r=e.height,i=r*o,a=(e.width-i)/2,s=0):(i=e.width,r=i/o,a=0,s=(e.height-r)/2),i<=e.canvas.width&&(a=(e.canvas.width-i)/2),r<=e.canvas.height&&(s=(e.canvas.height-r)/2),{x:a,y:s,width:i,height:r}}function c(e,t,i,r){if(!e||!t||!i)return null;const s=t.width/t.height;let o=t.width,n=t.height;if(t.width>e.width||t.height>e.height){const i=e.width/t.width,r=e.height/t.height,a=Math.min(i,r);o*=a,n*=a}let d=0,u=0;e.width/e.height>s?(u=Math.floor(e.height/n)*n,d=Math.floor(u*s/o)*o,d>e.width&&(d=Math.floor(e.width/o)*o,u=Math.floor(d/s/n)*n)):(d=Math.floor(e.width/o)*o,u=Math.floor(d/s/n)*n,u>e.height&&(u=Math.floor(e.height/n)*n,d=Math.floor(u*s/o)*o));let l=0,c=0,h=0,f=0;r==a.p?(l=1-(l+(n-1)/e.height),c=t.left/e.width,f=1-t.top/e.height,h=c+o/e.width):r==a.s?(c=1-(l+(n-1)/e.height),h=1-t.top/e.height,l=t.left/e.width,f=c+o/e.width):r==a.q?(l=t.top/e.height,c=t.left/e.width,f=l+(n-1)/e.height,h=c+o/e.width):r==a.r&&(c=t.top/e.height,h=l+(n-1)/e.height,l=t.left/e.width,f=c+o/e.width);let p=[],_=[{x:h,y:f},{x:h,y:l},{x:c,y:l},{x:h,y:f},{x:c,y:f},{x:c,y:l}];for(let e=0;e<_.length;++e){let t={u:_[e].x,v:_[e].y};p.push(t)}let m=[];for(let e=0;e<p.length;++e){let t=p[e];m.push(t.u),m.push(t.v)}return m}function h(e,t,i,r,n,d){let u=0,l=0,c=0,h=0;if(e){const e=n==a.s||n==a.r?t.height/t.width:t.width/t.height,s=r.left||0,o=r.top||0;if(r.width/r.height>e){const t=r.height*e;u=o/i.height,l=(Math.round((r.width-t)/2)+s)/i.width,h=u+(r.height-1)/i.height,c=l+t/i.width}else{const t=r.width/e;u=(Math.round((r.height-t)/2)+o)/i.height,l=s/i.width,h=u+(t-1)/i.height,c=l+r.width/i.width}n==a.p?(u=1-(u+(r.height-1)/i.height),l=r.left/i.width,h=1-r.top/i.height,c=l+r.width/i.width):n==a.s?(l=1-(u+(r.height-1)/i.height),c=1-r.top/i.height,u=r.left/i.width,h=l+r.width/i.width):n==a.q?(u=r.top/i.height,l=r.left/i.width,h=u+(r.height-1)/i.height,c=l+r.width/i.width):n==a.r&&(l=r.top/i.height,c=u+(r.height-1)/i.height,u=r.left/i.width,h=l+r.width/i.width)}else{const e=r.width/r.height;let t=r.width,d=r.height;if(r.width>i.width||r.height>i.height){const e=i.width/r.width,a=i.height/r.height,s=Math.min(e,a);t*=s,d*=s}let f=0,p=0;i.width/i.height>e?(p=Math.floor(i.height/d)*d,f=Math.floor(p*e/t)*t,f>i.width&&(f=Math.floor(i.width/t)*t,p=Math.floor(f/e/d)*d)):(f=Math.floor(i.width/t)*t,p=Math.floor(f/e/d)*d,p>i.height&&(p=Math.floor(i.height/d)*d,f=Math.floor(p*e/t)*t)),n==a.p?(u=1-(u+(d-1)/i.height),l=r.left/i.width,h=1-r.top/i.height,c=l+t/i.width,r.height>r.width&&(l=o(l,2),c=s(c,2))):n==a.s?(l=1-(u+(d-1)/i.height),c=1-r.top/i.height,u=r.left/i.width,h=l+t/i.width):n==a.q?(u=r.top/i.height,l=r.left/i.width,h=u+(d-1)/i.height,c=l+t/i.width):n==a.r&&(l=r.top/i.height,c=u+(d-1)/i.height,u=r.left/i.width,h=l+t/i.width)}let f=[],p=[{x:c,y:h},{x:c,y:u},{x:l,y:u},{x:c,y:h},{x:l,y:h},{x:l,y:u}];for(let e=0;e<p.length;++e){let t=null;if(d){let i=-1*Math.abs(p[e].x);p[e].x=i,t={u:p[e].x+1,v:p[e].y}}else t={u:p[e].x,v:p[e].y};f.push(t)}let _=[];for(let e=0;e<f.length;++e){let t=f[e];_.push(t.u),_.push(t.v)}return _}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessorManager=void 0;const r=i(37);class a{static hasProcessor(){return this.videoProcessorAgentMap.size>0}static hasMediaStreamFrameProcessor(){return[...this.videoProcessorAgentMap.values()].some(e=>e instanceof r.MediaStreamVideoProcessorAgent)}static addFrameCallback(e,t){this.frameCallbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addFrameCallback(t)}static addCallback(e,t){this.callbackMap.set(e,t),this.getProcessor(e)&&this.getProcessor(e).addCallback(t)}static onFrame(e){for(const t of this.videoProcessorAgentMap.values())t.onFrame(e)}static getStream(){return[...this.videoProcessorAgentMap.values()].pop().getStream()}static setStream(e){for(const t of this.videoProcessorAgentMap.values())t.setStream(e)}static removeStream(){for(const e of this.videoProcessorAgentMap.values())e.removeStream()}static getProcessor(e){return this.videoProcessorAgentMap.get(e)}static startProcessor(e,t){t.init();const i=this.frameCallbackMap.get(e);i&&t.addFrameCallback(i);const r=this.callbackMap.get(e);r&&t.addCallback(r),this.videoProcessorAgentMap.set(e,t)}static stopProcessor(e){const t=this.getProcessor(e);t&&(t.removeFrameCallback(),t.removeCallback(),this.frameCallbackMap.delete(e),this.callbackMap.delete(e),t.removeStream(),t.uninit()),this.videoProcessorAgentMap.delete(e)}static resetProcessorManager(){for(const e of this.videoProcessorAgentMap.keys())this.stopProcessor(e)}}t.ProcessorManager=a,a.videoProcessorAgentMap=new Map,a.frameCallbackMap=new Map,a.callbackMap=new Map},function(e,t,i){"use strict";function r(){this.a=[],this.b=0,this.residue=null}r.prototype.getLength=function(){return this.a.length-this.b},r.prototype.isEmpty=function(){return 0==this.a.length},r.prototype.enqueue=function(e){this.a.push(e)},r.prototype.dequeue=function(){if(0!=this.a.length){var e=this.a[this.b];return 2*++this.b>=this.a.length&&(this.a=this.a.slice(this.b),this.b=0),e}return null},r.prototype.peek=function(){return 0<this.a.length?this.a[this.b]:void 0},r.prototype.clear=function(){this.a=[],this.b=0},t.a=r},function(e,t,i){"use strict";let r="object"==typeof localStorage&&localStorage.__islogdebug;var a=function(e,t){function i(){let e=[];return e.push(...arguments),e}!0===t&&(r=!0);var a=function(){r&&console.log(e,...i(arguments))};return["log","info","warn","error"].forEach(t=>{a[t]=function(){r&&console[t](e,...i(arguments))}}),a.isEnable=function(){return r},a};a.isEnable=function(){return r},t.a=a},function(e,t,i){"use strict";function r(e,t,i,r){return s(e,t),a(i,"set"),function(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}}(e,i,r),r}function a(e,t){if(void 0===e)throw new TypeError("attempted to "+t+" private static field before its declaration")}function s(e,t){if(e!==t)throw new TypeError("Private static access of wrong provenance")}class o{static isEnableCanvasCtxOptionsOpt(){return t=n,s(e=o,o),a(t,"get"),function(e,t){return t.get?t.get.call(e):t.value}(e,t);var e,t}static setIsEnableCanvasCtxOptionsOpt(e){r(o,o,n,e)}}var n={writable:!0,value:!1};t.a=o},function(e,t,i){"use strict";var r,a,s;Object.defineProperty(t,"__esModule",{value:!0}),t.VideoProcessorCmd=t.VideoProcessorEvent=t.VideoProcessorWorkerEvent=void 0,function(e){e.ADD_VIDEO_PORT="add_video_port",e.ADD_SHADOW_PORT="add_shadow_port",e.ADD_VIDEO_PROCESSOR="add_video_processor",e.PROCESSOR_READY="processor_ready",e.PROCESSOR_ERROR="processor_error"}(r||(t.VideoProcessorWorkerEvent=r={})),function(e){e.INIT_PROCESSOR="init_processor",e.UNINIT_PROCESSOR="uninit_processor",e.INIT_OUTPUT_CANVAS="init_output_canvas",e.OUTPUT_WRITABLE_STREAM="output_writable_stream",e.INPUT_READABLE_STREAM="input_readable_stream",e.FRAME_DATA="frame_data",e.START_REQUEST_FRAME="start_request_frame",e.STOP_REQUEST_FRAME="stop_request_frame",e.REQUEST_FRAME="request_frame",e.FRAME_CALLBACK="frame_callback",e.RESOLUTION_CHANGE="RESOLUTION_CHANGE",e.PROCESSOR_WORKER_ERROR="PROCESSOR_WORKER_ERROR"}(a||(t.VideoProcessorEvent=a={})),s||(t.VideoProcessorCmd=s={})},function(e,t,i){"use strict";var r=i(7);t.a=class{static read(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(!e)return r.default.error("[ABOptionsReader] error in read(): options(".concat(e,") is invalid")),a;const s=e.length;if(t<0||i<=0||t>s||t+i-1>s)return r.default.error("[ABOptionsReader] error in read(): invalid parameters! opLen=".concat(s,", bitIndex=").concat(t,", readCount=").concat(i)),a;const o=s-t-i+1,n=s-t+1;try{const t=e.slice(o,n),i=parseInt(t,16);return isNaN(i)?a:i}catch(e){r.default.error("[ABOptionsReader] error in read()",e)}return a}static batchRead(e,t){const i=new Map;for(let r=0;r<t.length;r++){const{bitIndex:a,readCount:s=1,defaultVal:o=0}=t[r],n=this.read(e,a,s,o);i.set(a,n)}return i}}},function(e,t,i){var r=i(45),a="object"==typeof self&&self&&self.Object===Object&&self,s=r||a||Function("return this")();e.exports=s},function(e,t,i){"use strict";var r=i(7),a=i(6);const s={isOnWebCodecWhitelist(e,t,i,a){if(""===e||void 0===e||void 0===t||""===t)return!1;if(!a){const r=e.includes("arm"),a=t.includes("intel"),s=t.includes("amd"),o=t.includes("nvidia");return"encoder"===i?!r&&!!(a||s||o):"decoder"===i&&(!r&&(!!s||(a?!this.isInRangeOfGenerations("intel",t,1e3,4e3):!o||!this.isLowerThanMinGeneration("nvidia",t,"600"))))}t=this.replaceSpacesWithUnderscores(t);for(let s=0;s<a.length;s++){const o=a[s],n="vendor"in o,d="model"in o,u="renderInfo"in o,l="blacklist"in o;let c="";n&&""!==o.vendor&&(c=o.vendor.toLowerCase());let h="";d&&""!==o.model&&(h=this.replaceSpacesWithUnderscores(o.model.toLowerCase()));let f="";u&&""!==o.renderInfo&&(f=this.replaceSpacesWithUnderscores(o.renderInfo.toLowerCase()));let p=null;if(l&&o.blacklist.length>0&&(p=o.blacklist),n){if(""!==c&&e.includes(c)){if(""===h&&""===f&&!p)return!0;if(t===f||""!==f&&t.includes(f))return!0;if(""!==h&&t.includes(h)){if(p){return!this.isHitBlacklist(e,t,i,h,p)}return!0}if(""!==h)return!1;if(p){return!this.isHitBlacklist(e,t,i,h,p)}return!0}}else r.default.error("isOnWebCodecWhitelist() no vendor field in the json entry! entry:".concat(o))}return!1},isGPUProfileOnWebCodecWhitelist(e,t,i){if(!this.isOffscreenCanvasSupported())return r.default.log("isGPUProfileOnWebCodecWhitelist() OffscreenCanvas is not supported."),!1;try{const a=i.vendor,s=i.renderInfo,o=this.isOnWebCodecWhitelist(a,s,e,t);return r.default.directReport("isGPUProfileOnWebCodecWhitelist() isOnWhitelist:".concat(o,", vendor:").concat(a,", renderInfo:").concat(s,", codecType:").concat(e,", config:").concat(JSON.stringify(t))),o}catch(e){return!1}},evalWebRTCStrategy(e,t,i,s){var o,n,d,u,l;let c={stg:a.D.DISABLED,errNo:a.E.UNKNOWN,errMsg:""};if(!i)return c.stg=a.D.DISABLED,c.errNo=a.E.BROWSER_NOT_SPT,c.errMsg="webrtc is disabled(not supported by browser).",c;if(s===a.D.DISABLED)return c.stg=a.D.DISABLED,c.errNo=a.E.SUCCEED,c;if(!e||0==e.length)return c.stg=s,c.errNo=a.E.SUCCEED,c;const h={os:null===(o=t.os)||void 0===o?void 0:o.toLowerCase(),browserName:null===(n=t.browserName)||void 0===n?void 0:n.toLowerCase(),browserVersion:null===(d=t.browserVersion)||void 0===d?void 0:d.toLowerCase(),vendor:null===(u=t.vendor)||void 0===u?void 0:u.toLowerCase(),renderInfo:null===(l=t.renderInfo)||void 0===l?void 0:l.toLowerCase(),isAstcSupported:t.isAstcSupported};for(const i of e){let e=0,s=!1;if(i.os&&""!==i.os){if(!h.os.includes(i.os.toLowerCase()))continue;h.os.includes("mac")&&(s=!0),e|=4096}let o=!1;if(i.browser&&i.browser.name&&""!==i.browser.name){if(!h.browserName.includes(i.browser.name.toLowerCase()))continue;if(h.browserName.includes("safari")&&(o=!0),i.browser.versions&&i.browser.versions.length>0){if(!i.browser.versions.some(e=>this.isBrowserVersionHitBlacklist(t.browserVersion,e)))continue;e|=256}else e|=256}if(i.vendor&&""!==i.vendor)if(h.vendor.includes(i.vendor.toLowerCase()))e|=16;else{if(!s||!o||"intel"!==i.vendor.toLowerCase()||h.isAstcSupported)continue;e|=16}if(i.renderInfo&&""!==i.renderInfo){if(h.renderInfo!==i.renderInfo.toLowerCase())continue;e|=1}if(e>0)return c.stg=a.D.DISABLED,c.errNo=a.E.DEVICE_ON_BLACKLIST,c.errMsg="webrtc is disabled(hit blacklist).",r.default.log("evalWebRTCStrategy() stg:".concat(JSON.stringify(c))),c}return c.stg=s,c.errNo=a.E.SUCCEED,c},isOnWebRTCWhitelist(e){var t,i;if(!e)return!1;r.default.directReport("isOnWebRTCWhitelist() deviceInfo=".concat(JSON.stringify(e)));const a={os:null===(t=e.os)||void 0===t?void 0:t.toLowerCase(),browserName:null===(i=e.browserName)||void 0===i?void 0:i.toLowerCase()};return[{browserName:"chrome",os:["win","mac","ios","android","chromium os"]},{browserName:"edge",os:["win"]},{browserName:"safari",os:["mac","ios"]},{browserName:"mobile safari",os:["ios"]}].some(e=>e.browserName===a.browserName&&e.os.some(e=>a.os.includes(e)))},isLowerThanMinGeneration(e,t,i){try{const r=e.toLowerCase(),a=t.toLowerCase(),s=parseInt(i);if("nvidia"===r){if(a.includes("geforce")){const e=a.indexOf("geforce gt ");if(parseInt(a.slice(e+11))<s)return!0}}else if("intel"===r&&a.includes("hd graphics")){const e=a.indexOf("hd graphics ");if(parseInt(a.slice(e+12))<s)return!0}return!1}catch(e){return r.default.error(e),!1}},isInRangeOfGenerations(e,t,i,a){try{const r=e.toLowerCase(),s=t.toLowerCase();if("intel"===r&&s.includes("hd graphics")){const e=s.indexOf("hd graphics "),t=parseInt(s.slice(e+12));if(t>i&&t<a)return!0}return!1}catch(e){return r.default.error(e),!1}},isOffscreenCanvasSupported:()=>"function"==typeof OffscreenCanvas,isHitBlacklist(e,t,i,a,s){if(!t||""===t)return r.default.error("isHitBlacklist() targetRenderInfo is invalid"),!0;if(!s)return r.default.error("isHitBlacklist() an invalid blacklist configuration object"),!1;if("encoder"!==i&&"decoder"!==i&&"all"!==i)return r.default.error("isHitBlacklist() an invalid codecType(".concat(i,").")),!0;const o=a.toLowerCase();let n=!1;for(const a of s){const s="model"in a,d="codecType"in a,u="renderInfo"in a,l="minGeneration"in a,c="os"in a;let h=null;s&&""!==a.model&&(h=this.replaceSpacesWithUnderscores(a.model.toLowerCase()));let f=null;if(!d){r.default.warn("isHitBlacklist() miss codecType field in the configuration.");continue}if(f=a.codecType,"all"!==f&&"encoder"!==f&&"decoder"!==f){r.default.error("isHitBlacklist() codecType(".concat(f,") should be all/(empty)/encoder/decoder."));continue}let p=null;u&&""!==a.renderInfo&&(p=this.replaceSpacesWithUnderscores(a.renderInfo.toLowerCase()));let _=null;l&&(_=a.minGeneration);let m=null;if(c&&""!==a.os&&(m=a.os.toLowerCase()),!s&&!u){if(!c){r.default.warn("isHitBlacklist() invalid blacklist entry. entry:".concat(a));continue}if(this.isOnOSBlacklist(m)){n=!0;break}}if(u&&""!==p&&(t===p||t.includes(p))&&("all"===f||f===i)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}if(h)if(""!==o){if(h!==o){r.default.warn("isHitBlacklist() model(".concat(h,") in blacklist entry and model(").concat(o,") in whitelist should be same!"));continue}if("all"===f||f===i)if(_&&""!==_){if(this.isLowerThanMinGeneration(e,t,_)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else{if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else if(t.includes(h)&&("all"===f||f===i))if(_&&""!==_){if(this.isLowerThanMinGeneration(e,t,_)){if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}else{if(!c){n=!0;break}if(this.isOnOSBlacklist(m)){n=!0;break}}}return n},isOnOSBlacklist(e){const t=e.toLowerCase();return!("windows"!==t||!this.isWindows())||(!("mac"!==t||!this.isMac())||(!("chromeos"!==t||!this.isChromeOS())||(!("android"!==t||!this.isAndroid())||(!("linux"!==t||!this.isLinux())||!("ios"!==t||!this.is_iOS())))))},isWindows:()=>navigator.platform.indexOf("Win")>-1,isMac:()=>navigator.platform.indexOf("Mac")>-1,isChromeOS(){try{return!!/\bCrOS\b/.test(navigator.userAgent)}catch(e){return!1}},isAndroid(){try{var e=navigator.userAgent||navigator.vendor||window.opera;return!!/android/i.test(e)}catch(e){return!1}},isLinux(){return navigator.platform.indexOf("Linux")>-1&&!this.isChromeOS()},is_iOS(){try{return!!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)}catch(e){return!1}},replaceSpacesWithUnderscores(e){if(!e||""===e)return"";const t=e.trim();return""===t?"":"_".concat(t.replace(/ /g,"_"),"_")},isBrowserVersionHitBlacklist(e,t){if(!e||!t)return r.default.error("compareBrowserVersion() invalid parameters! browserVersion:".concat(e,", blacklistVersion:").concat(t)),!1;const i=t[0];let a=0;"<"==i?a=-1:"="==i?a=0:">"==i?a=1:(r.default.error("isBrowserVersionHitBlacklist() invalid operator! operator:".concat(i)),a=0);const s=t.slice(1),o=e.toString().split("."),n=s.toString().split("."),d=Math.min(o.length,n.length);for(let e=0;e<d;e++){const t=parseInt(o[e],10),i=parseInt(n[e],10);if(isNaN(t)||isNaN(i))return r.default.error("Invalid version number detected!"),!1;if(0==a){if(t!==i)return!1}else if(-1==a){if(t>i)return!1}else if(1==a&&t<i)return!1}return!0}};t.a=s},function(e,t,i){"use strict";i.r(t);var r=i(10),a=i(12),s=i(16),o=i(20);let n=new Map,d=[];function u(e){e.preventDefault()}function l(e,t,i,a,s,o,n){let d=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=s,this.textureindex=i||0,this.texturestride=this.textureindex?3:n?4:6,this.initmask=n||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=d,l.prototype.ROTATION_CLOCK0=0,l.prototype.ROTATION_CLOCK90=1,l.prototype.ROTATION_CLOCK180=2,l.prototype.ROTATION_CLOCK270=3,this.webGLResources=o,o||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(o);var u=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(u),this.dummpyWaterMark=new Uint8Array(u),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=r.VIDEO_INVALID,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function c(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let o=s.canvas.width,n=s.canvas.height;a&&(o=a.width,n=a.height);var d,u,l,c,h=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?i:t,f=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?t:i,p=h/f*n,_=f/h*o;p>o?(d=0,l=1,c=1-(u=(n-_)/2/n)):(u=0,c=1,l=1-(d=(o-p)/2/o)),d=2*d-1,l=2*l-1,u=1-2*u,c=1-2*c;var m=new Float32Array([l,u,d,u,l,c,d,c,l,u,d,u,l,c,d,c]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function h(e,t,i,r,a){var s=e.contextGL,o=r.top/i,n=r.left/t,d=o+(r.height-1)/i,u=n+r.width/t,l=[n,o,u,o,u,d,n,d];a==e.ROTATION_CLOCK90&&(l.unshift(l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK180&&(l.unshift(l[4],l[5],l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK270&&(l.push(l[0],l[1]),l=l.slice(2));var c=l[0],h=l[1];l[0]=l[2],l[1]=l[3],l[2]=c,l[3]=h;var f=new Float32Array([...l,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}l.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},l.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(a.f)(this.contextGL,"WEBGL_lose_context"))},l.prototype.restoreContext=function(){if(this.contextGL)try{var e,t;if(null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost())this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(a.e)("WebGLRestoreTimeout")},1500),null===(t=this.canvasElement)||void 0===t||t.loseContextExtension.restoreContext()}catch(e){Object(a.b)("webgl restoreContext exception",e)}},l.prototype.webgGLContextLostCallback=function(e){Object(a.g)("webglcontextlost event: canvas listener size=".concat(d.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(d.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},l.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const i=d.indexOf(this.canvasID);d.splice(i,1),n.delete(e)}},l.prototype.webGLContextRestoredCallback=function(e){Object(a.g)("webglcontextrestored event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},l.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(a.f)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=n.get(e);t&&this.removeEventListener(e,t),n.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===d.indexOf(this.canvasID)&&(d.push(this.canvasID),d.length>4&&Object(a.g)("webglcanvas listener size=".concat(d.length,", ids:").concat(d.join())))},l.prototype.isWebGL=function(){return this.contextGL},l.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},l.prototype.initContextGL=function(){for(var e,t,i,r=this.canvasElement,s=null,n=["webgl","experimental-webgl","moz-webgl","webkit-3d"],d=0;!s&&d<n.length;){var u=n[d];try{if(o.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};s=r.getContext(u,t)}else s=r.getContext(u,e)}else s=this.contextOptions?r.getContext(u,this.contextOptions):r.getContext(u)}catch(e){s=null}s&&"function"==typeof s.getParameter||(s=null),++d}if(this.contextGL=s,!s||s.isContextLost())return Object(a.b)("Failed when trying to get WebGLContext on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(s,", lost=").concat(null===(i=s)||void 0===i?void 0:i.isContextLost())),void Object(a.e)("InitWebGLFail");s.glInitSucceed=0},l.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"\n attribute vec4 vertexPos;\n attribute vec4 texturePos;\n attribute vec4 masktexturePos;\n varying vec2 textureCoord;\n varying vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(a.g)("webgl Vertex shader failed to compile: "+e.getShaderInfoLog(t));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,"\n precision highp float;\n varying highp vec2 textureCoord;\n varying highp vec2 masktextureCoord;\n \n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n \n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int yuvmode;\n \n const int MAX_ELLIPSE_COUNT = 10;\n uniform int maskFlag; // 0: mask disabled; 1: mask enabled;\n uniform int maskMode; // 0: static mask; 1: dynamic mask;\n uniform vec4 uEllipses[MAX_ELLIPSE_COUNT]; // each ellipse contains (cx, cy, rx, ry) 4-coords\n uniform int uEllipseCount; // how many ellipses will draw\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -0.87078515625,\n 1.1643828125, -0.39176171875, -0.81296875, 0.52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n\n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -0.701,\n 1.0, -0.34413, -0.71414, 0.529135,\n 1.0, 1.772, 0, -0.886,\n 0, 0, 0, 1\n );\n\n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture2D(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n\n if (yuvmode == 1) {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(vSampler, textureCoord).r;\n } else {\n u = texture2D(uSampler, textureCoord).r;\n v = texture2D(uSampler, textureCoord).a;\n }\n\n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n\n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && \n textureCoord.x >= cursorInfo.x && \n textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x + cursorInfo.z && \n textureCoord.y < cursorInfo.y + cursorInfo.w) {\n \n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture2D(cursorSampler, cursorCoord);\n c = c * (1.0 - cursor.a) + cursor * cursor.a;\n }\n }\n } else {\n c = texture2D(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n } else {\n c = texture2D(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture2D(maskSampler, masktextureCoord);\n if (maskMode == 0) {\n // -- handle static mask --\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n } else if (maskMode == 1) {\n // -- handle dynamic mask -- \n bool inEllipse = false; // variable for checking whether the pixel to be drawn hits ellipse\n for (int i = 0; i < MAX_ELLIPSE_COUNT; i++) {\n if (i > uEllipseCount) break;\n\n vec2 ellipseCenter = uEllipses[i].xy;\n vec2 ellipseRadii = uEllipses[i].zw;\n vec2 ellipsePos = masktextureCoord - ellipseCenter;\n\n float ellipseEq = (ellipsePos.x * ellipsePos.x) / (ellipseRadii.x * ellipseRadii.x) + \n (ellipsePos.y * ellipsePos.y) / (ellipseRadii.y * ellipseRadii.y);\n if (ellipseEq <= 1.0) {\n // the pixel in the ellipse range\n inEllipse = true;\n break;\n }\n }\n\n if (inEllipse) {\n c = mask * mask.a + c * (1.0 - mask.a);\n }\n }\n }\n\n if (waterMarkFlag != 1) {\n c.a = 1.0;\n }\n\n gl_FragColor = c;\n }\n"),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||e.isContextLost()||Object(a.g)("webgl Fragment shader failed to compile: "+e.getShaderInfoLog(i));var r=e.createProgram();e.attachShader(r,t),e.attachShader(r,i),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS)||e.isContextLost()||Object(a.g)("webgl Program failed to compile: "+e.getProgramInfoLog(r)),e.useProgram(r),this.shaderProgram=r},l.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var r=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(r),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=i;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var n=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=o}this.texturePosBuffer=a},l.prototype.initTextures=function(e){var t=this.contextGL,i=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var a=this.initTexture();this.yTextureRef=a,this.oyTextureRef=a;var s=this.initTexture();this.uTextureRef=s,this.ouTextureRef=s;var o=this.initTexture();if(this.vTextureRef=o,this.ovTextureRef=o,e){this.BindTextures(r.VIDEO_I420);var n=this.initTexture(),d=t.getUniformLocation(i,"cursorSampler");t.uniform1i(d,this.textureindex*this.texturestride+3),this.cursorTextureRef=n;var u=this.initTexture(),l=t.getUniformLocation(i,"waterMarkSampler");t.uniform1i(l,4),this.waterMarkTextureRef=u;var c=this.initTexture();this.repeatedWaterMarkTextureRef=c;var h=this.initTexture(),f=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=h;var p=t.getUniformLocation(i,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var _=this.initTexture(),m=t.getUniformLocation(i,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=_}var E=t.getUniformLocation(i,"colorRange");this.colorRangeRef=E,this.onlyRGBARef=t.getUniformLocation(i,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(i,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(i,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(i,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(i,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(i,"yuvmode")},l.prototype.BindTextures=function(e){var t=this.contextGL,i=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==r.VIDEO_I420){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"ySampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"vSampler");t.uniform1i(s,0)}else if(e==r.VIDEO_NV12){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,0)}let a=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(s,6)):t.uniform1i(s,0);let o=t.getUniformLocation(i,"cursorSampler");t.uniform1i(o,0);let n=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(n,0)},l.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},l.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},l.prototype.cleanup=function(){let e=this.canvasElement,t=n.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=u,e.addEventListener("webglcontextlost",u,{capture:!1})),this.isAvaiable()){var i=this.contextGL;i.deleteProgram(this.program),i.activeTexture(i.TEXTURE0+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE1+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE2+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),this.textureindex||this.initmask||(i.activeTexture(i.TEXTURE3+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE4+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(this.getRepeatedWatermarkTextureValue(i)),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE5+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null)),i.bindBuffer(i.ARRAY_BUFFER,null),i.deleteTexture(this.yTextureRef),i.deleteTexture(this.uTextureRef),i.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(i.deleteTexture(this.cursorTextureRef),i.deleteTexture(this.waterMarkTextureRef),i.deleteTexture(this.repeatedWaterMarkTextureRef),i.deleteTexture(this.previewVideoTextureRef),i.deleteBuffer(this.vertexPosBuffer),i.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&i.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&i.deleteBuffer(this.masktexturePosBuffer),i.glInitSucceed=0}},l.prototype.drawNextOutputPicture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,i,r,a):this.drawNextOuptutPictureRGBA(e,t,i,r)},l.prototype.updateVertexInfoForMultiView=function(e,t,i,r,a){var s,o,n,d,u=this.contextGL;if(this.isUseFillMode({width:i,height:r,rotation:a}))s=0,o=0,n=1,d=1;else{var l=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,h=l/c*t;h>e?(s=0,n=1,d=1-(o=(t-c/l*e)/2/t)):(o=0,d=1,n=1-(s=(e-h)/2/e))}s=2*s-1,n=2*n-1,o=1-2*o,d=1-2*d;var f=new Float32Array([n,o,s,o,n,d,s,d,1,1,-1,1,1,-1,-1,-1]);u.bindBuffer(u.ARRAY_BUFFER,this.vertexPosBuffer),u.bufferData(u.ARRAY_BUFFER,f,u.DYNAMIC_DRAW)},l.prototype.updateTextureInfoForMultiView=function(e,t,i,r,a,o,n){var d,u,l,c,h=this.contextGL;if(this.isUseFillMode({width:i.width,height:i.height,rotation:r})){const a=r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?n/o:o/n,s=i.left||0,h=i.top||0;if(i.width/i.height>a){const r=i.height*a;d=h/t,u=(Math.round((i.width-r)/2)+s)/e,l=d+(i.height-1)/t,c=u+r/e}else{const r=i.width/a;l=(d=(Math.round((i.height-r)/2)+h)/t)+(r-1)/t,c=(u=s/e)+i.width/e}}else d=Object(s.e)(i.top/t,2),u=Object(s.e)(i.left/e,2),l=Object(s.h)((i.top+i.height-1)/t,2),c=Object(s.h)((i.width-1+i.left)/e,2);var f=[u,d,c,d,c,l,u,l];r==this.ROTATION_CLOCK90&&(f.unshift(f[6],f[7]),f=f.slice(0,8)),r==this.ROTATION_CLOCK180&&(f.unshift(f[4],f[5],f[6],f[7]),f=f.slice(0,8)),r==this.ROTATION_CLOCK270&&(f.push(f[0],f[1]),f=f.slice(2,10));var p=f[0],_=f[1];if(f[0]=f[2],f[1]=f[3],f[2]=p,f[3]=_,a)if(r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270){let e=f[1];f[1]=f[3],f[3]=e,e=f[5],f[5]=f[7],f[7]=e}else f[0]=1-f[0],f[2]=1-f[2],f[4]=1-f[4],f[6]=1-f[6];var m=new Float32Array([...f,1,0,0,0,1,1,0,1]);h.bindBuffer(h.ARRAY_BUFFER,this.texturePosBuffer),h.bufferData(h.ARRAY_BUFFER,m,h.DYNAMIC_DRAW)},l.prototype.drawNextOutputPictureFrame=function(e,t,i,a,s){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var u=this.contextGL,l=(this.texturePosBuffer,this.yTextureRef),f=this.uTextureRef,p=this.vTextureRef;u.enable(u.BLEND),u.blendFunc(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA),s=s||this.ROTATION_CLOCK0;var _=(i=i||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||i.height!=this.croppingParams.height,m=i.top!=this.croppingParams.top||i.left!=this.croppingParams.left,E=u.canvas.width!=this.canvasWidth||u.canvas.height!=this.canvasHeight,g=e!=this.textureWidth||t!=this.textureHeight,S=s!=this.picRotation;(_||E||S)&&c(this,i.width,i.height,s,n),(_||m||g||S)&&h(this,e,t,i,s);let v=o?0:1;v!=this.colorRange&&(u.uniform1i(this.colorRangeRef,v),this.colorRange=v),n?u.viewport(n.x,n.y,n.width,n.height):u.viewport(0,0,u.canvas.width,u.canvas.height),u.uniform1i(this.onlyRGBARef,0),u.uniform1i(this.yuvmodeRef,r.VIDEO_I420),Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.picRotation=s,this.canvasWidth=u.canvas.width,this.canvasHeight=u.canvas.height,u.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),u.clear(u.COLOR_BUFFER_BIT);var C=a,A=e*t;if(u.activeTexture(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,l),d){var R=C.subarray(0,A);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e,t,0,u.LUMINANCE,u.UNSIGNED_BYTE,R)}var T=e/2*t/2;if(u.activeTexture(u.TEXTURE1),u.bindTexture(u.TEXTURE_2D,f),d){var I=C.subarray(A,A+T);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,I)}var b=T;if(u.activeTexture(u.TEXTURE2),u.bindTexture(u.TEXTURE_2D,p),d){var O=C.subarray(A+T,A+T+b);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,O)}u.activeTexture(u.TEXTURE3),u.bindTexture(u.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?u.uniform1i(this.cursorFlagRef,1):d&&u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyCursor),u.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),u.activeTexture(u.TEXTURE5),u.bindTexture(u.TEXTURE_2D,this.previewVideoTextureRef),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyWaterMark);var D=u.getUniformLocation(this.shaderProgram,"maskSampler");u.uniform1i(D,5),this.render(),this.hasWholeFrame=1},l.prototype.updateTextureBlock=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL,o=a;if(!(!this.hasWholeFrame||e<=0||t<=0||i<0||r<0||i+e>this.textureWidth||r+t>this.textureHeight)&&a&&a.length==e*t*3/2){var n=this.yTextureRef,d=this.uTextureRef,u=this.vTextureRef,l=e*t,c=o.subarray(0,l);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.texSubImage2D(s.TEXTURE_2D,0,i,r,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,c);var h=e/2*t/2,f=o.subarray(l,l+h);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,d),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=h,_=o.subarray(l+h,l+h+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,u),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,_)}}},l.prototype.updateCursor=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this.cursorTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},l.prototype.updateWatermark=function(e,t,i){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(this.watermarkData=i,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},l.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},l.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},l.prototype.drawCursor=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(r<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var o=this.yTextureRef,n=this.uTextureRef,d=this.vTextureRef,u=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,d),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,u),e&&this.hasCursor){let e=t/this.croppingParams.width,o=i/this.croppingParams.height,n=r/this.croppingParams.width,d=a/this.croppingParams.height;this.cx=e,this.cy=o,this.cw=n,this.ch=d,s.uniform4f(this.cursorInfoRef,e,o,n,d)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},l.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},l.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},l.prototype.drawNextOuptutPictureRGBA=function(e,t,i,r){if(this.isAvaiable()){var a=r,s=this.canvasElement.getContext("2d"),o=s.getImageData(0,0,e,t);o.data.set(a),s.putImageData(o,0,0)}},l.prototype.isRGBAMode=function(e){return-1!==[r.VIDEO_RGBA,r.VIDEO_BGRA].indexOf(e)},l.prototype.updateRemoteVideoTextures=function(e,t,i,a,s){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var d=this.contextGL,u=this.yTextureRef,l=this.uTextureRef,c=this.vTextureRef;d.enable(d.BLEND),d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);const h=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!a||!a.length||a.length!=e*t*3/2&&!h||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return!1;let f=o?0:1;if(this.colorRange=f,this.rotation=s,Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=d.canvas.width,this.canvasHeight=d.canvas.height,!n)return;if(d.bindTexture(d.TEXTURE_2D,u),h)return void d.texImage2D(d.TEXTURE_2D,0,d.RGBA,e,t,0,d.RGBA,d.UNSIGNED_BYTE,a);var p=a,_=e*t,m=p.subarray(0,_);d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e,t,0,d.LUMINANCE,d.UNSIGNED_BYTE,m);let E=0,g=0;this.videoMode==r.VIDEO_I420?(E=e/2*t/2,g=E):this.videoMode==r.VIDEO_NV12&&(E=e*t/2,g=0);var S=p.subarray(_,_+E);if(d.bindTexture(d.TEXTURE_2D,l),g){d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,S);var v=p.subarray(_+E,_+E+g);d.bindTexture(d.TEXTURE_2D,c),d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,v)}else d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE_ALPHA,e/2,t/2,0,d.LUMINANCE_ALPHA,d.UNSIGNED_BYTE,S);return!0},l.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!i)return;if(!this.isAvaiable())return;var o=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,r),!s)return;o.bindTexture(o.TEXTURE_2D,this.yTextureRef);const n=0,d=o.RGBA,u=o.RGBA,l=o.UNSIGNED_BYTE;o.texImage2D(o.TEXTURE_2D,n,d,u,l,i)},l.prototype.updateSelfMaskImage=function(e,t,i){if(!(e<=0||t<=0)&&i&&i.length==e*t*4&&this.isAvaiable()){var r=this.contextGL;r.bindTexture(r.TEXTURE_2D,this.maskTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i)}},l.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},l.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var i=this.contextGL;let r=this.isRGBAMode(this.videoMode)?1:0;i.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(r,this.hasCursor,this.videoMode),this.initmask&&i.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),i.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.render()},l.prototype.readPixelsSyncRequest=function(e,t,i,r){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==i*r*4||(this.destination=new Uint8Array(i*r*4)),a=this.destination,s.flush(),s.readPixels(e,t,i,r,s.RGBA,s.UNSIGNED_BYTE,a),a}},l.prototype.updateSelfVideoTextures=function(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&i&&i.length%4==0&&this.isAvaiable()){var o=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,r),a&&(o.bindTexture(o.TEXTURE_2D,this.yTextureRef),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,e,t,0,o.RGBA,o.UNSIGNED_BYTE,i))}},l.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var a=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,i,e.width,e.height),a.viewport(e.x,e.y,e.width,e.height),t?(a.enable(a.BLEND),a.blendFunc(a.ZERO,a.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(r.VIDEO_RGBA),this.render()}},l.prototype.isSetWatermark=function(){return this.hasWaterMark},l.prototype.recoverTextures=function(){},l.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},l.prototype.setUniformFlag=function(e,t,i){if(this.isAvaiable()){var a=this.contextGL;a.uniform1i(this.onlyRGBARef,e),a.uniform1i(this.bgraModeRef,e&&i===r.VIDEO_BGRA?1:0),a.uniform1i(this.cursorFlagRef,t),e||a.uniform1i(this.yuvmodeRef,i)}},l.prototype.setVideoMode=function(e){this.videoMode=e},l.prototype.getVideoMode=function(e){return this.videoMode},l.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},l.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},l.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},l.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},l.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},l.prototype.getWatermarkPosition=function(){return this.watermarkPosition},l.prototype.setMultiView=function(e){return this.isMultiView=e},l.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},l.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},l.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},l.prototype.getFillMode=function(){return this.fillMode},l.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},l.prototype.getTextureIndex=function(){return this.textureindex},l.prototype.getTextureWidth=function(){return this.textureWidth},l.prototype.getTextureHeight=function(){return this.textureHeight},l.prototype.getCroppingParams=function(){return this.croppingParams},l.prototype.getIndex=function(){return this.textureindex},l.prototype.getWatermarkWidth=function(){return this.watermarkWidth},l.prototype.getWatermarkHeight=function(){return this.watermarkHeight},l.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},l.prototype.getAttachedCanvas=function(){return this.canvasElement},l.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},l.prototype.isUseFillMode=function(e){let{width:t,height:i,rotation:r}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!i)return!1;const a=r===this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?i/t:t/i;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)},t.default=l},function(e,t,i){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.VB_VIDEOFRAME_COPYTO_ERROR=t.VB_EVENT_TYPE=void 0,function(e){e.VB_INIT_SUCCESS="VB_INIT_SUCCESS",e.VB_INIT_FAILED="VB_INIT_FAILED",e.VB_GENERATED_FRAME="VB_GENERATED_FRAME",e.VB_SEND_FRAME="VB_SEND_FRAME",e.VB_UPDATE_BG="VB_UPDATE_BG",e.VB_PREDICT_DONE="VB_PREDICT_DONE",e.VB_MODEL_READY="VB_MODEL_READY",e.VB_FREE_MEMORY="VB_FREE_MEMORY",e.VB_VIDEO_FORMAT_UNSUPPORTED="VB_VIDEO_FORMAT_UNSUPPORTED",e.VB_WORKER_INIT="VB_WORKER_INIT",e.VB_WORKER_ERROR="VB_WORKER_ERROR",e.VB_RENDER_CANVAS="VB_RENDER_CANVAS",e.VB_RENDER_FRAME="VB_RENDER_FRAME",e.VB_START="VB_START",e.VB_REQUEST_FRAME="VB_REQUEST_FRAME",e.VB_TOGGLE_VB="VB_TOGGLE_VB",e.VB_STOP="VB_STOP",e.VB_MIRROR="VB_MIRROR",e.VB_GENERATE_STREAM="VB_GENERATE_STREAM",e.VB_STOP_STREAM="VB_STOP_STREAM",e.VB_CHANGE_STREAM_CANVAS_SIZE="VB_CHANGE_STREAM_CANVAS_SIZE",e.VB_GENERATE_FIRST_FRAME="VB_GENERATE_FIRST_FRAME",e.VB_UPDATE_STATS="VB_UPDATE_STATS",e.VB_UPDATE_NEED_FRAME="VB_UPDATE_NEED_FRAME",e.VB_UPDATE_FRAME_RATE="VB_UPDATE_FRAME_RATE",e.VB_RESOLUTION_CHANGE="VB_RESOLUTION_CHANGE"}(r||(t.VB_EVENT_TYPE=r={})),t.VB_VIDEOFRAME_COPYTO_ERROR="VB_VIDEOFRAME_COPYTO_ERROR"},function(e,t,i){var r=i(44),a=i(65),s=i(66),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?a(e):s(e)}},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return"number"==typeof e||a(e)&&"[object Number]"==r(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){"use strict";t.a=class{_drawWatermarkWithShadow(e){let{ctx:t,textPos:i,opacity:r,name:a}=e;t.fillStyle="rgba(0, 0, 0, ".concat(r,")"),t.fillText(a,i.x,i.y),t.fillStyle="rgba(255, 255, 255, ".concat(r,")"),t.fillText(a,i.x+1,i.y+1)}_getTransformInfo(e){let t,{canvas:i,position:r}=e;if(1===r)t={x:i.width/2,y:0,rateRadio:0,maxWidth:i.width};else if(2===r)t={x:i.width/2,y:i.height,rateRadio:0,maxWidth:i.width};else if(4===r)t={x:0,y:i.height/2,rateRadio:Math.PI/2,maxWidth:i.height};else if(8===r)t={x:i.width,y:i.height/2,rateRadio:-Math.PI/2,maxWidth:i.height};else{const e=-21*Math.PI/180;t={x:i.width/2,y:i.height/2,rateRadio:e,maxWidth:Math.min(i.width/Math.cos(e),-i.height/Math.sin(e))}}return t.maxWidth>100&&(t.maxWidth-=50),t}_calcTextPos(e){let{position:t,ctx:i,name:r,textWidth:a}=e;const s=this._getPaddingWidth({ctx:i,position:t,name:r});return 1===t?{x:-a.width/2,y:s}:2===t||4===t||8===t?{x:-a.width/2,y:-s}:{x:-a.width/2,y:i.measureText(r[0]).width/2}}_getPaddingWidth(e){let{ctx:t,position:i,name:r}=e;return[1,2,4,8].includes(i)?32:t.measureText(r[0]).width}_setBaseLine(e){let{ctx:t,position:i}=e;t.textBaseline=1===i?"top":2===i||4===i||8===i?"bottom":"middle"}Get_WaterMarkRGBA(e){let{canvas:t,name:i,width:r,height:a,opacity:s=.15,position:o,convertToDataUrl:n}=e;if(!i||!r||!a)return;s=s||.15;r*=1,a*=1,t.width=r,t.height=a;let d=this._getTransformInfo({canvas:t,position:o});var u=t.getContext("2d");let l;if(u.clearRect(0,0,t.width,t.height),u.translate(d.x,d.y),u.rotate(d.rateRadio),this._setBaseLine({ctx:u,position:o}),u.lineWidth=1,u.imageSmoothingEnabled=!0,1==i.length){const e=d.maxWidth/i.length;u.font=e+"px 'Segoe UI'",l=u.measureText(i)}else{let e=16;for(u.font=e+"px 'Segoe UI'",l=u.measureText(i);l.width<d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i});)e+=1,u.font=e+"px 'Segoe UI'",l=u.measureText(i);if(l.width>d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i}))if(e>16)e-=1,u.font=e+"px 'Segoe UI'",l=u.measureText(i);else{const e=i;for(;i.length>5&&l.width>d.maxWidth-2*this._getPaddingWidth({ctx:u,position:o,name:i+"..."});)i=i.slice(0,i.length-1),l=u.measureText(i+"...");e!==i&&(i+="...")}}const c=this._calcTextPos({position:o,ctx:u,name:i,textWidth:l});var h;if(this._drawWatermarkWithShadow({ctx:u,name:i,opacity:s,textPos:c}),n)h=t.toDataURL();else{var f=u.getImageData(0,0,u.canvas.width,u.canvas.height);h=new Uint8Array(f.data.buffer)}return u.rotate(-d.rateRadio),u.translate(-d.x,-d.y),h}Get_Repeated_WaterMarkRGBA(e){let{canvas:t,name:i,width:r,height:a,opacity:s=.15,position:o,convertToDataUrl:n}=e;if(!i||!r||!a)return;s=s||.15;r*=1,a*=1,t.width=r,t.height=a;const d=t.getContext("2d");d.clearRect(0,0,t.width,t.height),d.translate(r/2,a/2),d.rotate(-21*Math.PI/180),d.imageSmoothingEnabled=!0;d.font="".concat(32,"px 'Segoe UI'"),d.textBaseline="top";const u=d.measureText(i),l=.37*u.width;let c,h=0,f=-a;do{let e=h%2==0?l-r:-r;do{d.fillStyle="rgba(0, 0, 0, ".concat(s,")"),d.fillText(i,e,f),d.fillStyle="rgba(255, 255, 255, ".concat(s,")"),d.fillText(i,e+1,f+1),e+=u.width+l}while(e<r);f+=32+l,h++}while(f<a);if(n)c=t.toDataURL();else{const e=d.getImageData(0,0,d.canvas.width,d.canvas.height);c=new Uint8Array(e.data.buffer)}return d.rotate(21*Math.PI/180),d.translate(-r/2,-a/2),c}}},function(e,t,i){var r=i(64),a=i(69);e.exports=function(e,t){var i=a(e,t);return r(i)?i:void 0}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,i){var r=i(27),a=i(32);e.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t,i){var r=i(86),a=i(32);e.exports=function(e,t,i){var s=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return a(i)&&(s="leading"in i?!!i.leading:s,o="trailing"in i?!!i.trailing:o),r(e,t,{leading:s,maxWait:t,trailing:o})}},function(e,t,i){"use strict";i.r(t);let r=function(){};r.prototype={threads:async()=>(async e=>{if(!WebAssembly.validate(e))return!1;try{return(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),!0}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),simd:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]))},t.default=new r},function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var r=i(7);class a{constructor(e){this.mediaType=e,this.firstSelect=null,this.finalSelect=null,this.webRTCProb={probTime:0,probResult:null},this.hasProcess=!1}getProbResult(){var e;const t=JSON.parse(localStorage.getItem("".concat(this.mediaType,"States")));return!1!==(null==t||null===(e=t.webRTCProb)||void 0===e?void 0:e.probResult)}updatewebRTCProbResult(e){this.webRTCProb.probTime=Date.now(),this.webRTCProb.probResult=e,this.updateLocalStorage()}updateLocalStorage(){var e,t;let i=JSON.parse(localStorage.getItem("".concat(this.mediaType,"States")))||{},a={mediaType:this.mediaType,firstSelect:this.firstSelect,finalSelect:this.finalSelect,webRTCProb:{probTime:this.webRTCProb.probTime||(null==i||null===(e=i.webRTCProb)||void 0===e?void 0:e.probTime),probResult:null===this.webRTCProb.probResult?null==i||null===(t=i.webRTCProb)||void 0===t?void 0:t.probResult:this.webRTCProb.probResult}};localStorage.setItem("".concat(this.mediaType,"States"),JSON.stringify(a)),r.default.directReport(a)}}class s{constructor(e){this.mediaType=e}getInfo(){try{return JSON.parse(localStorage.getItem("webcodec".concat(this.mediaType)))||{}}catch(e){return{}}}updateInfo(e,t){try{let i=this.getInfo(),{failed:r,total:a}=i.usedcount||{failed:0,total:0},{avgusedtime:s,usedmaxtime:o}=i.usedtime||{avgusedtime:0,usedmaxtime:0},{avgratio:n,maxratio:d}=i.ratio||{avgratio:0,maxratio:0},{avgdelay:u}=i.delay||{avgdelay:0};e.failed&&(r++,s=(3*s+e.elapsed)/4,o=e.elapsed>o?e.elapsed:o,i.usedtime=Object.assign(i.usedtime||{},{usedmaxtime:o,avgusedtime:s})),e.elapsed>31e3&&e.failed||a++,i.usedcount=Object.assign(i.usedcount||{},{failed:r,total:a}),e.outputIndex>3&&(u=(3*u+e.avgDelay)/4,i.delay=Object.assign(i.delay||{},{avgdelay:u})),e.inputIndex>5&&(n=(3*n+e.ratio)/4,d=e.ratio>d?e.ratio:d,i.ratio=Object.assign(i.ratio||{},{avgratio:n,maxratio:d}));let l=t.osVersion,c=t.browserVersion,h=t.sdkVersion;i.version={osVersion:l,browserVersion:c,sdbversion:h},localStorage.setItem("webcodec".concat(this.mediaType),JSON.stringify(i))}catch(e){r.default.error("<<< update localStorage error",e)}}}class o{constructor(){this.audioSolutionInfo=new a("audio"),this.videoEncoderInfo=new s("videoencode"),this.videoDecoderInfo=new s("videodecode")}getAudioSolutionInfo(){return this.audioSolutionInfo}getVideoEncoderInfo(){return this.videoEncoderInfo}getVideoDecoderInfo(){return this.videoDecoderInfo}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MediaStreamVideoProcessorAgent=t.ShadowVideoFrameProcessor=t.VideoFrameVideoProcessorAgent=void 0;const r=i(21),a=i(94),s=i(95);class o{constructor(e,t,i=!1,a=!1){this.processorName=e,this.port=t,this.isIOSDevice=i,this.VideoFrameNeeded=a,this.frameCallback=null,this.callback=null,this.onMessage=e=>{var t,i;e.data.cmd===r.VideoProcessorEvent.FRAME_CALLBACK?null===(t=this.frameCallback)||void 0===t||t.call(this,e.data.frame):null===(i=this.callback)||void 0===i||i.call(this,e.data.cmd,e.data.data)},this.port.start(),this.port.addEventListener("message",this.onMessage);const s=this.getOutPutCanvas();s?this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_OUTPUT_CANVAS,canvas:s,processorName:e},[s]):this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_OUTPUT_CANVAS,processorName:e})}init(){this.port.postMessage({cmd:r.VideoProcessorEvent.INIT_PROCESSOR,processorName:this.processorName})}addCallback(e){this.callback=e}removeCallback(){this.callback=null}uninit(){this.port.postMessage({cmd:r.VideoProcessorEvent.UNINIT_PROCESSOR,processorName:this.processorName}),this.port.removeEventListener("message",this.onMessage)}getOutPutCanvas(){return null}getStream(){throw new Error("Method not implemented.")}setStream(e){throw new Error("Method not implemented.")}removeStream(){}onFrame(e){throw new Error("Method not implemented.")}addFrameCallback(e){throw new Error("Method not implemented.")}removeFrameCallback(){}}class n extends o{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){this.port.postMessage({cmd:r.VideoProcessorEvent.FRAME_DATA,frame:e,processorName:this.processorName})}addFrameCallback(e){this.frameCallback=e}removeFrameCallback(){this.frameCallback=null}}t.VideoFrameVideoProcessorAgent=n;t.ShadowVideoFrameProcessor=class extends n{constructor(e,t){super(e,t),this.processorName=e,this.port=t}onFrame(e){}};t.MediaStreamVideoProcessorAgent=class extends o{constructor(e,t,i,r){super(e,t,i,r),this.processorName=e,this.port=t,this.isIOSDevice=i,this.VideoFrameNeeded=r,this.initGenerator()}initGenerator(){this.originGenerator||(this.originGenerator="function"==typeof MediaStreamTrackProcessor?new a.TrackProcessorInputStream(this.port,this.processorName,this.VideoFrameNeeded):new a.CanvasCaptureInputStream(this.port,this.processorName,this.isIOSDevice,this.VideoFrameNeeded)),this.targetGenerator||(this.targetGenerator="function"==typeof MediaStreamTrackGenerator?new s.TrackGeneratorOutputStream(this.port,this.processorName):new s.CanvasCaptureOutputStream(this.port,this.processorName))}uninit(){var e,t,i,r;null===(t=null===(e=this.originGenerator)||void 0===e?void 0:e.destroy)||void 0===t||t.call(e),null===(r=null===(i=this.targetGenerator)||void 0===i?void 0:i.destroy)||void 0===r||r.call(i),super.uninit()}getOutPutCanvas(){var e,t;return this.initGenerator(),null===(t=(e=this.targetGenerator).getOutputCanvas)||void 0===t?void 0:t.call(e)}getStream(){return this.targetGenerator.getStream()}setStream(e){this.originGenerator.setStream(e)}removeStream(){this.originGenerator.removeStream()}addFrameCallback(e){this.frameCallback=e}}},function(t,i){t.exports=e},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.screenWakeLock=void 0;const s=a(i(7));const o=new class{constructor(){this.sentinel=null,this.isSupport=()=>"wakeLock"in navigator&&"request"in navigator.wakeLock,this.requestWakeLock=()=>r(this,void 0,void 0,(function*(){return this.isSupport()?this.sentinel&&!this.sentinel.released?Promise.reject("wakeLock has requested"):(yield this.release(),document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("fullscreenchange",this.handleVisibilityChange),this.initWakeLock()):Promise.reject("wakeLock API not available")})),this.release=()=>r(this,void 0,void 0,(function*(){return this.isSupport()?this.sentinel?(document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("fullscreenchange",this.handleVisibilityChange),this.sentinel.release().then(()=>(this.sentinel=null,"WakeLock release success")).catch(e=>(s.default.error("Error WakeLock release:",e),e))):"WakeLock not exist":"wakeLock API not available"})),this.handleVisibilityChange=()=>{"visible"===document.visibilityState&&(!this.sentinel||this.sentinel&&this.sentinel.released)&&(this.sentinel=null,this.initWakeLock())},this.initWakeLock=()=>r(this,void 0,void 0,(function*(){try{return this.sentinel=yield navigator.wakeLock.request("screen"),this.sentinel}catch(e){return s.default.error("Error WakeLock request:",e),Promise.reject(e)}}))}};t.screenWakeLock=o},function(e,t,i){(function(e){!function(i,r){"use strict";var a={};i.PubSub=a;var s=i.define;!function(e){var t={},i=-1;function r(e){var t;for(t in e)if(e.hasOwnProperty(t))return!0;return!1}function a(e,t,i){try{e(t,i)}catch(e){setTimeout(function(e){return function(){throw e}}(e),0)}}function s(e,t,i){e(t,i)}function o(e,i,r,o){var n,d=t[i],u=o?s:a;if(t.hasOwnProperty(i))for(n in d)d.hasOwnProperty(n)&&u(d[n],e,r)}function n(e,i,a,s){var n=function(e,t,i){return function(){var r=String(e),a=r.lastIndexOf(".");for(o(e,e,t,i);-1!==a;)a=(r=r.substr(0,a)).lastIndexOf("."),o(e,r,t,i)}}(e,i,s);return!!function(e){for(var i=String(e),a=Boolean(t.hasOwnProperty(i)&&r(t[i])),s=i.lastIndexOf(".");!a&&-1!==s;)s=(i=i.substr(0,s)).lastIndexOf("."),a=Boolean(t.hasOwnProperty(i)&&r(t[i]));return a}(e)&&(!0===a?n():setTimeout(n,0),!0)}e.publish=function(t,i){return n(t,i,!1,e.immediateExceptions)},e.publishSync=function(t,i){return n(t,i,!0,e.immediateExceptions)},e.subscribe=function(e,r){if("function"!=typeof r)return!1;t.hasOwnProperty(e)||(t[e]={});var a="uid_"+String(++i);return t[e][a]=r,a},e.subscribeOnce=function(t,i){var r=e.subscribe(t,(function(){e.unsubscribe(r),i.apply(this,arguments)}));return e},e.clearAllSubscriptions=function(){t={}},e.clearSubscriptions=function(e){var i;for(i in t)t.hasOwnProperty(i)&&0===i.indexOf(e)&&delete t[i]},e.unsubscribe=function(i){var r,a,s,o="string"==typeof i&&(t.hasOwnProperty(i)||function(e){var i;for(i in t)if(t.hasOwnProperty(i)&&0===i.indexOf(e))return!0;return!1}(i)),n=!o&&"string"==typeof i,d="function"==typeof i,u=!1;if(!o){for(r in t)if(t.hasOwnProperty(r)){if(a=t[r],n&&a[i]){delete a[i],u=i;break}if(d)for(s in a)a.hasOwnProperty(s)&&a[s]===i&&(delete a[s],u=!0)}return u}e.clearSubscriptions(i)}}(a),"function"==typeof s&&s.amd?s((function(){return a})):(void 0!==e&&e.exports&&(t=e.exports=a),t.PubSub=a,e.exports=t=a)}("object"==typeof window&&window||this)}).call(this,i(39)(e))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){var i=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)}},function(e,t,i){var r=i(23).Symbol;e.exports=r},function(e,t,i){(function(t){var i="object"==typeof t&&t&&t.Object===Object&&t;e.exports=i}).call(this,i(42))},function(e,t){var i=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t){function i(t){return e.exports=i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,i(t)}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){if(!t.has(e))throw new TypeError("attempted to "+i+" private field on non-instance");return t.get(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r;!function(a,s){"use strict";var o="model",n="name",d="type",u="vendor",l="version",c="mobile",h="tablet",f="smarttv",p=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},_=function(e,t){return"string"==typeof e&&-1!==m(t).indexOf(m(e))},m=function(e){return e.toLowerCase()},E=function(e,t){if("string"==typeof e)return e=e.replace(/^\s\s*/,""),void 0===t?e:e.substring(0,500)},g=function(e,t){for(var i,r,a,s,o,n,d=0;d<t.length&&!o;){var u=t[d],l=t[d+1];for(i=r=0;i<u.length&&!o&&u[i];)if(o=u[i++].exec(e))for(a=0;a<l.length;a++)n=o[++r],"object"==typeof(s=l[a])&&s.length>0?2===s.length?"function"==typeof s[1]?this[s[0]]=s[1].call(this,n):this[s[0]]=s[1]:3===s.length?"function"!=typeof s[1]||s[1].exec&&s[1].test?this[s[0]]=n?n.replace(s[1],s[2]):void 0:this[s[0]]=n?s[1].call(this,n,s[2]):void 0:4===s.length&&(this[s[0]]=n?s[3].call(this,n.replace(s[1],s[2])):void 0):this[s]=n||void 0;d+=2}},S=function(e,t){for(var i in t)if("object"==typeof t[i]&&t[i].length>0){for(var r=0;r<t[i].length;r++)if(_(t[i][r],e))return"?"===i?void 0:i}else if(_(t[i],e))return"?"===i?void 0:i;return e},v={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},C={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[l,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[l,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,l],[/opios[\/ ]+([\w\.]+)/i],[l,[n,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[l,[n,"Opera"]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[l,[n,"Baidu"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,l],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[l,[n,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[l,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[l,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[l,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[l,[n,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[l,[n,"Smart Lenovo Browser"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure Browser"],l],[/\bfocus\/([\w\.]+)/i],[l,[n,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[l,[n,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[l,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[l,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[l,[n,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[l,[n,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[l,[n,"Firefox"]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 Browser"]],[/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 Browser"],l],[/samsungbrowser\/([\w\.]+)/i],[l,[n,"Samsung Internet"]],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],l],[/metasr[\/ ]?([\d\.]+)/i],[l,[n,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[n,"Sogou Mobile"],l],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i],[n,l],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,"Facebook"],l],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[n,l],[/\bgsa\/([\w\.]+) .*safari\//i],[l,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[l,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[l,[n,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,"Chrome WebView"],l],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[l,[n,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,l],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[l,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[l,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[l,S,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,l],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],l],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[l,[n,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,l],[/(cobalt)\/([\w\.]+)/i],[n,[l,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[["architecture","amd64"]],[/(ia32(?=;))/i],[["architecture",m]],[/((?:i[346]|x)86)[;\)]/i],[["architecture","ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[["architecture","arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[["architecture","armhf"]],[/windows (ce|mobile); ppc;/i],[["architecture","arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[["architecture",/ower/,"",m]],[/(sun4\w)[;\)]/i],[["architecture","sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[["architecture",m]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[o,[u,"Samsung"],[d,h]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[o,[u,"Samsung"],[d,c]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[o,[u,"Apple"],[d,c]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[o,[u,"Apple"],[d,h]],[/(macintosh);/i],[o,[u,"Apple"]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[o,[u,"Sharp"],[d,c]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[o,[u,"Huawei"],[d,h]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[o,[u,"Huawei"],[d,c]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[o,/_/g," "],[u,"Xiaomi"],[d,c]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[o,/_/g," "],[u,"Xiaomi"],[d,h]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[o,[u,"OPPO"],[d,c]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[o,[u,"Vivo"],[d,c]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[o,[u,"Realme"],[d,c]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[o,[u,"Motorola"],[d,c]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[o,[u,"Motorola"],[d,h]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[o,[u,"LG"],[d,h]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[o,[u,"LG"],[d,c]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[o,[u,"Lenovo"],[d,h]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[o,/_/g," "],[u,"Nokia"],[d,c]],[/(pixel c)\b/i],[o,[u,"Google"],[d,h]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[o,[u,"Google"],[d,c]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[o,[u,"Sony"],[d,c]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[o,"Xperia Tablet"],[u,"Sony"],[d,h]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[o,[u,"OnePlus"],[d,c]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[o,[u,"Amazon"],[d,h]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[o,/(.+)/g,"Fire Phone $1"],[u,"Amazon"],[d,c]],[/(playbook);[-\w\),; ]+(rim)/i],[o,u,[d,h]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[o,[u,"BlackBerry"],[d,c]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[o,[u,"ASUS"],[d,h]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[o,[u,"ASUS"],[d,c]],[/(nexus 9)/i],[o,[u,"HTC"],[d,h]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[u,[o,/_/g," "],[d,c]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[o,[u,"Acer"],[d,h]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[o,[u,"Meizu"],[d,c]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[o,[u,"Ulefone"],[d,c]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[u,o,[d,c]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[u,o,[d,h]],[/(surface duo)/i],[o,[u,"Microsoft"],[d,h]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[o,[u,"Fairphone"],[d,c]],[/(u304aa)/i],[o,[u,"AT&T"],[d,c]],[/\bsie-(\w*)/i],[o,[u,"Siemens"],[d,c]],[/\b(rct\w+) b/i],[o,[u,"RCA"],[d,h]],[/\b(venue[\d ]{2,7}) b/i],[o,[u,"Dell"],[d,h]],[/\b(q(?:mv|ta)\w+) b/i],[o,[u,"Verizon"],[d,h]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[o,[u,"Barnes & Noble"],[d,h]],[/\b(tm\d{3}\w+) b/i],[o,[u,"NuVision"],[d,h]],[/\b(k88) b/i],[o,[u,"ZTE"],[d,h]],[/\b(nx\d{3}j) b/i],[o,[u,"ZTE"],[d,c]],[/\b(gen\d{3}) b.+49h/i],[o,[u,"Swiss"],[d,c]],[/\b(zur\d{3}) b/i],[o,[u,"Swiss"],[d,h]],[/\b((zeki)?tb.*\b) b/i],[o,[u,"Zeki"],[d,h]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[u,"Dragon Touch"],o,[d,h]],[/\b(ns-?\w{0,9}) b/i],[o,[u,"Insignia"],[d,h]],[/\b((nxa|next)-?\w{0,9}) b/i],[o,[u,"NextBook"],[d,h]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[u,"Voice"],o,[d,c]],[/\b(lvtel\-)?(v1[12]) b/i],[[u,"LvTel"],o,[d,c]],[/\b(ph-1) /i],[o,[u,"Essential"],[d,c]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[o,[u,"Envizen"],[d,h]],[/\b(trio[-\w\. ]+) b/i],[o,[u,"MachSpeed"],[d,h]],[/\btu_(1491) b/i],[o,[u,"Rotor"],[d,h]],[/(shield[\w ]+) b/i],[o,[u,"Nvidia"],[d,h]],[/(sprint) (\w+)/i],[u,o,[d,c]],[/(kin\.[onetw]{3})/i],[[o,/\./g," "],[u,"Microsoft"],[d,c]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[o,[u,"Zebra"],[d,h]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[o,[u,"Zebra"],[d,c]],[/smart-tv.+(samsung)/i],[u,[d,f]],[/hbbtv.+maple;(\d+)/i],[[o,/^/,"SmartTV"],[u,"Samsung"],[d,f]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[u,"LG"],[d,f]],[/(apple) ?tv/i],[u,[o,"Apple TV"],[d,f]],[/crkey/i],[[o,"Chromecast"],[u,"Google"],[d,f]],[/droid.+aft(\w+)( bui|\))/i],[o,[u,"Amazon"],[d,f]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[o,[u,"Sharp"],[d,f]],[/(bravia[\w ]+)( bui|\))/i],[o,[u,"Sony"],[d,f]],[/(mitv-\w{5}) bui/i],[o,[u,"Xiaomi"],[d,f]],[/Hbbtv.*(technisat) (.*);/i],[u,o,[d,f]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[u,E],[o,E],[d,f]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,f]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[u,o,[d,"console"]],[/droid.+; (shield) bui/i],[o,[u,"Nvidia"],[d,"console"]],[/(playstation [345portablevi]+)/i],[o,[u,"Sony"],[d,"console"]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[o,[u,"Microsoft"],[d,"console"]],[/((pebble))app/i],[u,o,[d,"wearable"]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[o,[u,"Apple"],[d,"wearable"]],[/droid.+; (glass) \d/i],[o,[u,"Google"],[d,"wearable"]],[/droid.+; (wt63?0{2,3})\)/i],[o,[u,"Zebra"],[d,"wearable"]],[/(quest( 2| pro)?)/i],[o,[u,"Facebook"],[d,"wearable"]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[u,[d,"embedded"]],[/(aeobc)\b/i],[o,[u,"Amazon"],[d,"embedded"]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[o,[d,c]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[o,[d,h]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,h]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,c]],[/(android[-\w\. ]{0,9});.+buil/i],[o,[u,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[l,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[l,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,l],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[l,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,l],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[n,[l,S,v]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,S,v],[n,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[l,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,"Mac OS"],[l,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[l,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,l],[/\(bb(10);/i],[l,[n,"BlackBerry"]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[l,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[l,[n,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[l,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[l,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[l,[n,"Chromecast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,"Chromium OS"],l],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,l],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],l],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,l]]},A=function(e,t){if("object"==typeof e&&(t=e,e=void 0),!(this instanceof A))return new A(e,t).getResult();var i=void 0!==a&&a.navigator?a.navigator:void 0,r=e||(i&&i.userAgent?i.userAgent:""),s=i&&i.userAgentData?i.userAgentData:void 0,u=t?function(e,t){var i={};for(var r in e)t[r]&&t[r].length%2==0?i[r]=t[r].concat(e[r]):i[r]=e[r];return i}(C,t):C,f=i&&i.userAgent==r;return this.getBrowser=function(){var e,t={};return t[n]=void 0,t[l]=void 0,g.call(t,r,u.browser),t.major="string"==typeof(e=t[l])?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,f&&i&&i.brave&&"function"==typeof i.brave.isBrave&&(t[n]="Brave"),t},this.getCPU=function(){var e={architecture:void 0};return g.call(e,r,u.cpu),e},this.getDevice=function(){var e={vendor:void 0,model:void 0,type:void 0};return g.call(e,r,u.device),f&&!e[d]&&s&&s.mobile&&(e[d]=c),f&&"Macintosh"==e[o]&&i&&void 0!==i.standalone&&i.maxTouchPoints&&i.maxTouchPoints>2&&(e[o]="iPad",e[d]=h),e},this.getEngine=function(){var e={name:void 0,version:void 0};return g.call(e,r,u.engine),e},this.getOS=function(){var e={name:void 0,version:void 0};return g.call(e,r,u.os),f&&!e[n]&&s&&"Unknown"!=s.platform&&(e[n]=s.platform.replace(/chrome os/i,"Chromium OS").replace(/macos/i,"Mac OS")),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r="string"==typeof e&&e.length>500?E(e,500):e,this},this.setUA(r),this};A.VERSION="1.0.37",A.BROWSER=p([n,l,"major"]),A.CPU=p(["architecture"]),A.DEVICE=p([o,u,d,"console",c,f,h,"wearable","embedded"]),A.ENGINE=A.OS=p([n,l]),void 0!==t?(void 0!==e&&e.exports&&(t=e.exports=A),t.UAParser=A):i(58)?void 0===(r=function(){return A}.call(t,i,t,e))||(e.exports=r):void 0!==a&&(a.UAParser=A);var R=void 0!==a&&(a.jQuery||a.Zepto);if(R&&!R.ua){var T=new A;R.ua=T.getResult(),R.ua.get=function(){return T.getUA()},R.ua.set=function(e){T.setUA(e);var t=T.getResult();for(var i in t)R.ua[i]=t[i]}}}("object"==typeof window?window:this)},function(e,t,i){var r=i(59),a=i(62),s=i(74),o=i(76),n=i(77),d=i(78),u=i(43),l=i(80),c=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(n(e)&&(o(e)||"string"==typeof e||"function"==typeof e.splice||d(e)||l(e)||s(e)))return!e.length;var t=a(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(u(e))return!r(e).length;for(var i in e)if(c.call(e,i))return!1;return!0}},function(e,t,i){"use strict";(function(e){var r=i(34),a=i.n(r),s=i(19),o=i(15),n=i(2),d=i(28),u=i.n(d),l=i(53),c=i.n(l),h=i(3),f=i(5);const p=Object(s.a)("sdk.remoteControl"),_=0,m=0,E=83,g=82,S=84,v=85,C=87,A=88;function R(e){let t=this;this.dom=e.dom,this.socketURL=e.socketURL,this.meetingID=e.meetingID,this.condID=e.condID,this.blobSocket=null;let i=this._keyMouseEventHandler.bind(this);this.keyMouseEventHandler=function(e){t.keyMouseFilters(e).then(e=>{i(e)})},this.keyMouseEventHandlerThrottle=a()((function(e){t.keyMouseEventHandler(e)}),1e3/24),this.pasteOnDocument=this._pasteOnDocument.bind(this),this.copyOnDocument=this._copyOnDocument.bind(this),this.cutOnDocument=this._cutOnDocument.bind(this),this.focus=this._focus.bind(this),this.PUBSUB_SHARING_PARAM_INFO_TOKEN=null,this.preventDefault=this._preventDefault.bind(this),this.browserBlurEventHandler=this._browserBlurEventHandler.bind(this),this.positionMap={canvas:{offsetX:0,offsetY:0},src:{x:0,y:0,w:0,h:0,scaleWidth:0,scaleHeight:0},dst:{x:0,y:0,w:0,h:0}},this.blockedKeyboardEventOfPaste=[],this.keydownupMergeRemoveMap={},this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map={},this.PASTE_MAX_BYTE_LENGTH=64e3,this.currentMousePositionProps={clientX:0,clientY:0,x2video:0,y2video:0},this.isControllerNow=!0,this.remoteOS=f.e.UNKNOWN,this.localOS=this.getLocalOS(),this._blockedCopyKeyboardList=[],this.maxSleep=500}R.prototype={start(){return new Promise(async(e,t)=>{try{p("remote control start"),this.modifyDom(),this.bindEvent(),this.subscribeSharingWidthOrHeightChange(),await this.connectSocket(),this.sendPostionPDU(),this.socketBlobMessageHandler(),e(!0)}catch(e){t(e)}})},destroy(){return new Promise((e,t)=>{try{p("destroy remote control"),this.unbindEvent(),this.uncheckAndClearKeydownupMergeRemoveMap(),this.destroySocket(),o.a.unsubscribe(this.PUBSUB_SHARING_PARAM_INFO_TOKEN),e(!0)}catch(t){p(t),e(!1)}})},modifyDom(){try{this.dom.setAttribute("tabindex","0"),this.dom.focus()}catch(e){}},_focus(){this.dom.focus()},getLocalOS(){let t=e.navigator.platform;return/win/i.test(t)?f.e.WIN:/mac/i.test(t)?f.e.MAC:f.e.UNKNOWN},setIsControlerNow(e){this.isControllerNow=e},blobSocketCheckAndSend(e){this.isControllerNow&&this.blobSocket.send(e)},isKeyboardEvent:e=>!!e&&(e.type&&-1!==["keydown","keyup"].indexOf(e.type.toLowerCase())),isThisKeyIgnoreCase:(e,t)=>e.key&&e.key.toLowerCase()==t.toLowerCase(),async _copyOnDocument(e){if(!this.isFocusNow())return;let t=this._blockedCopyKeyboardList;"done"!=t[t.length-1]&&(this._blockedCopyKeyboardList=[],this._blockedCopyKeyboardList.push("done"),p("copyOnDocument",e),this.processMonitorCtrlMetaWithKey("c"))},async _cutOnDocument(e){this.isFocusNow()&&(p("_cutOnDocument",e),this.processMonitorCtrlMetaWithKey("x"))},processMonitorCtrlMetaWithKey(e){let t=0,i=1,r=2,a=this.remoteOS===f.e.MAC,s={t:"keydown",event_type:1,repeat:!1,alt:!1,shift:!1,capslock:!1,numlock:!0,pduType:v,ctrl:!a,super:a},o=Object.assign({},s,{charCode:0,keyCode:a?91:17,key:a?"Meta":"Control"}),n=Object.assign({},s,{charCode:e.charCodeAt(0),keyCode:e.toUpperCase().charCodeAt(0),key:e}),d=Object.assign({},o,{input_event_type:t}),u=(Object.assign({},o,{input_event_type:r}),Object.assign({},n,{input_event_type:t})),l=(Object.assign({},n,{input_event_type:r}),Object.assign({},o,{t:"keyup",ctrl:!1,super:!1,input_event_type:i})),c=Object.assign({},n,{t:"keyup",ctrl:!1,super:a,input_event_type:i});(a?[d,u,c,l]:[d,u,l,c]).forEach(e=>{this.processEvent(e)})},isFocusNow(){return this.dom===document.activeElement},async _pasteOnDocument(e){if(this.isFocusNow()){let t=(e.clipboardData||window.clipboardData).getData("text");p("_pasteOnDocument",t);let i=[];for(let e=0;e<t.length;e++){let r=t[e],a=c.a.encode(r);for(let e=0;e<a.length;e++)i.push(a.charCodeAt(e))}let r=new ArrayBuffer(8+i.length),a=new Uint8Array(r),s=new DataView(r,4,4),o=new Uint8Array(r,8);a[0]=C,s.setUint32(0,i.length,!0);for(let e=0;e<i.length;e++)o[e]=i[e];i.length>this.PASTE_MAX_BYTE_LENGTH?(this.triggerPasteTextLengthOverflow(),this.dropAllEventFromBlockedKeyboardEventOfPaste()):(this.blobSocketCheckAndSend(r),this.processMonitorCtrlMetaWithKey("v"))}},onReturnCopiedText(e){!this._onReturnCopiedText_list&&(this._onReturnCopiedText_list=[]),this._onReturnCopiedText_list.push(e)},triggerReturnCopiedText(e){this._onReturnCopiedText_list&&this._onReturnCopiedText_list.forEach(t=>t(e))},onPasteTextLengthOverflow(e){!this._onPasteTextLengthOverflow_list&&(this._onPasteTextLengthOverflow_list=[]),this._onPasteTextLengthOverflow_list.push(e)},triggerPasteTextLengthOverflow(){this._onPasteTextLengthOverflow_list&&this._onPasteTextLengthOverflow_list.forEach(e=>e())},dropAllEventFromBlockedKeyboardEventOfPaste(){this.blockedKeyboardEventOfPaste=[]},createParamsFromKeyboardEvent:e=>({key:e.key,code:e.code,shiftKey:e.shiftKey,altKey:e.altKey,repeat:e.repeat,charCode:e.charCode,keyCode:e.keyCode,which:e.which,ctrlKey:e.ctrlKey,metaKey:e.metaKey}),sendAllEventFromBlockedKeyboardEventOfPaste(){for(p("blockedKeyboardEventOfPaste.length",this.blockedKeyboardEventOfPaste.length);this.blockedKeyboardEventOfPaste.length>0;){let e=this.blockedKeyboardEventOfPaste.shift();this._keyMouseEventHandler(e)}},_preventDefault(e){if(-1!==["keydown","keyup"].indexOf(e.type)){let t=["v","c","x"];for(let i=0;i<t.length;i++)if(e.ctrlKey^e.metaKey&&this.isThisKeyIgnoreCase(e,t[i]))return}e.preventDefault()},subscribeSharingWidthOrHeightChange(){let e=this;this.PUBSUB_SHARING_PARAM_INFO_TOKEN=o.a.on(n.SHARING_PARAM_INFO_FROM_SOCKET,(t,i)=>{p("subscribeSharingWidthOrHeightChange",i.body),e.positionMap.dst.w=i.body.logicWidth,e.positionMap.dst.h=i.body.logicHeight,e.positionMap.src.w=i.body.logicWidth,e.positionMap.src.h=i.body.logicHeight,e.sendPostionPDU()})},setDstWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of destination sharing video width/height are not correct");this.positionMap.dst.w=e,this.positionMap.dst.h=t},setSrcWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of source sharing video width/height are not correct");this.positionMap.src.w=e,this.positionMap.src.h=t},setSrcWidthAndHeightAndSendPDU(e,t){if(!e||!t)throw new Error("the value of source sharing video width/height are not correct");this.positionMap.src.w!==e&&this.positionMap.src.h!==t&&(this.setSrcWidthAndHeight(e,t),this.sendPostionPDU())},setSrcOffsetXYAndSendPDU(e,t){e=Math.floor(e),t=Math.floor(t),this.positionMap.canvas.offsetX===e&&this.positionMap.canvas.offsetY===t||(this.setSrcOffsetXY(e,t),this.sendPostionPDU())},setSrcScaleWidthAndHeight(e,t){if(!e||!t)throw new Error("the value of source sharing video scaleWidth/scaleHeight are not correct");this.positionMap.src.scaleWidth=e,this.positionMap.src.scaleHeight=t},setSrcOffsetXY(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=Math.floor(e),r=Math.floor(t);if(!u()(i)&&!u()(r))throw new Error("the value of source offset x or y is not correct");this.positionMap.canvas.offsetX=i,this.positionMap.canvas.offsetY=r},sendPostionPDU(){let e=new ArrayBuffer(36),t=new Uint8Array(e),i=new DataView(e,4),r=new DataView(e,20);t[0]=g,i.setInt32(0,this.positionMap.src.x,!0),i.setInt32(4,this.positionMap.src.y,!0),i.setInt32(8,this.positionMap.src.w,!0),i.setInt32(12,this.positionMap.src.h,!0),r.setInt32(0,this.positionMap.dst.x,!0),r.setInt32(4,this.positionMap.dst.y,!0),r.setInt32(8,this.positionMap.dst.w,!0),r.setInt32(12,this.positionMap.dst.h,!0),p("send position pdu");try{this.blobSocket.send(e)}catch(e){}},unbindEvent(){let e=this.dom;e.removeEventListener("click",this.focus),e.removeEventListener("keydown",this.keyMouseEventHandler),e.removeEventListener("keyup",this.keyMouseEventHandler),document.removeEventListener("paste",this.pasteOnDocument),document.removeEventListener("copy",this.copyOnDocument),document.removeEventListener("cut",this.cutOnDocument),e.removeEventListener("contextmenu",this.preventDefault),e.removeEventListener("wheel",this.preventDefault),e.removeEventListener("dblclick",this.preventDefault),e.removeEventListener("keydown",this.preventDefault),e.removeEventListener("keyup",this.preventDefault),e.removeEventListener("dblclick",this.keyMouseEventHandler),e.removeEventListener("mousedown",this.keyMouseEventHandler),e.removeEventListener("mouseup",this.keyMouseEventHandler),e.removeEventListener("mousemove",this.keyMouseEventHandlerThrottle),e.removeEventListener("wheel",this.keyMouseEventHandler),window.removeEventListener("blur",this.browserBlurEventHandler)},bindEvent(){let e=this.dom;p("dom",e),e.addEventListener("click",this.focus),e.addEventListener("keydown",this.keyMouseEventHandler),e.addEventListener("keyup",this.keyMouseEventHandler),document.addEventListener("paste",this.pasteOnDocument),document.addEventListener("copy",this.copyOnDocument),document.addEventListener("cut",this.cutOnDocument),e.addEventListener("contextmenu",this.preventDefault),e.addEventListener("wheel",this.preventDefault),e.addEventListener("dblclick",this.preventDefault),e.addEventListener("keydown",this.preventDefault),e.addEventListener("keyup",this.preventDefault),e.addEventListener("dblclick",this.keyMouseEventHandler),e.addEventListener("mousedown",this.keyMouseEventHandler),e.addEventListener("mouseup",this.keyMouseEventHandler),e.addEventListener("mousemove",this.keyMouseEventHandlerThrottle),e.addEventListener("wheel",this.keyMouseEventHandler),window.addEventListener("blur",this.browserBlurEventHandler)},recordCurrentMousePosition(e){try{let t=this.positionMap,i=e.clientX,r=e.clientY;Object.assign(this.currentMousePositionProps,{clientX:i,clientY:r,x2video:i-t.canvas.offsetX,y2video:r-t.canvas.offsetY})}catch(e){}},resolvePosition(e){let t=e.clientX,i=e.clientY,r=this.positionMap;return t-=r.canvas.offsetX,i-=r.canvas.offsetY,t*=r.dst.w/r.src.scaleWidth,i*=r.dst.h/r.src.scaleHeight,t=Math.floor(t),i=Math.floor(i),{x:t,y:i}},generateBuffer(e){if(void 0!==e.key&&!/^[\x00-\x7F]*$/.test(e.key))throw new Error("params.key must only contain ascii character");let t=8;(e=Object.assign({v:0,x:0,y:0,dx:0,dy:0,repeat:0},e)).pduType===S&&(t+=4);let i=new ArrayBuffer(t),r=new Uint8Array(i),a=new DataView(i,4),s=new DataView(i,4);if(r[0]=e.pduType,r[1]=63&e.input_event_type,e.pduType===E)a.setUint16(0,e.x,!0),a.setUint16(2,e.y,!0);else if(e.pduType===S)s.setInt16(0,e.x,!0),s.setInt16(2,e.y,!0),s.setInt16(4,e.dx,!0),s.setInt16(6,e.dy,!0);else if(e.pduType===v){let t=new DataView(i,4),a=new DataView(i,6),s=new Uint8Array(i,2);t.setUint16(0,e.keyCode,!0),a.setUint16(0,e.charCode,!0);let o={shift:1,capslock:2,ctrl:4,alt:8,numlock:16,super:32},n=0;Object.keys(o).forEach(t=>{!0===e[t]&&(n+=o[t])}),s[0]=n,e.repeat&&(r[1]=32|r[1])}return i},processEvent(e){this.blobSocket&&this.blobSocketCheckAndSend(this.generateBuffer(e))},debug(e){let t=[],i={};t=e.pduType===v?["t","keyCode","charCode","key"]:["t","x","y","dx","dy","input_event_type"],t.forEach(t=>{i[t]=e[t]}),p("debug",JSON.stringify(i))},blockedPasteKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isPasteEvent(e)?t.blockedKeyboardEventOfPaste.push(e):i(e)})},isPasteEvent(e){let t=this.isThisKeyIgnoreCase(e,"v");return!!(e.ctrlKey^e.metaKey&&t)},isCopyEvent(e){let t=this.isThisKeyIgnoreCase(e,"c");return!!(e.ctrlKey^e.metaKey&&t)},isCutEvent(e){let t=this.isThisKeyIgnoreCase(e,"x");return!!(e.ctrlKey^e.metaKey&&t)},returnNewEventByTransformCtrlKeyOrCommandKey(e){let t=this.createParamsFromKeyboardEvent(e);switch(this.remoteOS){case f.e.WIN:Object.assign(t,{ctrlKey:!0,metaKey:!1});break;case f.e.MAC:Object.assign(t,{ctrlKey:!1,metaKey:!0});break;case f.e.UNKNOWN:}return new e.constructor(e.type,t)},transformCtrlCAndCommandC(e){let t=this;return new Promise((i,r)=>{if(this.isKeyboardEvent(e)&&(e.ctrlKey||e.metaKey)&&t.isThisKeyIgnoreCase(e,"c")){t.createParamsFromKeyboardEvent(e);i(t.returnNewEventByTransformCtrlKeyOrCommandKey(e))}else i(e)})},keyMouseEventHandlerFilter_MatainKeyDownUpMergeMap(e){return new Promise((t,i)=>{try{this.isKeyboardEvent(e)&&e.key&&("keydown"!==e.type||e.repeat||(this.keydownupMergeRemoveMap[e.key]={t:+new Date,e:e}),"keydown"===e.type&&e.repeat&&delete this.keydownupMergeRemoveMap[e.key],"keyup"===e.type&&delete this.keydownupMergeRemoveMap[e.key])}catch(e){p.error(e)}t(e)})},_browserBlurEventHandler(){this._checkAndClearKeydownupMergeRemoveMap(this.maxSleep,!0)},checkAndClearKeydownupMergeRemoveMap(){let e=this;this.checkAndClearKeydownupMergeRemoveMapInterval=setInterval(()=>{e._checkAndClearKeydownupMergeRemoveMap(this.maxSleep)},100)},_checkAndClearKeydownupMergeRemoveMap(e,t){let i=this.keydownupMergeRemoveMap;Object.keys(i).forEach(r=>{let a=i[r];if(+new Date-a.t>=e||t){let e=new a.e.constructor("keyup",a.e);try{this._keyMouseEventHandler(e)}catch(e){}delete this.keydownupMergeRemoveMap[r]}})},uncheckAndClearKeydownupMergeRemoveMap(){this._checkAndClearKeydownupMergeRemoveMap(0),clearInterval(this.checkAndClearKeydownupMergeRemoveMapInterval)},keyMouseFilters(e){return new Promise((t,i)=>{t(e)}).then(e=>this.blockedPasteKeyboard(e)).then(e=>this.blockedCopyKeyboard(e)).then(e=>this.blockedCutKeyboard(e)).then(e=>this.keyMouseEventHandlerFilter_MatainKeyDownUpMergeMap(e)).then(e=>this.blockedSomeKeyboardEventNotHaveKeydownBefore(e)).then(e=>this.keyMouseEventHandlerFilter_EVERY_KEYUP_MUST_HAVE_KEYDOWN_BEFORE(e))},blockedSingleMetaKey(e){return new Promise((t,i)=>{this.isKeyboardEvent(e)&&e.key&&(/command/i.test(e.key)||/meta/i.test(e.key)||/control/i.test(e.key))&&!e.shiftKey&&!e.altKey&&e.ctrlKey^e.metaKey||t(e)})},blockedCutKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isCutEvent(e)||i(e)})},blockedCopyKeyboard(e){let t=this;return new Promise((i,r)=>{t.isKeyboardEvent(e)&&t.isCopyEvent(e)?t._blockedCopyKeyboardList.push(e):i(e)})},blockedSomeKeyboardEventNotHaveKeydownBefore(e){return new Promise((t,i)=>{if(this.isKeyboardEvent(e)&&e.key){let t=!1;if(["x","c","v"].forEach(i=>{this.isThisKeyIgnoreCase(e,i)&&(t=!0)}),"keyup"===e.type&&t){if(!!!this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key])return}}t(e)})},keyMouseEventHandlerFilter_EVERY_KEYUP_MUST_HAVE_KEYDOWN_BEFORE(e){return new Promise((t,i)=>{try{if(this.isKeyboardEvent(e)&&e.key&&("keydown"===e.type&&(this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key]=e),"keyup"===e.type)){let t=!!this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key];delete this.keyMouseEventHandlerFilter_every_keyup_must_have_keydown_before_Map[e.key];let i=!1;if(["meta"].forEach(t=>{this.isThisKeyIgnoreCase(e,t)&&(i=!0)}),!t&&!i){p.warn("keyup trigger, but no keydown before");let t=new e.constructor("keydown",e);this._keyMouseEventHandler(t)}}}catch(e){p.error(e)}t(e)})},_keyMouseEventHandler(e){this.isKeyboardEvent(e)&&p("_keyMouseEventHandler keyboard",e);let t={},i={keydown:0,keyup:1,keychar:2},r={mousemove:0,mousedown:{left:1,right:4,middle:7},mouseup:{left:2,right:5,middle:8},mouseleftdbldown:3,mouserightdbldown:6,wheel:10},a=e.getModifierState?function(t){return e.getModifierState(t)}:function(e,t){return t},s=_,o=e.key&&1===e.key.length;if(-1!==["keydown","keyup"].indexOf(e.type))t.event_type=1,s=v,void 0!==i[e.type]&&(t.input_event_type=i[e.type]);else{if(-1===["mousedown","mouseup","mousemove","wheel","click","dblclick","contextmenu"].indexOf(e.type))return void p.warn("the event type cannot be handled");{t.event_type=0,this.recordCurrentMousePosition(e);let i=this.resolvePosition(e);if(Object.assign(t,{x:i.x,y:i.y}),s="wheel"===e.type?S:E,void 0!==r[e.type]&&(t.input_event_type=r[e.type]),-1!==["mousedown","mouseup"].indexOf(e.type)){let i;switch(e.button){case 0:i="left";break;case 1:i="middle";break;case 2:i="right";break;default:i="left"}t.input_event_type=r[e.type][i]}-1!==["dblclick"].indexOf(e.type)&&(t.input_event_type=r.mouseleftdbldown)}}if("wheel"===e.type){let i={deltaX:"dx",deltaY:"dy"};Object.keys(i).forEach(r=>{e[r]&&(t[i[r]]=e[r]>0?-100:100)})}const n=this.ctrlMetaConvert({keyCode:e.keyCode,key:e.key,ctrlKey:e.ctrlKey,metaKey:e.metaKey});Object.assign(t,{t:e.type,pduType:s,keyCode:n.keyCode,charCode:o?e.key.charCodeAt(0):0,key:n.key,repeat:e.repeat,ctrl:n.ctrlKey,alt:e.altKey,super:n.metaKey,shift:e.shiftKey,capslock:a("CapsLock",!1),numlock:a("NumLock",!1)}),this.isKeyboardEvent(e)&&p("processEvent",JSON.stringify(t)),this.processEvent(t)},ctrlMetaConvert(e){const t=e.metaKey,i=e.ctrlKey;return(this.remoteOS===f.e.MAC&&this.localOS===f.e.WIN||this.remoteOS===f.e.WIN&&this.localOS===f.e.MAC)&&e.key&&(/Meta/i.test(e.key)?(e.ctrlKey=!0,e.keyCode=17,e.metaKey=i,e.key="Control"):/Control/i.test(e.key)&&(e.metaKey=!0,e.keyCode=91,e.ctrlKey=t,e.key="Meta")),e},isCapslock(e){var t=e.keyCode,i=e.key,r=e.shiftKey;return!!/[a-zA-Z]/.test(i)&&(i.charCodeAt(0)!==t?!r:r)},async stop(){this.blobSocket&&this.blobSocket.close(),this.blobSocket=null},async connectSocket(){var e=await this.createBlobSocket("".concat(this.socketURL,"/wc/media/").concat(this.meetingID,"?type=r&mode=2&cid=").concat(this.condID));return e.binaryType="blob",this.blobSocket=e,!0},socketBlobMessageHandler(){if(this.blobSocket){let e=this;this.blobSocket.addEventListener("message",(async function(t){let i=t.data,r=await h.default.readBlobAsBuffer(i,i.size),a=new Int8Array(r),s=a[0];if(s===A&&e.isControllerNow){let t=i.slice(8),r=await h.default.readBlob(t),s=a[4];p("COPY_TEXT_FROM_RWG",r,s),e.triggerReturnCopiedText({data:r,x:e.currentMousePositionProps.x2video,y:e.currentMousePositionProps.y2video})}s===m&&e.blobSocket.send(r)}))}},destroySocket(){try{this.blobSocket.close(),this.blobSocket=null}catch(e){p("destroySocket",e)}},createBlobSocket:e=>new Promise((t,i)=>{var r=new WebSocket(e);r.addEventListener("open",()=>{}),r.addEventListener("message",e=>{try{let i=JSON.parse(e.data);0===i.evt&&i.body&&t(r)}catch(e){}}),r.addEventListener("error",e=>{i(e)}),r.addEventListener("close",()=>{i(new Error("socket close"))})}),setRemoteOS(e){void 0!==e&&(this.remoteOS=e)}},t.a=R}).call(this,i(42))},function(e,t,i){!function(e){var t,i,r,a=String.fromCharCode;function s(e){for(var t,i,r=[],a=0,s=e.length;a<s;)(t=e.charCodeAt(a++))>=55296&&t<=56319&&a<s?56320==(64512&(i=e.charCodeAt(a++)))?r.push(((1023&t)<<10)+(1023&i)+65536):(r.push(t),a--):r.push(t);return r}function o(e){if(e>=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function n(e,t){return a(e>>t&63|128)}function d(e){if(0==(4294967168&e))return a(e);var t="";return 0==(4294965248&e)?t=a(e>>6&31|192):0==(4294901760&e)?(o(e),t=a(e>>12&15|224),t+=n(e,6)):0==(4292870144&e)&&(t=a(e>>18&7|240),t+=n(e,12),t+=n(e,6)),t+=a(63&e|128)}function u(){if(r>=i)throw Error("Invalid byte index");var e=255&t[r];if(r++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function l(){var e,a;if(r>i)throw Error("Invalid byte index");if(r==i)return!1;if(e=255&t[r],r++,0==(128&e))return e;if(192==(224&e)){if((a=(31&e)<<6|u())>=128)return a;throw Error("Invalid continuation byte")}if(224==(240&e)){if((a=(15&e)<<12|u()<<6|u())>=2048)return o(a),a;throw Error("Invalid continuation byte")}if(240==(248&e)&&(a=(7&e)<<18|u()<<12|u()<<6|u())>=65536&&a<=1114111)return a;throw Error("Invalid UTF-8 detected")}e.version="3.0.0",e.encode=function(e){for(var t=s(e),i=t.length,r=-1,a="";++r<i;)a+=d(t[r]);return a},e.decode=function(e){t=s(e),i=t.length,r=0;for(var o,n=[];!1!==(o=l());)n.push(o);return function(e){for(var t,i=e.length,r=-1,s="";++r<i;)(t=e[r])>65535&&(s+=a((t-=65536)>>>10&1023|55296),t=56320|1023&t),s+=a(t);return s}(n)}}(t)},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return!0===e||!1===e||a(e)&&"[object Boolean]"==r(e)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatisticHelper=void 0;t.StatisticHelper=class{constructor(){this.timeMap=new Map,this.baseTime=0,this.totalTime=0}flushTimeMap(){const e=performance.now(),t=this.timeMap.get(this.status)||0,i=e-this.baseTime;this.timeMap.set(this.status,t+i),this.baseTime=e,this.totalTime+=i}start(e){this.status=e,this.baseTime=performance.now()}update(e){e!==this.status&&(this.flushTimeMap(),this.status=e)}end(){this.flushTimeMap();const e={};for(const[t,i]of this.timeMap)e[String(t)]=Number((i/this.totalTime*100).toFixed(2));return e}}},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(i[r[a]]=e[r[a]])}return i},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(26),n=s(i(35)),d=i(2),u=s(i(92)),l=s(i(93));class c{constructor(e){this.isVBReady=!1,this.videoStream=null,this.isVBInitializing=!1,this.receiveTimer=null,this.msgChannel=null,this.isEnabled=!0,this.trackProcessor=null,this.isVBRunning=!1,this.frameRate=24,this.isStreamEnabled=!1,this.destoryed=!1,this._needFrame=!1,this._backend="",this.isMetadataLoaded=!1,this.isCapturing=!1,this.isReportVideoFrameError=!1;const t=e||{},{canvas:i,canvasID:r,bgImage:s,cdnPath:o}=t,n=a(t,["canvas","canvasID","bgImage","cdnPath"]);if(this.cdnPath=o||c.cdnPath,!this.cdnPath)throw new Error("VB module: cdnPath is not provided");this.vbWorkerUrl=this.cdnPath+"/vb_worker.min.js",this.initParam=n,this._needFrame=n.needFrame,i&&(this.cvsEle="string"==typeof i?document.querySelector("#"+i):i),s&&(this.bgImage=s),this.handle_message_from_vb_worker=this.handle_message_from_vb_worker.bind(this);const d=navigator.userAgent.toLocaleLowerCase();this.isSafari=d.includes("safari")&&!d.includes("chrome")&&!d.includes("chromium"),this.vbLoadingTimer=new l.default,this.handleLoadMetadata=this.handleLoadMetadata.bind(this),this.stats={fps:0,receivingFps:0,receivedFrames:0,generatedFrames:0,width:0,height:0}}set needFrame(e){this._needFrame=e,this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_NEED_FRAME,payload:e})}get needFrame(){return this._needFrame}get backend(){return this._backend}set ontimeout3s(e){this.vbLoadingTimer.ontimeout3s=e}set ontimeout10s(e){this.vbLoadingTimer.ontimeout10s=e}static isSupportVB(){return r(this,void 0,void 0,(function*(){try{const e=yield n.default.simd();return navigator.hardwareConcurrency&&navigator.hardwareConcurrency>2&&e&&"function"==typeof OffscreenCanvas}catch(e){return!1}}))}sendCanvas(){if(this.cvsEle){const e=this.cvsEle.transferControlToOffscreen();this.postMessage({cmd:o.VB_EVENT_TYPE.VB_RENDER_CANVAS,payload:e},[e])}}generateVBStream(){if(this.vbTrackGenerator){const e=this.vbTrackGenerator.writable;this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM,payload:e},[e])}else if(this.streamCanvas)if(this.isSafari){const e=this.streamCanvas.transferControlToOffscreen();this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM,payload:e},[e])}else this.streamRender=new u.default(this.streamCanvas,c.VB_STREAM_CANVAS),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM})}initialize(){return this.isVBReady?Promise.resolve():(this.isVBInitializing||(this.isVBInitializing=!0,this.vbLoadingTimer.isVBPredictDone=!1,this.initPromise=new Promise((e,t)=>r(this,void 0,void 0,(function*(){this.initReject=t,this.initResolve=e;try{const e=yield fetch(this.vbWorkerUrl);if(e.ok){const t=yield e.arrayBuffer();if(this.destoryed)return;const i=window.URL.createObjectURL(new Blob([t]));this.worker=new Worker(i,{name:c.VB_WORKER_NAME}),this.worker.addEventListener("message",this.handle_message_from_vb_worker),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_WORKER_INIT,payload:Object.assign(Object.assign({},this.initParam),{cdnPath:this.cdnPath})}),this.sendCanvas(),window.URL.revokeObjectURL(i)}else{const{url:i,status:r}=e;this.isVBInitializing=!1,t(`Fetch worker file failed. url: ${i}, status: ${r}`)}}catch(e){this.isVBInitializing=!1,t(e)}})))),this.initPromise)}send_frame(e){this.isVBReady&&("format"in e?this.postMessage({cmd:o.VB_EVENT_TYPE.VB_SEND_FRAME,payload:e},[e]):this.postMessage({cmd:o.VB_EVENT_TYPE.VB_SEND_FRAME,payload:e},[e.data.buffer]))}Crop_Mask_Bg_16V9(){let e,t,i,r=0,a=this.bgImage.width,s=this.bgImage.height;return 16/9*s>=a?(i=a,r=a/(16/9),e=0,t=(s-r)/2):(i=s*(16/9),r=s,e=(a-i)/2,t=0),{sx:e,sy:t,sw:i,sh:r}}set_background_image(e){if(this.bgImage=e,!this.isVBReady)return!1;const t=this.Crop_Mask_Bg_16V9();let i,r,a,s,n,d;i=t.sx,r=t.sy,a=t.sw,s=t.sh,a>1920?(n=1920,d=1080):(n=a,d=s),this.bgConvertCanvas||(this.bgConvertCanvas=new OffscreenCanvas(n,d)),this.bgConvertCanvas.width=n,this.bgConvertCanvas.height=d;let u=null;try{u=this.bgConvertCanvas.getContext("2d",{willReadFrequently:!0})}catch(e){}finally{u||(u=this.bgConvertCanvas.getContext("2d"))}if(!u)return!1;u.drawImage(e,i,r,a,s,0,0,this.bgConvertCanvas.width,this.bgConvertCanvas.height);let l=u.getImageData(0,0,this.bgConvertCanvas.width,this.bgConvertCanvas.height);return this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_BG,payload:l}),"close"in e&&e.close(),!0}set_background_blur(){this.isVBReady&&this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_BG,payload:"blur"})}handle_message_from_vb_worker(e){const{cmd:t}=e.data;switch(c.EXTERNAL_EVENTS.has(t)&&(t!==o.VB_EVENT_TYPE.VB_GENERATED_FRAME||this._needFrame)&&this.callback&&this.callback(e.data),t){case o.VB_EVENT_TYPE.VB_MODEL_READY:this.vbLoadingTimer.start();break;case o.VB_EVENT_TYPE.VB_PREDICT_DONE:{const{payload:t}=e.data;this.vbLoadingTimer.isVBPredictDone=!0,this.vbLoadingTimer.clear(),this._backend=t;break}case o.VB_EVENT_TYPE.VB_INIT_FAILED:{const{payload:t}=e.data;this.isVBInitializing=!1,this.initReject(t);break}case o.VB_EVENT_TYPE.VB_INIT_SUCCESS:this.isVBReady=!0,this.isVBInitializing=!1,this.bgImage&&this.set_background_image(this.bgImage),this.generateVBStream(),this.initResolve();break;case o.VB_EVENT_TYPE.VB_REQUEST_FRAME:if(this.updateConstraints(),this.captureVideoEle&&this.isVideoPlaying(this.captureVideoEle))if(window.VideoFrame){if(this.isMetadataLoaded)try{const e=new VideoFrame(this.captureVideoEle,{timestamp:1e3*performance.now()});this.send_frame(e),e.close()}catch(e){this.callback&&!this.isReportVideoFrameError&&(this.callback({cmd:o.VB_EVENT_TYPE.VB_WORKER_ERROR,payload:e}),this.isReportVideoFrameError=!0)}}else if(this.captureCtx){this.captureCtx.drawImage(this.captureVideoEle,0,0);const e=this.captureCtx.getImageData(0,0,this.captureVideoEle.videoWidth,this.captureVideoEle.videoHeight);this.streamRender&&this.isStreamEnabled&&!this.isEnabled&&this.streamRender.render(e),this.send_frame(e)}break;case o.VB_EVENT_TYPE.VB_GENERATED_FRAME:{const t=e.data.payload,{data_ptr:i}=t;this.streamRender&&this.isStreamEnabled&&this.streamRender.render(t),i&&this.freeMemory(i);break}case o.VB_EVENT_TYPE.VB_UPDATE_STATS:this.stats=e.data.payload;break;case o.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE:{const{width:t,height:i}=e.data.payload;this.stats.width=t,this.stats.height=i}}}onMessage(e){this.callback=e}createCaptureEle(){window.MediaStreamTrackProcessor||(this.captureVideoEle=document.querySelector("#"+c.VB_CAPTURE_VIDEO),this.captureVideoEle||(this.captureVideoEle=document.createElement("video"),this.captureVideoEle.autoplay=!0,this.captureVideoEle.playsInline=!0,this.captureVideoEle.id=c.VB_CAPTURE_VIDEO,this.captureVideoEle.style.position="fixed",this.captureVideoEle.style.width="1px",this.captureVideoEle.style.height="1px",this.captureVideoEle.style.bottom="0px",this.captureVideoEle.style.right="0px",this.captureVideoEle.muted=!0,document.body.appendChild(this.captureVideoEle)),this.captureCanvas||window.VideoFrame||(this.captureCanvas=document.createElement("canvas"),this.captureCtx=this.captureCanvas.getContext("2d")))}isVideoPlaying(e){return(e.paused||e.ended)&&e.play(),e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}postMessage(e,t){var i,r;t?null===(i=this.worker)||void 0===i||i.postMessage(e,t):null===(r=this.worker)||void 0===r||r.postMessage(e)}updateStreamCanvasSize(e,t){this.streamCanvas&&(this.isSafari?this.postMessage({cmd:o.VB_EVENT_TYPE.VB_CHANGE_STREAM_CANVAS_SIZE,payload:{width:e,height:t}}):(this.streamCanvas.width=e,this.streamCanvas.height=t))}updateConstraints(){const e=this.videoStream.getVideoTracks()[0],{width:t,height:i,frameRate:r}=e.getSettings();t&&i&&(!this.streamCanvas||t===this.streamCanvas.width&&i===this.streamCanvas.height||this.updateStreamCanvasSize(t,i),this.captureCanvas&&(t!==this.captureCanvas.width&&(this.captureCanvas.width=t),i!==this.captureCanvas.height&&(this.captureCanvas.height=i))),r&&this.frameRate!=Math.min(r,24)&&(this.frameRate=Math.min(r,24),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_UPDATE_FRAME_RATE,payload:this.frameRate}))}captureVideo(e){return r(this,void 0,void 0,(function*(){if(this.isVBReady||this.isVBInitializing?this.isVBInitializing&&(yield this.initPromise):yield this.initialize(),this.isCapturing)return Promise.reject("Capture is already started");let t=!0;if("id"in e){if(!e.active)return Promise.reject("stream is not active");this.videoStream&&this.videoStream.id===e.id?t=!1:(this.stopCapture(),this.videoStream=e)}else if(this.videoStream&&this.captureConf===e)t=!1;else{this.stopCapture(),this.isCapturing=!0;try{this.videoStream=yield navigator.mediaDevices.getUserMedia(Object.assign(Object.assign({},e),{audio:!1})),this.captureConf=e,this.isCapturing=!1}catch(e){return this.isCapturing=!1,Promise.reject(e)}}if(this.createCaptureEle(),t){let e;if(!(e=this.videoStream.getVideoTracks()[0]))return Promise.reject("No video track in stream");{const t=e.getSettings(),{width:i=0,height:r=0,frameRate:a=24}=t;if(this.updateStreamCanvasSize(i,r),this.frameRate=Math.min(a,24),window.MediaStreamTrackProcessor){this.trackProcessor=new window.MediaStreamTrackProcessor({track:e});const t=this.trackProcessor.readable;this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START,payload:{videoStream:t,frameRate:this.frameRate}},[t])}else this.captureVideoEle&&(this.isMetadataLoaded=!1,this.captureVideoEle.addEventListener("loadedmetadata",this.handleLoadMetadata),this.captureVideoEle.srcObject=this.videoStream,this.captureVideoEle.play(),this.captureCanvas&&(this.captureCanvas.width=i,this.captureCanvas.height=r),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START,payload:{frameRate:this.frameRate}}))}}else{if(this.isVBRunning)return;this.videoStream.getVideoTracks()[0].enabled=!0,this.captureVideoEle&&this.captureVideoEle.play(),this.postMessage({cmd:o.VB_EVENT_TYPE.VB_START})}this.isVBRunning=!0}))}stopCapture(e=!0){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_STOP,payload:e}),this.captureVideoEle&&this.captureVideoEle.pause(),this.videoStream&&e&&(this.videoStream.getTracks().forEach(e=>{e.stop()}),this.videoStream=null),this.isVBRunning=!1}setMirror(e){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_MIRROR,payload:e})}freeMemory(e){this.isVBReady&&this.postMessage({cmd:o.VB_EVENT_TYPE.VB_FREE_MEMORY,payload:e})}startReceiveMode(e){return e&&(this.captureConf=e),this.msgChannel||(this.msgChannel=new MessageChannel,this.msgChannel.port1.onmessage=e=>{var t;const{type:i,frame:r}=e.data;this.receiveTimer&&clearTimeout(this.receiveTimer),i===d.UNIFIED_VB_FRAME&&r?(null===(t=this.msgChannel)||void 0===t||t.port1.postMessage({type:d.UNIFIED_VB_ACK}),this.isEnabled?(this.isVBRunning&&this.stopCapture(),this.renderFrame(r)):r.close(),this.isSafari||(this.receiveTimer=setTimeout(()=>{this.captureConf&&!this.isVBRunning&&this.captureVideo(this.captureConf)},1e3))):i!==d.UNIFIED_VB_PAUSE&&i!==d.UNIFIED_VB_STOP||(this.captureConf&&!this.isVBRunning&&this.captureVideo(this.captureConf),i===d.UNIFIED_VB_STOP&&this.msgChannel&&(this.msgChannel.port1.onmessage=null,this.msgChannel=null))}),this.msgChannel.port2}enable(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_TOGGLE_VB,payload:!0}),this.isEnabled=!0}disable(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_TOGGLE_VB,payload:!1}),this.isEnabled=!1,!this.isVBRunning&&this.msgChannel&&this.captureConf&&(this.captureVideo(this.captureConf).catch(e=>{}),clearTimeout(this.receiveTimer))}renderFrame(e){return r(this,void 0,void 0,(function*(){this.postMessage({cmd:o.VB_EVENT_TYPE.VB_RENDER_FRAME,payload:e}),"close"in e&&e.close()}))}destory(){this.destoryed=!0,this.stopCapture(),this.vbLoadingTimer.clear(),this.msgChannel&&(this.msgChannel.port2.onmessage=null),this.captureVideoEle&&document.body.removeChild(this.captureVideoEle),this.worker&&(this.worker.removeEventListener("message",this.handle_message_from_vb_worker),this.worker.terminate())}createStream(){if(this.isStreamEnabled=!0,this.vbStream)return this.postMessage({cmd:o.VB_EVENT_TYPE.VB_GENERATE_STREAM}),this.vbStream;if(window.MediaStreamTrackGenerator)this.vbTrackGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.vbStream=new MediaStream([this.vbTrackGenerator]);else{if(this.streamCanvas=document.createElement("canvas"),this.videoStream){const e=this.videoStream.getVideoTracks()[0];if(e){const{width:t=0,height:i=0}=e.getSettings();this.streamCanvas.width=t,this.streamCanvas.height=i}}this.vbStream=this.streamCanvas.captureStream(24)}const e=this.vbStream.getVideoTracks()[0];return e&&(e.getStats=()=>this.stats),this.isVBReady&&this.generateVBStream(),this.vbStream}stopStream(){this.vbStream&&(this.isStreamEnabled=!1,this.postMessage({cmd:o.VB_EVENT_TYPE.VB_STOP_STREAM}))}handleLoadMetadata(){this.isMetadataLoaded=!0,this.captureVideoEle.removeEventListener("loadedmetadata",this.handleLoadMetadata)}}if(c.VB_WORKER_NAME="vb_worker",c.VB_CAPTURE_VIDEO="VB_CAPTURE_VIDEO",c.VB_STREAM_CANVAS="VB_STREAM_CANVAS",c.EXTERNAL_EVENTS=new Set([o.VB_EVENT_TYPE.VB_GENERATED_FRAME,o.VB_EVENT_TYPE.VB_INIT_FAILED,o.VB_EVENT_TYPE.VB_INIT_SUCCESS,o.VB_EVENT_TYPE.VB_MODEL_READY,o.VB_EVENT_TYPE.VB_PREDICT_DONE,o.VB_EVENT_TYPE.VB_VIDEO_FORMAT_UNSUPPORTED,o.VB_EVENT_TYPE.VB_WORKER_ERROR,o.VB_EVENT_TYPE.VB_GENERATE_FIRST_FRAME,o.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE]),t.default=c,document){const e=document.currentScript;if(e){const t=e.src;if(t){let e=t.indexOf("/vb.min.js");-1!==e&&(c.cdnPath=t.substring(0,e))}}}},function(e,t,i){var r=i(96).default;e.exports=r},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t,i){var r=i(43),a=i(60),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return a(e);var t=[];for(var i in Object(e))s.call(e,i)&&"constructor"!=i&&t.push(i);return t}},function(e,t,i){var r=i(61)(Object.keys,Object);e.exports=r},function(e,t){e.exports=function(e,t){return function(i){return e(t(i))}}},function(e,t,i){var r=i(63),a=i(70),s=i(71),o=i(72),n=i(73),d=i(27),u=i(46),l=u(r),c=u(a),h=u(s),f=u(o),p=u(n),_=d;(r&&"[object DataView]"!=_(new r(new ArrayBuffer(1)))||a&&"[object Map]"!=_(new a)||s&&"[object Promise]"!=_(s.resolve())||o&&"[object Set]"!=_(new o)||n&&"[object WeakMap]"!=_(new n))&&(_=function(e){var t=d(e),i="[object Object]"==t?e.constructor:void 0,r=i?u(i):"";if(r)switch(r){case l:return"[object DataView]";case c:return"[object Map]";case h:return"[object Promise]";case f:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=_},function(e,t,i){var r=i(31)(i(23),"DataView");e.exports=r},function(e,t,i){var r=i(33),a=i(67),s=i(32),o=i(46),n=/^\[object .+?Constructor\]$/,d=Function.prototype,u=Object.prototype,l=d.toString,c=u.hasOwnProperty,h=RegExp("^"+l.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!s(e)||a(e))&&(r(e)?h:n).test(o(e))}},function(e,t,i){var r=i(44),a=Object.prototype,s=a.hasOwnProperty,o=a.toString,n=r?r.toStringTag:void 0;e.exports=function(e){var t=s.call(e,n),i=e[n];try{e[n]=void 0;var r=!0}catch(e){}var a=o.call(e);return r&&(t?e[n]=i:delete e[n]),a}},function(e,t){var i=Object.prototype.toString;e.exports=function(e){return i.call(e)}},function(e,t,i){var r,a=i(68),s=(r=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!s&&s in e}},function(e,t,i){var r=i(23)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,i){var r=i(31)(i(23),"Map");e.exports=r},function(e,t,i){var r=i(31)(i(23),"Promise");e.exports=r},function(e,t,i){var r=i(31)(i(23),"Set");e.exports=r},function(e,t,i){var r=i(31)(i(23),"WeakMap");e.exports=r},function(e,t,i){var r=i(75),a=i(29),s=Object.prototype,o=s.hasOwnProperty,n=s.propertyIsEnumerable,d=r(function(){return arguments}())?r:function(e){return a(e)&&o.call(e,"callee")&&!n.call(e,"callee")};e.exports=d},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return a(e)&&"[object Arguments]"==r(e)}},function(e,t){var i=Array.isArray;e.exports=i},function(e,t,i){var r=i(33),a=i(47);e.exports=function(e){return null!=e&&a(e.length)&&!r(e)}},function(e,t,i){(function(e){var r=i(23),a=i(79),s=t&&!t.nodeType&&t,o=s&&"object"==typeof e&&e&&!e.nodeType&&e,n=o&&o.exports===s?r.Buffer:void 0,d=(n?n.isBuffer:void 0)||a;e.exports=d}).call(this,i(39)(e))},function(e,t){e.exports=function(){return!1}},function(e,t,i){var r=i(81),a=i(82),s=i(83),o=s&&s.isTypedArray,n=o?a(o):r;e.exports=n},function(e,t,i){var r=i(27),a=i(47),s=i(29),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,e.exports=function(e){return s(e)&&a(e.length)&&!!o[r(e)]}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,i){(function(e){var r=i(45),a=t&&!t.nodeType&&t,s=a&&"object"==typeof e&&e&&!e.nodeType&&e,o=s&&s.exports===a&&r.process,n=function(){try{var e=s&&s.require&&s.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=n}).call(this,i(39)(e))},function(e,t,i){var r=i(48).default,a=i(85);e.exports=function(e){var t=a(e,"string");return"symbol"===r(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r=i(48).default;e.exports=function(e,t){if("object"!==r(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var a=i.call(e,t||"default");if("object"!==r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var r=i(32),a=i(87),s=i(88),o=Math.max,n=Math.min;e.exports=function(e,t,i){var d,u,l,c,h,f,p=0,_=!1,m=!1,E=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var i=d,r=u;return d=u=void 0,p=t,c=e.apply(r,i)}function S(e){return p=e,h=setTimeout(C,t),_?g(e):c}function v(e){var i=e-f;return void 0===f||i>=t||i<0||m&&e-p>=l}function C(){var e=a();if(v(e))return A(e);h=setTimeout(C,function(e){var i=t-(e-f);return m?n(i,l-(e-p)):i}(e))}function A(e){return h=void 0,E&&d?g(e):(d=u=void 0,c)}function R(){var e=a(),i=v(e);if(d=arguments,u=this,f=e,i){if(void 0===h)return S(f);if(m)return h=setTimeout(C,t),g(f)}return void 0===h&&(h=setTimeout(C,t)),c}return t=s(t)||0,r(i)&&(_=!!i.leading,l=(m="maxWait"in i)?o(s(i.maxWait)||0,t):l,E="trailing"in i?!!i.trailing:E),R.cancel=function(){void 0!==h&&clearTimeout(h),p=0,d=f=u=h=void 0},R.flush=function(){return void 0===h?c:A(a())},R}},function(e,t,i){var r=i(23);e.exports=function(){return r.Date.now()}},function(e,t,i){var r=i(32),a=i(89),s=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,d=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return NaN;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var i=n.test(e);return i||d.test(e)?u(e.slice(2),i?2:8):o.test(e)?NaN:+e}},function(e,t,i){var r=i(27),a=i(29);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e,t){return t.get?t.get.call(e):t.value},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){if(t.set)t.set.call(e,i);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=i}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var r=this&&this.__awaiter||function(e,t,i,r){return new(i||(i=Promise))((function(a,s){function o(e){try{d(r.next(e))}catch(e){s(e)}}function n(e){try{d(r.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,n)}d((r=r.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=a(i(25)),o=i(10);t.default=class{constructor(e,t){this.isMirror=!1,this.display=new s.default(e,t,0,void 0,{preserveDrawingBuffer:!1},void 0,!1,!1)}renderFrame(e,t,i,r){if(this.display){let a={x:0,y:0,width:this.display.canvasElement.width,height:this.display.canvasElement.height};this.display.updateRemoteVideoTextures(e,t,r,i,0,!0,a,!1),this.display.drawRemoteVideo(a,this.isMirror)}}render(e){return r(this,void 0,void 0,(function*(){let t=o.VIDEO_RGBA;if("data_ptr"in e){const{data:t,format_width:i,format_height:r,valid_x:a,valid_y:s,valid_width:n,valid_height:d}=e;let u={top:s,left:a,width:n,height:d};this.display.setVideoMode(o.VIDEO_I420),this.renderFrame(i,r,t,u)}else if(self.VideoFrame&&e instanceof VideoFrame){const{format:i,visibleRect:r}=e;if(i&&r){if("I420"===i||"I420A"===i)t=o.VIDEO_I420;else if("NV12"===i)t=o.VIDEO_NV12;else{if("BGRA"!==i)return void(this.onUnsupportedFrame&&this.onUnsupportedFrame(i));t=o.VIDEO_BGRA}const{width:a,height:s}=r,n=new Uint8Array(e.allocationSize()),d={top:0,left:0,width:a,height:s};this.display.setVideoMode(t);try{yield e.copyTo(n),this.renderFrame(a,s,n,d)}catch(e){}e.close()}}else if(e instanceof ImageData){const{width:t,height:i}=e,r={top:0,left:0,width:t,height:i};this.display.setVideoMode(o.VIDEO_RGBA),this.renderFrame(t,i,e.data,r)}}))}updateSize(e,t){this.display.canvasElement.width=e,this.display.canvasElement.height=t}setMirror(e){this.isMirror=e}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(){this.timer3s=null,this.timer10s=null,this.isVBPredictDone=!1,this.inited=!1}start(){this.inited=!0,this.clear(),this.timer3s=setTimeout(()=>{this.isVBPredictDone||this.ontimeout3s()},3e3),this.timer10s=setTimeout(()=>{this.isVBPredictDone||this.ontimeout10s()},1e4)}clear(){clearTimeout(this.timer3s),clearTimeout(this.timer10s),this.timer3s=null,this.timer10s=null}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureInputStream=t.TrackProcessorInputStream=void 0;const r=i(21);t.TrackProcessorInputStream=class{constructor(e,t,i){this.port=e,this.name=t,this.VideoFrameNeeded=i}setStream(e){const t=e.getVideoTracks()[0],i=t.getSettings(),{frameRate:a=24}=i;this.trackProcessor=new MediaStreamTrackProcessor({track:t});const s=this.trackProcessor.readable;this.port.postMessage({cmd:r.VideoProcessorEvent.INPUT_READABLE_STREAM,frameRate:Math.min(a,24),readableStream:s,processorName:this.name},[s]),this.port.postMessage({cmd:r.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:a,processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:r.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}};t.CanvasCaptureInputStream=class{constructor(e,t,i=!1,a=!1){this.port=e,this.name=t,this.isIOSDevice=i,this.VideoFrameNeeded=a,this.onMessage=e=>{if(e.data.cmd===r.VideoProcessorEvent.REQUEST_FRAME&&this.captureVideoEleLoaded){let e=this.captureVideoEle.videoWidth,t=this.captureVideoEle.videoHeight;if(e<=0||t<=0)return;this.isIOSDevice&&(this.captureCanvasEle.width=e,this.captureCanvasEle.height=t,this.captureCanvasEleCtx.drawImage(this.captureVideoEle,0,0,e,t));const i=new VideoFrame(this.isIOSDevice?this.captureCanvasEle:this.captureVideoEle,{timestamp:1e3*performance.now()});this.port.postMessage({cmd:r.VideoProcessorEvent.FRAME_DATA,frame:i,processorName:this.name}),i.close()}},this.port.addEventListener("message",this.onMessage)}createCaptureVideoElement(e){this.captureVideoEle=document.querySelector("#video-processor-video"),this.captureVideoEle||(this.captureVideoEle=document.createElement("video"),this.captureVideoEle.autoplay=!0,this.captureVideoEle.playsInline=!0,this.captureVideoEle.id="video-processor-video",this.captureVideoEle.style.position="fixed",this.captureVideoEle.style.width="1px",this.captureVideoEle.style.height="1px",this.captureVideoEle.style.bottom="0px",this.captureVideoEle.style.right="0px",this.captureVideoEle.muted=!0,document.body.appendChild(this.captureVideoEle)),this.isIOSDevice&&!this.captureCanvasEle&&(this.captureCanvasEle=document.createElement("canvas"),this.captureCanvasEleCtx=this.captureCanvasEle.getContext("2d")),this.captureVideoEle.srcObject=e,this.captureVideoEle.addEventListener("loadedmetadata",()=>{this.captureVideoEleLoaded=!0}),this.captureVideoEle.play()}setStream(e){const t=e.getVideoTracks()[0].getSettings(),{frameRate:i=24}=t;this.createCaptureVideoElement(e),this.port.postMessage({cmd:r.VideoProcessorEvent.START_REQUEST_FRAME,frameRate:Math.min(i,24),processorName:this.name,VideoFrameNeeded:this.VideoFrameNeeded})}removeStream(){this.port.postMessage({cmd:r.VideoProcessorEvent.STOP_REQUEST_FRAME,processorName:this.name})}destroy(){this.port.removeEventListener("message",this.onMessage)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasCaptureOutputStream=t.TrackGeneratorOutputStream=void 0;const r=i(21);t.TrackGeneratorOutputStream=class{constructor(e,t){this.trackGenerator=new MediaStreamTrackGenerator({kind:"video"});const i=this.trackGenerator.writable;e.postMessage({cmd:r.VideoProcessorEvent.OUTPUT_WRITABLE_STREAM,writableStream:i,processorName:t},[i]),this.stream=new MediaStream([this.trackGenerator])}getStream(){return this.stream}};t.CanvasCaptureOutputStream=class{constructor(e,t){this.canvas=document.createElement("canvas"),this.canvas.width=1,this.canvas.height=1,this.offScreenCanvas=this.canvas.transferControlToOffscreen(),this.stream=this.canvas.captureStream(24)}getOutputCanvas(){return this.offScreenCanvas}getStream(){return this.stream}}},function(e,t,i){"use strict";i.r(t);var r={};i.r(r),i.d(r,"setCachedUserNodeListToWorker",(function(){return ce})),i.d(r,"setUserNodeListToWorker",(function(){return he})),i.d(r,"UpdateAudioPlayStatus",(function(){return fe})),i.d(r,"UpdateVideoPlayStatus",(function(){return pe})),i.d(r,"UpdateSharingPlayStatus",(function(){return _e})),i.d(r,"preserveMessageController",(function(){return me})),i.d(r,"previewController",(function(){return Ee})),i.d(r,"initVideoEncode",(function(){return ge})),i.d(r,"CloseMediaNetSessionToRwg",(function(){return ve})),i.d(r,"AssertMediaSdkNotDestory",(function(){return Ce})),i.d(r,"initVideoDecode",(function(){return Re})),i.d(r,"initAudioEncode",(function(){return Te})),i.d(r,"initAudioDecode",(function(){return Ie})),i.d(r,"initSharingDecode",(function(){return be})),i.d(r,"initSharingEncode",(function(){return Oe})),i.d(r,"Sharing_Decode_Post_message",(function(){return De})),i.d(r,"Sharing_Encode_Post_message",(function(){return we})),i.d(r,"addAudioMonitorLog",(function(){return Le})),i.d(r,"initAudioSharedBuffer",(function(){return Be})),i.d(r,"setSharingEngineInitProperties",(function(){return Ge})),i.d(r,"setAudioEngineInitProperties",(function(){return Fe})),i.d(r,"setVideoEngineInitProperties",(function(){return He})),i.d(r,"Set_Audio_WebSocket_Ip_Address",(function(){return Ke})),i.d(r,"Set_Audio_Web_Transport_Ip_Address",(function(){return je})),i.d(r,"Set_Video_WebSocket_Ip_Address",(function(){return Ye})),i.d(r,"Set_Video_Web_Transport_Ip_Address",(function(){return qe})),i.d(r,"JsAudioEngine_UnInit",(function(){return Xe})),i.d(r,"JsVideoEngine_UnInit",(function(){return Qe})),i.d(r,"JsSharingEngine_UnInit",(function(){return ze})),i.d(r,"Video_Encode_Frame",(function(){return Je})),i.d(r,"Sharing_Encode_Frame",(function(){return Ze})),i.d(r,"Put_Video_Frame_Buffer",(function(){return $e})),i.d(r,"Clear_Decoded_Sharing_Frame",(function(){return et})),i.d(r,"Add_Video_Decode_Thread",(function(){return tt})),i.d(r,"Add_Audio_Decode_Thread",(function(){return it})),i.d(r,"Get_SSRC_Latest_Time",(function(){return rt})),i.d(r,"Get_Video_SSRC_Latest_Time",(function(){return at})),i.d(r,"Meeting_Fail_Over",(function(){return st})),i.d(r,"Modify_Audio_SampleRate",(function(){return ot})),i.d(r,"Notify_Audio_Thread_Status",(function(){return nt})),i.d(r,"Notify_Audio_Thread_AEC_Status",(function(){return dt})),i.d(r,"Notify_Audio_Thread_Msg_Channel",(function(){return ut})),i.d(r,"Notify_Video_Thread_Msg_Channel",(function(){return lt})),i.d(r,"Notify_Video_Sharing_Msg_Channel",(function(){return ct})),i.d(r,"Notify_Audio_Thread_Msg_Channel2",(function(){return ht})),i.d(r,"Notify_Audio_Thread_Msg_Channel3",(function(){return ft})),i.d(r,"Notify_Audio_Video_Thread_Msg_Channel",(function(){return pt})),i.d(r,"Notify_Video_Encode_Thread",(function(){return _t})),i.d(r,"Notify_Video_Encode_Thread_Transferable_Data",(function(){return mt})),i.d(r,"TransoferDataToVideoEncodeThread",(function(){return Et})),i.d(r,"Notify_Video_Decode_Thread",(function(){return gt})),i.d(r,"Notify_Sharing_Video_Encode_Thread_Transferable_Data",(function(){return St})),i.d(r,"Notify_Sharing_Encode_Thread_Transferable_Data",(function(){return vt})),i.d(r,"Notify_Sharing_Video_Decode_Thread",(function(){return Ct})),i.d(r,"Notify_Sharing_Decode_Thread",(function(){return At})),i.d(r,"Notify_Audio_Thread_CurrentSSRC",(function(){return Rt})),i.d(r,"Notify_Audio_Encode_Thread",(function(){return Tt})),i.d(r,"Notify_Audio_Decode_Thread",(function(){return It})),i.d(r,"Notify_Audio_Thread_Interpretation_Enable",(function(){return bt})),i.d(r,"Notify_Audio_Thread_CC_Set_Lang",(function(){return Ot})),i.d(r,"Notify_Audio_Thread_Interpretation_Set_Lang",(function(){return Dt})),i.d(r,"Notify_Audio_Thread_Interpretation_Mute",(function(){return wt})),i.d(r,"Notify_Audio_Thread_Interpretation_Set_Interpreter",(function(){return yt})),i.d(r,"Reset_Aec",(function(){return Mt})),i.d(r,"saveBrowserInfo",(function(){return Nt})),i.d(r,"Start_Monitor",(function(){return Vt})),i.d(r,"Send_Render_Monitor_Log",(function(){return kt})),i.d(r,"Stop_Monitor",(function(){return Ut})),i.d(r,"Update_Video_Encrpt",(function(){return Lt})),i.d(r,"Update_Sharing_Encrpt",(function(){return xt})),i.d(r,"Update_Sharing_Video_Encode_Status",(function(){return Wt})),i.d(r,"Update_Sharing_Encode_Status",(function(){return Bt})),i.d(r,"Notify_Sharing_Video_Encode_Thread",(function(){return Gt})),i.d(r,"Notify_Sharing_Encode_Thread",(function(){return Ft})),i.d(r,"Update_Audio_Encrpt",(function(){return Ht})),i.d(r,"disableSocketReconnect",(function(){return Kt})),i.d(r,"closeAllPromiseObject",(function(){return jt})),i.d(r,"clearWorkerListener",(function(){return Yt})),i.d(r,"closeAllMedia",(function(){return qt})),i.d(r,"destroyAllWorkers",(function(){return Xt})),i.d(r,"pushMessageToWorker",(function(){return Jt})),i.d(r,"isVideoEncodeHandleReady",(function(){return Zt})),i.d(r,"transportSettingCanvas",(function(){return $t})),i.d(r,"initResourceManager",(function(){return ei})),i.d(r,"prepareVBfile",(function(){return ri})),i.d(r,"transportImageBitMap",(function(){return ai})),i.d(r,"transportBgImageBitMap",(function(){return si})),i.d(r,"transportVBBgImageBitMap",(function(){return oi})),i.d(r,"transportMaskImageBitMap",(function(){return ni})),i.d(r,"MirrorSendVideo",(function(){return di})),i.d(r,"isSharingNotClearChromeVersion",(function(){return ui})),i.d(r,"MEDIA_INIT_SUCCESS_CALLBACK_METADATA",(function(){return li})),i.d(r,"setMediaSessionHold",(function(){return ci})),i.d(r,"TransferCmdMsgToWorker",(function(){return fi})),i.d(r,"CreateThreadWorker",(function(){return pi})),i.d(r,"GetWorkerTypeThread",(function(){return _i}));var a=i(2),s=i(10),o=i(9),n=i(18);function d(){this.ssrcQueueMap=new Map,d.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},d.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},d.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},d.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},d.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},d.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return null!==t?t.getLength():0}}var u=function(){this.frames=0,this.ntp=new n.a};u.prototype={UpdateVideoInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetVideoFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,i=0,r=0,a=0,s=0;s<e;s++){var o=this.ntp.dequeue();0==o&&0==r?i++:0!=o?(a=0,0==r&&(r=o),t=o):0!=r&&t!=r&&0==o&&a++}return 0==t||t==r?0:e-i-a-1!=0?(t-r)/(e-i-a-1):0}}};var l=function(){this.ssrcInfoMap=new Map};function c(){this.ssrcQueueMap=new Map,this.ssrcInfo=new l,c.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},c.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},c.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},c.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},c.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},c.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},c.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},c.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},c.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}l.prototype={UpdateSSRCInfo:function(e,t){var i=this.ssrcInfoMap.get(e);i||(i=new u,this.ssrcInfoMap.set(e,i)),i.UpdateVideoInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetVideoFpsInfo():0}};var h=function(){function e(e){let{sessionid:t}=e;this.map=new Map,this.AudioQueueMGR=new d,this.timemap=new Map,this.sessionid=t||0}return e.prototype.Add=function(e,t){this.map.set(e,t),this.AudioQueueMGR.AddQueue(e)},e.prototype.Clear=function(){this.map.clear()},e.prototype.Keys=function(){return this.map.keys()},e.prototype.UpdateSSRCTimeMap=function(e){this.timemap=e},e.prototype.GetSSRCTimeMap=function(e){return this.timemap?this.timemap.get(e):null},e}();function f(e){let{sessionid:t}=e;this.sessionid=t||0,this.map=new Map,this.VideoQueueMGR=new c}f.prototype.Add=function(e,t){this.map.set(e,t)},f.prototype.Clear=function(){this.map.clear()},f.prototype.Keys=function(){return this.map.keys()};var p=function(){this.frames=0,this.ntp=new n.a};p.prototype={UpdateSharingInfo:function(e){this.frames++,this.ntp.getLength()>30&&this.ntp.dequeue(),this.ntp.enqueue(e)},GetSharingFpsInfo:function(){var e=this.ntp.getLength();if(!(e<5)){for(var t=0,i=0,r=0,a=0,s=0;s<e;s++){var o=this.ntp.dequeue();0==o&&0==r?i++:0!=o?(a=0,0==r&&(r=o),t=o):0!=r&&t!=r&&0==o&&a++}return 0==t||t==r?0:e-i-a-1!=0?(t-r)/(e-i-a-1):0}}};var _=function(){this.ssrcInfoMap=new Map};function m(){this.ssrcQueueMap=new Map,this.ssrcInfo=new _,m.prototype.AddQueue=function(e){var t=new n.a;return this.ssrcQueueMap.set(e,t),t},m.prototype.DeleteQueue=function(e){this.ssrcQueueMap.delete(e)},m.prototype.GetQueue=function(e){return this.ssrcQueueMap.get(e)},m.prototype.ClearQueue=function(){this.ssrcQueueMap.clear()},m.prototype.GetQueueData=function(e){return this.ssrcQueueMap.get(e).dequeue()},m.prototype.PutQueueData=function(e,t){this.ssrcQueueMap.get(e).enqueue(t)},m.prototype.GetQueueLength=function(e){var t=this.ssrcQueueMap.get(e);return t?t.getLength():0},m.prototype.UpdateInfo=function(e,t){this.ssrcInfo.UpdateSSRCInfo(e,t)},m.prototype.GetFpsInfo=function(e){return this.ssrcInfo.GetSSRCFpsInfo(e)}}function E(e){let{sessionid:t}=e;this.map=new Map,this.sQueue=new n.a,this.SharingQueueMGR=new m,this.sessionid=t||0}_.prototype={UpdateSSRCInfo:function(e,t){var i=this.ssrcInfoMap.get(e);i||(i=new p,this.ssrcInfoMap.set(e,i)),i.UpdateSharingInfo(t)},GetSSRCFpsInfo:function(e){var t=this.ssrcInfoMap.get(e);return t?t.GetSharingFpsInfo():0}},E.prototype.Clear=function(){this.map.clear()},E.prototype.Keys=function(){return this.map.keys()},E.prototype.Add=function(e,t){this.map.set(e,t)},E.prototype.Get=function(e){return this.map.get(e)},E.prototype.PutData=function(e){e&&this.sQueue&&this.sQueue.enqueue(e)},E.prototype.GetData=function(){if(this.sQueue)return this.sQueue.dequeue()},E.prototype.ClearBuffer=function(){this.sQueue&&(this.sQueue=new n.a)};var g=i(3),S=i(19),v=i(7),C=i(15),A=i(4),R=i(5),T=i(0),I=i(20);var b=i(14),O=i.n(b);function D(e){return e[0]<<24|e[1]<<16|e[2]<<8|e[3]}const w={IsQosReport:function(e){return 21==e[4]&&0==e[13]},GetQOSSeq:function(e){!function(e){e[0],e[1]}(e.slice(17,19))},GetQOSTime:function(e){return 104==e[0]||16!=e[4]&&1!=e[5]?D(e.slice(19,23)):D(e.slice(15,19))},IsVideoPkg:function(e){return 103==e[0]}};class y{constructor(e){let t=e||{};this.last_report_time=0,this.timeout_count=0,this.interval_report_time=t.interval||3e3,this.tag=t.tag||"monitor",this.max_timeout=0,this.min_timeout=2147483647,this.reportcallback=t.reportcallback,this._timeoutid=0}_report(){this.reportcallback&&this.reportcallback(this.tag,Math.ceil(this.max_timeout),Math.ceil(this.min_timeout),this.timeout_count),this.timeout_count=0,this.max_timeout=0,this.min_timeout=2147483647}timeoutReport(e,t){if(this.timeout_count++,e>this.max_timeout&&(this.max_timeout=e),e<this.min_timeout&&(this.min_timeout=e),this._timeoutid)return;let i=this;this._timeoutid=setTimeout(()=>{i._report(),i._timeoutid=0},this.interval_report_time)}}class M{static getStorageForCapacity(){return new SharedArrayBuffer(8+((arguments.length>0&&void 0!==arguments[0]?arguments[0]:80)+1)*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500))}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e.byteLength,o=arguments.length>6?arguments[6]:void 0;this.offset=a,this._BYTES_PER_ELEMENT=t,this.capacity=(s-8)/t,this.usableCapacity=this.capacity-1,this.buf=e,this.write_ptr=new Uint32Array(this.buf,a,1),this.read_ptr=new Uint32Array(this.buf,a+4,1),this.storageUint8sByteOffset=a+8,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,s-8),this.byteLength=s,this.label=i,this.usingOneElementBuffer=r,o&&(this.wasmMemory=o),r&&(this.oneElementBuffer=new ArrayBuffer(t)),this.repushhander=0,this.repushlogcount=0,this.monitorpace=0}checkBuffer(){this.wasmMemory&&this.wasmMemory.buffer!=this.buf&&(console.log("buffer change"),this.buf=this.wasmMemory.buffer,this.storageUint8s=new Uint8Array(this.buf,this.storageUint8sByteOffset,this.byteLength-8))}enqueue(e){return this.available_write()>0&&this.push(e),{rd:Atomics.load(this.read_ptr,0),wr:Atomics.load(this.write_ptr,0)}}enqueueSafe(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;for(this.dataBuffer||(this.dataBuffer=new n.a);this.dataBuffer.getLength()>0&&this.available_write()>0;){let e=this.dataBuffer.dequeue();e&&this.push(e)}let r=this.dataBuffer.getLength();if(e){if(this.available_write()>0&&0==r)return this.push(e),!0;if(!t)return!1;this.dataBuffer.enqueue(e),++r}if(r>0&&!this.repushhander&&(this.repushhander=setTimeout(()=>{this.repushlogcount%10==0&&console.warn("<<< retry consume cache data"),this.repushlogcount++,this.repushhander=0,this.enqueueSafe(null)},30)),r>=1e3&&(v.default.warn("Cached data in SAB reached critical value, will be cleared"),this.dataBuffer.clear(),i&&i("vqslclear")),r>0&&i){let e=performance.now();(!this.monitorpace||e-this.monitorpace>2e4)&&(this.monitorpace=e,i&&i("vqsl"+r))}return!0}push(e){return e instanceof Array?this._pushArray(e):this._push(e)}_pushArray(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer();let i=0;e.forEach(e=>{this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4+i),i+=e.byteLength}),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=i;let r=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,r),!0}_push(e){var t=Atomics.load(this.write_ptr,0);this.checkBuffer(),this.storageUint8s.set(e,t*this._BYTES_PER_ELEMENT+8+4,e.byteLength),new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1)[0]=e.byteLength;let i=(t+1)%this.capacity;return Atomics.store(this.write_ptr,0,i),!0}addReadPtr(){var e=Atomics.load(this.read_ptr,0);Atomics.store(this.read_ptr,0,(e+1)%this.capacity)}dequeue(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t=Atomics.load(this.read_ptr,0);this.checkBuffer();let i,r,a,s=new Uint32Array(this.buf,this.offset+t*this._BYTES_PER_ELEMENT+8,1);if(e){i=this.oneElementBuffer?new Uint8Array(this.oneElementBuffer,0,s[0]):new Uint8Array(s[0]);let e=new Uint8Array(this.storageUint8s.buffer,t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,i.byteLength);i.set(e,0)}else i=this.storageUint8s.subarray(t*this._BYTES_PER_ELEMENT+8+4,t*this._BYTES_PER_ELEMENT+8+4+s[0]),r=t*this._BYTES_PER_ELEMENT+8+4+this.storageUint8sByteOffset,a=t*this._BYTES_PER_ELEMENT+8+4+s[0]+this.storageUint8sByteOffset;return e&&Atomics.store(this.read_ptr,0,(t+1)%this.capacity),e?i:{bCopyData:e,uint8s:i,begin:r,end:a}}available_read(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_read(e,t)}available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._available_write(e,t)}is_available_write(){var e=Atomics.load(this.read_ptr,0),t=Atomics.load(this.write_ptr,0);return this._is_available_write(e,t)}_available_read(e,t){return(t+this.capacity-e)%this.capacity}_available_write(e,t){return this.usableCapacity-this._available_read(e,t)}_is_available_write(e,t){return this._available_write(e,t)>0}_storage_capacity(){return this.capacity}}class P{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:80;if(!(e instanceof M))throw new Error("RingBuffer required");this.rb=e,this.dataCallback=t,this.interval=null,this.requestID=null,this.timeout_call=i,this.tick_lasted_time=0,this.timeoutMS=r,this.maxCount=a}setDataCallback(e){this.dataCallback=e}consume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.interval||(this.bCopyData=t,this.interval=setInterval(()=>{let e=performance.now();if(this.timeout_call){if(0!=this.tick_lasted_time){let t=e-this.tick_lasted_time;t>=this.timeoutMS&&this.timeout_call(t,e)}this.tick_lasted_time=e}this._dequeue()},e),console.log("consume interval ".concat(this.interval)))}consumeAll(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.bCopyData=e,this._dequeue()}_dequeue(){let e=Math.min(this.rb.available_read(),this.maxCount);for(this.consoume_count=0;this.consoume_count<e;){this.consoume_count++;let e=this.rb.dequeue(this.bCopyData);this.dataCallback(e),this.bCopyData||this.rb.addReadPtr()}}_consumeForAnimationFrame(){this._dequeue(),this.requestID=requestAnimationFrame(this._consumeForAnimationFrame.bind(this))}consumeUsingRequestAnimationFrame(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.requestID||(this.bCopyData=e,this._consumeForAnimationFrame())}cancelConsume(){console.log("cancelConsume interval ".concat(this.interval," requestID ").concat(this.requestID)),this.tick_lasted_time=0,clearInterval(this.interval),this.requestID&&cancelAnimationFrame(this.requestID),this.interval=null,this.requestID=null}}class N{constructor(){this.timeStampKey="video_timestamp",this.keysList=["video_ssrc","video_width","video_height","rendering_x","rendering_y","rendering_w","rendering_h","rotation","yuv_limited"],this.bCopyData=null,this.begin=null,this.end=null}setOBJ(e){this.obj=e,this.yuvUint8s=e.data}setBuffer(e){!1===e.bCopyData?(this.objUint8s=e.uint8s,this.bCopyData=e.bCopyData,this.begin=e.begin,this.end=e.end):(this.objUint8s=e,this.bCopyData=!0,this.begin=0,this.end=e.byteLength)}buffer2Obj(){let e=new Uint32Array(this.objUint8s.buffer,this.begin,9),t=new DataView(this.objUint8s.buffer,this.begin+40,16),i={};this.keysList.forEach((t,r)=>{i[t]=e[r]}),i[this.timeStampKey]=Number(t.getBigUint64(0,!0));let r,a=Number(t.getBigUint64(8,!0)),s=new Uint8Array(this.objUint8s.buffer,this.begin+40+8+8,a);return r=(this.bCopyData,s),i.data=r,i}obj2buffer(){let e=new Uint8Array(56),t=this.keysList,i=new Uint32Array(e.buffer,0,9),r=new DataView(e.buffer,40,16);return t.forEach((e,t)=>{i[t]=this.obj[e]}),r.setBigUint64(0,BigInt(this.obj[this.timeStampKey]),!0),r.setBigUint64(8,BigInt(this.yuvUint8s.byteLength),!0),[e,this.yuvUint8s]}}class V{constructor(){this.onmessage=()=>{}}addEventListener(){}close(){}}class k{constructor(e){this.transportMap={},this.netthreadworker=null,this.type=e.type,this.mgr=e,this.transportlistsChnagelinster=[]}addEventListener(e){-1==this.transportlistsChnagelinster.indexOf(e)&&this.transportlistsChnagelinster.push(e)}removeEventListener(e){let t=this.transportlistsChnagelinster.indexOf(e);-1!=t&&this.transportlistsChnagelinster.splice(t,1)}addTransport(e,t){e.id in this.transportMap||(this.transportMap[e.id]=e,this.transportlistsChnagelinster.forEach(i=>{i(e,t,1)}))}removeTransport(e){var t;let i=e.id;i in this.transportMap&&(delete this.transportMap[i],null===(t=e.sock)||void 0===t||t.close(),this.transportlistsChnagelinster.forEach(t=>{t(e,e.channel,0)}))}getTransportByType(e){for(let t in this.transportMap){let i=this.transportMap[t],r=i.target_thread==k.SELF_THREAD;if(i.type==e&&r)return i}return null}}function U(e){let t=e||{};this._samples=[],this._interval_id=0,this._lasted_update_time=0,this._lasted_group_time=0,this._enable=!1,this._interval_time=t.interval||3e4,this._customer_callback=t.report_call,this._tag=t.tag||"netreport",this._group_interval=t.group_interval||1e3,this._enable_advanced=t.advanced||!1,this._current_count=0,this._qos_report=new y({tag:"jitter",interval:3e4,reportcallback:this._qos_report_timeout.bind(this)}),this._qos_report_samples=[],this._cureen_qos_report=0}O()(k,"NO_THREAD",0),O()(k,"SELF_THREAD",1),U.prototype._qos_report_timeout=function(e,t,i,r){if(this._customer_callback){let a="".concat(e,",").concat(t,",").concat(i,",").concat(r);this._customer_callback(this._tag+"TimeOut",a)}},U.prototype._report=function(){let e=(new Date).getTime(),t="".concat(e,"-").concat(this._samples.length,"-").concat(this._samples),i="".concat(e,"-").concat(this._qos_report_samples.length,"-").concat(this._qos_report_samples);t=t.replaceAll(",","|"),i=i.replaceAll(",","|"),this._customer_callback?(this._customer_callback(this._tag,t),this._enable_advanced&&this._customer_callback(this._tag+"QOS",i)):console.error("tag:".concat(this._tag,",").concat(t))},U.prototype._group=function(){let e=performance.now();if(e>=this._lasted_group_time+1700){let t=Math.round((e-this._lasted_group_time)/1e3)-1;for(let e=0;e<t;e++)this._samples.push(-1)}this._lasted_group_time=e,this._samples.push(this._current_count),this._qos_report_samples.push(this._cureen_qos_report),this._cureen_qos_report=0,this._current_count=0,e>=this._lasted_update_time+this._interval_time&&(this._lasted_update_time=e,this._report(),this._samples=[],this._qos_report_samples=[])},U.prototype.start=function(){this._enable||(this._lasted_update_time=performance.now(),this._lasted_group_time=this._lasted_update_time,this._samples=[],this._current_count=0,this._qos_report_samples=[],this._cureen_qos_report=0,this._interval_id=setInterval(this._group.bind(this),this._group_interval),this._enable=!0)},U.prototype.stop=function(){this._enable&&(clearInterval(this._interval_id),this._interval_id=0,this._enable=!1)},U.prototype.sample=function(e){if(this._enable&&(this._current_count++,this._enable_advanced)){if(w.IsQosReport(e))return void this._cureen_qos_report++;if(w.IsVideoPkg(e)){let t=w.GetQOSTime(e),i=performance.now();if(this._lasted_qos_ts){let e=i-this._lasted_sys_ts-(t-this._lasted_qos_ts);e>30&&this._qos_report.timeoutReport(e,i)}this._lasted_qos_ts=t,this._lasted_sys_ts=i,this._lasted_data=e}}};class L{constructor(e,t){this.type=e,this.transportlists=[],this.transfered=!!t,this.onmessage=()=>{}}send(){}isReady(){return!1}}class x{constructor(e,t,i,r){this.id=e,this.type=t,this.datachannel=i,this._recv_statistic=null,this.onmessageFn=null,this.disconnectedFn=null,this.connectedFn=null,this._status=x.UNINIT,this.target_thread=r,this.transfered=!1,this._listener=null,this.transportlists=[],this._send_statistic=null,this.report_monitor_func=()=>{}}isReady(){return this._status===x.CONNECTED}send(e){this.datachannel.send(e),this._send_statistic.sample(!1)}open(){if(this.target_thread)try{return this.target_thread.postMessage({command:134,id:this.id,type:this.type,channel:this.datachannel,transportlists:this.transportlists},[this.datachannel]),this.transfered=!0,this.datachannel=null,this._listener=this._mesagelistener.bind(this),void this.target_thread.addEventListener("message",this._listener)}catch(e){this.target_thread=null}this._addEventListener()}close(){let e=this.disconnectedFn;this.transfered&&this.target_thread&&this._listener&&(this.target_thread.removeEventListener("message",this._listener),this._listener=null,this.target_thread.postMessage({command:135,id:this.id,type:this.type})),this._status!=x.DISCONNECT&&this._clear(),this._status=x.DISCONNECT,null==e||e()}onmessage(e){this.onmessageFn=e}onopen(e){this.connectedFn=e}onclose(e){this.disconnectedFn=e}onerror(e){this.errorFn=e}_addEventListener(){this.datachannel.onmessage=this._onmessage.bind(this),this.datachannel.onopen=this._onopen.bind(this),this.datachannel.onclose=this._onclose.bind(this),this.datachannel.onclosing=this._onclose.bind(this),this.datachannel.onerror=this._onerror.bind(this),"open"==this.datachannel.readyState&&this._status==x.UNINIT&&this._onopen()}_onmessage(e){this._recv_statistic.sample(!1),this.onmessageFn(e)}_onopen(e){let t=this._status;var i;(this._status=x.CONNECTED,this.transfered||(this._send_statistic||(this._send_statistic=new U({tag:this.type==R.b.VIDEO?"VDCS":"ADCS",report_call:this.report_monitor_func})),this._recv_statistic||(this._recv_statistic=new U({tag:this.type==R.b.VIDEO?"VDCR":"ADCR",report_call:this.report_monitor_func})),this._send_statistic.start(),this._recv_statistic.start()),t!=x.CONNECTED)&&(null===(i=this.connectedFn)||void 0===i||i.call(this))}_onerror(e){var t;null===(t=this.errorFn)||void 0===t||t.call(this,e),this._onclose(e)}_onclose(e){let t=this._status;this._status=x.DISCONNECT;let i=this.disconnectedFn;this._clear(),t!=x.DISCONNECT&&(null==i||i())}_clear(){var e,t;!this.transfered&&this.datachannel&&(this.datachannel.onmessage=null,this.datachannel.onopen=null,this.datachannel.onclose=null,this.datachannel.onclosing=null,this.datachannel.onerror=null),this.onmessageFn=null,this.connectedFn=null,this.disconnectedFn=null,this.errorFn=null;let i=this.datachannel;this.datachannel=null,null===(e=this._send_statistic)||void 0===e||e.stop(),null===(t=this._recv_statistic)||void 0===t||t.stop(),null==i||i.close()}_mesagelistener(e){let t=e.data;if(t&&t.id==this.id)switch(t.cmd){case o.DATACHANNEL_CLOSE:this._onclose();break;case o.DATACHANNEL_OPEN:this._onopen();break;case o.DATACHANNEL_ERROR:this._onerror(t.ev);break;case o.MONITOR_MESSAGE:this.report_monitor_func(t.tag,t.data)}}}O()(x,"UNINIT",0),O()(x,"CONNECTED",1),O()(x,"DISCONNECT",2);class W{constructor(e){let t=e||{};this.type=t.type||W.THREAD_MAIN,this.refs={},this.transportlists=[],this.mainThread=t.remote,this.subthreadlistner=null,this.channellists=[],this.mediadatachannel=new k(this)}_onrecvmainthreadlistener(e){let{cmd:t,transportId:i,data:r}=e.data,a=this.transportlists.find(e=>e.id===i);if(a||t==o.CREATE_MSGSOCK_TRANSPORT)switch(t){case o.CREATE_MSGSOCK_TRANSPORT:this.addRemoteTransport(e.data,null);break;case o.TRANSPORT_SET_MSGPORT:a.setMsgPort(r||new V);break;case o.TRANSPORT_SET_SABBUFF:a.setSabBuffer(e.data.sender,e.data.reciver);break;case o.CLOSE_TRANSPORT:a.remote=null,this.removeTransport(a)}}_onrecvsubthreadlistener(e,t){let{cmd:i,transportId:r,transportType:a}=t.data,s=this.transportlists.find(e=>e.id===r);switch(i){case o.CREATE_MSGSOCK_TRANSPORT:this.addRemoteTransport(t.data,e);break;case o.TRANSPORT_SET_SABBUFF:this.setSabBufferInfo(s,t.data.sender,t.data.reciver);break;case o.CLOSE_TRANSPORT:s.remote=null,this.removeTransport(s)}}createRemoteTransport(e,t){let i={cmd:o.CREATE_MSGSOCK_TRANSPORT,transportType:e.type,transportId:e.id};e.portInfo?(i.port=e.portInfo,t.postMessage(i,[e.portInfo])):t.postMessage(i)}closeRemoteTransport(e,t){t.postMessage({cmd:o.CLOSE_TRANSPORT,transportType:e.type,transportId:e.id})}setRemoteTransportSABBUffer(e,t){var i,r,a,s;(null!==(i=e.sabInfo)&&void 0!==i&&i.sender||null!==(r=e.sabInfo)&&void 0!==r&&r.reciver)&&t.postMessage({cmd:o.TRANSPORT_SET_SABBUFF,transportId:e.id,sender:null===(a=e.sabInfo)||void 0===a?void 0:a.sender,reciver:null===(s=e.sabInfo)||void 0===s?void 0:s.reciver})}addRemoteTransport(e,t){let{transportId:i,port:r,transportType:a}=e;let s=this.createMsgSocketTransport(a);s.id=i,s.remote=t,s.portInfo=r,r?s.setMsgPort(s.portInfo):this.bindMessageChannel(s),this.addTransport(s)}addTransport(e){let t=this.getChannelByTransportType(e.type);if(!t)return;let i=t.target_thread||k.SELF_THREAD;e.target_thread=i,this.bindTransPortForChannel(e,t)}removeTransport(e){let t=this.transportlists.indexOf(e);-1!=t&&(this.transportlists.splice(t,1),e.remote&&this.closeRemoteTransport(e,e.remote),e.target_thread!=k.NO_THREAD&&this.unbindTransPortForChannel(e))}createMsgSocketTransport(e){let t=null;return t=new K({mgr:this,sock:new H,type:e,local:!0}),t}bindMessageChannel(e){if(this.type!=W.THREAD_MAIN)return void console.error("error this call only in main thread");let t=new MessageChannel;e.portInfo=t.port1,e.remote.postMessage({cmd:o.TRANSPORT_SET_MSGPORT,transportId:e.id,data:t.port2},[t.port2])}setSabBufferInfo(e,t,i){this.type==W.THREAD_MAIN?(e.sabInfo||(e.sabInfo={}),i&&(i.useCopy=!0),t&&(t.useCopy=!0),e.sabInfo={sender:t,reciver:i},e.target_thread!=k.NO_THREAD&&(e.target_thread!=k.SELF_THREAD?this.setRemoteTransportSABBUffer(e,e.target_thread):e.setSabBuffer(t,i))):console.error("<<<<< setSabBufferInfo in sub thread")}addDataChannel(e){if(e instanceof x){try{this.checkTransport(e)}catch(e){console.error("addDataChannel error",e)}this.channellists.push(e)}else console.error("channel must be a DataChannelWrapper")}removeDataChannel(e){if(!(e instanceof x))return void console.error("channel must be a DataChannelWrapper");let t=this.channellists.indexOf(e);-1!==t&&this.channellists.splice(t,1)}removeTransportByRemote(e){let t=[];for(let i=0;i<this.channellists.length;i++){let r=this.channellists[i];r.remote===e&&t.push(r)}for(let e=0;e<t.length;e++)this.removeTransport(t[e])}reinit(){let e=[...this.transportlists];for(let t=0;t<e.length;t++)this.removeTransport(e[t])}getTransportByType(e){return this.mediadatachannel.getTransportByType(e)}addTransportListChangeListener(e){this.mediadatachannel.addEventListener(e)}remoteTransportListChangeListener(e){this.mediadatachannel.removeEventListener(e)}checkTransport(e){this.transportlists.forEach(t=>{if(!e.transportlists.includes(t.type))return;let i=e.target_thread||k.SELF_THREAD;i==t.target_thread||(this.type==W.THREAD_MAIN&&t.target_thread!=k.NO_THREAD&&t.target_thread!=i&&(this.unbindTransPortForChannel(t),this.bindMessageChannel(t)),t.target_thread=i,this.bindTransPortForChannel(t,e))})}bindTransPortForChannel(e,t){e.channel=t;let i=e.target_thread;if(i!=k.SELF_THREAD)this.createRemoteTransport(e,i),this.setRemoteTransportSABBUffer(e,i);else{var r,a,s,o;if(e.portInfo&&e.setMsgPort(e.portInfo),null!==(r=e.sabInfo)&&void 0!==r&&r.sender||null!==(a=e.sabInfo)&&void 0!==a&&a.reciver)e.setSabBuffer(null===(s=e.sabInfo)||void 0===s?void 0:s.sender,null===(o=e.sabInfo)||void 0===o?void 0:o.reciver);this.mediadatachannel.addTransport(e,t)}}unbindTransPortForChannel(e){e.target_thread!=k.SELF_THREAD?this.type==W.THREAD_MAIN&&this.closeRemoteTransport(e,e.target_thread):this.mediadatachannel.removeTransport(e)}getChannelByTransportType(e){for(let t=0;t<this.channellists.length;t++){let i=this.channellists[t];if(i.isReady()&&i.transportlists.includes(e))return i}return null}}O()(W,"THREAD_MAIN",1),O()(W,"THREAD_SUB",2);const B={AUDIO_DECODE:1,AUDIO_ENCODE:2,VIDEO_DECODE:4,VIDEO_ENCODE:8,SHARR_DECODE:16,SHARR_ENCODE:32},G=e=>{0};class F{constructor(){this.onmessage=G,this.status=F.CLOSED,this.onopen=G,this.onclose=G,this.onwer=null}send(e){}delete(){this.onmessage=G,this.onopen=G,this.onclose=G,this.close()}sendVideo(e,t){}sendWasm(e){}open(){this.status=F.OPEN,this.onopen()}close(){this.status=F.CLOSED,this.onclose()}}O()(F,"OPEN",1),O()(F,"CLOSED",2);class H extends F{constructor(){super({}),this.sab={},this.port=null,this.onmessage=G,this.sender=G,this.videoSender=G,this.reciver=G,this.wasmSender=G}send(e){this.sender(e)}sendVideo(e,t){this.videoSender(e,t)}sendWasm(e){this.wasmSender(e)}delete(){try{var e,t;this.onmessage=G,this.sender=G,this.videoSender=G,this.reciver=G,this.wasmSender=G;let{consumer:i}=(null===(e=this.sab)||void 0===e?void 0:e.reciver)||{};null==i||i.setDataCallback(G),null==i||i.cancelConsume(),this.sab={},this.port&&(this.port.onmessage=G),null===(t=this.port)||void 0===t||t.close()}catch(e){}}open(){this.status!=F.OPEN||this.onopen()}close(){this.status=F.CLOSED,this.delete(),this.onclose()}_onmessage(e){let{cmd:t,data:i}=e.data;switch(t){case o.MSG_BUFFER_TICKT:this.reciver();break;case o.MSG_QUEUE_DATA:this.onmessage(i,0);break;case o.MSG_QUEUE_STATUS:this.status=i,this.status==F.OPEN?this.onopen():this.onclose()}}createSendAndReceive(){if(!this.port)return;let{sender:e,reciver:t}=this.sab,{sabqueue:i,interval:r}=e||{};i?r?(this.sender=e=>{i.enqueue(e)},this.wasmSender=e=>{i.enqueue(e)},this.videoSender=(e,t)=>{if(!i.enqueueSafe([e,t],!1)){let r=new Uint8Array(t.length+e.length);r.set(e,0),r.set(t,e.length),i.enqueueSafe(r)}}):(this.sender=e=>{i.enqueue(e),this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})},this.wasmSender=e=>{i.enqueue(e),this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})},this.videoSender=(e,t)=>{if(!i.enqueueSafe([e,t],!1)){let r=new Uint8Array(t.length+e.length);r.set(e,0),r.set(t,e.length),i.enqueueSafe(r)}this.port.postMessage({cmd:o.MSG_BUFFER_TICKT})}):(this.sender=e=>{this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:e},[e.buffer])},this.wasmSender=e=>{let t=new Uint8Array(e.length);t.set(e,0),this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:t},[t.buffer])},this.videoSender=(e,t)=>{let i=new Uint8Array(t.length+e.length);i.set(e,0),i.set(t,e.length),this.port.postMessage({cmd:o.MSG_QUEUE_DATA,data:i},[i.buffer])});let{sabqueue:a,consumer:s,useCopy:n,interval:d,offset:u}=t||{};if(s&&(s.cancelConsume(),s=null),a){const e=n?e=>{this.onmessage(e,0)}:u?e=>{this.onmessage(e.uint8s,e.begin)}:e=>{this.onmessage(e.uint8s,0)};let i=null,r=K.dataTransportMgr.monitorlogfn;if(d&&r){var l;let e=new y({tag:"WCL_M,VDRB"+(null===(l=this.onwer)||void 0===l?void 0:l.type),interval:1e4,reportcallback:Y});i=e.timeoutReport.bind(e)}s=new P(a,e,i),t.consumer=s,d?s.consume(d,n):this.reciver=()=>{s.consumeAll(n)}}}setMsgPort(e){e!=this.port&&(this.port&&(this.port.onmessage=G,this.port.close(),this.port=null),this.port=e,this.port&&(this._listeners||(this._listeners=this._onmessage.bind(this)),this.port.onmessage=this._listeners,this.createSendAndReceive()))}setSabBuffer(e,t){if(null!=e&&e.sab){let{sab:t,useCopy:i,interval:r,offset:a,length:s,useOneElement:o}=e,n=new M(a>0?t.buffer:t,void 0,void 0,!!o,a,s,a>0?t:null);this.sab.sender={sabqueue:n,interval:r,useCopy:i,offset:a}}if(null!=t&&t.sab){var i;let{sab:e,useCopy:r,interval:a,offset:s,length:o,useOneElement:n}=t,d=new M(s>0?e.buffer:e,void 0,void 0,!!n,s,o,s>0?e:null),{consumer:u}=(null===(i=this.sab)||void 0===i?void 0:i.reciver)||{};u&&(u.cancelConsume(),this.sab.reciver.consumer=null,this.sab.reciver.sabqueue=null),this.sab.reciver={sabqueue:d,interval:a,useCopy:r,offset:s}}this.createSendAndReceive()}setStatus(e){this.port?this.status!=e&&(this.status=e,this.port.postMessage({cmd:o.MSG_QUEUE_STATUS,data:e})):console.error("MsgQueueSocket not initialized")}}class K{constructor(e){this.onmessage=G,this.onopen=G,this.onclose=G,this.connect_type=e.connect_type||K.UDP,this.type=e.type,this.id=e.id||Math.floor(performance.now())<<10|e.type,this.sock=e.sock||new F,this.mgr=e.mgr,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this),this.sock.onwer=this,this.remote=e.remote,this.sabInfo=null,this.portInfo=null,this.target_thread=k.NO_THREAD,this.local=!!e.local,this._create()}_create(){let e=K.dataTransportMgr;e.transportlists.push(this),!this.local&&e&&e.mainThread&&e.type==W.THREAD_SUB&&e.createRemoteTransport(this,e.mainThread)}_close(){let e=K.dataTransportMgr,t=e.transportlists.indexOf(this);-1!=t&&e.transportlists.splice(t,1),!this.local&&e&&e.mainThread&&e.type==W.THREAD_SUB&&e.closeRemoteTransport(this,e.mainThread)}_onmessage(e,t){this.onmessage(e,t)}_onclose(){this.onclose()}_onopen(){this.onopen()}isReady(){return!0}send(e){this.sock.send(e)}sendVideo(e,t){this.sock.sendVideo(e,t)}sendWasmData(e){this.sock.sendWasm(e)}setSocket(e){let t=this.sock;this.sock=e,this.sock&&(this.sock.onwer=this,this.sock.onmessage=this._onmessage.bind(this),this.sock.onclose=this._onclose.bind(this),this.sock.onopen=this._onopen.bind(this)),t&&t.delete()}open(){this.sock.open()}close(){this._close(),this.sock.close()}setMsgPort(e){if(!(this.sock instanceof H))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setMsgPort(e)}setSabBuffer(e,t){if(!(this.sock instanceof H))throw new Error("tansport sock is not a MsgQueueSocket");this.sock.setSabBuffer(e,t)}setStatus(e){this.sock instanceof H&&this.sock.setStatus(e)}}O()(K,"UDP",0),O()(K,"TCP",1),O()(K,"RLB_UDP",2),O()(K,"dataTransportMgr",null);class j{constructor(e){this.sock=null,this.onmessage=G}isReady(){return!1}send(){G()}setStatus(e){0}}function Y(e,t,i,r){var a;null===(a=W.monitorlogfn)||void 0===a||a.call(W,e,"".concat(t,",").concat(i,",").concat(r))}function q(e,t){try{const i="undefined"!=typeof DedicatedWorkerGlobalScope;if(!K.dataTransportMgr&&!i)return void console.error("not InitDataTransportModule");let r=K.dataTransportMgr;if(t in r.refs)return;let a=r._onrecvsubthreadlistener.bind(r,e);e.addEventListener("message",a);let s={worker:e,type:t,listener:a};r.refs[t]=s}catch(e){console.error("<<<< initTransportWorker",e)}}function X(e){return K.dataTransportMgr.getTransportByType(e)}function Q(e){if(!K.dataTransportMgr)throw new Error("not InitDataTransportModule");K.dataTransportMgr.removeDataChannel(e)}class z{constructor(){this._listener=this._listenerfn.bind(this),this.isSupportVideoShare=!1}addTransportListiner(){var e;e=this._listener,K.dataTransportMgr.addTransportListChangeListener(e)}remoteTransportListener(){var e;e=this._listener,K.dataTransportMgr.addTransportListChangeListener(e)}_listenerfn(e,t,i){this.connectSession(t)}setVideoShareModel(e){this.isSupportVideoShare=e}connectSession(e){const{type:t}=e;!e.transfered&&e.isReady()&&(t==R.b.VIDEO&&this.connectVideoSession(e),t==R.b.AUDIO&&this.connectAudioSession(e))}disconnectSession(e){const{type:t}=e;e.transfered||(t==R.b.VIDEO&&this.connectVideoSession(e),t==R.b.AUDIO&&this.connectAudioSession(e))}connectVideoSession(e){let t=new j,i=X(B.VIDEO_ENCODE)||t,r=X(B.VIDEO_DECODE)||t,a=X(B.SHARR_DECODE)||t,s=(null==e?void 0:e.isReady())?F.OPEN:F.CLOSED;i.setStatus(s),r.setStatus(s),this.isSupportVideoShare||a.setStatus(s),e.onmessage(e=>{var t=new Uint8Array(e.data);if((104==t[0]||132==t[0])&&0==t[1]||20==t[0]||130==t[0])i.send(t);else{if(!this.isSupportVideoShare&&(133==t[0]||132==t[0]))return void a.send(t);r.send(t)}});const o=t=>{e.send(t)};i.onmessage=o,r.onmessage=o,a.onmessage=o}connectAudioSession(e){let t=new j,i=X(B.AUDIO_ENCODE)||t,r=X(B.AUDIO_DECODE)||t,a=e.isReady()?F.OPEN:F.CLOSED;i.setStatus(a),r.setStatus(a),e.onmessage(e=>{var t=new Uint8Array(e.data);108==t[0]&&0==t[1]?i.send(t):r.send(t)});const s=t=>{e.send(t)};i.onmessage=s,r.onmessage=s}notifyTransportStatus(e,t){}}var J=i(13);function Z(e){te.instance||(te.instance=new te),te.instance.start(e)}function $(e){te.instance&&te.instance.setTimeoutCallback(e)}function ee(e,t){te.instance&&te.instance.registerWorker(t,e)}class te{constructor(){this._interval=-1,this.monitorworkers={},this._lasted_timestamp=-1,this.timeoutcallbackfn=(e,t)=>{}}setTimeoutCallback(e){this.timeoutcallbackfn=e}registerWorker(e,t){if(e in this.monitorworkers){let t=this.monitorworkers[e];t.worker.removeEventListener("message",t.listener),delete this.monitorworkers[e]}let i={id:e,worker:t},r=this._recvheartbeat.bind(this,i);i.listener=r,i.lastedtimestamp=Date.now(),i.worker.addEventListener("message",i.listener),this.monitorworkers[e]=i}unRegisterWorker(e){if(!(e in this.monitorworkers))return;let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}_recvheartbeat(e,t){let i=t.data;i.cmd===o.WORKER_HEARTBEAT&&(e.lastedtimestamp=i.timestamp)}start(e){const t="undefined"!=typeof DedicatedWorkerGlobalScope&&e&&e instanceof DedicatedWorkerGlobalScope;if(-1!=this._interval)return;if(t)return void(this._interval=setInterval(()=>{e.postMessage({cmd:o.WORKER_HEARTBEAT,timestamp:Date.now()})},te.INTREVAL_TIME_MS));const i=Math.max(te.INTREVAL_TIME_MS-1e3,500);this._lasted_timestamp=Date.now(),this._interval=setInterval(()=>{let e=te.instance,t=Object.keys(e.monitorworkers),r=Date.now(),a=this._lasted_timestamp;r<a+i||(this._lasted_timestamp=r,r>a+te.HEART_TIMEOUT_MS?e.timeoutcallbackfn("MAIN",r-a):t.forEach(t=>{var i;let a=e.monitorworkers[t],s=a.lastedtimestamp+(null!==(i=document)&&void 0!==i&&i.hidden?te.MAX_HEART_TIMEOUT_MS:te.HEART_TIMEOUT_MS);r>s&&(e.timeoutcallbackfn(a.id,r-a.lastedtimestamp),a.lastedtimestamp=r)}))},te.INTREVAL_TIME_MS)}close(){try{Object.keys(this.monitorworkers).forEach(e=>{let t=this.monitorworkers[e];delete this.monitorworkers[e],t.worker.removeEventListener("message",t.listener)}),this._interval&&clearInterval(this._interval),this._interval=-1}catch(e){}}}O()(te,"INTREVAL_TIME_MS",3e3),O()(te,"HEART_TIMEOUT_MS",15e3),O()(te,"MAX_HEART_TIMEOUT_MS",3e4),O()(te,"instance",null);const ie=Object(S.a)("sdk.engine"),{VB_SETTING_PARA_ERROR_TYPE:re}=a;async function ae(e,t){let i;switch(e){case R.f.VIDEO_ENCODE:i=T.default.videoEncResponseText;break;case R.f.VIDEO_DECODE:i=T.default.videoDecResponseText;break;case R.f.AUDIO_ENCODE:i=T.default.audioEncodeResponse;break;case R.f.AUDIO_DECODE:i=T.default.audioDecodeResponse;break;case R.f.SHARING_DECODE:i=T.default.sharingDecodeResponse;break;case R.f.SHARING_ENCODE:i=T.default.sharingEncodeResponse}i||(i=await se(t.workerJsFileUrl,t.integrityHelper));const r="wasmUrl = '"+t.workerWasmFileUrl+"';";return i.replace(/self\.__wasmCodeDataEndFlag\s*=\s*1[;|,]/,r+"self.__wasmCodeDataEndFlag = 1;")}function se(e,t){let i=null;return t&&(i=t.getIntegrity()),g.default.download(e,i)}function oe(e,t,i,r,s){return new Promise((o,n)=>{!async function(e,t,i,r,s){if(s&&s.isDestroy)return A.default.add_monitor("ZIDX",r),ie("WorkerType:".concat(r,";The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. "));let o,n={};if(R.i[r]&&Object.assign(n,{name:R.i[r]}),r==R.f.AUDIO_ENCODE?T.default.AEW&&(o=T.default.AEW):r==R.f.AUDIO_DECODE&&T.default.ADW&&(o=T.default.ADW),o)r==R.f.AUDIO_ENCODE?T.default.AEWF=!0:r==R.f.AUDIO_DECODE&&(T.default.ADWF=!0);else{const t=window.URL.createObjectURL(new Blob([await ae(r,e)]));o=new Worker(t,n),o.addEventListener("error",e=>{if(e.message&&e.message.includes("RuntimeError:")){let e=performance.now();e-T.default.crashLastTime>3e4&&(T.default.crashCount++,T.default.crashLastTime=e,Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER),ue("NOTIFY_UI_FAILOVER ".concat(T.default.crashCount)))}}),r===R.f.VIDEO_ENCODE&&o.postMessage({command:"WORKER_BOLB_URL",blobUrl:t}),T.default.mediaSDKHandle.is32bitbrowser&&(r==R.f.AUDIO_ENCODE?T.default.AEW=o:r==R.f.AUDIO_DECODE&&(T.default.ADW=o))}t&&t.call(i,o)}(e,(function(e){var a=T.default.SPECIAL_ID;t&&(A.default.add_monitor("WAM"+r),t.Add(a,e)),e.onmessage=e=>{i(e)},o()}),this,r,s)})}function ne(e,t){let i=t.data;[de,le].forEach(t=>{try{t.call(null,e,i)}catch(e){v.default.error("Error from allWorkersListener",e)}})}function de(e,t){-1!==[R.f.AUDIO_ENCODE,R.f.VIDEO_ENCODE,R.f.SHARING_ENCODE].indexOf(e)&&t.status===o.AES_GCM_IV_CALLBACK_FROM_WASM&&(ie("allWorkersListener_AES_IV",e,t),T.default.Notify_APPUI_SAFE(a.AES_GCM_IV_RESPONSE,{workerType:e,iv:g.default.buffer2stringSplitByComma(t.data)}))}function ue(e){let t=g.default.getMachineCapability();t.errorMessage=e,v.default.severityerror(t,["MEDIASDK_ERROR"])}function le(e,t){if(t.status===o.GLOBAL_TRACING_LOG)if("low"==t.level)v.default.directReport("".concat(t.errorMessage));else{let i="Error from ".concat(e," worker: ").concat(t.errorMessage);-1!=i.indexOf("E:H")?ue(i):v.default.error(i,t.errorEvent)}}function ce(e){try{var t;null!==(t=T.default.userNodeList)&&void 0!==t&&t.length&&Jt(e,{userNodeList:T.default.userNodeList},129,!1,!1)}catch(t){v.default.error("Error when sending cached user node list to worker workerType "+e,t)}}function he(e){let t=T.default.userNodeList||[],i=e.concat(t);T.default.userNodeList=g.default.removeDuplicates(i,(e,t)=>e.userid!==t.userid),[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE,R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE,R.f.SHARING_ENCODE,R.f.SHARING_DECODE].forEach(async e=>{let t;switch(e){case R.f.AUDIO_ENCODE:t=T.default.audioEncodeInitInstance;break;case R.f.AUDIO_DECODE:t=T.default.audioDecInitInstance;break;case R.f.VIDEO_ENCODE:t=T.default.videoInitInstance;break;case R.f.VIDEO_DECODE:t=T.default.videoDecInitInstance;break;case R.f.SHARING_ENCODE:t=T.default.sharingEncInitInstance;break;case R.f.SHARING_DECODE:t=T.default.sharingDecInitInstance}try{await t.waitforInitSuccess(),ie("setUserNodeListToWorker init success",e),Jt(e,{userNodeList:T.default.userNodeList},129,!1,!0)}catch(e){v.default.error("Error when sending user node list to worker",e)}})}function fe(e){T.default.isAudioPlayWork=e}async function pe(e){T.default.isVideoPlayWork=e,await Jt(R.f.VIDEO_DECODE,{isVideoPlayWork:e},"VideoPlayStatus",!1,!0)}function _e(e){T.default.isSharingPlayWork=e}const me=function(){const e={SDK_TO_WORKER:"SDK_TO_WORKER",SDK_TO_WORKER_WAIT_OK:"SDK_TO_WORKER_WAIT_OK",SDK_TO_APP:"SDK_TO_APP",SDK_TO_SDK:"SDK_TO_SDK"};return{nameMap:{INIT_VIDEO_ENCODE_SUCCESS:"INIT_VIDEO_ENCODE_SUCCESS",INIT_VIDEO_DECODE_SUCCESS:"INIT_VIDEO_DECODE_SUCCESS",CREATE_VIDEO_ENCODE_HANDLE_SUCCESS:"CREATE_VIDEO_ENCODE_HANDLE_SUCCESS",CREATE_VIDEO_DECODE_HANDLE_SUCCESS:"CREATE_VIDEO_DECODE_HANDLE_SUCCESS",CREATE_AUDIO_ENCODE_HANDLE_SUCCESS:"CREATE_AUDIO_ENCODE_HANDLE_SUCCESS",CREATE_AUDIO_DECODE_HANDLE_SUCCESS:"CREATE_AUDIO_DECODE_HANDLE_SUCCESS"},map:new Map,direction:e,clear(){this.map.clear()},subscribeMessage(t){const i=this.map.get(t);i&&(i.forEach(t=>{const{direction:i,messageParams:r,handler:a}=t;if(i===e.SDK_TO_APP)T.default.Notify_APPUI(...r);else if(i===e.SDK_TO_WORKER_WAIT_OK)Jt(...r);else if(i===e.SDK_TO_WORKER){const[e,t]=r,i=Qt(e);i&&i.postMessage(t)}else i===e.SDK_TO_SDK&&a&&a(r)}),this.map.delete(t))},enqueueMessage(e){let{name:t,messageParams:i,direction:r,...a}=e;this.map.has(t)||this.map.set(t,[]),this.map.get(t).push({direction:r,messageParams:i||[],...a})}}}(),Ee={resetAudioEncode:e=>{!e&&T.default.isPreviewMode.audioEncode&&(T.default.audioEncodeSession=null),T.default.isPreviewMode.audioEncode=!!e},resetAudioDecode:e=>{!e&&T.default.isPreviewMode.audioDecode&&(T.default.audioDecodeSession=null),T.default.isPreviewMode.audioDecode=!!e},resetVideoEncode:e=>{!e&&T.default.isPreviewMode.videoEncode&&(T.default.videoEncodeSession=null),T.default.isPreviewMode.videoEncode=!!e},resetVideoDecode:e=>{!e&&T.default.isPreviewMode.videoDecode&&(T.default.videoDecodeSession=null),T.default.isPreviewMode.videoDecode=!!e}};async function ge(e,t){T.default.localVideoEncMGR||(T.default.localVideoEncMGR=new f({sessionid:t._id})),Se(R.f.VIDEO_DECODE,T.default.localVideoEncMGR.sessionid,t._id),T.default.videoEncWorkerPath=e.workerJsFileUrl;let i=await se(e.workerJsFileUrl,e.integrityHelper);if(T.default.videoEncResponseText=i,!Ce(t))return!1;if(await async function(e,t,i,r){if(!T.default.localVideoEncMGR)return;T.default.isVideoEncodeThreadStart||(T.default.isVideoEncodeThreadStart=!0,await oe(r,T.default.localVideoEncMGR,Ne,R.f.VIDEO_ENCODE,i))}(0,0,t,e),!Ce(t,"Add_Video_Encode_Thread"))return v.default.error("Add_Video_Encode_Thread Worker Not Controled"),!1;let r=_i(R.f.VIDEO_ENCODE);q(r,R.f.VIDEO_ENCODE),ee(r,R.f.VIDEO_ENCODE),me.subscribeMessage(me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS),await async function(e){if(!T.default.localVideoEncMGR)return;if(await T.default.videoInitInstance.wasmSuccessPromise,!Ce(e))return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);let i=T.default.localVideoPara.confId||0;Ae(T.default.videoEncodeSession,i)&&(T.default.videoEncodeSession=null);if(t&&!T.default.videoEncodeSession){T.default.videoEncodeSession={type:R.f.VIDEO_ENCODE,userId:i};var r=0;r="firefox"===g.default.browserType.browser?1080:1070,T.default.mediaSDKHandle.mtu_size=r;let a=null;T.default.ivObj&&(a=T.default.ivObj[R.f.VIDEO_ENCODE],a=g.default.stringSplitByComma2Buffer(a));let s={command:1,_id:e._id,websocket_ip_address:T.default.Video_WebSocket_Ip_Address?T.default.Video_WebSocket_Ip_Address+"&mode=2":void 0,confId:T.default.localVideoPara.confId,confKey:"",logon:T.default.localVideoPara.logon,sendvideo:!0,isChromeOrEdge:g.default.browser.isChrome,isArmSafari:g.default.browser.isSafari&&!g.default.isMacIntelSafari(),isFirefox:T.default.localVideoPara.isFirefox,mtu_size:r,meetingid:T.default.localVideoPara.meetingid,meetingnumb:T.default.localVideoPara.meetingnumb,videoencodethreadnumb:T.default.localVideoPara.videoencodethreadnumb,iv:a,videodecodethreadnumb:T.default.localVideoPara.videodecodethreadnumb,isSupportMultiThread:T.default.localVideoPara.isSupportMultiThread,isSupportVirtualBackground:T.default.localVideoPara.isSupportVirtualBackground,uplimit:T.default.uplimit,isSupportWebCodecEnocde:T.default.localVideoPara.isSupportWebCodecEnocde,initWebCodecFlag:T.default.localVideoPara.initWebCodecFlag,is360penablehwenc:T.default.enable360pHWEnc,is360penablehwdec:T.default.enable360pHWDec,enable720p:T.default.localVideoPara.enable720p,enableOptCopyFrame:T.default.enableOptCopyFrame,isPreviewMode:T.default.isPreviewMode.videoEncode,...T.default.Video_Web_Transport_Ip_Address?{webtransportURL:T.default.Video_Web_Transport_Ip_Address+"&mode=2"}:{},enableAudioBridge:T.default.enableAudioBridge,platformType:T.default.localVideoPara.platformType,rendererType:T.default.localVideoPara.rendererType,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,enableMultiDecodeVideoWithoutSAB:!!T.default.enableMultiDecodeVideoWithoutSAB,IsRenderInWorker:T.default.localVideoPara.IsRenderInWorker,enableVBWasmBackend:e.enableVBWasmBackend,webrtcvideo:T.default.localVideoPara.webrtcvideo,isEnableCanvasAlphaChannel:!1,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt(),MaskFlag:T.default.localVideoPara.MaskFlag,isSafari:T.default.localVideoPara.isSafari};t.postMessage(s),T.default.tfjsurl&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:T.default.tfjsurl,type:"js"}),T.default.vbbin&&T.default.vbjson&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.vbbin,json:T.default.vbjson},index:0}),T.default.afnbin&&T.default.afnjson&&(t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.afnbin,json:T.default.afnjson},index:1}),T.default.basebin&&T.default.basejson&&t.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.basebin,json:T.default.basejson},index:2}))}}(t)}function Se(e,t,i){let r=t==i;return r||v.default.error("mediasdkInstance id ".concat(i," not equal media type ").concat(e," id ").concat(t)),r}function ve(e,t){T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_REMOVE_UDP_EVT,body:{flag:t,type:e}},!1)}function Ce(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e.isDestroy&&v.default.log("mediasdkInstance id ".concat(e._id," is Destoryed from ").concat(t)),!e.isDestroy}function Ae(e,t){return!(!e||e.userId>>10==t>>10)&&(e.userId&&v.default.error("mediasdk user changed media type ".concat(e.type," pre id ").concat(e.userId," now id ").concat(t)),!0)}async function Re(e,t){T.default.localVideoDecMGR||(T.default.localVideoDecMGR=new f({sessionid:t._id})),Se(R.f.VIDEO_DECODE,T.default.localVideoDecMGR.sessionid,t._id),T.default.videoDecWorkerPath=e.workerJsFileUrl;let i=await se(e.workerJsFileUrl,e.integrityHelper);if(!Ce(t))return!1;if(T.default.videoDecResponseText=i,await tt(0,null,t,e),!Ce(t,"Add_Video_Decode_Thread"))return v.default.error("Add_Video_Decode_Thread Worker Not Controled"),!1;let r=_i(R.f.VIDEO_DECODE);q(r,R.f.VIDEO_DECODE),ee(r,R.f.VIDEO_DECODE),me.subscribeMessage(me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS),await async function(e){if(T.default.isPreviewMode.videoDecode)return;if(!T.default.localVideoDecMGR)return;if(await T.default.videoDecInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);let i=T.default.localVideoPara.confId||0;Ae(T.default.videoDecodeSession,i)&&(T.default.videoDecodeSession=null);if(t&&!T.default.videoDecodeSession){T.default.videoDecodeSession={type:R.f.VIDEO_DECODE,userId:i};let r={command:1,_id:e._id,websocket_ip_address:T.default.Video_WebSocket_Ip_Address?T.default.Video_WebSocket_Ip_Address+"&mode=5":void 0,confId:T.default.localVideoPara.confId,confKey:"",logon:T.default.localVideoPara.logon,mtu_size:0,meetingid:T.default.localVideoPara.meetingid,meetingnumb:T.default.localVideoPara.meetingnumb,videoencodethreadnumb:1,videodecodethreadnumb:T.default.localVideoPara.videodecodethreadnumb,isFirefox:T.default.localVideoPara.isFirefox,isSupportMultiThread:T.default.localVideoPara.isSupportMultiThread,isSupportVideoTrackReader:T.default.localVideoPara.isSupportVideoTrackReader,isSupportOffscreenCanvas:T.default.localVideoPara.isSupportOffscreenCanvas,isenablehw:T.default.localVideoPara.isenablehw,isEnableVideoDecodeHardWareThread:T.default.localVideoPara.isEnableVideoDecodeHardWareThread,isEnableHardWareThread:T.default.localVideoPara.isEnableHardWareThread,isTeslaMode:T.default.localVideoPara.isTeslaMode,enableMultiDecodeVideoWithoutSAB:!!T.default.enableMultiDecodeVideoWithoutSAB,...T.default.Video_Web_Transport_Ip_Address?{webtransportURL:T.default.Video_Web_Transport_Ip_Address+"&mode=1"}:{},enableAudioBridge:T.default.enableAudioBridge,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,platformType:T.default.localVideoPara.platformType,rendererType:T.default.localVideoPara.rendererType,isWebCodecDecoderOnWhitelist:T.default.localVideoPara.isWebCodecDecoderOnWhitelist,decHAOption:T.default.enableHADecOpt?"no-preference":void 0,is360penablehwenc:T.default.enable360pHWEnc,is360penablehwdec:T.default.enable360pHWDec,webrtcvideo:T.default.localVideoPara.webrtcvideo,isEnableCanvasAlphaChannel:T.default.enableCanvasAlphaChannel,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()};t.postMessage(r)}}(t)}async function Te(e,t){if(await Be(t.audioCtx.sampleRate),T.default.localAudioEncMGR||(T.default.localAudioEncMGR=new h({sessionid:t._id})),Se(R.f.AUDIO_ENCODE,T.default.localAudioEncMGR.sessionid,t._id),T.default.audioEncWorkerPath=e.workerJsFileUrl,T.default.audioEncodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t,i){T.default.isAudioEncodeThreadStart||(T.default.isAudioEncodeThreadStart=!0,await oe(i,T.default.localAudioEncMGR,We,R.f.AUDIO_ENCODE,t))}(0,t,e),!Ce(t,"Add_Audio_Encode_Thread"))return v.default.error("Add_Audio_Encode_Thread Worker Not Controled"),!1;let i=_i(R.f.AUDIO_ENCODE);q(i,R.f.AUDIO_ENCODE),ee(i,R.f.AUDIO_ENCODE),me.subscribeMessage(me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS),await async function(e){if(!T.default.localAudioEncMGR)return void v.default.error("jsMediaEngineVariables.localAudioEncMGR is null when call Audio_Encode_Post_message");var t=T.default.localAudioEncMGR.map.get(T.default.SPECIAL_ID);T.default.AEWF&&t.postMessage({command:"RIWM"});if(await T.default.audioEncodeInitInstance.wasmSuccessPromise,!Ce(e))return!1;let i=T.default.localAudioPara.userid||0;Ae(T.default.audioEncodeSession,i)&&(T.default.audioEncodeSession=null);if(t&&!T.default.audioEncodeSession){T.default.audioEncodeSession={type:R.f.AUDIO_ENCODE,userId:i};let r=null;T.default.ivObj&&(r=T.default.ivObj[R.f.AUDIO_ENCODE],r=g.default.stringSplitByComma2Buffer(r));let a={command:1,_id:e._id,websocket_ip_address:T.default.Audio_WebSocket_Ip_Address?T.default.Audio_WebSocket_Ip_Address+"&mode=2":void 0,sampleRate:T.default.localAudioPara.sampleRate,userid:T.default.localAudioPara.userid,encode:1,meetingid:T.default.localAudioPara.meetingid,meetingnumb:T.default.localAudioPara.meetingnumb,iv:r,shouldNotChangeSampleRate:g.default.browser.isFirefox||g.default.browser.isSafari,isPreviewMode:T.default.isPreviewMode.audioEncode,audioEncodeChannelsNum:g.default.isBrowserSupportStereo()?2:1,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,...T.default.Audio_Web_Transport_Ip_Address?{webtransportURL:T.default.Audio_Web_Transport_Ip_Address+"&mode=2"}:{}};if(t.postMessage(a),T.default.sharedBuffer){ie("post audioEnc sab");try{t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer})}catch(e){t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer},[T.default.sharedBuffer])}}}}(t)}async function Ie(e,t){var i;if(await Be(null===(i=t.audioCtx)||void 0===i?void 0:i.sampleRate),T.default.localAudioDecMGR||(T.default.localAudioDecMGR=new h({sessionid:t._id})),Se(R.f.AUDIO_DECODE,T.default.localAudioDecMGR.sessionid,t._id),T.default.audioDecWorkerPath=e.workerJsFileUrl,T.default.audioDecodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),"string"==typeof T.default.audioDecodeResponse?A.default.add_monitor("DAFL"+T.default.audioDecodeResponse.length):A.default.add_monitor("DAFF"),!Ce(t))return!1;if(await it(0,null,t,e),!Ce(t,"Add_Audio_Decode_Thread"))return v.default.error("Add_Audio_Decode_Thread Worker Not Controled"),!1;let r=_i(R.f.AUDIO_DECODE);q(r,R.f.AUDIO_DECODE),ee(r,R.f.AUDIO_DECODE),me.subscribeMessage(me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS),A.default.add_monitor("ADTS"),await async function(e){if(T.default.isPreviewMode.audioDecode)return void A.default.add_monitor("ZISA");if(!T.default.localAudioDecMGR)return void v.default.warn("jsMediaEngineVariables.localAudioDecMGR is null when call Audio_Decode_Post_message");var t=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);T.default.ADWF&&t.postMessage({command:"RIWM"});if(await T.default.audioDecInitInstance.wasmSuccessPromise,!Ce(e))return!0;let i=T.default.localAudioPara.userid||0;Ae(T.default.audioDecodeSession,i)&&(T.default.audioDecodeSession=null);if(t&&!T.default.audioDecodeSession){T.default.audioDecodeSession={type:R.f.AUDIO_DECODE,userId:i};let r={command:1,_id:e._id,websocket_ip_address:T.default.Audio_WebSocket_Ip_Address?T.default.Audio_WebSocket_Ip_Address+"&mode=5":void 0,sampleRate:T.default.localAudioPara.sampleRate,userid:T.default.localAudioPara.userid,logon:T.default.localAudioPara.logon,decode:1,meetingid:T.default.localAudioPara.meetingid,meetingnumb:T.default.localAudioPara.meetingnumb,videodecodethreadnumb:T.default.localAudioPara.videodecodethreadnumb,isSupportMultiThread:T.default.localAudioPara.isSupportMultiThread,decoderInWorklet:T.default.decoderinworklet,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,shouldNotChangeSampleRate:g.default.browser.isFirefox||g.default.browser.isSafari,...T.default.Audio_Web_Transport_Ip_Address?{webtransportURL:T.default.Audio_Web_Transport_Ip_Address+"&mode=1"}:{}};if(A.default.add_monitor("ADSM"),t.postMessage(r),T.default.sharedBuffer){ie("post audioDec sab");try{t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer})}catch(e){t.postMessage({command:"sharedBuffer",data:T.default.sharedBuffer},[T.default.sharedBuffer])}}}else A.default.add_monitor("ADSME"+!!t+!!T.default.audioDecodeSession)}(t)}async function be(e,t){if(T.default.localSharingDecMGR||(T.default.localSharingDecMGR=new E({sessionid:t._id})),T.default.localMouseDecMGR||(T.default.localMouseDecMGR=new E({sessionid:t._id})),Se(R.f.SHARING_DECODE,T.default.localSharingDecMGR.sessionid,t._id),T.default.sharingDecWorkerPath=e.workerJsFileUrl,T.default.sharingDecodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t){T.default.isSharingDecodeThreadStart||(T.default.isSharingDecodeThreadStart=!0,await oe(t,T.default.localSharingDecMGR,ye,R.f.SHARING_DECODE,e))}(t,e),!Ce(t,"Add_Sharing_Decode_Thread"))return v.default.error("Add_Sharing_Decode_Thread Worker Not Controled"),!1;let i=_i(R.f.SHARING_DECODE);q(i,R.f.SHARING_DECODE),ee(i,R.f.SHARING_DECODE),await De(t)}async function Oe(e,t){if(T.default.localSharingEncMGR||(T.default.localSharingEncMGR=new E({sessionid:t._id})),Se(R.f.SHARING_ENCODE,T.default.localSharingEncMGR.sessionid,t._id),T.default.sharingEncWorkerPath=e.workerJsFileUrl,T.default.sharingEncodeResponse=await se(e.workerJsFileUrl,e.integrityHelper),!Ce(t))return!1;if(await async function(e,t){if(e&&e.isDestroy)return ie("WorkerType:sharingEnc;The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. ");T.default.isSharingEncodeThreadStart||(T.default.isSharingEncodeThreadStart=!0,await oe(t,T.default.localSharingEncMGR,Me,R.f.SHARING_ENCODE,e))}(t,e),!Ce(t,"Add_Sharing_Encode_Thread"))return v.default.error("Add_Sharing_Encode_Thread Worker Not Controled"),!1;ee(_i(R.f.SHARING_ENCODE),R.f.SHARING_ENCODE),await we(t)}async function De(e){if(await T.default.sharingDecInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localSharingDecMGR.Get(T.default.SPECIAL_ID);let i=T.default.localSharingPara.userid||0;Ae(T.default.sharingDecodeSession,i)&&(T.default.sharingDecodeSession=null),t&&!T.default.sharingDecodeSession&&(T.default.sharingDecodeSession={type:R.f.SHARING_DECODE,userId:i},t.postMessage({command:1,_id:e._id,websocket_ip_address:T.default.Sharing_WebSocket_Ip_Address,confId:T.default.localSharingPara.userid,confKey:"",logon:T.default.localSharingPara.logon,meetingid:T.default.localSharingPara.meetingid,meetingnumb:T.default.localSharingPara.meetingnumb,multiThreadNum:1,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,rendererType:T.default.localSharingPara.rendererType,isWebCodecDecoderOnWhitelist:T.default.localSharingPara.isWebCodecDecoderOnWhitelist,isEnableCanvasAlphaChannel:T.default.enableCanvasAlphaChannel,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()}))}async function we(e){if(await T.default.sharingEncInitInstance.wasmSuccessPromise,!Ce(e))return!1;var t=T.default.localSharingEncMGR.Get(T.default.SPECIAL_ID);let i=T.default.localSharingPara.userid||0;if(Ae(T.default.sharingEncodeSession,i)&&(T.default.sharingEncodeSession=null),t&&!T.default.sharingEncodeSession){let r=1;A.default.add_monitor2("STN"+r);let a=null;T.default.ivObj&&(a=T.default.ivObj[R.f.SHARING_ENCODE],a=g.default.stringSplitByComma2Buffer(a)),T.default.sharingEncodeSession={type:R.f.SHARING_ENCODE,userId:i},t.postMessage({command:1,_id:e._id,encode:!0,websocket_ip_address:T.default.Sharing_WebSocket_Ip_Address,confId:T.default.localSharingPara.userid,confKey:"",logon:T.default.localSharingPara.logon,isChromeOrEdge:g.default.browser.isChrome,meetingid:T.default.localSharingPara.meetingid,meetingnumb:T.default.localSharingPara.meetingnumb,multiThreadNum:1,iv:a,uplimit:T.default.uplimit,graphicalname:g.default.graphicName,vendorname:g.default.graphicvendorname,rendererType:T.default.localSharingPara.rendererType,isEnableCanvasAlphaChannel:!1,isEnableCanvasCtxOptionsOpt:I.a.isEnableCanvasCtxOptionsOpt()})}}function ye(e){var t=e.data;try{if(t.status===o.Sharing_Width_And_Height_Info)C.a.publish(a.SHARING_PARAM_INFO_FROM_SOCKET,{body:{width:t.logicWidth,height:t.logicHeight,logicWidth:t.logicWidth,logicHeight:t.logicHeight}}),T.default.Notify_APPUI(a.SHARING_PARA,{body:{width:t.logicWidth,height:t.logicHeight,logicWidth:t.logicWidth,logicHeight:t.logicHeight}});else if(t.status===o.FIRST_SHARING_FRAME_FOR_MOBILE)T.default.Notify_APPUI(a.FIRST_IOS_FRAME,t.ssrc);else if(t.status===o.SHARING_RENDER_MONITOR_LOG)A.default.add_monitor2(t.data);else if(t.status===o.SHARING_FIRST_DECODE_FRAME_RECEIVED)A.default.add_monitor("FSF"),T.default.Notify_APPUI(a.SHARING_FIRST_DECODE_FRAME_RECEIVED_SSRC,{ssrc:t.ssrc});else if(t.status===o.SHARING_DATA_VIDEO_MODE)!function(e,t,i,r,a,s,o,n,d,u,l,c,h){if(!T.default.isSharingPlayWork)return;var f={yuvdata:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,r_w:n,r_h:d,logic_w:u,logic_h:l,yuv_limited:c,isFromMainSession:h};T.default.mediaSDKHandle.SharingRenderObj.Put_Sharing_Data_From_Queue(f,15)}(t.sharing_ssrc,t.data,t.sharing_timestamp,t.sharing_width,t.sharing_height,t.rendering_x,t.rendering_y,t.rendering_w,t.rendering_h,t.logic_w,t.logic_h,t.yuv_limited,t.isFromMainSession);else if(t.status===o.MOUSE_DATA_VIDEO_MODE)!function(e,t,i,r,a,s,o,n,d,u){if(!T.default.isSharingPlayWork)return;var l={buffer:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,mLogic_w:n,mLogic_h:d,sync_id:u};T.default.mediaSDKHandle.SharingRenderObj.Put_Mouse_Data_Into_Queue(l)}(t.mouse_ssrc,t.data,t.mouse_timestamp,t.mouse_width,t.mouse_height,t.mouse_x,t.mouse_y,t.mLogic_w,t.mLogic_h,t.sync_id);else if(t.status===o.SHARING_DECODE_MESSAGE)T.default.Notify_APPUI(a.SHARING_DECODE_MAX_SIZE,{ssrc:t.ssrc,size:t.size,fps:t.size});else if(t.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!1,...t.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else if(t.status===o.Sharing_Dec_WASM_OK)A.default.add_monitor("SDWS"),T.default.isSharingDecodeWASMOK=!0,T.default.sharingDecInitInstance.setWasmSuccess();else if(t.status===o.Sharing_Dec_WASM_FAILED)A.default.add_monitor("SDWF",t.data),ue("SDWF"),T.default.sharingDecInitInstance.setWasmSuccess(!1);else if(t.status===o.Sharing_Handle_OK||t.status===o.Video_Sharing_Handle_OK)A.default.add_monitor("SDHS"),T.default.sharingDecInitInstance.setHanderSuccess();else if(t.status===o.Sharing_Handle_FAILED)A.default.add_monitor("SHHF"),T.default.sharingDecInitInstance.setHanderSuccess(!1);else if(t.status===o.Sharing_Dec_WebSocket_OK)A.default.add_monitor("SDSS"),T.default.sharingDecInitInstance.setSocketSuccess();else if(t.status===o.Sharing_Dec_WebSocket_FAILED)A.default.add_monitor("SDSF"),T.default.sharingDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.sharingDecInitInstance.setSocketSuccess(!1);else{if(t.status==o.MONITOR_MESSAGE)return void A.default.send_monitor_directly(t.data);if(t.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localSharingDecMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e,R.f.SHARING_DECODE)}else t.status==o.APP_TROUBLESHOOTING_INFO?(T.default.monitorSharingDecodeAPPInfo=t,A.default.send_monitor_directly(T.default.monitorSharingDecodeAPPInfo.data),T.default.monitorSharingDecodeAPPInfo=null):t.status==o.WCL_TROUBLESHOOTING_INFO?A.default.add_monitor("SD"+t.data):t.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST?(A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:t.canvasId,replaceCanvas:!!t.replaceCanvas})):t.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED?A.default.add_monitor("MWGRF"):"WFMO"==t.status?ke(R.f.SHARING_DECODE):t.status==o.WASM_MEMORY_GRROW_FAILED?T.default.SDMTimes++<2&&(ue(R.f.SHARING_DECODE+" Memory Allocate Failed"),A.default.add_monitor("SDMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)):t.status==o.RECEIVE_ANNOTATION_PDU?T.default.mediaSDKHandle.onAnnotationPdu(t.data):t.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,t.where):ne(R.f.SHARING_DECODE,e)}}catch(e){v.default.error("Error in SharingDec_Listener",e)}}function Me(e){var t=e.data;try{if(t.status===o.SHARING_GET_IMAGE_DATA_WRONG)A.default.add_monitor("GIDF");else if(t.status===o.Sharing_Dec_WASM_OK)A.default.add_monitor("SEWS"),T.default.isSharingEncodeWASMOK=!0,T.default.sharingEncInitInstance.setWasmSuccess();else if(t.status===o.Sharing_Dec_WASM_FAILED)A.default.add_monitor("SEWF",t.data),ue("SEWF"),T.default.sharingEncInitInstance.setWasmSuccess(!1);else if(t.status===o.Sharing_Handle_OK||t.status===o.Video_Sharing_Handle_OK)A.default.add_monitor("SEHS"),T.default.sharingEncInitInstance.setHanderSuccess();else if(t.status===o.Sharing_Handle_FAILED)A.default.add_monitor("SEHF"),T.default.sharingEncInitInstance.setHanderSuccess(!1);else if(t.status===o.Sharing_Dec_WebSocket_OK)A.default.add_monitor("SESS"),T.default.sharingEncInitInstance.setSocketSuccess();else if(t.status===o.Sharing_Dec_WebSocket_FAILED)A.default.add_monitor("SESF",t.data),T.default.sharingEncInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.sharingEncInitInstance.setSocketSuccess(!1);else if(t.status==o.SHARING_CAPTURE_FRAME_COUNT_STATISTIC)A.default.add_monitor2("SCFOK");else if(t.status==o.UNSUPPORTED_SHARING_FORMAT)A.default.add_monitor("SCFF"+t.format);else if(t.status==o.Video_Capture_Tick)T.default.mediaSDKHandle.isSupportVideoTrackReader?(T.default.mediaSDKHandle.canISendNextSharingFrame=!0,T.default.mediaSDKHandle.Process_Sharing()):T.default.mediaSDKHandle.Process_Sharing();else if(t.status==o.WhiteBoard_Video_Capture_Tick)T.default.mediaSDKHandle.Process_Sharing();else if(t.status===o.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT){var i;null===(i=T.default.mediaSDKHandle)||void 0===i||i.onSharingSizeChange(t),T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t.width,height:t.height})}else{if(t.status==o.MONITOR_MESSAGE)return void A.default.send_monitor_directly(t.data);if(t.status==o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e)}else if(t.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!0,...t.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else t.status==o.APP_TROUBLESHOOTING_INFO?A.default.send_monitor_directly(t.data):t.status==o.WCL_TROUBLESHOOTING_INFO?A.default.add_monitor("SE"+t.data):t.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST?T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:t.canvasId,replaceCanvas:!!t.replaceCanvas}):t.status==o.WHITEBOARD_WORKER_MESSAGE?T.default.Notify_APPUI(a.WB_MESSAGE,{data:t.data}):"WFMO"==t.status?ke(R.f.SHARING_ENCODE):t.status==o.SHARING_HEALTH_CHECK_FAILED?(Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.SHARING_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.SHARING_HEALTH_CHECK_FAILED,", ").concat(t.videoType,",").concat(t.subforme,",").concat(t.hasRTPPackets))):t.status==o.WASM_MEMORY_GRROW_FAILED?T.default.SEMTimes++<2&&(ue(R.f.SHARING_ENCODE+" Memory Allocate Failed"),A.default.add_monitor("SEMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)):t.status==o.RECEIVE_ANNOTATION_PDU?T.default.mediaSDKHandle.onAnnotationPdu(t.data):t.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,t.where):ne(R.f.SHARING_ENCODE,e)}}catch(e){v.default.error("Error in SharingEnc_Listener",e)}}function Pe(e){var t,i=e.data,r=!0;try{if("NewActiveSpeakerFirstframeCallback"===i.status)T.default.Notify_APPUI(a.NEW_ACTIVE_SPEAKER_FIRST_FRAME_CALLBACK,{ssrc:i.ssrc});else if(i.status===o.VIDEO_RESOLUTION_UPDATE)T.default.Notify_APPUI(a.CURRENT_VIDEO_RESOLUTION,{width:i.width,height:i.height});else if(i.status===o.WORKER_MAIN_VIDEO_DECODE_RINGBUFFER_TICK){let e=T.default.mediaSDKHandle.videoDecodeFrameBackSABRingBufferConsumer;e&&e.consumeAll(T.default.mediaSDKHandle.bVideoDecodeFrameBackSABRingBufferConsumeCopyData)}else if(i.status===o.VIDEO_RENDER_MONITOR_LOG)A.default.add_monitor2(i.data);else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST)A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:i.canvasId,replaceCanvas:!!i.replaceCanvas});else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED)A.default.add_monitor("MWGRF");else if(i.status==o.WEBGL_CONTEXT_CREATE_FAILED)A.default.add_monitor("MWCGLF"),Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,i.where);else if(0===i.status)$e(i.video_ssrc,i.data,i.video_timestamp,i.video_width,i.video_height,i.rendering_x,i.rendering_y,i.rendering_w,i.rendering_h,i.rotation,i.yuv_limited);else if(i.status===o.Video_Dec_WASM_OK)A.default.add_monitor("VDWS"),T.default.isVideoDecodeWASMOK=!0,T.default.videoDecInitInstance.setWasmSuccess(),T.default.isPreviewMode.videoDecode&&T.default.Notify_APPUI_SAFE(a.PREVIEW_INIT_VIDEO_DECODE_SUCCESS);else if(i.status===o.DECODE_MESSAGE){let e=i.size;T.default.Notify_APPUI(a.VIDEO_DECODE_MAX_SIZE,{ssrc:i.ssrc,size:e}),A.default.add_monitor("VDMS:"+e)}else if(i.status===o.Video_Dec_WASM_FAILED)A.default.add_monitor("VDWF",i.data),ue("VDWF"),T.default.videoDecInitInstance.setWasmSuccess(!1);else if(i.status===o.Video_Dec_Handle_OK)A.default.add_monitor("VDHS"),T.default.videoDecInitInstance.setHanderSuccess();else if(i.status===o.Video_Dec_Handle_FAILED)A.default.add_monitor("VDHF"),T.default.videoDecInitInstance.setHanderSuccess(!1);else if(i.status===o.Video_Dec_WebSocket_OK)T.default.videoDecInitInstance.setSocketSuccess(),A.default.add_monitor("VDSS");else if(i.status===o.Video_Dec_WebSocket_FAILED)A.default.add_monitor("VDSF"),T.default.videoDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.videoDecInitInstance.setSocketSuccess(!1);else if(i.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("VDWPS");else if(i.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("VDWPCLOSE"),ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_WEBTRANSPORT);else if(i.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("VDWSCLOSE");else if(i.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("VDTTP:"+i.type);else if(i.status==o.MONITOR_MESSAGE)A.default.send_monitor_directly(i.data),r=!1;else if(i.status==o.APP_TROUBLESHOOTING_INFO)r=!1,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:i.data}});else if(i.status==o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);Ue(i.url,e,R.f.VIDEO_DECODE),r=!1}else if(i.status==o.WCL_TROUBLESHOOTING_INFO)r=!1,A.default.add_monitor("VD"+i.data);else if(i.status===o.CURRENT_DECODE_VIDEO_QUALITY)T.default.Notify_APPUI_SAFE(a.CURRENT_DECODE_VIDEO_QUALITY,i.data);else if(i.status===o.CURRENT_DECODE_VIDEO_FPS)T.default.Notify_APPUI_SAFE(a.CURRENT_DECODE_VIDEO_FPS,i.data);else if(i.status===a.VIDEO_QOS_DATA){const e={encoding:!1,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEO_QOS_DATA,e)}else"FIRST_VIDEO_FRAME"===i.status?(T.default.Notify_APPUI_SAFE(a.FIRST_VIDEO_FRAME),A.default.add_monitor("FVF")):i.status===o.NETWORK_QUALITY_CHANGE?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE,{isUplink:i.isUplink,networkLevel:i.networkLevel,bwLevel:i.bwLevel}):"WFMO"==i.status?(r=!1,ke(R.f.VIDEO_DECODE)):i.status==o.Video_Sharing_Handle_OK?r=!0:i.status==o.WASM_MEMORY_GRROW_FAILED?(r=!1,T.default.VDMTimes++<2&&(ue(R.f.VIDEO_DECODE+" Memory Allocate Failed"),A.default.add_monitor("VDMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL))):i.status==o.WEBCODEC_PERFORMANCE_STATUS?hi(i.data):(i.status==o.GLOBAL_TRACING_LOG&&(r=!1),ne(R.f.VIDEO_DECODE,e))}catch(e){v.default.error("Error in VideoDec_Listener",e)}r&&null!==(t=T.default.mediaSDKHandle)&&void 0!==t&&t.isSupportVideoShare&&ye(e)}function Ne(e){var t,i=e.data,r=!0;if(i!==o.WORKER_MAIN_VIDEO_ENCODE_RINGBUFFER_TICK){try{if("VBPredictDone"===i.status)A.default.add_monitor("VBPOK"+i.predictCostTime),T.default.isPreviewMode.videoEncode&&me.enqueueMessage({name:me.nameMap.INIT_VIDEO_ENCODE_SUCCESS,messageParams:[a.VB_MODEL_PRELOADING_OK,null],direction:me.direction.SDK_TO_APP}),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_OK,null);else if("VBPredictAbout3s"===i.status)A.default.add_monitor("VBP3S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_3S,null);else if("VBPredictAbout10s"===i.status)A.default.add_monitor("VBP10S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_10S,null);else if("vbInitializeFailed"===i.status)v.default.error("VB tensorflow backend initialize failed"),A.default.add_monitor("VBBEF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL);else if(0===i.status);else if(i.status===o.Video_Enc_WASM_OK||i.status===o.Video_Dec_WASM_OK)A.default.add_monitor("VEWS"),T.default.isVideoEncodeWASMOK=!0,T.default.videoInitInstance.setWasmSuccess();else if(i.status===o.Video_Enc_WASM_FAILED)A.default.add_monitor("VEWF",i.data),ue("VEWF"),T.default.videoInitInstance.setWasmSuccess(!1);else if(i.status===o.Video_Enc_Handle_OK||o.Video_Dec_Handle_OK===i.status)A.default.add_monitor("VEHS"),T.default.videoInitInstance.setHanderSuccess();else if(i.status===o.Video_Enc_Handle_FAILED||o.Video_Dec_Handle_FAILED===i.status)A.default.add_monitor("VEHF"),T.default.videoInitInstance.setHanderSuccess(!1);else if(o.Video_Dec_WebSocket_OK===i.status)A.default.add_monitor("VESS"),T.default.videoInitInstance.setSocketSuccess();else if(i.status===o.Video_Dec_WebSocket_FAILED)A.default.add_monitor("VESF"),T.default.videoInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.VIDEO_WEBSOCKET_BROKEN,null),T.default.videoInitInstance.setSocketSuccess(!1);else if(i.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("VEWPS");else if(i.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("VEWPCLOSE");else if(i.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("VEWSCLOSE");else if(i.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("VETTP:"+i.type);else if(i.status===o.CURRENT_ENCODED_TYPE)A.default.add_monitor("VEHORS:"+i.type);else if(i.status===o.Video_Capture_Tick)T.default.mediaSDKHandle.Process_Video();else if(i.status===o.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT)T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:i.width,height:i.height});else if(i.status===o.VIDEO_CAPTURER_RESOLUTION_CHANGE)A.default.add_monitor("VCRC"+i.width),T.default.mediaSDKHandle.Change_Video_Capture_Resolution(i.width,i.height);else if(i.status==o.VIDEO_CAPTURE_FRAME_COUNT_STATISTIC)A.default.add_monitor2("VCFOK");else if(i.status==o.UNSUPPORTED_VIDEO_FORMAT)A.default.add_monitor("VCFF","format: ".concat(i.format));else{if(i.status==o.MONITOR_MESSAGE)return r=!1,void A.default.send_monitor_directly(i.data);if(i.status==o.APP_TROUBLESHOOTING_INFO)r=!1,A.default.send_monitor_directly(i.data);else if(i.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);Ue(i.url,e,R.f.VIDEO_ENCODE),r=!1}else if(i.status==o.WCL_TROUBLESHOOTING_INFO)r=!1,A.default.add_monitor("VE"+i.data);else if(i.status==o.WASMPTR){let e=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var s=T.default.localVideoDecMGR.map.get(e);s&&s.postMessage({command:"encodedimagebitmapwasmptr",data:i.data,wasmMemory:i.wasmMemory})}else T.default.isPreviewMode.videoEncode&&me.enqueueMessage({name:me.nameMap.INIT_VIDEO_DECODE_SUCCESS,messageParams:[R.f.VIDEO_DECODE,{command:"encodedimagebitmapwasmptr",data:i.data,wasmMemory:i.wasmMemory}],direction:me.direction.SDK_TO_WORKER})}else if(i.status===a.VIDEO_QOS_DATA){const e={encoding:!0,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEO_QOS_DATA,e)}else if(i.status===a.VIDEOSHARE_QOS_DATA){const e={encoding:!0,...i.data};T.default.Notify_APPUI_SAFE(a.VIDEOSHARE_QOS_DATA,e)}else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_LOST)A.default.add_monitor("MWGLF"),T.default.Notify_APPUI(a.WEBGL_LOST_IN_MULTI_VIEW,{canvasId:i.canvasId,replaceCanvas:!!i.replaceCanvas});else if(i.status==o.MULTIVIEW_WEBGL_CONTEXT_RESTORED)A.default.add_monitor("MWGRF");else if(i.status===o.Video_Encode_Preview_OK)T.default.mediaSDKHandle.init_Notify_APPUI(!0,R.f.VIDEO_ENCODE);else if(i.status===o.NETWORK_QUALITY_CHANGE)T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE,{isUplink:i.isUplink,networkLevel:i.networkLevel,bwLevel:i.bwLevel});else if("WFMO"==i.status)r=!1,ke(R.f.VIDEO_ENCODE);else if(i.status==o.VIDEO_HEALTH_CHECK_FAILED)Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.VIDEO_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.VIDEO_HEALTH_CHECK_FAILED,", ").concat(i.videoType,",").concat(i.subforme,",").concat(i.hasRTPPackets));else if(i.status===a.EXPOSE_VB_FRAME){const{frame:e}=i,{frameSent:t,frameReceived:r}=T.default;T.default.extVBPort&&t===r?(T.default.extVBPort.postMessage({type:a.UNIFIED_VB_FRAME,frame:e}),T.default.frameSent++):A.default.add_monitor("EVBOF-".concat(t-r)),e.close()}else i.status==o.Video_Sharing_Handle_OK?r=!0:i.status==o.WASM_MEMORY_GRROW_FAILED?(r=!1,T.default.VEMTimes++<2&&(ue(R.f.VIDEO_ENCODE+" Memory Allocate Failed"),A.default.add_monitor("VEMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL))):i.status==o.WEBCODEC_PERFORMANCE_STATUS?hi(i.data):i.status==o.WEBGL_CONTEXT_CREATE_FAILED?Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,i.where):(i.status==o.GLOBAL_TRACING_LOG&&(r=!1),ne(R.f.VIDEO_ENCODE,e))}}catch(e){v.default.error("Error in VideoEnc_Listener",e)}r&&null!==(t=T.default.mediaSDKHandle)&&void 0!==t&&t.isSupportVideoShare&&Me(e)}}function Ve(e,t){let i;try{i=new WebAssembly.Memory({initial:e,maximum:t,shared:!0})}catch(e){v.default.error("E:H Allocate WasmMemory Failed",e),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL)}return i}function ke(e){let t,i,r=!1,a=g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()?4096:8192,s=T.default.mediaSDKHandle.is32bitbrowser||!g.default.isChromeVersionHigherThan(90)||g.default.isChromeOS();if(e==R.f.VIDEO_ENCODE){var o;if(i=T.default.localVideoEncMGR.map.get(0),T.default.VE)r=!0,t=T.default.VE;else null!==(o=T.default.mediaSDKHandle)&&void 0!==o&&o.isSupportVideoShare&&(a=32e3),t=Ve(1024,a),s&&(T.default.VE=t);T.default.localVideoPara&&(T.default.localVideoPara.VE=t)}else if(e==R.f.VIDEO_DECODE){var n;if(i=T.default.localVideoDecMGR.map.get(0),T.default.VD)r=!0,t=T.default.VD;else null!==(n=T.default.mediaSDKHandle)&&void 0!==n&&n.isSupportVideoShare&&(a=16384),t=Ve(1024,a),s&&(T.default.VD=t);T.default.localVideoPara&&(T.default.localVideoPara.VD=t)}else e==R.f.SHARING_ENCODE?(i=T.default.localSharingEncMGR.map.get(0),T.default.SE?(r=!0,t=T.default.SE):(t=Ve(1024,a),s&&(T.default.SE=t)),T.default.localVideoPara&&(T.default.localVideoPara.SE=t)):e==R.f.SHARING_DECODE&&(i=T.default.localSharingDecMGR.map.get(0),T.default.SD?(r=!0,t=T.default.SD):(t=Ve(1024,a),s&&(T.default.SD=t)),T.default.localVideoPara&&(T.default.localVideoPara.SD=t));if(r){new Uint8Array(t.buffer).fill(0)}i.postMessage({command:"wasmMemory",data:t})}function Ue(e,t,i){g.default.downloadAndCompileWebAssembly(e,i,A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate).then(e=>{t.postMessage({command:"DOWNLOAD_WASM_FROM_MAIN_THREAD_OK",data:e})}).catch(e=>{t.postMessage({command:"DOWNLOAD_WASM_FROM_MAIN_THREAD_FAILED"})})}const Le=function(){let e={send:null,recvWorklet:null,recvWorker:null},t=null,i=/(WCL_MCM_AUDIO.*?)(\{\[SPEECHINPUT_R16\]\}),(.*?),(.*?),(.*?),(.*?),(\{\[SEND\]\}.*?)(\{\[DENOISE\]\}.*?)\{\[CAPTURE\]\},(.*?),(\{\[AEC\]\},.*?),(\{\[END\]\})/,r=/(WCL_MCM_AUDIO.*?)(\{\[SPEECHOUTPUT_R16\]\},)(.*?),(\{\[NETWORK\]\}.*?)(\{\[RECEIVE\]\}.*?)\{\[RENDER\]\},(.*?),(.*?)(\{\[END\]\})/;return{push(i){let{log:r,logSource:a}=i;if(r&&this._isLogValid(r)){if(this._checkNeedReportImmediate(r,a))return a===s.AUDIO_WEBRTC_WORKLET?this._sendWebRTCLog(r):this._report(r);a===s.AUDIO_ENCODE_WORKER?e.send=r:a===s.AUDIO_DECODE_WORKER?e.recvWorker=r:e.recvWorklet=r,this._clearTImer(),t=setTimeout(this._checkNeedReport.bind(this),2e3)}},_isLogValid:e=>!!(e.match("WCL_MCM_AUDIO")||e.match("JITTER")||e.match("DEVICE")||e.match("ORIGINAL_SOUND")||e.match("AUDIO_CODEC_EVENT")||e.match("AUDIOEVENT")||e.match("AUDIO_DEVICE_VOLUME")),_checkNeedReportImmediate:(e,t)=>t===s.AUDIO_WEBRTC_WORKLET||!e.match("SPEECHOUTPUT_R16")&&!e.match("SPEECHINPUT_R16"),_checkNeedReport(){const e=this._generateLog();e&&this._report(e)},_sendWebRTCLog(e){const{denoise:t,captureCounter:i}=this._parseSend(e);this._report("WCL_AB,"+t+"{[CAPTURTE]},"+i+",{[END]}")},_generateLog(){if(!e.send&&!e.recvWorker&&!e.recvWorklet)return null;const{inputputPrefix:t,speechInStr:i,speechInOutStr:r,denoiseInStr:a,denoiseOutStr:s,send:o,denoise:n,captureCounter:d,aec:u}=this._parseSend(e.send);let l={};e.recvWorklet&&(l=this._parseRecv(e.recvWorklet));let c=this._parseRecv(e.recvWorker),h=l.outputPrefix||c.outputPrefix,f=l.speechOutStr||c.speechOutStr,p=l.network||c.network,_=l.renderCounter||c.renderCounter,m=l.others||c.others,E=c.receive;this.recordEchoLog(u);const g=t||h,S="{[SPEECH_R16]},".concat(i,",").concat(r,",").concat(f,",").concat(a,",").concat(s,",").concat(u,",").concat(p).concat(E).concat(m,"{[PROCESS]},").concat(d,",").concat(_,",").concat(o).concat(n,"{[END]}");return"".concat(g).concat(S)},recordEchoLog(e){let t=e.match(/-?\d+/g);t&&(parseInt(t[0])||parseInt(t[1]))&&v.default.directReport("echo captured: "+t[0]+": "+t[1])},_parseSend(e){const t=i.exec(e||"")||[];return{inputputPrefix:t[1]||"",speechInStr:t[3]||"",speechInOutStr:t[4]||"",denoiseInStr:t[5]||"",denoiseOutStr:t[6]||"",send:t[7]||"",denoise:t[8]||"",captureCounter:t[9]||"",aec:t[10]||""}},_parseRecv(e){const t=r.exec(e||"")||[];return{outputPrefix:t[1]||"",speechOutStr:t[3]||"",network:t[4]||"",receive:t[5]||"",renderCounter:t[6]||"",others:t[7]||""}},_report(e){e&&T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:e}})},_clearTImer(){clearTimeout(t),t=null},clear(){e={send:null,recv:null},this._clearTImer()}}}();function xe(e){var t=e.data;try{if(0===t.status)t.time?T.default.AudioNode&&T.default.AudioNode.postData("data",{ssrc:T.default.CurrentSSRC,data:t.data,time:t.time}):T.default.AudioNode&&T.default.AudioNode.postData("data",{ssrc:T.default.CurrentSSRC,data:t.data,time:null});else if(t.status===o.Audio_Enc_WASM_OK||t.status===o.Audio_Dec_WASM_OK)A.default.add_monitor("ADWS"),T.default.isAudioDecodeWASMOK=!0,T.default.audioDecInitInstance.setWasmSuccess(),T.default.isPreviewMode.audioDecode&&T.default.Notify_APPUI_SAFE(a.PREVIEW_INIT_AUDIO_DECODE_SUCCESS);else if(t.status===o.Audio_Dec_WASM_FAILED)A.default.add_monitor("ADWF",t.data),ue("ADWF"),T.default.audioDecInitInstance.setWasmSuccess(!1);else if(t.status===o.Audio_Dec_Handle_OK)A.default.add_monitor("ADHS"),T.default.audioDecInitInstance.setHanderSuccess();else if(t.status===o.Audio_Dec_Handle_FAILED)A.default.add_monitor("ADHF"),T.default.audioDecInitInstance.setHanderSuccess(!1);else if(t.status===o.Audio_Dec_WebSocket_OK)A.default.add_monitor("ADSS"),T.default.audioDecInitInstance.setSocketSuccess();else if(t.status===o.Audio_Dec_WebSocket_FAILED)A.default.add_monitor("ADSF"),T.default.audioDecInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.AUDIO_WEBSOCKET_BROKEN,null),T.default.audioDecInitInstance.setSocketSuccess(!1);else if(t.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("ADWPS");else if(t.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("ADWPCLOSE"),ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_WEBTRANSPORT);else if(t.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("ADWSCLOSE");else if(t.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("ADTTP:"+t.type);else if(t.status==o.MONITOR_MESSAGE)A.default.send_monitor_directly(t.data);else if(t.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);Ue(t.url,e,R.f.AUDIO_DECODE)}else if(t.status==o.WCL_TROUBLESHOOTING_INFO)A.default.add_monitor("AD"+t.data);else if(t.status==o.CURRENT_SSRC_TIME)t.at&&T.default.CurrentSSRCTime!==t.at&&(T.default.CurrentSSRCTime=t.at,T.default.audioPlayTime=Date.now()),t.st&&T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(t.st);else if("multiCurrentTime"==t.status){if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);i&&i.postMessage({command:"audioDecodeTime",data:t.data,status:1})}}else if(t.status==o.AUDIO_ENCODED_DATA);else if(t.status===o.AUDIO_MONITOR_LOG)Le.push({log:t.data,logSource:s.AUDIO_DECODE_WORKER});else if(t.status===a.AUDIO_QOS_DATA){const e={encoding:!1,...t.data};T.default.Notify_APPUI_SAFE(a.AUDIO_QOS_DATA,e)}else t.status===o.NETWORK_QUALITY_CHANGE_AUDIO?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:t.isUplink,networkLevel:t.networkLevel,bwLevel:t.bwLevel}):ne(R.f.AUDIO_DECODE,e)}catch(e){v.default.error("Error in AudioDecodeListener",e)}}function We(e){if(T.default.localAudioDecMGR||T.default.isPreviewMode.audioEncode)try{let r=e.data;if(r.status===o.WORKER_MAIN_AUDIO_ENCODE_RINGBUFFER_TICK);else if(0==r.status){var t=T.default.SPECIAL_ID,i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"EncodedAudioFrame",data:r.data},[r.data.buffer])}else if(r.status==o.AUDIO_ENCODED_DATA);else if(r.status===o.Audio_Enc_WASM_OK||r.status===o.Audio_Dec_WASM_OK)A.default.add_monitor("AEWS"),T.default.isAudioEncodeWASMOK=!0,T.default.audioEncodeInitInstance.setWasmSuccess();else if(r.status===o.Audio_Enc_WASM_FAILED||r.status===o.Audio_Dec_WASM_FAILED)A.default.add_monitor("AEWF",r.data),ue("AEWF"),T.default.audioEncodeInitInstance.setWasmSuccess(!1);else if(r.status===o.Audio_Dec_Handle_OK)A.default.add_monitor("AEHS"),T.default.audioEncodeInitInstance.setHanderSuccess();else if(r.status===o.Audio_Dec_WebSocket_OK)A.default.add_monitor("AESS"),T.default.audioEncodeInitInstance.setSocketSuccess();else if(r.status===o.Audio_Dec_WebSocket_FAILED)A.default.add_monitor("AESF"),T.default.audioEncodeInitInstance.isSocketInitSuccess()&&Object(J.NotifyUIError)(a.AUDIO_WEBSOCKET_BROKEN,null),T.default.audioEncodeInitInstance.setSocketSuccess(!1);else if(r.status===o.Audio_Dec_Handle_FAILED)A.default.add_monitor("AEHF"),T.default.audioEncodeInitInstance.setHanderSuccess(!1);else if(r.status===o.Audio_Enc_Handle_FAILED)T.default.Notify_APPUI_SAFE(o.Audio_Enc_Handle_FAILED,null);else if(r.status===o.CONNECT_WEBTRANSPORT_OK)A.default.add_monitor("AEWPS");else if(r.status===o.CONNECT_WEBTRANSPORT_CLOSE)A.default.add_monitor("AEWPCLOSE");else if(r.status===o.CONNECT_WEBSOCKET_CLOSE)A.default.add_monitor("AEWSCLOSE");else if(r.status===o.CURRENT_MEDIA_DATA_TRANSPORT_TYPE)A.default.add_monitor("AETTP:"+r.type);else if(r.status===o.AUDIO_DELAY)T.default.indexDbObject.put(r.delay,"delay"),T.default.openIndexFlag&&T.default.indexDbObject.select("delay");else if(r.status===o.DOWNLOAD_WASM_FROM_MAIN_THREAD){let e=T.default.localAudioEncMGR.map.get(T.default.SPECIAL_ID);Ue(r.url,e,R.f.AUDIO_ENCODE)}else if(r.status==o.WCL_TROUBLESHOOTING_INFO)A.default.add_monitor("AE"+r.data);else if(r.status==o.AUDIO_CLIPPING);else if(r.status===o.AUDIO_MONITOR_LOG)Le.push({log:r.data,logSource:s.AUDIO_ENCODE_WORKER});else if(r.status===a.AUDIO_QOS_DATA){const e={encoding:!0,...r.data};T.default.Notify_APPUI_SAFE(a.AUDIO_QOS_DATA,e)}else r.status===o.Audio_Encode_Preview_OK?T.default.mediaSDKHandle.init_Notify_APPUI(!0,R.f.AUDIO_ENCODE):r.status===a.SPEAKING_WHEN_MUTE?T.default.Notify_APPUI_SAFE(a.SPEAKING_WHEN_MUTE):r.status===a.AUDIO_LEVEL_INDICATOR?T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:r.value}):r.status===o.NETWORK_QUALITY_CHANGE_AUDIO?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:r.isUplink,networkLevel:r.networkLevel,bwLevel:r.bwLevel}):r.status==o.AUDIO_HEALTH_CHECK_FAILED?(Object(J.NotifyUIError)(a.MEDIA_HEALTH_CHECK_FAILED,o.AUDIO_HEALTH_CHECK_FAILED),v.default.error("Health Check Failed: ".concat(o.AUDIO_HEALTH_CHECK_FAILED,", ").concat(r.videoType,",").concat(r.subforme,",").concat(r.hasRTPPackets))):ne(R.f.AUDIO_ENCODE,e)}catch(e){v.default.error("Error in AudioEnc_Listener",e)}}async function Be(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:48e3;const t=g.default.browser.isSafari&&g.default.getMacSafariMajorVersion()<16;if(!T.default.sharedBuffer&&g.default.isSupportSharedArrayBuffer()&&!t){ie("LP2PSP");let t=1;(g.default.browser.isFirefox||48e3===g.default.getAudioContextConfigure().sampleRate)&&(t=48);let i=640;i=g.default.isChromeVersionHigherThan(74)?960:e/100*2;let r=g.default.isBrowserSupportStereo()?2:1,a=g.default.isSupportPlayStereo()?2:1,s=g.default.isSupportSharingStereo()?2:1;T.default.sharedBuffer={inputState:new SharedArrayBuffer(24),inputBuffer:new SharedArrayBuffer(t*i*4*4*r),sharingInputState:new SharedArrayBuffer(24),sharingInputBuffer:new SharedArrayBuffer(t*i*4*4*s),outputState:new SharedArrayBuffer(24),outputBuffer:new SharedArrayBuffer(t*i*4*4*2),rtpBuffer:new SharedArrayBuffer(120008),echoState:T.default.enableEchoDetection?new SharedArrayBuffer(24):void 0,echoBuffer:T.default.enableEchoDetection?new SharedArrayBuffer(t*i*4*4*a):void 0}}A.default.add_monitor("INITSAB"+!!T.default.sharedBuffer),T.default.decoderinworklet=T.default.decoderinworkletOP&&!!T.default.sharedBuffer}function Ge(e,t){var i;T.default.localSharingPara?Object.assign(T.default.localSharingPara,t):T.default.localSharingPara=t,i=e,T.default.Sharing_WebSocket_Ip_Address=i}function Fe(e,t){T.default.localAudioPara?Object.assign(T.default.localAudioPara,t):T.default.localAudioPara=t,Ke(e)}function He(e,t){T.default.localVideoPara?Object.assign(T.default.localVideoPara,t):T.default.localVideoPara=t,Ye(e)}function Ke(e){T.default.Audio_WebSocket_Ip_Address=e}function je(e){T.default.Audio_Web_Transport_Ip_Address=e}function Ye(e){T.default.Video_WebSocket_Ip_Address=e}function qe(e){T.default.Video_Web_Transport_Ip_Address=e}function Xe(){!function(e){if(e=T.default.SPECIAL_ID,T.default.localAudioEncMGR){var t=T.default.localAudioEncMGR.map.get(e);t&&(t.postMessage({command:2}),T.default.localAudioEncMGR.map.delete(e)),T.default.audioEncodeSession=null}}(T.default.SPECIAL_ID),function(e){if(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR){var t=T.default.localAudioDecMGR.map.get(T.default.SPECIAL_ID);t&&(t.postMessage({command:2}),T.default.localAudioDecMGR.map.delete(e)),T.default.audioDecodeSession=null}}(T.default.SPECIAL_ID),T.default.localAudioDecMGR=null,T.default.localAudioEncMGR=null}function Qe(){!function(e){if(e=T.default.SPECIAL_ID,T.default.localVideoDecMGR){var t=T.default.localVideoDecMGR.map.get(e);t&&(t.postMessage({command:2}),T.default.localVideoDecMGR.map.delete(e)),T.default.videoDecodeSession=null}}(T.default.SPECIAL_ID),T.default.localVideoDecMGR=null,T.default.localVideoEncMGR=null}function ze(){!function(){var e=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR){var t=T.default.localSharingDecMGR.Get(e);t&&(t.postMessage({command:2}),T.default.localSharingDecMGR=null),T.default.isSharingDecodeThreadStart=!1}}()}function Je(e,t,i,r,a){if(T.default.localVideoEncMGR){var s=T.default.localVideoEncMGR.map.get(e);if(s){var o={command:"encodeVideoFrame",data:t,stride:i,x:r,y:a};s.postMessage(o,[o.data.buffer])}}}function Ze(e,t,i,r,a,s){var o,n;if(n=null!==(o=T.default.mediaSDKHandle)&&void 0!==o&&o.isSupportVideoShare?T.default.localVideoEncMGR.map.get(e):T.default.localSharingEncMGR.map.get(e)){let e;t?(e={command:"encodeSharingFrame",data:t,width:a,height:s},n.postMessage(e,[e.data.buffer])):(e={command:"encodeSharingFrame"},n.postMessage(e))}}function $e(e,t,i,r,a,s,o,n,d,u,l){if(T.default.isVideoPlayWork){var c={yuvdata:t,ntptime:i,ssrc:e,width:r,height:a,r_x:s,r_y:o,r_w:n,r_h:d,rotation:u,yuv_limited:l};c.ssrc=c.ssrc>>10<<10,T.default.mediaSDKHandle.VideoRenderObj.Put_Video_Data_Queue(c,15)}}function et(){return T.default.localSharingDecMGR?T.default.localSharingDecMGR.SharingQueueMGR.ClearQueue():T.default.localMouseDecMGR?T.default.localMouseDecMGR.SharingQueueMGR.ClearQueue():0}async function tt(e,t,i,r){T.default.isVideoDecodeThreadStart||(T.default.isVideoDecodeThreadStart=!0,await oe(r,T.default.localVideoDecMGR,Pe,R.f.VIDEO_DECODE,i))}async function it(e,t,i,r){if(A.default.add_monitor("AADT"),i&&i.isDestroy)return A.default.add_monitor("ZID"),ie("WorkerType:audioDec;The relative SDK instance is destroy, don't start relative worker, avoid multiple same workers. ");T.default.isAudioDecodeThreadStart||(T.default.isAudioDecodeThreadStart=!0,await oe(r,T.default.localAudioDecMGR,xe,R.f.AUDIO_DECODE,i))}function rt(e){if(e>>=10,T.default.localAudioDecMGR){var t=T.default.localAudioDecMGR.GetSSRCTimeMap(e);return null===t?0:t}}function at(e){return{currentSSRCTime:T.default.CurrentSSRCTime,audioPlayTime:T.default.audioPlayTime}}function st(e,t){var i=T.default.SPECIAL_ID,r=T.default.localVideoDecMGR.map.get(i);r.postMessage({command:"failover",websocket_ip_address:t}),(r=T.default.localAudioDecMGR.map.get(i)).postMessage({command:"failover",websocket_ip_address:e})}function ot(e){for(var t,i=T.default.SPECIAL_ID,r=T.default.audio_pcm_queue.dequeue();r;)r=T.default.audio_pcm_queue.dequeue();T.default.localAudioEncMGR&&(t=T.default.localAudioEncMGR.map.get(i))&&T.default.audioEncodeSession&&t.postMessage({command:"modifySampleRate",sampleRate:e}),T.default.localAudioDecMGR&&(t=T.default.localAudioDecMGR.map.get(i))&&T.default.audioDecodeSession&&t.postMessage({command:"modifySampleRate",sampleRate:e})}function nt(e,t,i){var r;(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR)&&((r=T.default.localAudioDecMGR.map.get(e))&&r.postMessage({command:"mute",bOn:t,fakeLeave:i}));T.default.localAudioEncMGR&&((r=T.default.localAudioEncMGR.map.get(e))&&r.postMessage({command:"mute",bOn:t,fakeLeave:i}))}function dt(e,t){var i;(e=T.default.SPECIAL_ID,T.default.localAudioDecMGR)&&((i=T.default.localAudioDecMGR.map.get(e))&&i.postMessage({command:"AecFlag",flag:t}));T.default.localAudioEncMGR&&((i=T.default.localAudioEncMGR.map.get(e))&&i.postMessage({command:"AecFlag",flag:t}))}function ut(e,t,i,r){var a,s=T.default.SPECIAL_ID;T.default.localAudioDecMGR&&((a=T.default.localAudioDecMGR.map.get(s))&&a.postMessage({command:i},[e.port2]));T.default.localAudioEncMGR&&((a=T.default.localAudioEncMGR.map.get(s))&&a.postMessage({command:r},[t.port1]))}function lt(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){let t=T.default.localVideoDecMGR.map.get(i);t&&t.postMessage({command:"decodeVideoPort"},[e.port1])}if(T.default.localVideoEncMGR){let e=T.default.localVideoEncMGR.map.get(i);e&&e.postMessage({command:"encodeVideoPort"},[t.port2])}}function ct(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){let t=T.default.localVideoDecMGR.map.get(i);t&&t.postMessage({command:"vsport"},[e.port1])}if(T.default.localSharingDecMGR){let e=T.default.localSharingDecMGR.map.get(i);e&&e.postMessage({command:"vsport"},[t.port2])}}function ht(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"decodeAudioPort2"},[e.port2])}}function ft(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage({command:"shareAudioDecodeAudioPort2"},[e.port2])}}function pt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage({command:"decodeVideoPortWithAudio",port:e.port1},[e.port1])}}function _t(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage(e)}}function mt(e,t){Et({command:e,data:t},[t])}function Et(e,t){let i=T.default.SPECIAL_ID;if(!T.default.localVideoEncMGR)return!1;let r=T.default.localVideoEncMGR.map.get(i);return!!r&&(r.postMessage(e,t),!0)}function gt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage(e)}}function St(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&r.postMessage({command:e,data:t},[t])}}function vt(e,t){var i=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var r=T.default.localSharingEncMGR.map.get(i);r&&r.postMessage({command:e,data:t},[t])}}function Ct(e){if(!T.default.localVideoDecMGR)return;var t=T.default.localVideoDecMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function At(e){var t=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR){var i=T.default.localSharingDecMGR.map.get(t);i&&i.postMessage(e)}}function Rt(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage({command:"updateCurrentSSRC",SSRC:e})}}function Tt(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage(e)}}function It(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioDecMGR){var i=T.default.localAudioDecMGR.map.get(t);i&&i.postMessage(e)}}function bt(e){var t={command:"interpretation_enable",enable:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_enable",t):T.default.workletMessageQueue.enqueue(t):It(t)}function Ot(e){Tt({command:"cc_set_lang",lang:e})}function Dt(e){var t={command:"interpretation_set_lang",lang:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_set_lang",t):T.default.workletMessageQueue.enqueue(t):It(t)}function wt(e){var t={command:"interpretation_mute_origin",mute:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_mute_origin",t):T.default.workletMessageQueue.enqueue(t):It(t)}function yt(e){var t={command:"interpretation_set_interpreter",interpreterList:e};Tt(t),T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD("interpretation_set_interpreter",t):T.default.workletMessageQueue.enqueue(t):It(t)}function Mt(){var e=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var t=T.default.localAudioEncMGR.map.get(e);t&&t.postMessage({command:"resetAec"})}}function Pt(e){try{if(A.default&&e){let t=["ERR:",e.message,"f"].join(""),i=A.default.checkIsNecessaryExceptionLogAndReturnRepeatTimes(t);i.isNecessary?(ie("error repeat ".concat(i.repeatNumber),t),A.default.add_monitor(t+"(repeat:".concat(i.repeatNumber,")"))):ie("error but ignore",e.message)}}catch(e){ie("_listenWindowErrorEvent error",e)}}function Nt(){try{var e,t;A.default.add_monitor(["BSAGT:",navigator.userAgent].join("")),A.default.add_monitor("BSLITEND:"+(g.default.isLittleEndian()?1:0)),window.navigator.hardwareConcurrency&&A.default.add_monitor("OSCPUS:"+window.navigator.hardwareConcurrency);let i=g.default.getOSInfo();A.default.add_monitor("deviceType:".concat(i.osType,"|os_name:").concat(i.os,"|os_version:").concat(i.osVersion)),A.default.add_monitor("browser_name:".concat(null==i||null===(e=i.browser)||void 0===e?void 0:e.name,"|browser_version:").concat(null==i||null===(t=i.browser)||void 0===t?void 0:t.version)),Object(g.checkBrowserVersion)()}catch(e){console.error("<<<<",e)}}function Vt(e){A.default.init(),window.addEventListener("error",Pt),T.default.monitorIntervalHandle=setInterval((function(){if(!A.default.startSendLog)return;let e=A.default.get_monitor();e&&A.default.send_monitor_directly(e)}),1e4)}function kt(e){A.default.add_monitor2(e)}function Ut(e){window.removeEventListener("error",Pt),clearInterval(T.default.monitorIntervalHandle),A.default.send_instant_monitor()}function Lt(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function xt(e){var t=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var i=T.default.localSharingEncMGR.Get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function Wt(e){if(!T.default.localVideoEncMGR)return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Bt(e){if(!T.default.localSharingEncMGR)return;var t=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Gt(e){if(!T.default.localVideoEncMGR)return;var t=T.default.localVideoEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Ft(e){if(!T.default.localSharingEncMGR)return;var t=T.default.localSharingEncMGR.map.get(T.default.SPECIAL_ID);t&&t.postMessage(e)}function Ht(e){var t=T.default.SPECIAL_ID;if(T.default.localAudioEncMGR){var i=T.default.localAudioEncMGR.map.get(t);i&&i.postMessage({command:"ENCRYPT",encrypt:e})}}function Kt(){let e=T.default.SPECIAL_ID;[T.default.localAudioDecMGR,T.default.localAudioEncMGR,T.default.localVideoDecMGR,T.default.localVideoEncMGR,T.default.localSharingDecMGR,T.default.localSharingEncMGR].forEach(t=>{if(t&&t.map.get(e)){t.map.get(e).postMessage({command:"SOCKET_RECONNECT",disable:!0})}})}function jt(e){e.forEach(e=>{e&&(e.setHanderSuccess(!1),e.setSocketSuccess(!1),e.setWasmSuccess(!1))})}function Yt(e,t){let i=T.default.SPECIAL_ID;e&&e.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).onmessage=null}}),t&&t.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).onmessage=null}})}async function qt(e,t,i){let r=T.default.SPECIAL_ID,a=t;a.forEach(t=>{if(t&&t.map.get(r)){t.map.get(r).postMessage({command:2,_id:e._id})}}),a=i,a.forEach(t=>{if(t&&t.map.get(r)){t.map.get(r).postMessage({command:2,_id:e._id})}}),await g.default.sleep(1e3)}async function Xt(e,t){let i=T.default.SPECIAL_ID,r=e;r.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).terminate()}}),r=t,await g.default.is32bitChrome()||r.forEach(e=>{if(e&&e.map.get(i)){e.map.get(i).terminate()}})}function Qt(e){let t;switch(e){case R.f.AUDIO_DECODE:t=T.default.localAudioDecMGR;break;case R.f.AUDIO_ENCODE:t=T.default.localAudioEncMGR;break;case R.f.VIDEO_DECODE:t=T.default.localVideoDecMGR;break;case R.f.VIDEO_ENCODE:t=T.default.localVideoEncMGR;break;case R.f.SHARING_DECODE:t=T.default.localSharingDecMGR;break;case R.f.SHARING_ENCODE:t=T.default.localSharingEncMGR}let i=T.default.SPECIAL_ID;return t&&t.map.get(i)?t.map.get(i):null}async function zt(e){switch(e){case R.f.VIDEO_ENCODE:await T.default.videoInitInstance.initSuccessPromise;break;case R.f.VIDEO_DECODE:await T.default.videoDecInitInstance.initSuccessPromise;break;case R.f.AUDIO_ENCODE:await T.default.audioEncodeInitInstance.initSuccessPromise;break;case R.f.AUDIO_DECODE:await T.default.audioDecInitInstance.initSuccessPromise;break;case R.f.SHARING_ENCODE:await T.default.sharingEncInitInstance.initSuccessPromise;break;case R.f.SHARING_DECODE:await T.default.sharingDecInitInstance.initSuccessPromise;break;default:v.default.error("No matched worker type: ".concat(e))}}async function Jt(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];a&&await zt(e);let s=Qt(e);if(!s){if(!a)return ie("worker handle not ready, drop!",e,t,i),!1;if(ie.warn("worker handle not ready, waiting!",e,t,i),s=Qt(e),!s)return}return r?s.postMessage({command:i,data:t},[t]):s.postMessage({command:i,data:t}),!0}function Zt(){return null!==Qt(R.f.VIDEO_ENCODE)}function $t(e,t,i){var r=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var a=T.default.localVideoEncMGR.map.get(r);a&&(e?a.postMessage({command:t,canvas:e,rendercanvasID:i},[e]):a.postMessage({command:t,canvas:e,rendercanvasID:i}))}}function ei(e){let t;return t=new e({storeOptions:{nameSpaceId:"vbFile"}}),new Promise((e,i)=>{t.on("ready",()=>{e(t)})})}function ti(e){let t=new Uint8Array(e,0,12),i=new Uint8Array(e,12,32);window.crypto.subtle.importKey("raw",i,"AES-GCM",!0,["encrypt","decrypt"]).then(r=>{let a=t.length+i.length,s=new Uint32Array(e.slice(a,a+4))[0];a+=4;let o=e.slice(a,a+s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let n=new Uint8Array(e,a,s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let d=e.slice(a,a+s);a+=s,s=new Uint32Array(e.slice(a,a+4))[0],a+=4;let u=new Uint8Array(e,a,s);T.default.basebin=o,T.default.afnbin=d,ii(u,r,t).then(e=>{T.default.afnjson=(new TextDecoder).decode(e);var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&T.default.afnbin&&T.default.afnjson&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.afnbin,json:T.default.afnjson},index:1})}}),ii(n,r,t).then(e=>{T.default.basejson=(new TextDecoder).decode(e);var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&T.default.basebin&&T.default.basejson&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:{bin:T.default.basebin,json:T.default.basejson},index:2})}})})}function ii(e,t,i){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:i},t,e)}function ri(e){for(let r=0;r<e.length;r++)if("js"==e[r].type){A.default.add_monitor("VDTF"),T.default.tfjsurl=e[r].path;var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&i.postMessage({command:"DOWNLOAD_JSON_FROM_MAIN_THREAD_OK",data:T.default.tfjsurl,type:"js"})}}else"bin"==e[r].type&&fetch(e[r].path).then(e=>{if(!e.ok)throw new Error("network issue");return e.arrayBuffer()}).then(t=>{A.default.add_monitor("VDBIN"),T.default.vbarraybuffer=t;try{e[r].path.indexOf("dual")>=0&&ti(t)}catch(e){v.default.error("An error occurred when decrypting the virtual background file",e),A.default.add_monitor("VBDECRYPTF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL)}}).catch(e=>{v.default.error("An error occurred when trying to obtain the virtual background file",e),A.default.add_monitor("VBFF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,re.FAIL)})}function ai(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var i=T.default.localVideoEncMGR.map.get(t);i&&(e?i.postMessage({command:"imagebitmap",data:e},[e]):i.postMessage({command:"imagebitmap"}))}}function si(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&(e?r.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e},[e]):r.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e}))}}function oi(e,t){var i=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var r=T.default.localVideoEncMGR.map.get(i);r&&(e?r.postMessage({command:"vbbgimagebitmap",imagename:t,data:e},[e]):r.postMessage({command:"vbbgimagebitmap",imagename:t,data:e}))}}function ni(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var o=T.default.localVideoEncMGR.map.get(s);o&&(e?o.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e,maskCoordinate:i,width:r,height:a},[e]):o.postMessage({command:"maskandbgimagebitmap",imagename:t,data:e,maskCoordinate:i,width:r,height:a}))}}function di(e){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);i&&i.postMessage(e)}}function ui(){try{return g.default.browser.isChrome&&-1!==["85","86"].indexOf(g.default.getBrowserVersion())}catch(e){return ie(e),!1}}const li={[R.f.VIDEO_ENCODE]:{success:a.INIT_SUCCESS_VIDEO,failed:a.INIT_FAILED_VIDEO,callbackDataValue:R.c.encode},[R.f.VIDEO_DECODE]:{success:a.INIT_SUCCESS_VIDEO,failed:a.INIT_FAILED_VIDEO,callbackDataValue:R.c.decode},[R.f.AUDIO_ENCODE]:{success:a.INIT_SUCCESS_AUDIO,failed:a.INIT_FAILED_AUDIO,callbackDataValue:R.c.encode},[R.f.AUDIO_DECODE]:{success:a.INIT_SUCCESS_AUDIO,failed:a.INIT_FAILED_AUDIO,callbackDataValue:R.c.decode},[R.f.SHARING_DECODE]:{success:a.INIT_SUCCESS_SHARING,failed:a.INIT_FAILED_SHARING,callbackDataValue:R.c.decode},[R.f.SHARING_ENCODE]:{success:a.INIT_SUCCESS_SHARING,failed:a.INIT_FAILED_SHARING,callbackDataValue:R.c.encode}};function ci(e,t){let i=[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE,R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE];e.isSupportVideoShare||i.push(R.f.SHARING_ENCODE,R.f.SHARING_DECODE),i.forEach(async e=>{Jt(e,t,130,!1,!0)})}function hi(e){var t,i,r;let a=g.default.getOSInfo();e.cpu=(null===(t=navigator)||void 0===t?void 0:t.hardwareConcurrency)||1,e.deviceType=a.osType,e.osType=a.os,v.default.directReport(JSON.stringify(e));let s=null===T.default||void 0===T.default||null===(i=T.default.instance)||void 0===i?void 0:i.persistenceInfo;if(!s)return;let o=e.encode?s.getVideoEncoderInfo():s.getVideoDecoderInfo(),n={};n.osVersion=a.osVersion,n.browserVersion=null===(r=a.browser)||void 0===r?void 0:r.version,n.sdkVersion=10856,o.updateInfo(e,n)}function fi(e,t){var i;const r=[[],[[R.f.AUDIO_ENCODE],[R.f.AUDIO_DECODE],[R.f.AUDIO_ENCODE,R.f.AUDIO_DECODE]],[[R.f.VIDEO_ENCODE],[R.f.VIDEO_DECODE],[R.f.VIDEO_ENCODE,R.f.VIDEO_DECODE]],[],[[R.f.SHARING_ENCODE],[R.f.SHARING_DECODE],[R.f.SHARING_ENCODE,R.f.SHARING_DECODE]]];let a=null===(i=t.body)||void 0===i?void 0:i.data;if(!a)return;let s=a.type,o=a.mode;e.isSupportVideoShare&&4==s&&(s=2);let n=r[s][o];n&&0!=n.length&&n.forEach(e=>{Jt(e,a,133,!1,!0)})}function pi(e,t){let i=null,r=null;return{create:function(){return i||(i=new Promise(async(i,a)=>{try{let a=g.default.isSupportVideoShareSend()&&await g.default.isSDKSupportMultiThread()&&await g.default.isSDKSupportSIMD();const s=await fetch(e),o=await s.arrayBuffer(),n=window.URL.createObjectURL(new Blob([o]));let d=new Worker(n,t?{name:t}:void 0);r=d,d.onmessage=e=>{d.onmessage=null,e.data[0]||(r.terminate(),r=null),i(r)},d.postMessage({command:136,data:a})}catch(e){i(null)}}),i)},destroy:function(){if(!r&&!i)return;let e=i;i=null,r=null,e&&e.then(e=>{null==e||e.terminate()})}}}function _i(e){return Qt(e)}let mi=null;if("function"==typeof AudioWorklet){class e extends AudioWorkletNode{constructor(e,t,i){super(e,t,i),this.port.onmessage=this.handleMessage.bind(this)}handleMessage(e){var t=e.data;switch(t.status){case"delay":if(T.default.localAudioDecMGR)(i=T.default.localAudioDecMGR.map.get(0))&&i.postMessage({command:"delay"});break;case o.CURRENT_SSRC_TIME:t.at&&(T.default.CurrentSSRCTime=t.at,T.default.audioPlayTime=Date.now()),t.st&&T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(t.st);break;case o.AUDIO_MONITOR_LOG:Le.push({log:t.data,logSource:s.AUDIO_WASM_WORKLET});break;case"MONITOR_LOG":A.default.add_monitor(t.data);break;case"UPDATE_MULTIVIEW_TIME":var i;if(T.default.localVideoDecMGR)(i=T.default.localVideoDecMGR.map.get(0))&&i.postMessage({command:"audioDecodeTime",data:t.data,status:1});break;case"WASM_INIT_SUCCESS":for(A.default.add_monitor("DIWL"+t.data.audio_handle),T.default.workletWasmInitSuccess=!0;!T.default.workletMessageQueue.isEmpty();){let e=T.default.workletMessageQueue.dequeue();this.postCMD(e.command,e)}break;case"workletMessage":"error"===t.data.level&&v.default.error(t.data.message,t.data.data);break;case"WASM_INIT_FAILED":A.default.add_monitor("AWMAF"),Object(J.NotifyUIError)(a.WASM_MEMORY_FAIL);break;case"PROCESS_EXCEPTIONS":Object(J.NotifyUIError)(a.WORKLET_PROCESS_EXCEPTIONS,t.data)}}postData(e,t){this.port.postMessage({status:e,data:t},[t.data.buffer])}postCMD(e,t){this.port.postMessage({status:e,data:t})}}mi=e}var Ei=mi,gi=i(33),Si=i.n(gi),vi=i(52),Ci=i(54),Ai=i.n(Ci),Ri=i(28),Ti=i.n(Ri),Ii=i(34),bi=i.n(Ii);const Oi=Object(S.a)("sdk.rtcUtil");class Di{constructor(e,t){this.rtcPeerConnection=null,this.dataChannel=null,this.id=Date.now()<<3|t,this.dataChannelLabel=null,this.datachannelcloselistener=null,this.datachannelopenlistener=null,this.rtcPeerConnectionCreatedListener=null,this.reconnectCount=0,this.reconnectMax=10,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen=0,this.connectionID=null,this.pubSubTokenList=[],this.isForceClosed=!1,this.reconnectRTCPeerConnectionThrottle=bi()(()=>{this.reconnectRTCPeerConnection()},2e3),this.timeoutThenCloseInterval=null,this.userid=null,this.connectionType=t,this.dataChannelStatus="",this.delaycloseTimeout=0,this.delaycloseid_=0,this._netWorker=null,this.dataTransportMgr=e,this.dataChannelController=null}setUserid(e){this.userid=e}isSupportDataChannel(){return!!window.RTCDataChannel}iceClosed(e){this.isForceClosed||(Oi("rtcPeerConnection.iceClosed",e),this._close(!0),this._clear())}async initConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ZoomWebclientVideoDataChannel";if(A.default.add_monitor("DCCONN"),!this.isSupportDataChannel())return void A.default.add_monitor("DCUNSUPPORT");this.dataChannelLabel=t,this.connectionID=e,this.rtcPeerConnection=new RTCPeerConnection({iceCandidatePoolSize:1}),this.rtcPeerConnection.addEventListener("iceconnectionstatechange",e=>{if(this.isForceClosed)return;let t=this.rtcPeerConnection;if("failed"!==t.iceConnectionState&&"closed"!==t.iceConnectionState||(Oi("".concat(this.dataChannelLabel," iceconnectionstatechange"),t.iceConnectionState),A.default.add_monitor("ICECONNSTATECHANGE:"+this.dataChannelLabel),this.iceClosed(),this.delaycloseid_&&(clearTimeout(this.delaycloseid_),this.delaycloseid_=0)),"disconnected"===t.iceConnectionState&&!this.delaycloseid_){let e=this;this.delaycloseid_=setTimeout(()=>{e.delaycloseid_=0,e.iceClosed()},e.delaycloseTimeout)}"connected"===t.iceConnectionState&&this.delaycloseid_&&(clearTimeout(this.delaycloseid_),this.delaycloseid_=0)});let i=null;this._netWorker&&(i=await this._netWorker.create(),ee(i,"net")),this._createDataChannel(i),await this.rtcPeerConnection.createOffer().then(async t=>(Oi("original offer",JSON.stringify(t)),t.sdp=t.sdp.replace(/a=ice-ufrag:.+/g,"a=ice-ufrag:".concat(e)),Oi("modified offer",t),this.rtcPeerConnection.setLocalDescription(t))).then(()=>{this.rtcPeerConnectionCreatedListener.call(null,this.rtcPeerConnection)})}_close(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];A.default.add_monitor("RTCPeerConnUtil.CLOSE");try{this._closeDataChannel(),this.rtcPeerConnection&&this.rtcPeerConnection.close()}catch(e){v.default.error("Error when closing RTCPeerConnection",e)}finally{this.dataChannel=null,this.rtcPeerConnection=null,e&&this.datachannelcloselistener&&this.datachannelcloselistener(null),this.sendDataChannelStatusMonitorLog(),this.reconnectRTCPeerConnectionThrottle()}}forceClose(){A.default.add_monitor("DCFORCECLOSE:"+this.dataChannelLabel),Oi("forceClose : "+this.dataChannelLabel),this.isForceClosed=!0,this._close(!0),this._clear()}resetDataChannelTransfered(e){this._netWorker=e,this._close(!0),this._clear()}isDestroyed(){return this.isForceClosed}_clear(){this.timeoutThenCloseInterval&&clearInterval(this.timeoutThenCloseInterval),this.timeoutThenCloseInterval=0,this.datachannelcloselistener=null,this.datachannelopenlistener=null,this.pubSubTokenList.forEach(e=>{C.a.unsubscribe(e)}),this.pubSubTokenList=[]}onConnectionCreated(e){this.rtcPeerConnectionCreatedListener=e}reconnectRTCPeerConnection(){this.isForceClosed||this.reconnectCount<this.reconnectMax&&this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen<this.reconnectMax&&(Oi("".concat(this.dataChannelLabel," reconnect reconnectTotalCount : ").concat(this.reconnectCount,"; reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen : ").concat(this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen,", reconnectMax : ").concat(this.reconnectMax)),this.reconnectCount+=1,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen+=1,setTimeout(()=>{this.initConnection(this.connectionID,this.dataChannelLabel)},1e3*Math.pow(2,this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen)))}oneSingleLineLog(e){setTimeout(()=>{A.default.send_instant_monitor(),A.default.add_monitor(e),A.default.send_instant_monitor()},0)}checkEmptyUserIdAndResendMonitor(e){e&&this.userid!=e&&(this.setUserid(e),this.sendDataChannelStatusMonitorLog())}sendDataChannelStatusMonitorLog(){this.userid&&("OPEN"===this.dataChannelStatus?(A.default.add_monitor("DCOPEN:"+this.dataChannelLabel),this.oneSingleLineLog("".concat(s.DATACHANNEL_MONITOR_SEPARATOR,",").concat(this.userid,",").concat(this.connectionType,",DCOPEN,").concat(s.DATACHANNEL_MONITOR_SEPARATOR))):"CLOSED"===this.dataChannelStatus&&(A.default.add_monitor("DCCLOSE:"+this.dataChannelLabel),this.oneSingleLineLog("".concat(s.DATACHANNEL_MONITOR_SEPARATOR,",").concat(this.userid,",").concat(this.connectionType,",DCCLOSE,").concat(s.DATACHANNEL_MONITOR_SEPARATOR))))}sendDataChannelController(e){this.dataChannelController=e}_closeDataChannel(){if(this.dataChannel)try{this.dataChannelStatus="CLOSED",this.dataChannel.close()}catch(e){v.default.error("Error when trying to close existing RTCDataChannel",e)}finally{this.dataChannel=null}}_createDataChannel(e){this._closeDataChannel();let t=this.rtcPeerConnection.createDataChannel(this.dataChannelLabel,{ordered:!1,maxRetransmits:0,reliable:!1});t.binaryType="arraybuffer";let i="".concat(this.id,"-").concat(Math.floor(performance.now())),r=new x(i,this.connectionType,t,e);this.connectionType==R.b.VIDEO?r.transportlists=[B.SHARR_DECODE,B.VIDEO_DECODE,B.VIDEO_ENCODE]:r.transportlists=[B.AUDIO_DECODE,B.AUDIO_ENCODE],r.report_monitor_func=(e,t)=>{A.default.add_monitor("".concat(e,":").concat(t))},r.open(),r.onopen(e=>{this.dataChannelController.connectSession(r),function(e){if(!K.dataTransportMgr)throw new Error("not InitDataTransportModule");K.dataTransportMgr.addDataChannel(e)}(r),this.datachannelopenlistener&&this.datachannelopenlistener(e),this.reconnectCountBetweenCloseAndOpenAndSetTo0WhenDCOpen=0,clearInterval(this.timeoutThenCloseInterval),this.dataChannelStatus="OPEN",this.sendDataChannelStatusMonitorLog()}),r.onclose(e=>{this.dataChannelController.disconnectSession(new L(r.type,r.transfered)),Q(r),this._ondatachannelclosed(e)}),r.onerror(e=>{Q(r);const t=e.error||{};v.default.warn("WebRTC DataChannel ".concat(this.dataChannelLabel," received error with errorDetail: ").concat(t.errorDetail),t),clearInterval(this.timeoutThenCloseInterval),A.default.add_monitor("DCERROR","".concat(this.dataChannelLabel,": ").concat(t.message,", error detail: ").concat(t.errorDetail)),Oi("dataChannel.onerror",e)}),this.dataChannel=r}_ondatachannelclosed(e){"CLOSED"!=this.dataChannelStatus&&(clearInterval(this.timeoutThenCloseInterval),Oi("dataChannel.onclose",e),this.dataChannelStatus="CLOSED",this.datachannelcloselistener&&this.datachannelcloselistener(e),this._close(),this._clear())}onDataChannelClose(e){this.datachannelcloselistener=e}onDataChannelOpen(e){this.datachannelopenlistener=e}waitForAnswerFromRWG(e){let t=this;return new Promise((i,r)=>{let a=C.a.on(e,(e,a)=>{t.isDestroyed()&&r(),i(a)});this.pubSubTokenList.push(a)})}setRemoteDescription(e){Oi("setRemoteDescription",e),this.rtcPeerConnection.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e.sdp}))}closeIfTimeout(){clearInterval(this.timeoutThenCloseInterval),this.timeoutThenCloseInterval=setTimeout(()=>{Oi("closeIfTimeout"),this._close()},1e4)}addIceCandidate(e){this.rtcPeerConnection.addIceCandidate(new RTCIceCandidate({candidate:e,sdpMLineIndex:0,sdpMid:"0"}))}}var wi=i(6),yi=i(30),Mi=i(12);const Pi=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16/9;if(!e||!t)return null;const s=i||0,o=r||0;if(e/t>a){const i=t*a;return{width:i,height:t,left:Math.round((e-i)/2)+s,top:0+o}}{const i=e/a;return{width:e,height:i,left:0+s,top:Math.round((t-i)/2)+o}}};function Ni(e){this.Notify_APPUI=e.Notify_APPUI,this.isSupportOffscreenCanvas=e.isSupportOffscreenCanvas,this.jsMediaEngine=e.jsMediaEngine,this.threadNumbs=e.videodecodethreadnumb,this.globalTracingLogger=e.globalTracingLogger,this.monitorLoggerFn=e.monitorLoggerFn,this.renderManager=e.renderManager,this.waterMarkCanvas=null,this.videoRenderLevel=10,this.videoRenderLevelCount=1,this.renderPeriodTotal=100,this.renderPeriodCount=0,this.renderPeriodTotalFps=0,this.renderPeriodFpsCount=0,this.lastRenderAudioTimeStamp=0,this.videoBufEmptyCount=0,this.videoBufCount=0,this.videoRenderMaxLevel=15,this.timestamp=0,this.audioPlayTime=0,this.videoTimestamp=0,this.videoWaterMarkName="",this.isCreateVideoWaterMark=!1,this.isWaterMarkRepeatedEnable=!1,this.waterMarkOpacity=.15,this.currentactive=0,this.audioPlaySsrc=0,this.currentVideoHeight=0,this.currentVideoWidth=0,this.videoRenderArray=[],this.WaterMarkRGBA=new yi.a,this.vMonitorCount=0,this.videoQueue=new c,this.timestart=0,this.rendingFlag=!0,this.rAFID=0,this.rAFIDBack=null,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.ssrcDisplayMap=new Map,this.ssrcHaddataMap=new Map,this.canvasToLocalDisplay=new Map,this.canvasIdSet=new Set,this.selfvideossrc=0,this.localVideoPtr=0,this.sabBuffer=0,this.localvideossrc=0,this.encodedVideoSharedArrayBufferUint8Array=null,this.encodedVideoSharedArrayBufferUint16Array=null,this.encodedVideoSharedArrayWasmMemory=null,this.startCaptureVideo=!1,this.clearColor=new Uint8Array(4),this.videorendercanvas=null,this.keyrender=null,this.renderIndex=0,this.activeSpeakssrc=0,this.needClear=!1,this.renderMode=0,this.intervalHandle,this.croppingParams={top:0,left:0,height:1,width:1},this.coordinate={x:0,y:0,width:640,height:360},this.isSupportVideoTrackReader=!1,this.bWebglContextLostProtectingMap=new Map,this.ismirror=!1,this.lfTimeStamp=0,this.activeFps=0,this.lastActiveSSRC=0,this.disableOriginalRatio=!1,this.onStopDrawCallback=e.onStopDrawCallback,this.onReStoreCallback=e.onReStoreCallback,this.videoRenderWGLFSTOP=!1}Ni.prototype.clearUseridRender=function(e,t,i){let r=e[0],a=r.display;if(a)if(a.setWatermarkFlag(0),this.renderMode)a.clearCanvas(t);else{let e=r.ssrc;if(!a||!t)return;this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=1,this.croppingParams.width=1,this.clearColor[0]=255*t.R,this.clearColor[1]=255*t.G,this.clearColor[2]=255*t.B,this.clearColor[3]=255*t.A;const o=this.renderManager.getRendererProvider().isWebGLRendererType(),n=this.renderManager.getRendererProvider().isWebGL2RendererType();if(o||n){let e=this.canvasToLocalDisplay.get(r.canvas);if(!e)return void console.log("no clearDisplay");e.setVideoMode(s.VIDEO_RGBA),e.colorRange=0,e.setFillMode(1,1),e.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===i&&((i={}).x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e.drawSelfVideo(i,!0)}else{if(!a)return void console.log("no clearDisplay");a.setVideoMode(s.VIDEO_RGBA),a.setColorRange(0),a.setFillMode(1,1),a.updateSelfVideoTextures(1,1,this.clearColor,this.croppingParams,!0),void 0===i&&((i={}).x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),a.drawSelfVideo(i,!0)}let d=this;this.ssrcDisplayMap.forEach((function(t,i){let r,a;i==d.Get_Logical_SSrc(d.selfvideossrc)&&(r=!0),i==d.Get_Logical_SSrc(e)&&(a=!0),t.forEach(e=>{if(!e.haddata||a)return;let t=e.display;d.coordinate.x=e.x,d.coordinate.y=e.y,d.coordinate.width=e.width,d.coordinate.height=e.height,t&&(!a||o&&n?t.getVideoMode()!=s.VIDEO_INVALID&&(-1==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(t.getVideoMode())&&r?t.drawSelfVideo(d.coordinate,!1,d.ismirror):r?t.drawRemoteVideo(d.coordinate,d.ismirror):t.drawRemoteVideo(d.coordinate)):t.drawSelfVideo(d.coordinate,!0))})})),this.renderManager.renderFor(wi.t.VIDEO)}},Ni.prototype.Set_Render_Array_rAF=function(e){if(this.videoRenderArray=e,this.ssrcDisplayMap.clear(),this.ssrcHaddataMap.clear(),this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){let t=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc));t?t.push(this.videoRenderArray[e]):(t=[],t.push(this.videoRenderArray[e]),this.ssrcDisplayMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),t),this.ssrcHaddataMap.set(this.Get_Logical_SSrc(this.videoRenderArray[e].ssrc),!1))}},Ni.prototype.Set_Render_Array=function(e,t){this.renderMode?this.Set_Render_Array_IntervalMode(e,t):this.Set_Render_Array_rAF(e)},Ni.prototype.ClearQueue=function(){this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},Ni.prototype.Put_Video_Into_Buffer=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e.ssrc);if(t||(t=this.videoQueue.AddQueue(e.ssrc)),t.enqueue(e),this.videoQueue&&this.videoQueue.ssrcInfo){var i=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(i,e.ntptime)}for(var r=this.videoQueue.GetQueueLength(e.ssrc)-10;r>=0;)r--}},Ni.prototype.Update_RemoteVideo_Texture=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(this.Check_Request_Animation(),t)if(e&&i){let t=this.Get_Logical_SSrc(i),n=this.FindVideoRenderListFromMap(i);if(!n.length)return void this.renderManager.destroyUnusedVideoFrame(e);let d=this,u=o&&(1==r||3==r);this.ssrcHaddataMap.set(t,!0),a?(this.croppingParams.top=a.y,this.croppingParams.left=a.x,this.croppingParams.height=a.height,this.croppingParams.width=a.width):(this.croppingParams.top=e.visibleRect?0:e.cropTop,this.croppingParams.left=e.visibleRect?0:e.cropLeft,this.croppingParams.height=e.visibleRect?e.visibleRect.height:e.cropHeight,this.croppingParams.width=e.visibleRect?e.visibleRect.width:e.cropWidth);let{width:l,height:c}=e.visibleRect||{};if(l&&c||(c=this.croppingParams.height,l=this.croppingParams.width),u){let e=c;c=l,l=e,e=this.croppingParams.height,this.croppingParams.height=this.croppingParams.width,this.croppingParams.width=e}o&&(r=0),this.canvasIdSet.clear(),n&&n.forEach(t=>{t.haddata=!0;let i=t.display;d.coordinate.x=t.x,d.coordinate.y=t.y,d.coordinate.width=t.width,d.coordinate.height=t.height;let a=!(i&&i.reuse&&t.rendercanvasID&&this.canvasIdSet.has(t.rendercanvasID));i&&(i.setVideoMode(s.VIDEO_RGBA),d.Should_Update_Watermark(i,t.width,t.height,t.width,t.height)&&d.Update_Display_Watermark(i,t.width,t.height,t.width,t.height),e&&i.updateRemoteVideoTexturesImageBitmap(l,c,e,d.croppingParams,r,a),this.canvasIdSet.add(t.rendercanvasID))})}else this.renderManager.destroyUnusedVideoFrame(e);else{if(e&&e.ssrc){let t,i=this.Get_Logical_SSrc(e.ssrc),r=this.FindVideoRenderListFromMap(e.ssrc);if(!r.length)return e.yuvdataptr&&Module._free(e.yuvdataptr),void this.renderManager.destroyUnusedVideoFrame(e);let a=!1,o=this;this.ssrcHaddataMap.set(i,!0);let n=e;this.croppingParams.top=n.r_y,this.croppingParams.left=n.r_x,this.croppingParams.height=n.r_h,this.croppingParams.width=n.r_w,t=n,t.enableMultiDecodeVideoWithoutSAB?t.yuvdata=t.data:t.yuvdata=Object(Mi.a)().subarray(t.yuvdataptr,t.yuvdataptr+t.yuvlength),!t.yuvdata.length||t.yuvdata.length!=t.width*t.height*3/2||this.croppingParams.top<0||this.croppingParams.left<0||this.croppingParams.left+this.croppingParams.width>t.width||this.croppingParams.top+this.croppingParams.height>t.height||r&&(this.canvasIdSet.clear(),r.forEach(e=>{e.haddata=!0;let i=e.display;o.coordinate.x=e.x,o.coordinate.y=e.y,o.coordinate.width=e.width,o.coordinate.height=e.height;let r=!(i&&i.reuse&&e.rendercanvasID&&this.canvasIdSet.has(e.rendercanvasID));i&&(i.setVideoMode(s.VIDEO_I420),this.Should_Update_Watermark(i,e.width,e.height,e.width,e.height)&&this.Update_Display_Watermark(i,e.width,e.height,e.width,e.height),t&&i.updateRemoteVideoTextures(t.width,t.height,o.croppingParams,t.yuvdata,t.rotation,t.yuv_limited,o.coordinate,a,r),this.canvasIdSet.add(e.rendercanvasID))}))}else this.renderManager.destroyUnusedVideoFrame(e);e.yuvdataptr&&Module._free(e.yuvdataptr)}},Ni.prototype.Set_Cropping_Mode=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.disableOriginalRatio=!!e},Ni.prototype.Update_Cropping_Params=function(){if(this.disableOriginalRatio){const e=Pi(this.croppingParams.width,this.croppingParams.height,this.croppingParams.left,this.croppingParams.top);e&&(this.croppingParams={...this.croppingParams,...e})}},Ni.prototype.Update_SelfVideo_Texture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.VIDEO_RGBA,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;if(o?(this.croppingParams.top=o.top,this.croppingParams.left=o.left,this.croppingParams.width=o.width,this.croppingParams.height=o.height):(this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.height=t,this.croppingParams.width=e),this.renderMode){let o=0;this.canvasIdSet.clear();const d=this.FindVideoRenderList(r);for(;o<d.length;o++){this.coordinate.x=d[o].x,this.coordinate.y=d[o].y,this.coordinate.width=d[o].width,this.coordinate.height=d[o].height,this.Update_Cropping_Params(),d[o].display.setVideoMode(a);const{display:r,width:u,height:l}=d[o];this.Should_Update_Watermark(r,u,l,u,l)&&this.Update_Display_Watermark(r,u,l,u,l);let c=!(r&&r.reuse&&d[o].rendercanvasID&&this.canvasIdSet.has(d[o].rendercanvasID));-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)?(d[o].display.updateSelfVideoTextures(e,t,i,this.croppingParams,c,n),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawSelfVideo(this.coordinate,!1,this.ismirror)):(d[o].display.updateRemoteVideoTextures(e,t,this.croppingParams,i,n,0,this.coordinate,!1,c),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawRemoteVideo(this.coordinate,this.ismirror)),this.canvasIdSet.add(d[o].rendercanvasID)}this.renderManager.renderFor(wi.t.VIDEO)}else if(i&&r){let o=this.FindVideoRenderListFromMap(r);this.ssrcHaddataMap.set(r,!0);let d=this;o.length&&(this.canvasIdSet.clear(),o.forEach(r=>{r.haddata=!0,d.coordinate.x=r.x,d.coordinate.y=r.y,d.coordinate.width=r.width,d.coordinate.height=r.height,d.Update_Cropping_Params();let o=r.display,u=!(o&&o.reuse&&r.rendercanvasID&&this.canvasIdSet.has(r.rendercanvasID));o&&(o.setVideoMode(a),d.Should_Update_Watermark(o,r.width,r.height,r.width,r.height)&&d.Update_Display_Watermark(o,r.width,r.height,r.width,r.height),-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)?o.updateSelfVideoTextures(e,t,i,d.croppingParams,u,n):o.updateRemoteVideoTextures(e,t,d.croppingParams,i,n,!0,d.coordinate,!1,u),this.canvasIdSet.add(r.rendercanvasID))}),this.renderManager.renderFor(wi.t.VIDEO))}},Ni.prototype.Draw_Send_Video_Img=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:s.VIDEO_RGBA,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.Update_SelfVideo_Texture(t,i,e,r,a,o)},Ni.prototype.setMirrorMyVideoOption=function(e){this.ismirror=e},Ni.prototype.Start_Draw=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return this.rendingFlag=!0,this.renderMode=e,e?t?(this.intervalHandle=setInterval(this.JsMediaSDK_VideoRender_interval.bind(this),t),this.intervalHandle):null:(Li(this),this.Start_Request_Animation_Frame())},Ni.prototype.Stop_Draw=function(){this.rendingFlag=!1,this.renderMode?clearInterval(this.intervalHandle):this.Stop_Request_Animation_Frame()},Ni.prototype.contextLostCallback=function(e){let t=e.currentTarget.canvasId;ki&&Object(Mi.i)(t),e.preventDefault()},Ni.prototype.contextRestoredCallback=function(e){let t=e.currentTarget,i=t.canvasId,r=t.callback;this.Restored_From_Context_Lost(t,t,i,this.Log_Error.bind(this),r),this.onReStoreCallback&&this.onReStoreCallback(this),ki&&Object(Mi.j)(i)},Ni.prototype.webGLContextLostProtect=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t&&t!==e&&(t.contextLostHandler&&t.removeEventListener("webglcontextlost",t.contextLostHandler),t.contextRestoredHandler&&t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),e&&!this.bWebglContextLostProtectingMap.get(e)&&(e.canvasId=i,e.callback=r,this.renderMode||((t=this.bWebglContextLostProtectingMap.get(i))&&(t.removeEventListener("webglcontextlost",t.contextLostHandler),t.removeEventListener("webglcontextrestored",t.contextRestoredHandler)),this.bWebglContextLostProtectingMap.set(i,e),e.contextLostHandler=this.contextLostCallback.bind(this),e.contextRestoredHandler=this.contextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",e.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",e.contextRestoredHandler,{capture:!1})))},Ni.prototype._Replace_Video_Render_Array_From_Context_LOST=function(e){let{canvas:t,oldCanvas:i,newDisplayMap:r}=e;for(let e=0;e<this.videoRenderArray.length;e++)if(this.videoRenderArray[e].canvas===i||this.videoRenderArray[e].canvas===t){i!==t&&(this.videoRenderArray[e].canvas=t);const a=this.videoRenderArray[e].display.getFillMode();this.videoRenderArray[e].display=r?r.get(this.videoRenderArray[e].display.getTextureIndex()):this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:t,canvasId:this.videoRenderArray[e].rendercanvasID}),a&&this.videoRenderArray[e].display&&this.videoRenderArray[e].display.setFillMode(a,this.videoRenderArray[e].display.getFillModeForResolution())}},Ni.prototype.Restored_From_Context_Lost=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(this.renderMode)this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t});else{const s=this.renderManager.onRestoredFromContextLost(i,e,t,this.threadNumbs,r,this.canvasToLocalDisplay);s&&(this.ssrcDisplayMap.forEach((i,r)=>{i.forEach(i=>{if(i.haddata=!1,i.canvas===t){t!==e&&(i.canvas=e);let r=i.display;i.display=s.get(r.getTextureIndex())}})}),this._Replace_Video_Render_Array_From_Context_LOST({canvas:e,oldCanvas:t,newDisplayMap:s}),null==a||a({canvas:e,oldCanvas:t,newDisplayMap:s}),this.rendingFlag&&this.Start_Request_Animation_Frame())}},Ni.prototype.Replace_Canvas=function(e,t){let i=null;this.bWebglContextLostProtectingMap.forEach((e,r)=>{r===t&&(i=e)}),i!=e&&(this.bWebglContextLostProtectingMap.delete(t),this.webGLContextLostProtect(e,i,t),this.Restored_From_Context_Lost(e,i,t,this.Log_Error.bind(this))),this.isSupportOffscreenCanvas&&(this.waterMarkCanvas||this.videorendercanvas)&&(this.waterMarkCanvas=this.videorendercanvas=new OffscreenCanvas(640,360))},Ni.prototype.Get_Display=function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=this.renderManager.getRendererProvider().isWebGLRendererType(),s=this.renderManager.getRendererProvider().isWebGL2RendererType();(a||s)&&this.webGLContextLostProtect(e,null,t,r);const o=this.renderManager.getVideoRenderDisplay(e,t,this.threadNumbs,this.Log_Error.bind(this),this.canvasToLocalDisplay);return o},Ni.prototype.GiveBack_Display=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=e[0];i&&i.display&&this.renderManager.recycleRenderDisplay(i.canvas,i.display,t)},Ni.prototype.Get_Logical_SSrc=function(e){return e?e>>10<<10:-1},Ni.prototype.Set_LocalVideo_Ptr=function(e){e&&(this.localVideoPtr=e)},Ni.prototype.Set_LocalVideo_Buffer=function(e){e&&(this.encodedVideoSharedArrayWasmMemory=e,this.sabBuffer=e.buffer,this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.sabBuffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.sabBuffer))},Ni.prototype.Set_LocalVideo_SSRC=function(e){e&&(this.localvideossrc=e,this.selfvideossrc=e)},Ni.prototype.Draw_LocalVideo=function(){if(this.localVideoPtr&&this.sabBuffer&&this.localvideossrc){this.encodedVideoSharedArrayWasmMemory&&this.encodedVideoSharedArrayWasmMemory.buffer!=this.sabBuffer&&(this.encodedVideoSharedArrayBufferUint8Array=new Uint8Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.encodedVideoSharedArrayBufferUint16Array=new Uint16Array(this.encodedVideoSharedArrayWasmMemory.buffer),this.sabBuffer=this.encodedVideoSharedArrayWasmMemory.buffer);let e=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr),t=Atomics.load(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr+1),i=!0;if(e==t&&(i=!1),e-t==1&&(e=(e+1)%s.VIDEO_FRAME_BUFFER_SIZE),i){let t=0,i=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e)/2],r=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+2)/2],a=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4)/2],o=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+6)/2],n=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+8)/2],d=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+10)/2],u=this.encodedVideoSharedArrayBufferUint16Array[this.localVideoPtr/2+(4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+12)/2],l=255&u,c=u>>8&255;t=l&&l!==s.VIDEO_BGRA?i*r*3/2:i*r*4,this.croppingParams.top=a,this.croppingParams.left=o,this.croppingParams.height=d,this.croppingParams.width=n;let h=this.encodedVideoSharedArrayBufferUint8Array.subarray(this.localVideoPtr+4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4+8,this.localVideoPtr+4+(s.VIDEO_DATA_MAX_SIZE+4+8+2)*e+4+8+t);this.Update_SelfVideo_Texture(i,r,h,this.Get_Logical_SSrc(this.localvideossrc),l,this.croppingParams,c),Atomics.store(this.encodedVideoSharedArrayBufferUint8Array,this.localVideoPtr,(e+1)%s.VIDEO_FRAME_BUFFER_SIZE)}}},Ni.prototype.Update_LocalVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.localvideossrc;if(this.renderMode){let a=0,o=0,n=!1,d=this.FindVideoRenderList(r),u=i&&(1==t||3==t);for(;o<d.length;o++){n=!0;let r=e;this.croppingParams.top=r.visibleRect?0:r.cropTop,this.croppingParams.left=r.visibleRect?0:r.cropLeft,this.croppingParams.height=r.visibleRect?u?r.visibleRect.width:r.visibleRect.height:r.cropHeight,this.croppingParams.width=r.visibleRect?u?r.visibleRect.height:r.visibleRect.width:r.cropWidth,this.coordinate.x=d[o].x,this.coordinate.y=d[o].y,this.coordinate.width=d[o].width,this.coordinate.height=d[o].height,this.Update_Cropping_Params(),d[o].display.setVideoMode(a);const{display:l,width:c,height:h}=d[o];0!=c&&0!=h&&(this.Should_Update_Watermark(l,c,h,c,h)&&this.Update_Display_Watermark(l,c,h,c,h),-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a)&&(d[o].display.updateRemoteVideoTexturesImageBitmap(this.croppingParams.width,this.croppingParams.height,r,this.croppingParams,i?0:t),d[o].enableMultiDecodeVideoWithoutSAB?d[o].firstFrame=!0:d[o].display.drawSelfVideo(this.coordinate,!1,this.ismirror)))}n||this.renderManager.destroyUnusedVideoFrame(e)}else this.Update_RemoteVideo_Texture(e,!0,r,t,null,i)},Ni.prototype.Set_Capture_Video_Flag=function(e){this.startCaptureVideo=e},Ni.prototype.Get_Capture_Video_Flag=function(){return this.startCaptureVideo},Ni.prototype.FindVideoRender=function(e){if(!e)return null;for(let t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc&&this.videoRenderArray[t].ssrc>>10==e>>10)return this.videoRenderArray[t];return null},Ni.prototype.FindVideoRenderList=function(e){let t=this.isActiveSeakerSsrc(e),i=this.FindVideoRender(s.ACTIVE_SPEAKER_SSRC),r=[e>>10];t&&i&&r.push(s.ACTIVE_SPEAKER_SSRC>>10);let a=[];for(let e=0;e<this.videoRenderArray.length;e++)this.videoRenderArray[e].ssrc&&r.includes(this.videoRenderArray[e].ssrc>>10)&&a.push(this.videoRenderArray[e]);return a},Ni.prototype.FindVideoRenderListFromMap=function(e){let t=this.isActiveSeakerSsrc(e),i=[...this.ssrcDisplayMap.get(this.Get_Logical_SSrc(e))||[]];if(t){let e=this.ssrcDisplayMap.get(this.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC))||[];i.push(...e)}return i},Ni.prototype.JsMediaSDK_VideoRender_interval=function(){this.startCaptureVideo&&this.Draw_LocalVideo();let e=this.FindVideoRender(s.ACTIVE_SPEAKER_SSRC),t=this.FindVideoRender(this.activeSpeakssrc);if(0!=this.videoRenderArray.length){for(let r=0;r<this.videoRenderArray.length;r++){const n=this.videoRenderArray[r],{display:d,canvas:u,enableMultiDecodeVideoWithoutSAB:l,ssrc:c,isMyself:h}=n;var i=null;if(n==e&&t)continue;let f=c;n!=e||t||(f=this.activeSpeakssrc);let p=[n];if(n==t&&e&&p.push(e),this.isActiveSsrcVideo(f)){let e=Date.now();if(this.jsMediaEngine){let e=this.jsMediaEngine.Get_Video_SSRC_Latest_Time();this.timestamp=e.currentSSRCTime,this.audioPlayTime=e.audioPlayTime}this.calPacingTime(e),e-this.timestart<this.pacingTime||(i=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(f)),this.timestart=e)}else i=this.Get_Decoded_Video_Frame(this.Get_Logical_SSrc(f));if(i){let e;this.isActiveSsrcVideo(f)&&(this.videoTimestamp=i.ntptime),e=i.yuvdata instanceof Mi.c?i.yuvdata.yuvdata:i.yuvdata,this.croppingParams.top=i.r_y,this.croppingParams.left=i.r_x,this.croppingParams.height=i.r_h,this.croppingParams.width=i.r_w;const t=i.width>i.height&&(1===i.rotation||3===i.rotation)||i.width<i.height&&1!==i.rotation&&3!==i.rotation,r=t?i.height:i.width,n=t?i.width:i.height,{width:d,height:c}=u;if(this.currentVideoHeight==this.croppingParams.height&&this.currentVideoWidth==this.croppingParams.width||(this.Notify_APPUI?this.Notify_APPUI(a.CURRENT_VIDEO_RESOLUTION,{width:this.croppingParams.width,height:this.croppingParams.height}):postMessage({status:o.VIDEO_RESOLUTION_UPDATE,width:this.croppingParams.width,height:this.croppingParams.height}),this.currentVideoHeight=this.croppingParams.height,this.currentVideoWidth=this.croppingParams.width),e.length==i.width*i.height*3/2&&i.r_x>=0&&i.r_y>=0&&i.r_x+i.r_w<=i.width&&i.r_y+i.r_h<=i.height){8400==this.vMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("VDGLM"):postMessage({status:o.VIDEO_RENDER_MONITOR_LOG,data:"VDGLW"}),this.vMonitorCount=0),this.vMonitorCount++;let t=this;p.forEach(a=>{a.display&&(t.Should_Update_Watermark(a.display,r,n,d,c)&&t.Update_Display_Watermark(a.display,r,n,d,c),l?a.display&&(a.display.setVideoMode(s.VIDEO_I420),a.display.updateRemoteVideoTextures(i.width,i.height,t.croppingParams,e,i.rotation,i.yuv_limited),a.firstFrame=!0):(a.display.setVideoMode(s.VIDEO_I420),a.display.drawNextOutputPictureFrame(i.width,i.height,t.croppingParams,e,i.rotation,i.yuv_limited,a)))})}else this.Log_Error("Invalid YUV data: ".concat(i.r_x," ").concat(i.r_y," ").concat(i.r_w," ").concat(i.r_h," ").concat(i.width," ").concat(i.height));i.yuvdata instanceof Mi.c&&i.yuvdata.recycle()}l&&p.forEach(e=>{if(l&&e.firstFrame){const{x:t,y:i,width:r,height:a}=e,s={x:t,y:i,width:r,height:a};h?e.display.drawSelfVideo(s):e.display.drawRemoteVideo(s)}})}this.renderManager.renderFor(wi.t.VIDEO)}},Ni.prototype.Get_Decoded_Video_Frame=function(e){if(this.videoQueue){var t=this.videoQueue.GetQueue(e);return t?t.dequeue():null}},Ni.prototype.Set_SSRC_Latest_Time_Stamp=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.timestamp!==e&&"number"==typeof e&&e&&(this.timestamp=e,this.audioPlaySsrc=t,this.audioPlayTime=Date.now())},Ni.prototype.Get_Decoded_Video_Buffer_Length=function(e){return this.videoQueue?this.videoQueue.GetQueueLength(e):0},Ni.prototype.Get_SSRC_VIDEO_FPS=function(e){if(e>>=10,this.videoQueue&&this.videoQueue.ssrcInfo){var t=this.videoQueue.ssrcInfo.GetSSRCFpsInfo(e);if(t)return Math.round(t)}return 0},Ni.prototype.Change_Current_SSRC=function(e){this.currentactive=e,this.ClearQueue()},Ni.prototype.Set_Render_Array_IntervalMode=function(e,t){if(this.videoRenderArray=e,this.renderMode&&this.videoRenderArray.length>0)for(let e=0;e<this.videoRenderArray.length;e++){const i=this.videoRenderArray[e];t?i.display||(i.enableMultiDecodeVideoWithoutSAB=t,i.display=this.Get_Display(i.canvas,i.canvas.id),i.display&&i.display.setFillMode(i.fillMode,i.fillModeForResolution)):(this.renderManager.getRendererProvider().isWebGPURendererType()?i.display=this.Get_Display(i.canvas,i.rendercanvasID):i.display=this._Create_WebGL_Canvas({videoRenderArrayIndex:e,canvas:i.canvas,canvasId:i.rendercanvasID}),this.webGLContextLostProtect(i.canvas,void 0,i.rendercanvasID))}},Ni.prototype._Create_WebGL_Canvas=function(e){let{videoRenderArrayIndex:t,canvas:i,canvasId:r}=e;const a={forceNoGL:void 0,contextOptions:{webglcontextlostCallback:this.webglcontextlostCallback.bind(this),webglcontextrestoredCallback:this.webglcontextrestoredCallback.bind(this),params:{videoRenderArrayIndex:t,canvas:i,canvasId:r}},webGLResources:void 0,initMask:!1};return this.renderManager.createWebGLVideoRenderDisplay(i,r,0,a)},Ni.prototype.webglcontextlostCallback=function(e,t){let{canvas:i,canvasId:r}=t;e.preventDefault()},Ni.prototype.webglcontextrestoredCallback=function(e,t){var i,r;let{videoRenderArrayIndex:a,canvas:s,canvasId:o}=t;var n;(!this.videoRenderArray||a>=(null===(i=this.videoRenderArray)||void 0===i?void 0:i.length))&&this.Log_Error("videoRenderArray:".concat(this.videoRenderArray,", length:").concat(null===(n=this.videoRenderArray)||void 0===n?void 0:n.length));this.renderMode&&a<(null===(r=this.videoRenderArray)||void 0===r?void 0:r.length)&&(this.videoRenderArray[a].display=this._Create_WebGL_Canvas({videoRenderArrayIndex:a,canvas:s,canvasId:o}),this.Set_Render_Array(this.videoRenderArray))},Ni.prototype.ClearQueue=function(){try{let e=this.videoQueue.ssrcQueueMap;for(let[t,i]of e)for(;!i.isEmpty();){let e=i.dequeue();e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle()}}catch(e){this.Log_Error("Exception during VideoRender.ClearQueue",e)}this.videoQueue&&this.videoQueue.ClearQueue(),this.currentVideoHeight=0,this.currentVideoWidth=0},Ni.prototype.Set_WaterMark_Info=function(e){let{waterMarkCanvas:t,isCreateVideoWaterMark:i,videoWaterMarkName:r,watermarkOpacity:a,watermarkRepeated:s,watermarkPosition:o}=e;this.waterMarkCanvas=t||this.videorendercanvas,this.isCreateVideoWaterMark=i,this.videoWaterMarkName=r,void 0!==s&&(this.isWaterMarkRepeatedEnable=!!s),void 0!==a&&(this.waterMarkOpacity=a),void 0!==o&&(this.watermarkPosition=o)},Ni.prototype.Set_WaterMark_Flag=function(e){if(this.videoRenderArray.length>0)for(let t=0;t<this.videoRenderArray.length;t++){const{display:i}=this.videoRenderArray[t];i.setWatermarkFlag(e?1:0)}},Ni.prototype.Should_Watermark_Repeated=function(e,t){return this.isWaterMarkRepeatedEnable&&e>306&&t>202};const Vi=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}};Ni.prototype.Update_Display_Watermark=function(e,t,i,r,a){const s=this.Should_Watermark_Repeated(r,a);this.waterMarkCanvas||this.videorendercanvas||(this.videorendercanvas=this.isSupportOffscreenCanvas?new OffscreenCanvas(640,360):null);const o=r<512||a<288?16:this.watermarkPosition,n=this.waterMarkCanvas||this.videorendercanvas;if("function"==typeof OffscreenCanvas&&n instanceof OffscreenCanvas&&OffscreenCanvasRenderingContext2D&&!OffscreenCanvasRenderingContext2D.prototype.measureText)return;const d=Vi(t,i);t=d.width,i=d.height;const u=s?this.WaterMarkRGBA.Get_Repeated_WaterMarkRGBA({canvas:n,name:this.videoWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:o}):this.WaterMarkRGBA.Get_WaterMarkRGBA({canvas:n,name:this.videoWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:o});e.updateWatermark(t,i,u)},Ni.prototype.Should_Update_Watermark=function(e,t,i,r,a){if(!this.isCreateVideoWaterMark)return!1;let s=!1;const o=Vi(t,i);o.width===e.getWatermarkWidth()&&o.height===e.getWatermarkHeight()||(s=!0);const n=this.Should_Watermark_Repeated(r,a);e.isSetWatermark()||(s=!0),n!==e.isWatermarkRepeated()&&(s=!0,e.setWatermarkRepeated(n)),this.waterMarkOpacity&&this.waterMarkOpacity!==e.getWatermarkOpacity()&&(s=!0,e.setWatermarkOpacity(this.waterMarkOpacity));const d=t<512||i<288?16:this.watermarkPosition;return d!==e.getWatermarkPosition()&&(s=!0,e.setWatermarkPosition(d)),s},Ni.prototype.calCulateActiveFps=function(e){this.activeFps&&e>=this.lfTimeStamp?this.activeFps=500/(e-this.lfTimeStamp)+this.activeFps/2:this.lfTimeStamp&&(this.activeFps=1e3/(e-this.lfTimeStamp))},Ni.prototype.Put_Video_Data_Queue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;if(this.videoQueue){var i=this.videoQueue.GetQueue(e.ssrc);if(i||(i=this.videoQueue.AddQueue(e.ssrc)),i.enqueue(e),(this.Get_Logical_SSrc(this.currentactive)==this.Get_Logical_SSrc(e.ssrc)||this.Get_Logical_SSrc(this.audioPlaySsrc)==this.Get_Logical_SSrc(e.ssrc))&&(this.lfTimeStamp&&this.calCulateActiveFps(e.ntptime),this.lfTimeStamp=e.ntptime),this.lastActiveSSRC!=e.ssrc&&(this.lfTimeStamp=0,this.activeFps=0),this.lastActiveSSRC=e.ssrc,this.videoQueue&&this.videoQueue.ssrcInfo){var r=e.ssrc>>10;this.videoQueue.ssrcInfo.UpdateSSRCInfo(r,e.ntptime)}for(var a=this.videoQueue.GetQueueLength(e.ssrc),s=a-t;s>=0;){let t=this.Get_Decoded_Video_Frame(e.ssrc);t.yuvdata instanceof Mi.c&&t.yuvdata.recycle(),s--}}else e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle()},Ni.prototype.Set_VideoTrackReader=function(e){this.isSupportVideoTrackReader=e},Ni.prototype.Clear_OffScreenCanvas=function(e){this.renderManager.clearOffscreenCanvas(e),e.contextLostHandler&&(e.removeEventListener("webglcontextlost",e.contextLostHandler),e.contextLostHandler=null),e.contextRestoredHandler&&(e.removeEventListener("webglcontextrestored",e.contextRestoredHandler),e.contextRestoredHandler=null),e.width=1,e.height=1},Ni.prototype.Zoom_Render=function(e){},Ni.prototype.Decode_Ssrc=function(e){return this.ssrcDisplayMap.has(this.Get_Logical_SSrc(e))||this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)};const ki="undefined"==typeof window;function Ui(e){let t=Date.now(),i=xi;if(t-Wi<30)i.Start_Request_Animation_Frame(e);else if(Wi=t,i.rendingFlag){i.needClear&&(i.needClear=!1);try{i.startCaptureVideo&&i.localVideoPtr&&i.Draw_LocalVideo(),i.ssrcDisplayMap.forEach((function(e,r){if(r!=i.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC)||!i.ssrcDisplayMap.has(i.Get_Logical_SSrc(i.activeSpeakssrc)))if(r==i.Get_Logical_SSrc(s.ACTIVE_SPEAKER_SSRC)&&(r=i.activeSpeakssrc),i.isActiveSsrcVideo(r))if(i.calPacingTime(t),t-i.timestart<i.pacingTime);else{i.timestart=t;let e=i.Get_Decoded_Video_Frame(i.Get_Logical_SSrc(r));e&&(i.Update_RemoteVideo_Texture(e),i.videoTimestamp=e.ntptime)}else{let e=i.Get_Decoded_Video_Frame(i.Get_Logical_SSrc(r));e&&i.Update_RemoteVideo_Texture(e)}})),i.ssrcDisplayMap.forEach((function(e,t){let r=i.isSelfVideo(t);e.forEach(e=>{var t;let a=e.display;null!=a&&null!==(t=a.isAvaiable)&&void 0!==t&&t.call(a)||setTimeout(()=>{var e;null==a||null===(e=a.restoreContext)||void 0===e||e.call(a)},5),e.haddata&&(i.coordinate.x=e.x,i.coordinate.y=e.y,i.coordinate.width=e.width,i.coordinate.height=e.height,a&&a.getVideoMode()!=s.VIDEO_INVALID&&(r&&-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(a.getVideoMode())?a.drawSelfVideo(i.coordinate,!1,i.ismirror):r?a.drawRemoteVideo(i.coordinate,i.ismirror):a.drawRemoteVideo(i.coordinate)))})})),i.renderManager.renderFor(wi.t.VIDEO)}catch(e){i.Log_Error("Exception while rendering video",e)}i.Start_Request_Animation_Frame(e)}else i.rAFID&&i.Stop_Request_Animation_Frame()}function Li(e){return!!e&&(xi=e,!0)}var xi;Ni.prototype.Check_Request_Animation=function(){if(ki&&this.rendingFlag&&this.prevRequestAnimationTimestap){performance.now()-this.prevRequestAnimationTimestap>5e3&&!this.rAFIDBack&&(postMessage({status:o.MONITOR_MESSAGE,data:"WCL_M,RCIF"}),this.rAFID&&(cancelAnimationFrame(this.rAFID),this.rAFID=0),this.rAFIDBack=setInterval(Ui.bind(null,!0),30))}},Ni.prototype.Start_Request_Animation_Frame=function(e,t){if(!e&&this.rAFIDBack&&(console.log("Request_Animation_start"),this.Stop_Request_Animation_Frame_Backup()),!this.rAFIDBack)return t||(this.retryRequestAnimationStep=2),this.prevRequestAnimationTimestap=performance.now(),this.rAFID=requestAnimationFrame(Ui),this.rAFID},Ni.prototype.Stop_Request_Animation_Frame_Backup=function(){this.rAFIDBack&&(clearInterval(this.rAFIDBack),this.rAFIDBack=null)},Ni.prototype.Stop_Request_Animation_Frame=function(){this.rAFID&&cancelAnimationFrame(this.rAFID),this.rAFID=0,this.prevRequestAnimationTimestap=0,this.retryRequestAnimationStep=2,this.Stop_Request_Animation_Frame_Backup()},Ni.prototype.Log_Error=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.globalTracingLogger?this.globalTracingLogger.error(e,t):Object(Mi.h)(e,t)},Ni.prototype.calPacingTime=function(e){if(this.pacingTime=30,this.activeFps>=1&&this.activeFps<=40&&(this.pacingTime=1e3/this.activeFps),this.timestamp&&this.videoTimestamp){let t=this.timestamp+e-this.audioPlayTime,i=this.videoTimestamp+this.pacingTime-t,r=this.currentactive?this.currentactive:this.audioPlaySsrc,a=this.videoQueue.GetQueueLength(this.Get_Logical_SSrc(r));i>65&&i<1e4&&a>=1&&(this.pacingTime=1.5*this.pacingTime),i<-65&&(this.pacingTime=1*this.pacingTime/2)}else this.timestamp||(this.pacingTime>150?this.pacingTime=1*this.pacingTime/2:this.pacingTime=this.pacingTime-10)},Ni.prototype.getRenderManager=function(){return this.renderManager},Ni.prototype.cleanup=function(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];this.renderManager.cleanup(e,t,i)},Ni.prototype.setActiveSpeakerSsrc=function(e){this.activeSpeakssrc=e},Ni.prototype.getActiveSpeakerSsrc=function(e){return this.activeSpeakssrc},Ni.prototype.isActiveSeakerSsrc=function(e){return this.activeSpeakssrc&&this.activeSpeakssrc>>10==e>>10},Ni.prototype.isActiveSsrcVideo=function(e){let t=e>>10;return t==this.currentactive>>10||t==this.audioPlaySsrc>>10},Ni.prototype.clearDraw=function(e){e&&(this.clearColor[0]=255*e.R,this.clearColor[1]=255*e.G,this.clearColor[2]=255*e.B,this.clearColor[3]=255*e.A),this.needClear=!0},Ni.prototype.isSelfVideo=function(e){return this.Get_Logical_SSrc(e)==this.Get_Logical_SSrc(this.selfvideossrc)||this.isActiveSeakerSsrc(this.selfvideossrc)&&e>>10==s.ACTIVE_SPEAKER_SSRC>>10};var Wi=0,Bi=Ni;function Gi(e){this.Notify_APPUI=e.Notify_APPUI,this.PubSub=e.PubSub,this.jsMediaEngine=e.jsMediaEngine,this.globalTracingLogger=e.globalTracingLogger,this.renderManager=e.renderManager,this.currentshareactive=0,this.isFromMainSession=0,this.sharingWidthAndHeightInfo={logicHeight:0,logicWidth:0},this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0,this.isCreateSharingWaterMark=!1,this.sharingWaterMarkName="",this.isWaterMarkRepeatedEnable=!1,this.waterMarkOpacity=.15,this.SharingCanvasSizeInfo=null,this.Cursorx=null,this.Cursory=null,this.CursorWidth=null,this.CursorHeight=null,this.xratio=1,this.yratio=1,this.sharingDisplay=null,this.mouseQueue=new m,this.sharingQueue=new m,this.WaterMarkRGBA=new yi.a,this.sMonitorCount=0,this.mMonitorCount=0,this.firstFrameForIOS=!1,this.timestart=0,this.asTime=0,this.rAFID=0,this.requestAnimation=!1,this.requestF=this.No_Bindthis_RAF.bind(this),this.cATimeStamp=0,this.lRTimeStamp=0,this.pacingtime=1,this.sharingFps=0,this.lfTimeStamp=0,this.maxQueueLength=0,this.vaTimeDelta=0,this.renderMode=s.RQUEST_ANIMATION_MODE,this.SharingRenderInterval=0,this.RAFhealthCheckInterval=0,this.RAFLastTime=0,this.brefresh=!1,this.statisticObj=null}Gi.prototype.Start_Draw=function(){return this.requestAnimation=!0,this.Start_Request_Animation_Frame()},Gi.prototype.Stop_Draw=function(){return this.requestAnimation=!1,this.lRTimeStamp=0,this.cATimeStamp=0,this.Stop_Request_Animation_Frame()},Gi.prototype.Start_Request_Animation_Frame=function(){return this.rAFID=requestAnimationFrame(this.requestF),this.rAFID},Gi.prototype.Stop_Request_Animation_Frame=function(){this.rAFID&&(cancelAnimationFrame(this.rAFID),this.rAFID=0)},Gi.prototype.No_Bindthis_RAF=function(){let e=performance.now();this.RAFLastTime=e,this.requestAnimation?(this.calPacingTime(e),e-this.timestart>this.pacingtime&&(this.timestart=e,this.JsMediaSDK_SharingRender()),this.Start_Request_Animation_Frame()):this.Stop_Request_Animation_Frame()},Gi.prototype.No_Bindthis_Interval=function(){let e=performance.now();this.calPacingTime(e),e-this.timestart>this.pacingtime&&(this.timestart=e,this.JsMediaSDK_SharingRender())},Gi.prototype.calPacingTime=function(e){this.pacingtime=30,this.sharingFps&&this.sharingFps>0&&this.sharingFps<100&&(this.pacingtime=1e3/this.sharingFps);let t=this.Get_Current_QueueLength();if(this.cATimeStamp&&this.lRTimeStamp){let i=this.cATimeStamp+e-this.asTime;this.vaTimeDelta=this.lRTimeStamp+this.pacingtime-i,this.vaTimeDelta>65&&this.vaTimeDelta<1e4&&t>1&&(this.pacingtime=1.5*this.pacingtime),this.vaTimeDelta<-65&&(this.pacingtime=1*this.pacingtime/2)}else this.cATimeStamp||(this.pacingtime>150||t>20?this.pacingtime=1*this.pacingtime/2:this.pacingtime=this.pacingtime-10)},Gi.prototype.JsMediaSDK_SharingRender=function(){var e,t,i;if(this.sharingDisplay)if(!1!==(null===(e=(t=this.sharingDisplay).isAvaiable)||void 0===e?void 0:e.call(t))){null===(i=this.statisticObj)||void 0===i||i.sample();var r=this.Get_Decoded_Sharing_Frame(this.currentshareactive,this.isFromMainSession),s=this.Get_Decoded_Mouse_Frame(this.currentshareactive,this.isFromMainSession);if(r){let e,t;this.lRTimeStamp=r.ntptime,r.yuvdata instanceof Mi.c?(e=r.yuvdata.yuvdata,t=r.yuvdata):(e=r.yuvdata,t=null),this.sharingWidthAndHeightInfo.logicWidth==r.logic_w&&this.sharingWidthAndHeightInfo.logicHeight==r.logic_h||(this.PubSub?PubSub.publish(a.SHARING_PARAM_INFO_FROM_SOCKET,{body:{width:r.logic_w,height:r.logic_h,logicWidth:r.logic_w,logicHeight:r.logic_h}}):(postMessage({status:o.Sharing_Width_And_Height_Info,logicWidth:r.logic_w,logicHeight:r.logic_h}),this.updateOffscreenCanvasSize(r.logic_w,r.logic_h)),this.sharingWidthAndHeightInfo.logicWidth=r.logic_w,this.sharingWidthAndHeightInfo.logicHeight=r.logic_h);var n=r.logic_h,d=r.logic_w,u=r.r_h,l=r.r_w;this.xratio=l/d,this.yratio=u/n;var c={top:r.r_x,left:r.r_y,height:r.r_h,width:r.r_w};this.currentSharingHeight==r.r_h&&this.currentSharingWidth==r.r_w&&this.currentSharingLogicHeight==r.logic_h&&this.currentSharingLogicWidth==r.logic_w||(this.Notify_APPUI?this.Notify_APPUI(a.SHARING_PARA,{body:{height:r.logic_h,width:r.logic_w,logicHeight:r.logic_h,logicWidth:r.logic_w}}):(postMessage({status:o.Sharing_Width_And_Height_Info,logicWidth:r.logic_w,logicHeight:r.logic_h}),this.updateOffscreenCanvasSize(r.logic_w,r.logic_h)),this.currentSharingHeight=r.r_h,this.currentSharingWidth=r.r_w,this.currentSharingLogicHeight=r.logic_h,this.currentSharingLogicWidth=r.logic_w);const i=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.width:r.r_w,s=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.height:r.r_h;this.Should_Update_Watermark(this.sharingDisplay,i,s)&&this.Update_Display_Watermark(this.sharingDisplay,i,s),3e3==this.sMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("SDIMM"):postMessage({status:o.SHARING_RENDER_MONITOR_LOG,data:"SDIMW"}),this.sMonitorCount=0),this.sMonitorCount++,this.sharingDisplay.drawNextOutputPictureFrame(r.width,r.height,c,e,null,r.yuv_limited),t&&t.recycle(),r.dataptr&&Module._free(r.dataptr)}else if(this.brefresh&&(this.brefresh=!1,0!=this.sharingDisplay.getTextureWidth()&&0!=this.sharingDisplay.getTextureHeight()&&0!==this.currentSharingWidth&&0!==this.currentSharingHeight)){const e=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.width:this.currentSharingWidth,t=this.SharingCanvasSizeInfo?this.SharingCanvasSizeInfo.height:this.currentSharingHeight;this.Should_Update_Watermark(this.sharingDisplay,e,t)&&this.Update_Display_Watermark(this.sharingDisplay,e,t),this.sharingDisplay.drawNextOutputPictureFrame(this.sharingDisplay.getTextureWidth(),this.sharingDisplay.getTextureHeight(),this.sharingDisplay.getCroppingParams(),null,this.picRotation,!0,null,!1),r=!0}s&&(this.Cursorx=s.r_x*this.xratio,this.Cursory=s.r_y*this.yratio,this.CursorWidth=s.width*this.xratio,this.CursorHeight=s.height*this.yratio,this.sharingDisplay.updateCursor(s.width,s.height,s.buffer),3e3==this.mMonitorCount&&(this.jsMediaEngine?this.jsMediaEngine.Send_Render_Monitor_Log("SDSBM"):postMessage({status:o.SHARING_RENDER_MONITOR_LOG,data:"SDSBW"}),this.mMonitorCount=0),this.mMonitorCount++,this.sharingDisplay.drawCursor(1,this.Cursorx,this.Cursory,this.CursorWidth,this.CursorHeight)),r&&this.renderManager.renderFor(wi.t.SHARE)}else{var h,f;null===(h=(f=this.sharingDisplay).restoreContext)||void 0===h||h.call(f)}else Object(Mi.h)("JsMediaSDK_SharingRender error, display is null")},Gi.prototype.setOnlyAcceptUISize=function(e){this.bOnlyAcceptUISize=e},Gi.prototype.updateOffscreenCanvasSize=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.bOnlyAcceptUISize&&!i)return console.log("drop logic w/h");try{let i=this.sharingDisplay.getAttachedCanvas();i&&i instanceof OffscreenCanvas&&(i.width=e,i.height=t,this.brefresh=!0)}catch(e){this.Log_Error("Error updating OffscreenCanvas size",e)}},Gi.prototype.Set_Render_Display=function(e){this.sharingDisplay=e},Gi.prototype.Change_Current_SSRC=function(e,t){this.currentshareactive=e,this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0,this.isFromMainSession=t,this.firstFrameForIOS=!1,this.ClearQueue()},Gi.prototype.Set_WaterMark_Info=function(e){let{waterMarkCanvas:t,isCreateSharingWaterMark:i,sharingWaterMarkName:r,watermarkOpacity:a,watermarkRepeated:s,watermarkPosition:o}=e;i||(this.SharingCanvasSizeInfo=null),this.Replace_WaterMark_Canvas(t),this.isCreateSharingWaterMark=i,this.sharingWaterMarkName=r,void 0!==s&&(this.isWaterMarkRepeatedEnable=!!s),void 0!==a&&(this.waterMarkOpacity=a),void 0!==o&&(this.watermarkPosition=o)},Gi.prototype.Replace_WaterMark_Canvas=function(e){this.waterMarkCanvas=e},Gi.prototype.Set_WaterMark_Flag=function(e){this.sharingDisplay.setWatermarkFlag(e?1:0)},Gi.prototype.Should_Watermark_Repeated=function(e,t){return this.isWaterMarkRepeatedEnable&&e>306&&t>202};const Fi=function(e,t){if(e<640&&e){const i=640/e;e=640,t=Math.round(t*i)}return{width:e,height:t}};Gi.prototype.Update_Display_Watermark=function(e,t,i){if("function"==typeof OffscreenCanvas&&this.waterMarkCanvas instanceof OffscreenCanvas&&OffscreenCanvasRenderingContext2D&&!OffscreenCanvasRenderingContext2D.prototype.measureText)return;const r=t<512||i<288?16:this.watermarkPosition,a=this.Should_Watermark_Repeated(t,i),s=Fi(t,i);t=s.width,i=s.height;const o=a?this.WaterMarkRGBA.Get_Repeated_WaterMarkRGBA({canvas:this.waterMarkCanvas,name:this.sharingWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:r}):this.WaterMarkRGBA.Get_WaterMarkRGBA({canvas:this.waterMarkCanvas,name:this.sharingWaterMarkName,width:t,height:i,opacity:this.waterMarkOpacity,position:r});e.updateWatermark(t,i,o)},Gi.prototype.Should_Update_Watermark=function(e,t,i){if(!this.isCreateSharingWaterMark)return!1;let r=!1;const a=Fi(t,i);a.width===e.getWatermarkWidth()&&a.height===e.getWatermarkHeight()||(r=!0);const s=this.Should_Watermark_Repeated(t,i);e.isSetWatermark()||(r=!0),s!==e.isWatermarkRepeated()&&(r=!0,e.setWatermarkRepeated(s)),this.waterMarkOpacity&&this.waterMarkOpacity!==e.getWatermarkOpacity()&&(r=!0,e.setWatermarkOpacity(this.waterMarkOpacity));const o=t<512||i<288?16:this.watermarkPosition;return o!==e.getWatermarkPosition()&&(r=!0,e.setWatermarkPosition(o)),r},Gi.prototype.Update_Sharing_Canvas_Size=function(e){let{width:t,height:i}=e;this.SharingCanvasSizeInfo={width:Math.round(t),height:Math.round(i)}},Gi.prototype.ClearQueue=function(){try{let e=this.sharingQueue.ssrcQueueMap;for(let[t,i]of e)for(;!i.isEmpty();){let e=i.dequeue();e.yuvdata&&e.yuvdata instanceof Mi.c&&e.yuvdata.recycle(),e.dataptr&&Module._free(e.dataptr)}}catch(e){this.Log_Error("Exception from SharingRender.ClearQueue",e)}this.sharingQueue&&this.sharingQueue.ClearQueue(),this.mouseQueue&&this.mouseQueue.ClearQueue(),this.currentSharingHeight=0,this.currentSharingWidth=0,this.currentSharingLogicHeight=0,this.currentSharingLogicWidth=0},Gi.prototype.Get_Decoded_Sharing_Frame=function(e,t){if(!this.sharingQueue)return null;var i=this.GetLogicalSSRCPart(e,t),r=this.sharingQueue.GetQueue(i);return r?r.dequeue():null},Gi.prototype.Get_Decoded_Mouse_Frame=function(e,t){if(this.mouseQueue){var i=this.GetLogicalSSRCPart(e,t),r=this.mouseQueue.GetQueue(i);return r?r.dequeue():null}},Gi.prototype.Put_Sharing_Data_From_Queue=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;if(this.sharingQueue){var i=this.GetLogicalSSRCPart(e.ssrc,e.isFromMainSession);this.firstFrameForIOS||i!=this.currentshareactive>>10||(this.firstFrameForIOS=!0,this.Notify_APPUI?this.Notify_APPUI(a.FIRST_IOS_FRAME,this.currentshareactive):postMessage({status:o.FIRST_SHARING_FRAME_FOR_MOBILE,ssrc:this.currentshareactive}));var r=this.sharingQueue.GetQueue(i);r||(r=this.sharingQueue.AddQueue(i)),r.enqueue(e),this.lfTimeStamp&&(this.sharingFps?this.sharingFps=500/(e.ntptime-this.lfTimeStamp)+this.sharingFps/2:this.sharingFps=1e3/(e.ntptime-this.lfTimeStamp)),this.sharingFps!=1/0&&this.sharingFps||(this.sharingFps=20),this.lfTimeStamp=e.ntptime;var s=this.sharingQueue.GetQueueLength(i),n=s-t;for(this.maxQueueLength=t;n>=0;){let t=this.Get_Decoded_Sharing_Frame(e.ssrc,e.isFromMainSession);t.yuvdata instanceof Mi.c&&t.yuvdata.recycle(),t.dataptr&&Module._free(t.dataptr),n--}}},Gi.prototype.Get_Current_QueueLength=function(){if(!this.sharingQueue)return;let e=this.currentshareactive;var t=this.GetLogicalSSRCPart(e,this.isFromMainSession);return this.sharingQueue.GetQueueLength(t)},Gi.prototype.Put_Mouse_Data_Into_Queue=function(e){if(this.mouseQueue){var t=this.GetLogicalSSRCPart(e.ssrc,e.isFromMainSession),i=this.mouseQueue.GetQueue(t);i||(i=this.mouseQueue.AddQueue(t)),i.enqueue(e);for(var r=this.mouseQueue.GetQueueLength(t)-10;r>=0;)this.Get_Decoded_Mouse_Frame(e.ssrc,e.isFromMainSession),r--}},Gi.prototype.GetLogicalSSRCPart=function(e,t){let i=e>>10;return t&&(i|=1<<23),i},Gi.prototype.SetcATimeStamp=function(e){this.cATimeStamp=e,this.asTime=performance.now()},Gi.prototype.Log_Error=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.globalTracingLogger?this.globalTracingLogger.error(e,t):Object(Mi.h)(e,t)},Gi.prototype.Log_DT=function(e){this.globalTracingLogger?this.globalTracingLogger.directReport(e):Object(Mi.g)(e)},Gi.prototype.setMode=function(e){this.Stop_Draw2(),this.renderMode=e},Gi.prototype.Start_Draw2=function(e){var t;null===(t=this.statisticObj)||void 0===t||t.start(),this.renderMode?(this.SharingRenderInterval&&(clearInterval(this.SharingRenderInterval),this.SharingRenderInterval=0),this.SharingRenderInterval=setInterval(()=>{this.No_Bindthis_Interval()},20)):(this.Start_Draw(),this.startRAFHealthCheck())},Gi.prototype.Stop_Draw2=function(e){var t;null===(t=this.statisticObj)||void 0===t||t.stop(),this.renderMode?this.SharingRenderInterval&&(clearInterval(this.SharingRenderInterval),this.SharingRenderInterval=0):(this.Stop_Draw(),this.stopRAFHealthCheck())},Gi.prototype.startRAFHealthCheck=function(){this.RAFLastTime=performance.now(),this.RAFhealthCheckInterval=setInterval(()=>{let e=performance.now();!this.renderMode&&e-this.RAFLastTime>2e3&&(this.Stop_Draw2(),this.setMode(s.SET_INTERVAL_MODE),this.Start_Draw2(),this.Log_DT("Sharing RAF Failed"))},2e3)},Gi.prototype.stopRAFHealthCheck=function(){this.RAFLastTime=0,this.RAFhealthCheckInterval&&clearInterval(this.RAFhealthCheckInterval)};var Hi=Gi,Ki=i(25),ji=i(16);let Yi=new Map,qi=[];function Xi(e){e.preventDefault()}function Qi(e,t,i,r,a,o,n){let d=arguments.length>7&&void 0!==arguments[7]&&arguments[7];this.canvasElement=e,this.canvasID=t,this.contextOptions=a,this.textureindex=i||0,this.texturestride=this.textureindex?3:n?4:6,this.initmask=n||!1,this.reuse=!1,this.isEnableCanvasAlphaChannel=d,Qi.prototype.ROTATION_CLOCK0=0,Qi.prototype.ROTATION_CLOCK90=1,Qi.prototype.ROTATION_CLOCK180=2,Qi.prototype.ROTATION_CLOCK270=3,this.webGLResources=o,o||(this.initContextGL(),this.contextGL&&(this.webGLContextLostProtect(),this.contextGL.isContextLost()&&this.restoreContext())),this.reinit(o);var u=new ArrayBuffer(4);this.dummpyCursor=new Uint8Array(u),this.dummpyWaterMark=new Uint8Array(u),this.cursorWidth=0,this.cursorHeight=0,this.hasCursor=0,this.hasWaterMark=0,this.watermarkOpacity=.15,this.watermarkData=null,this.watermarkWidth=0,this.watermarkHeight=0,this.isMultiView=!1,this.hasWholeFrame=0,this.croppingParams={},this.croppingParams.top=0,this.croppingParams.left=0,this.croppingParams.width=0,this.croppingParams.height=0,this.textureWidth=0,this.textureHeight=0,this.canvasWidth=0,this.canvasHeight=0,this.picRotation=-1,this.bgColor=[0,0,0],this.cx=0,this.cy=0,this.cw=0,this.ch=0,this.colorRange=-1,this.videoMode=s.VIDEO_INVALID,this.rotation=this.ROTATION_CLOCK0,this.fillMode=0,this.fillModeForResolution=0}function zi(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;var s=e.contextGL;let o=s.canvas.width,n=s.canvas.height;a&&(o=a.width,n=a.height);var d,u,l,c,h=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?i:t,f=r==e.ROTATION_CLOCK90||r==e.ROTATION_CLOCK270?t:i,p=h/f*n,_=f/h*o;p>o?(d=0,l=1,c=1-(u=(n-_)/2/n)):(u=0,c=1,l=1-(d=(o-p)/2/o)),d=2*d-1,l=2*l-1,u=1-2*u,c=1-2*c;var m=new Float32Array([l,u,d,u,l,c,d,c,l,u,d,u,l,c,d,c]);s.bindBuffer(s.ARRAY_BUFFER,e.vertexPosBuffer),s.bufferData(s.ARRAY_BUFFER,m,s.DYNAMIC_DRAW)}function Ji(e,t,i,r,a){var s=e.contextGL,o=r.top/i,n=r.left/t,d=o+(r.height-1)/i,u=n+r.width/t,l=[n,o,u,o,u,d,n,d];a==e.ROTATION_CLOCK90&&(l.unshift(l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK180&&(l.unshift(l[4],l[5],l[6],l[7]),l=l.slice(0,8)),a==e.ROTATION_CLOCK270&&(l.push(l[0],l[1]),l=l.slice(2));var c=l[0],h=l[1];l[0]=l[2],l[1]=l[3],l[2]=c,l[3]=h;var f=new Float32Array([...l,1,0,0,0,1,1,0,1]);s.bindBuffer(s.ARRAY_BUFFER,e.texturePosBuffer),s.bufferData(s.ARRAY_BUFFER,f,s.DYNAMIC_DRAW)}Qi.prototype.reinit=function(e){if(this.webGLResources=e,!this.contextGL||this.contextGL.isContextLost()||this.contextGL.glInitSucceed||this.webGLResources){if(this.webGLResources&&this.webGLResources.contextgl&&!this.webGLResources.contextgl.isContextLost()){this.contextGL=this.webGLResources.contextgl,this.shaderProgram=this.webGLResources.program,this.waterMarkTextureRef=this.webGLResources.waterMarkTextureRef,this.repeatedWaterMarkTextureRef=this.webGLResources.repeatedWaterMarkTextureRef,this.initTextures(!1),this.vertexPosBuffer=this.webGLResources.vBuffer,this.texturePosBuffer=this.webGLResources.tBuffer;let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}}else{this.initProgram(),this.initmask?this.initTextures(!1):this.initTextures(!0),this.initBuffers();let e=this.contextGL.getError();this.contextGL.glInitSucceed=e!=this.contextGL.NO_ERROR&&e!=this.contextGL.CONTEXT_LOST_WEBGL?0:1}},Qi.prototype.webGLContextLostSimulate=function(){let e="undefined"==typeof window?self:window;e.webGLEXTSimulate=e.webGLEXTSimulate||[],e.webGLEXTSimulate.push(Object(Mi.f)(this.contextGL,"WEBGL_lose_context"))},Qi.prototype.restoreContext=function(){if(this.contextGL)try{var e;null!==(e=this.canvasElement)&&void 0!==e&&e.loseContextExtension&&!this.canvasElement.restoreTimeoutId&&this.contextGL.isContextLost()&&(this.canvasElement.restoreTimeoutId=setTimeout(()=>{Object(Mi.e)("WebGL2RestoreTimeout")},1500),this.canvasElement.loseContextExtension.restoreContext())}catch(e){Object(Mi.b)("webgl restoreContext exception2",e)}},Qi.prototype.webgGLContextLostCallback=function(e){Object(Mi.g)("webglcontextlost2 event: canvas listener size=".concat(qi.length,", canvas id: ").concat(this.canvasID,", , ids:").concat(qi.join())),e.preventDefault(),this.contextGL.glInitSucceed=0,this.contextOptions&&this.contextOptions.webglcontextlostCallback&&this.contextOptions.webglcontextlostCallback(e,this.contextOptions.params)},Qi.prototype.removeEventListener=function(e,t){if(e&&t){0,e.restoreTimeoutId&&(clearTimeout(e.restoreTimeoutId),e.restoreTimeoutId=void 0),e.removeEventListener("webglcontextlost",t.contextLostHandler),e.removeEventListener("webglcontextrestored",t.contextRestoredHandler);const i=qi.indexOf(this.canvasID);qi.splice(i,1),Yi.delete(e)}},Qi.prototype.webGLContextRestoredCallback=function(e){Object(Mi.g)("webglcontextrestored2 event from canvas id: ".concat(this.canvasID)),this.canvasElement.restoreTimeoutId&&(clearTimeout(this.canvasElement.restoreTimeoutId),this.canvasElement.restoreTimeoutId=void 0),this.reinit(),this.contextOptions&&this.contextOptions.webglcontextrestoredCallback&&this.contextOptions.webglcontextrestoredCallback(e,this.contextOptions.params)},Qi.prototype.webGLContextLostProtect=function(){this.canvasElement&&!this.canvasElement.loseContextExtension&&(this.canvasElement.loseContextExtension=Object(Mi.f)(this.contextGL,"WEBGL_lose_context"));let e=this.canvasElement,t=Yi.get(e);t&&this.removeEventListener(e,t),Yi.set(e,this),this.contextLostHandler=this.webgGLContextLostCallback.bind(this),this.contextRestoredHandler=this.webGLContextRestoredCallback.bind(this),e.addEventListener("webglcontextlost",this.contextLostHandler,{capture:!1}),e.addEventListener("webglcontextrestored",this.contextRestoredHandler,{capture:!1}),-1===qi.indexOf(this.canvasID)&&(qi.push(this.canvasID),qi.length>4&&Object(Mi.g)("webgl2canvas listener size=".concat(qi.length,", ids:").concat(qi.join())))},Qi.prototype.isWebGL2=function(){return this.contextGL},Qi.prototype.isAvaiable=function(){return this.contextGL&&!this.contextGL.isContextLost()&&this.contextGL.glInitSucceed},Qi.prototype.initContextGL=function(){for(var e,t,i,r=this.canvasElement,a=null,s=["webgl2"],o=0;!a&&o<s.length;){var n=s[o];try{if(I.a.isEnableCanvasCtxOptionsOpt()){let e={depth:!1,stencil:!1,antialias:!1,alpha:this.isEnableCanvasAlphaChannel};if(this.contextOptions){let t={...this.contextOptions,...e};a=r.getContext(n,t)}else a=r.getContext(n,e)}else a=this.contextOptions?r.getContext(n,this.contextOptions):r.getContext(n)}catch(e){a=null}a&&"function"==typeof a.getParameter||(a=null),++o}if(this.contextGL=a,!a||a.isContextLost())return Object(Mi.b)("Failed when trying to get WebGLContext2 on canvas(".concat(null===(e=this.canvasElement)||void 0===e?void 0:e.width,",").concat(null===(t=this.canvasElement)||void 0===t?void 0:t.height,"), gl=").concat(a,", lost=").concat(null===(i=a)||void 0===i?void 0:i.isContextLost())),void Object(Mi.e)("initWebGL2Fail");a.glInitSucceed=0},Qi.prototype.initProgram=function(){var e=this.contextGL;var t=e.createShader(e.VERTEX_SHADER);e.shaderSource(t,"#version 300 es\n in vec4 vertexPos;\n in vec4 texturePos;\n in vec4 masktexturePos;\n out vec2 textureCoord;\n out vec2 masktextureCoord;\n\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos.xy;\n masktextureCoord = masktexturePos.xy;\n }\n "),e.compileShader(t),e.getShaderParameter(t,e.COMPILE_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Vertex shader failed to compile: "+e.getShaderInfoLog(t));var i=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(i,"#version 300 es\n precision highp float;\n in highp vec2 textureCoord;\n in highp vec2 masktextureCoord;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n uniform sampler2D cursorSampler;\n uniform sampler2D waterMarkSampler;\n uniform sampler2D previewVideoSampler;\n uniform sampler2D maskSampler;\n uniform vec4 cursorInfo;\n uniform int onlyRGBA;\n uniform int bgraMode;\n uniform int colorRange;\n uniform int waterMarkFlag;\n uniform int cursorFlag;\n uniform int maskFlag;\n uniform int yuvmode;\n\n const mat4 YUV2RGB_L = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n \n const mat4 YUV2RGB_F = mat4(\n 1.0, 0, 1.402, -.701,\n 1.0, -.34413, -.71414, .529135,\n 1.0, 1.772, 0, -.886,\n 0, 0, 0, 1\n );\n\n out vec4 outputColor;\n \n void main(void) {\n vec4 c;\n if (waterMarkFlag != 1) {\n if (onlyRGBA == 0) {\n highp float y = texture(ySampler, textureCoord).r;\n highp float u;\n highp float v;\n if (yuvmode == 1) {\n u = texture(uSampler, textureCoord).r;\n v = texture(vSampler, textureCoord).r;\n } else {\n u = texture(uSampler, textureCoord).r;\n v = texture(uSampler, textureCoord).a;\n }\n \n if (colorRange == 0) {\n c = vec4(y, u, v, 1) * YUV2RGB_L;\n } else {\n c = vec4(y, u, v, 1) * YUV2RGB_F;\n }\n \n if (cursorFlag == 1) {\n if (cursorInfo.z > 0.0 && textureCoord.x >= cursorInfo.x && textureCoord.y >= cursorInfo.y && \n textureCoord.x < cursorInfo.x+cursorInfo.z && textureCoord.y < cursorInfo.y+cursorInfo.w) {\n vec2 cursorCoord = textureCoord - cursorInfo.xy;\n cursorCoord /= cursorInfo.zw;\n vec4 cursor = texture(cursorSampler, cursorCoord);\n c = c*(1.0-cursor.a) + cursor*cursor.a;\n }\n }\n } else {\n c = texture(previewVideoSampler, textureCoord);\n if (bgraMode == 1) {\n c = vec4(c.b, c.g, c.r, c.a);\n }\n }\n }\n\n if (waterMarkFlag == 1) {\n c = texture(waterMarkSampler, textureCoord);\n if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0) {\n c.a = 0.0;\n }\n }\n\n if (maskFlag == 1 && waterMarkFlag != 1) {\n vec4 mask = texture(maskSampler, masktextureCoord);\n if (mask.r != 0.0 || mask.g != 0.0 || mask.b != 0.0) {\n c = mask* mask.a+ c*(1.0-mask.a);\n }\n }\n\n if (waterMarkFlag!=1) {\n c.a = 1.0;\n }\n\n outputColor = c;\n }\n "),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Fragment shader failed to compile: "+e.getShaderInfoLog(i));var r=e.createProgram();e.attachShader(r,t),e.attachShader(r,i),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS)||e.isContextLost()||Object(Mi.g)("webgl2 Program failed to compile: "+e.getProgramInfoLog(r)),e.useProgram(r),this.shaderProgram=r},Qi.prototype.initBuffers=function(){var e=this.contextGL,t=this.shaderProgram,i=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,i),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var r=e.getAttribLocation(t,"vertexPos");e.enableVertexAttribArray(r),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0),this.vertexPosBuffer=i;var a=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,a),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var s=e.getAttribLocation(t,"texturePos");if(e.enableVertexAttribArray(s),e.vertexAttribPointer(s,2,e.FLOAT,!1,0,0),this.initmask&&!this.masktexturePosBuffer){var o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var n=e.getAttribLocation(t,"masktexturePos");e.enableVertexAttribArray(n),e.vertexAttribPointer(n,2,e.FLOAT,!1,0,0),this.masktexturePosBuffer=o}this.texturePosBuffer=a},Qi.prototype.initTextures=function(e){var t=this.contextGL,i=this.shaderProgram;t.pixelStorei(t.UNPACK_ALIGNMENT,1);var r=this.initTexture();this.yTextureRef=r,this.oyTextureRef=r;var a=this.initTexture();this.uTextureRef=a,this.ouTextureRef=a;var o=this.initTexture();if(this.vTextureRef=o,this.ovTextureRef=o,e){this.BindTextures(s.VIDEO_I420);var n=this.initTexture(),d=t.getUniformLocation(i,"cursorSampler");t.uniform1i(d,this.textureindex*this.texturestride+3),this.cursorTextureRef=n;var u=this.initTexture(),l=t.getUniformLocation(i,"waterMarkSampler");t.uniform1i(l,4),this.waterMarkTextureRef=u;var c=this.initTexture();this.repeatedWaterMarkTextureRef=c;var h=this.initTexture(),f=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(f,this.textureindex*this.texturestride+5),this.previewVideoTextureRef=h;var p=t.getUniformLocation(i,"cursorInfo");this.cursorInfoRef=p}if(this.initmask){t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,1);var _=this.initTexture(),m=t.getUniformLocation(i,"maskSampler");t.uniform1i(m,this.textureindex*this.texturestride+6),this.maskTextureRef=_}var E=t.getUniformLocation(i,"colorRange");this.colorRangeRef=E,this.onlyRGBARef=t.getUniformLocation(i,"onlyRGBA"),this.bgraModeRef=t.getUniformLocation(i,"bgraMode"),this.waterMarkFlagRef=t.getUniformLocation(i,"waterMarkFlag"),this.maskFlagRef=t.getUniformLocation(i,"maskFlag"),this.cursorFlagRef=t.getUniformLocation(i,"cursorFlag"),this.yuvmodeRef=t.getUniformLocation(i,"yuvmode")},Qi.prototype.BindTextures=function(e){var t=this.contextGL,i=this.shaderProgram;if(t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.activeTexture(t.TEXTURE0+0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.activeTexture(t.TEXTURE0+1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.activeTexture(t.TEXTURE0+2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),e==s.VIDEO_I420){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,2)}else if(this.isRGBAMode(e)){let e=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"ySampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"uSampler");t.uniform1i(a,0);let s=t.getUniformLocation(i,"vSampler");t.uniform1i(s,0)}else if(e==s.VIDEO_NV12){let e=t.getUniformLocation(i,"ySampler");t.uniform1i(e,0);let r=t.getUniformLocation(i,"uSampler");t.uniform1i(r,1);let a=t.getUniformLocation(i,"vSampler");t.uniform1i(a,0)}let r=t.getUniformLocation(i,"previewVideoSampler");t.uniform1i(r,0);let a=t.getUniformLocation(i,"maskSampler");this.initmask?(t.activeTexture(t.TEXTURE0+6),t.bindTexture(t.TEXTURE_2D,this.maskTextureRef),t.uniform1i(a,6)):t.uniform1i(a,0);let o=t.getUniformLocation(i,"cursorSampler");t.uniform1i(o,0);let n=t.getUniformLocation(this.shaderProgram,"waterMarkSampler");t.uniform1i(n,0)},Qi.prototype.initTexture=function(){var e=this.contextGL,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),t},Qi.prototype.clearDisplay=function(){var e=this.contextGL;e&&(e.enable(e.BLEND),e.blendFunc(e.ZERO,e.ZERO)),this.render()},Qi.prototype.cleanup=function(){let e=this.canvasElement,t=Yi.get(e);if(t&&this.removeEventListener(e,t),e.defaultContextLostHandler||(e.defaultContextLostHandler=Xi,e.addEventListener("webglcontextlost",Xi,{capture:!1})),this.isAvaiable()){var i=this.contextGL;i.deleteProgram(this.program),i.activeTexture(i.TEXTURE0+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE1+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE2+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),this.textureindex||this.initmask||(i.activeTexture(i.TEXTURE3+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE4+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(this.getRepeatedWatermarkTextureValue(i)),i.bindTexture(i.TEXTURE_2D,null),i.activeTexture(i.TEXTURE5+this.textureindex*this.texturestride),i.bindTexture(i.TEXTURE_2D,null)),i.bindBuffer(i.ARRAY_BUFFER,null),i.deleteTexture(this.yTextureRef),i.deleteTexture(this.uTextureRef),i.deleteTexture(this.vTextureRef),this.textureindex||this.initmask||(i.deleteTexture(this.cursorTextureRef),i.deleteTexture(this.waterMarkTextureRef),i.deleteTexture(this.repeatedWaterMarkTextureRef),i.deleteTexture(this.previewVideoTextureRef),i.deleteBuffer(this.vertexPosBuffer),i.deleteBuffer(this.texturePosBuffer)),this.maskTextureRef&&i.deleteTexture(this.maskTextureRef),this.masktexturePosBuffer&&i.deleteBuffer(this.masktexturePosBuffer),i.glInitSucceed=0}},Qi.prototype.drawNextOutputPicture=function(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;var s=this.contextGL;s?this.drawNextOutputPictureFrame(e,t,i,r,a):this.drawNextOuptutPictureRGBA(e,t,i,r)},Qi.prototype.updateVertexInfoForMultiView=function(e,t,i,r,a){var s,o,n,d,u=this.contextGL;if(this.isUseFillMode({width:i,height:r,rotation:a}))s=0,o=0,n=1,d=1;else{var l=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?r:i,c=a==this.ROTATION_CLOCK90||a==this.ROTATION_CLOCK270?i:r,h=l/c*t;h>e?(s=0,n=1,d=1-(o=(t-c/l*e)/2/t)):(o=0,d=1,n=1-(s=(e-h)/2/e))}s=2*s-1,n=2*n-1,o=1-2*o,d=1-2*d;var f=new Float32Array([n,o,s,o,n,d,s,d,1,1,-1,1,1,-1,-1,-1]);u.bindBuffer(u.ARRAY_BUFFER,this.vertexPosBuffer),u.bufferData(u.ARRAY_BUFFER,f,u.DYNAMIC_DRAW)},Qi.prototype.updateTextureInfoForMultiView=function(e,t,i,r,a,s,o){var n,d,u,l,c=this.contextGL;if(this.isUseFillMode({width:i.width,height:i.height,rotation:r})){const a=r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?o/s:s/o,c=i.left||0,h=i.top||0;if(i.width/i.height>a){const r=i.height*a;n=h/t,d=(Math.round((i.width-r)/2)+c)/e,u=n+(i.height-1)/t,l=d+r/e}else{const r=i.width/a;u=(n=(Math.round((i.height-r)/2)+h)/t)+(r-1)/t,l=(d=c/e)+i.width/e}}else n=Object(ji.e)(i.top/t,2),d=Object(ji.e)(i.left/e,2),u=Object(ji.h)((i.top+i.height-1)/t,2),l=Object(ji.h)((i.width-1+i.left)/e,2);var h=[d,n,l,n,l,u,d,u];r==this.ROTATION_CLOCK90&&(h.unshift(h[6],h[7]),h=h.slice(0,8)),r==this.ROTATION_CLOCK180&&(h.unshift(h[4],h[5],h[6],h[7]),h=h.slice(0,8)),r==this.ROTATION_CLOCK270&&(h.push(h[0],h[1]),h=h.slice(2,10));var f=h[0],p=h[1];if(h[0]=h[2],h[1]=h[3],h[2]=f,h[3]=p,a)if(r==this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270){let e=h[1];h[1]=h[3],h[3]=e,e=h[5],h[5]=h[7],h[7]=e}else h[0]=1-h[0],h[2]=1-h[2],h[4]=1-h[4],h[6]=1-h[6];var _=new Float32Array([...h,1,0,0,0,1,1,0,1]);c.bindBuffer(c.ARRAY_BUFFER,this.texturePosBuffer),c.bufferData(c.ARRAY_BUFFER,_,c.DYNAMIC_DRAW)},Qi.prototype.drawNextOutputPictureFrame=function(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];if(!this.isAvaiable())return;var u=this.contextGL,l=(this.texturePosBuffer,this.yTextureRef),c=this.uTextureRef,h=this.vTextureRef;u.enable(u.BLEND),u.blendFunc(u.SRC_ALPHA,u.ONE_MINUS_SRC_ALPHA),a=a||this.ROTATION_CLOCK0;var f=(i=i||{top:0,left:0,width:e,height:t}).width!=this.croppingParams.width||i.height!=this.croppingParams.height,p=i.top!=this.croppingParams.top||i.left!=this.croppingParams.left,_=u.canvas.width!=this.canvasWidth||u.canvas.height!=this.canvasHeight,m=e!=this.textureWidth||t!=this.textureHeight,E=a!=this.picRotation;(f||_||E)&&zi(this,i.width,i.height,a,n),(f||p||m||E)&&Ji(this,e,t,i,a);let g=o?0:1;g!=this.colorRange&&(u.uniform1i(this.colorRangeRef,g),this.colorRange=g),n?u.viewport(n.x,n.y,n.width,n.height):u.viewport(0,0,u.canvas.width,u.canvas.height),u.uniform1i(this.onlyRGBARef,0),u.uniform1i(this.yuvmodeRef,s.VIDEO_I420),Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.picRotation=a,this.canvasWidth=u.canvas.width,this.canvasHeight=u.canvas.height,u.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),u.clear(u.COLOR_BUFFER_BIT);var S=r,v=e*t;if(u.activeTexture(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,l),d){var C=S.subarray(0,v);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e,t,0,u.LUMINANCE,u.UNSIGNED_BYTE,C)}var A=e/2*t/2;if(u.activeTexture(u.TEXTURE1),u.bindTexture(u.TEXTURE_2D,c),d){var R=S.subarray(v,v+A);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,R)}var T=A;if(u.activeTexture(u.TEXTURE2),u.bindTexture(u.TEXTURE_2D,h),d){var I=S.subarray(v+A,v+A+T);u.texImage2D(u.TEXTURE_2D,0,u.LUMINANCE,e/2,t/2,0,u.LUMINANCE,u.UNSIGNED_BYTE,I)}u.activeTexture(u.TEXTURE3),u.bindTexture(u.TEXTURE_2D,this.cursorTextureRef),this.hasCursor?u.uniform1i(this.cursorFlagRef,1):d&&u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyCursor),u.uniform4f(this.cursorInfoRef,this.cx,this.cy,this.cw,this.ch),u.activeTexture(u.TEXTURE5),u.bindTexture(u.TEXTURE_2D,this.previewVideoTextureRef),u.texImage2D(u.TEXTURE_2D,0,u.RGBA,1,1,0,u.RGBA,u.UNSIGNED_BYTE,this.dummpyWaterMark);var b=u.getUniformLocation(this.shaderProgram,"maskSampler");u.uniform1i(b,5),this.render(),this.hasWholeFrame=1},Qi.prototype.updateTextureBlock=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL,o=a;if(!(!this.hasWholeFrame||e<=0||t<=0||i<0||r<0||i+e>this.textureWidth||r+t>this.textureHeight)&&a&&a.length==e*t*3/2){var n=this.yTextureRef,d=this.uTextureRef,u=this.vTextureRef,l=e*t,c=o.subarray(0,l);s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n),s.texSubImage2D(s.TEXTURE_2D,0,i,r,e,t,s.LUMINANCE,s.UNSIGNED_BYTE,c);var h=e/2*t/2,f=o.subarray(l,l+h);s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,d),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,f);var p=h,_=o.subarray(l+h,l+h+p);s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,u),s.texSubImage2D(s.TEXTURE_2D,0,i/2,r/2,e/2,t/2,s.LUMINANCE,s.UNSIGNED_BYTE,_)}}},Qi.prototype.updateCursor=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this.cursorTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i),this.cursorWidth=e,this.cursorHeight=t,this.hasCursor=1)}},Qi.prototype.updateWatermark=function(e,t,i){if(this.isAvaiable()){this.contextGL;e<=0||t<=0||!i||i.length!=e*t*4||(this.watermarkData=i,this.watermarkWidth=e,this.watermarkHeight=t,this.hasWaterMark=1)}},Qi.prototype.drawWatermark=function(){if(this.isAvaiable()){var e=this.contextGL;if(this.isSetWatermark()&&this.watermarkData&&this.watermarkWidth&&this.watermarkHeight){e.uniform1i(this.waterMarkFlagRef,1),this.isWatermarkRepeated()?(e.activeTexture(this.getRepeatedWatermarkTextureValue(e)),e.bindTexture(e.TEXTURE_2D,this.repeatedWaterMarkTextureRef)):(e.activeTexture(e.TEXTURE4),e.bindTexture(e.TEXTURE_2D,this.waterMarkTextureRef)),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.watermarkWidth,this.watermarkHeight,0,e.RGBA,e.UNSIGNED_BYTE,this.watermarkData);let t=e.getUniformLocation(this.shaderProgram,"waterMarkSampler");e.uniform1i(t,this.isWatermarkRepeated()?this.getRepeatedWatermarkUniformValue():4),e.enable(e.BLEND),e.blendFunc(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA),e.drawArrays(e.TRIANGLE_STRIP,4,4)}}},Qi.prototype.render=function(){if(this.isAvaiable()){var e=this.contextGL;e.uniform1i(this.waterMarkFlagRef,0),e.drawArrays(e.TRIANGLE_STRIP,0,4),this.drawWatermark()}},Qi.prototype.drawCursor=function(e,t,i,r,a){if(this.isAvaiable()){var s=this.contextGL;if(!(!this.hasWholeFrame||e&&(r<0||a<0))){s.viewport(0,0,s.canvas.width,s.canvas.height);var o=this.yTextureRef,n=this.uTextureRef,d=this.vTextureRef,u=this.cursorTextureRef;if(s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,o),s.activeTexture(s.TEXTURE1),s.bindTexture(s.TEXTURE_2D,n),s.activeTexture(s.TEXTURE2),s.bindTexture(s.TEXTURE_2D,d),s.activeTexture(s.TEXTURE3),s.bindTexture(s.TEXTURE_2D,u),e&&this.hasCursor){let e=t/this.croppingParams.width,o=i/this.croppingParams.height,n=r/this.croppingParams.width,d=a/this.croppingParams.height;this.cx=e,this.cy=o,this.cw=n,this.ch=d,s.uniform4f(this.cursorInfoRef,e,o,n,d)}else s.uniform4f(this.cursorInfoRef,0,0,0,0);this.render()}}},Qi.prototype.clear=function(){this.hasWholeFrame=0,this.hasCursor=0},Qi.prototype.clearCanvas=function(e){if(this.isAvaiable()){var t=this.contextGL;e?t.clearColor(e.R,e.G,e.B,e.A):t.clearColor(this.bgColor[0],this.bgColor[1],this.bgColor[2],255),t.clear(t.COLOR_BUFFER_BIT)}},Qi.prototype.drawNextOuptutPictureRGBA=function(e,t,i,r){if(this.isAvaiable()){var a=r,s=this.canvasElement.getContext("2d"),o=s.getImageData(0,0,e,t);o.data.set(a),s.putImageData(o,0,0)}},Qi.prototype.isRGBAMode=function(e){return-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(e)},Qi.prototype.updateRemoteVideoTextures=function(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=!(arguments.length>8&&void 0!==arguments[8])||arguments[8];if(!this.isAvaiable())return;var d=this.contextGL,u=this.yTextureRef,l=this.uTextureRef,c=this.vTextureRef;d.enable(d.BLEND),d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);const h=this.isRGBAMode(this.videoMode);if(e<=0||t<=0||!r||!r.length||r.length!=e*t*3/2&&!h||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return!1;let f=o?0:1;if(this.colorRange=f,this.rotation=a,Object.assign(this.croppingParams,i),this.textureWidth=e,this.textureHeight=t,this.canvasWidth=d.canvas.width,this.canvasHeight=d.canvas.height,!n)return;if(d.bindTexture(d.TEXTURE_2D,u),h)return void d.texImage2D(d.TEXTURE_2D,0,d.RGBA,e,t,0,d.RGBA,d.UNSIGNED_BYTE,r);var p=r,_=e*t,m=p.subarray(0,_);d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e,t,0,d.LUMINANCE,d.UNSIGNED_BYTE,m);let E=0,g=0;this.videoMode==s.VIDEO_I420?(E=e/2*t/2,g=E):this.videoMode==s.VIDEO_NV12&&(E=e*t/2,g=0);var S=p.subarray(_,_+E);if(d.bindTexture(d.TEXTURE_2D,l),g){d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,S);var v=p.subarray(_+E,_+E+g);d.bindTexture(d.TEXTURE_2D,c),d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE,e/2,t/2,0,d.LUMINANCE,d.UNSIGNED_BYTE,v)}else d.texImage2D(d.TEXTURE_2D,0,d.LUMINANCE_ALPHA,e/2,t/2,0,d.LUMINANCE_ALPHA,d.UNSIGNED_BYTE,S);return!0},Qi.prototype.updateRemoteVideoTexturesImageBitmap=function(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(e<=0||t<=0||!i)return;if(!this.isAvaiable())return;var o=this.contextGL;if(this.textureWidth=e,this.textureHeight=t,Number.isNaN(a)||(this.rotation=a),Object.assign(this.croppingParams,r),!s)return;o.bindTexture(o.TEXTURE_2D,this.yTextureRef);const n=0,d=o.RGBA,u=o.RGBA,l=o.UNSIGNED_BYTE;o.texImage2D(o.TEXTURE_2D,n,d,u,l,i)},Qi.prototype.updateSelfMaskImage=function(e,t,i){if(!(e<=0||t<=0)&&i&&i.length==e*t*4&&this.isAvaiable()){var r=this.contextGL;r.bindTexture(r.TEXTURE_2D,this.maskTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,i)}},Qi.prototype.VideoFlip=function(){if(this.isAvaiable()){var e=this.contextGL;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,1)}},Qi.prototype.drawRemoteVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.isAvaiable())return;var i=this.contextGL;let r=this.isRGBAMode(this.videoMode)?1:0;i.uniform1i(this.colorRangeRef,this.colorRange),this.setUniformFlag(r,this.hasCursor,this.videoMode),this.initmask&&i.uniform1i(this.maskFlagRef,1),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,t,e.width,e.height),i.viewport(e.x,e.y,e.width,e.height),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation),this.BindTextures(this.videoMode),i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.render()},Qi.prototype.readPixelsSyncRequest=function(e,t,i,r){if(this.isAvaiable()){var a,s=this.contextGL;return this.destination&&this.destination.length==i*r*4||(this.destination=new Uint8Array(i*r*4)),a=this.destination,s.flush(),s.readPixels(e,t,i,r,s.RGBA,s.UNSIGNED_BYTE,a),a}},Qi.prototype.updateSelfVideoTextures=function(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(!(e<=0||t<=0)&&i&&i.length%4==0&&this.isAvaiable()){var o=this.contextGL;this.textureWidth=e,this.textureHeight=t,this.rotation=s,Object.assign(this.croppingParams,r),a&&(o.bindTexture(o.TEXTURE_2D,this.yTextureRef),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,e,t,0,o.RGBA,o.UNSIGNED_BYTE,i))}},Qi.prototype.drawSelfVideo=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.isAvaiable()){var r=this.contextGL;this.setUniformFlag(1,this.hasCursor,this.videoMode),this.updateTextureInfoForMultiView(this.textureWidth,this.textureHeight,this.croppingParams,this.rotation,i,e.width,e.height),r.viewport(e.x,e.y,e.width,e.height),t?(r.enable(r.BLEND),r.blendFunc(r.ZERO,r.ZERO),this.updateVertexInfoForMultiView(e.width,e.height,e.width,e.height,this.ROTATION_CLOCK0)):(r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),this.updateVertexInfoForMultiView(e.width,e.height,this.croppingParams.width,this.croppingParams.height,this.rotation)),this.BindTextures(s.VIDEO_RGBA),this.render()}},Qi.prototype.isSetWatermark=function(){return this.hasWaterMark},Qi.prototype.recoverTextures=function(){},Qi.prototype.setWatermarkFlag=function(e){this.hasWaterMark=e,e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))},Qi.prototype.setUniformFlag=function(e,t,i){if(this.isAvaiable()){var r=this.contextGL;r.uniform1i(this.onlyRGBARef,e),r.uniform1i(this.bgraModeRef,e&&i===s.VIDEO_BGRA?1:0),r.uniform1i(this.cursorFlagRef,t),e||r.uniform1i(this.yuvmodeRef,i)}},Qi.prototype.setVideoMode=function(e){this.videoMode=e},Qi.prototype.getVideoMode=function(e){return this.videoMode},Qi.prototype.setWatermarkRepeated=function(e){this.watermarkRepeated=e},Qi.prototype.isWatermarkRepeated=function(){return!!this.watermarkRepeated},Qi.prototype.setWatermarkOpacity=function(e){this.watermarkOpacity=e||.15},Qi.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},Qi.prototype.setWatermarkPosition=function(e){this.watermarkPosition=e||16},Qi.prototype.getWatermarkPosition=function(){return this.watermarkPosition},Qi.prototype.setMultiView=function(e){return this.isMultiView=e},Qi.prototype.getRepeatedWatermarkUniformValue=function(){return this.isMultiView?30:7},Qi.prototype.getRepeatedWatermarkTextureValue=function(e){return this.isMultiView?e.TEXTURE30:e.TEXTURE7},Qi.prototype.setFillMode=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.fillMode=e,this.fillModeForResolution=t},Qi.prototype.getFillMode=function(){return this.fillMode},Qi.prototype.getFillModeForResolution=function(){return this.fillModeForResolution},Qi.prototype.getTextureIndex=function(){return this.textureindex},Qi.prototype.getIndex=function(){return this.textureindex},Qi.prototype.getWatermarkWidth=function(){return this.watermarkWidth},Qi.prototype.getWatermarkHeight=function(){return this.watermarkHeight},Qi.prototype.getTextureWidth=function(){return this.textureWidth},Qi.prototype.getTextureHeight=function(){return this.textureHeight},Qi.prototype.getCroppingParams=function(){return this.croppingParams},Qi.prototype.getWatermarkOpacity=function(){return this.watermarkOpacity},Qi.prototype.getAttachedCanvas=function(){return this.canvasElement},Qi.prototype.resizeCanvasTo=function(e,t){this.contextGL.canvas.width=e,this.contextGL.canvas.height=t},Qi.prototype.isUseFillMode=function(e){let{width:t,height:i,rotation:r}=e;if(!this.fillMode)return!1;if(!this.fillModeForResolution)return!0;if(!t||!i)return!1;const a=r===this.ROTATION_CLOCK90||r==this.ROTATION_CLOCK270?i/t:t/i;return(Array.isArray(this.fillModeForResolution)?this.fillModeForResolution:[this.fillModeForResolution]).some(e=>Math.abs(a-e)<.01)};var Zi=Qi;class $i{constructor(e){this.options={analyserFrequent:100,...e||{}},this.asnTime=performance.now(),this.audioStream=null,this.analyserNodeBufferDataArray=null,this.audioCtx=null,this.destinationNode=null,"function"==typeof AudioContext&&(this.audioCtx=new(window.AudioContext||window.webkitAudioContext),this.destinationNode=new MediaStreamAudioDestinationNode(this.audioCtx),this.initAnalyserNode()),this.lastUILevel=0}initAnalyserNode(){this.analyserNode=this.audioCtx.createAnalyser(),this.analyserNode.connect(this.destinationNode),this.analyserNode.fftSize=1024}setAudioStream(e){this.audioStream=e}start(){if(this.audioCtx)return this.getAnalyzingStatus()&&this.stop(),this.getDestroyedStatus()?Promise.reject(new Error("instance is destroyed already")):new Promise(e=>{this.setAnalyzingStatus(!0),this.sourceNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.sourceNode.connect(this.analyserNode),this.resumeAudioCtx(),this.setAnalyzeInterval(),e(!0)})}stop(){this.setAnalyzingStatus(!1),this.clearAnalyzeInterval()}destroy(){var e;this.stop(),this.analyserNode&&this.destinationNode&&this.analyserNode.disconnect(this.destinationNode),this.setDestroyedStatus(!0),null===(e=this.audioCtx)||void 0===e||e.suspend().finally(()=>{var e;return null===(e=this.audioCtx)||void 0===e?void 0:e.close()}),this.audioStream=null,this.analyserNodeBufferDataArray=null}analyserNodeIntervalCallback(){if(!this.analyserNodeBufferDataArray)return;this.analyserNode.getFloatTimeDomainData(this.analyserNodeBufferDataArray);let{sumRms:e,absMax:t}=function(e,t){let i=0,r=0;for(let a=0;a<e.length;a+=t){r+=e[a]*e[a];let t=Math.abs(e[a]);t>i&&(i=t)}let a=r/e.length/t;return i=i>1?1:i,{sumRms:a,absMax:i}}(this.analyserNodeBufferDataArray,2);const i=tr(t);i!==this.lastUILevel&&(this.lastUILevel=i,this.options.analyserCallback(i))}setAnalyzeInterval(){this.clearAnalyzeInterval();const e=this.analyserNode.fftSize;this.analyserNodeBufferDataArray=new Float32Array(e),this.analyserNodeTimer=window.setInterval(this.analyserNodeIntervalCallback.bind(this),this.options.analyserFrequent)}clearAnalyzeInterval(){this.analyserNodeTimer&&(window.clearInterval(this.analyserNodeTimer),this.analyserNodeTimer=null,this.analyserNodeBufferDataArray=null)}getAnalyzingStatus(){return!!this.isAnalyzing}setAnalyzingStatus(e){this.isAnalyzing=!!e}getDestroyedStatus(){return!!this.isDestroyed}setDestroyedStatus(e){this.isDestroyed=!!e}resumeAudioCtx(){"running"!==this.audioCtx.state&&this.audioCtx.resume().catch(e=>{v.default.error("audio-level audio context resume error: ",e)})}}const er=[0,1,2,3,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9];function tr(e){if("number"!=typeof e||e<0||e>1)return-1;let t=parseInt(32768*e/1e3);return 0==t&&e>250&&(t=1),er[t]}const ir=(e,t)=>A.default.add_monitor("AB"+e);var rr=[],ar=[];class sr{constructor(){this.levelR16LogTimer=null,this.audioStatus=-1}startLogTimer(){try{this.levelR16LogTimer||(this.levelR16LogTimer=setInterval(()=>{rr.push("x"),ar.push("x"),rr.length>30&&rr.shift(),ar.length>30&&ar.shift()},1e3)),this.audioStatus=2}catch{ir("SALLTERR")}}suspendLogTimer(e){try{this.levelR16LogTimer&&(clearInterval(this.levelR16LogTimer),this.levelR16LogTimer=null),this.audioStatus=e?3:1}catch{ir("PALLTERR")}}destroy(){this.suspendLogTimer(),this.levelR16LogTimer=null}}class or{constructor(e,t){this.workletPath=t||{},this.audioStream=null,this.audioCtx=null,this.webRTCWorkletNode=null,this.inputNode=null,this.outputNode=null,this.isDestroyed=!1,this.mutedLevelLogTimer=new sr,this.initAudioContext(),this.isCreatingWorklet=!1,this.setAudioStreamCallback=e,this.doingDenoise=!1,this.checkProcessInterval=null}initAudioContext(){if(!this.audioCtx){let e=g.default.getAudioContextConfigure();if(this.audioCtx=Object(g.createAudioContext)("WebRTCInput",e),!this.audioCtx)return;this.audioCtx.onstatechange=()=>{var e,t;if(v.default.log("WebRTCInput AudioContext state changed to ".concat(null===(e=this.audioCtx)||void 0===e?void 0:e.state)),A.default.add_monitor("ACSC:WebRTCInput:".concat(null===(t=this.audioCtx)||void 0===t?void 0:t.state)),this.audioStream){this.setAudioStreamCallback(null,!0);const e=this.audioStream.getAudioTracks()[0];if(e){var i;const{muted:t}=e;"running"===(null===(i=this.audioCtx)||void 0===i?void 0:i.state)&&t&&(ir("ACRM"),v.default.error("Audio context running when track muted"))}}},this.outputNode=this.audioCtx.createMediaStreamDestination(),this.resumeAudioCtx()}}async createWebRTCWorklet(){const{jsPath:e,wasmPath:t}=this.workletPath;if(this.audioCtx&&e&&!this.isCreatingWorklet){if(this.isCreatingWorklet=!0,!this.webRTCWorkletNode){try{await this.audioCtx.audioWorklet.addModule(e)}catch(e){return v.default.error("Error when add webRTC worklet module",e),void(this.isCreatingWorklet=!1)}let i=void 0;if(g.default.isSupportAudioDenoise(!0)&&t&&(i=await g.default.downloadAndCompileWebAssembly(t,"AudioWorklet",A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate)),this.isDestroyed)return v.default.log("webrtc manager has been destroyed before create audio worklet node"),void this.destroy();let r=g.default.isBrowserSupportStereo()?2:1;this.webRTCWorkletNode=new Ei(this.audioCtx,"webRTCWorklet",{processorOptions:{userAgent:navigator.userAgent,wasmModule:i,inputAudioChannel:r},numberOfOutputs:1,outputChannelCount:[2]}),this.webRTCWorkletNode.onprocessorerror=e=>{v.default.error("Exception thrown in WebRTC AudioWorkletProcessor",e)},this.webRTCWorkletNode.postCMD("audiowasm"),this.webRTCWorkletNode.port.addEventListener("message",e=>{this.handleMessage(e)}),this.audioStream&&!this.inputNode&&(this.inputNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.inputNode.connect(this.webRTCWorkletNode)),this.webRTCWorkletNode.connect(this.outputNode),"running"===this.audioCtx.state&&this.startCheckProcess(),v.default.log("create worklet successfully")}this.isCreatingWorklet=!1,this.webRTCWorkletNode.postCMD("clearBuffer"),this.resumeAudioCtx()}}handleMessage(e){var t=e.data;switch(t.status){case"AUDIO_LEVEL_R16":{var i;if(1!=(null===(i=this.mutedLevelLogTimer)||void 0===i?void 0:i.audioStatus))break;const e=t.level.toString(16);rr.push(e),rr.length>30&&rr.shift()}break;case"AUDIO_LEVEL_R16_DENOISE":{var r;if(1!=(null===(r=this.mutedLevelLogTimer)||void 0===r?void 0:r.audioStatus))break;const e=t.level.toString(16);ar.push(e),ar.length>30&&ar.shift()}break;case"WASM_INIT_SUCCESS":this.changeDenoiseSwitch(this.denoiseSwitch,this.isHeadSet);break;case"audio_process_changed":v.default.log("denoise switch changed"+t.data),this.doingDenoise=t.data,this.setAudioStreamCallback(null,!0);break;case a.AUDIO_LEVEL_INDICATOR:null!=t.data&&T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:t.data});break;case"SPEECH_LOG":Le.push({log:t.data.log,logSource:s.AUDIO_WEBRTC_WORKLET})}}setAudioStream(e){this.audioStream=e,this.webRTCWorkletNode&&(this.inputNode&&(this.inputNode.disconnect(),this.inputNode=null),e&&(this.inputNode=this.audioCtx.createMediaStreamSource(this.audioStream),this.inputNode.connect(this.webRTCWorkletNode)))}getAudioStream(){var e;return this.outputNode&&this.webRTCWorkletNode&&this.doingDenoise&&"running"===(null===(e=this.audioCtx)||void 0===e?void 0:e.state)?this.outputNode.stream:this.audioStream}changeDenoiseSwitch(e,t){this.denoiseSwitch=!!e,this.isHeadSet=!!t,this.webRTCWorkletNode&&this.webRTCWorkletNode.postCMD("audio_denoise_switch",{enable:this.denoiseSwitch,isHeadSet:this.isHeadSet})}getLevelR16Log(){const e=rr.join(""),t=ar.join("");return rr=[],ar=[],{resLevelR16Log:e,resLevelR16LogDenoise:t}}resumeAudioCtx(){var e,t,i;1!==(null===(e=this.mutedLevelLogTimer)||void 0===e?void 0:e.audioStatus)||"running"===(null===(t=this.audioCtx)||void 0===t?void 0:t.state)||"closed"===(null===(i=this.audioCtx)||void 0===i?void 0:i.state)||this.isCreatingWorklet||(this.startCheckProcess(),this.audioCtx.resume().catch(e=>{v.default.error("webRTC audioContext resume fail",e)}))}suspendAudioCtx(){var e;"suspended"===(null===(e=this.audioCtx)||void 0===e?void 0:e.state)||this.isCreatingWorklet||(this.stopCheckProcess(),this.audioCtx.suspend().catch(e=>{v.default.error("Error when suspend audio context",e)}))}changeAudioStatus(e,t){var i,r,a;t?(null===(i=this.mutedLevelLogTimer)||void 0===i||i.suspendLogTimer(!0),this.suspendAudioCtx()):e?(null===(r=this.mutedLevelLogTimer)||void 0===r||r.startLogTimer(),this.suspendAudioCtx()):(null===(a=this.mutedLevelLogTimer)||void 0===a||a.suspendLogTimer(!1),this.resumeAudioCtx())}startCheckProcess(){this.stopCheckProcess(),this.webRTCWorkletNode&&(this.webRTCWorkletNode.postCMD("clearProcess",null),this.checkProcessInterval=setInterval(()=>{this.webRTCWorkletNode&&this.webRTCWorkletNode.postCMD("checkProcess",null)},1e4))}stopCheckProcess(){this.checkProcessInterval&&(clearInterval(this.checkProcessInterval),this.checkProcessInterval=null)}destroy(){try{this.isDestroyed=!0,this.webRTCWorkletNode&&(this.webRTCWorkletNode.disconnect(),this.webRTCWorkletNode.postCMD("stopWorklet",!0),this.webRTCWorkletNode=null),this.inputNode&&(this.inputNode.disconnect(this.audioLevelNode),this.inputNode=null),this.outputNode&&(this.outputNode.disconnect(),this.outputNode=null),this.audioCtx&&"closed"!==this.audioCtx.state&&this.audioCtx.suspend().finally(()=>{this.audioCtx.close(),this.audioCtx=null}),this.audioStream=null,this.mutedLevelLogTimer&&(this.mutedLevelLogTimer.destroy(),this.mutedLevelLogTimer=null),this.wasmModule=null,this.isCreatingWorklet=!1,ir("DSALOK")}catch(e){ir("DSALERR"),v.default.error("Error when destroy webRTC manager",e)}}}var nr=["headset","pods","buds","opencomm","arctis","mpow","hyperx cloud","zone wired","aeropex by aftershokz","plt focus","xiberia","pxc 550","tk-hs001","lifechat lx","cisco 56"],dr=[["wh-","wf-","wi-"],["1000x","ch","xb","sp","h9","c2","c5","c6","c1","h8","c4","c3"]],ur={jabra:["evolve","pro 900","pro 920","pro 93","pro 94","talk","biz","engage","elite","uc voice","link 180","link 2","link 860","link 850","link 400","blueparrott"],plantronics:["savi","blackwire","c5","c3","c4","c6","c7","bt","audio","da","encorepro","hw111n","gamecom","apu","voyager"],logitech:["h570","h820","h650","pro x"],sennheiser:["sc","mb","pc","sd","dect","g4me1","audio"],sony:["wh","wf","mdr"],bose:["qc","quiet","soundlink","soundsport","on-ear","nc"],beats:["fit","flex","power","solo","studio","mivi"],razer:["kraken","blackshark","barracuda","nari","hammerhead","opus"],yealink:["uh","wh","yh","cp"],soundcore:["life","liberty","spirit","strike"],addasound:["sr","epic"],jbl:["tune","quantum","live","wave","t450bt","c200","everest","c310"],epos:["impact","pc 8 usb","h3","adapt"],jlab:["go","bt","epic","studio"]};var lr=function(e){if("string"!=typeof e)return!1;let t=e.toLowerCase();for(let e=0;e<nr.length;e++){let i=nr[e];if(t.includes(i))return!0}let i=Object.keys(ur);for(let e=0;e<i.length;e++){let r=i[e];if(t.includes(r)){let e=ur[r];for(let i=0;i<e.length;i++)if(t.includes(e[i]))return!0}}let r=dr[0],a=dr[1],s=!1;for(let e=0;e<r.length;e++)if(t.includes(r[e])){s=!0;break}if(s)for(let e=0;e<a.length;e++)if(t.includes(a[e]))return!0;return!1};const cr=/\(\w+:\w+\)|,/gi;function hr(e,t){return e.kind===t.kind?e.deviceId===t.deviceId?0:e.deviceId>t.deviceId?1:-1:e.kind>t.kind?1:-1}function fr(){this._deviceList=null,this._deviceDetectTimer=null,this.addChangeListener(),this.enumDevices()}fr.prototype.init=function(){this.micId=null,this.micLabel=null,this.speakerId=null,this.speakerLabel=null,this.cameraId=null,this.cameraLabel=null,this.startTime=Date.now(),this.userId=0,this.videoWidth=0,this.videoHeight=0,this.audioBridge=!1,this.isUpdatingDevice=!1,this.denoiseSwitch=!1},fr.prototype.isSupportDeviceChange=function(){return!(g.default.isAndroidBrowser()&&!g.default.browser.isFirefox)},fr.prototype.addChangeListener=function(){var e,t,i,r;this.isSupportDeviceChange()?(null===(e=navigator.mediaDevices)||void 0===e||null===(t=e.removeEventListener)||void 0===t||t.call(e,"devicechange",this.enumDevices.bind(this)),null===(i=navigator.mediaDevices)||void 0===i||null===(r=i.addEventListener)||void 0===r||r.call(i,"devicechange",this.enumDevices.bind(this))):this.enableSelfDeviceDetect();this.checkPlatformNeedExtraSelfDetection()&&this.enableSelfDeviceDetect()},fr.prototype.checkPlatformNeedExtraSelfDetection=function(){return g.default.isIphoneOrIpadSafari()||g.default.isLinux()},fr.prototype.enableSelfDeviceDetect=function(){this.disableSelfDeviceDetect();this._deviceDetectTimer=setInterval(this.enumDevices.bind(this),3e3)},fr.prototype.disableSelfDeviceDetect=function(){this._deviceDetectTimer&&clearInterval(this._deviceDetectTimer)},fr.prototype.receiveABOptionForExtraDeviceDetect=function(e){if(0==e){if(!this.isSupportDeviceChange())return;this.checkPlatformNeedExtraSelfDetection()&&this.disableSelfDeviceDetect()}},fr.prototype.isDeviceChanged=function(e){let t=this._deviceList;if(null===t)return!0;if(e.length!=t.length)return!0;t.sort(hr),e.sort(hr);let i=0,r=0;for(;!(i>=e.length||r>=t.length);){if(t[r].deviceId!=e[i].deviceId)return!0;i++,r++}return!1},fr.prototype.enumDevices=function(){var e,t;let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===(e=navigator)||void 0===e||null===(e=e.mediaDevices)||void 0===e||null===(t=e.enumerateDevices)||void 0===t?void 0:t.call(e).then(e=>{this.isSupportDeviceChange()&&i?(T.default.Notify_APPUI_SAFE(a.DEVICE_CHANGE_EVENT,e),this.reportAudioAllMonitorLogs(e)):null==this._deviceList?this.reportAudioAllMonitorLogs(e):this.isDeviceChanged(e)&&(T.default.Notify_APPUI_SAFE(a.DEVICE_CHANGE_EVENT,e),this.reportAudioAllMonitorLogs(e)),this._deviceList=e}).catch(e=>{v.GlobalTracingLogger.error("MediaSDK catched error while enumerateDevice: ",e)})},fr.prototype.reportAudioAllMonitorLogs=function(e){e&&e.forEach(e=>{var t;if("audioinput"==e.kind)this.sendDeviceInfo(-1,1,this.getIndex(e.label),e.deviceId,null===(t=e.label)||void 0===t||null===(t=t.replace(cr,""))||void 0===t?void 0:t.trim(),!0);else if("audiooutput"==e.kind){var i;this.sendDeviceInfo(-1,0,this.getIndex(e.label),e.deviceId,null===(i=e.label)||void 0===i||null===(i=i.replace(cr,""))||void 0===i?void 0:i.trim(),!0)}})},fr.prototype.notifyDenoiseSetting=function(){if(g.default.isSupportAudioDenoise(!!this.audioBridge)&&this.micId)if(this.audioBridge)this.audioBridge.changeDenoiseSwitch(this.denoiseSwitch,pr.isHeadSet());else{Tt({command:"audio_denoise_switch",switch:this.denoiseSwitch,isHeadSet:pr.isHeadSet()})}},fr.prototype.hasOutputDevice=async function(e){if(""===e)return!0;let t=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"audiooutput"===e.kind);return 0!==t.length&&t.filter(t=>t.deviceId===e).length},fr.prototype.changeDenoiseSwitch=function(e){this.denoiseSwitch=e,this.notifyDenoiseSetting()},fr.prototype.setAudioBridge=function(e){this.audioBridge=e},fr.prototype.hasPermission=async function(e){try{return"granted"===(await navigator.permissions.query({name:e})).state}catch(t){let i=null;if("microphone"===e)i="audioinput";else{if("camera"!==e)return!1;i="videoinput"}return(await navigator.mediaDevices.enumerateDevices()).forEach(e=>{if(e.kind===i&&""===e.label)return!1}),!0}},fr.prototype.setUserId=function(e){if("number"!=typeof e||Number.isNaN(e))return;const t=this.userId>>10<<10==e>>10<<10;this.userId=e,t||this.reportAudioAllMonitorLogs(this._deviceList)},fr.prototype.updateSelectedMicDevices=function(e,t,i,r){var a;t=null===(a=t)||void 0===a||null===(a=a.replace(cr,""))||void 0===a?void 0:a.trim(),r&&(this.micId=e,this.micLabel=t),this.notifyDenoiseSetting(),this.sendDeviceInfo(i,1,this.getIndex(this.micLabel),e,t,r,this.isHeadSet())},fr.prototype.updateShareAudioDevices=function(e,t){this.sendDeviceInfo(0,2,0,e,t,!0,!1)},fr.prototype.updateSelectedSpeakerDevices=async function(e,t,i){e=e||"default";let r="default";(await navigator.mediaDevices.enumerateDevices()).forEach(t=>{var i;"audiooutput"===t.kind&&t.deviceId===e&&(r=null===(i=t.label)||void 0===i||null===(i=i.replace(cr,""))||void 0===i?void 0:i.trim())}),i&&(this.speakerId=e,this.speakerLabel=r),this.sendDeviceInfo(t,0,this.getIndex(this.speakerLabel),e,r,i,this.isHeadSet(!1))},fr.prototype.updateSelectedCameraDevices=function(e,t,i,r,a,s,o){var n;this.cameraId=e,this.cameraLabel=null==t||null===(n=t.replace(cr,""))||void 0===n?void 0:n.trim(),this.videoWidth=i,this.videoHeight=r,this.videoFrameRate=a,this.sendCameraInfo(s,o,a)},fr.prototype.isHeadSet=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=null;return t=e?this.micLabel:this.speakerLabel,lr(t)},fr.prototype.getIndex=function(e){return"default"==e?-1:"communications"==e?g.default.isMac()?0:-2:0},fr.prototype.sendDeviceInfo=function(e,t,i,r,s,o,n){if(!this.userId)return;let d=null,u=Date.now()-this.startTime;d=-1==e?"WCL_AUDIOD-ALL,"+this.userId+","+t+","+i+","+s+","+r+","+o+","+e+",7,"+u+",1":"WCL_AUDIOD,"+this.userId+","+t+","+i+","+s+","+r+","+o+","+e+",7,"+u+",1,"+(o?1:0)+","+n,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:d}})},fr.prototype.sendCameraInfo=function(e,t,i){if(!this.userId||this.isUpdatingDevice)return;let r=null;r="WCL_CAMERA,"+this.userId+",0,"+this.cameraLabel+","+t+","+e+","+"-1,"+this.videoWidth+","+this.videoHeight+","+"-1,"+i+","+-1,T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:r}})},fr.prototype.getMicId=function(){return this.micId},fr.prototype.getMicLabel=function(){return this.micLabel},fr.prototype.getSpeakerId=function(){return this.speakerId};let pr=new fr;var _r=pr;function mr(e,t){return"number"!=typeof e?0:parseFloat(e.toFixed(t)).toString()}class Er{static getReportKeyFromSSRC(e,t){if(e)return t.ssrc.toString()===e?s.REPORT_KEY_NORMAL:s.REPORT_KEY_SHARE}static isAudioSharing(e){return e&s.WEBRTC_SHARE_AUDIO_MODE}static remoteInboundRTPStatisticParse(e,t,i,r,a){let o=this.getReportKeyFromSSRC(e,t);o&&(o!=s.REPORT_KEY_SHARE||this.isAudioSharing(i))&&void 0!==t.roundTripTime&&(r[o]||(r[o]={}),r[o].rtt=Math.floor(1e3*t.roundTripTime))}static outboundRTPStatisticsParse(e,t,i,r,a){let o=this.getReportKeyFromSSRC(e,t);if(!o)return;if(o==s.REPORT_KEY_SHARE&&!this.isAudioSharing(i))return;r[o]||(r[o]={});const{timestamp:n,bytesSent:d,packetsSent:u,nackCount:l,retransmittedBytesSent:c,retransmittedPacketsSent:h,targetBitrate:f,totalPacketSendDelay:p}=t;a[o]||(a[o]={lastBytesSent:d,lastTimeStamp:n});const{lastTimeStamp:_,lastBytesSent:m}=a[o];r[o].bytesSentPerSecond=Math.floor(n-_?1e3*(d-m)/(n-_):0),r[o].packetsSent=u,r[o].nackCount=l,r[o].retransmittedBytesSent=c,r[o].retransmittedPacketsSent=h,r[o].targetBitrate=f/1e3+"k",Object.assign(a[o],{lastBytesSent:d,lastTimeStamp:n})}static outboundBitrateQosParse(e,t){let i=0;e.forEach(e=>{if("outbound-rtp"===e.type){const{bytesSent:r,timestamp:a}=e,{lastBytesSent:s,lastTimestamp:o}=t[e.ssrc]||{};r&&a&&s&&o&&(i+=this.calculateBitrates(s,o,r,a)),t[e.ssrc]={lastBytesSent:r,lastTimestamp:a}}}),t.bitrate=i.toFixed(1)}static inboundBitrateQosParse(e,t){let i=0;e.forEach(e=>{if("inbound-rtp"===e.type){const{bytesReceived:r,timestamp:a}=e,{lastBytesReceived:s,lastTimestamp:o}=t[e.ssrc]||{};r&&a&&s&&o&&(i+=this.calculateBitrates(s,o,r,a)),t[e.ssrc]={lastBytesReceived:r,lastTimestamp:a}}}),t.bitrate=i.toFixed(1)}static calculateBitrates(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return e===i||parseInt(t)===parseInt(r)?0:8e3*(i-e)/(r-t)}static mediaSourceStatisticsParse(e,t,i,r,a){var o;let n=t.trackIdentifier==(null==e||null===(o=e.getAudioTracks()[0])||void 0===o?void 0:o.id)?"NORMAL":"SHARE";if(!n)return;if(n==s.REPORT_KEY_SHARE&&!this.isAudioSharing(i))return;r[n]||(r[n]={});const{audioLevel:d,echoReturnLoss:u,echoReturnLossEnhancement:l,totalAudioEnergy:c,totalSamplesDuration:h}=t;r[n].audioLevel=mr(d,2),r[n].echoReturnLoss=u,r[n].echoReturnLossEnhancement=mr(l,2),r[n].totalAudioEnergy=mr(c,2),r[n].totalSamplesDuration=mr(h,1)}static networkInfoStatisticsParse(e,t,i,r,a){let s=0,o=null,n=null;if("candidate-pair"===t.type){const i=e.get(t.remoteCandidateId);t.selected&&i&&(s=i.port,o=i.protocol);const r=e.get(t.localCandidateId);t.selected&&r&&(n=r.candidateType)}else if("transport"===t.type&&t.selectedCandidatePairId){let i=e.get(t.selectedCandidatePairId);const r=e.get(i.remoteCandidateId);r&&(s=r.port,o=r.protocol);const a=e.get(i.localCandidateId);a&&(n=a.candidateType)}s&&o&&(s!==r.port||o!=r.protocol||n!=r.candidateType)&&(r.port=s,r.protocol=o,r.candidateType=n,v.default.directReport("".concat(a," port:").concat(s,", ").concat(a," protocol:").concat(o,", ").concat(a," localcandidateType:").concat(n)))}}const gr=(e,t)=>A.default.add_monitor("AB"+e);class Sr{constructor(e,t,i,r){this.audioId=e,this.audioTag=document.createElement("audio"),this.audioTag.id=e,this.audioTag.srcObject=t,this.audioTag.autoplay=!0,this.audioTag.controls=!1,this.pauseCB=r,this._listenHandlePlaying=this._listenHandlePlaying.bind(this),this._listenHandlePause=this._listenHandlePause.bind(this),this._listenHandleCanPlay=this._listenHandleCanPlay.bind(this),this._listenHandleError=this._listenHandleError.bind(this),this._addListener(),document.documentElement.appendChild(this.audioTag),this.setSpeakerDevicePromise(i).catch(e=>{})}destroy(){this._removeListener(),this.pause(),this.setStream(null),this.audioTag&&(this.audioTag.remove(),this.audioTag=null)}_addListener(){this.audioTag&&(this.audioTag.addEventListener("playing",this._listenHandlePlaying),this.audioTag.addEventListener("pause",this._listenHandlePause),this.audioTag.addEventListener("canplay",this._listenHandleCanPlay),this.audioTag.addEventListener("error",this._listenHandleError))}_removeListener(){this.audioTag&&(this.audioTag.removeEventListener("playing",this._listenHandlePlaying),this.audioTag.removeEventListener("pause",this._listenHandlePause),this.audioTag.removeEventListener("canplay",this._listenHandleCanPlay),this.audioTag.removeEventListener("error",this._listenHandleError))}_listenHandlePlaying(){gr("ASP:"+this.audioId)}_listenHandlePause(){gr("APP:"+this.audioId),"function"==typeof this.pauseCB&&this.pauseCB.call()}_listenHandleCanPlay(){gr("ACP:"+this.audioId)}_listenHandleError(e){gr("APE:"+this.audioId+"-"+(null==e?void 0:e.code)),v.default.error("RTCAudioPlayer tag error: ",e)}isPaused(){return this.audioTag?this.audioTag.paused:void 0}isMuted(){return this.audioTag?this.audioTag.muted:void 0}isSupportSetSpeakerDevice(){var e;return!(null===(e=this.audioTag)||void 0===e||!e.setSinkId)}setStream(e){this.audioTag&&this.audioTag.srcObject!=e&&(this.audioTag.srcObject=e)}play(){return this.audioTag&&this.audioTag.play()}pause(){return this.audioTag&&this.audioTag.pause()}mute(){this.audioTag&&(this.audioTag.muted=!0)}unmute(){this.audioTag&&(this.audioTag.muted=!1)}setVolume(e){const t=Math.min(Math.max(0,e),100)/100;this.audioTag&&(this.audioTag.volume=t)}setSpeakerDevicePromise(e){return new Promise((t,i)=>this.audioTag&&this.isSupportSetSpeakerDevice()&&e?this.audioTag.sinkId==e?t():void this.audioTag.setSinkId(e).then(t).catch(e=>{v.default.error("Error when setting sink of audio player",e),i(e)}):t())}}const vr=(e,t)=>A.default.add_monitor("AB"+e),Cr=(()=>{let e=[],t={},i=Date.now();return r=>{if(r.onlyAudioLevel)t[r.key]||(t[r.key]=[]),t[r.key].push(r.audioLevel);else if(Object.keys(t).forEach(e=>{r.ssrcMap[e]&&(r.ssrcMap[e].zoomAudioLevel=t[e])}),t={},e.push(r),Date.now()-i>14e3){let r=e.reduce((t,i,r)=>{const{rtt:a,ssrcMap:s}=i;let o="";return Object.keys(s).forEach((t,i,n)=>{const{aveAudioLevel:d,audioLevel:u,jitter:l,zoomAudioLevel:c,jitterBufferMinimumDelay:h,concealedSamples:f,concealmentEvents:p,insertedSamplesForDeceleration_in_5s:_,removedSamplesForAcceleration:m,silentConcealedSamples:E,audioPlayerStatus:g,totalAudioEnergy:S,aveJitterBufferDelay_ms:v,aveJitterBuffeTargetrDelay_ms:C,avePacketsReceived_in_s:A,aveBytesReceived_in_s:R,totalProcessingDelay_in_5s:T,packetsDiscarded_in_5s:I,packetsLost_in_5s:b}=s[t];o+="".concat(void 0===a?"":a,"|{[SSRCLOG]}|{").concat(t,"}|").concat(g,"|").concat(S.toFixed(4),"|").concat(c.join(""),"|").concat(tr(Number(u)),"|").concat(tr(Number(d)),"|").concat(1e3*l,"|").concat(v,"|").concat(C,"|").concat(b,"|").concat(A,"|").concat(R,"|").concat(h,"|").concat(I,"|").concat(f,"|").concat(p,"|").concat(_,"|").concat(m,"|").concat(E,"|").concat(T),r===e.length-1&&i===n.length-1||(o+="#")}),t+o},"WCL_AB,{[DOWNLINK]},");i=Date.now(),r+=",{[END]}",T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:r}}),t={},e=[]}}})(),Ar=(()=>{let e=[],t=Date.now();return i=>{if(e.push(i),Date.now()-t>14e3){let i="",r="";const s=e.reduce((t,a,s)=>{let o="";return Object.keys(a).forEach((e,t,s)=>{const{rtt:n="",bytesSentPerSecond:d,packetsSent:u,audioLevelR16Str:l="",audioLevelR16DenoiseStr:c="",targetBitrate:h="",nackCount:f="",retransmittedBytesSent:p="",retransmittedPacketsSent:_="",audioLevel:m="",echoReturnLoss:E="",echoReturnLossEnhancement:g="",totalAudioEnergy:S="",totalSamplesDuration:v=""}=a[e];i+=l,r+=c||l,o+="{".concat(e,"}").concat(n,"|").concat(d,"|").concat(u,"|").concat(h,"|").concat(f,"|").concat(p,"|").concat(_,"|").concat(m,"|").concat(E,"|").concat(g,"|").concat(S,"|").concat(v)}),s===e.length-1?o+=",{[SPEECH_R16]},".concat(i,",").concat(r,",{[END]}"):o+="#",t+o},"WCL_AB,{[UPLINK]},");t=Date.now(),T.default.sendMessageToRwg(a.MONITOR_LOG,{evt:a.RWG_MONITOR_LOG_EVENT,seq:1,body:{data:s}}),e=[]}}})(),Rr={bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",sdpSemantics:"unified-plan",iceServers:[],iceTransportPolicy:"all"};class Tr{constructor(e,t,i,r,a,o,n,d){this.callback=n,this.onlyCheck=d,this.publisherCandidate=[],this.subscriberCandidate=[],this.retry=0,this.retryPublish=0,this.cid=e,this.wsUrl=t,this.audioPlayerMap=new Map,this.isRetrying=!1,this.recvOnly=!!i,this.audioStream=null,this.shareAudioStream=null,this.monitorTimer=null,this.audioReportCount=0,this.monitorTimerDuration=1e3,this.monitorInfo={subscriber:{},publisher:{}},this.bitrateInfo={subscriber:{},publisher:{}},this.muted=!1,this.audioMuteStatus=new Map,this.ssrcUserIdMap=new Map,this.published=!1,this.joinAudioAfterConnect=!1,this.audioMode=s.WEBRTC_NO_AUDIO_MODE,this.codecDoAVSync=!!r,this.normalAudioMap=new Map,this.shareAudioMap=new Map,this.audioProfile=s.ORIGINAL_SOUND_OFF,this.syncTimer=null,o&&!this.onlyCheck&&(this.webRTCWorkletManager=new or(this.setNormalAudioStream.bind(this),o)),this.hasPaused=!1,this.recoverAfter1s=null,this.useWebRTCOnDesktop=a,this.receiveAudioStatus=new Map,document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&this.playAllRemoteAudio()}),this.isMutedBySystem=!1,this.leaveTime=0,this.noPacketsCount=0,this.lastSentPackets=0,this.useIceServers=!1,this.iceServers=[],this.isAudioSentBytesZero=!1,this.audioSpeakerSetErrorCnt=0}setIceServers(e){this.iceServers=e||[]}setUseIceServers(e){this.useIceServers=e}playAllRemoteAudio(){if(this.isMutedBySystem)return;if(!this.hasPaused||!this.audioMode)return;let e=Array.from(this.audioPlayerMap.values()).map(e=>{if(e.isPaused())return e.play()});Promise.all(e).then(()=>{this.hasPaused=!1}).catch(e=>{this.hasPaused=!0,vr("REA"),this.notifyUIMessage(a.RECOVER_WEBRTC_AUDIO),v.default.error("Error when playAllRemoteAudio: ",e)})}async reconnect(e){if(!this.isRetrying&&!this.isDestroyed){if(this.stopAVSyncTimer(),this.stopAudioQualityMonitorTimer(),this.destroySocketAndWebRtcConnect(!0),this.retry>=3)return this.isRetrying=!1,v.default.error("Audio Bridge failed to reconnect",e),void this.notifyUIMessage(a.WCL_SIP_WEBSOCKET_CONNECT_ERROR);this.isRetrying=!0,await g.default.sleep(3e3),this.isDestroyed||(vr("JOIN"+this.retry),this.retry++,this.notifyUIMessage(a.WCL_AUDIO_BRIDGE_RECONNECT_START),await this.join(!0),this.isRetrying=!1)}}async join(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.WEBRTC_NO_AUDIO_MODE;if(i===s.WEBRTC_COMMPUTER_AUDIO_MODE)try{var r,o,n;this.cleanUserEventListener||(this.cleanUserEventListener=Object(g.addUserEventListener)(this.playAllRemoteAudio.bind(this))),null===(r=this.webRTCWorkletManager)||void 0===r||r.createWebRTCWorklet(this.workletPath),null===(o=this.webRTCWorkletManager)||void 0===o||o.changeAudioStatus(!1,!1),null===(n=this.webRTCWorkletManager)||void 0===n||n.startCheckProcess()}catch(e){v.default.error("Error when creating webRTCWorklet",e)}if(this.audioMode=this.audioMode|i,this.signal){var d;if(i!=s.WEBRTC_NO_AUDIO_MODE)this.startAVSyncTimer(),this.startAudioQualityMonitorTimer(),(null===(d=this.signal.socket)||void 0===d?void 0:d.readyState)===WebSocket.OPEN&&this.signal.notify("audiostatus",{status:this.audioMode});return void(i===s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.unmuteAllRemoteAudio())}if(!e&&this.isRetrying)return void this.destroySocketAndWebRtcConnect(e);this.destroySocketAndWebRtcConnect(e),this.signal=new br,this.audioMode&&this.startAVSyncTimer();try{let e;t?e=t:(vr("RTK"),T.default.sendMessageToRwg(a.REQUEST_AUDIO_BRIDGE_TOKEN,{evt:a.WS_CONF_AB_TOKEN_REQ},!1),e=await this.waitForTokenFromRWG(a.PUBSUB_EVT.AUDIO_BRIDGE_WS_TOKEN),vr("TK")),this.signal.init("".concat(this.wsUrl,"&token=").concat(e,"&").concat(this.onlyCheck?"prob=1":"prob=0"))}catch(e){this.reconnect(e)}this.signal.onopen(async e=>{this.audioMode&&(this.signal.notify("audiostatus",{status:this.audioMode}),this.startAudioQualityMonitorTimer()),this.isOpen=!0,this.retryPublish=0,this.clearAudioPlayerMap(),await this.publish(),this.retry=0,this.audioMode&&this.notifyUIMessage(a.WCL_AUDIO_BRIDGE_RECONNECT_END)}),this.signal.onclose(e=>{!this.audioMode&&Date.now()-this.leaveTime>=15e3?(this.signal.destroy(),this.signal=null,this.reconnect(e)):(v.default.error("socket close, notify UI failover: "+s.WS_CLOSE_FAILOVER),this.notifyUIMessage(a.NOTIFY_UI_FAILOVER,s.WS_CLOSE_FAILOVER))}),this.signal.onerror(e=>{this.isOpen||v.default.error("Audio Bridge WebSocket open error"),!this.audioMode&&Date.now()-this.leaveTime>=15e3?(this.signal.destroy(),this.signal=null,this.reconnect(e)):(v.default.error("socket error, notify UI failover: "+s.WS_ERROR_FAILOVER),Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER,s.WS_ERROR_FAILOVER))}),this.signal.onmessage(e=>{if("closing"===e.method){let t=e.params.reason;return t===s.PUBLISHER_ICEConnectionState_Failed?(t="0"+(this.publisher.firstConnected?"1":"0"),T.default.peerConnectionCannotConnectTimes++):t===s.SUBSCRIBER_ICEConnectionState_Failed&&(t="1"+(this.subscriber.firstConnected?"1":"0"),T.default.peerConnectionCannotConnectTimes++),"00"!==t&&"10"!==t||!this.iceServers.length||this.useIceServers?(v.default.error("received closing from audioBridge, notify UI failover: "+t),T.default.peerConnectionCannotConnectTimes<=5?this.notifyUIMessage(a.NOTIFY_UI_FAILOVER,t):v.default.error("peerConnection cannot connect to audioBridge over 5 times"),this.callback("updateConnectionResult","00"!==t&&"10"!==t),this.callback("destroy"),!0):(this.setUseIceServers(!0),this.reconnect(t),!0)}if("qos"===e.method){let t=e.params;return t.encoding=t.encoding===parseInt(R.f.AUDIO_ENCODE),t.sample_rate=48,t.rate=t.encoding?this.bitrateInfo.publisher.bitrate:this.bitrateInfo.subscriber.bitrate,this.notifyUIMessage(a.AUDIO_QOS_DATA,t),!0}return!1}),this.signal.notifyUImessage(this.notifyUIMessage.bind(this)),this.signal.on_notify("command",e=>{const{data:t}=e||{};if(t)try{const e=JSON.parse(t),{evt:i}=e||{};i===a.WS_CONF_END_INDICATION&&this.destroy(!1)}catch(e){}}),this.signal.UpdateNTP=(e,t,i,r)=>{if(this.useWebRTCOnDesktop&&this.codecDoAVSync){let t=new ArrayBuffer(16),r=e.toString(2),a=parseInt(r.substring(0,r.length-32),2),s=parseInt(r.substring(r.length-32,r.length),2),o=new DataView(t);o.setUint32(0,i,!0),o.setUint32(4,s,!0),o.setUint32(8,a,!0),o.setUint32(12,Date.now(),!0),gt({command:"audioDecodeTime",status:1,data:new Uint8Array(t)})}else 512&i?this.shareAudioMap.set(i>>10,{ntptime:e,rtptime:t,abssrc:r}):this.normalAudioMap.set(i>>10,{ntptime:e,rtptime:t,abssrc:r})},this.publisher&&this.removeAudioSender();let u=Object.assign({},Rr);this.useIceServers&&(v.default.directReport("AB_USE_TURN"),u.iceServers=this.iceServers),this.publisher=new RTCPeerConnection(u),this.subscriber=new RTCPeerConnection(u),this.normalAudioSender=null,this.shareAudioSender=null,this.publisher.addTransceiver("audio",{direction:"sendrecv"}),this.publisher.addTransceiver("audio",{direction:"sendrecv"}),this.signal.onOffer=async e=>{vr("RERSDP"),this.updateSsrcUserIdMap(e),await this.subscriber.setRemoteDescription(e),this.subscriberCandidate.forEach(e=>this.subscriber.addIceCandidate(e)),this.subscriberCandidate=[];const t=await this.subscriber.createAnswer();t.sdp=this.updateSdpCodecParameters(t.sdp,"opus",new Map([["stereo",{value:1,operater:"add"}]])),await this.subscriber.setLocalDescription(t),vr("RELSDP"),await this.rpc("answer",{desc:t})},this.signal.onTrickle=async(e,t)=>{0==t?null!=this.subscriber.remoteDescription?(vr("RERICE"),this.subscriber.addIceCandidate(e)):(vr("RERICEF"),this.subscriberCandidate.push(e)):1==t?null!=this.publisher.remoteDescription?(vr("SERICE"),this.publisher.addIceCandidate(e)):(vr("SERICEF"),this.publisherCandidate.push(e)):v.default.error("Audio Bridge onTrickle error: role: ".concat(t,", candidate: ").concat(e))},this.publisher.onicecandidate=e=>{let{candidate:t}=e;vr("SELICE"),this.signal.notify("trickle",{candidate:t,role:1})},this.publisher.onconnectionstatechange=()=>{vr("PCSC:"+this.publisher.connectionState),this.publisher&&("disconnected"===this.publisher.connectionState?setTimeout(()=>{this.publisher&&"disconnected"===this.publisher.connectionState&&(Object(J.NotifyUIError)(a.MEDIA_RECONNECT,{mediaType:"audio"}),this.publish(!0))},5e3):"connected"===this.publisher.connectionState&&(T.default.peerConnectionCannotConnectTimes=0,this.changeSDPAfterConnect&&(this.changeSDPAfterConnect=!1,this.resetOfferandAnswer()),this.notifyUIMessage(a.MEDIA_CONNECTED,{mediaType:"audio"}),this.publisher.firstConnected||(this.publisher.firstConnected=!0,this.notifyUIMessage(a.AUDIO_BRIDGE_CAN_SEND_DATA),this.subscriber.firstConnected&&this.callback("updateConnectionResult",!0))))},this.subscriber.onicecandidate=e=>{let{candidate:t}=e;vr("RELICE"),this.signal.notify("trickle",{candidate:t,role:0})},this.subscriber.ontrack=e=>{vr("REVT");const t=e.streams[0],i=decodeURIComponent(t.id),r="ab-audio-"+i;e.track.onunmute=()=>{this.hasPaused=!0;let e=this.audioPlayerMap.get(i);e?e.setStream(t):(e=new Sr(r,t,_r.speakerId,()=>{this.hasPaused=!0,"visible"===document.visibilityState&&null===this.recoverAfter1s&&(this.recoverAfter1s=setTimeout(()=>{this.recoverAfter1s=null,this.playAllRemoteAudio()},1e3))}),this.audioPlayerMap.set(i,e)),"visible"===document.visibilityState&&null===this.recoverAfter1s&&(this.recoverAfter1s=setTimeout(()=>{this.recoverAfter1s=null,this.playAllRemoteAudio()},1e3)),this.receiveAudioStatus.forEach((e,t)=>{this.setShareVolumeLevel(t/10,e.volume,e.isFromMainSession,!1)}),this.isDestroyed&&e.mute(),vr("REVTP")},e.track.onmute=()=>{vr("REVTM");const e=this.audioPlayerMap.get(i);e&&e.destroy(),this.audioPlayerMap.delete(i)}},this.subscriber.onconnectionstatechange=()=>{var e;if(vr("SCSC:"+this.subscriber.connectionState),"connected"===(null===(e=this.subscriber)||void 0===e?void 0:e.connectionState)){if(T.default.peerConnectionCannotConnectTimes=0,this.notifyUIMessage(a.MEDIA_CONNECTED,{mediaType:"audio"}),this.subscriber.firstConnected)return;this.subscriber.firstConnected=!0,this.notifyUIMessage(a.AUDIO_BRIDGE_FIRST_RECV_DATA),this.publisher.firstConnected&&this.callback("updateConnectionResult",!0)}}}notifyUIMessage(e,t){!this.onlyCheck&&T.default.Notify_APPUI&&T.default.Notify_APPUI(e,t)}async enableShareToBO(e){let t=null;try{t=await this.rpc("Enable_Share_To_BO",{enable:e})}catch(e){v.default.error("Error when enable share to BO",e)}t&&2==t.length?this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_SHARE_TO_BO_SUCCESS,{enable:t[1].enable}):this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_SHARE_TO_BO_FAILURE,{enable:e})}async enableBroadCastToBO(e){let t=null;try{t=await this.rpc("Enable_Broadcast_To_BO",{enable:e})}catch(e){v.default.error("Error when enable broadcast to bo",e)}t&&2==t.length?this.notifyUIMessage(a.AUDIOBRIDGE_ENABLE_BROADCAST_TO_BO_SUCCESS,{enable:t[1].enable}):this.notifyUIMessage(a.AUDIOBRIDGE_EBABLE_BROADCAST_TO_BO_FAILURE,{enable:e})}leaveAudioWithoutDisconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.WEBRTC_NO_AUDIO_MODE;var t,i;(this.audioMode=this.audioMode&~e,this.signal&&this.signal.notify("audiostatus",{status:this.audioMode}),e===s.WEBRTC_COMMPUTER_AUDIO_MODE)?(this.setNormalAudioStream(null),this.muteAllRemoteAudio(),this.cleanUserEventListener&&(this.cleanUserEventListener(),this.cleanUserEventListener=null),this.muted=!1,null===(t=this.webRTCWorkletManager)||void 0===t||t.changeAudioStatus(!1,!0),null===(i=this.webRTCWorkletManager)||void 0===i||i.stopCheckProcess()):e===s.WEBRTC_SHARE_AUDIO_MODE&&this.setShareAudioStream(null);this.audioMode===s.WEBRTC_NO_AUDIO_MODE&&(this.leaveTime=Date.now(),this.stopAudioQualityMonitorTimer(),this.stopAVSyncTimer())}async rpc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(this.isDestroyed)return v.default.error("audioBridge instance is destroyed, method ".concat(e)),"";try{return this.signal?this.signal.call(e,t):(v.default.error("Audio Bridge RPC error: signal is not available,method: ".concat(e)),"")}catch(i){return v.default.error("Audio Bridge RPC error: method: ".concat(e,", params: ").concat(t),i),""}}async publish(e){if(!this.publisher||!this.isOpen)return;if(e){if(this.retryPublish>=3)return;this.retryPublish++}if(!e){if(this.published)return;this.published=!0}let t=await this.publisher.createOffer({iceRestart:!!e});t.sdp=this.changeOfferSDP(t.sdp),await this.publisher.setLocalDescription(t),this.uid||e||(this.uid=Ir()),vr("SELSDP");const i=await(e?this.rpc("offer",{desc:this.publisher.localDescription}):this.rpc("join",{uid:this.uid,offer:this.publisher.localDescription}));if(i&&2===i.length){const e=i[1];if("answer"===e.type){vr("SERSDP"),e.sdp=this.changeOfferSDP(e.sdp),this.publisherAnswer=e,await this.publisher.setRemoteDescription(e);let t=this.publisher.getTransceivers();1===t.length?this.normalAudioSender=t[0].sender:2==t.length&&(t[0].mid<t[1].mid?(this.normalAudioSender=t[0].sender,this.shareAudioSender=t[1].sender):(this.normalAudioSender=t[1].sender,this.shareAudioSender=t[0].sender)),this.setNormalAudioStream(this.audioStream),this.setShareAudioStream(this.shareAudioStream),this.publisherCandidate.forEach(e=>{this.publisher.addIceCandidate(e),vr("SERICE")}),this.publisherCandidate=[]}}}async resetOfferandAnswer(){let e=await this.publisher.createOffer();if(e.sdp=this.changeOfferSDP(e.sdp),this.publisherAnswer)return await this.publisher.setLocalDescription(e),this.publisherAnswer.sdp=this.changeOfferSDP(this.publisherAnswer.sdp),await this.publisher.setRemoteDescription(this.publisherAnswer),void this.rpc("Set_AudioProfile",{audioProfile:this.audioProfile});v.default.log("publisher answer is null when reset offer and answer")}waitForTokenFromRWG(e){return new Promise((t,i)=>{C.a.on(e,(e,i)=>{t(i)})})}updateSdpCodecParameters(e,t,i){try{let r=[];const a=e.split("\r\n"),s=new RegExp("^a=rtpmap:([0-9]+) ".concat(t,"/"));for(let e=0;e<a.length;e++){let t=a[e].match(s);t&&r.push(t[1])}if(r.length)for(let e=0;e<a.length;e++){let t=r.reduce((t,i)=>a[e].match(new RegExp("^a=fmtp:".concat(i," (.*)")))||t,null);if(t){const r=new Map(t[1].split(";").map(e=>e.split("=")));i.forEach((e,t)=>{"add"===e.operater?r.set(t,e.value):"sub"===e.operater&&r.delete(t)});let s=a[e].match(/a=fmtp:(\d+)/)[0]+" ";for(const[e,t]of r)s+="".concat(e,"=").concat(t,";");s=s.slice(0,s.length-1),a[e]=s}}return a.join("\r\n")}catch(t){return v.default.error("Error when updateSdpCodecParameters",t),e}}changeOfferSDP(e){try{let t=e.split("m="),i=0,r=[];for(let e=1;e<t.length;e++){if(0===t[e].indexOf("audio")){i++;let a=t[e].match(/a=mid:(\d+)/);a&&r.push(a[1])}t[e]="m="+t[e]}if(1===i)return e=this.updateSdpCodecParameters(e,"opus",s.AudioProfile[this.audioProfile]);if(2!==i||2!=r.length)return v.default.error("Audio line invalid: "+i),v.default.error("mid line length invalid: "+r.length),e;let a="";for(let e=0;e<t.length;e++){if(t[e].startsWith("m=audio"))if(-1!=t[e].indexOf("mid:"+Math.min(r[0],r[1]))){if(t[e]=this.updateSdpCodecParameters(t[e],"opus",s.AudioProfile[this.audioProfile]),-1===t[e].indexOf("cname:Normal")){t[e]=t[e].replace(/a=ssrc:(.+) cname:/,"a=ssrc:$1 cname:Normal+");let i=t[e].match(/a=ssrc:(.+) cname:/);i&&i[1]&&(this.normalAudioSSRC=i[1])}}else t[e].indexOf("mid:"+Math.min(r[0],r[1]))&&(t[e]=this.updateSdpCodecParameters(t[e],"opus",s.AudioProfile[s.SHARE_AUDIO]),-1===t[e].indexOf("cname:Share")&&(t[e]=t[e].replace(/a=ssrc:(.+) cname:/,"a=ssrc:$1 cname:Share+")));a+=t[e]}return a}catch(t){return v.default.error("Error when changeOfferSDP",t),e}}setRecvOnly(e,t){this.recvOnly=!!e,this.recvOnly?this.setNormalAudioStream(null):t&&this.setNormalAudioStream(t)}setCodecDoAVSync(e){this.codecDoAVSync=e}setNormalAudioStream(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(this.recvOnly?this.audioStream=null:this.audioStream=e,this.webRTCWorkletManager&&this.webRTCWorkletManager.setAudioStream(this.audioStream));let t=e;this.webRTCWorkletManager&&(t=this.webRTCWorkletManager.getAudioStream()),e&&(this.muted?this.mute():this.unmute()),this.publishAudioStream(t,this.normalAudioSender,"PAT")}setShareAudioStream(e){this.shareAudioStream=e,this.publishAudioStream(this.shareAudioStream,this.shareAudioSender,"PAST")}publishAudioStream(e,t,i){this.isDestroyed||(t?e?e.getAudioTracks().forEach(e=>{v.default.log("publish track label: "+e.label),vr("".concat(i,"-").concat(e.id)),t.replaceTrack(e).catch(t=>{vr("".concat(i,"-Failed-").concat(e.id)),v.default.error("error publishing audio stream",t)})}):(t.replaceTrack(null),vr("".concat(i,"-null"))):vr(i+"SE "))}mute(){var e;(this.muted=!0,this.audioStream)&&(vr("SEVTP"),this.audioStream.getAudioTracks().forEach(e=>{e.enabled=!1}),null===(e=this.webRTCWorkletManager)||void 0===e||e.changeAudioStatus(!0,!1))}unmute(){var e;(this.muted=!1,this.audioStream)&&(vr("SEVTM"),this.audioStream.getAudioTracks().forEach(e=>{e.enabled=!0}),null===(e=this.webRTCWorkletManager)||void 0===e||e.changeAudioStatus(!1,!1))}stopIncomingAudio(e){e?this.muteAllRemoteAudio():this.unmuteAllRemoteAudio()}muteAllRemoteAudio(){for(const[e,t]of this.audioPlayerMap)t.mute()}unmuteAllRemoteAudio(){for(const[e,t]of this.audioPlayerMap)t.unmute();this.playAllRemoteAudio()}setSpeechVolumeLevel(e,t){for(const[i,r]of this.audioPlayerMap){if(-1!==i.indexOf("OS"))continue;const a=Number(i.split("+")[0]||"0"),s=Number.isNaN(a)||!a?null:a>>10<<10;if(s&&s===e>>10<<10){r.setVolume(t);break}}}async changeSpeaker(e){let t=!0,i="",r=Date.now(),s=[];for(const[r,a]of this.audioPlayerMap){if(!1===a.isSupportSetSpeakerDevice()){t=!1,i="audioplayer.setSinkId is not supported on your device";break}let r=a.setSpeakerDevicePromise(e);s.push(r)}try{await Promise.all(s)}catch(e){t=!1,i="Error when setting sink of audio player: "+e.message}if(t)this.audioSpeakerSetErrorCnt=0,this.notifyUIMessage(a.AUDIO_SPEAKER_SET_SUCCESS,e||"default");else{this.audioSpeakerSetErrorCnt++;let e=_r.getSpeakerId();v.default.error("setSinkId failed ".concat(this.audioSpeakerSetErrorCnt," times, current speaker ").concat(e,", reason = ").concat(i)),this.audioSpeakerSetErrorCnt<=3&&this.notifyUIMessage(a.AUDIO_SPEAKER_SET_ERROR,{reason:i,currentSink:e})}_r.updateSelectedSpeakerDevices(e,Date.now()-r,t)}setShareVolumeLevel(e,t,i){(!(arguments.length>3&&void 0!==arguments[3])||arguments[3])&&this.receiveAudioStatus.set(10*e+(i?1:0),{volume:t,isFromMainSession:i});let r=i?/(\d+)\+OS/:/(\d+)\+CS/;for(const[i,a]of this.audioPlayerMap){let s=i.match(r);s&&s.length>=2&&s[1]>>10===e&&512&s[1]&&(t?a.unmute():a.mute())}}async set_CC_lang(e){let t=null;try{t=await this.rpc("set_CC_lang",{lang:e})}catch(e){v.default.error("error when setting language",e)}t&&2===t.length?this.notifyUIMessage(a.AUDIOBRIDGE_SET_CC_LANG_SUCCESS,t[1].lang):this.notifyUIMessage(a.AUDIOBRIDGE_SET_CC_LANG_FAILURE,e)}updateSsrcUserIdMap(e){if(e){const{sdp:t=""}=e,i=t.match(/a=ssrc:(.+) cname:(.+)/g);i&&i.forEach(e=>{const t=e.match(/a=ssrc:(.+) cname:(.+)/);if(t&&t[1]&&t[2]){const e=Number(t[2].split("+")[0]||"0"),i=Number.isNaN(e)||!e?null:e>>10<<10,r=Number(t[1]);this.ssrcUserIdMap.set(r,i)}})}}updateUserMuteUnmuteStatus(e){const{update:t,remove:i}=e;t&&t.length>0&&t.forEach(e=>{const{userId:t,muted:i}=e;t&&this.audioMuteStatus.set(t>>10<<10,!!i)}),i&&i.length>0&&i.forEach(e=>{const{userId:t}=e;t&&this.audioMuteStatus.set(t>>10<<10,!0)})}isUserMuted(e){const t=this.ssrcUserIdMap.get(e);if(!t)return!1;const i=this.audioMuteStatus.get(t);return void 0!==i&&!!i}async setAudioProfile(e){if(this.audioMode!==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioMode!=s.WEBRTC_MULTI_AUDIO_MODE)return;let t=this.audioProfile;"backgroundNoiseSuppression"===e.currentSelect?(e.highBitrate?this.audioProfile=s.ORIGINAL_SOUND_OFF_HIGH_BITRATE:this.audioProfile=s.ORIGINAL_SOUND_OFF,_r.changeDenoiseSwitch("Zoom"===e.backgroundNoiseSuppression)):(_r.changeDenoiseSwitch(!1),e.originalSound.highfidelity&&e.originalSound.stereo?this.audioProfile=s.ORIGINAL_SOUND_HIGHFIDELITY_STEREO:e.originalSound.highfidelity?this.audioProfile=s.ORIGINAL_SOUND_HIGHFIDELITY:e.originalSound.stereo?this.audioProfile=s.ORIGINAL_SOUND_STEREO:this.audioProfile=s.ORIGINAL_SOUND_ON),t!==this.audioProfile&&(this.publisher&&"connected"===this.publisher.connectionState?await this.resetOfferandAnswer():this.changeSDPAfterConnect=!0)}clearAudioPlayerMap(){this.muteAllRemoteAudio();for(const[e,t]of this.audioPlayerMap)t.destroy();this.audioPlayerMap.clear(),this.audioMuteStatus.clear()}getAudioPlayer(e){let t=(2+(parseInt(e)>>10<<10)).toString();if(t)for(const[e,i]of this.audioPlayerMap)if(e.includes(t))return this.audioPlayerMap.get(e)}removeAudioSender(){this.normalAudioSender&&(this.publisher.removeTrack(this.normalAudioSender),this.normalAudioSender=null),this.shareAudioSender&&(this.publisher.removeTrack(this.shareAudioSender),this.shareAudioSender=null)}destroySocketAndWebRtcConnect(e){this.published=!1;try{this.removeAudioSender()}catch(e){}this.publisher&&(this.publisher.close(),this.publisher=null),this.subscriber&&(this.subscriber.close(),this.subscriber=null),this.isOpen=!1,e||(this.retry=0),this.retryPublish=0,this.signal&&(this.signal.destroy(),this.signal=null),this.ssrcUserIdMap.clear()}destroy(){vr("DS"),this.isDestroyed=!0,this.cleanUserEventListener&&(this.cleanUserEventListener(),this.cleanUserEventListener=null),this.stopAudioQualityMonitorTimer(),this.stopAVSyncTimer(),this.webRTCWorkletManager&&(this.webRTCWorkletManager.destroy(),this.webRTCWorkletManager=null),this.setNormalAudioStream(null),this.setShareAudioStream(null),this.clearAudioPlayerMap(),this.destroySocketAndWebRtcConnect(),this.recvOnly=!1}startAudioQualityMonitorTimer(){this.audioReportCount=0,this.stopAudioQualityMonitorTimer(),this.monitorTimer=setInterval(()=>{this._publisherStatsParse(this.audioReportCount),this._subscriberStatsParse(this.audioReportCount),this.audioReportCount++},this.monitorTimerDuration)}stopAudioQualityMonitorTimer(){var e,t,i,r,a,s;this.monitorTimer&&(clearInterval(this.monitorTimer),this.monitorTimer=null,this.audioReportCount=0,this.monitorInfo={subscriber:{port:null===(e=this.monitorInfo)||void 0===e||null===(e=e.subscriber)||void 0===e?void 0:e.port,protocol:null===(t=this.monitorInfo)||void 0===t||null===(t=t.subscriber)||void 0===t?void 0:t.protocol,candidateType:null===(i=this.monitorInfo)||void 0===i||null===(i=i.subscriber)||void 0===i?void 0:i.candidateType},publisher:{port:null===(r=this.monitorInfo)||void 0===r||null===(r=r.publisher)||void 0===r?void 0:r.port,protocol:null===(a=this.monitorInfo)||void 0===a||null===(a=a.publisher)||void 0===a?void 0:a.protocol,candidateType:null===(s=this.monitorInfo)||void 0===s||null===(s=s.publisher)||void 0===s?void 0:s.candidateType}},this.bitrateInfo={publisher:{},subscriber:{}})}publishStream(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.setShareAudioStream(e):this.setNormalAudioStream(e),new Promise((e,t)=>{this.published?e(!0):this.publish().then(()=>{e(!1)})})}stopAVSyncTimer(){this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null)}syncSingleView(e,t){let i=0;if(t){let e=parseInt(t).toString(2),r=e.substring(0,e.length-32),a=e.substring(e.length-32,e.length);r=parseInt(r,2),a=parseInt(a,2),i=1e3*r+232.8*a/1e9}0==T.default.mediaSDKHandle.RenderInMain?e?At({command:"audioTimestamp",data:i}):gt({command:"audioDecodeTime",status:0,data:i}):e?T.default.mediaSDKHandle.SharingRenderObj&&T.default.mediaSDKHandle.SharingRenderObj.SetcATimeStamp(i):T.default.CurrentSSRCTime!=i&&(T.default.CurrentSSRCTime=i,T.default.audioPlayTime=Date.now())}startAVSyncTimer(){this.stopAVSyncTimer(),this.syncTimer=setInterval(()=>{if(!this.subscriber)return;let e=0;this.subscriber.getReceivers().forEach(t=>{t.getSynchronizationSources().forEach(t=>{e++;let i=this.ssrcUserIdMap.get(t.source),r=null,a=!1;if(r=this.shareAudioMap.get(i>>10),r&&r.abssrc===t.source?a=!0:r=this.normalAudioMap.get(i>>10),r){let e=r.ntptime,s=r.rtptime,o=e+(t.rtpTimestamp-s)*Math.pow(2,32)/48e3;this.codecDoAVSync||i>>10!=T.default.CurrentSSRC>>10&&!a||t.source===r.abssrc&&this.syncSingleView(a,o)}})}),0===e&&(this.syncSingleView(!1,0),this.syncSingleView(!0,0))},500)}async _publisherStatsParse(e){var t,i;const r=!(e%5),a=this.showQos&&!(e%1);if(!this.publisher)return;if(!r&&!a)return;const o=await this.publisher.getStats();if(!o)return;if(a&&Er.outboundBitrateQosParse(o,this.bitrateInfo.publisher),!r)return;let n={};const{publisher:d}=this.monitorInfo;if(o.forEach(e=>{if("remote-inbound-rtp"===e.type)Er.remoteInboundRTPStatisticParse(this.normalAudioSSRC,e,this.audioMode,n,d);else if("outbound-rtp"===e.type)Er.outboundRTPStatisticsParse(this.normalAudioSSRC,e,this.audioMode,n,d);else if("media-source"===e.type){var t;let i=(null===(t=this.webRTCWorkletManager)||void 0===t?void 0:t.getAudioStream())||this.audioStream;Er.mediaSourceStatisticsParse(i,e,this.audioMode,n,d)}Er.networkInfoStatisticsParse(o,e,this.audioMode,d,"publisher")}),this.handleNetworkQuality(0,null===(t=n[s.REPORT_KEY_NORMAL])||void 0===t?void 0:t.rtt),this.handleNoAudioPackets(null===(i=n[s.REPORT_KEY_NORMAL])||void 0===i?void 0:i.packetsSent),this.webRTCWorkletManager&&n.NORMAL){const{resLevelR16Log:e,resLevelR16LogDenoise:t}=this.webRTCWorkletManager.getLevelR16Log();n.NORMAL.audioLevelR16Str=e,n.NORMAL.audioLevelR16DenoiseStr=t}Ar(n)}async _subscriberStatsParse(e){var t;if(!this.subscriber)return;const i=!(e%5),r=!(e%1),a=this.showQos&&!(e%1),s=await this.subscriber.getStats();if(!s)return;let o={ssrcMap:{}};a&&Er.inboundBitrateQosParse(s,null===(t=this.bitrateInfo)||void 0===t?void 0:t.subscriber);let n=!1;const{subscriber:d}=this.monitorInfo;s.forEach(e=>{i&&(this._subscriberCandidatePairParse(e,o),n=!0,Er.networkInfoStatisticsParse(s,e,this.audioMode,d,"subscriber")),n=this._subscriberInboundRTPParse(e,o,d,r&&!i)||n}),i&&this.handleNetworkQuality(1,o.rtt),n&&Cr(o)}_subscriberCandidatePairParse(e,t){const{subscriber:i}=this.monitorInfo,{totalRoundTripTime:r,responsesReceived:a,type:s,state:o,nominated:n}=e;if("candidate-pair"===s&&"succeeded"===o&&n){i.prevStatInfo||(i.prevStatInfo={responsesReceived:a,totalRoundTripTime:r},i.ssrcMap={});const{prevStatInfo:e}=i;Object.assign(t,{rtt:Math.floor(1e3*(a===e.responsesReceived?0:(r-e.totalRoundTripTime)/(a-e.responsesReceived)))}),Object.assign(i.prevStatInfo,{totalRoundTripTime:r,responsesReceived:a})}}_subscriberInboundRTPParse(e,t,i,r){const{type:a}=e;let s=void 0;if("inbound-rtp"===a){const{totalAudioEnergy:a,timestamp:n,jitterBufferDelay:d,jitterBufferEmittedCount:u,jitterBufferMinimumDelay:l,jitterBufferTargetDelay:c,ssrc:h,jitter:f,audioLevel:p,packetsLost:_,packetsDiscarded:m,packetsReceived:E,bytesReceived:g,concealedSamples:S,concealmentEvents:v,insertedSamplesForDeceleration:C,removedSamplesForAcceleration:A,silentConcealedSamples:R,totalProcessingDelay:T}=e,I=this.ssrcUserIdMap.get(h);if(Cr({key:"".concat(h,"-").concat(I),audioLevel:tr(p),onlyAudioLevel:!0}),r)return!1;i.ssrcMap||(i.ssrcMap={});let b=i.ssrcMap[h];if(b){if(I){var o;s=!0;const e=Math.sqrt((a-b.totalAudioEnergy)/(n-b.timestamp)).toFixed(4);let i=-1;"number"==typeof p&&(i=p.toFixed(4));const r=this.calculateRate(b.jitterBufferDelay,b.jitterBufferEmittedCount,d,u,1),O=this.calculateRate(b.jitterBufferTargetDelay,b.jitterBufferEmittedCount,c,u,1),D=this.calculateRate(b.packetsReceived,b.timestamp,E,n),w=this.calculateRate(b.bytesReceived,b.timestamp,g,n),y=this.calculateRate(b.totalProcessingDelay,0,T,1,1),M=this.calculateRate(b.packetsDiscarded,0,m,1,1),P=this.calculateRate(b.insertedSamplesForDeceleration,0,C,1,1),N=this.calculateRate(b.packetsLost,0,_,1,1);t.ssrcMap["".concat(h,"-").concat(I)]=Object.assign(t.ssrcMap["".concat(h,"-").concat(I)]||{},{aveAudioLevel:e<1e-4?0:e,audioLevel:i<1e-4?0:i,jitter:f,jitterBufferMinimumDelay:l,concealedSamples:S,concealmentEvents:v,insertedSamplesForDeceleration_in_5s:P,removedSamplesForAcceleration:A,silentConcealedSamples:R,audioPlayerStatus:null!==(o=this.getAudioPlayer(I))&&void 0!==o&&o.isPaused()?0:1,totalAudioEnergy:a,aveJitterBufferDelay_ms:r,aveJitterBuffeTargetrDelay_ms:O,avePacketsReceived_in_s:D,aveBytesReceived_in_s:w,totalProcessingDelay_in_5s:y,packetsDiscarded_in_5s:M,packetsLost_in_5s:N})}}else b=i.ssrcMap[h]={},s=!1;this.isUserMuted(h)||!this.ssrcUserIdMap.has(h)?i.ssrcMap[h]=null:Object.assign(b,{totalAudioEnergy:a,timestamp:n,jitterBufferDelay:d,jitterBufferEmittedCount:u,packetsLost:_,packetsReceived:E,bytesReceived:g,jitterBufferTargetDelay:c,totalProcessingDelay:T,insertedSamplesForDeceleration:C,packetsDiscarded:m})}return s}handleNoAudioPackets(e){this.audioMode!=s.WEBRTC_COMMPUTER_AUDIO_MODE||!this.audioStream||this.muted||(e||0)-this.lastSentPackets!=0||this.isMutedBySystem?(this.audioMode==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioStream&&1==this.isAudioSentBytesZero&&(e||0)-this.lastSentPackets>0&&(vr("HEALTH_CHECK_RESTORED"),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED)),this.isAudioSentBytesZero=!1,this.noPacketsCount=0,this.lastSentPackets=e||0):(this.noPacketsCount++,2===this.noPacketsCount&&0==this.isAudioSentBytesZero&&(vr("HEALTH_CHECK_FAILED"),Object(J.NotifyUIError)(a.AUDIO_SENT_BYTES_ZERO,s.RECAPTURE_AUDIO_AFTER_MUTED),this.isAudioSentBytesZero=!0,this.noPacketsCount=0))}handleNetworkQuality(e,t){this.audioMode==s.WEBRTC_COMMPUTER_AUDIO_MODE&&this.audioStream&&t&&(t>5e3?T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:0===e,networkLevel:s.NET_QUALITY_LEVEL.NET_QUALITY_VERY_BAD,bwLevel:s.NET_BW_LEVEL.NET_BW_LEVEL_VERY_LOW}):t>2e3&&T.default.Notify_APPUI_SAFE(a.NETWORK_QUALITY_CHANGE_AUDIO,{isUplink:0===e,networkLevel:s.NET_QUALITY_LEVEL.NET_QUALITY_BAD,bwLevel:s.NET_BW_LEVEL.NET_BW_LEVEL_LOW}))}calculateRate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1e3;return e===i||t===r?0:Math.floor(a*(i-e)/(r-t))}changeDenoiseSwitch(e,t){var i;this.denoiseSwitch=e,this.isHeadSet=t,null===(i=this.webRTCWorkletManager)||void 0===i||i.changeDenoiseSwitch(e,t)}updateQos(e){this.showQos=e.enable,this.signal&&this.signal.notify("qos",{enable:e.enable,encoding:parseInt(e.workerType),pollingInterval:e.pollingInterval})}}function Ir(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}function br(){this.onOffer,this.isDestroyed=!1,this.heartBeatDetection=null,this.onopen=function(e){this._onopen=e},this.onclose=function(e){this._onclose=e},this.onerror=function(e){this._onerror=e},this.onmessage=function(e){this._onmessage=e},this.notifyUImessage=function(e){this.notifyUIMessage=e},this.init=function(e){vr("INIT: ".concat(e)),this.socket=window.audioBridgeSignal=Object(g.createRlbSocket)(e),this._notifyhandlers={},this.socket.addEventListener("open",()=>{vr("WSO"),this.lastMessageTimeStamp=performance.now(),this.socket.isRlb||(this.ping(),this.heartBeatDetection&&(clearTimeout(this.heartBeatDetection),this.heartBeatDetection=null),this.heartBeatDetection=setTimeout(function e(){var t;if(this.isDestroyed||1!==(null===(t=this.socket)||void 0===t?void 0:t.readyState))return;let i=performance.now()-this.lastMessageTimeStamp;i>32e3?(vr("WST"),v.default.error("didn't reveive message from websocket in the last 30s, notify UI failover, duration: "+i),Object(J.NotifyUIError)(a.NOTIFY_UI_FAILOVER,s.NO_MESSAGE_FAILOVER)):this.heartBeatDetection=setTimeout(e.bind(this),2e3)}.bind(this),2e3)),this._onopen&&this._onopen()}),this.socket.addEventListener("error",e=>{this.isDestroyed||(v.default.directReport("Audio Bridge WebSocket received error"),vr("WSE"),this._onerror&&this._onerror(e||!0))}),this.socket.addEventListener("close",e=>{this.isDestroyed||(v.default.directReport("Audio Bridge WebSocket close"),vr("WSC"),this._onclose&&this._onclose(e||!0))}),this.socket.addEventListener("message",async e=>{this.lastMessageTimeStamp=performance.now();const t=JSON.parse(e.data);let i=!1;if(this._onmessage&&(i=this._onmessage(t)),!i)if("offer"===t.method)this.onOffer&&this.onOffer(t.params);else if("trickle"===t.method)this.onTrickle&&this.onTrickle(t.params.candidate,t.params.role);else if("rtcpsr"===t.method)this.UpdateNTP(t.params.ntptime,t.params.rtptime,t.params.ssrc,t.params.abssrc);else if("pong"===t.result){let e=parseInt(performance.now())-t.id;vr("RTT: "+e)}else{const e=this._notifyhandlers[t.method];e&&e(t.params)}})},this.on_notify=function(e,t){this._notifyhandlers[e]=t},this.notify=function(e,t,i){var r;this.isDestroyed?v.default.error("audioBridge instance is destroyed, method ".concat(e)):this.socket&&this.socket.readyState===WebSocket.OPEN?this.socket.send(JSON.stringify({method:e,params:t,id:i})):v.default.error("Websocket is not open: ".concat(this.socket.readyState,", ").concat(null===(r=this.socket)||void 0===r?void 0:r.url))},this.call=async function(e,t){const i=Ir();var r;if(this.socket&&this.socket.readyState===WebSocket.OPEN)return this.socket.send(JSON.stringify({method:e,params:t,id:i})),new Promise((e,t)=>{const r=t=>{const a=JSON.parse(t.data);a.id===i&&(a.error?e(a):e(a.result),this.socket.removeEventListener("message",r))};this.socket.addEventListener("message",r)});v.default.error("Websocket is not open: ".concat(this.socket.readyState,", ").concat(null===(r=this.socket)||void 0===r?void 0:r.url))},this.ping=()=>{this.notify("ping",{},parseInt(performance.now())),this.pingTimeout&&clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{this.ping()},1e4)},this.destroy=()=>{this.isDestroyed=!0,this.pingTimeout&&(clearTimeout(this.pingTimeout),this.pingTimeout=null),this.heartBeatDetection&&(clearTimeout(this.heartBeatDetection),this.heartBeatDetection=null),this.socket&&this.socket.close&&this.socket.close(3456,"close socket when destroy signal")}}const Or=11;class Dr{static async init(e,t){if(!window.navigator.hid||!window.navigator.hid.requestDevice)return!1;const i=this.webHid=new wr(e=>{switch(e.eventName){case"ondevicehookswitch":T.default.Notify_APPUI_SAFE(a.HID_STATUS_OFF_HOOK,"on"===e.hookStatus);break;case"ondevicemuteswitch":T.default.Notify_APPUI_SAFE(a.HID_STATUS_MUTE,e.isMute)}});return await i.open({label:e,muted:t,hookStatus:"off"})}static sendReport(e,t){switch(e){case"hookswitch":this.webHid.sendDeviceReport({command:t?"offHook":"onHook"});break;case"mute":this.webHid.sendDeviceReport({command:t?"muteOn":"muteOff"})}}static async destroy(){await this.webHid.close()}}class wr{constructor(e){this.deviceUsage={mute:{usageId:524297,usageName:"Mute"},offHook:{usageId:524311,usageName:"Off Hook"},ring:{usageId:524312,usageName:"Ring"},hookSwitch:{usageId:720928,usageName:"Hook Switch"},phoneMute:{usageId:720943,usageName:"Phone Mute"}},this.deviceCommand={outputReport:{mute:{reportId:0,usageOffset:-1},offHook:{reportId:0,usageOffset:-1},ring:{reportId:0,itemIndex:-1}},inputReport:{hookSwitch:{reportId:0,usageOffset:-1,isAbsolute:!1},phoneMute:{reportId:0,usageOffset:-1,isAbsolute:!1}}},this.device=null,this.inputReportRetFunc=e}getHexByte(e){let t=Number(e).toString(16);for(;t.length<2;)t="0"+t;return t}getHexByteStr(e){let t="";for(let i=0;i<e.byteLength;++i)t+=this.getHexByte(e.getUint8(i))+" ";return t}parseDeviceDescriptors(){try{if(this.outputEventGenerators=new Map,!this.device||!this.device.collections)return;let e=this.device.collections.find(e=>e.usagePage===Or);if(!e||0===Object.keys(e).length)return;if(e.inputReports&&!this.parseInputReports(e.inputReports))return!1;if(e.outputReports)return!!this.parseOutputReports(e.outputReports)}catch(e){console.error("parseDeviceDescriptors error:"+JSON.stringify(e,null," "))}}parseInputReports(e){return e.forEach(e=>{if(!e.items.length||void 0===e.reportId)return;let t=0;e.items.forEach(i=>{void 0!==i.usages&&void 0!==i.reportSize&&void 0!==i.reportCount&&void 0!==i.isAbsolute&&(i.usages.forEach((r,a)=>{switch(r){case this.deviceUsage.hookSwitch.usageId:this.deviceCommand.inputReport.hookSwitch={reportId:e.reportId,usageOffset:t+a*i.reportSize,isAbsolute:i.isAbsolute};break;case this.deviceUsage.phoneMute.usageId:this.deviceCommand.inputReport.phoneMute={reportId:e.reportId,usageOffset:t+a*i.reportSize,isAbsolute:i.isAbsolute}}}),t+=i.reportCount*i.reportSize)})}),0!==this.deviceCommand.inputReport.phoneMute.reportData&&0!==this.deviceCommand.inputReport.hookSwitch}parseOutputReports(e){let t,i,r;e.forEach(e=>{if(!e.items.length||void 0===e.reportId)return;let t=0,i=new Map;e.items.forEach(r=>{void 0!==r.usages&&void 0!==r.reportSize&&void 0!==r.reportCount&&(r.usages.forEach((a,s)=>{switch(a){case this.deviceUsage.mute.usageId:this.deviceCommand.outputReport.mute={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize);break;case this.deviceUsage.offHook.usageId:this.deviceCommand.outputReport.offHook={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize);break;case this.deviceUsage.ring.usageId:this.deviceCommand.outputReport.ring={reportId:e.reportId,usageOffset:t+s*r.reportSize},i.set(a,t+s*r.reportSize)}}),t+=r.reportCount*r.reportSize)});let r=t;for(let[e,t]of i)this.outputEventGenerators[e]=e=>{let i=new Uint8Array(r/8);if(t>=0&&e){let e=Math.trunc(t/8),r=t%8;i[e]=1<<r}return i}});for(let e in this.outputEventGenerators){let a=this.getHexByte(e);a="0x0"+a,this.deviceUsage.mute.usageId===Number(a)?t=this.outputEventGenerators[this.deviceUsage.mute.usageId]:this.deviceUsage.offHook.usageId===Number(a)?r=this.outputEventGenerators[this.deviceUsage.offHook.usageId]:this.deviceUsage.ring.usageId===Number(a)&&(i=this.outputEventGenerators[this.deviceUsage.ring.usageId])}return!!(t||i||r)}async open(e){const t=await navigator.hid.getDevices();if(t.length&&(this.device=t.find(t=>e.label.includes(t.productName))),!this.device){let t=[];try{t=await navigator.hid.requestDevice({filters:[{usagePage:Or}]})}catch(e){v.default.error("hid requestDevice error")}t.length&&(this.device=t.find(t=>e.label.includes(t.productName)))}if(!this.device)return!1;try{return this.device.opened&&await this.device.close(),await this.device.open(),this.parseDeviceDescriptors()?(this.device.oninputreport=await this.handleInputReport.bind(this),this.resetState({muted:e.muted,hookStatus:e.hookStatus}),!0):!1}catch(e){console.error("error content:"+e)}}async close(){try{if(this.resetState({muted:!1,hookStatus:"on"}),!this.device)return;this.device&&this.device.opened&&await this.device.close(),this.device.oninputreport=null,this.device=null}catch(e){console.error(e)}}resetState(e){let{muted:t,hookStatus:i}=e;this.device&&this.device.opened&&(this.device.hookStatus=i,this.device.muted=t,this.device.ring=!1,this.sendDeviceReport({command:"off"===i?"offHook":"onHook"}),this.sendDeviceReport({command:t?"muteOn":"muteOff"}))}async sendDeviceReport(e){if(!(e&&e.command&&this.device&&this.device.opened))return;if("muteOn"===e.command||"muteOff"===e.command){if(!this.outputEventGenerators[this.deviceUsage.mute.usageId])return}else if("onHook"===e.command||"offHook"===e.command){if(!this.outputEventGenerators[this.deviceUsage.offHook.usageId])return}else if(("onRing"===e.command||"offRing"===e.command)&&!this.outputEventGenerators[this.deviceUsage.ring.usageId])return;let t,i,r,a,s,o,n,d,u,l=0,c=null;switch(e.command){case"muteOn":case"muteOff":l=this.deviceCommand.outputReport.mute.reportId;break;case"onHook":case"offHook":l=this.deviceCommand.outputReport.offHook.reportId;break;case"onRing":case"offRing":l=this.deviceCommand.outputReport.ring.reportId;break;default:return}if(0!=l){if(i=this.device.muted,"off"===this.device.hookStatus)t=!0;else{if("on"!==this.device.hookStatus)return;t=!1}switch(r=this.device.ring,e.command){case"muteOn":s=!0;break;case"muteOff":s=!1;break;case"onHook":a=!1;break;case"offHook":a=!0;break;case"onRing":o=!0;break;case"offRing":o=!1;break;default:return}if(this.outputEventGenerators[this.deviceUsage.mute.usageId]&&(d=void 0===s?this.outputEventGenerators[this.deviceUsage.mute.usageId](i):this.outputEventGenerators[this.deviceUsage.mute.usageId](s)),this.outputEventGenerators[this.deviceUsage.offHook.usageId]&&(n=void 0===a?this.outputEventGenerators[this.deviceUsage.offHook.usageId](t):this.outputEventGenerators[this.deviceUsage.offHook.usageId](a)),this.outputEventGenerators[this.deviceUsage.ring.usageId]&&(u=void 0===o?this.outputEventGenerators[this.deviceUsage.ring.usageId](r):this.outputEventGenerators[this.deviceUsage.ring.usageId](o)),l===this.deviceCommand.outputReport.mute.reportId)if(null===c)c=new Uint8Array(d);else for(const[e,t]of d.entries())c[e]|=t;if(l===this.deviceCommand.outputReport.offHook.reportId)if(null===c)c=new Uint8Array(n);else for(const[e,t]of n.entries())c[e]|=t;if(l===this.deviceCommand.outputReport.ring.reportId)if(null===c)c=new Uint8Array(u);else for(const[e,t]of u.entries())c[e]|=t;switch(await this.device.sendReport(l,c),e.command){case"muteOn":this.device.muted=!0;break;case"muteOff":this.device.muted=!1;break;case"onHook":this.device.hookStatus="on";break;case"offHook":this.device.hookStatus="off";break;case"onRing":this.device.ring=!0;break;case"offRing":this.device.ring=!1}}}async sendReplyReport(e,t,i){let r,a,s,o,n=0;if(this.deviceCommand.outputReport.offHook.reportId===this.deviceCommand.outputReport.mute.reportId||e===this.deviceCommand.inputReport.hookSwitch.reportId?n=this.deviceCommand.outputReport.offHook.reportId:e===this.deviceCommand.inputReport.phoneMute.reportId&&(n=this.deviceCommand.outputReport.mute.reportId),this.device&&this.device.opened&&0!==n&&void 0!==t&&void 0!==i){if(this.deviceCommand.outputReport.offHook.reportId===this.deviceCommand.outputReport.mute.reportId){a=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),s=this.outputEventGenerators[this.deviceUsage.offHook.usageId](t),r=new Uint8Array(s);for(const[e,t]of a.entries())r[e]|=t}else n===this.deviceCommand.outputReport.offHook.reportId?(s=this.outputEventGenerators[this.deviceUsage.offHook.usageId](t),r=new Uint8Array(s)):n===this.deviceCommand.outputReport.mute.reportId?(a=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),r=new Uint8Array(a)):n===this.deviceCommand.outputReport.ring.reportId&&(o=this.outputEventGenerators[this.deviceUsage.mute.usageId](i),r=new Uint8Array(o));await this.device.sendReport(n,r)}}handleInputReport(e){let t=this;try{const{data:i,device:r,reportId:a}=e;if(0===a)return;let s=t.deviceCommand.inputReport;if(a!==s.hookSwitch.reportId&&a!==s.phoneMute.reportId)return;let o=!1,n=!1,d=new Uint8Array(i.buffer),u=!0;if(a===s.hookSwitch.reportId){let e=s.hookSwitch,r=Math.trunc(e.usageOffset/8),a=e.usageOffset%8,n=0!=(i.getUint8(r)&1<<a);s.hookSwitch.isAbsolute?"on"===t.device.hookStatus&&n?(t.device.hookStatus="off",o=!0):"off"!==t.device.hookStatus||n||(t.device.hookStatus="on",o=!0):n&&(t.device.hookStatus="off"===t.device.hookStatus?"on":"off",o=!0)}t.device.muted;if(a===s.phoneMute.reportId){let e=s.phoneMute,r=Math.trunc(e.usageOffset/8),a=e.usageOffset%8,o=0!=(i.getUint8(r)&1<<a);s.phoneMute.isAbsolute?t.device.muted!=o&&(t.device.muted=o,n=!0):o&&(t.device.muted=!t.device.muted,n=!0)}let l={productName:r.productName,reportId:t.getHexByte(a),reportData:d};if(o&&(l.eventName="ondevicehookswitch",l.hookStatus=t.device.hookStatus),n&&(l.eventName="ondevicemuteswitch",l.isMute=t.device.muted),t.inputReportRetFunc&&t.inputReportRetFunc(l),u&&(o||n)){let e;if("off"===this.device.hookStatus)e=!0;else{if("on"!==this.device.hookStatus)return;e=!1}t.sendReplyReport(a,e,t.device.muted)}}catch(e){console.error(e)}}}var yr=i(38),Mr=i.n(yr);const Pr={[R.f.AUDIO_ENCODE]:"audioEncodeInitInstance",[R.f.AUDIO_DECODE]:"audioDecInitInstance",[R.f.VIDEO_ENCODE]:"videoInitInstance",[R.f.VIDEO_DECODE]:"videoDecInitInstance",[R.f.SHARING_ENCODE]:"sharingEncInitInstance",[R.f.SHARING_DECODE]:"sharingDecInitInstance"};class Nr{constructor(){this.logWriterMap=window.logWriterMap=new Map,this.inited=!1}async init(){this.inited||(this.inited=!0,Object.values(R.f).forEach(async e=>{const t=await async function(){const e=new yr.FileWriter({maxDaysToKeepFile:1,fileSizeQuota:10485760});return new Promise(t=>{e.on("initOK",()=>{t(e)})})}();this.logWriterMap.set(e,t),await T.default[Pr[e]].waitforInitSuccess();const i=t.createMessagePort();Jt(e,i,"local_log_port",!0,!0),t.startWriteNormalLogFile({filenamePrefix:R.g[e],filenameExtension:".log",timestamp:!1,newLine:!1}),t.on("startWriteNormalLogFileReady",()=>{Jt(e,null,"local_log_ready",!1,!0)})}))}saveLogFileByWorkerType(e){const t=this.logWriterMap.get(e);t&&t.saveLog()}saveAllLogFiles(){Mr.a.selectSaveDir().then(()=>{Object.values(R.f).forEach(e=>{Mr.a.saveLog({filenamePrefix:R.g[e],filenameExtension:".log"})})})}}var Vr=i(55);class kr{constructor(){this.pressureLevel={nominal:0,fair:1,serious:2,critical:3},this.pressureStatisticHelper=new Vr.StatisticHelper,this.observer=new PressureObserver(e=>{this.result=this.pressureLevel[e[0].state],A.default.add_monitor("CPC:"+this.result),this.pressureStatisticHelper.update(e[0].state)})}init(){this.initPromise=this.observer.observe("cpu").then(()=>{this.pressureStatisticHelper.start("nominal")}).catch(e=>{(g.default.isWindows()||g.default.isMac()||g.default.isChromeOS())&&v.default.warn("ComputePressure observe error: ",e)}).finally(()=>{this.initPromise=null})}destroy(){if(this.initPromise)this.initPromise.then(()=>{this.observer.unobserve("cpu");const e=this.pressureStatisticHelper.end();v.default.log("CPU pressure report: ".concat(JSON.stringify(e)))});else{this.observer.unobserve("cpu");const e=this.pressureStatisticHelper.end();v.default.log("CPU pressure report: ".concat(JSON.stringify(e)))}}}O()(kr,"isSupportComputePressure",()=>"function"==typeof PressureObserver);var Ur=i(1),Lr=i.n(Ur),xr=i(8),Wr=i.n(xr);function Br(e,t){Fr(e,t),t.add(e)}function Gr(e,t,i){Fr(e,t),t.set(e,i)}function Fr(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Hr(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Kr=new WeakMap,jr=new WeakMap,Yr=new WeakMap,qr=new WeakMap,Xr=new WeakMap,Qr=new WeakMap,zr=new WeakMap,Jr=new WeakMap,Zr=new WeakMap,$r=new WeakMap,ea=new WeakMap,ta=new WeakMap,ia=new WeakMap,ra=new WeakMap,aa=new WeakMap,sa=new WeakMap,oa=new WeakMap,na=new WeakMap,da=new WeakMap,ua=new WeakMap,la=new WeakMap,ca=new WeakMap,ha=new WeakMap,fa=new WeakMap,pa=new WeakMap,_a=new WeakSet,ma=new WeakSet,Ea=new WeakSet,ga=new WeakSet,Sa=new WeakSet,va=new WeakSet,Ca=new WeakSet,Aa=new WeakSet,Ra=new WeakSet,Ta=new WeakSet,Ia=new WeakSet,ba=new WeakSet,Oa=new WeakSet,Da=new WeakSet,wa=new WeakSet,ya=new WeakSet,Ma=new WeakSet,Pa=new WeakSet,Na=new WeakSet,Va=new WeakSet;function ka(e){e&&e.forEach(e=>{e.markRenderingStatePending()});const t=Hr(this,wa,Qa).call(this,e);if(Lr()(this,Jr)&&Lr()(this,zr)&&Lr()(this,ea))if(Lr()(this,Kr)&&0!=Lr()(this,Kr).width&&0!=Lr()(this,Kr).height&&Lr()(this,zr)&&Lr()(this,zr).getCurrentTexture()&&0!=Lr()(this,zr).getCurrentTexture().width&&0!=Lr()(this,zr).getCurrentTexture().height)try{if(!Lr()(this,ra)){const e=Lr()(this,pa).byteLength,t=e;Wr()(this,ra,Lr()(this,ea).acquireBuffer(t,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,e,!0,!1)),new Float32Array(Lr()(this,ra).getMappedRange()).set(Lr()(this,pa)),Lr()(this,ra).unmap()}const e=Hr(this,Ca,Ga).call(this);for(const[i,r]of t)Hr(this,Ma,Ja).call(this,i,r,e);const i=Hr(this,Da,Xa).call(this,Lr()(this,zr).getCurrentTexture().createView()),r=e.beginRenderPass(i);r.setVertexBuffer(0,Lr()(this,ra));for(const[e,i]of t)if(i&&0!=i.length)for(const e of i){e.unlock();if(e.getTextureLayerType()==wi.v.UNKNOWN)continue;const t=e.getTextureType();let i=e.getUVCoords();if(t!==wi.x.CLEAR_COLOR&&!i)continue;const a=Lr()(this,Kr).width,s=Lr()(this,Kr).height;let o=e.getViewport();if(!o||Number.isNaN(o.x)||Number.isNaN(o.y)||Number.isNaN(o.w)||Number.isNaN(o.h)||o.x<0||o.y<0)continue;if(o.x+o.w>a){let e=o.x+o.w-a;if(!(e>0&&e<=wi.i))continue;o.w-=e,o.w<=0&&(o.w=1)}if(o.y+o.h>s){let e=o.y+o.h-s;if(!(e>0&&e<=wi.i))continue;o.h-=e,o.h<=0&&(o.h=1)}const n=Hr(this,ya,za).call(this,e);if(!n)continue;if(n.pipelineType!==wi.l.CLEAR_COLOR){let t=e.getUVCoordsBuffer();if(!t){const r=i.byteLength;t=Lr()(this,ea).acquireBuffer(r,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST,i.byteLength,!1,!1),e.setUVCoordsBuffer(t)}Lr()(this,Jr).queue.writeBuffer(t,0,i,0,i.length),r.setVertexBuffer(1,t)}r.setViewport(o.x,o.y,o.w,o.h,o.minDepth,o.maxDepth);const d=n.pipeline;r.setPipeline(d);const u=Lr()(this,Jr).createBindGroup({layout:d.getBindGroupLayout(0),entries:n.entries});r.setBindGroup(0,u),r.draw(6,1,0,0)}r.end(),Hr(this,Aa,Fa).call(this)}catch(e){Object(Mi.h)("[WebGUPRenderer] renderNoMsaa() error:".concat(e.message))}finally{Lr()(this,Qr).recycleInUsedGPUBuffers(t)}else Lr()(this,Qr).recycleInUsedGPUBuffers(t);else Lr()(this,Qr).recycleInUsedGPUBuffers(t)}function Ua(e){if(!Lr()(this,Jr)||!Lr()(this,zr))return;const t=Lr()(this,Jr).createBuffer({label:"VertexBuffer",size:Lr()(this,pa).byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE,mappedAtCreation:!0});new Float32Array(t.getMappedRange()).set(Lr()(this,pa)),t.unmap();const i=Hr(this,Ca,Ga).call(this),r=Hr(this,wa,Qa).call(this,e);for(const[e,t]of r)Hr(this,Ma,Ja).call(this,e,t,i);const a=Hr(this,Va,es).call(this,Lr()(this,Kr)),s=Hr(this,Oa,qa).call(this,0,a.createView(),Lr()(this,zr).getCurrentTexture().createView()),o=i.beginRenderPass(s);o.setVertexBuffer(0,t);for(const[e,t]of r)if(t&&0!=t.length)for(const e of t){e.unlock();if(e.getTextureLayerType()==wi.v.UNKNOWN)continue;let t=e.getUVCoords();if(!t)continue;let i=e.getUVCoordsBuffer();if(!i){const r=t.byteLength;i=Lr()(this,ea).acquireBuffer(r,GPUBufferUsage.VERTEX|GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST,t.byteLength,!1,!0),e.setUVCoordsBuffer(i)}Lr()(this,Jr).queue.writeBuffer(i,0,t,0,t.length),o.setVertexBuffer(1,i);const r=Lr()(this,Kr).width,a=Lr()(this,Kr).height;let s=e.getViewport();if(!s||Number.isNaN(s.x)||Number.isNaN(s.y)||Number.isNaN(s.w)||Number.isNaN(s.h)||s.x<0||s.y<0||s.x+s.w>r||s.y+s.h>a)continue;const n=Hr(this,ya,za).call(this,e,!0);if(!n)continue;o.setViewport(s.x,s.y,s.w,s.h,s.minDepth,s.maxDepth);const d=n.pipeline;o.setPipeline(d);const u=Lr()(this,Jr).createBindGroup({layout:d.getBindGroupLayout(0),entries:n.entries});o.setBindGroup(0,u),o.draw(6,1,0,0)}o.end(),Hr(this,Aa,Fa).call(this),e.forEach(e=>{e.markRenderingStatePending()})}function La(e){if(!Array.isArray(e))return;let t=[];for(let i=0;i<e.length;++i){let r=e[i];t.push(r.x),t.push(r.y)}Lr()(this,pa).set(t,0)}function xa(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r=e.getTextureBufferGroup();if(!Lr()(this,Jr))return console.warn("[evalYuvTextureGroup] GPUDevice is not ready!"),r&&r.buffer&&r.buffer.unmap(),null;if(!t)return console.warn("[evalYuvTextureGroup] command encoder is invalid!"),r&&r.buffer&&r.buffer.unmap(),null;if(!r)return i||null;"unmapped"!=r.buffer.mapState&&r.buffer.unmap();let a=null,s=null,o=null;const n=e.getWidth(),d=e.getHeight(),u=null!=i&&(n!=i.yPlaneTex.width||d!=i.yPlaneTex.height);let l=!0;i&&(u?(Lr()(this,Qr).destroyTextureGroup(e),l=!0):(a=i.yPlaneTex,s=i.uPlaneTex,o=i.vPlaneTex,l=!1));let c=!1,h="r8unorm";if(r&&r.bufferConfig&&"nv12"==r.bufferConfig.colorFormat&&(h="rg8unorm",c=!0),l){const t=e.getIndex(),i=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,r=Lr()(this,ia).assembleTextureConfig(n,d,i,"r8unorm",1),u=Lr()(this,ia).assembleTextureConfig(n/2,d/2,i,h,1);a=Lr()(this,ia).acquireTexture(r),a&&(a.label="RD(".concat(t,")-YPlaneTexture")),c?(s=Lr()(this,ia).acquireTexture(u),s&&(s.label="RD(".concat(t,")-UVPlaneTexture"))):(s=Lr()(this,ia).acquireTexture(u),s&&(s.label="RD(".concat(t,")-UPlaneTexture")),o=Lr()(this,ia).acquireTexture(u),o&&(o.label="RD(".concat(t,")-VPlaneTexture")))}t.copyBufferToTexture({buffer:r.buffer,offset:r.yPlaneBuffer.offset,bytesPerRow:r.yPlaneBuffer.bytesPerRow,rowsPerImage:r.yPlaneBuffer.rowsPerImage},{texture:a},[n,d,1]),t.copyBufferToTexture({buffer:r.buffer,offset:r.uPlaneBuffer.offset,bytesPerRow:r.uPlaneBuffer.bytesPerRow,rowsPerImage:r.uPlaneBuffer.rowsPerImage},{texture:s},[n/2,d/2,1]),r.vPlaneBuffer.offset>0&&!c&&t.copyBufferToTexture({buffer:r.buffer,offset:r.vPlaneBuffer.offset,bytesPerRow:r.vPlaneBuffer.bytesPerRow,rowsPerImage:r.vPlaneBuffer.rowsPerImage},{texture:o},[n/2,d/2,1]);let f={};return f.yPlaneTex=a,f.uPlaneTex=s,f.vPlaneTex=o,f}function Wa(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r=e.getTextureBufferGroup();if(!Lr()(this,Jr))return console.warn("[evalRgbaTexture] GPUDevice is not ready!"),r&&r.buffer&&r.buffer.unmap(),null;if(!t)return console.warn("[evalRgbaTexture] command encoder is invalid!"),r&&r.buffer&&r.buffer.unmap(),null;if(!r)return i||null;"unmapped"!=r.buffer.mapState&&r.buffer.unmap();const a=e.getIndex(),s=e.getWidth(),o=e.getHeight(),n=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let d=null;const u=null!=i&&(s!=i.width||o!=i.height);let l=!0;if(i&&(u?(Lr()(this,Qr).destroyTextureGroup(e),l=!0):(d=i,l=!1)),l){const e=Lr()(this,ia).assembleTextureConfig(s,o,n,"rgba8unorm",1);d=Lr()(this,ia).acquireTexture(e),d&&(d.label="RD(".concat(a,")-rgbaTexture"))}return t.copyBufferToTexture({buffer:r.buffer,offset:0,bytesPerRow:r.bytesPerRow,rowsPerImage:r.rowsPerImage},{texture:d},[s,o,1]),d}function Ba(e,t){return Math.ceil(e/t)*t}function Ga(){return Lr()(this,Jr)?(Lr()(this,$r)||Wr()(this,$r,Lr()(this,Jr).createCommandEncoder()),Lr()(this,$r)):(Object(Mi.h)("GPUDevice is not ready! No available command encoder."),null)}function Fa(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;Lr()(this,$r)&&e?Lr()(this,Jr).queue.submit([Lr()(this,$r).finish(),e.finish()]):Lr()(this,$r)?Lr()(this,Jr).queue.submit([Lr()(this,$r).finish()]):e&&Lr()(this,Jr).queue.submit([e.finish()]),Wr()(this,$r,null)}function Ha(e,t){if(!Lr()(this,Jr))return null;if(!Lr()(this,ca)){let i=Lr()(this,Jr).createBindGroupLayout({label:"CursorTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]});if(!i)return null;const r=Lr()(this,Jr).createPipelineLayout({label:"CursorTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[i]}),a={label:"CursorTexRenderPipeline(".concat(e,")"),layout:r,vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.e}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(a.multisample={count:4}),Wr()(this,ca,Lr()(this,Jr).createRenderPipeline(a))}return Lr()(this,ca)}function Ka(e,t){if(!Lr()(this,Jr))return null;if(!Lr()(this,la)){let i=Lr()(this,Jr).createBindGroupLayout({label:"WatermarkTexBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}}]});if(!i)return null;const r=Lr()(this,Jr).createPipelineLayout({label:"WatermarkTexPipelineLayout(".concat(e,")"),bindGroupLayouts:[i]}),a={label:"WatermarkTexRenderPipeline(".concat(e,")"),layout:r,vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.B}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.B}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr),blend:{color:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{operation:"add",srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"}};t&&(a.multisample={count:4}),Wr()(this,la,Lr()(this,Jr).createRenderPipeline(a))}return Lr()(this,la)}function ja(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,na)){const i=Lr()(this,Jr).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:6,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"YuvRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,na,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,na)}function Ya(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,da)){const i=Lr()(this,Jr).createBindGroupLayout({label:"YuvBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:5,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"YuvRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"YuvPipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,da,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,da)}function qa(e,t,i){return{label:"renderPass - ".concat(e),colorAttachments:[{view:t,resolveTarget:i,loadOp:"clear",storeOp:"discard"}]}}function Xa(e){return e&&(e.label="canvas-texture-view"),{label:"RenderPassNoMsaa",colorAttachments:[{view:e,loadOp:"clear",storeOp:"store"}]}}function Qa(e){let t=new Map;for(let i=0;i<e.length;++i){const r=e[i].getTextureLayersMap();for(let e=wi.w.VS_BASE;e<wi.w.END;++e)if(r.has(e)){const i=r.get(e);if(i){let r=t.get(e);r||(r=[]),r.push(i),t.set(e,r)}}}return t}function za(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=null,r=null,a=null,s=null;const o=e.getZIndex(),n=e.getTextureType(),d=e.getColorFormat();if(o==wi.w.VS_BASE){if(n==wi.x.EXTERNAL_TEX){s=wi.l.VIDEO_FRAME,i=this.acquireVideoFrameRenderPipeline(wi.y,t),r=this.acquireVideoFrameSampler();const o=e.getPendingVideoFrame();if(!o||0==o.codedWidth||0==o.codedHeight||!o.format)return e.setPendingVideoFrame(null),null;const n=e.getUniformBuffer();if(!n)return null;a=[{binding:0,resource:r},{binding:1,resource:Lr()(this,Jr).importExternalTexture({source:o})},{binding:2,resource:{buffer:n}}]}else if(n==wi.x.CLEAR_COLOR){s=wi.l.CLEAR_COLOR,i=this.acquireClearColorRenderPipeline(wi.c);const t=e.getClearColorUniformBuffer();if(!t)return null;a=[{binding:0,resource:{buffer:t}}]}else if(n==wi.x.GPU_TEX_YUV){"i420"==d?(s=wi.l.YUV_I420,i=Hr(this,Ia,ja).call(this,wi.z,t)):"nv12"==d&&(s=wi.l.YUV_NV12,i=Hr(this,ba,Ya).call(this,wi.A,t)),r=this.acquireYuvTexturesSamplers();const o=e.getUniformBuffer();if(!o)return null;const n=e.getTextureGroup();n&&("i420"==d?a=[{binding:0,resource:r[0]},{binding:1,resource:r[1]},{binding:2,resource:n.yPlaneTex.createView()},{binding:3,resource:n.uPlaneTex.createView()},{binding:4,resource:n.vPlaneTex.createView()},{binding:5,resource:{buffer:o}},{binding:6,resource:{buffer:o}}]:"nv12"==d&&(a=[{binding:0,resource:r[0]},{binding:1,resource:r[1]},{binding:2,resource:n.yPlaneTex.createView()},{binding:3,resource:n.uPlaneTex.createView()},{binding:4,resource:{buffer:o}},{binding:5,resource:{buffer:o}}]))}}else if(o==wi.w.WATERMARK||o==wi.w.MASK){s=wi.l.RGBA_WATERMARK,i=Hr(this,Ta,Ka).call(this,o,t),r=this.acquireBlendTextureSampler();const n=e.getTextureGroup();n&&(a=[{binding:0,resource:r},{binding:1,resource:n.createView()}])}else if(o==wi.w.CURSOR){s=wi.l.RGBA_CURSOR,i=Hr(this,Ra,Ha).call(this,o,t),r=this.acquireBlendTextureSampler();const n=e.getUniformBuffer();if(!n)return null;const d=e.getTextureGroup();d&&(a=[{binding:0,resource:r},{binding:1,resource:d.createView()},{binding:2,resource:{buffer:n}}])}if(s===wi.l.CLEAR_COLOR){if(!i||!a)return null}else if(!i||!r||!a||null==s)return null;const u={pipelineType:s,pipeline:i,entries:a};return u}function Ja(e,t,i){for(const r of t){const t=r.getTextureType();t!=wi.x.EXTERNAL_TEX&&t!=wi.x.CLEAR_COLOR&&(e==wi.w.VS_BASE?Hr(this,Pa,Za).call(this,r,i):e!=wi.w.CURSOR&&e!=wi.w.WATERMARK&&e!=wi.w.MASK||Hr(this,Na,$a).call(this,r,i))}}function Za(e,t){let i=e.getTextureGroup();i?e.isNew()&&(i=Hr(this,ga,xa).call(this,e,t,i),e.setIsNew(!1)):(i=Hr(this,ga,xa).call(this,e,t,null),e.setIsNew(!1)),i&&e.setTextureGroup(i)}function $a(e,t){let i=e.getTextureGroup();i?e.isNew()&&(i=Hr(this,Sa,Wa).call(this,e,t,i),e.setIsNew(!1)):(i=Hr(this,Sa,Wa).call(this,e,t,null),e.setIsNew(!1)),i&&e.setTextureGroup(i)}function es(e){if(!e||!Lr()(this,Jr))return Lr()(this,fa)?Lr()(this,fa):null;if(Lr()(this,fa)){if(Lr()(this,fa).width!=e.width||Lr()(this,fa).height!=e.height){const t=Lr()(this,ia).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,Lr()(this,Zr),4);Wr()(this,fa,Lr()(this,ia).acquireTexture(t))}}else{const t=Lr()(this,ia).assembleTextureConfig(e.width,e.height,GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.RENDER_ATTACHMENT,Lr()(this,Zr),4);Wr()(this,fa,Lr()(this,ia).acquireTexture(t))}return Lr()(this,fa)}var ts=class{constructor(e,t){if(Br(this,Va),Br(this,Na),Br(this,Pa),Br(this,Ma),Br(this,ya),Br(this,wa),Br(this,Da),Br(this,Oa),Br(this,ba),Br(this,Ia),Br(this,Ta),Br(this,Ra),Br(this,Aa),Br(this,Ca),Br(this,va),Br(this,Sa),Br(this,ga),Br(this,Ea),Br(this,ma),Br(this,_a),Gr(this,Kr,{writable:!0,value:null}),Gr(this,jr,{writable:!0,value:0}),Gr(this,Yr,{writable:!0,value:0}),Gr(this,qr,{writable:!0,value:!1}),Gr(this,Xr,{writable:!0,value:!1}),Gr(this,Qr,{writable:!0,value:null}),Gr(this,zr,{writable:!0,value:null}),Gr(this,Jr,{writable:!0,value:null}),Gr(this,Zr,{writable:!0,value:null}),Gr(this,$r,{writable:!0,value:null}),Gr(this,ea,{writable:!0,value:null}),Gr(this,ta,{writable:!0,value:null}),Gr(this,ia,{writable:!0,value:null}),Gr(this,ra,{writable:!0,value:null}),Gr(this,aa,{writable:!0,value:null}),Gr(this,sa,{writable:!0,value:null}),Gr(this,oa,{writable:!0,value:null}),Gr(this,na,{writable:!0,value:null}),Gr(this,da,{writable:!0,value:null}),Gr(this,ua,{writable:!0,value:null}),Gr(this,la,{writable:!0,value:null}),Gr(this,ca,{writable:!0,value:null}),Gr(this,ha,{writable:!0,value:null}),Gr(this,fa,{writable:!0,value:null}),Gr(this,pa,{writable:!0,value:new Float32Array(12)}),!t)throw new Error("[WebGPURenderer] resMgr is an invalid param! ".concat(t));Wr()(this,Kr,e),Wr()(this,Qr,t),this.initialize(e)}switchMsaa(e){Wr()(this,Xr,e)}isMsaaEnabled(){return Lr()(this,Xr)}setCanvas(e){e&&Wr()(this,Kr,e)}setDevice(e){e&&Wr()(this,Jr,e)}setRenderArgs(e,t){Wr()(this,jr,e||0),Wr()(this,Yr,Lr()(this,jr)?3:t?4:6),Wr()(this,qr,t||!1)}setTextureIndex(e){Wr()(this,jr,e||0)}initialize(e){Lr()(this,Jr)||(Wr()(this,Jr,Lr()(this,Qr).acquireGPUDevice()),Lr()(this,Jr))?(Lr()(this,Zr)||Wr()(this,Zr,Lr()(this,Qr).acquireCanvasFormat()),Lr()(this,ea)||Wr()(this,ea,Lr()(this,Qr).acquireGPUBufferMgr()),Lr()(this,ta)||Wr()(this,ta,Lr()(this,Qr).acquireGPUBufferPool()),Lr()(this,ia)||Wr()(this,ia,Lr()(this,Qr).acquireGPUTextureMgr()),this.configureGPUContext(e),Hr(this,Ea,La).call(this,wi.b)):Object(Mi.h)("[WebGPURenderer] initialize() device is not ready!")}isGPUDeviceReady(){return null!=Lr()(this,Jr)}render(e){Lr()(this,Xr)?Hr(this,ma,Ua).call(this,e):Hr(this,_a,ka).call(this,e)}updateVertexCoords(e){Hr(this,Ea,La).call(this,e)}createRGBATexture(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;if(t<0)return Object(Mi.h)("[createRGBATexture] ".concat(t," is an invalid index!")),null;if(!Lr()(this,ea))return console.warn("[createRGBATexture] buffer manager is not ready!"),null;if(!Lr()(this,Jr))return console.warn("[createRGBATexture] GPUDevice is not ready!"),null;if(null==a||void 0===a)return console.warn("[createRGBATexture] rgbaData is invalid!"),null;if(!e)return console.warn("[createRGBATexture] command encoder is invalid!"),null;const o=Hr(this,va,Ba).call(this,Uint32Array.BYTES_PER_ELEMENT*i,256),n=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC,d=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC;let u=null;const l=null!=s&&(i!=s.width||r!=s.height);let c=!0;if(s&&(l?(Lr()(this,ia).recycleTexture(s),c=!0):(u=s,c=!1)),c){const e=Lr()(this,ia).assembleTextureConfig(i,r,d,"rgba8unorm",1);u=Lr()(this,ia).acquireTexture(e),u&&(u.label="RD(".concat(t,")-rgbaTexture"))}const h=Lr()(this,ea).acquireBuffer("".concat(t,"_Y"),n,o*r,!0,!1),f=new Uint8Array(h.getMappedRange()),p=i*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<r;++e)f.set(a.subarray(e*p,(e+1)*p),e*o);return h.unmap(),e.copyBufferToTexture({buffer:h,offset:0,bytesPerRow:o,rowsPerImage:r},{texture:u},[i,r,1]),u}writeToYuvTexturesBufferGroup(e,t){if(!(Lr()(this,ea)&&e&&t&&t.buffer&&t.bufferConfig&&"mapped"==t.buffer.mapState))return null;let i=e.yPlane,r=e.cbPlane,a=e.crPlane;const s=Hr(this,va,Ba).call(this,Uint8Array.BYTES_PER_ELEMENT*i.width,256);let o=Uint8Array.BYTES_PER_ELEMENT;"nv12"==t.bufferConfig.colorFormat&&(o=Uint16Array.BYTES_PER_ELEMENT);const n=Hr(this,va,Ba).call(this,o*r.width,256),d=s*i.height;let u=0,l=s*i.height+n*r.height;a&&a.buffer&&(l+=n*a.height,u=0+d+n*r.height);let c=t.buffer,h=t.bufferArray;h||(h=c.getMappedRange(0,l),t.bufferArray=h);const f=new Uint8Array(h),p=i.width*Uint8Array.BYTES_PER_ELEMENT;if(0+i.height*s>=f.length)return console.error("[WebGPURenderer] write yPlane is out of range! yPlaneOffset=".concat(0,", yPlane.height=").concat(i.height,", yPlaneBytesPerRow=").concat(s,", mappedArray.len=").concat(f.length)),null;for(let e=0;e<i.height;++e)f.set(i.buffer.subarray(e*p,(e+1)*p),0+e*s);let _=p/2;if(0==u&&(_=r.width*Uint16Array.BYTES_PER_ELEMENT),d+r.height*n>f.length)return null;for(let e=0;e<r.height;++e)f.set(r.buffer.subarray(e*_,(e+1)*_),d+e*n);if(u>0){if(u+a.height*n>f.length)return null;for(let e=0;e<a.height;++e)f.set(a.buffer.subarray(e*_,(e+1)*_),u+e*n)}return t.buffer=c,t.yPlaneBuffer={bytesPerRow:s,rowsPerImage:i.height,offset:0},t.uPlaneBuffer={bytesPerRow:n,rowsPerImage:r.height,offset:d},t.vPlaneBuffer={bytesPerRow:n,rowsPerImage:a.height,offset:u},t}writeToRgbaTextureBuffer(e,t,i,r,a){if(!(Lr()(this,ea)&&r&&a&&a.buffer))return null;const s=Hr(this,va,Ba).call(this,Uint32Array.BYTES_PER_ELEMENT*t,256),o=a.buffer;let n=a.bufferArray;n||(n=o.getMappedRange(),a.bufferArray=n);const d=new Uint8Array(n),u=t*Uint32Array.BYTES_PER_ELEMENT;for(let e=0;e<i;++e)d.set(r.subarray(e*u,(e+1)*u),e*s);return a.buffer=o,a.bytesPerRow=s,a.rowsPerImage=i,a}produceVideoFrame(e,t){return new VideoFrame(e,t)}writeUniformBuffer(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!Lr()(this,Jr))return Object(Mi.h)("writeUniformBuffer() GPUDevice is not ready yet."),null;if(!t||0==t.length)return null;let r=i;return r||(r=Lr()(this,Jr).createBuffer({label:e,size:t.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})),Lr()(this,Jr).queue.writeBuffer(r,0,t,0,t.length),r}acquireBlendTextureSampler(){return Lr()(this,Jr)?(Lr()(this,ha)||Wr()(this,ha,Lr()(this,Jr).createSampler({})),Lr()(this,ha)):null}configureGPUContext(e){Lr()(this,zr)||(Wr()(this,zr,e.getContext("webgpu")),Lr()(this,zr)?Lr()(this,zr).configure({device:Lr()(this,Jr),format:Lr()(this,Zr),alphaMode:"premultiplied"}):Object(Mi.h)("configureGPUContext() webgpuContext is invalid! canvas=".concat(e)))}unconfigureGPUContext(){Lr()(this,zr)&&(Lr()(this,zr).unconfigure(),Wr()(this,zr,null))}acquireVideoFrameRenderPipeline(e,t){if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,aa)){const i=Lr()(this,Jr).createBindGroupLayout({label:"VideoFrameBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,externalTexture:{}},{binding:2,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),r={label:"VideoFrameRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"VideoFramePipelineLayout",bindGroupLayouts:[i]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"vertex_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]},{arrayStride:8,attributes:[{shaderLocation:1,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"fragment_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};t&&(r.multisample={count:4}),Wr()(this,aa,Lr()(this,Jr).createRenderPipeline(r))}return Lr()(this,aa)}acquireClearColorRenderPipeline(e){if(!Lr()(this,Jr)||!e)return null;if(!Lr()(this,sa)){const t=Lr()(this,Jr).createBindGroupLayout({label:"ClearColorBindGroupLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),i={label:"ClearColorRenderPipeline",layout:Lr()(this,Jr).createPipelineLayout({label:"ClearColorPipelineLayout",bindGroupLayouts:[t]}),vertex:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:e}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}};Wr()(this,sa,Lr()(this,Jr).createRenderPipeline(i))}return Lr()(this,sa)}acquireVideoFrameSampler(){return Lr()(this,Jr)?(Lr()(this,oa)||Wr()(this,oa,Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"})),Lr()(this,oa)):null}acquireYuvTexturesSamplers(){if(!Lr()(this,Jr))return null;if(!Lr()(this,ua)){Wr()(this,ua,[]);const e=Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"}),t=Lr()(this,Jr).createSampler({addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",magFilter:"linear",minFilter:"linear",mipmapFilter:"linear"});Lr()(this,ua).push(e),Lr()(this,ua).push(t)}return Lr()(this,ua)}clearAttachedCanvas(){if(!Lr()(this,Jr)||!Lr()(this,zr)||!Lr()(this,ra))return;if(!Lr()(this,Kr)||0==Lr()(this,Kr).width||0==Lr()(this,Kr).height)return;const e=Lr()(this,Jr).createCommandEncoder(),t=e.beginRenderPass({colorAttachments:[{view:Lr()(this,zr).getCurrentTexture().createView(),clearValue:{r:0,g:0,b:0,a:1},loadOp:"clear",storeOp:"store"}]}),i=Lr()(this,Jr).createRenderPipeline({layout:"auto",vertex:{module:Lr()(this,Jr).createShaderModule({code:wi.d}),entryPoint:"v_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,format:"float32x2",offset:0}]}]},fragment:{module:Lr()(this,Jr).createShaderModule({code:wi.d}),entryPoint:"f_main",targets:[{format:Lr()(this,Zr)}]},primitive:{topology:"triangle-list"}});t.setVertexBuffer(0,Lr()(this,ra)),t.setPipeline(i),t.draw(6),t.end(),Lr()(this,Jr).queue.submit([e.finish()])}clear(){console.log("WebGPURender.clear")}cleanup(){this.unconfigureGPUContext(),Wr()(this,Kr,null),Wr()(this,Zr,null),Wr()(this,$r,null),Wr()(this,ra,null),Wr()(this,aa,null),Wr()(this,sa,null),Wr()(this,oa,null),Wr()(this,na,null),Wr()(this,da,null),Wr()(this,ua,null),Wr()(this,la,null),Wr()(this,ca,null),Wr()(this,ha,null),Wr()(this,fa,null),Lr()(this,ea)&&Wr()(this,ea,null),Lr()(this,Jr)&&Wr()(this,Jr,null)}};function is(e,t){as(e,t),t.add(e)}function rs(e,t,i){as(e,t),t.set(e,i)}function as(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function ss(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var os=new WeakMap,ns=new WeakMap,ds=new WeakMap,us=new WeakMap,ls=new WeakSet,cs=new WeakSet,hs=new WeakSet,fs=new WeakSet,ps=new WeakSet;function _s(){return!0}function ms(){if(Lr()(this,ds)){let e={};return e.architecture=Lr()(this,ds).architecture,e.vendor=Lr()(this,ds).vendor,e}return null}async function Es(){if(!navigator.gpu)return Wr()(this,os,wi.C.NOT_SUPPORTED),!1;const e=await navigator.gpu.requestAdapter();if(!e)return Wr()(this,os,wi.C.CANNOT_REQ_ADAPTER),!1;return await e.requestDevice()?("function"==typeof e.requestAdapterInfo?(Wr()(this,ds,await e.requestAdapterInfo()),Lr()(this,ds)&&console.log("adapter info: ".concat(Lr()(this,ds).architecture,", ").concat(Lr()(this,ds).vendor))):"info"in e&&Wr()(this,ds,e.info),Wr()(this,os,wi.C.AVAILABLE),!0):(Wr()(this,os,wi.C.CANNOT_REQ_DEVICE),!1)}function gs(e){if(!e)return!1;const t=e.vendor;return-1!==wi.g.indexOf(t)}function Ss(e,t,i){return class{static produce(e,t,i){let r=null;return e===wi.j.WEBGPU&&(r=new ts(t,i)),r}}.produce(e,t,i)}var vs=class{constructor(){is(this,ps),is(this,fs),is(this,hs),is(this,cs),is(this,ls),rs(this,os,{writable:!0,value:wi.C.AVAILABLE}),rs(this,ns,{writable:!0,value:wi.j.WEBGL}),rs(this,ds,{writable:!0,value:null}),rs(this,us,{writable:!0,value:new Map})}async evaluate(e){Wr()(this,ns,wi.j.WEBGL);if(!ss(this,ls,_s).call(this))return Lr()(this,ns);if(!e.allowedOnTargetPlatforms)return Lr()(this,ns);if(!e.allowedOnTargetBrowsers)return Lr()(this,ns);if(!await ss(this,hs,Es).call(this))return Lr()(this,ns);const t=ss(this,cs,ms).call(this);if(!ss(this,fs,gs).call(this,t))return Lr()(this,ns);let i=new OffscreenCanvas(1,1);return i.getContext("webgpu")?(i=null,Wr()(this,ns,wi.j.WEBGPU),Lr()(this,ns)):(i=null,Lr()(this,ns))}acquireRenderer(e,t){let i=null;return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&Lr()(this,us).clear(),Lr()(this,us).has(e)&&(i=Lr()(this,us).get(e),i&&(e&&(i.setCanvas(e),i.initialize(e)),t&&i.setDevice(t.acquireGPUDevice()))),null==i&&(i=ss(this,ps,Ss).call(this,Lr()(this,ns),e,t),i&&Lr()(this,us).set(e,i)),i}rendererReinitialize(){if(Lr()(this,us))for(const[e,t]of Lr()(this,us))t&&t.initialize(e)}rendererUnconfigureGPUContext(){if(Lr()(this,us))for(const[e,t]of Lr()(this,us))t&&t.unconfigureGPUContext()}getRendererType(){return Lr()(this,ns)}setRendererType(e){Wr()(this,ns,e)}isWebGPURendererType(){return Lr()(this,ns)===wi.j.WEBGPU}isWebGLRendererType(){return Lr()(this,ns)===wi.j.WEBGL}isWebGL2RendererType(){return Lr()(this,ns)===wi.j.WEBGL_2}cleanup(){for(const[e,t]of Lr()(this,us))t&&t.cleanup();Lr()(this,us).clear()}};function Cs(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function As(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Rs=new WeakSet,Ts=new WeakSet;function Is(e){e.forEach(e=>{e.consumePendingGPUEvents()})}function bs(e){if(!e||0==e.length)return!0;return-1==e.findIndex(e=>{if(!e)return!1;return!!e.getTextureLayerByZIndex(wi.w.VS_BASE)&&e.isRenderingStateReady()})}var Os=class{constructor(){Cs(this,Ts),Cs(this,Rs)}render(e,t){return e?e.isGPUDeviceReady()?t&&0!=t.length?(As(this,Rs,Is).call(this,t),void(As(this,Ts,bs).call(this,t)||e.render(t))):(console.warn("[RendererController] render displays are not available!"),void Object(Mi.d)("WGPU RendererController_render() displays are not available!")):(console.log("[RendererController] GPU device is not ready!"),void Object(Mi.d)("WGPU RendererController_render() GPU device is not ready!")):(console.warn("[RendererController] renderer is not attached!"),void Object(Mi.d)("WGPU RendererController_render() renderer is not attached!"))}};function Ds(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var ws=new WeakMap,ys=new WeakMap,Ms=new WeakMap,Ps=new WeakMap,Ns=new WeakMap,Vs=new WeakMap,ks=new WeakMap,Us=new WeakMap,Ls=new WeakMap,xs=new WeakMap,Ws=new WeakMap,Bs=new WeakMap,Gs=new WeakMap,Fs=new WeakMap,Hs=new WeakMap,Ks=new WeakMap,js=new WeakMap,Ys=new WeakMap;var qs=class{constructor(e,t){Ds(this,ws,{writable:!0,value:0}),Ds(this,ys,{writable:!0,value:-1}),Ds(this,Ms,{writable:!0,value:0}),Ds(this,Ps,{writable:!0,value:0}),Ds(this,Ns,{writable:!0,value:-1}),Ds(this,Vs,{writable:!0,value:null}),Ds(this,ks,{writable:!0,value:-1}),Ds(this,Us,{writable:!0,value:null}),Ds(this,Ls,{writable:!0,value:null}),Ds(this,xs,{writable:!0,value:null}),Ds(this,Ws,{writable:!0,value:!1}),Ds(this,Bs,{writable:!0,value:null}),Ds(this,Gs,{writable:!0,value:null}),Ds(this,Fs,{writable:!0,value:null}),Ds(this,Hs,{writable:!0,value:null}),Ds(this,Ks,{writable:!0,value:null}),Ds(this,js,{writable:!0,value:!1}),Ds(this,Ys,{writable:!0,value:""}),Wr()(this,ws,e),Wr()(this,ys,t)}getIndex(){return Lr()(this,ws)}lock(){Wr()(this,Ws,!0)}unlock(){Wr()(this,Ws,!1)}isLocked(){return Lr()(this,Ws)}getZIndex(){return Lr()(this,ys)}setWidth(e){Wr()(this,Ms,e)}setHeight(e){Wr()(this,Ps,e)}getWidth(){return Lr()(this,Ms)}getHeight(){return Lr()(this,Ps)}getRawData(){return Lr()(this,Vs)}setRawData(e){Wr()(this,Vs,e)}setIsNew(e){Wr()(this,js,e)}isNew(){return Lr()(this,js)}setColorFormat(e){Wr()(this,Ys,e)}getColorFormat(){return Lr()(this,Ys)}setPendingVideoFrame(e){Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null)),Wr()(this,Bs,e)}clearPendingVideoFrame(){Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null))}setTextureLayerType(e){Wr()(this,Ns,e)}getTextureLayerType(){return Lr()(this,Ns)}setTextureType(e){Wr()(this,ks,e)}getTextureType(){return Lr()(this,ks)}getPendingVideoFrame(){return Lr()(this,Bs)}getUVCoords(){return Lr()(this,Ls)}setUVCoords(e){Wr()(this,Ls,e)}getUVCoordsBuffer(){return Lr()(this,Hs)}setUVCoordsBuffer(e){Wr()(this,Hs,e)}evalViewport(e,t,i,r,a){Lr()(this,xs)||Wr()(this,xs,{}),Lr()(this,xs).x=Math.floor(e),Lr()(this,xs).w=Math.floor(i),Lr()(this,xs).h=Math.floor(r),Lr()(this,Ns)==wi.v.BASE_LAYER?Lr()(this,xs).y=Math.floor(a-(t+r)):Lr()(this,xs).y=Math.floor(t),Lr()(this,xs).x<0&&(Lr()(this,xs).x=0),Lr()(this,xs).y<0&&(Lr()(this,xs).y=0),Lr()(this,xs).minDepth=0,Lr()(this,xs).maxDepth=1}setViewport(e){Wr()(this,xs,e)}getViewport(){return Lr()(this,xs)}getTextureGroup(){return Lr()(this,Us)}setTextureGroup(e){Wr()(this,Us,e)}setUniformBuffer(e){Wr()(this,Gs,e)}getUniformBuffer(){return Lr()(this,Gs)}setClearColorUniformBuffer(e){Wr()(this,Fs,e)}getClearColorUniformBuffer(){return Lr()(this,Fs)}setTextureBufferGroup(e){Wr()(this,Ks,e)}getTextureBufferGroup(){return Lr()(this,Ks)}destroyTextureBufferGroup(){Lr()(this,Ks)&&Wr()(this,Ks,null)}recycle(e){this.destroyTextureBufferGroup(),e&&e.destroyTextureGroup(this),Lr()(this,Bs)&&(Lr()(this,Bs).close(),Wr()(this,Bs,null)),Lr()(this,Gs)&&(Lr()(this,Gs).destroy(),Wr()(this,Gs,null)),Lr()(this,Fs)&&(Lr()(this,Fs).destroy(),Wr()(this,Fs,null)),Wr()(this,ws,-1),Wr()(this,ys,-1),Wr()(this,Ns,wi.v.UNKNOWN),Wr()(this,Vs,null),Wr()(this,ks,wi.x.UNKNOWN),Wr()(this,Ls,null),Wr()(this,xs,null),Wr()(this,Ws,!1),Wr()(this,js,!1),Wr()(this,Ys,"")}};function Xs(e,t){zs(e,t),t.add(e)}function Qs(e,t,i){zs(e,t),t.set(e,i)}function zs(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Js(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Zs=new WeakMap,$s=new WeakMap,eo=new WeakMap,to=new WeakMap,io=new WeakMap,ro=new WeakMap,ao=new WeakMap,so=new WeakMap,oo=new WeakMap,no=new WeakMap,uo=new WeakMap,lo=new WeakMap,co=new WeakMap,ho=new WeakMap,fo=new WeakMap,po=new WeakMap,_o=new WeakMap,mo=new WeakMap,Eo=new WeakMap,go=new WeakMap,So=new WeakMap,vo=new WeakMap,Co=new WeakMap,Ao=new WeakMap,Ro=new WeakMap,To=new WeakMap,Io=new WeakMap,bo=new WeakMap,Oo=new WeakMap,Do=new WeakMap,wo=new WeakMap,yo=new WeakMap,Mo=new WeakMap,Po=new WeakMap,No=new WeakMap,Vo=new WeakMap,ko=new WeakMap,Uo=new WeakMap,Lo=new WeakMap,xo=new WeakMap,Wo=new WeakSet,Bo=new WeakSet,Go=new WeakSet,Fo=new WeakSet,Ho=new WeakSet,Ko=new WeakSet,jo=new WeakSet,Yo=new WeakSet,qo=new WeakSet,Xo=new WeakSet,Qo=new WeakSet,zo=new WeakSet,Jo=new WeakSet,Zo=new WeakSet,$o=new WeakSet,en=new WeakSet,tn=new WeakSet,rn=new WeakSet,an=new WeakSet,sn=new WeakSet,on=new WeakSet,nn=new WeakSet,dn=new WeakSet,un=new WeakSet,ln=new WeakSet,cn=new WeakSet,hn=new WeakSet,fn=new WeakSet,pn=new WeakSet,_n=new WeakSet;function mn(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(Js(this,zo,On).call(this),!Lr()(this,ho)||!Lr()(this,fo)||!Lr()(this,ho).isGPUDeviceReady())return void(i instanceof VideoFrame&&i.close());const a=wi.w.VS_BASE,s=Js(this,Zo,wn).call(this,a),o=s.isLocked();if(o){const a=s.getPendingVideoFrame();!a||a.codedWidth==e&&a.codedHeight==t?i instanceof VideoFrame&&i.close():i instanceof VideoFrame?s.setPendingVideoFrame(i):(r&&Js(this,Go,gn).call(this,s,e,t,i),Object(Mi.h)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!"))}else{if(i instanceof VideoFrame){s.getPendingVideoFrame()!=i&&s.setPendingVideoFrame(i)}else r&&Js(this,Go,gn).call(this,s,e,t,i),Object(Mi.h)("updateVideoFrameBaseTextureLayer() an unexpected case!"),console.error("updateVideoFrameBaseTextureLayer() an unexpected case!");s.setTextureLayerType(wi.v.BASE_LAYER),s.setTextureType(wi.x.EXTERNAL_TEX),s.lock()}this.markRenderingStateReady()}function En(e,t,i,r,a,s){Js(this,zo,On).call(this);const o=wi.w.VS_BASE,n=Js(this,Zo,wn).call(this,o);if(n.setTextureLayerType(wi.v.BASE_LAYER),n.setTextureType(wi.x.GPU_TEX_YUV),n.clearPendingVideoFrame(),n.isLocked()){const e=n.getWidth(),r=n.getHeight();e==t&&r==i||(n.setWidth(t),n.setHeight(i),n.setIsNew(!0))}else n.setWidth(t),n.setHeight(i),n.setIsNew(!0),n.lock();const d=Js(this,un,Wn).call(this,r,t,i,s),u=Lr()(this,ho).writeToYuvTexturesBufferGroup(d,a);n.setTextureBufferGroup(u)}function gn(e,t,i,r){const a=Js(this,cn,Gn).call(this,t,i);a.label="RgbaTexBuffer(".concat(e.getIndex(),")-").concat(a.size);let s=e.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,e,s,a),!s||!s.buffer)return console.warn("[updateRgbaBaseTexLayer()] texLayer(".concat(e.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Ko,Cn).call(this,Lr()(this,Zs),t,i,r,s),this.markRenderingStateReady()}function Sn(e,t,i,r,a){const s=wi.w.CURSOR,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BLEND_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function vn(e,t,i,r,a){const s=wi.w.WATERMARK,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BLEND_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function Cn(e,t,i,r,a){const s=wi.w.VS_BASE,o=Js(this,Zo,wn).call(this,s);if(o.setTextureLayerType(wi.v.BASE_LAYER),o.setTextureType(wi.x.GPU_TEX_RGBA),o.isLocked()){const e=o.getWidth(),r=o.getHeight();e==t&&r==i||(o.setWidth(t),o.setHeight(i),o.setIsNew(!0))}else o.setWidth(t),o.setHeight(i),o.setIsNew(!0),o.lock();const n=Lr()(this,ho).writeToRgbaTextureBuffer(e,t,i,r,a);o.setTextureBufferGroup(n)}function An(e,t,i){if(!Js(this,pn,Kn).call(this,e))return;if(!Lr()(this,fo))return void console.log("drawVideoFrameBaseTextureLayer() canvas is invalid? canvas=".concat(Lr()(this,fo)));const r=wi.w.VS_BASE,a=Js(this,Zo,wn).call(this,r);let s=a.getUVCoords(),o=Js(this,qo,Tn).call(this,Lr()(this,to),Lr()(this,io),Lr()(this,eo),Lr()(this,oo),i,e.width,e.height);s||(s=new Float32Array(12)),s.set(o,0),a.setUVCoords(s);const n=Lr()(this,eo).width>Lr()(this,eo).height,d=Lr()(this,fo).width>e.width,u=Lr()(this,fo).height>e.height;let l=d?e.width:Lr()(this,fo).width,c=u?e.height:Lr()(this,fo).height;if(n){const i=Math.abs(t.left)*l,r=Math.abs(t.top)*c,s=e.x+(e.width-i)/2;let o=0;o=e.y>=0?e.y+(e.height-r)/2:0,a.evalViewport(s,o,i,r,Lr()(this,fo).height)}else{let t=e.height*Lr()(this,eo).width/Lr()(this,eo).height;t>e.width&&(t=e.width);let i=Lr()(this,eo).height/Lr()(this,eo).width*t;const r=e.x+e.width/2-t/2;let s=0;if(e.y>0)s=e.y+(e.height-i)/2;else if(0===e.y){s=e.height>i?(e.height-i)/2:0}else s=0;a.evalViewport(r,s,t,i,Lr()(this,fo).height)}const h=Js(this,en,Mn).call(this);h&&h.buffer&&a.setUniformBuffer(h.buffer)}function Rn(e,t,i){const r=wi.w.VS_BASE,a=Js(this,Zo,wn).call(this,r);let s=a.getUVCoords(),o=Js(this,qo,Tn).call(this,Lr()(this,to),Lr()(this,io),Lr()(this,eo),Lr()(this,oo),i,e.width,e.height);s||(s=new Float32Array(12)),s.set(o,0),a.setUVCoords(s);const n=Lr()(this,eo).width>Lr()(this,eo).height,d=Lr()(this,fo).width>e.width,u=Lr()(this,fo).height>e.height;let l=d?e.width:Lr()(this,fo).width,c=u?e.height:Lr()(this,fo).height;if(n){const i=Math.abs(t.left)*l,r=Math.abs(t.top)*c,s=e.x+(e.width-i)/2;let o=0;o=e.y>=0?e.y+(e.height-r)/2:0,a.evalViewport(s,o,i,r,Lr()(this,fo).height)}else{let t=e.height*Lr()(this,eo).width/Lr()(this,eo).height;t>e.width&&(t=e.width);let i=Lr()(this,eo).height/Lr()(this,eo).width*t;const r=e.x+e.width/2-t/2;let s=0;if(e.y>0)s=e.y+(e.height-i)/2;else if(0===e.y){s=e.height>i?(e.height-i)/2:0}else s=0;a.evalViewport(r,s,t,i,Lr()(this,fo).height)}let h=null;h=a.getTextureType()==wi.x.EXTERNAL_TEX?Js(this,en,Mn).call(this):Js(this,tn,Pn).call(this,Lr()(this,oo)),h&&h.buffer&&a.setUniformBuffer(h.buffer)}function Tn(e,t,i,r,a,s,o){const n=this.isUseFillMode({w:i.width,h:i.height,rotation:r}),d={width:s,height:o},u={width:e,height:t};return Object(ji.c)(n,d,u,i,r,a)}function In(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=e.width,o=e.height;a&&(s=a.width,o=a.height);let n,d,u,l,c=r==wi.s||r==wi.r?i:t,h=r==wi.s||r==wi.r?t:i,f=c/h*o,p=h/c*s;f>s?(n=0,u=1,d=(o-p)/2/o,l=1-d):(d=0,l=1,n=(s-f)/2/s,u=1-n),n=2*n-1,u=2*u-1,d=1-2*d,l=1-2*l;let _=[{x:u,y:d},{x:u,y:l},{x:n,y:l},{x:u,y:d},{x:n,y:d},{x:n,y:l}];Lr()(this,ho)&&Lr()(this,ho).updateVertexCoords(_)}function bn(e,t,i,r,a){var s,o,n,d;if(this.isUseFillMode({w:i,h:r,rotation:a}))s=0,o=0,n=1,d=1;else{var u=a==wi.s||a==wi.r?r:i,l=a==wi.s||a==wi.r?i:r,c=u/l*t;c>e?(s=0,n=1,d=1-(o=(t-l/u*e)/2/t)):(o=0,d=1,n=1-(s=(e-c)/2/e))}return{top:o=1-2*o,left:s=2*s-1,right:n=2*n-1,bottom:d=1-2*d}}function On(){Lr()(this,ho)||Object(Mi.h)("[WebGPURenderDisplay] renderer is not attached!")}function Dn(e){if(e<0)throw new Error("[hasZIndexTexLayer] ".concat(e," is an invalid parameter!"));return Lr()(this,Lo).has(e)}function wn(e){let t=null;return Js(this,Jo,Dn).call(this,e)?t=Lr()(this,Lo).get(e):(t=new qs(Lr()(this,Zs),e),Lr()(this,Lo).set(e,t)),t}function yn(e,t,i){Lr()(this,fo)&&(Wr()(this,Do,e),Wr()(this,Po,e&&i===s.VIDEO_BGRA?1:0),Wr()(this,No,t),e||Wr()(this,wo,i))}function Mn(){const e={rotation:Lr()(this,oo)};let t=null,i=Lr()(this,Uo).get(wi.w.VS_BASE);if(i){let r=i.buffer,a=i.uniform;if(a)if("yuvMode"in a)r&&r.destroy(),i=null;else if("rotation"in a){if(a.rotation!=e.rotation){const i=Js(this,sn,kn).call(this,e);t=Lr()(this,ho).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i,r)}}else r&&r.destroy(),i=null}if(!i){const i=Js(this,sn,kn).call(this,e);t=Lr()(this,ho).writeUniformBuffer("VideoFrameTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i)}return t?(i||(i={}),i.uniform=e,i.buffer=t,Lr()(this,Uo).set(wi.w.VS_BASE,i),i):null}function Pn(e){if(-1==Lr()(this,yo))return null;const t={yuvMode:s.VIDEO_I420,colorRange:Lr()(this,yo),rotation:e};let i=null,r=Lr()(this,Uo).get(wi.w.VS_BASE);if(r){const e=r.uniform;if(i=r.buffer,e.yuvMode!=t.yuvMode||e.colorRange!=t.colorRange||e.rotation!=t.rotation){const e=Js(this,on,Un).call(this,t);i=Lr()(this,ho).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),e,i)}}else{r={};const e=Js(this,on,Un).call(this,t);i=Lr()(this,ho).writeUniformBuffer("YuvTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),e)}return i?(r.uniform=t,r.buffer=i,Lr()(this,Uo).set(wi.w.VS_BASE,r),r):null}function Nn(){if(!Lr()(this,ko))return null;const e={cursorFlag:Lr()(this,No),cursorInfo:Lr()(this,ko)};let t=null,i=Lr()(this,Uo).get(wi.w.CURSOR);if(i){const r=i.uniform;if(t=i.buffer,r.cursorFlag!=e.cursorFlag||r.cursorInfo!=e.cursorInfo){const i=Js(this,nn,Ln).call(this,e);t=Lr()(this,ho).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),i,t)}}else{i={};const r=Js(this,nn,Ln).call(this,e);t=Lr()(this,ho).writeUniformBuffer("CursorTexLayerUniformBuffer(idx=".concat(Lr()(this,Zs),")"),r)}return t?(i.uniform=e,i.buffer=t,Lr()(this,Uo).set(wi.w.CURSOR,i),i):null}function Vn(e,t){return Math.ceil(e/t)*t}function kn(e){const t=Js(this,an,Vn).call(this,1*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.rotation,i}function Un(e){const t=Js(this,an,Vn).call(this,3*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.yuvMode,i[1]=e.colorRange,i[2]=e.rotation,i}function Ln(e){const t=Js(this,an,Vn).call(this,5*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e.cursorFlag,i[1]=e.cursorInfo.x,i[2]=e.cursorInfo.y,i[3]=e.cursorInfo.w,i[4]=e.cursorInfo.h,i}function xn(e){if(!e||0==e.length)return null;const t=Js(this,an,Vn).call(this,4*Float32Array.BYTES_PER_ELEMENT,16),i=new Float32Array(t/Float32Array.BYTES_PER_ELEMENT);return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i}function Wn(e,t,i,r){let a=t*i,o=e.subarray(0,a),n=0,d=0;r==s.VIDEO_I420?(d=t/2*i/2,n=d):r==s.VIDEO_NV12&&(d=t*i/2,n=0);let u=e.subarray(a,a+d);return{yPlane:{buffer:o,width:t,height:i},crPlane:{buffer:0!=n?e.subarray(a+d,a+d+n):null,width:t/2,height:i/2},cbPlane:{buffer:u,width:t/2,height:i/2}}}function Bn(e,t,i){let r="",a=0,o=0,n=0;i==s.VIDEO_I420?(a=e/2*t/2,o=a,r="i420",n=Uint8Array.BYTES_PER_ELEMENT):i==s.VIDEO_NV12&&(a=e*t/2,o=0,r="nv12",n=Uint16Array.BYTES_PER_ELEMENT);const d=Js(this,an,Vn).call(this,Uint8Array.BYTES_PER_ELEMENT*e,256),u=Js(this,an,Vn).call(this,n*e/2,256);let l=d*t+u*t/2;o>0&&(l+=u*t/2);return{colorFormat:r,size:l,yPlane:{width:d,height:t},uvPlane:{width:u,height:t/2}}}function Gn(e,t){const i=Js(this,an,Vn).call(this,Uint32Array.BYTES_PER_ELEMENT*e,256);return{colorFormat:"rgba",width:i,height:t,size:i*t}}function Fn(e,t,i){if(t)if(t.buffer)if(i.size>t.buffer.size)Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;else{"mapped"==t.buffer.mapState?t.bufferArray&&t.bufferArray.byteLength<i.size&&(Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i):(Lr()(this,Oo).recycleTextureBufferGroup(e),t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i)}else t.buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;else(t={}).buffer=Lr()(this,Oo).requestTextureBuffer(i),t.bufferConfig=i;return t}function Hn(){const e=[];for(let t=0;t<wi.a.length;++t){let i=wi.a[t];e.push(i.u),e.push(i.v)}return e}function Kn(e){return e&&0!=e.width&&0!=e.height}function jn(){if(Lr()(this,Oo))for(const[e,t]of Lr()(this,Lo))t&&(Lr()(this,Oo).recycleTextureBufferGroup(t,!1),Lr()(this,Oo).destroyTextureGroup(t,!0));else Object(Mi.h)("clearTexLayerResources() GPUResManager is not attached!")}var Yn=class{constructor(e,t){Xs(this,_n),Xs(this,pn),Xs(this,fn),Xs(this,hn),Xs(this,cn),Xs(this,ln),Xs(this,un),Xs(this,dn),Xs(this,nn),Xs(this,on),Xs(this,sn),Xs(this,an),Xs(this,rn),Xs(this,tn),Xs(this,en),Xs(this,$o),Xs(this,Zo),Xs(this,Jo),Xs(this,zo),Xs(this,Qo),Xs(this,Xo),Xs(this,qo),Xs(this,Yo),Xs(this,jo),Xs(this,Ko),Xs(this,Ho),Xs(this,Fo),Xs(this,Go),Xs(this,Bo),Xs(this,Wo),Qs(this,Zs,{writable:!0,value:0}),Qs(this,$s,{writable:!0,value:0}),Qs(this,eo,{writable:!0,value:{}}),Qs(this,to,{writable:!0,value:0}),Qs(this,io,{writable:!0,value:0}),Qs(this,ro,{writable:!0,value:0}),Qs(this,ao,{writable:!0,value:0}),Qs(this,so,{writable:!0,value:-1}),Qs(this,oo,{writable:!0,value:wi.p}),Qs(this,no,{writable:!0,value:s.VIDEO_INVALID}),Qs(this,uo,{writable:!0,value:0}),Qs(this,lo,{writable:!0,value:0}),Qs(this,co,{writable:!0,value:!1}),Qs(this,ho,{writable:!0,value:null}),Qs(this,fo,{writable:!0,value:null}),Qs(this,po,{writable:!0,value:!1}),Qs(this,_o,{writable:!0,value:0}),Qs(this,mo,{writable:!0,value:!1}),Qs(this,Eo,{writable:!0,value:0}),Qs(this,go,{writable:!0,value:0}),Qs(this,So,{writable:!0,value:0}),Qs(this,vo,{writable:!0,value:0}),Qs(this,Co,{writable:!0,value:wi.k.IDLE}),Qs(this,Ao,{writable:!0,value:0}),Qs(this,Ro,{writable:!0,value:0}),Qs(this,To,{writable:!0,value:0}),Qs(this,Io,{writable:!0,value:!1}),Qs(this,bo,{writable:!0,value:0}),Qs(this,Oo,{writable:!0,value:null}),Qs(this,Do,{writable:!0,value:0}),Qs(this,wo,{writable:!0,value:s.VIDEO_INVALID}),Qs(this,yo,{writable:!0,value:-1}),Qs(this,Mo,{writable:!0,value:0}),Qs(this,Po,{writable:!0,value:0}),Qs(this,No,{writable:!0,value:0}),Qs(this,Vo,{writable:!0,value:0}),Qs(this,ko,{writable:!0,value:null}),Qs(this,Uo,{writable:!0,value:new Map}),Qs(this,Lo,{writable:!0,value:new Map}),Qs(this,xo,{writable:!0,value:{top:0,left:0,bottom:0,right:0}}),O()(this,"reuse",!1),Wr()(this,Zs,e),Wr()(this,Oo,t),Wr()(this,$s,e||0),Lr()(this,eo).top=0,Lr()(this,eo).left=0,Lr()(this,eo).width=0,Lr()(this,eo).height=0,Wr()(this,to,0),Wr()(this,io,0),Wr()(this,ro,0),Wr()(this,ao,0),Wr()(this,no,s.VIDEO_INVALID),Wr()(this,uo,0),Wr()(this,lo,0),this.markRenderingStateIdle()}addRenderer(e){Wr()(this,ho,e)}removeRenderer(){Wr()(this,ho,null)}setGPUResMgr(e){Wr()(this,Oo,e)}removeGPUResMgr(){Wr()(this,Oo,null)}attachCanvas(e){Wr()(this,fo,e)}getAttachedCanvas(){return Lr()(this,fo)}detachCanvas(){Wr()(this,fo,null)}bindSsrc(e){Wr()(this,bo,e)}unbindSsrc(){Wr()(this,bo,0)}drawSelfVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!Js(this,pn,Kn).call(this,e))return;Js(this,zo,On).call(this),Js(this,$o,yn).call(this,1,Lr()(this,Io),Lr()(this,no));let r=null;r=t?Js(this,Qo,bn).call(this,e.width,e.height,e.width,e.height,wi.p):Js(this,Qo,bn).call(this,e.width,e.height,Lr()(this,eo).width,Lr()(this,eo).height,Lr()(this,oo)),Js(this,jo,An).call(this,e,r,i)}drawRemoteVideo(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Lr()(this,fo))return;if(!Js(this,pn,Kn).call(this,e))return;Js(this,zo,On).call(this);const i=this.isRgbaMode(Lr()(this,no))?1:0;Js(this,$o,yn).call(this,i,Lr()(this,Io),Lr()(this,no));const r=Js(this,Qo,bn).call(this,e.width,e.height,Lr()(this,eo).width,Lr()(this,eo).height,Lr()(this,oo));Js(this,Yo,Rn).call(this,e,r,t)}drawCursor(e,t,i,r,a){if(!Lr()(this,Ao)||e&&(r<0||a<0))return;const s=wi.w.CURSOR,o=Js(this,Zo,wn).call(this,s),n=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(o.setUVCoords(n.getUVCoords()),o.evalViewport(t,i,r,a,Lr()(this,fo).height),e&&Lr()(this,Io)){const e={x:t/Lr()(this,eo).width,y:i/Lr()(this,eo).height,w:r/Lr()(this,eo).width,h:a/Lr()(this,eo).height};Wr()(this,ko,e)}else{const e={x:0,y:0,w:0,h:0};Wr()(this,ko,e)}const d=Js(this,rn,Nn).call(this);d&&d.buffer&&o.setUniformBuffer(d.buffer)}setMultiView(e){Wr()(this,po,e)}setFillMode(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Wr()(this,uo,e),Wr()(this,lo,t)}getFillMode(){return Lr()(this,uo)}setColorRange(e){Wr()(this,yo,e)}getFillModeForResolution(){return Lr()(this,lo)}getTextureIndex(){return Lr()(this,$s)}isUseFillMode(e){let{w:t,h:i,rotation:r}=e;if(!Lr()(this,uo))return!1;if(!Lr()(this,lo))return!0;if(!t||!i)return!1;const a=r===wi.s||r===wi.s?i/t:t/i;return(Array.isArray(Lr()(this,lo))?Lr()(this,lo):[Lr()(this,lo)]).some(e=>Math.abs(a-e)<.01)}setVideoMode(e){Wr()(this,no,e)}getVideoMode(){return Lr()(this,no)}setWatermarkFlag(e){Wr()(this,_o,e),e||(this.setWatermarkRepeated(!1),this.setWatermarkOpacity(),this.setWatermarkPosition(16))}setWatermarkRepeated(e){Wr()(this,mo,e)}isWatermarkRepeated(){return!!Lr()(this,mo)}setWatermarkOpacity(e){Wr()(this,Eo,e||.15)}getWatermarkOpacity(){return Lr()(this,Eo)}setWatermarkPosition(e){Wr()(this,go,e||16)}getWatermarkPosition(){return Lr()(this,go)}isSetWatermark(){return Lr()(this,_o)}isRgbaMode(e){return-1!==[s.VIDEO_RGBA,s.VIDEO_BGRA].indexOf(e)}getTextureWidth(){return Lr()(this,to)}getTextureHeight(){return Lr()(this,io)}getCroppingParams(){return Lr()(this,eo)}recoverTextures(){}updateWatermark(e,t,i){const r=wi.w.WATERMARK,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(Object(ji.g)(Lr()(this,Oo),e,t))return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(Wr()(this,So,e),Wr()(this,vo,t),Wr()(this,_o,1),Wr()(this,Mo,1),!Js(this,Jo,Dn).call(this,wi.w.VS_BASE)){console.log("[updateWatermark] base layer is not ready, set data to the texture layer for creating texture later."),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending();const r={index:Lr()(this,Zs),width:e,height:t,data:i};return void a.setRawData(r)}const s=Js(this,Zo,wn).call(this,wi.w.VS_BASE).getViewport();if(s)try{const r=Js(this,cn,Gn).call(this,e,t);r.label="WatermarkTexBuffer(".concat(a.getIndex(),")-").concat(r.size);let o=a.getTextureBufferGroup();if(o=Js(this,hn,Fn).call(this,a,o,r),!o||!o.buffer)return console.warn("[updateWatermark()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Ho,vn).call(this,Lr()(this,Zs),e,t,i,o),s&&a.setViewport(s);let n=a.getUVCoords(),d=Js(this,fn,Hn).call(this);n||(n=new Float32Array(12)),n.set(d,0),a.setUVCoords(n),a.setRawData(null),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateWatermark() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateWatermark() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}else{console.log("[updateWatermark] base layer's viewport is not ready, set data to the texture layer for creating texture later."),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending();const r={index:Lr()(this,Zs),width:e,height:t,data:i};a.setRawData(r)}}updateCursor(e,t,i){const r=wi.w.CURSOR,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();Wr()(this,Ro,e),Wr()(this,To,t),Wr()(this,Io,1);try{const r=Js(this,cn,Gn).call(this,e,t);r.label="CursorTexBuffer(".concat(a.getIndex(),")-").concat(r.size);let s=a.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,a,s,r),!s||!s.buffer)return void console.warn("[updateCursor()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!"));if("mapped"!=s.buffer.mapState)return void console.error("updateCursor() why buffer state is not mapped!");Js(this,Fo,Sn).call(this,Lr()(this,Zs),e,t,i,s),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateCursor() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateCursor() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}}updateSelfVideoTextures(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;Js(this,zo,On).call(this);const o=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(!Lr()(this,fo)||!Lr()(this,ho))return i&&i instanceof VideoFrame&&i.close(),Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length%4!=0)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();if(1!=e||1!=t){if(Wr()(this,to,e),Wr()(this,io,t),Wr()(this,oo,s),Object.assign(Lr()(this,eo),r),!a)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();try{Js(this,Wo,mn).call(this,e,t,i),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateSelfVideoTextures() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateSelfVideoTextures() error:".concat(e.message)),this.markRenderingStatePending(),i instanceof VideoFrame&&i.close();Js(this,Zo,wn).call(this,wi.w.VS_BASE).setPendingVideoFrame(null)}}else{o.setPendingVideoFrame(null),Js(this,_n,jn).call(this),i&&i instanceof VideoFrame&&i.close();const e=Js(this,dn,xn).call(this,i);if(e)if(Lr()(this,ho)){let t=o.getClearColorUniformBuffer();t=Lr()(this,ho).writeUniformBuffer("ClearColorUniformBuffer",e,t),o.setClearColorUniformBuffer(t),o.setTextureType(wi.x.CLEAR_COLOR)}else console.warn("updateSelfVideoTextures() renderer is not attached!");else Object(Mi.h)("updateSelfVideoTextures() cannot create the uniform buffer array.");this.markRenderingStateReady()}}updateRemoteVideoTexturesImageBitmap(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const o=Js(this,Zo,wn).call(this,wi.w.VS_BASE);if(!Lr()(this,ho)||!Lr()(this,fo))return i&&i instanceof VideoFrame&&i.close(),Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(e<=0||t<=0||!i)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();if(Wr()(this,to,e),Wr()(this,io,t),Number.isNaN(a)||Wr()(this,oo,a),Object.assign(Lr()(this,eo),r),!s)return i&&i instanceof VideoFrame&&i.close(),void this.markRenderingStatePending();try{Js(this,Wo,mn).call(this,e,t,i),this.markRenderingStateReady()}catch(e){console.log("[WebGPURenderDisplay] updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTexturesImageBitmap() error:".concat(e.message)),this.markRenderingStatePending(),i instanceof VideoFrame&&i.close(),o.setPendingVideoFrame(null)}}updateRemoteVideoTextures(e,t,i,r,a){let s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=arguments.length>6?arguments[6]:void 0;const n=wi.w.VS_BASE,d=Js(this,Zo,wn).call(this,n);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(!Js(this,pn,Kn).call(this,o))return Lr()(this,Oo).recycleTextureBufferGroup(d),void this.markRenderingStatePending();Js(this,zo,On).call(this);const u=this.isRgbaMode(Lr()(this,no));if(e<=0||t<=0||!r||!r.length||r.length!=e*t*3/2&&!u||i&&(i.top<0||i.left<0||i.left+i.width>e||i.top+i.height>t))return Lr()(this,Oo).recycleTextureBufferGroup(d),void this.markRenderingStatePending();if(u)try{Js(this,Wo,mn).call(this,e,t,r,!0);let o=s?0:1;Wr()(this,yo,o),Wr()(this,oo,a),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height)}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),d.setPendingVideoFrame(null),this.markRenderingStatePending()}finally{Lr()(this,Oo).recycleTextureBufferGroup(d)}else try{const o=Js(this,ln,Bn).call(this,e,t,Lr()(this,no));o.label="YuvVideoTexBuffer(".concat(d.getIndex(),")-").concat(o.size),d.setColorFormat(o.colorFormat);let n=d.getTextureBufferGroup();if(n=Js(this,hn,Fn).call(this,d,n,o),!n||!n.buffer)return console.warn("[updateRemoteVideoTextures()] texLayer(".concat(d.getIndex(),") cannot apply a GPUBuffer!")),void this.markRenderingStatePending();let u=s?0:1;Wr()(this,yo,u),Wr()(this,oo,a),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height),Js(this,Bo,En).call(this,Lr()(this,Zs),e,t,r,n,Lr()(this,no)),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateRemoteVideoTextures() error:".concat(e.message," cs:").concat(e.stack)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateRemoteVideoTextures() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(d),this.markRenderingStatePending()}}drawNextOutputPictureFrame(e,t,i,r,a){let o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,d=!(arguments.length>7&&void 0!==arguments[7])||arguments[7];const u=wi.w.VS_BASE,l=Js(this,Zo,wn).call(this,u);if(!Lr()(this,fo)||!Lr()(this,ho))return Js(this,_n,jn).call(this),void this.markRenderingStatePending();if(Object(ji.g)(Lr()(this,Oo),e,t))return Lr()(this,Oo).recycleTextureBufferGroup(l),void this.markRenderingStatePending();a=a||wi.p;let c=(i=i||{top:0,left:0,width:e,height:t}).width!=Lr()(this,eo).width||i.height!=Lr()(this,eo).height,h=i.top!=Lr()(this,eo).top||i.left!=Lr()(this,eo).left,f=Lr()(this,fo).width!=Lr()(this,ro)||Lr()(this,fo).height!=Lr()(this,ao),p=e!=Lr()(this,to)||t!=Lr()(this,io),_=a!=Lr()(this,so);if((c||f||_)&&Js(this,Xo,In).call(this,Lr()(this,fo),i.width,i.height,a,n),n){const e=Object(ji.d)(i,a),t=Object(ji.a)(n,e);l.evalViewport(t.x,t.y,t.width,t.height,Lr()(this,fo).height)}else l.evalViewport(0,0,Lr()(this,fo).width,Lr()(this,fo).height,Lr()(this,fo).height);if(c||h||p||_||!l.getUVCoords()){let r=Object(ji.b)({width:e,height:t},i,Lr()(this,fo),a),s=l.getUVCoords();s||(s=new Float32Array(12)),s.set(r),l.setUVCoords(s)}let m=o?0:1;m!=Lr()(this,yo)&&Wr()(this,yo,m),Wr()(this,Do,0),Wr()(this,wo,s.VIDEO_I420),Object.assign(Lr()(this,eo),i),Wr()(this,to,e),Wr()(this,io,t),Wr()(this,so,a),Wr()(this,ro,Lr()(this,fo).width),Wr()(this,ao,Lr()(this,fo).height),l.setColorFormat("i420");try{const i=Js(this,ln,Bn).call(this,e,t,s.VIDEO_I420);if(i.label="YuvShareTexBuffer(".concat(l.getIndex(),")-").concat(i.size),d){let a=l.getTextureBufferGroup();if(a=Js(this,hn,Fn).call(this,l,a,i),!a||!a.buffer)return console.warn("[drawNextOutputPictureFrame()] texLayer(".concat(l.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();Js(this,Bo,En).call(this,Lr()(this,Zs),e,t,r,a,s.VIDEO_I420);const o=Js(this,tn,Pn).call(this,Lr()(this,so));o&&o.buffer&&l.setUniformBuffer(o.buffer)}Lr()(this,Io)?Wr()(this,No,1):Wr()(this,No,0),Wr()(this,Ao,1),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] drawNextOutputPictureFrame() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_drawNextOutputPictureFrame() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(l),this.markRenderingStatePending()}}clearCanvas(e){Lr()(this,ho)&&Lr()(this,ho).clearAttachedCanvas()}updateSelfMaskImage(e,t,i){const r=wi.w.MASK,a=Js(this,Zo,wn).call(this,r);if(!Lr()(this,fo))return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(e<=0||t<=0||!i||i.length!=e*t*4)return Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();if(!Js(this,Jo,Dn).call(this,wi.w.VS_BASE))return console.log("[updateSelfMaskImage] base layer is not ready."),Lr()(this,Oo).recycleTextureBufferGroup(a),void this.markRenderingStatePending();try{const r=Js(this,cn,Gn).call(this,e,t);let s=a.getTextureBufferGroup();if(s=Js(this,hn,Fn).call(this,a,s,r),!s||!s.buffer)return console.warn("[updateSelfMaskImage()] texLayer(".concat(a.getIndex(),") cannot apply a GPU buffer!")),void this.markRenderingStatePending();if(s.buffer.label="SelfMaskImageTexBuffer(".concat(a.getIndex(),")-").concat(r.size),a.setTextureLayerType(wi.v.BLEND_LAYER),a.setTextureType(wi.x.GPU_TEX_RGBA),a.isLocked()){const i=a.getWidth(),r=a.getHeight();i==e&&r==t||(a.setWidth(e),a.setHeight(t),a.setIsNew(!0))}else a.setWidth(e),a.setHeight(t),a.setIsNew(!0),a.lock();const o=Lr()(this,ho).writeToRgbaTextureBuffer(Lr()(this,Zs),e,t,i,s);a.setTextureBufferGroup(o);const n=Js(this,Zo,wn).call(this,wi.w.VS_BASE),d=n.getViewport();d&&a.setViewport(d),a.setUVCoords(n.getUVCoords()),this.isSetWatermark()&&Lr()(this,So)&&Lr()(this,vo),this.markRenderingStateReady()}catch(e){console.error("[WebGPURenderDisplay] updateSelfMaskImage() error:".concat(e.message)),Object(Mi.d)("WGPU WebGPURenderDisplay_updateSelfMaskImage() error:".concat(e.message)),Lr()(this,Oo).recycleTextureBufferGroup(a),this.markRenderingStatePending()}}readPixelsSyncRequest(e,t,i,r){}isAvaiable(){return!0}markRenderingStateReady(){Wr()(this,Co,wi.k.READY)}markRenderingStateRendering(){Wr()(this,Co,wi.k.RENDERING)}markRenderingStatePending(){Wr()(this,Co,wi.k.PENDING)}markRenderingStateIdle(){Wr()(this,Co,wi.k.IDLE)}isRenderingStateReady(){return Lr()(this,Co)===wi.k.READY}isInTargetRenderingState(e){return Lr()(this,Co)===e}getWatermarkWidth(){return Lr()(this,So)}getWatermarkHeight(){return Lr()(this,vo)}getIndex(){return Lr()(this,Zs)}getRenderingState(){return Lr()(this,Co)}recycle(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];for(const[t,i]of Lr()(this,Lo))i&&(Lr()(this,Oo).recycleTextureBufferGroup(i,e),i.recycle(Lr()(this,Oo)));Wr()(this,xo,{top:0,left:0,bottom:0,right:0}),this.markRenderingStateIdle(),Lr()(this,Lo).clear(),Lr()(this,Uo).clear(),this.unbindSsrc()}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.recycle(e),this.removeRenderer(),this.detachCanvas(),this.removeGPUResMgr()}clear(){console.log("WebGPURenderDisplay.clear"),this.clearCanvas(),Wr()(this,Ao,0),Wr()(this,Io,0),this.recycle()}clearDisplay(){console.log("WebGPURenderDisplay.clearDisplay"),this.clearCanvas()}getTextureLayersMap(){return Lr()(this,Lo)}getTextureLayerByZIndex(e){return Js(this,Zo,wn).call(this,e)}getUsedBuffersCount(){let e=0;for(const[t,i]of Lr()(this,Lo))i&&i.getTextureBufferGroup()&&i.getTextureBufferGroup().buffer&&e++;return e}consumePendingGPUEvents(){if(Lr()(this,_o)){const e=Js(this,Zo,wn).call(this,wi.w.WATERMARK).getRawData();e&&this.updateWatermark(Lr()(this,So),Lr()(this,vo),e.data)}}resizeCanvasTo(e,t){Lr()(this,fo)&&(Lr()(this,fo).width=e,Lr()(this,fo).height=t)}};function qn(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Xn=new WeakMap,Qn=new WeakMap,zn=new WeakMap,Jn=new WeakMap,Zn=new WeakMap;var $n=class{constructor(e,t,i){qn(this,Xn,{writable:!0,value:0}),qn(this,Qn,{writable:!0,value:null}),qn(this,zn,{writable:!0,value:null}),qn(this,Jn,{writable:!0,value:wi.t.AVAILABLE}),qn(this,Zn,{writable:!0,value:null}),Wr()(this,Xn,e),Wr()(this,Jn,t),Wr()(this,Zn,i),Wr()(this,Qn,[]),Wr()(this,zn,[])}initPool(e){if(e>Lr()(this,Xn))throw new Error("initSize=".concat(e," is larger than maxSize=").concat(Lr()(this,Xn),", invalid!"));if(e<0)throw new Error("initSize=".concat(e," is smaller than 0, invalid!"));for(let t=0;t<e;t++){const e=new Yn(t,Lr()(this,Zn));Lr()(this,Qn).push(e)}}expandPool(e){if(Lr()(this,Qn).length>=Lr()(this,Xn))return;let t=0;if(Lr()(this,Qn).length+e>=Lr()(this,Xn)&&(t=Lr()(this,Xn)-Lr()(this,Qn).length),t>0){const e=Lr()(this,Qn).length;for(let i=0;i<t;i++){const t=new Yn(i+e,Lr()(this,Zn));Lr()(this,Qn).push(t)}}}pop(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&this.isPoolEmpty()&&this.expandPool(4);const e=Lr()(this,Qn).pop();return e&&(e.markRenderingStatePending(),Lr()(this,zn).push(e)),e}recycle(e){if(Lr()(this,Qn).length<Lr()(this,Xn)){e.recycle(),Lr()(this,Qn).push(e);const t=Lr()(this,zn).indexOf(e);-1!=t&&Lr()(this,zn).splice(t,1)}}clear(){if(Lr()(this,Qn)){for(const e of Lr()(this,Qn))e&&e.clear();Lr()(this,Qn).length=0}}cleanup(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Lr()(this,Qn).forEach(t=>{t.cleanup(e)}),Lr()(this,zn).forEach(t=>{t.cleanup(e)}),Wr()(this,Qn,[]),Wr()(this,zn,[])}isPoolEmpty(){return 0==Lr()(this,Qn).length}getInUseRenderDisplays(){return Lr()(this,zn)}getAllRenderDisplays(){return Lr()(this,Qn)}isServeForVideoRendering(){return Lr()(this,Jn)===wi.t.VIDEO}isServeForShareRendering(){return Lr()(this,Jn)===wi.t.SHARE}isServingForNow(e){return Lr()(this,Jn)===e}};function ed(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var td=new WeakMap,id=new WeakMap,rd=new WeakMap,ad=new WeakMap,sd=new WeakMap;class od{getVideoRenderDisplay(e,t,i,r){throw new Error("getVideoRenderDisplay() should be implemented by subclass.")}getSharingRenderDisplay(e,t,i){throw new Error("getSharingRenderDisplay() should be implemented by subclass.")}createVideoRenderDisplay(e,t,i){throw new Error("createVideoRenderDisplay() should be implemented by subclass.")}}var nd=new WeakMap,dd=new WeakMap;class ud extends od{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),ed(this,nd,{writable:!0,value:new Map}),ed(this,dd,{writable:!0,value:!1}),Wr()(this,dd,e)}setCanvasAlphaChannelEnability(e){Wr()(this,dd,e)}createVideoRenderDisplay(e,t,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=null,s=null,o=null,n=!1;return r&&(a=r.forceNoGL,s=r.contextOptions,o=r.webGLResources,n=r.initMask),new Ki.default(e,t,i,a,s,o,n,Lr()(this,dd))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=Lr()(this,nd).get(e);if(!s){let r=[];s=[r,[]],Lr()(this,nd).set(e,s);let o=new Ki.default(e,t,0,void 0,void 0,void 0,void 0,Lr()(this,dd));o.setMultiView(!0),a&&a.set(e,o);let n=1;for(;n<=i;n++){const i=new Ki.default(e,t,n,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,Lr()(this,dd));i.setMultiView(!0),r.push(i)}}let o,n=Lr()(this,nd).get(e),d=n[0],u=n[1];if(n&&d[0]&&(o=d.pop(),u.push(o)),!o){const e=n?"".concat(n.length):"undefined",t=d?"".concat(d.length):"undefined";r("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,i){return new Ki.default(e,t,0,void 0,i.contextOptions,void 0,void 0,Lr()(this,dd))}recycleRenderDisplay(e,t,i){t.setWatermarkFlag(0),t.setVideoMode(s.VIDEO_INVALID),t.clear(i);let r=Lr()(this,nd).get(e);if(r){let e=r[0],i=r[1];i&&i.some((function(e,r){if(e===t)return i.splice(r,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=Lr()(this,nd).get(i);(!o||o.length<2)&&a("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let n=s.get(t);if(n){n.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:n.shaderProgram,contextgl:n.contextGL,vBuffer:n.vertexPosBuffer,tBuffer:n.texturePosBuffer,waterMarkTextureRef:n.waterMarkTextureRef,repeatedWaterMarkTextureRef:n.repeatedWaterMarkTextureRef})});return i!==t&&(Lr()(this,nd).delete(i),Lr()(this,nd).set(t,o),s&&(s.delete(i),s.set(t,n))),null}}getRenderDisplayMap(){return Lr()(this,nd)}cleanup(e,t){var i;null==t||null===(i=t.cleanup)||void 0===i||i.call(t,null);for(const[e,t]of Lr()(this,nd)){const e=t[0],i=t[1];for(const t of e)t.cleanup();for(const e of i)e.cleanup()}Wr()(this,nd,new Map)}cleanupByCanvas(e){if(Lr()(this,nd).get(e)){let t=Lr()(this,nd).get(e);if(t){let i=t[0],r=t[1];r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i=[],r=[],Lr()(this,nd).delete(e)}}}}var ld=new WeakMap,cd=new WeakMap;class hd extends od{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super(),ed(this,ld,{writable:!0,value:new Map}),ed(this,cd,{writable:!0,value:!1}),Wr()(this,cd,e)}setCanvasAlphaChannelEnability(e){Wr()(this,cd,e)}createVideoRenderDisplay(e,t,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=null,s=null,o=null,n=!1;return r&&(a=r.forceNoGL,s=r.contextOptions,o=r.webGLResources,n=r.initMask),new Zi(e,t,i,a,s,o,n,Lr()(this,cd))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=Lr()(this,ld).get(e);if(!s){let r=[];s=[r,[]],Lr()(this,ld).set(e,s);let o=new Zi(e,t,0,void 0,void 0,void 0,void 0,Lr()(this,cd));o.setMultiView(!0),a&&a.set(e,o);let n=1;for(;n<=i;n++){const i=new Zi(e,t,n,void 0,void 0,{program:o.shaderProgram,contextgl:o.contextGL,vBuffer:o.vertexPosBuffer,tBuffer:o.texturePosBuffer,waterMarkTextureRef:o.waterMarkTextureRef,repeatedWaterMarkTextureRef:o.repeatedWaterMarkTextureRef},void 0,void 0,Lr()(this,cd));i.setMultiView(!0),r.push(i)}}let o,n=Lr()(this,ld).get(e),d=n[0],u=n[1];if(n&&d[0]&&(o=d.pop(),u.push(o)),!o){const e=n?"".concat(n.length):"undefined",t=d?"".concat(d.length):"undefined";r("No Display obtained from VideoRender.Get_Display. canvasRenderArray:".concat(e," unusedRenderArray:").concat(t))}return o}getSharingRenderDisplay(e,t,i){return new Zi(e,t,0,void 0,i.contextOptions,void 0,void 0,Lr()(this,cd))}recycleRenderDisplay(e,t,i){t.setWatermarkFlag(0),t.setVideoMode(s.VIDEO_INVALID),t.clear(i);let r=Lr()(this,ld).get(e);if(r){let e=r[0],i=r[1];i&&i.some((function(e,r){if(e===t)return i.splice(r,1),!0})),e.push(t)}}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=Lr()(this,ld).get(i);(!o||o.length<2)&&a("canvasRenderArray:".concat(o,", length:").concat(null==o?void 0:o.length));let n=s.get(t);if(n){n.reinit();for(let e=0;e<(null==o?void 0:o.length);e++)o[e].forEach(e=>{null==e||e.reinit({program:n.shaderProgram,contextgl:n.contextGL,vBuffer:n.vertexPosBuffer,tBuffer:n.texturePosBuffer,waterMarkTextureRef:n.waterMarkTextureRef,repeatedWaterMarkTextureRef:n.repeatedWaterMarkTextureRef})});return i!==t&&(Lr()(this,ld).delete(i),Lr()(this,ld).set(t,o),s&&(s.delete(i),s.set(t,n))),null}}getRenderDisplayMap(){return Lr()(this,ld)}cleanup(e,t){var i;null==t||null===(i=t.cleanup)||void 0===i||i.call(t);for(const[e,t]of Lr()(this,ld)){const e=t[0],i=t[1];for(const t of e)t.cleanup();for(const e of i)e.cleanup()}Wr()(this,ld,new Map)}cleanupByCanvas(e){if(Lr()(this,ld).get(e)){let t=Lr()(this,ld).get(e);if(t){let i=t[0],r=t[1];r.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i.forEach((function(e){var t;null==e||null===(t=e.cleanup)||void 0===t||t.call(e)})),i=[],r=[],Lr()(this,ld).delete(e)}}}}var fd=new WeakMap,pd=new WeakMap,_d=new WeakMap;class md extends od{constructor(){super(),ed(this,fd,{writable:!0,value:new Map}),ed(this,pd,{writable:!0,value:new Map}),ed(this,_d,{writable:!0,value:null})}setGPUResourceMgr(e){Wr()(this,_d,e)}getVideoRenderDisplay(e,t,i,r){let a=Lr()(this,fd).get(e);a||(a=new $n(i,wi.t.VIDEO,Lr()(this,_d)),a.initPool(i),Lr()(this,fd).set(e,a));let s=a.pop();return s?(s.setMultiView(!0),s):null}getSharingRenderDisplay(e,t,i){i&&i.clearCache&&Lr()(this,pd).clear();let r=Lr()(this,pd).get(e);return r||(r=new $n(1,wi.t.SHARE,Lr()(this,_d)),r.initPool(1),Lr()(this,pd).set(e,r)),r.pop()}createVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=new Yn(i,Lr()(this,_d));return a.addRenderer(r),a.attachCanvas(e),a}getInUseCanvasRenderDisplayList(e){let t=[],i=null;if(e==wi.t.VIDEO?i=Lr()(this,fd):e==wi.t.SHARE&&(i=Lr()(this,pd)),i)for(const[e,r]of i){let i={};i.canvas=e,i.renderDisplays=r.getInUseRenderDisplays(),i.renderDisplays.length>0&&t.push(i)}return t}recycleRenderDisplay(e,t){if(e){const t=e.getAttachedCanvas();if(t){let i=Lr()(this,fd).get(t);i&&(e.setWatermarkFlag(0),e.setVideoMode(s.VIDEO_INVALID),i.recycle(e));let r=Lr()(this,pd).get(t);r&&(e.setWatermarkFlag(0),e.setVideoMode(s.VIDEO_INVALID),r.recycle(e))}}}cleanup(e){var t;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];null==e||null===(t=e.cleanup)||void 0===t||t.call(e,i);for(const[e,t]of Lr()(this,fd))t.cleanup(i);for(const[e,t]of Lr()(this,pd))t.cleanup(i)}cleanupByCanvas(e){let t=Lr()(this,fd).get(e);t&&(t.cleanup(),Lr()(this,fd).delete(e));let i=Lr()(this,pd).get(e);i&&(i.cleanup(),Lr()(this,pd).delete(e))}collectInUseRenderDisplays(e){return this.getInUseCanvasRenderDisplayList(e)}collectInUseRenderDisplaysByCanvas(e,t){let i=null;if(e)if(t==wi.t.VIDEO){i=Lr()(this,fd).get(e).getInUseRenderDisplays()}else if(t==wi.t.SHARE){i=Lr()(this,pd).get(e).getInUseRenderDisplays()}return i}getRenderDisplayMap(e){let t=null;return e==wi.t.VIDEO?t=Lr()(this,fd):e==wi.t.SHARE&&(t=Lr()(this,pd)),t}}var Ed=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];ed(this,td,{writable:!0,value:null}),ed(this,id,{writable:!0,value:null}),ed(this,rd,{writable:!0,value:null}),ed(this,ad,{writable:!0,value:null}),ed(this,sd,{writable:!0,value:!1}),Wr()(this,sd,e)}setGPUResourceMgr(e){Wr()(this,ad,e)}isEnableCanvasAlphaChannel(){return Lr()(this,sd)}setCanvasAlphaChannelEnability(e){Wr()(this,sd,e),Lr()(this,td)&&Lr()(this,td).setCanvasAlphaChannelEnability(e),Lr()(this,id)&&Lr()(this,id).setCanvasAlphaChannelEnability(e)}getWebGLRenderDisplayMgr(){return Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),Lr()(this,td)}getWebGL2RenderDisplayMgr(){return Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),Lr()(this,id)}getWebGPURenderDisplayMgr(){return Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),Lr()(this,rd)}getVideoRenderDisplay(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=null;return e===wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),n=Lr()(this,td).getVideoRenderDisplay(t,i,r,a,o)):e===wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),n=Lr()(this,id).getVideoRenderDisplay(t,i,r,a,o)):e===wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),n=Lr()(this,rd).getVideoRenderDisplay(t,i,r,a),n&&(n.addRenderer(s),n.attachCanvas(t),n.setGPUResMgr(Lr()(this,ad)))),n}getSharingRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=null;return e===wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),s=Lr()(this,td).getSharingRenderDisplay(t,i,a)):e===wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),s=Lr()(this,id).getSharingRenderDisplay(t,i,a)):e===wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),s=Lr()(this,rd).getSharingRenderDisplay(t,i,a),s&&(s.addRenderer(r),s.attachCanvas(t),s.setGPUResMgr(Lr()(this,ad)))),s}createVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=null;return e==wi.j.WEBGL?(Lr()(this,td)||Wr()(this,td,new ud(Lr()(this,sd))),o=Lr()(this,td).createVideoRenderDisplay(t,i,r,a,s)):e==wi.j.WEBGL_2?(Lr()(this,id)||Wr()(this,id,new hd(Lr()(this,sd))),o=Lr()(this,id).createVideoRenderDisplay(t,i,r,a,s)):e==wi.j.WEBGPU&&(Lr()(this,rd)||(Wr()(this,rd,new md),Lr()(this,rd).setGPUResourceMgr(Lr()(this,ad))),o=Lr()(this,rd).createVideoRenderDisplay(t,i,r,a,s),o.addRenderer(a),o.attachCanvas(t),o.setGPUResMgr(Lr()(this,ad))),o}recycleRenderDisplay(e,t,i,r){let a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e===wi.j.WEBGPU?Lr()(this,rd)&&Lr()(this,rd).recycleRenderDisplay(i,r,a):e===wi.j.WEBGL?Lr()(this,td)&&Lr()(this,td).recycleRenderDisplay(t,i,a):e===wi.j.WEBGL_2&&Lr()(this,id)&&Lr()(this,id).recycleRenderDisplay(t,i,a)}collectInUseRenderDisplays(e,t){let i=null;return e===wi.j.WEBGPU&&Lr()(this,rd)&&(i=Lr()(this,rd).collectInUseRenderDisplays(t)),i}collectInUseRenderDisplaysByCanvas(e,t,i){let r=null;return e===wi.j.WEBGPU&&Lr()(this,rd)&&(r=Lr()(this,rd).collectInUseRenderDisplaysByCanvas(t,i)),r}getRenderDisplayMap(e,t){if(e===wi.j.WEBGL){if(Lr()(this,td))return Lr()(this,td).getRenderDisplayMap()}else if(e===wi.j.WEBGPU){if(Lr()(this,rd))return Lr()(this,rd).getRenderDisplayMap(t)}else if(e===wi.j.WEBGL_2&&Lr()(this,id))return Lr()(this,id).getRenderDisplayMap(t);return null}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return Lr()(this,td)?Lr()(this,td).onRestoredFromContextLost(e,t,i,r,a,s):Lr()(this,id)?Lr()(this,id).onRestoredFromContextLost(e,t,i,r,a,s):null}cleanup(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];null!==Lr()(this,td)&&Lr()(this,td).cleanup(e,t),Lr()(this,id)&&Lr()(this,id).cleanup(e,t),null!==Lr()(this,rd)&&Lr()(this,rd).cleanup(t,i)}cleanupByCanvas(e){null!==Lr()(this,td)&&Lr()(this,td).cleanupByCanvas(e),null!==Lr()(this,id)&&Lr()(this,id).cleanupByCanvas(e),null!==Lr()(this,rd)&&Lr()(this,rd).cleanupByCanvas(e)}};function gd(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Sd=new WeakMap,vd=new WeakMap,Cd=new WeakMap,Ad=new WeakMap,Rd=new WeakMap,Td=new WeakMap,Id=new WeakMap;var bd=class{constructor(e){gd(this,Sd,{writable:!0,value:wi.f.VERTEX_BUFFER}),gd(this,vd,{writable:!0,value:{}}),gd(this,Cd,{writable:!0,value:null}),gd(this,Ad,{writable:!0,value:0}),gd(this,Rd,{writable:!0,value:0}),gd(this,Td,{writable:!0,value:[]}),gd(this,Id,{writable:!0,value:new Map}),Wr()(this,Cd,e)}acquireBuffer(e,t,i){let r,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return!(arguments.length>4&&void 0!==arguments[4])||arguments[4]?Lr()(this,Id).has(e)?r=Lr()(this,Id).get(e):Lr()(this,Td).length>0?(r=Lr()(this,Td).pop(),Lr()(this,Id).set(e,r)):(r=Lr()(this,Cd).createBuffer({size:i,usage:t,mappedAtCreation:a}),Lr()(this,Id).set(e,r)):r=Lr()(this,Cd).createBuffer({size:i,usage:t,mappedAtCreation:a}),r}releaseBuffer(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(Lr()(this,Id).has(e)){const t=Lr()(this,Id).get(e);i?Lr()(this,Td).push(t):t.destroy(),Lr()(this,Id).delete(e)}else i||-1!=Lr()(this,Td).indexOf(t)&&(Lr()(this,Td)[index]=Lr()(this,Td)[Lr()(this,Td).length-1],Lr()(this,Td).pop(),t.destroy())}getNumUsedBuffers(){return Lr()(this,Ad)}getNumFreeBuffers(){return Lr()(this,Rd)}cleanup(){Lr()(this,Td).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Id).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Td).length=0,Lr()(this,Id).clear(),Wr()(this,Ad,0),Wr()(this,Rd,0)}release(e){e==wi.n.OVERUSE&&(Lr()(this,Td).forEach((e,t)=>{e.forEach(e=>{e.destroy()})}),Lr()(this,Td).length=0,Wr()(this,Rd,0))}getResourceType(){return Lr()(this,Sd)}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,Id))e++,t+=a.size,i+="[GPUBufferMgr] entry{key:".concat(r,", buffer:{label:").concat(a.label," size:").concat(a.size,"}}\n");for(const i of Lr()(this,Td))e++,t+=i.size;return i+="[GPUBufferMgr] freeBuffers{size:".concat(Lr()(this,Td).length,"}\n"),i+="[GPUBufferMgr] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,vd).type=Lr()(this,Sd),Lr()(this,vd).count=e,Lr()(this,vd).usedBytes=t,Lr()(this,vd).output=i,Lr()(this,vd)}onOccupancyLevelEvaluated(e){console.log("[GPUBufferManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(Mi.d)("WGPU GPUBufferManager_onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}};function Od(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Dd=new WeakMap,wd=new WeakMap,yd=new WeakMap;var Md=class{constructor(){Od(this,Dd,{writable:!0,value:wi.f.TEXTURE}),Od(this,wd,{writable:!0,value:[]}),Od(this,yd,{writable:!0,value:[]})}acquire(e){let t=null;const i=Lr()(this,wd).findIndex(t=>t&&t.width==e.w&&t.height==e.h&&t.format==e.format&&t.usage==e.usage);return i>-1&&(t=Lr()(this,wd).splice(i,1)[0]),t&&Lr()(this,yd).push(t),t}recycle(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=Lr()(this,yd).indexOf(e);-1!=i&&Lr()(this,yd).splice(i,1),t?e.destroy():(Lr()(this,wd).push(e),e.label="")}pushToAvailablePool(e){e&&Lr()(this,wd).push(e)}pushToInUsePool(e){e&&Lr()(this,yd).push(e)}release(e){if(e==wi.n.OVERUSE&&Lr()(this,wd).length>0){for(const e of Lr()(this,wd))e.destroy();Lr()(this,wd).length=0}}cleanup(){for(const e of Lr()(this,wd))e.destroy();for(const e of Lr()(this,yd))e.destroy();Lr()(this,wd).length=0,Lr()(this,yd).length=0}getAvailablePool(){return Lr()(this,wd)}getInUsedPool(){return Lr()(this,yd)}getResourceType(){return Lr()(this,Dd)}};function Pd(e,t){Vd(e,t),t.add(e)}function Nd(e,t,i){Vd(e,t),t.set(e,i)}function Vd(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function kd(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Ud=new WeakMap,Ld=new WeakMap,xd=new WeakMap,Wd=new WeakMap,Bd=new WeakSet,Gd=new WeakSet,Fd=new WeakSet,Hd=new WeakSet,Kd=new WeakSet;function jd(e){let t=Lr()(this,xd).get(e.level),i=null;return t?(i=t.acquire(e),i||(i=kd(this,Fd,qd).call(this,e),i?t.pushToInUsePool(i):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e))))):(i=kd(this,Fd,qd).call(this,e),i?(t=new Md,t.pushToInUsePool(i),Lr()(this,xd).set(e.level,t)):console.error("acquireTexture() cannot create an available tex. texConfig=".concat(JSON.stringify(e)))),i}function Yd(e){const t=e.zOrder;let i=Lr()(this,Wd).get(t);return i?(e.w>i.width||e.h>i.height)&&(i.destroy(),i=kd(this,Fd,qd).call(this,e),Lr()(this,Wd).set(t,i)):(i=kd(this,Fd,qd).call(this,e),Lr()(this,Wd).set(t,i)),i}function qd(e){if(!Lr()(this,Ud))return null;if(0==e.w||0==e.h)return null;const t={size:{width:e.w,height:e.h},format:e.format,usage:e.usage};return e.sampleCount>0&&(t.sampleCount=e.sampleCount),Lr()(this,Ud).createTexture(t)}function Xd(e){let t=wi.u[wi.u.length-1];for(let i=0;i<wi.u.length;++i)if(e<=wi.u[i]){t=wi.u[i];break}return t}function Qd(e){return e&&e.zOrder&&e.zOrder==TEX_LAYER_Z_IDX.WATERMARK}var zd=class{constructor(e){Pd(this,Kd),Pd(this,Hd),Pd(this,Fd),Pd(this,Gd),Pd(this,Bd),Nd(this,Ud,{writable:!0,value:null}),Nd(this,Ld,{writable:!0,value:{}}),Nd(this,xd,{writable:!0,value:new Map}),Nd(this,Wd,{writable:!0,value:new Map}),Wr()(this,Ud,e)}assembleTextureConfig(e,t,i,r,a){return{w:e,h:t,usage:i,format:r,sampleCount:a,level:kd(this,Hd,Xd).call(this,t)}}isSameTextureConfig(e,t){return!(!e||!t)&&(e.w==t.w&&e.h==t.h&&e.usage==t.usage&&e.format==t.format&&e.sampleCount==t.sampleCount)}evalTexConfig(e){if(!e)throw new Error("hasSameTextureConfig() invalid input!");const t=Lr()(this,xd).keys();let i=e;for(const r of t)if(this.isSameTextureConfig(r,e)){i=r;break}return i}needNewTexturesMapEntry(e,t){return!!t&&(!e||(e.w!=t.w||e.h!=t.h||e.usage!=t.usage||e.format!=t.format||e.sampleCount!=t.sampleCount))}acquireTexture(e){if(!e||e.w<=0||e.h<=0)return console.error("[GPUTextureMgr] acquireTexture() texConfig is invalid"),null;let t=null;return t=kd(this,Kd,Qd).call(this,e)?kd(this,Gd,Yd).call(this,e):kd(this,Bd,jd).call(this,e),t}recycleTexture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const i=this.assembleTextureConfig(e.width,e.height,e.usage,e.format,e.sampleCount);let r=Lr()(this,xd).get(i.level);if(r)r.recycle(e,t);else if(console.warn("recycleTexture(".concat(e.label,") texture is not found in the map!, destroy:").concat(t)),t)e.destroy();else{const t=new Md;t.pushToAvailablePool(e),Lr()(this,xd).set(i.level,t)}}cleanup(){for(const[e,t]of Lr()(this,xd))t&&t.cleanup();Lr()(this,xd).clear()}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,xd))if(a){const s=a.getAvailablePool();for(const i of s)e++,"r8unorm"==i.format?t+=i.width*i.height:"rgba8unorm"==i.format&&(t+=i.width*i.height*Uint32Array.BYTES_PER_ELEMENT);const o=a.getInUsedPool();for(const i of o)e++,"r8unorm"==i.format?t+=i.width*i.height:"rgba8unorm"==i.format&&(t+=i.width*i.height*Uint32Array.BYTES_PER_ELEMENT);(s.length>0||o.length>0)&&(i+="[GPUTexturePool] level:".concat(r," pool:{ava_count:").concat(s.length," in_used_count:").concat(o.length,"}\n"))}return i+="[GPUTexturePool] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,Ld).type=wi.f.TEXTURE,Lr()(this,Ld).count=e,Lr()(this,Ld).usedBytes=t,Lr()(this,Ld).output=i,Lr()(this,Ld)}onOccupancyLevelEvaluated(e){if(console.log("[GPUTextureManager] onOccupancyLevelEvaluated() level:".concat(e)),Object(Mi.d)("WGPU GPUTextureManager_onOccupancyLevelEvaluated() level:".concat(e)),e==wi.n.OVERUSE)for(const[t,i]of Lr()(this,xd))i&&i.release(e)}};function Jd(e,t){$d(e,t),t.add(e)}function Zd(e,t,i){$d(e,t),t.set(e,i)}function $d(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function eu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var tu=new WeakMap,iu=new WeakMap,ru=new WeakMap,au=new WeakMap,su=new WeakSet,ou=new WeakSet;function nu(e,t,i){if(Lr()(this,ru).set(e,t),i){let e=Array.from(Lr()(this,ru).entries());e.sort((e,t)=>e[0]-t[0]),Lr()(this,ru).clear(),e.forEach(e=>{let[t,i]=e;Lr()(this,ru).set(t,i)})}}function du(e,t){if(!e||0==e.length)return null;let i=0,r=0,a=null;for(const s of e)"mapped"==s.mapState?(i+=1,a||s.size>=t&&(a=s)):r+=1;if(i>0&&0==r||i>=2&&0!=r){if(a){const t=e.indexOf(a);-1!=t&&e.splice(t,1)}return a}return null}var uu=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Jd(this,ou),Jd(this,su),Zd(this,tu,{writable:!0,value:wi.f.TEXTURE_BUFFER}),Zd(this,iu,{writable:!0,value:0}),Zd(this,ru,{writable:!0,value:new Map}),Zd(this,au,{writable:!0,value:0}),Wr()(this,iu,e),Wr()(this,au,t)}isUpToThreshold(e,t){if(e!=Lr()(this,iu)||t<=0)return!1;if(0==Lr()(this,au))return!1;const i=Lr()(this,ru).get(t);return!!i&&i.length>=Lr()(this,au)}push(e,t,i){if(e!=Lr()(this,iu)||!i||t<=0)return!1;let r=null,a=!1;if(Lr()(this,ru).has(t)){if(r=Lr()(this,ru).get(t),r||(r=[],a=!0),!(r.length<Lr()(this,au)))return!1;r.push(i)}else r=[],r.push(i),a=!0;return a&&eu(this,su,nu).call(this,t,r,a),!0}acquire(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;let i=e.level,r=e.bytesPerRow,a=e.size;if(i!=Lr()(this,iu)||r<=0)return console.error("[GPUBufferPoolEntry] acquire() level(".concat(i,") or bpr=").concat(r," is invalid!")),null;let s=null,o=!1;if(Lr()(this,ru).has(r)){let e=Lr()(this,ru).get(r);if(e){const t=e.findIndex(e=>"mapped"==e.mapState&&e.size>=a);t>-1?s=e.splice(t,1)[0]:o=!0}else o=!0}else o=!0;if(o&&!s&&!t){let t=2,o=!1;i>=wi.m[wi.h]&&(o=!0);for(const[i,n]of Lr()(this,ru))if((t>0||o)&&i>r){if(s=eu(this,ou,du).call(this,n,a),s){e.bytesPerRow=i;break}t--}}return s}recycle(e,t,i){if(e!=Lr()(this,iu)||t<=0||!i)return!1;let r=!1;if(Lr()(this,ru).has(t)){let e=!1,a=Lr()(this,ru).get(t);a||(a=[],e=!0),a.push(i),e&&eu(this,su,nu).call(this,t,a,e),r=!0}else r=this.push(e,t,i);return r}release(e){if(e==wi.n.OVERUSE){for(const[e,t]of Lr()(this,ru))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}Lr()(this,ru).clear()}}cleanup(){for(const[e,t]of Lr()(this,ru))if(t){for(const e of t)"mapped"!=e.mapState&&"unmapped"!=e.mapState||e.destroy();t.length=0}Lr()(this,ru).clear()}getPool(){return Lr()(this,ru)}hasBytesPerRowAsKey(e){return Lr()(this,ru).has(e)}getResourceType(){return Lr()(this,tu)}getPoolThreshold(){return Lr()(this,au)}canLendBufferCrossLevel(e,t){let i=!0;if(Lr()(this,ru).has(t)){const r=Lr()(this,ru).get(t);if(r){let t=0,a=0;for(const e of r)"mapped"==e.mapState?t+=1:a+=1;if(e>=wi.m[wi.h])i=t>0;else{const e=t>=2&&0!=a;i=t>0&&0==a||e}}}else i=!1;return i}};function lu(e,t){hu(e,t),t.add(e)}function cu(e,t,i){hu(e,t),t.set(e,i)}function hu(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function fu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var pu=new WeakMap,_u=new WeakMap,mu=new WeakMap,Eu=new WeakMap,gu=new WeakMap,Su=new WeakMap,vu=new WeakSet,Cu=new WeakSet,Au=new WeakSet,Ru=new WeakSet,Tu=new WeakSet,Iu=new WeakSet,bu=new WeakSet;function Ou(e){if(!e)return;const t=e.colorFormat;if("rgba"==t){const t=fu(this,Cu,Du).call(this,e.height);t>0&&t<wi.m[wi.h]&&(e.size=e.width*t,e.height=t),e.level=t,e.bytesPerRow=e.width}else if("i420"==t){const t=fu(this,Cu,Du).call(this,e.yPlane.height);t>0&&t<wi.m[wi.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}else if("nv12"==t){const t=fu(this,Cu,Du).call(this,e.yPlane.height);t>0&&t<wi.m[wi.h]&&(e.size=e.yPlane.width*t+e.uvPlane.width*t/2,e.yPlane.height=t,e.uvPlane.height=t/2),e.level=t,e.bytesPerRow=e.yPlane.width}}function Du(e){if(e<=0)return 0;let t=wi.m[wi.h];for(let i=0;i<wi.m.length;++i)if(e<=wi.m[i]){t=wi.m[i];break}return t}function wu(e){const t=wi.m.indexOf(e);return t>-1&&t+1<=wi.m.length-1?wi.m[t+1]:e}function yu(e){if(!e)return 0;let t=0;const i=e.colorFormat;if("rgba"==i?t=e.height:"i420"!=i&&"nv12"!=i||(t=e.yPlane.height),0==t)return 0;let r=0;return r=t<=wi.m[2]?90:t>wi.m[2]&&t<=wi.m[5]?60:15,r}function Mu(e){return e.mapAsync(GPUMapMode.WRITE,0,e.size)}function Pu(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(Lr()(this,gu).set(e,t),i){let e=Array.from(Lr()(this,gu).entries());e.sort((e,t)=>e[0]-t[0]),Lr()(this,gu).clear(),e.forEach(e=>{let[t,i]=e;Lr()(this,gu).set(t,i)})}}function Nu(e){if(!e)return null;let t=e.level,i=e.bytesPerRow;e.size;const r=fu(this,Au,wu).call(this,t);if(r<=t)return null;if(!Lr()(this,gu).has(r))return null;const a=Lr()(this,gu).get(r);if(!a)return null;if(!a.hasBytesPerRowAsKey(i))return null;if(!a.canLendBufferCrossLevel(t,i))return null;const s={};Object.assign(s,e),s.level=r;const o=a.acquire(s,!0);return o&&(e.level=r,e.bytesPerRow=s.bytesPerRow),o}var Vu=class{constructor(e){lu(this,bu),lu(this,Iu),lu(this,Tu),lu(this,Ru),lu(this,Au),lu(this,Cu),lu(this,vu),cu(this,pu,{writable:!0,value:wi.f.TEXTURE_BUFFER}),cu(this,_u,{writable:!0,value:{}}),cu(this,mu,{writable:!0,value:null}),cu(this,Eu,{writable:!0,value:[]}),cu(this,gu,{writable:!0,value:new Map}),cu(this,Su,{writable:!0,value:0}),Wr()(this,mu,e)}acquire(e){if(!e)throw new Error("acquire() bufferConfig is invalid!");fu(this,vu,Ou).call(this,e);let t=null,i=null;if(0==Lr()(this,gu).size){if(Lr()(this,mu)){const r=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});let a=!1;if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),a=!0}r&&(Wr()(this,Su,Lr()(this,Su)+1),t=r,t.label="".concat(e.label,"-").concat(Lr()(this,Su))),fu(this,Iu,Pu).call(this,e.level,i,a)}}else if(Lr()(this,gu).has(e.level)){i=Lr()(this,gu).get(e.level);let r=!1;if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),r=!0}if(t=i.acquire(e),t)t.label="".concat(e.label,"-").concat(Lr()(this,Su));else if(t=fu(this,bu,Nu).call(this,e),!t)if(i.isUpToThreshold(e.level,e.bytesPerRow))console.log("[GPUBufferPool]acquire() next level cant help and pool is up to threshold! Only to wait for a while...");else{const i=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});i&&(Wr()(this,Su,Lr()(this,Su)+1),t=i,t.label="".concat(e.label,"-").concat(Lr()(this,Su)))}r&&fu(this,Iu,Pu).call(this,e.level,i,r)}else{let r=!1;if(t=fu(this,bu,Nu).call(this,e),t)t.label="".concat(e.label,"-").concat(Lr()(this,Su));else{const a=Lr()(this,mu).createBuffer({label:e.label,size:e.size,usage:e.usage,mappedAtCreation:!0});if(!i){const t=fu(this,Ru,yu).call(this,e);i=new uu(e.level,t),r=!0}a&&(Wr()(this,Su,Lr()(this,Su)+1),t=a,t.label="".concat(e.label,"-").concat(Lr()(this,Su)))}r&&fu(this,Iu,Pu).call(this,e.level,i,r)}return t&&Lr()(this,Eu).push(t),t}recycle(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!e)return;const r=Lr()(this,Eu).indexOf(e);if(-1!=r?Lr()(this,Eu).splice(r,1):(console.error("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(i)),Object(Mi.d)("[BufferPool] buffer can't be recycled. bufferConfig:".concat(JSON.stringify(t),", needToRecycle=").concat(i))),t)if(i){"unmapped"!=e.mapState&&e.unmap(),"unmapped"==e.mapState&&fu(this,Tu,Mu).call(this,e).then(()=>{}).catch(t=>{console.warn("mapAsyncBuffer() error:".concat(t)),e.destroy(),e=null});let i=Lr()(this,gu).get(t.level);i&&i.recycle(t.level,t.bytesPerRow,e),e.label=""}else e.destroy(),e=null;else e.destroy()}recycleInUsedGPUBuffers(e,t){for(const[i,r]of e)for(const e of r)if(e){const i=e.getTextureBufferGroup();i&&i.buffer&&(i.bufferArray&&(i.bufferArray=null),this.recycle(i.buffer,i.bufferConfig)),e.destroyTextureBufferGroup(t)}}recycleTextureBufferGroup(e,t){if(e&&t){const i=t.acquireGPUBufferPool();if(i){const r=e.getTextureBufferGroup();r&&r.buffer&&(r.bufferArray&&(r.bufferArray=null),i.recycle(r.buffer,r.bufferConfig),e.destroyTextureBufferGroup(t))}}}cleanup(){for(const e of Lr()(this,Eu))"unmapped"!=e.mapState&&e.unmap(),e.destroy();Lr()(this,Eu).length=0;for(const[e,t]of Lr()(this,gu))t&&t.cleanup();Lr()(this,gu).clear()}release(e){if(e==wi.n.OVERUSE){for(const[t,i]of Lr()(this,gu))i&&i.release(e);Lr()(this,gu).clear()}}getResourceType(){return Lr()(this,pu)}collectResourceInfo(){let e=0,t=0,i="";for(const[r,a]of Lr()(this,gu))if(a){const s=a.getPool();for(const[o,n]of s){e+=n.length;let s=0,d=0;for(const e of n)t+=e.size,"mapped"==e.mapState?s+=1:d+=1;i+="[GPUBufferPool] level:".concat(r," bpr:").concat(o," threshold:").concat(a.getPoolThreshold()," pool:{len:").concat(n.length," ava_count:").concat(s," pending_count:").concat(d,"}\n")}}let r=0;for(const i of Lr()(this,Eu))e+=1,t+=i.size,r+=1;return i+="[GPUBufferPool] in_used_count:".concat(r,"\n"),i+="[GPUBufferPool] total: count:".concat(e," usedBytes:").concat(t,"\n"),Lr()(this,_u).type=Lr()(this,pu),Lr()(this,_u).count=e,Lr()(this,_u).usedBytes=t,Lr()(this,_u).output=i,Lr()(this,_u)}onOccupancyLevelEvaluated(e){Object(Mi.d)("WGPU GPUBufferPool_onOccupancyLevelEvaluated() level:".concat(e)),console.log("[GPUBufferPool] onOccupancyLevelEvaluated() level:".concat(e)),this.release(e)}getInUsedPoolCount(){return Lr()(this,Eu).length}};function ku(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var Uu=new WeakMap,Lu=new WeakMap;var xu=class{constructor(e){ku(this,Uu,{writable:!0,value:null}),ku(this,Lu,{writable:!0,value:null}),Wr()(this,Uu,e),e&&Wr()(this,Lu,e.features)}getAdapterFeatures(){return Lr()(this,Lu)}getAdapterLimits(){return Lr()(this,Uu)?Lr()(this,Uu).limits:null}queryMaxTextureDimension2D(){const e=this.getAdapterLimits();return e?e.maxTextureDimension2D:0}queryMaxBufferSize(){const e=this.getAdapterLimits();return e?e.maxBufferSize:0}queryAdapterFeature(e){return!(!Lr()(this,Lu)||!e)&&Lr()(this,Lu).has(e)}isTimestampQuerySupported(){return this.queryAdapterFeature("timestamp-query")}getGPUAdapter(){return Lr()(this,Uu)}cleanup(){Wr()(this,Uu,null),Wr()(this,Lu,null)}};function Wu(e,t){Gu(e,t),t.add(e)}function Bu(e,t,i){Gu(e,t),t.set(e,i)}function Gu(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Fu(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}var Hu=new WeakMap,Ku=new WeakMap,ju=new WeakMap,Yu=new WeakMap,qu=new WeakSet,Xu=new WeakSet,Qu=new WeakSet;function zu(){let e=wi.n.LOW;const t="---WatchDog(".concat(Lr()(this,Yu),") starts analyzing---\n");console.log("".concat(t));for(const t of Lr()(this,Ku)){const i=t.collectResourceInfo();console.log("".concat(i.output));const r=Fu(this,Xu,Ju).call(this,i);t.onOccupancyLevelEvaluated(r),r>e&&(e=r)}const i=Fu(this,Qu,Zu).call(this,e);i!=Lr()(this,Hu)&&(clearInterval(Lr()(this,ju)),Wr()(this,ju,null),Wr()(this,Hu,i),this.monitor())}function Ju(e){let t=wi.n.LOW;return e.type==wi.f.TEXTURE?t=e.usedBytes<=31457280?wi.n.LOW:e.usedBytes<=94371840?wi.n.MEDIUM:e.usedBytes<=157286400?wi.n.HIGH:wi.n.OVERUSE:e.type==wi.f.VERTEX_BUFFER?t=e.usedBytes<=5242880?wi.n.LOW:e.usedBytes<=10485760?wi.n.MEDIUM:e.usedBytes<=15728640?wi.n.HIGH:wi.n.OVERUSE:e.type==wi.f.TEXTURE_BUFFER&&(t=e.usedBytes<=52428800?wi.n.LOW:e.usedBytes<=104857600?wi.n.MEDIUM:e.usedBytes<=209715200?wi.n.HIGH:wi.n.OVERUSE),t}function Zu(e){let t=0;switch(e){case wi.n.LOW:t=wi.o.LOW;break;case wi.n.MEDIUM:t=wi.o.MEDIUM;break;case wi.n.HIGH:t=wi.o.HIGH;break;case wi.n.OVERUSE:t=wi.o.OVERUSE;break;default:t=wi.o.MEDIUM}return t}var $u=class{constructor(e){Wu(this,Qu),Wu(this,Xu),Wu(this,qu),Bu(this,Hu,{writable:!0,value:wi.o.HIGH}),Bu(this,Ku,{writable:!0,value:[]}),Bu(this,ju,{writable:!0,value:null}),Bu(this,Yu,{writable:!0,value:""}),Wr()(this,Yu,e)}addObservable(e){Lr()(this,Ku).push(e)}removeObservable(e){const t=Lr()(this,Ku).indexOf(e);-1!=t&&Lr()(this,Ku).splice(t,1)}removeAllObservables(){Lr()(this,Ku).length=0}monitor(){Lr()(this,ju)||Wr()(this,ju,setInterval(()=>{Fu(this,qu,zu).call(this)},Lr()(this,Hu)))}cleanup(){this.removeAllObservables(),clearInterval(Lr()(this,ju)),Wr()(this,ju,null),Wr()(this,Hu,0)}};function el(e,t,i){tl(e,t),t.set(e,i)}function tl(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}var il=new WeakMap,rl=new WeakMap,al=new WeakMap,sl=new WeakMap,ol=new WeakMap,nl=new WeakMap,dl=new WeakMap,ul=new WeakMap,ll=new WeakMap,cl=new WeakMap,hl=new WeakMap,fl=new WeakSet;function pl(e){return void 0!==e&&"yPlaneTex"in e}var _l=class{constructor(){var e,t;tl(e=this,t=fl),t.add(e),el(this,il,{writable:!0,value:null}),el(this,rl,{writable:!0,value:null}),el(this,al,{writable:!0,value:null}),el(this,sl,{writable:!0,value:null}),el(this,ol,{writable:!0,value:null}),el(this,nl,{writable:!0,value:null}),el(this,dl,{writable:!0,value:null}),el(this,ul,{writable:!0,value:null}),el(this,ll,{writable:!0,value:null}),el(this,cl,{writable:!0,value:null}),el(this,hl,{writable:!0,value:""})}addRendererProviderModule(e){Wr()(this,cl,e)}setLabel(e){Wr()(this,hl,e)}async initialize(){if(navigator.gpu){if(!Lr()(this,il)&&(Wr()(this,il,await navigator.gpu.requestAdapter()),!Lr()(this,il)))return console.error("[WebGPUResManager] initialize() Couldn't request WebGPU adapter."),Object(Mi.h)("WebGPU device was lost: ".concat(info.message," reason=").concat(info.reason)),void Object(Mi.e)("WebGPUDeviceLost");Lr()(this,al)||(Wr()(this,al,await Lr()(this,il).requestDevice()),Lr()(this,al).lost.then(async e=>{"destroyed"!=e.reason&&(console.error("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(Mi.h)("WebGPU device was lost: ".concat(e.message," reason=").concat(e.reason)),Object(Mi.e)("WebGPUDeviceLost")),Lr()(this,cl)&&Lr()(this,cl).rendererUnconfigureGPUContext(),this.cleanup(),"destroyed"!=e.reason&&(Wr()(this,al,null),await this.initialize(),Lr()(this,cl)&&Lr()(this,cl).rendererReinitialize())})),Lr()(this,rl)||("function"==typeof Lr()(this,il).requestAdapterInfo?Wr()(this,rl,await Lr()(this,il).requestAdapterInfo()):"info"in Lr()(this,il)&&Wr()(this,rl,Lr()(this,il).info)),Lr()(this,sl)||Wr()(this,sl,navigator.gpu.getPreferredCanvasFormat()),Lr()(this,ol)||Wr()(this,ol,new bd(Lr()(this,al))),Lr()(this,nl)||Wr()(this,nl,new zd(Lr()(this,al))),Lr()(this,dl)||Wr()(this,dl,new Vu(Lr()(this,al))),Lr()(this,ul)||Wr()(this,ul,new xu(Lr()(this,il))),Lr()(this,ll)||(Wr()(this,ll,new $u(Lr()(this,hl))),Lr()(this,ll).addObservable(Lr()(this,ol)),Lr()(this,ll).addObservable(Lr()(this,nl)),Lr()(this,ll).addObservable(Lr()(this,dl)),Lr()(this,ll).monitor())}else console.error("[WebGPUResManager] initialize() WebGPU is not supported!")}acquireGPUDevice(){return Lr()(this,al)}acquireCanvasFormat(){return Lr()(this,sl)}acquireGPUAdapterInfo(){return Lr()(this,rl)}destroyGPUDevice(){Lr()(this,al)&&(Lr()(this,al).destroy(),Wr()(this,al,null))}acquireGPUBufferMgr(){return Lr()(this,ol)}acquireGPUTextureMgr(){return Lr()(this,nl)}acquireGPUBufferPool(){return Lr()(this,dl)}acquireGPUFeaturesHelper(){return Lr()(this,ul)}cleanup(){Lr()(this,ol)&&(Lr()(this,ol).cleanup(),Wr()(this,ol,null)),Lr()(this,nl)&&(Lr()(this,nl).cleanup(),Wr()(this,nl,null)),Lr()(this,dl)&&(Lr()(this,dl).cleanup(),Wr()(this,dl,null)),Lr()(this,ul)&&(Lr()(this,ul).cleanup(),Wr()(this,ul,null)),Lr()(this,ll)&&(Lr()(this,ll).cleanup(),Wr()(this,ll,null)),Wr()(this,cl,null),this.destroyGPUDevice()}recycleTextureBufferGroup(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e&&Lr()(this,dl)){const i=e.getTextureBufferGroup();i&&i.buffer&&(i.bufferArray&&(i.bufferArray=null),Lr()(this,dl).recycle(i.buffer,i.bufferConfig,t),e.destroyTextureBufferGroup(this))}}recycleInUsedGPUBuffers(e){for(const[t,i]of e)for(const e of i)if(e){const t=e.getTextureBufferGroup();t&&t.buffer&&(t.bufferArray&&(t.bufferArray=null),Lr()(this,dl).recycle(t.buffer,t.bufferConfig)),e.destroyTextureBufferGroup(this)}}requestTextureBuffer(e){if(!Lr()(this,dl))return null;if(Object(ji.f)(this,e.size))return Object(Mi.h)("requestTextureBuffer() a buffer size that exceeds the max size of GPUBuffer is required.(size:".concat(e.size,")")),null;const t=GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC;return e.usage=t,Lr()(this,dl).acquire(e)}destroyTextureGroup(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return;const i=e.getTextureGroup();if(!i)return;if(!Lr()(this,nl))return void Object(Mi.h)("destroyTextureGroup() mGPUTextureMgr is undefined!");const r=e.getTextureType();i&&(r==wi.x.GPU_TEX_YUV||r!=wi.x.GPU_TEX_RGBA&&function(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}(this,fl,pl).call(this,i)?(Lr()(this,nl).recycleTexture(i.yPlaneTex,t),Lr()(this,nl).recycleTexture(i.uPlaneTex,t),i.vPlaneTex&&Lr()(this,nl).recycleTexture(i.vPlaneTex,t)):Lr()(this,nl).recycleTexture(i,t),e.setTextureGroup(null))}};function ml(e,t,i){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,i)}var El=new WeakMap,gl=new WeakMap,Sl=new WeakMap,vl=new WeakMap,Cl=new WeakMap;var Al=class{constructor(e){ml(this,El,{writable:!0,value:""}),ml(this,gl,{writable:!0,value:new vs}),ml(this,Sl,{writable:!0,value:new Ed}),ml(this,vl,{writable:!0,value:new Os}),ml(this,Cl,{writable:!0,value:new _l}),Wr()(this,El,e),Lr()(this,Cl).addRendererProviderModule(Lr()(this,gl)),Lr()(this,Cl).setLabel(Lr()(this,El)),Lr()(this,Sl).setGPUResourceMgr(Lr()(this,Cl))}isEnableCanvasAlphaChannel(){return Lr()(this,Sl).isEnableCanvasAlphaChannel()}setCanvasAlphaChannelEnability(e){Lr()(this,Sl).setCanvasAlphaChannelEnability(e)}async evalRendererType(e){const t=await Lr()(this,gl).evaluate(e);console.log("[RenderManager] rendererType is ".concat(t))}getVideoRenderDisplay(e,t,i,r){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const s=Lr()(this,gl).getRendererType(),o=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl));return Lr()(this,Sl).getVideoRenderDisplay(s,e,t,i,r,o,a)}createWebGLVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return Lr()(this,gl).isWebGL2RendererType()?Lr()(this,Sl).getWebGL2RenderDisplayMgr().createVideoRenderDisplay(e,t,i,null,r):Lr()(this,gl).isWebGLRendererType()?Lr()(this,Sl).getWebGLRenderDisplayMgr().createVideoRenderDisplay(e,t,i,null,r):null}createVideoRenderDisplay(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const a=Lr()(this,gl).getRendererType(),s=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl));return Lr()(this,Sl).createVideoRenderDisplay(a,e,t,i,s,r)}getSharingRenderDisplay(e,t,i){const r=Lr()(this,gl).getRendererType(),a=Lr()(this,gl).acquireRenderer(e,Lr()(this,Cl),!0);return i||(i={}),i.clearCache=!0,Lr()(this,Sl).getSharingRenderDisplay(r,e,t,a,i)}recycleRenderDisplay(e,t,i){const r=Lr()(this,gl).getRendererType();Lr()(this,Sl).recycleRenderDisplay(r,e,t,Lr()(this,Cl),i)}renderFor(e){if(Lr()(this,gl).isWebGPURendererType()){const t=Lr()(this,gl).getRendererType(),i=Lr()(this,Sl).collectInUseRenderDisplays(t,e);i&&i.forEach(e=>{const t=Lr()(this,gl).acquireRenderer(e.canvas,Lr()(this,Cl));Lr()(this,vl).render(t,e.renderDisplays)})}}renderWith(e){if(Lr()(this,gl).isWebGPURendererType()){const t=e.getAttachedCanvas();if(t){const i=Lr()(this,gl).acquireRenderer(t,Lr()(this,Cl)),r=[];r.push(e),Lr()(this,vl).render(i,r)}}}getRenderDisplayMap(e){const t=Lr()(this,gl).getRendererType();return Lr()(this,Sl).getRenderDisplayMap(t,e)}onRestoredFromContextLost(e,t,i,r,a){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;return Lr()(this,gl).isWebGLRendererType()||Lr()(this,gl).isWebGL2RendererType()?Lr()(this,Sl).onRestoredFromContextLost(e,t,i,r,a,s):null}destroyUnusedVideoFrame(e){"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&Lr()(this,gl).isWebGPURendererType()&&e.close()}getRendererProvider(){return Lr()(this,gl)}getRenderDisplayManager(){return Lr()(this,Sl)}getWebGPUResMgr(){return Lr()(this,Cl)}cleanup(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Lr()(this,gl)&&Lr()(this,gl).cleanup(),Lr()(this,Sl)&&Lr()(this,Sl).cleanup(e,t,Lr()(this,Cl),i),i||Lr()(this,Cl)&&Lr()(this,Cl).cleanup()}clearOffscreenCanvas(e){Lr()(this,Sl)&&Lr()(this,Sl).cleanupByCanvas(e)}},Rl=i(24),Tl=i(22),Il=i(11),bl=i(56),Ol=i.n(bl),Dl=i(26),wl=i(36);function yl(e){if(!(Object(g.IsSupportTransferableDataChannel)()&&T.default.enableTransferDataChannel)||!e)return null;if("undefined"!=typeof DedicatedWorkerGlobalScope)return null;let t=K.dataTransportMgr;return null==t.mediadatachannel.netthreadworker&&(t.mediadatachannel.netthreadworker=pi(e,"net"),v.default.directReport("transferdatachannel supported")),t.mediadatachannel.netthreadworker}var Ml,Pl=i(37),Nl=i(17),Vl=i(21);const kl=null===(Ml=document.currentScript)||void 0===Ml?void 0:Ml.src;const Ul=new class{constructor(){this._isReuseStreamEnabled=!1,this._isStreamInReuseMap=new Map,this.presetedConstraints={audioConstraints:null,videoConstraints:null,audioTimer:null,videoTimer:null},this._deprecatedStream={audio:[],video:[]},this._captureVideoDeferred=null,this.audioConstraints=null,this.audioStream=null,this.isCaptureAudioInProgress=!1,this.audioCaptureElapsedTime=0,this.videoConstraints=null,this.videoStream=null,this.videoStreamTrack=null,this.captureVideoTimer=null,this.checkVideoStreamActiveTimer=null,this.isCaptureVideoInProgress=!1,this.isCapturingAudioFromDefault=!1,this.currentVideoResolution={width:0,height:0},this.streamProcessAbility={isSupportMediaStreamTrackProcessor:g.default.isSupportMediaStreamTrackProcessor(),isSupportVideoTrackReader:g.default.isSupportVideoTrackReader(),isSupportImageCapture:g.default.isSupportImageCapture()},this.mediaStreamTrackProcessor=null,this.reableStream=null,this.videoTrackReader=null,this.videoImageCapture=null,this.videoImageCaptureLocked=!1,this.isAppleGraphic=!1,this.isSupportFullHD=!1,this.facingMode=s.FACE_MODE_UNKNOW,this.VBMFlag=!1,this.audioBridge=null,this.webrtcFlag=!1,this.vbStream=null,this.vb=null,this.isVBEnabled=!1,this.updateVideoStream=null,this.isCaptureAudioFromFile=!1,this.blockUpgradeCapture={},this.videoCaptureSuccessHandler=null,this.videoCaptureFailedHandler=null,this.receivedVideoConstraints=null,this.onVBResolutionChange=null}enableReuseStream(e){this._isReuseStreamEnabled=!!e}_updateStreamInReuse(e,t){t?this._isStreamInReuseMap.set(e,!0):this._isStreamInReuseMap.delete(e)}_isStreamInReuse(e){return!!this._isStreamInReuseMap.get(e)}presetConstraints(e){let{audioConstraints:t,videoConstraints:i}=e;t&&(this.presetedConstraints.audioConstraints=this._getAudioConstraints(t)),i&&(this.presetedConstraints.videoConstraints=this._getVideoConstraints(i))}_clearPresetConstraints(){this.presetedConstraints.audioConstraints=null,this.presetedConstraints.videoConstraints=null}_getPresetAudioConstraints(){const{audioConstraints:e}=this.presetedConstraints;return this._clearPresetConstraints(),!(!e||this.audioStream||this.isCaptureAudioInProgress)&&e}_getPresetVideoConstraints(){const{videoConstraints:e}=this.presetedConstraints;return this._clearPresetConstraints(),!(!e||this.videoStream||this.isCaptureVideoInProgress)&&e}_pushDeprecatedStream(){let{audioStream:e,videoStream:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e&&this._deprecatedStream.audio.push(e),t&&this._deprecatedStream.video.push(t)}_destoryDeprecatedStream(){let{audio:e,video:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e&&(this._deprecatedStream.audio.forEach(e=>{try{this._destoryStream(e)}catch(e){v.default.error("Error when destroying deprecated audio stream",e)}}),this._deprecatedStream.audio=[]),t&&(this._deprecatedStream.video.forEach(e=>{try{this._destoryStream(e)}catch(e){v.default.error("Error when destroying deprecated video stream",e)}}),this._deprecatedStream.video=[])}setStreamProcessAbility(e){let{isSupportMediaStreamTrackProcessor:t,isSupportVideoTrackReader:i,isSupportImageCapture:r}=e;this.streamProcessAbility={...this.streamProcessAbility,...void 0!==t?{isSupportMediaStreamTrackProcessor:t}:{},...void 0!==i?{isSupportVideoTrackReader:i}:{},...void 0!==r?{isSupportImageCapture:r}:{}}}_isFileInputAudioSource(e){return e&&(e.audio instanceof HTMLVideoElement||e.audio instanceof HTMLAudioElement)}_getAudioConstraints(e){let{audioSource:t,isSupportBrowserAec:i,disableAudioAGC:r,disableNoiseSuppression:a,enableOriginalSound:s,enableStereo:o}=e;if(t instanceof HTMLVideoElement||t instanceof HTMLAudioElement)return{audio:t};let n=!1,d=g.default.getOSInfo();return n=i?{deviceId:t?{exact:t}:g.default.browser.isChrome&&"OpenHarmony"!=d.os?{exact:"default"}:void 0,autoGainControl:!r&&!s,noiseSuppression:!a&&!s,latency:0,echoCancellation:!o,channelCount:2,sampleRate:48e3}:{deviceId:t?{exact:t}:g.default.browser.isChrome&&"OpenHarmony"!=d.os?{exact:"default"}:void 0,autoGainControl:!r&&!s,noiseSuppression:!a&&!s,latency:0,echoCancellation:i&&!o,channelCount:2,sampleRate:48e3},n}_isSameAudioConstraintsAsPrev(e){return!this._isFileInputAudioSource(e)&&(!(!this.audioConstraints||!Object(g.deepEqual)(this.audioConstraints,e))&&(!!this.audioStream&&!!this._isStreamHasAudio(this.audioStream)))}_destoryStream(e){let{audioOnly:t,videoOnly:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&!g.default.audioToMediaStreamMananger.isAudioFileStream(e)){let r=[];r=t?e.getAudioTracks():i?e.getVideoTracks():e.getTracks(),r.forEach(e=>{e.stop()})}}_isStreamHasAudio(e){const t=e.getAudioTracks();return t&&t.length>0}_isStreamHasVideo(e){const t=e.getVideoTracks();return t&&t.length>0}destoryAudioMediaStream(){this.audioStream?(this._isFileInputAudioSource(this.audioConstraints)&&g.default.audioToMediaStreamMananger.stopCapture(),this._isReuseStreamEnabled?this._updateStreamInReuse(this.audioStream,!0):(this._updateStreamInReuse(this.audioStream,!1),this._destoryStream(this.audioStream),this.audioStream=null,this.audioConstraints=null,this.audioCaptureElapsedTime=0,this._destoryDeprecatedStream({audio:!0}))):this._destoryDeprecatedStream({audio:!0}),this.enableReuseStream(!1)}shouldCaptureAudio(){return!this.audioStream||this._isStreamInReuse(this.audioStream)}muteUnmuteAudioMediaStream(e){if(this.audioStream){(this.audioStream.getAudioTracks()||[]).forEach(t=>{t.enabled=!e})}}_storeAudioStream(e,t,i){e&&(Ll("audio stream is ok"),this.destoryAudioMediaStream(),this.audioStream=e,this.audioConstraints=t,i&&this._setPresetAudioStreamAutoStopTimer())}_setPresetAudioStreamAutoStopTimer(){this._clearPresetAudioStreamAutoStopTimer(),this.presetedConstraints.audioTimer=setTimeout(()=>{this.destoryAudioMediaStream()},1e4)}_clearPresetAudioStreamAutoStopTimer(){this.presetedConstraints.audioTimer&&(clearTimeout(this.presetedConstraints.audioTimer),this.presetedConstraints.audioTimer=null)}addAudioTrackSettingsMonitor(e,t){const i=null==e?void 0:e.getSettings();A.default.add_monitor(t+":"+(null==i?void 0:i.channelCount)+":"+(null==i?void 0:i.echoCancellation)+":"+(null==i?void 0:i.autoGainControl)+":"+(null==i?void 0:i.noiseSuppression))}_handleAudioCaptureSuccess(e,t,i,r){this._clearPresetAudioStreamAutoStopTimer(),r||this._storeAudioStream(e,t),this._updateStreamInReuse(e,!1);let o=e.getAudioTracks()[0];o?(A.default.add_monitor("ATRS:"+o.readyState+":"+o.id),A.default.add_monitor("ATMS:"+o.muted+":"+o.id),this.addAudioTrackSettingsMonitor(o,"NormalAudioCapture"),o.onended=async()=>{if(!await _r.hasPermission("microphone"))return A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-R"),void Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.PERMISSION_RESET);let e=await navigator.mediaDevices.enumerateDevices(),t=!1;e.forEach(e=>{var i;"audioinput"==e.kind&&(null===(i=e.label)||void 0===i||null===(i=i.replace(/\(\w+:\w+\)|,/gi,""))||void 0===i?void 0:i.trim())==_r.getMicLabel()&&e.deviceId==_r.getMicId()&&(t=!0)}),t?(Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION),A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-L")):A.default.add_monitor("ATRS:"+o.readyState+":"+o.id+":-I")},o.muted?(T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_MUTED,s.REMINDER_AFTER_MUTED),this.audioBridge&&(this.audioBridge.isMutedBySystem=!0)):(T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED),this.audioBridge&&(this.audioBridge.isMutedBySystem=!1)),o.onmute=()=>{A.default.add_monitor("ATMS:"+o.muted+":"+o.id);const e=this.audioStream.getAudioTracks()[0];e&&e.id===o.id&&(this.audioBridge&&(this.audioBridge.isMutedBySystem=!0),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_MUTED,s.RECAPTURE_AUDIO_AFTER_MUTED))},o.onunmute=()=>{A.default.add_monitor("ATMS:"+o.muted+":"+o.id);const e=this.audioStream.getAudioTracks()[0];e&&e.id===o.id&&(this.audioBridge&&(this.audioBridge.muted||this.audioBridge.unmute(),this.audioBridge.isMutedBySystem=!1),T.default.Notify_APPUI_SAFE(a.AUDIO_STREAM_UNMUTED))}):A.default.add_monitor("TN"),i(e)}_genAudioStream(e){try{const t=e.getAudioTracks();if(0===t.length)return null;return new MediaStream(t)}catch(t){return v.default.warn("_genAudioStream",t),this._destoryStream(e,{videoOnly:!0}),e}}_genVideoStream(e){try{const t=e.getVideoTracks();if(0===t.length)return null;return new MediaStream(t)}catch(t){return v.default.warn("_genVideoStream",t),this._destoryStream(e,{audioOnly:!0}),e}}_splitAudioStream(e,t,i,r){const{audio:a,video:s}=t;if(s&&this._isStreamHasVideo(e)){const t=this._genAudioStream(e),o=this._genVideoStream(e);return t?this._handleAudioCaptureSuccess(t,a,i):r(new Error("audio stream do not contains audio track ")),void(o&&(this.videoStream?this._pushDeprecatedStream({videoStream:o}):(this._updateStreamInReuse(o,!0),this._storeVideoStream(o,s,!0))))}this._handleAudioCaptureSuccess(e,a,i)}async _captureFileInputAudioStream(e){const{audio:t}=e;try{if(!await new Promise((e,i)=>{t.currentTime>0&&!t.paused&&!t.ended&&e(!0);const r=()=>{e(!0),t.removeEventListener("timeupdate",r)};t.addEventListener("timeupdate",r),setTimeout(()=>i(!1),1e4)}))throw new Error("audio file playing failed");return g.default.audioToMediaStreamMananger.startCapture(t)}catch(e){console.error(e);const t=new Error("capture stream from file input souce failed");throw t.name="FileInputSouceError",t}}async startCaptureAudio(e){var t,i;let{audioConstraints:r,successHandler:a,errorHandler:s}=e;this.enableReuseStream(!1);const o=!!r&&this._getAudioConstraints(r),n=this._isFileInputAudioSource(o);this.isCaptureAudioFromFile=n;const d=this._isSameAudioConstraintsAsPrev(o),u=this._getPresetVideoConstraints();if(this._clearPresetAudioStreamAutoStopTimer(),d)return this.audioCaptureElapsedTime=-2,void this._handleAudioCaptureSuccess(this.audioStream,o,a,!0);const l={audio:o,video:n?null:u};this.isCaptureAudioInProgress=!0;let c=Date.now();g.default.isIphoneOrIpadSafari()&&(this._captureVideoDeferred&&await this._captureVideoDeferred.promise,this._captureVideoDeferred=new g.Deferred),this.destoryAudioMediaStream(),A.default.add_monitor("RGUMA"),document.removeEventListener("visibilitychange",xl),this.isCapturingAudioFromDefault="default"===(null==l||null===(t=l.audio)||void 0===t?void 0:t.deviceId)||!(null!=l&&null!==(i=l.audio)&&void 0!==i&&i.deviceId),(n?this._captureFileInputAudioStream(o):navigator.mediaDevices.getUserMedia(l)).then(e=>{if(T.default.ComputerAudioStatus===R.a.ComputerAudio_Null)return v.default.log("getUserMedia successfully but UI has called leave audio"),void e.getAudioTracks().forEach(e=>{e.stop()});this.audioCaptureElapsedTime=Date.now()-c,this._splitAudioStream(e,l,a,s)}).catch(e=>{T.default.ComputerAudioStatus!==R.a.ComputerAudio_Null?(n||_r.updateSelectedMicDevices(o.deviceId&&o.deviceId.exact||"default","getUsermedia failed",Date.now()-c,!1),s(e)):v.default.log("getUserMedia failed but UI has called leave audio")}).finally(()=>{this.isCaptureAudioInProgress=!1,this._captureVideoDeferred&&this._captureVideoDeferred.resolve()})}_isFileInputVideoSource(e){return e&&e.video instanceof HTMLVideoElement}isUsingFileInputVideoSource(){return this._isFileInputVideoSource(this.videoConstraints)}_getFileInputSourceSize(e,t){const i=[90,180,360,720];return t||(t=360),t>720&&(t=720),t<90&&(t=90),-1===i.indexOf(t)&&i.some((e,r)=>e>t&&(t=(e+i[r-1])/2<t?e:i[r-1],!0)),{width:16/9*t,height:t}}_getVideoConstraints(e){let{videoSource:t,usingFacingMode:i,width:r,height:a,pan:o,tilt:n,zoom:d,fps:u}=e;if(t instanceof HTMLVideoElement)return{video:t,...r&&a?this._getFileInputSourceSize(r,a):{}};let l=!1,c=u||s.VIDEO_CAPTURE_FPS;c>s.MAX_VIDEO_CAPTURE_FPS&&(c=s.MAX_VIDEO_CAPTURE_FPS),c<s.MIN_VIDEO_CAPTURE_FPS&&(c=s.VIDEO_CAPTURE_FPS),navigator.hardwareConcurrency&&navigator.hardwareConcurrency<4&&c>s.LOWER_VIDEO_CAPTURE_FPS&&(c=s.LOWER_VIDEO_CAPTURE_FPS),this.webrtcFlag&&(c={min:s.VIDEO_CAPTURE_FPS,max:s.MAX_VIDEO_CAPTURE_FPS,ideal:s.MAX_VIDEO_CAPTURE_FPS});const h=c,f=["user","environment","left","right"];if(this.webrtcFlag)if(i)l=!f.includes(t)||{facingMode:{exact:t},frameRate:h};else{const{width:e,height:i}=this.currentVideoResolution,s=0!=e&&0!=i;let u=s?e:r||640,c=s?i:a||360;u>=1280&&(u=1280,c=720),l={width:{min:u,ideal:u},height:{min:c,ideal:c},deviceId:t?{exact:t}:void 0,frameRate:h,pan:o,tilt:n,zoom:d}}else if(i)l=!t||(f.includes(t)?{facingMode:{exact:t}}:{deviceId:{exact:t}});else if(g.default.browser.isSafari)l=!t||{deviceId:{exact:t}};else{const{width:e,height:i}=this.currentVideoResolution,s=0!=e&&0!=i;let u=s?e:r||640,c=s?i:a||360;u>=1920&&!g.default.get1080pcapacity()&&(u=1280,c=720),l={width:{min:u,ideal:u},height:{min:c,ideal:c},deviceId:t?{exact:t}:void 0,frameRate:h,pan:o,tilt:n,zoom:d}}return l}_getVideoIdealWidthHeight(e){let{videoSource:t,usingFacingMode:i,width:r,height:a}=e;if(t instanceof HTMLVideoElement||this.webrtcFlag)return!0;if(i)return!0;if(g.default.browser.isSafari)return!0;{const{width:e,height:t}=this.currentVideoResolution||{},i=0!=e&&0!=t;let s=i?e:r||640,o=i?t:a||360;return s>=1920&&!g.default.get1080pcapacity()&&(s=1280,o=720),{width:{ideal:s},height:{ideal:o}}}}_updateVideoConstraints(e){return this.videoStreamTrack?this.videoStreamTrack.applyConstraints(e).catch(t=>{const{readyState:i}=this.videoStreamTrack;if(v.default.error("Applying video constraints failed "+i+JSON.stringify(e),t),"ended"===i){const{width:e,height:t}=this.currentVideoResolution,{deviceId:i}=this.videoStreamTrack.getSettings();this.blockUpgradeCapture[i]=!0,this.destoryVideoMediaStream();const r={...this.receivedVideoConstraints};e&&(r.width=e),t&&(r.height=t),this.startCaptureVideo({videoConstraints:r,timeout:null}).catch(e=>{v.default.error("Recapture video failed: ",e),A.default.add_monitor("RECPF")})}return Promise.reject(t)}):Promise.reject(new Error("video stream not exist! update video constraints failed"))}changeVideoResolution(e,t,i){if(this.isUsingFileInputVideoSource())return Promise.reject(new Error("Reject upgrade caputre, reason: using file input video source"));if(this.videoStreamTrack){if(e>=1920&&!this.isSupportFullHD&&(e=1280,t=720),this.videoStreamTrack.getSettings){let r=this.videoStreamTrack.getSettings();if(Math.abs(r.width-e)<50)return Promise.reject(new Error("Reject upgrade caputre, reason: width change less than 50"));if((e>r.width||t>r.height||i>r.frameRate)&&this.blockUpgradeCapture[r.deviceId])return Promise.reject(new Error("Reject upgrade caputre, reason: block upgrade capture"))}A.default.add_monitor("CCWidth"+e);let r=void 0;r=this.webrtcFlag?{min:s.VIDEO_CAPTURE_FPS,max:s.MAX_VIDEO_CAPTURE_FPS,ideal:i}:{max:s.MAX_VIDEO_CAPTURE_FPS,ideal:i};let a={width:{min:e,ideal:e},height:{min:t,ideal:t},frameRate:r,aspectRatio:this.platformType==s.WCL_PLATFORM_TYPE.DESKTOP?{ideal:16/9}:void 0};return this._updateVideoConstraints(a).then(()=>{if(this.currentVideoResolution={width:e,height:t},this.webrtcFlag&&this.isVideoStreamProcessed()){const e=this.videoStream.getVideoTracks()[0];if(e){const{width:t,height:i}=e.getSettings();return new Promise((e,r)=>{const a=setTimeout(()=>{this.onVBResolutionChange=null,r()},150);this.onVBResolutionChange=r=>{r.width===t&&r.height===i&&(clearTimeout(a),this.onVBResolutionChange=null,e())}})}}})}return Promise.reject(new Error("video stream not exist! change video resolution failed"))}_isSameVideoConstraintsAsPrev(e){return!this._isFileInputVideoSource(e)&&(!(!this.videoConstraints||!Object(g.deepEqual)(this.videoConstraints,e))&&(!!this.videoStream&&!!this._isStreamHasVideo(this.videoStream)))}_clearCaptureVideoTimer(){this.captureVideoTimer&&(clearTimeout(this.captureVideoTimer),this.captureVideoTimer=null)}destoryVideoMediaStream(){this.videoStream?(this._isFileInputVideoSource(this.videoConstraints)&&g.default.videoToMediaStreamManager.stopCapture(),this.vbStream&&this.stopVBStream(),this.processedStream=null,this._isReuseStreamEnabled?this._updateStreamInReuse(this.videoStream,!0):(this._updateStreamInReuse(this.videoStream,!1),this._destoryStream(this.videoStream),this.videoStream=null,this.videoStreamTrack=null,this.videoConstraints=null,this._destoryDeprecatedStream({video:!0}))):this._destoryDeprecatedStream({video:!0}),this._isReuseStreamEnabled||this._clearCaptureVideoTimer(),this.enableReuseStream(!1),this.destoryVideoProcessor(),this._clearCheckVideoStreamActiveTimer()}shouldCaptureVideo(){return!this.videoStream||this._isStreamInReuse(this.videoStream)}_clearCheckVideoStreamActiveTimer(){this.checkVideoStreamActiveTimer&&(clearTimeout(this.checkVideoStreamActiveTimer),this.checkVideoStreamActiveTimer=null)}checkVideoStreamActive(){return new Promise((e,t)=>{this._clearCheckVideoStreamActiveTimer(),this.checkVideoStreamActiveTimer=setTimeout(()=>{this.videoStream?!1===this.videoStream.active?t(new J.CameraOccupiedError("VideoMediaStram.active equals false")):e(!0):t(!1)},1e3)})}destoryVideoProcessor(){if(this.videoTrackReader){try{this.videoTrackReader.stop()}catch(e){v.default.error("Error when destroying video track reader",e)}this.videoTrackReader=null}if(this.mediaStreamTrackProcessor){if(this.mediaStreamTrackProcessor=null,_t({command:"releaseStream"}),this.reableStream&&this.reableStream.close)try{this.reableStream.close()}catch(e){v.default.error("Error when destroying mediaStreamTrackProcessor",e)}this.reableStream=null}this.videoImageCapture=null,this.unLockImageCapture()}lockImageCapture(){this.videoImageCaptureLocked=!0}unLockImageCapture(){this.videoImageCaptureLocked=!1}isImageCaptureLocked(){return this.videoImageCaptureLocked}_createVideoProcessor(){this.videoStreamTrack?this.streamProcessAbility.isSupportMediaStreamTrackProcessor?(this.mediaStreamTrackProcessor=new MediaStreamTrackProcessor(this.videoStreamTrack),this.reableStream=this.mediaStreamTrackProcessor.readable,_t({command:"releaseStream"}),mt("frameStream",this.reableStream),A.default.add_monitor("VCTP")):this.streamProcessAbility.isSupportVideoTrackReader?(this.videoTrackReader=new VideoTrackReader(this.videoStreamTrack),A.default.add_monitor("VCTR")):this.streamProcessAbility.isSupportImageCapture&&(this.videoImageCapture=new ImageCapture(this.videoStreamTrack),A.default.add_monitor("VCIC")):v.default.error("Video stream track does not exist - cannot create video processor")}_storeVideoStream(e,t,i){e&&(Ll("video stream is ok"),this.destoryVideoMediaStream(),this.videoStream=e,this.videoStreamTrack=this.videoStream.getVideoTracks()[0],this.videoConstraints=t,i&&this._setPresetVideoStreamAutoStopTimer())}_setPresetVideoStreamAutoStopTimer(){this._clearPresetVideoStreamAutoStopTimer(),this.presetedConstraints.videoTimer=setTimeout(()=>{this.destoryVideoMediaStream()},1e4)}_clearPresetVideoStreamAutoStopTimer(){this.presetedConstraints.videoTimer&&(clearTimeout(this.presetedConstraints.videoTimer),this.presetedConstraints.videoTimer=null)}_handleVideoCaptureSuccess(e,t,i,r){this._clearPresetVideoStreamAutoStopTimer(),r||this._storeVideoStream(e,t),this.webrtcFlag||this._createVideoProcessor(),this._updateStreamInReuse(e,!1),this.isVBEnabled?this.startVBStream().then(()=>{i(e)}).catch(()=>{}):i(e)}getVideoCapabilities(){if(this.videoStream&&(this.videoStreamTrack||(this.videoStreamTrack=this.videoStream.getVideoTracks()[0]),this.videoStreamTrack)){if(this.videoStreamTrack.getCapabilities)return this.videoStreamTrack.getCapabilities()||{};if(this.videoStreamTrack.getSettings)return this.videoStreamTrack.getSettings()||{}}return{}}getAudioCapabilities(){let e=null,t=null;if(this.audioStream){let i=this.audioStream.getAudioTracks()[0];i&&(e=i.getSettings().deviceId,t=i.label)}return{deviceId:e,elapsed_time:this.audioCaptureElapsedTime,deviceLabel:t}}getAudioDeviceId(){return this.isCapturingAudioFromDefault?null:this.getAudioCapabilities().deviceId}_splitVideoStream(e,t,i,r){const{audio:a,video:s}=t;if(a&&this._isStreamHasAudio(e)){const t=this._genVideoStream(e),o=this._genAudioStream(e);return t?this._handleVideoCaptureSuccess(t,s,i):r(new Error("video stream do not contains video track ")),void(o&&(this.audioStream?this._pushDeprecatedStream({audioStream:o}):(this._updateStreamInReuse(o,!0),this._storeAudioStream(o,a,!0))))}this._handleVideoCaptureSuccess(e,s,i)}async _captureFileInputVideoStream(e){const{video:t}=e;try{if(!await new Promise((e,i)=>{t.currentTime>0&&!t.paused&&!t.ended&&e(!0);const r=()=>{e(!0),t.removeEventListener("timeupdate",r)};t.addEventListener("timeupdate",r),setTimeout(()=>i(!1),1e4)}))throw new Error("video file playing failed");if(!e.width||!e.height){const{width:i,height:r}=_getFileInputSourceSize(t.videoWidth,t.videoHeight);e.width=i,e.height=r}return g.default.videoToMediaStreamManager.startCapture(t,e.width,e.height)}catch(e){console.error(e);const t=new Error("capture stream from file input souce failed");throw t.name="FileInputSouceError",t}}async startCaptureVideo(e){let{videoConstraints:t,timeout:i,successHandler:r=this.videoCaptureSuccessHandler,errorHandler:a=this.videoCaptureFailedHandler}=e;this.videoCaptureSuccessHandler=r,this.videoCaptureFailedHandler=a,this.receivedVideoConstraints=t,this._captureVideoDeferred&&await this._captureVideoDeferred.promise,this.enableReuseStream(!1);const o=!!t&&this._getVideoConstraints(t),n=this._isFileInputVideoSource(o),d=this._isSameVideoConstraintsAsPrev(o),u=this._getPresetAudioConstraints();if(this._clearPresetVideoStreamAutoStopTimer(),A.default.add_monitor("STARTVIDEOCAPTURE:".concat(!!this._captureVideoDeferred,":").concat(d)),d)return void this._handleVideoCaptureSuccess(this.videoStream,o,r,!0);this.destoryVideoMediaStream();const l={audio:n?null:u,video:o};Ll("try to getusermedia",l),A.default.add_monitor("VCFC: ".concat(Object(g.replaceComma)(JSON.stringify(l)),"|isFileInputVideoSource:").concat(n));try{this.isCaptureVideoInProgress=!0;let e,d=!1;this._clearCaptureVideoTimer(),i&&(this.captureVideoTimer=setTimeout(()=>{if(!e){d=!0;const e=new Error("GetUserMedia timeout");a(e)}},i));let u=Date.now();if(n)e=await this._captureFileInputVideoStream(o);else try{e=await navigator.mediaDevices.getUserMedia(l)}catch(i){let r=!0;if("OverconstrainedError"==(null==i?void 0:i.name)){r=this._getVideoIdealWidthHeight(t),r instanceof Object&&(r=Object.assign({},l.video,r));try{e=await navigator.mediaDevices.getUserMedia(Object.assign({},l,{video:r})),a(i,!0)}catch(e){a(e)}}else a(i)}if(this._clearCaptureVideoTimer(),!e)return;{let t=e.getVideoTracks()[0];if(t&&t.getCapabilities){var c;let e=t.getCapabilities();(null==e||null===(c=e.width)||void 0===c?void 0:c.max)>=1920&&(this.isSupportFullHD=!0)}let i=t.getSettings();const{width:r,height:a,frameRate:o,facingMode:n,deviceId:l}=i||{};this.facingMode="user"===n?s.FACE_MODE_USER:"environment"===n?s.FACE_MODE_ENVIRONMENT:s.FACE_MODE_UNKNOW;const h={width:r,height:a,frameRate:o,facingMode:n};A.default.add_monitor("CapturedVT: ".concat(Object(g.replaceComma)(JSON.stringify(h))));let f=t.label;if(d)return this._destoryStream(e),void _r.updateSelectedCameraDevices(l,f,r,a,o,Date.now()-u,!1);_r.updateSelectedCameraDevices(l,f,r,a,o,Date.now()-u,!0)}this._splitVideoStream(e,l,r,a)}catch(e){a(e)}finally{this.isCaptureVideoInProgress=!1}}playVideoStream(e){if(e){e.setAttribute("muted",""),e.setAttribute("playsinline","");try{e.srcObject=this.getVideoStream()}catch(t){e.src=URL.createObjectURL(this.getVideoStream())}const t=e.play();return t?t.then(()=>{}).catch(e=>{if(!e.message.includes("The play() request was interrupted")&&!e.message.includes("The fetching process for the media resource was aborted"))throw v.default.warn("Video element playback failed",e),e}):Promise.resolve(void 0)}return Promise.reject(new Error("video dom node not provided!"))}removeVideoStream(e){if(e){(()=>{!e.paused&&e.pause(),e.srcObject&&(e.srcObject=null),e.src&&(e.src=null)})()}}destoryReuseStream(){let{audio:e,video:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.enableReuseStream(!1),e&&this.destoryAudioMediaStream(),t&&this.destoryVideoMediaStream()}async initVB(e){if(!this.vb){const e=kl.substring(0,kl.lastIndexOf("/"));let t;this.vb=new Ol.a({cdnPath:e}),this.vb.ontimeout3s=()=>{A.default.add_monitor("VBP3S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_3S,null)},this.vb.ontimeout10s=()=>{A.default.add_monitor("VBP10S"),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_10S,null)},this.vb.onMessage(e=>{const{cmd:i,payload:r}=e;if(i===Dl.VB_EVENT_TYPE.VB_MODEL_READY)t=performance.now();else if(i===Dl.VB_EVENT_TYPE.VB_PREDICT_DONE){const i=performance.now()-t;A.default.add_monitor("VBPOK"+i),A.default.add_monitor("TFBE-"+e.payload)}else if(i===Dl.VB_EVENT_TYPE.VB_GENERATE_FIRST_FRAME&&this.isVBEnabled&&this.updateVideoStream)this.updateVideoStream(this.vbStream);else if(i===Dl.VB_EVENT_TYPE.VB_WORKER_ERROR){switch(r.message){case Dl.VB_VIDEOFRAME_COPYTO_ERROR:Object(J.NotifyUIError)(a.VB_PROCESS_IMAGE_FAIL)}v.default.error("VB module error: ",r)}else i===Dl.VB_EVENT_TYPE.VB_RESOLUTION_CHANGE&&this.onVBResolutionChange&&this.onVBResolutionChange(r)}),A.default.add_monitor("CWMSCVB")}this.updateVideoStream=e;try{await this.vb.initialize(),T.default.Notify_APPUI(a.VB_MODEL_PRELOADING_OK,null)}catch(e){v.default.error("VB initialize failed",e),A.default.add_monitor("VBBEF");const{VB_SETTING_PARA_ERROR_TYPE:t}=a;T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,t.FAIL)}}async changeVBImage(e){if(this.isVBEnabled=!0,"blur"===e)this.vb.set_background_blur();else{this.vb.set_background_image(e)||v.default.error("WebRTC change VB background failed")}if(!this.vbStream&&this.videoStream)try{await this.startVBStream()}catch(e){v.default.error("WebRTC startVBStream failed",e)}}startVBStream(){return this.videoStream.getVideoTracks()[0]?(this.vbStream=this.vb.createStream(),this.vb.captureVideo(this.videoStream)):Promise.reject("start vb stream fail")}stopVBStream(){this.vbStream=null,this.vb.stopCapture(!1)}disableVB(){this.isVBEnabled=!1,this.updateVideoStream&&this.updateVideoStream(this.videoStream),this.stopVBStream()}getVideoStream(){return this.processedStream?this.processedStream:this.isVBEnabled?this.vbStream:this.videoStream}isVideoStreamProcessed(){return this.getVideoStream()!=this.videoStream}async adjustShareResUnder2K(e){const{height:t,width:i}=e.getSettings(),r=t>=i;if((r?i:t)>1440||(r?t:i)>2560){const t=e.getConstraints();t.height=r?2560:1440,t.width=r?1440:2560;try{await e.applyConstraints(t)}catch(t){Ll.error("browser does not support applyConstraints",t),A.default.add_monitor("SVSTACF: ".concat(e.readyState))}}}getScaledResolution(e,t){if(e>t&&e>2560){let i=e/2560,r=t/1440;return i>r?{w:2560,h:Math.floor(t/i)}:{w:Math.floor(e/r),h:1440}}return{w:e,h:t}}},Ll=Object(S.a)("sdk");function xl(){document.hidden||(A.default.add_monitor("RE-CAPTURE"),T.default.Notify_APPUI_SAFE(a.RECAPTURE_AUDIO),document.removeEventListener("visibilitychange",xl))}let Wl=!1;try{Wl=!1}catch(e){}var Bl=0;const Gl=e=>{switch(window.orientation){case 0:Bl=1;break;case 90:Bl=2;break;case 180:Bl=3;break;case-90:default:Bl=0}};function Fl(){return g.default.isIphoneOrIpadSafari()}function Hl(e){let t=a.CAPTURE_FAILED_REASON.UNKNOWN_REASON,i="Unknown reason";return"NotAllowedError"===(null==e?void 0:e.name)?"Permission denied by system"===(null==e?void 0:e.message)?(t=a.CAPTURE_FAILED_REASON.SYSTEM_DENIED,i="Permission denied by system"):"Permission denied"===(null==e?void 0:e.message)||null!=e&&e.message.includes("The request is not allowed by the user agent or the platform in the current context")?(t=a.CAPTURE_FAILED_REASON.USER_DENIED,i="Permission denied by user"):"Permission dismissed"===e.message&&(t=a.CAPTURE_FAILED_REASON.USER_DISMISS,i="Permission dismissed by user"):"NotFoundError"===(null==e?void 0:e.name)?"The object can not be found here."===e.message?(t=a.CAPTURE_FAILED_REASON.SYSTEM_DENIED,i="Permission denied by system"):"Requested device not found"===e.message&&(t=a.CAPTURE_FAILED_REASON.NO_DEVICE,i="No device found"):"NotReadableError"!==(null==e?void 0:e.name)&&"TrackStartError"!==(null==e?void 0:e.name)||"Device in use"!==(null==e?void 0:e.message)?"OverconstrainedError"===(null==e?void 0:e.name)&&(t=a.CAPTURE_FAILED_REASON.OVERCONSTRAINED,i="Constraint violation"):(t=a.CAPTURE_FAILED_REASON.DEVICE_IN_USE,i="Device in use"),{errorCode:t,errorMessage:i,error:e}}!function(){try{var e,t,i;null!==(e=screen)&&void 0!==e&&e.orientation,null===(t=window)||void 0===t||t.removeEventListener("orientationchange",Gl),null===(i=window)||void 0===i||i.addEventListener("orientationchange",Gl),Gl()}catch(e){}}(),document.addEventListener("visibilitychange",()=>{let e=g.default.getMachineCapability();A.default.add_monitor("page_visibility:".concat(document.visibilityState)),document.hidden?(e.unvisibilitycount++,e.visibility=!1):e.visibility=!0}),function(e){try{const t="undefined"!=typeof DedicatedWorkerGlobalScope;if(K.dataTransportMgr)return;let i=new W({type:t?W.THREAD_SUB:W.THREAD_MAIN,remote:t?self:null});K.dataTransportMgr=i,i.monitorlogfn=e,t&&self.addEventListener("message",i._onrecvmainthreadlistener.bind(i))}catch(e){console.error("<<<< InitDataTransportModule",e)}}();var Kl=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Ll("sdkProps",t),A.default.reset(),Ul.webrtcFlag=!1,this._id=(new Date).getTime()+Math.floor(performance.now()),t.parentPath){const e=t.parentPath.endsWith("/")?t.parentPath:t.parentPath+"/";i.p=e}else{const e=null==kl?void 0:kl.indexOf("js_media.min.js");e?i.p=null==kl?void 0:kl.substring(0,e):Ll("could not locate parentPath")}if(this.lateLoadedAssetsHash={},t.globalTracingLogger&&v.default.setInstance(t.globalTracingLogger,Kl.fixVersion),v.default.clearHighFrequencyLogs(),this.isSupportThread="object"==typeof WebAssembly&&"function"==typeof Worker,!this.isSupportThread)throw new Error("Webassemly or worker is not supported on this browser");let r=T.default.sharedBuffer;T.default.reinit(this),r&&(T.default.sharedBuffer=r),this.localLog=null,Wl&&(this.localLog=new Nr,this.localLog.init()),_r.init(),this.userId="",this.selfPreviewVideotagList=[],this.sharingCanvasList=[],this.mainSharingCanvas=null,this.annoCanvas=null,this.audioCtx=null,this.sharingAudioCtx=null,this.webrtcAudioNode=null,this.sharingWebrtcAudioNode=null,this.videoRenderArray=[],this.videoCaptureValue=null,this.audioRenderArray=[],this.audioCapture=null,this.deviceInfo=new Map,this.display=[],this.sampleRate=null===(e=this.audioCtx)||void 0===e?void 0:e.sampleRate,this.videoRenderIntervalHandle=null,this.audioDomNode=null,this.audioSpeakerValue=null,this.audioSpeakerSetErrorCnt=0,this.audioMicSetErrorCnt=0,this.audionoderecordbuffersize=2048,this.lastresidual=null,this.currentactive=0,this.audioPlay=!1,this.sharingInterval=null,this.sharingIntervalTime=100,this.sharingDisplay=null,this.currentshareactive=0,this.activeSpeakerSsrc=0,this.videorenderinterval=30,this.waterMarkCanvas=null,this.videoCaptureHiddenCanvas=null,this.videoCaptureHiddenCanvasCtx=null,this.isSetCursor=!1,this.logon=!1,this.canvas=null,this.firstSetDelay=!0,this.isSelfViewWithVideo=!1,this.isSupportOffscreenCanvas=g.default.isSupportOffscreenCanvas(),this.isSupportImageCapture=g.default.isSupportImageCapture(),this.isSharingSupportImageCapture=this.isSupportImageCapture,this.isSupportVideoTrackReader=g.default.isSupportVideoTrackReader(),this.isSupportSharingTrackReader=this.isSupportVideoTrackReader,this.isSupportVideoShare=g.default.isSupportVideoShareReceive()&&g.default.isSupportVideoShareSend(),this.isSupportMediaStreamTrackProcessor=g.default.isSupportMediaStreamTrackProcessor(),this.isSupportVideoFrameOrBitmapCapture=g.default.isSupportVideoFrameOrBitmapCapture(),this.isMultipleCanvasForMultipleView=0,this.canISendNextSharingFrame=!0,this.isCaputureNodeConnect=!1,this.isSharingCaptureNodeConnect=!1,this.audioWorkletJsPath=null,this.isSupportChromeWideAEC=g.default.isSupportChromeWideAEC(),this.isSupport2DCanvasDrawFrame=g.default.isSupport2DCanvasDrawFrame(),this.MaskImage=null,this.BgImage=null,this.bgCanvas=null,this.bgCanvasctx=null,this.isCurrentInMaskStatus=!1,this.isCurrentInNoVBPreviewStatus=!1,this.videoNoVBPreviewCanvas=null,this.videoNoVBPreviewCanvasctx=null,this.isVideoNoVBPreviewCanvasScaled=!1,this.maskCoordinate={dx:0,dy:0,dWidth:0,dHeight:0},this.VideoMaskSettingCanvas=null,this.VideoMaskSettingCanvasctx=null,this.PrevVideoMaskSettingCanvas=null,this.VideoMaskCanvasFillMode=0,this.isMaskSettingOn=!1,this.isMaskSettingStarted=!1,this.MaskData=null,this.MaskSettingVideo=null,this.ReadyCapureWidth=640,this.ReadyCapureHeight=360,this.bgImageCroppingParams={sx:0,sy:0,sw:0,sh:0},this.VideoVBSettingCanvas=null,this.isVBSettingOn=!1,this.sMonitorCaptureFrameCount=0,this.vMonitorCaptureFrameCount=0,this.videoCaptureInterval=0,this.isStartVideoCapture=!1,this.videoCaptureWidth=0,this.videoCaptureHeight=0,this.videoCaptureContext=null,this.isCreateVideoWaterMark=!1,this.videoWaterMarkName="",this.sharingWaterMarkName="",this.isCreateSharingWaterMark=!1,this.videoWaterMarkParams={},this.sharingWaterMarkParams={},this.isStartDesktopSharing=!1,this.desktopSharingValue=null,this.desktopCaptureContext=null,this.desktopSharingMediaStram=null,this.desktopSharingCaptureWidth=0,this.desktopSharingCaptureHeight=0,this.sharingCodecInfo={width:0,height:0},this.desktopSharingSend=!1,this.isdesktopCaptureLoadedmetadata=!1,this.captureVideoOutputCanvasDomList=[],this.captureVideoOutPutVideoDom=null,this.shareTrack=null,this.isVideoCaptureLoadedmetadata=!1,this.videoloadmetadataListener=null,this.videoloadedmetadatamonitor=null,this.loadedmetadatamtimeoutcount=0,this.mountoadedmetadatatime=0,this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO={},this.vMonitorCount=0,this.sMonitorCount=0,this.mMonitorCount=0,this.sharingTrackReader,this.sharingMediaStreamTrackProcessor,this.sharingFrameStream,this.isSendVideoOfflineCanvas=!1,T.default.mediaSDKHandle=this,this._preloadMeetingParam=null,this.is32bitbrowser=!1,this.flipSend=!0,this.mtu_size=0,this.sharingImageCapture=null,this.sharingRenderCanvas=null,this.VideoRenderObj=null,this.SharingRenderObj=null,this.rtcConnectionA=null,this.rtcConnectionB=null,this.isLocalP2PSupportedPromise=g.default.checkLocalP2PConnection(),this.isSupportBrowserAec=!0,this.sharingWidthAndHeightInfo={ctiveNodeID:0,height:0,logicHeight:0,logicWidth:0,width:0},this.remoteControl=null,this.isMirrorMyVideo=!1,this.isCanvasScaled=!1,this.isDestroy=!1,this.destoryPromise=null,this.rwgAgentMessageListenerWrapper=this.rwgAgentMessageListener.bind(this),this.bVideoDecodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bVideoEncodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bAudioEncodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.bAudioDecodeUsingSAB=g.default.isSupportSharedArrayBuffer(),this.videoDecodeRingBuffer=null,this.videoEncodeRingBuffer=null,this.audioDecodeRingBuffer=null,this.audioEncodeRingBuffer=null,this.bVideoEncodeMainThreadConsumerIntervalEnable=Fl(),this.isSupportOffscreenCanvasForVideoDecode=g.default.isSupportOffscreenCanvas(),this.isMultiView=!1,this.checkWorkletInterval=null,this.persistenceInfo=new wl.a,this.audioPersistenceInfo=this.persistenceInfo.getAudioSolutionInfo("audio"),t.ivObj&&(T.default.ivObj=t.ivObj),this.lastRealRect={left:0,top:0,width:0,height:0},this.videodecodehardwareflag=null,this.videoencodehardwareflag=null,this.isEnableVideoDecodeHardWareThread=!1,this.hardwareflag=null,this.isEnableHardWareThread=!1,this.isTeslaMode=!1,this.useAudioBridge=!1,this.audioBridge=null,this.replaceCanvasMap={},this.hidAvalible=!1,this.enableHID=!1,this.audioInputLevel=null,this.captureAudioMuted=!1,this.setvideokk=!1,this.isStartWhiteboardSharing=!1,this.ZoomMonitor=A.default.add_monitor.bind(A.default),this.isLandScape=!1,this.captureSize=null,this.platformType=s.WCL_PLATFORM_TYPE.DESKTOP,Object(J.SetMonitorFn)(this.ZoomMonitor),this.wmscManager=null,this.webrtcConfig={userId:null,webrtcflag:!1,subscribeQosParamsData:{},currentReloadTimes:0,maxReloadTimes:6},this.allpromises=[],this.RenderInMain=s.RENDER_UNSET,this.vcFlag=!1,this.waitingVcChannelReady=!1,kr.isSupportComputePressure()&&(this.computePressureManager=new kr),this.renderManager=new Al("JsMediaSDK"),this.rendererType=-1,this.defaultRendererType=0,this.isWebGPUFeatureEnabled=!1,this.enableVBWasmBackend=0,this.isWebGL2FeatureEnabled=!1,this.isWebTransportAllowed=!0,this.mGPUBlacklist=null,this.mWebCodecConfig=null,this.isWebCodecEncoderOnWhitelist=!1,this.isWebCodecDecoderOnWhitelist=!1,this.mediaProcessorConfig=0,this.mediaFeatureOptions="",this.isVideoHD=!1,this.vbResource=null,this.vbSettingDomMap={},this.annotationModule=null,this.annotationMgr=null,this.fileAudioPlaybackTag=null,this.initVEPara=null,this.resolveVEwebrtcpromise=null,this.webrtcpromise=new Promise((e,t)=>{this.resolveVEwebrtcpromise=e}),this.initVDPara=null,this.resolveVDwebrtcpromise=null,this.webrtcVDpromise=new Promise((e,t)=>{this.resolveVDwebrtcpromise=e}),this.hadsetpropsbeforeinit=!1,this.networkerpath=null,this.dataChannelController=new z,this.dataChannelController.addTransportListiner(),Z(this),$(this.workrtHealthCheckReport.bind(this)),this.processorMessagePort=null,this.shadowProcessorMessagePort=null};Kl.buildNumber=10856,Kl.version="15.0.10856",Kl.util=g.default,Kl.fixVersion="Web-Media-Hotfix-20250418-MSDK",Kl.prototype={JsMediaSDK_Log:function(e){v.default.error("Error in JsMediaSDK",e)},JsMediaSDK_PreLoad:function(e,t,i){var r,a;const{isTeslaMode:s,isGoogleMeetMode:o,enableMultiDecodeVideoWithoutSAB:n,enableVirtualBackgroundWithoutSAB:d,enableDecoderInWorklet:u,enableAudioBridge:l,onDesktop:c,disableStreamingInstantiate:h}=i||{};T.default.decoderinworkletOP=!0,T.default.onDesktop=c,T.default.chromeWideAEC=u,T.default.enableStreamingInstantiate=!h,T.default.enableMultiDecodeVideoWithoutSAB=n,T.default.enableVirtualBackgroundWithoutSAB=d,T.default.enableAudioBridge=l,this.isTeslaMode=!!s,T.default.isGoogleMeetMode=o,e.basePath&&(this.getFilePath=this.makFilePath(e.basePath));let f={audioWorkletPath:(e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e).audioWorkletPath,audioWorkletSIMDPath:e.audioWorkletSIMDPath,audioWorkletProcessPath:e.audioWorkletProcessPath,sharingAudioWorkletPath:e.sharingAudioWorkletPath,audioLevelWorkletPath:e.audioLevelWorkletPath,audioWasm:e.audioWasm,audioSIMDWasm:e.audioSIMDWasm};this.networkerpath=null===(a=e)||void 0===a?void 0:a.netThreadPath,this.setPropsBeforeInit({callback:t,audioWorkletPath:f,fromPreload:!0}),this._preloadMeetingParam=e,Vt(),this.handleUnloadEvent(),A.default.add_monitor("JSPLD"),this.vbResource=i,this.computePressureManager&&this.computePressureManager.init(),this.mediasdkConfig=null,this.iceServers=[]},getWebRTCFlag(){return this.webrtcConfig&&this.webrtcConfig.webrtcflag},makFilePath(e){let t=e;return function(){return t?{audioWorkerPath:"".concat(t,"/js_audio_process.min.js"),audioWorkletPath:"".concat(t,"/js_audio_worklet.min.js"),audioWorkletSIMDPath:"".concat(t,"/js_audio_worklet_simd.min.js"),audioWorkletProcessPath:"".concat(t,"/js_audio_worklet_process.min.js"),audioWasm:"".concat(t,"/audio.encode.wasm"),videoWorkerPath:"".concat(t,"/video_s.min.js"),videoMtWorkerPath:"".concat(t,"/video_m.min.js"),videoWasm:"".concat(t,"/video.decode.wasm"),videoMtWasm:"".concat(t,"/video.mt.wasm"),sharingWorkerPath:"".concat(t,"/sharing_s.min.js"),sharingMtWorkerPath:"".concat(t,"/sharing_m.min.js"),videoSIMDWorkerPath:"".concat(t,"/video_simd.min.js"),videoSIMDWasm:"".concat(t,"/video.simd.wasm"),sharingSIMDWorkerPath:"".concat(t,"/sharing_simd.min.js"),videoMSIMDWasm:"".concat(t,"/video.mtsimd.wasm"),sharingMSIMDWorkerPath:"".concat(t,"/sharing_mtsimd.min.js"),videoMSIMDWorkerPath:"".concat(t,"/video_mtsimd.min.js"),audioSIMDWorkletPath:"".concat(t,"/audio_simd.min.js"),audioSIMDWasm:"".concat(t,"/audio.simd.wasm"),vsmiworkerpath:"".concat(t,"/video_share_mtsimd.min.js"),sharingAudioWorkletPath:"".concat(t,"/js_sharing_audio_worklet.min.js"),audioLevelWorkletPath:"".concat(t,"/js_audio_level_worklet_process.min.js"),netThreadPath:"".concat(t,"/net_thread.min.js")}:void 0}},isPreviewVideotag(e){return this.userId&&this.userId>>10==e>>10&&g.default.isSelfPreviewRenderWithVideo()},isSelfUser(e){return this.userId==e},recordSharingParamInfo(){let e=this;C.a.on(a.SHARING_PARAM_INFO_FROM_SOCKET,(t,i)=>{var r;Object.assign(e.sharingWidthAndHeightInfo,i.body),null===(r=e.annotationMgr)||void 0===r||r.updateRemoteSizeInfo(i.body)})},setCallback(e){if(!Si()(e))throw new Error("callback must be function");T.default._Notify_APPUI=e,Object(J.SetNotifyUIFn)(T.default.Notify_APPUI_SAFE.bind(T.default))},addCallback(e){if(!Si()(e))throw new Error("callback must be function");T.default._callbackList.push(e)},removeCallback(e){const t=T.default._callbackList.indexOf(e);-1!==t&&T.default._callbackList.splice(t,1)},setPropsBeforeInit(e){this.hadsetpropsbeforeinit|=!e.fromPreload;let t=e.featureOptions;if(e.mediaFeatureOptions&&(t=e.mediaFeatureOptions),this.mediaFeatureOptions=t,t){const e=[{bitIndex:Il.a.HW_ENCODER_FOR_360P.index,readCount:1,defaultVal:Il.a.HW_ENCODER_FOR_360P.default},{bitIndex:Il.a.WEBGPU_RENDERER.index,readCount:1,defaultVal:Il.a.WEBGPU_RENDERER.default},{bitIndex:Il.a.VB_ON_SAFARI_17.index,readCount:1,defaultVal:Il.a.VB_ON_SAFARI_17.default},{bitIndex:Il.a.WEBGL2_RENDERER.index,readCount:1,defaultVal:Il.a.WEBGL2_RENDERER.default},{bitIndex:Il.a.AUDIO_ECHO_DETECT.index,readCount:1,defaultVal:Il.a.AUDIO_ECHO_DETECT.default},{bitIndex:Il.a.WEBCODEC_DECODE_OPTION.index,readCount:1,defaultVal:Il.a.WEBCODEC_DECODE_OPTION.default},{bitIndex:Il.a.HW_WEBCODEC_ON_SAFARI.index,readCount:1,defaultVal:Il.a.HW_WEBCODEC_ON_SAFARI.default},{bitIndex:Il.a.HW_DECODE_FOR_360P.index,readCount:1,defaultVal:Il.a.HW_DECODE_FOR_360P.default},{bitIndex:Il.a.WEBCODEC_ON_ANDROID_CHROME.index,readCount:1,defaultVal:Il.a.WEBCODEC_ON_ANDROID_CHROME.default},{bitIndex:Il.a.WEBCODEC_ENCODE_OPT_1ON1.index,readCount:1,defaultVal:Il.a.WEBCODEC_ENCODE_OPT_1ON1.default},{bitIndex:Il.a.CAP_WEBCODEC_SUPPORT.index,readCount:1,defaultVal:Il.a.CAP_WEBCODEC_SUPPORT.default},{bitIndex:Il.a.WEBGL_CANVAS_OPTION_OPT.index,readCount:1,defaultVal:Il.a.WEBGL_CANVAS_OPTION_OPT.default},{bitIndex:Il.a.DEFAULT_RENDERER.index,readCount:1,defaultVal:Il.a.DEFAULT_RENDERER.default},{bitIndex:Il.a.WEB_TRANSPORT_CONTROL.index,readCount:1,defaultVal:Il.a.WEB_TRANSPORT_CONTROL.default},{bitIndex:Il.a.ENABLE_TP_RLB_WEBSOCKET.index,readCount:1,defaultVal:Il.a.ENABLE_TP_RLB_WEBSOCKET.default},{bitIndex:Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.index,readCount:1,defaultVal:Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.default},{bitIndex:Il.a.ENABLE_WEBRTC_TURN_SERVERS.index,readCount:1,defaultVal:Il.a.ENABLE_WEBRTC_TURN_SERVERS.default},{bitIndex:Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.index,readCount:1,defaultVal:Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.default},{bitIndex:Il.a.ENABLE_MEDIA_PROCESSOR.index,readCount:1,defaultVal:Il.a.ENABLE_MEDIA_PROCESSOR.default}],i=Tl.a.batchRead(t,e);this.isWebGPUFeatureEnabled=!!i.get(Il.a.WEBGPU_RENDERER.index),this.enableVBWasmBackend=i.get(Il.a.VB_ON_SAFARI_17.index),this.isWebGL2FeatureEnabled=!!i.get(Il.a.WEBGL2_RENDERER.index),this.defaultRendererType=i.get(Il.a.DEFAULT_RENDERER.index),this.isWebTransportAllowed=!!i.get(Il.a.WEB_TRANSPORT_CONTROL.index),T.default.enable360pHWEnc=i.get(Il.a.HW_ENCODER_FOR_360P.index),T.default.enableEchoDetection=i.get(Il.a.AUDIO_ECHO_DETECT.index),T.default.enableHADecOpt=i.get(Il.a.WEBCODEC_DECODE_OPTION.index),T.default.enableSafariHWCodec=i.get(Il.a.HW_WEBCODEC_ON_SAFARI.index),T.default.enable360pHWDec=i.get(Il.a.HW_DECODE_FOR_360P.index),T.default.enableAndroidHWCodec=i.get(Il.a.WEBCODEC_ON_ANDROID_CHROME.index),T.default.enableOptCopyFrame=i.get(Il.a.WEBCODEC_ENCODE_OPT_1ON1.index),T.default.disableHWCodec=i.get(Il.a.CAP_WEBCODEC_SUPPORT.index);let r=i.get(Il.a.WEBGL_CANVAS_OPTION_OPT.index);T.default.enableTransferDataChannel=i.get(Il.a.ENABLE_TRANSFERABLE_RTC_DATACHANNEL.index),T.default.enableWebrtcTurnServer=i.get(Il.a.ENABLE_WEBRTC_TURN_SERVERS.index);let a=i.get(Il.a.EXTRA_DEVICE_INTERVAL_ENUMERATE.index);I.a.setIsEnableCanvasCtxOptionsOpt(r),_r.receiveABOptionForExtraDeviceDetect(a),this.mediaProcessorConfig=i.get(Il.a.ENABLE_MEDIA_PROCESSOR.index),g.default.isAndroidBrowser()&&(T.default.enable360pHWDec=T.default.enableAndroidHWCodec);const s=g.default.getOSInfo();v.default.directReport("setPropsBeforeInit, os:".concat(s.os,", version:").concat(s.osVersion,", enableSafariHWCodec:").concat(T.default.enableSafariHWCodec,", enable360pHWDec:").concat(T.default.enable360pHWDec,", enable360pHWEnc:").concat(T.default.enable360pHWEnc,", enableAndroidHWCodec:").concat(T.default.enableAndroidHWCodec,",disableHWCodec:").concat(T.default.disableHWCodec,", enableOptCopyFrame:").concat(T.default.enableOptCopyFrame))}const i=g.default.getGpuInfo();if(e&&e.webMediaBlockConfig){try{const t=JSON.parse(e.webMediaBlockConfig);this.mGPUBlacklist=null==t?void 0:t.GPUBlacklist,this.mWebCodecConfig=null==t?void 0:t.WebCodecConfig,this.mWebCodecConfig?(this.isWebCodecEncoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("encoder",this.mWebCodecConfig,i),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",this.mWebCodecConfig,i)):(this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i))}catch{this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i),""===e.webMediaBlockConfig?v.default.log("cannot read empty props.webMediaBlockConfig. encoder:".concat(this.isWebCodecEncoderOnWhitelist," decoder:").concat(this.isWebCodecDecoderOnWhitelist)):v.default.error("failed to read props.webMediaBlockConfig! config=".concat(null==e?void 0:e.webMediaBlockConfig," encoder:").concat(this.isWebCodecEncoderOnWhitelist," decoder:").concat(this.isWebCodecDecoderOnWhitelist))}0}else this.isWebCodecEncoderOnWhitelist=0===g.default.AdapterWhiteListCheckForEncoder(),this.isWebCodecDecoderOnWhitelist=Rl.a.isGPUProfileOnWebCodecWhitelist("decoder",void 0,i);e&&void 0!==e.rendererType&&(this.rendererType=e.rendererType,this.handleRendererTypeInProps(this.rendererType,this.defaultRendererType,this.mGPUBlacklist).then(e=>{T.default.Notify_APPUI(a.SYNC_RENDERER_TYPE_RESPONSE,e),this.renderManager.getRendererProvider().setRendererType(e.rendererType),this.rendererType=e.rendererType,v.default.log("handleRendererTypeInProps() final rendererType=".concat(e.rendererType," gpuBlacklist=").concat(JSON.stringify(this.mGPUBlacklist))),console.log("handleRendererTypeInProps() final rendererType=".concat(e.rendererType," gpuBlacklist=").concat(JSON.stringify(this.mGPUBlacklist)))})),A.default.add_monitor("props:".concat(e.featureOptions,":").concat(this.isWebGPUFeatureEnabled,":").concat(this.enableVBWasmBackend,":").concat(this.isWebGL2FeatureEnabled,":").concat(this.rendererType,":").concat(T.default.enableEchoDetection)),e.callback&&this.setCallback(e.callback),e.audioWorkletPath&&(this.audioWorkletJsPath=e.audioWorkletPath),e.e2eEncrypt?T.default.e2eencrypt=!0:T.default.e2eencrypt=!1;let r=e.enableWebtransport;if(this.isWebTransportAllowed||(r=!1),this._setWebtransportEnable({enable:r,webtransportPort:e.webtransportPort}),e.bandwidth?e.bandwidth.uplimit>=800?T.default.uplimit=1e3*(e.bandwidth.uplimit-120):T.default.uplimit=0:T.default.uplimit||(T.default.uplimit=0),e&&void 0!==e.useWebRTC){const t=!!e.useWebRTC;Ul.webrtcFlag=t,this.webrtcConfig.webrtcflag=t,Object(g.setIsWebRTCMode)(t),!1===t&&this.wmscManager&&A.default.add_monitor("WMSC_Not_Destory_ERROR")}if(!e.fromPreload&&this.vbResource){const{file:e}=this.vbResource;e&&(this.webrtcConfig.webrtcflag?Ul.initVB(this.updateWebRTCVideoStream.bind(this)):ri(e))}var s,o;(e&&!1===e.isSessionBranding&&(T.default.enableCanvasAlphaChannel=!1),null!=e&&e.mediasdkConfig&&T.default.enableWebrtcTurnServer)&&(this.mediasdkConfig=e.mediasdkConfig,this.iceServers=(null===(s=this.mediasdkConfig)||void 0===s?void 0:s.iceServers)||[],null===(o=this.audioBridge)||void 0===o||o.setIceServers(this.iceServers))},async onRendererTypeSelected(){const e=await this.handleRendererTypeInProps(this.rendererType,this.defaultRendererType,this.mGPUBlacklist);this.renderManager.getRendererProvider().setRendererType(e.rendererType),this.rendererType=e.rendererType},async handleRendererTypeInProps(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;e!==wi.j.AUTO&&e!==wi.j.UNDEFINED&&e!==wi.j.WEBGL&&e!==wi.j.WEBGL_2&&e!==wi.j.WEBGPU&&(e=wi.j.AUTO);let r=e,a=0;e!==wi.j.AUTO&&e!==wi.j.UNDEFINED||(r=t);return await g.default.isRendererTypeSupported(r,this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled,i)||(a=1,r=await g.default.evaluateRendererType(this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled,i)),{errNo:a,rendererType:r}},setRWGAgent(e){T.default.rwgAgent=e,this.addEventListenerForRWGAgent(e)},updateQosSubscription:function(e,t,i){var r;if(this.useAudioBridge&&(t===R.f.AUDIO_DECODE||t===R.f.AUDIO_ENCODE))return void(null===(r=this.audioBridge)||void 0===r||r.updateQos({enable:e,workerType:t,pollingInterval:i}));const a=t===R.f.VIDEO_ENCODE||t===R.f.VIDEO_DECODE;if(this.webrtcConfig.webrtcflag&&a){var s;this.wmscManager&&null!==(s=this.wmscManager)&&void 0!==s&&s.isJoinRWGSuccess?this.wmscManager.updateQosSubscription(e,t,i):this.webrtcConfig.subscribeQosParamsData[t]=[e,t,i]}else{let r=!0;this.isSupportVideoShare&&(t==R.f.SHARING_DECODE&&(t=R.f.VIDEO_DECODE,r=!1),t==R.f.SHARING_ENCODE&&(t=R.f.VIDEO_ENCODE,r=!1));Jt(t,{enable:e,workerType:t,pollingInterval:i,isVideo:r},11,!1)}},addEventListenerForRWGAgent(e){e.on("message",this.rwgAgentMessageListenerWrapper)},rwgAgentMessageListener(e){if("string"!=typeof e.data)return;let t=JSON.parse(e.data);if(!this.isDestroy)switch(t.evt){case a.EVT_TYPE_WS_VIDEO_DATACHANNEL_ANSWER:this.setRTCPeerConnectionDatachannelAnswer(t)}},setRTCPeerConnectionDatachannelAnswer(e){if(e.evt===a.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT||e.evt===a.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT){if(Ll("rwg answer",e),!e.answer)return;switch(e.answer.type){case R.h.ZOOM_CONNECTION_VIDEO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT,e);break;case R.h.ZOOM_CONNECTION_AUDIO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT,e)}}},async initVideoDataChannel(e,t,i){var r;if((null===(r=this.videoDataChannel)||void 0===r?void 0:r.connectionID)==e)return void(t&&this.videoDataChannel.checkEmptyUserIdAndResendMonitor(t));this.isInitVideoDataChannel=!1,this.videoDataChannel&&(this.videoDataChannel.forceClose(),v.default.error("video datachannel cid changed")),this.videoDataChannel=null;let s=yl(i);A.default.add_monitor("INITVDC"),Ll("initVideoDataChannel",e);let o=new Di(this.dataTransportMgr,R.b.VIDEO);o.sendDataChannelController(this.dataChannelController),o._netWorker=s,g.default.browser.isFirefox?o.delaycloseTimeout=15e3:o.delaycloseTimeout=5e3,o.setUserid(t),Ll("rtc",o);let n=this;o.onConnectionCreated(async e=>{let t=e.localDescription;if(Ll("localDesc",t),n.isDestroy)return;T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_VIDEO_OFFER_EVT,offer:{sdp:t.sdp,type:R.h.ZOOM_CONNECTION_VIDEO}},!1);let i=await o.waitForAnswerFromRWG(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT);if(Ll("jsEvent.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT",i),e!=o.rtcPeerConnection||o.isDestroyed())return;o.setRemoteDescription(i.answer),o.closeIfTimeout();let r=i.answer.sdp.match(/a=candidate:.+/)[0];Ll("received candidate",r),r=r.replace(/^a=/,""),o.addIceCandidate(r),o.onDataChannelOpen(()=>{}),o.onDataChannelClose(()=>{ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_DATACHANNEL)})}),o.initConnection(e).catch(e=>{Ll.warn("initConnection",e),A.default.add_monitor("INITVDCERR",e.message)}),this.videoDataChannel=o},async initAudioDataChannel(e,t,i){var r,s;if((null===(r=this.audioDataChannel)||void 0===r?void 0:r.connectionID)==e)return void(t&&this.audioDataChannel.checkEmptyUserIdAndResendMonitor(t));this.isInitAudioDataChannel=!1,this.audioDataChannel&&(null===(s=this.audioDataChannel)||void 0===s||s.forceClose(),v.default.error("audio datachannel cid changed")),this.audioDataChannel=null;let o=yl(i);A.default.add_monitor("INITADC"),Ll("initAudioDataChannel",e);let n=new Di(this.dataTransportMgr,R.b.AUDIO);n.sendDataChannelController(this.dataChannelController),n._netWorker=o,g.default.browser.isFirefox?n.delaycloseTimeout=15e3:n.delaycloseTimeout=5e3,n.setUserid(t),Ll("rtc",n);let d=this;n.onConnectionCreated(async e=>{let t=e.localDescription;if(d.isDestroy)return;Ll("localDesc",t),T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.ZOOM_CONNECTION_VIDEO_OFFER_EVT,offer:{sdp:t.sdp,type:R.h.ZOOM_CONNECTION_AUDIO}},!1);let i=await n.waitForAnswerFromRWG(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT);if(Ll("answer",i),e!=n.rtcPeerConnection||n.isDestroyed())return;n.setRemoteDescription(i.answer),n.closeIfTimeout();let r=i.answer.sdp.match(/a=candidate:.+/)[0];Ll("received candidate",r),r=r.replace(/^a=/,""),n.addIceCandidate(r),n.onDataChannelOpen(()=>{}),n.onDataChannelClose(()=>{ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_DATACHANNEL)})}),n.initConnection(e,"ZoomWebclientAudioDataChannel").catch(e=>{Ll.warn("initConnection",e),A.default.add_monitor("INITADCERR",e.message)}),this.audioDataChannel=n},init_Notify_APPUI(e,t){let i=li[t],r=e?i.success:i.fail;T.default.Notify_APPUI(r,i.callbackDataValue)},_setWebtransportEnable(e){let{enable:t,webtransportPort:i}=e;t?(g.apiSupportUtility.setIsSupportWebtransport(!0),T.default.webtransportPort=i||8802):g.apiSupportUtility.setIsSupportWebtransport(!1)},_previewInitWebtransport(e){let{conId:t,meetingNumber:i,rwgHost:r,webtransportPort:a,workType:s}=e;if(this._setWebtransportEnable({enable:!0,webtransportPort:a}),g.apiSupportUtility.getIsSupportWebtransport()){const e=s===R.f.AUDIO_ENCODE,a=s===R.f.AUDIO_DECODE,o=s===R.f.VIDEO_ENCODE,n=s===R.f.VIDEO_DECODE,d=e||a,u=d?"a":"v",l=e||o?2:1,c="https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(i,"?type=").concat(u,"&cid=").concat(t),h="".concat(c,"&mode=").concat(l);d?je(c):qe(c);const f=T.default.SPECIAL_ID;let p="",_=null;e?(p="localAudioEncMGR",_=me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS):a?(p="localAudioDecMGR",_=me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS):o?(p="localVideoEncMGR",_=me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS):n&&(p="localVideoDecMGR",_=me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS);let m=T.default[p]&&T.default[p].map.get(f);m?m.postMessage({command:6,webtransportURL:h,_id:this._id}):me.enqueueMessage({name:_,handler:()=>{m=T.default[p].map.get(f),m.postMessage({command:6,webtransportURL:h,_id:this._id})},direction:me.direction.SDK_TO_SDK})}},_previewInitMediaWebsocket(e){let{websocketUrl:t,workType:i}=e;const r=T.default.SPECIAL_ID,a=i===R.f.AUDIO_ENCODE,s=i===R.f.AUDIO_DECODE,o=i===R.f.VIDEO_ENCODE,n=i===R.f.VIDEO_DECODE;a||s?Ke(t):Ye(t);let d="",u=null,l=0;a?(l=2,d="localAudioEncMGR",u=me.nameMap.CREATE_AUDIO_ENCODE_HANDLE_SUCCESS):s?(l=5,d="localAudioDecMGR",u=me.nameMap.CREATE_AUDIO_DECODE_HANDLE_SUCCESS):o?(l=2,d="localVideoEncMGR",u=me.nameMap.CREATE_VIDEO_ENCODE_HANDLE_SUCCESS):n&&(l=5,d="localVideoDecMGR",u=me.nameMap.CREATE_VIDEO_DECODE_HANDLE_SUCCESS);let c=T.default[d]&&T.default[d].map.get(r);c?c.postMessage({command:5,websocket_ip_address:"".concat(t,"&mode=").concat(l)}):me.enqueueMessage({name:u,handler:()=>{c=T.default[d].map.get(r),c.postMessage({command:5,websocket_ip_address:"".concat(t,"&mode=").concat(l)})},direction:me.direction.SDK_TO_SDK})},async previewInit(e){let{videoDecode:t,videoDataChannel:i,videoEncodeMediaWss:r,videoDecodeMediaWss:a,videoEncodeWebtransport:s,videoDecodeWebtransport:o,audioDecode:n,audioDataChannel:d,audioBridge:u,audioEncodeMediaWss:l,audioDecodeMediaWss:c,audioEncodeWebtransport:h,audioDecodeWebtransport:f}=e,p=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Ce(this))return!1;if(t){var _;let{urlParameters:e}=t||{};e=(null===(_=this.getFilePath)||void 0===_?void 0:_.call(this))||e;let i=await g.default.isSDKSupportMultiThread(),r=await g.default.isSDKSupportSIMD(),a=r&&i;await this.onRendererTypeSelected();let s={};s.rendererType=this.rendererType,this.isSupportVideoShare&=a,this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.isSupportVideoShare?(s.workerJsFileUrl=e.vsmiworkerpath,s.workerWasmFileUrl=e.videoMSIMDWasm):a?(s.workerJsFileUrl=e.videoMSIMDWorkerPath,s.workerWasmFileUrl=e.videoMSIMDWasm):i?(s.workerJsFileUrl=e.videoMtWorkerPath,s.workerWasmFileUrl=e.videoMtWasm):r?(s.workerJsFileUrl=e.videoSIMDWorkerPath,s.workerWasmFileUrl=e.videoSIMDWasm):(s.workerJsFileUrl=e.videoWorkerPath,s.workerWasmFileUrl=e.videoWasm),s.integrityHelper=new g.IntegrityHelper(s.workerJsFileUrl,this.lateLoadedAssetsHash),Ee.resetVideoDecode(!0),Re(s,this)}if(i&&(p||this.hadsetpropsbeforeinit)){const{conId:e,userid:t}=i;this.initVideoDataChannel(e,t,this.networkerpath)}if(r){const{websocketUrl:e}=r;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.VIDEO_ENCODE})}if(a){const{websocketUrl:e}=a;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.VIDEO_DECODE})}if(s){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=s;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.VIDEO_ENCODE})}if(o){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=o;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.VIDEO_DECODE})}if(n){var m;let{urlParameters:e}=n||{};e=(null===(m=this.getFilePath)||void 0===m?void 0:m.call(this))||e;let t={};await g.default.isSDKSupportSIMD()?(t.workerJsFileUrl=e.audioSIMDWorkletPath,t.workerWasmFileUrl=e.audioSIMDWasm):(t.workerJsFileUrl=e.audioWorkerPath,t.workerWasmFileUrl=e.audioWasm),t.integrityHelper=new g.IntegrityHelper(t.workerJsFileUrl,this.lateLoadedAssetsHash),Ee.resetAudioDecode(!0),Ie(t,this)}if(d&&(p||this.hadsetpropsbeforeinit)){const{conId:e,userid:t}=d;this.initAudioDataChannel(e,t,this.networkerpath)}if(u){if(this.useAudioBridge=!0,!g.default.isSupportPeerConnection())return void v.default.error("no support peer connection");const{nginxHost:e,rwgHost:t,cid:i,abToken:r,isCapturingAudio:a,audioMode:s,supportLocalAB:o,useWebRTCOnDesktop:n}=u;T.default.audioSolution="WEBRTC";let d="wss://".concat(o?t:e,"/ab/signal?rwg=").concat(t,"&cid=").concat(i);if(!this.audioBridge||this.audioBridge.cid!=i){if(this.audioBridge)try{this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null}catch(e){v.default.error("destory webrtc audio error",e)}let e={jsPath:this.audioWorkletJsPath.audioLevelWorkletPath,wasmPath:this.audioWorkletJsPath.audioSIMDWasm};this.audioBridge=new Tr(i,d,!a,this.codecDoAVSync,n||T.default.onDesktop,e,(e,t)=>{var i,r;switch(e){case"destroy":null===(i=this.audioBridge)||void 0===i||i.destroy(),this.audioBridge=null;break;case"updateConnectionResult":null===(r=this.audioPersistenceInfo)||void 0===r||r.updatewebRTCProbResult(t)}}),this.audioBridge.setIceServers(this.iceServers),Ul.audioBridge=this.audioBridge}a&&this.audioBridge.setRecvOnly(!1,Ul.audioStream),this.audioBridge.setCodecDoAVSync(this.codecDoAVSync),await this.audioBridge.join(!1,r,s)}if(l){const{websocketUrl:e}=l;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.AUDIO_ENCODE})}if(c){const{websocketUrl:e}=c;this._previewInitMediaWebsocket({websocketUrl:e,workType:R.f.AUDIO_DECODE})}if(h){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=h;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.AUDIO_ENCODE})}if(f){const{conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r}=f;this._previewInitWebtransport({conId:e,meetingNumber:t,rwgHost:i,webtransportPort:r,workType:R.f.AUDIO_DECODE})}p||this.hadsetpropsbeforeinit||v.default.directReport("previewinit before setprops")},previewUnInitRtcConnection(){A.default.add_monitor("REINITRTC");try{var e,t;null===(e=this.videoDataChannel)||void 0===e||e.forceClose(),null===(t=this.audioDataChannel)||void 0===t||t.forceClose()}catch(e){Ll.error("clear rtcPeerConnectionList err",e)}this.audioBridge&&(this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null);const i=T.default.SPECIAL_ID;[T.default.localVideoEncMGR&&T.default.localVideoEncMGR.map.get(i),T.default.localVideoDecMGR&&T.default.localVideoDecMGR.map.get(i),T.default.localAudioEncMGR&&T.default.localAudioEncMGR.map.get(i),T.default.localAudioDecMGR&&T.default.localAudioDecMGR.map.get(i)].forEach(e=>{e&&(e.postMessage({command:3}),e.postMessage({command:4,_id:this._id}))})},doesSafariSupportWebcodec:()=>!g.default.isMacIntelSafari()&&(g.default.isSafariVersionHigherThan("17.5")&&T.default.enableSafariHWCodec),_enableHardWareDecode(){if(T.default.disableHWCodec&s.WEBCODEC_DECODE_OFF)return!1;return g.default.isAndroidBrowser()?g.default.isChromeVersionHigherThan(124)&&T.default.enableAndroidHWCodec:g.default.isChromeVersionHigherThan(95)||this.doesSafariSupportWebcodec()},async initVideoEncode(e,t,i){var r,a;let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4?arguments[4]:void 0,d=arguments.length>5?arguments[5]:void 0,u=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,c=arguments.length>9?arguments[9]:void 0,h=arguments.length>10?arguments[10]:void 0,f=arguments.length>11&&void 0!==arguments[11]&&arguments[11],p=arguments.length>12?arguments[12]:void 0,_=arguments.length>13&&void 0!==arguments[13]&&arguments[13];if((g.default.isAndroidBrowser()&&!g.default.isMTRAndroid()||g.default.isIphoneOrIpadBrowser())&&(f=!0,void 0===h&&(h=!0)),g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB()?this.platformType=s.WCL_PLATFORM_TYPE.ANDROID:g.default.isIphoneOrIpadBrowser()&&(this.platformType=s.WCL_PLATFORM_TYPE.IPHONE),u=g.default.getMaxCountRender(),this.userId=i,!Ce(this))return!1;if(A.default.add_monitor("INITVE"),this.webrtcConfig.webrtcflag&&!_)return this.initVEPara=arguments,this.resolveVEwebrtcpromise(!0),A.default.add_monitor("WMSC_INITVE"),this._initWMSC(t,d,R.f.VIDEO_ENCODE,i);this.isSupportImageCapture=!l&&this.isSupportImageCapture,Ul.setStreamProcessAbility({isSupportImageCapture:this.isSupportImageCapture}),this.setMultiView(u,T.default.enableMultiDecodeVideoWithoutSAB),this.isSupportVideoFrameOrBitmapCapture=this.isSupportImageCapture||this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor,Ll("initVideoEncode"),_r.setUserId(i),Ee.resetVideoEncode(p),this.is32bitbrowser=await g.default.is32bitChrome();let m=await g.default.isSDKSupportMultiThread();g.apiSupportUtility.setIsSupportVirtualBackground(!this.isTeslaMode&&!g.default.isAndroidBrowser()&&!l&&(m||T.default.enableVirtualBackgroundWithoutSAB));const E=g.apiSupportUtility.getIsSupportVirtualBackground()&&!this.webrtcConfig.webrtcflag;let S=await g.default.isSDKSupportSIMD(),v=S&&m,C={},I=!1,b=g.default.graphicName,O=!!b&&b.includes("amd");this.isAppleGraphic=!!b&&(b.includes("apple m1")||b.includes("apple m2")),(g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()||navigator.hardwareConcurrency&&navigator.hardwareConcurrency>7||await g.default.VP9MachineDetect()&&O&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>=4)&&c&&(I=!0),(g.default.isIphoneOrIpadSafari()&&!g.default.isSupportVideoFrame()||g.default.isAndroidBrowser()&&g.default.isAndroidVersionLessEqual(10))&&(I=!1),this.isSupportVideoShare&=v,A.default.add_monitor("isMT: "+m),A.default.add_monitor("isenbaleHD: "+c),A.default.add_monitor("ENABLE720:"+I),A.default.add_monitor("ISVSV:"+this.isSupportVideoShare),A.default.add_monitor("graphicname: "+b),this.is32bitbrowser&&A.default.add_monitor("is32chrome: "+this.is32bitbrowser);let D=!(T.default.disableHWCodec&s.WEBCODEC_ENCODE_OFF),w=D&&h;if(m&&(c||f)&&(this.isSupportMediaStreamTrackProcessor&&g.default.isChromeVersionHigherThan(95)&&(!g.default.isAndroidBrowser()||T.default.enableAndroidHWCodec)||this.doesSafariSupportWebcodec())&&this.isWebCodecEncoderOnWhitelist?(this.videoencodehardwareflag=D&&await g.default.IsSupportVideoEncodeHardwareAcceleration(),h=this.videoencodehardwareflag):(this.videoencodehardwareflag=!1,h=!1),A.default.add_monitor("EOWL:"+this.isWebCodecEncoderOnWhitelist),A.default.add_monitor("VIHD:"+this.videoencodehardwareflag),A.default.add_monitor("enableHW: "+h),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.isSupportVideoShare?(C.workerJsFileUrl=e.vsmiworkerpath,C.workerWasmFileUrl=e.videoMSIMDWasm):v?(C.workerJsFileUrl=e.videoMSIMDWorkerPath,C.workerWasmFileUrl=e.videoMSIMDWasm):m?(C.workerJsFileUrl=e.videoMtWorkerPath,C.workerWasmFileUrl=e.videoMtWasm):S?(C.workerJsFileUrl=e.videoSIMDWorkerPath,C.workerWasmFileUrl=e.videoSIMDWasm):(C.workerJsFileUrl=e.videoWorkerPath,C.workerWasmFileUrl=e.videoWasm),C.integrityHelper=new g.IntegrityHelper(C.workerJsFileUrl,this.lateLoadedAssetsHash),!p){let e=new URL(t).searchParams.get("cid"),r=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&qe("https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(d,"?type=v&cid=").concat(e)),this.previewInit({videoDataChannel:{conId:e,userid:i}},!0)}let y=1,P=!1,N=!1;const V=E&&m;V&&h?(y=3,P=!0,N=!!w):V||h?(y=2,h&&(P=!0,N=!!w)):(this.isSupportVideoShare||m)&&(y=2);let k=P&&N&&I;g.default.set720pcapacity(k),A.default.add_monitor("CAPTURE720:"+k),A.default.add_monitor("VETNum:"+y),N=N&&(!this.isAppleGraphic||g.default.isChromeVersionHigherThan(116)&&(!g.default.isAndroidBrowser()||T.default.enableAndroidHWCodec)||this.doesSafariSupportWebcodec()),await this.onRendererTypeSelected(),A.default.add_monitor("SupportWebCodecEncode: "+N);let U={log:o,confId:i,meetingid:n,meetingnumb:d,videodecodethreadnumb:u,isSupportMultiThread:m,videoencodethreadnumb:y,isSupportVirtualBackground:E,isSupportWebCodecEnocde:P,initWebCodecFlag:N,is360penablehwenc:f,enable720p:I,platformType:this.platformType,rendererType:this.rendererType,IsRenderInWorker:this.checkIsRenderInWorker()&&!g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0),webrtcvideo:this.webrtcConfig.webrtcflag,MaskFlag:!!T.default.rwgAgent,isSafari:null===(a=g.default.browser)||void 0===a?void 0:a.isSafari};if(console.log("VP9?:",await g.default.VP9MachineDetect(),"AMD?:",g.default.isAMDGraphic(),"AMDdecodecheck:",g.default.isGraphicShouldUseHardwareAccelerationDecode(),"isenbaleHD:"+c+" enable720p?:",I,"capacityfor720:",k),He(t,U),!Ce(this))return!1;if(await ge(C,this),T.default.extVBPort&&this.addVbReceiver(T.default.extVBPort),this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),p||this.isDestroy)return;let L=this;this.allpromises.push(T.default.videoInitInstance.initSuccessPromise);let x=null;return this.bVideoDecodeUsingSAB&&!this.videoEncodeRingBuffer&&(m?(x=!0,this.videoEncodeRingBuffer=!0):(x=M.getStorageForCapacity(),this.videoEncodeRingBuffer=x)),await T.default.videoInitInstance.initSuccessPromise.then(e=>!!Ce(L)&&(e&&this.bVideoEncodeUsingSAB&&x&&Jt(R.f.VIDEO_ENCODE,{interval:this.bVideoEncodeMainThreadConsumerIntervalEnable,data:m?null:{buffer:x,offset:0,length:x.byteLength}},"VIDEO_ENCODE_SAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITVERET-".concat(L._id,"-").concat(e&&!L.isDestroy)),!!Ce(L)&&(_||this.init_Notify_APPUI(e,R.f.VIDEO_ENCODE),me.subscribeMessage(me.nameMap.INIT_VIDEO_ENCODE_SUCCESS),ce(R.f.VIDEO_ENCODE),L.waitingVcChannelReady&&L.addChannelForVideo(),e)))},async _initWMSC(e,t,i,r){const s=new Date;return Object(g.getWMSCModule)().then(a=>{let{WMSCManager:o}=a;if(this.webrtcConfig.currentReloadTimes=0,!e||!t||!r||this.isDestroy)return void A.default.add_monitor("WMSC_Stop_Init: ".concat(this.isDestroy));const n=()=>{const e={[R.f.VIDEO_ENCODE]:me.nameMap.INIT_VIDEO_ENCODE_SUCCESS,[R.f.VIDEO_DECODE]:me.nameMap.INIT_VIDEO_DECODE_SUCCESS};this.init_Notify_APPUI(!0,i),me.subscribeMessage(e[i]),A.default.add_monitor("WMSC_".concat(e[i]))};if(!this.wmscManager){const i=new Date;A.default.add_monitor("WMSC_Load_Time: ".concat(i-s));const a=new URL(e).host,n=new URL(e).searchParams.get("cid"),d="wss://".concat(a,"/wc/media/").concat(t,"?type=v&cid=").concat(n,"&mode=16"),u="WMSC_WSS_URL: rwgHost:".concat(a,"|cid: ").concat(n);A.default.add_monitor(u),this.wmscManager=new o({webRTCWebSocketUrl:d,confId:n,nodeId:r,HDVideo:this.isVideoHD,mediaStreamController:Ul,iceServers:this.iceServers})}var d;return this.isDestroy?(A.default.add_monitor("WMSC_Destory_Init: ".concat(this.isDestroy)),void(null===(d=this.wmscManager)||void 0===d||d.destroy())):this.wmscManager.isJoinRWGSuccess?n():this.wmscManager.waitJoinRWGSuccess().then(()=>{if(n(),"{}"!==JSON.stringify(this.webrtcConfig.subscribeQosParamsData)){A.default.add_monitor("WMSC_Update_Qos_Subscription_Async");for(const e in this.webrtcConfig.subscribeQosParamsData){const t=this.webrtcConfig.subscribeQosParamsData[e];this.wmscManager.updateQosSubscription(...t)}this.webrtcConfig.subscribeQosParamsData={}}})}).catch(s=>{const{currentReloadTimes:o,maxReloadTimes:n}=this.webrtcConfig;if(o>=n)return v.default.error("WMSC_JS_LOAD_FAIL_FAILOVER"),void T.default.Notify_APPUI(a.NOTIFY_UI_WMSC_WSS_DISCONNECTED);setTimeout(()=>(v.default.error("WMSCf_IMPORT_FAIL ".concat(this.webrtcConfig.currentReloadTimes),s),this.webrtcConfig.currentReloadTimes+=1,this._initWMSC(e,t,i,r)),1e3)})},async initVideoDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0,d=arguments.length>6?arguments[6]:void 0,u=arguments.length>7&&void 0!==arguments[7]?arguments[7]:void 0,l=arguments.length>9&&void 0!==arguments[9]&&arguments[9];if((g.default.isAndroidBrowser()&&!g.default.isMTRAndroid()||g.default.isIphoneOrIpadBrowser())&&void 0===u&&(u=!0),this.userId=i,d=g.default.getMaxCountRender(),!Ce(this))return!1;let c=!1;if(this.webrtcConfig.webrtcflag&&!l)return A.default.add_monitor("WMSC_INITVD"),this.initVDPara=arguments,this.resolveVDwebrtcpromise(!0),this._initWMSC(t,n,R.f.VIDEO_DECODE,i).then(()=>{T.default.webrtcVideoInited=!0});T.default.webrtcVideoInited&&(T.default.webrtcVideoInited=!1,c=!0),Ee.resetVideoDecode(!1),Ll("initVideoDecode"),A.default.add_monitor("INITVD"),A.default.add_monitor("DOWL:"+this.isWebCodecDecoderOnWhitelist),this.setMultiView(d,T.default.enableMultiDecodeVideoWithoutSAB),d>1&&!T.default.enableMultiDecodeVideoWithoutSAB&&(Object(g.IsSupportWebGLOffscreenCanvas)()||g.default.isWebGL2Supported(this.isWebGL2FeatureEnabled))?this.codecDoAVSync=!0:this.codecDoAVSync=!1,this.is32bitbrowser=await g.default.is32bitChrome();let h=await g.default.isSDKSupportMultiThread(),f=await g.default.isSDKSupportSIMD(),p=f&&h,_={};this.isEnableVideoDecodeHardWareThread=h&&this._enableHardWareDecode(),u&&this.isEnableVideoDecodeHardWareThread?(this.videodecodehardwareflag=await g.default.IsSupportVideoDecodeHardwareAcceleration(T.default.enableHADecOpt),u=this.videodecodehardwareflag):u=!1,this.isSupportVideoShare&=p,A.default.add_monitor("isMT:"+h),A.default.add_monitor("SIMD:"+f),A.default.add_monitor("VDHT:"+this.isEnableVideoDecodeHardWareThread),A.default.add_monitor("VDHW:"+this.videodecodehardwareflag),A.default.add_monitor("SupportWebCodecDecode:".concat(u)),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.isSupportVideoShare?(_.workerJsFileUrl=e.vsmiworkerpath,_.workerWasmFileUrl=e.videoMSIMDWasm):p?(_.workerJsFileUrl=e.videoMSIMDWorkerPath,_.workerWasmFileUrl=e.videoMSIMDWasm):h?(_.workerJsFileUrl=e.videoMtWorkerPath,_.workerWasmFileUrl=e.videoMtWasm):f?(_.workerJsFileUrl=e.videoSIMDWorkerPath,_.workerWasmFileUrl=e.videoSIMDWasm):(_.workerJsFileUrl=e.videoWorkerPath,_.workerWasmFileUrl=e.videoWasm),_.integrityHelper=new g.IntegrityHelper(_.workerJsFileUrl,this.lateLoadedAssetsHash);let m=new URL(t).searchParams.get("cid"),E=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&qe("https://".concat(E,":").concat(T.default.webtransportPort,"/wc/media/").concat(n,"?type=v&cid=").concat(m)),this.previewInit({videoDataChannel:{conId:m,userid:i}},!0);let S=u&&this.isEnableVideoDecodeHardWareThread&&d>1&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>=4;g.default.setsub1080pcapacity(S);let C=this.platformType;if(g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB()?C=s.WCL_PLATFORM_TYPE.ANDROID:g.default.isIphoneOrIpadBrowser()&&(C=s.WCL_PLATFORM_TYPE.IPHONE),await this.onRendererTypeSelected(),He(t,{log:a,confId:i,meetingid:o,meetingnumb:n,videodecodethreadnumb:d,isFirefox:g.default.browser.isFirefox,isSupportMultiThread:h,isSupportVideoTrackReader:this.isSupportVideoTrackReader,isSupportOffscreenCanvas:this.isSupportOffscreenCanvas,isenablehw:u,isEnableVideoDecodeHardWareThread:this.isEnableVideoDecodeHardWareThread,isEnableHardWareThread:this.isEnableHardWareThread,isTeslaMode:this.isTeslaMode,platformType:C,rendererType:this.rendererType,isWebCodecDecoderOnWhitelist:this.isWebCodecDecoderOnWhitelist,webrtcvideo:this.webrtcConfig.webrtcflag}),!Ce(this))return!1;if(await Re(_,this),!Ce(this))return!1;let I=this;this.allpromises.push(T.default.videoDecInitInstance.initSuccessPromise);let b=null;return this.bVideoDecodeUsingSAB&&!this.videoDecodeRingBuffer&&(h?(b=!0,this.videoDecodeRingBuffer=!0):(b=M.getStorageForCapacity(),this.videoDecodeRingBuffer=b)),await T.default.videoDecInitInstance.initSuccessPromise.then(async e=>!!Ce(I)&&(e&&this.bVideoDecodeUsingSAB&&b&&Jt(R.f.VIDEO_DECODE,h?null:{buffer:b,offset:0,length:b.byteLength},"VIDEO_DECODE_SAB_FROM_DATACHANNEL",!1,!0),e)).then(e=>(A.default.add_monitor("INITVDRET-".concat(I._id,"-").concat(e&&!I.isDestroy)),!!Ce(I)&&(l||this.init_Notify_APPUI(e,R.f.VIDEO_DECODE),me.subscribeMessage(me.nameMap.INIT_VIDEO_DECODE_SUCCESS),ce(R.f.VIDEO_DECODE),I.waitingVcChannelReady&&I.addChannelForVideo(),e&&c&&v.default.directReport("video fallback to wasm successfully"),e)))},async initAudioEncode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0,d=arguments.length>8?arguments[8]:void 0;if(this.userId=i,Ll("initAudioEncode"),!Ce(this))return!1;A.default.add_monitor("INITAE"),_r.setUserId(i),Ee.resetAudioEncode(d),this.is32bitbrowser=await g.default.is32bitChrome();let u={},l=await g.default.isSDKSupportSIMD();if(e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,l?(u.workerJsFileUrl=e.audioSIMDWorkletPath,u.workerWasmFileUrl=e.audioSIMDWasm):(u.workerJsFileUrl=e.audioWorkerPath,u.workerWasmFileUrl=e.audioWasm),u.integrityHelper=new g.IntegrityHelper(u.workerJsFileUrl,this.lateLoadedAssetsHash),!d){let e=new URL(t).searchParams.get("cid"),r=new URL(t).host;g.apiSupportUtility.getIsSupportWebtransport()&&je("https://".concat(r,":").concat(T.default.webtransportPort,"/wc/media/").concat(o,"?type=a&cid=").concat(e)),this.previewInit({audioDataChannel:{conId:e,userid:i}},!0)}if(this.audioCtx||(this.audioCtx=Object(g.createMainAudioContext)()),Fe(t,{sampleRate:this.audioCtx.sampleRate,userid:i,log:a,meetingid:s,meetingnumb:o,videodecodethreadnumb:n}),!Ce(this))return!1;if(await Te(u,this),d||this.isDestroy)return;let c=this;this.allpromises.push(T.default.audioEncodeInitInstance.initSuccessPromise);let h=null;return this.bAudioDecodeUsingSAB&&!this.audioEncodeRingBuffer&&(h=M.getStorageForCapacity(100),this.audioEncodeRingBuffer=h),await T.default.audioEncodeInitInstance.initSuccessPromise.then(e=>!c.isDestroy&&(e&&this.bAudioEncodeUsingSAB&&h&&Jt(R.f.AUDIO_ENCODE,{buffer:h,offset:0,length:h.byteLength,bAudioEncodeMainThreadConsumerIntervalEnable:!1},"audioEncodeSAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITAERET-".concat(c._id,"-").concat(e&&!c.isDestroy)),!!Ce(c)&&(this.init_Notify_APPUI(e,R.f.AUDIO_ENCODE),ce(R.f.AUDIO_ENCODE),e)))},async initAudioDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0;if(this.userId=i,!Ce(this))return!1;Ee.resetAudioDecode(!1),Ll("initAudioDecode"),_r.setUserId(i);let d=!1;"WEBRTC"===T.default.audioSolution&&(d=!0),T.default.audioSolution="WASM",A.default.add_monitor("INITAD"),this.is32bitbrowser=await g.default.is32bitChrome();let u=new URL(t).searchParams.get("cid"),l=new URL(t).host,c={};e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,c.workerJsFileUrl=e.audioWorkerPath,c.workerWasmFileUrl=e.audioWasm,g.apiSupportUtility.getIsSupportWebtransport()&&je("https://".concat(l,":").concat(T.default.webtransportPort,"/wc/media/").concat(o,"?type=a&cid=").concat(u)),this.previewInit({audioDataChannel:{conId:u,userid:i}},!0);let h=await g.default.isSDKSupportMultiThread();if(await g.default.isSDKSupportSIMD()?(c.workerJsFileUrl=e.audioSIMDWorkletPath,c.workerWasmFileUrl=e.audioSIMDWasm):(c.workerJsFileUrl=e.audioWorkerPath,c.workerWasmFileUrl=e.audioWasm),c.integrityHelper=new g.IntegrityHelper(c.workerJsFileUrl,this.lateLoadedAssetsHash),this.audioCtx||(this.audioCtx=Object(g.createMainAudioContext)()),Fe(t,{sampleRate:this.audioCtx.sampleRate,userid:i,log:a,meetingid:s,meetingnumb:o,videodecodethreadnumb:n,isSupportMultiThread:h}),!Ce(this))return!1;if(await Ie(c,this),!Ce(this))return!1;let f=this;this.allpromises.push(T.default.audioDecInitInstance.initSuccessPromise);let p=null;return this.bAudioDecodeUsingSAB&&!this.audioDecodeRingBuffer&&(p=M.getStorageForCapacity(100),this.audioDecodeRingBuffer=p),await T.default.audioDecInitInstance.initSuccessPromise.then(async e=>!f.isDestroy&&(A.default.add_monitor("ADIP"+!!e),e&&this.bAudioDecodeUsingSAB&&p&&await Jt(R.f.AUDIO_DECODE,{buffer:p,offset:0,length:p.byteLength},"audioDecodeSAB",!1,!0),e)).then(e=>(A.default.add_monitor("INITADRET-".concat(f._id,"-").concat(e&&!f.isDestroy)),!!Ce(f)&&(e&&d&&v.default.directReport("fallback to wasm solution successfully"),this.init_Notify_APPUI(e,R.f.AUDIO_DECODE),ce(R.f.AUDIO_DECODE),e)))},async initSharingDecode(e,t,i){var r;let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0;if(!Ce(this))return!1;A.default.add_monitor("INITSD");let n=await g.default.isSDKSupportSIMD(),d=await g.default.isSDKSupportMultiThread(),u=n&&d;if(this.isSupportVideoShare&=u,this.isSupportVideoShare&&this.webrtcConfig.webrtcflag)try{await this.webrtcVDpromise,await this.initVideoDecode(...this.initVDPara,!0)}catch(e){A.default.add_monitor("INITVDSDF")}if(this.userId=i,this.recordSharingParamInfo(),this.isSupportVideoShare){this.allpromises.push(T.default.sharingDecInitInstance.socketSuccessPromise);let e=this;return await T.default.sharingDecInitInstance.handlerSuccessPromise,await T.default.sharingDecInitInstance.socketSuccessPromise.then(t=>(A.default.add_monitor("INITSDRET-".concat(e._id,"-").concat(t&&!e.isDestroy)),!!Ce(e)&&(this.init_Notify_APPUI(t,R.f.SHARING_DECODE),ce(R.f.SHARING_DECODE),t)))}this.dataChannelController.setVideoShareModel(this.isSupportVideoShare),this.is32bitbrowser=await g.default.is32bitChrome(),await this.onRendererTypeSelected(),e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e;let l={};if(u?(l.workerJsFileUrl=e.sharingMSIMDWorkerPath,l.workerWasmFileUrl=e.videoMSIMDWasm):d?(l.workerJsFileUrl=e.sharingMtWorkerPath,l.workerWasmFileUrl=e.videoMtWasm):n?(l.workerJsFileUrl=e.sharingSIMDWorkerPath,l.workerWasmFileUrl=e.videoSIMDWasm):(l.workerJsFileUrl=e.sharingWorkerPath,l.workerWasmFileUrl=e.videoWasm),l.integrityHelper=new g.IntegrityHelper(l.workerJsFileUrl,this.lateLoadedAssetsHash),Ge(t,{log:a,userid:i,meetingid:s,meetingnumb:o,isSupportMultiThread:d,rendererType:this.rendererType,isWebCodecDecoderOnWhitelist:this.isWebCodecDecoderOnWhitelist}),!Ce(this))return!1;if(await be(l,this),!Ce(this))return!1;this.allpromises.push(T.default.sharingDecInitInstance.initSuccessPromise);let c=this;return await T.default.sharingDecInitInstance.initSuccessPromise.then(e=>(A.default.add_monitor("INITSDRET-".concat(c._id,"-").concat(e&&!c.isDestroy)),!!Ce(c)&&(this.init_Notify_APPUI(e,R.f.SHARING_DECODE),ce(R.f.SHARING_DECODE),e)))},async initSharingEncode(e,t,i){var r;let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0;A.default.add_monitor("INITSE");let d=await g.default.isSDKSupportSIMD(),u=await g.default.isSDKSupportMultiThread(),l=d&&u;if(this.isSupportVideoShare&=l,this.isSupportVideoShare&&this.webrtcConfig.webrtcflag)try{await this.webrtcpromise,11==this.initVEPara.length?await this.initVideoEncode(...this.initVEPara,!1,!1,!0):await this.initVideoEncode(...this.initVEPara,!0)}catch(e){A.default.add_monitor("INITVESEF")}if(this.userId=i,!Ce(this))return!1;if(this.isSupportVideoShare){this.allpromises.push(T.default.sharingEncInitInstance.socketSuccessPromise);let e=this;return await T.default.sharingEncInitInstance.handlerSuccessPromise,await T.default.sharingEncInitInstance.socketSuccessPromise.then(t=>(A.default.add_monitor("INITSERET-".concat(e._id,"-").concat(t&&!e.isDestroy)),!!Ce(e)&&(this.init_Notify_APPUI(t,R.f.SHARING_ENCODE),ce(R.f.SHARING_ENCODE),g.default.getGpuInfo().isWebGLContextInvalid&&Object(J.NotifyUIError)(a.WEBGL_CONTEXT_INVALID,{reason:"WebGLContextInvalid"}),t)))}e=(null===(r=this.getFilePath)||void 0===r?void 0:r.call(this))||e,this.is32bitbrowser=await g.default.is32bitChrome(),await this.onRendererTypeSelected();let c={};if(l?(c.workerJsFileUrl=e.sharingMSIMDWorkerPath,c.workerWasmFileUrl=e.videoMSIMDWasm):u?(c.workerJsFileUrl=e.sharingMtWorkerPath,c.workerWasmFileUrl=e.videoMtWasm):d?(c.workerJsFileUrl=e.sharingSIMDWorkerPath,c.workerWasmFileUrl=e.videoSIMDWasm):(c.workerJsFileUrl=e.sharingWorkerPath,c.workerWasmFileUrl=e.videoWasm),c.integrityHelper=new g.IntegrityHelper(c.workerJsFileUrl,this.lateLoadedAssetsHash),Ge(t,{log:s,userid:i,meetingid:o,meetingnumb:n,isSupportMultiThread:u,rendererType:this.rendererType}),!Ce(this))return!1;if(await Oe(c,this),!Ce(this))return!1;let h=this;return this.allpromises.push(T.default.sharingEncInitInstance.initSuccessPromise),await T.default.sharingEncInitInstance.initSuccessPromise.then(e=>(A.default.add_monitor("INITSERET-".concat(h._id,"-").concat(e&&!h.isDestroy)),!!Ce(h)&&(this.init_Notify_APPUI(e,R.f.SHARING_ENCODE),ce(R.f.SHARING_ENCODE),e)))},JsMediaSDK_UnInit:function(){Ut();this.videoRenderArray.length&&this.videoRenderArray.forEach((function(e){e.display&&(e.display.cleanup(),e.display=null)})),T.default._callbackList=[],T.default._Notify_APPUI=null,Object(J.SetNotifyUIFn)(null)},StartAudioMediaCapture:function(){var e,t,i;Ul.startCaptureAudio({audioConstraints:this.audioCapture?{audioSource:this.audioCapture?this.audioCapture.AudioSelectValue:null,enableOriginalSound:"originalSound"===(null===(e=this.audioCapture)||void 0===e||null===(e=e.audioProfile)||void 0===e?void 0:e.currentSelect),enableStereo:"originalSound"===(null===(t=this.audioCapture)||void 0===t||null===(t=t.audioProfile)||void 0===t?void 0:t.currentSelect)&&(null===(i=this.audioCapture)||void 0===i||null===(i=i.audioProfile)||void 0===i||null===(i=i.originalSound)||void 0===i?void 0:i.stereo),isSupportBrowserAec:this.isSupportBrowserAec,disableAudioAGC:this.disableAudioAGC,disableNoiseSuppression:this.disableNoiseSuppression}:null,successHandler:this.handleAudioCapture.bind(this),errorHandler:this.handleAudioError.bind(this)})},StartDesktopMediaCapture:async function(){if(this.desktopSharingValue.audioOnly){try{const e=await navigator.mediaDevices.getUserMedia({audio:{deviceId:this.desktopSharingValue.deviceId?{exact:this.desktopSharingValue.deviceId}:g.default.browser.isChrome?{exact:"default"}:void 0,echoCancellation:this.desktopSharingValue.echoCancellation,noiseSuppression:this.desktopSharingValue.noiseSuppression,autoGainControl:this.desktopSharingValue.autoGainControl,sampleRate:this.desktopSharingValue.sampleRate||48e3}});this.handleDesktopCapture(e,!0)}catch(e){this.handleCaptureError(e)}return}if(this.desktopSharingValue.sourceId){const e=this.desktopSharingValue.sourceId;try{const t=await navigator.mediaDevices.getUserMedia({audio:!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:e}}});this.handleDesktopCapture(t)}catch(e){this.handleCaptureError(e)}return}const e=this.handleDesktopCapture.bind(this),t=this.handleCaptureError.bind(this);if(this.desktopSharingValue.share2ndCamera){const i=this.desktopSharingValue.share2ndCameraParams||{},r=i.VideoSelectValue?{exact:i.VideoSelectValue}:void 0,a=i.frameRate?{ideal:i.frameRate}:void 0,s={deviceId:r,width:i.width||640,height:i.height||360,frameRate:a};let o=!1;i.AudioSelectValue&&(o={noiseSuppression:null==i?void 0:i.noiseSuppression,autoGainControl:null==i?void 0:i.autoGainControl,echoCancellation:null==i?void 0:i.echoCancellation,sampleRate:i.sampleRate||48e3,deviceId:{exact:i.AudioSelectValue}});const n={video:s,audio:o};return void navigator.mediaDevices.getUserMedia(n).then(e,t)}const i=this.desktopSharingValue.videoParams,r=navigator.mediaDevices.getSupportedConstraints&&navigator.mediaDevices.getSupportedConstraints(),a=r&&!!r.displaySurface&&i&&i.displaySurface;if(navigator.mediaDevices.getDisplayMedia){let r=!(!g.default.isSupportSharedArrayBuffer()&&!this.audioBridge||!this.desktopSharingValue.showShareAudioOption)&&{autoGainControl:!1,noiseSuppression:!1,echoCancellation:!g.default.isSupportSharingStereo()},s=this.desktopSharingValue.videoParams||!0;a&&("object"==typeof s?s.displaySurface=i.displaySurface:"boolean"==typeof s&&(s={displaySurface:i.displaySurface}));let o={video:s,audio:r,...this.desktopSharingValue.otherParams};navigator.mediaDevices.getDisplayMedia(o).then(e,t)}},StartVideoMediaCapture:async function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const i=this.videoCaptureValue,r={encode:this.isStartVideoCapture,preview:this.isMaskSettingOn||this.isVBSettingOn};A.default.add_monitor("STARTVIDEOMEDIA:".concat(r.encode,":").concat(r.preview)),Ul.startCaptureVideo({videoConstraints:this.videoCaptureValue?{videoSource:this.videoCaptureValue.VideoSelectValue,usingFacingMode:this.videoCaptureValue.usingFacingMode,width:this.videoCaptureValue.width,height:this.videoCaptureValue.height,pan:this.videoCaptureValue.pan,tilt:this.videoCaptureValue.tilt,zoom:this.videoCaptureValue.zoom,fps:this.videoCaptureValue.fps}:null,timeout:this.videoCaptureValue?this.videoCaptureValue.timeout:null,successHandler:async e=>{var o;if(Nl.ProcessorManager.hasMediaStreamFrameProcessor()){Nl.ProcessorManager.removeStream(),Nl.ProcessorManager.setStream(e);const t=Nl.ProcessorManager.getStream();Ul.processedStream=t}if(!Ce(this,"videocapture"))return Ul.enableReuseStream(!1),Ul.destoryVideoMediaStream(),void v.default.error("VideoCaptureException successed sdkinstance has destroyed");if((null===(o=this.videoCaptureValue)||void 0===o?void 0:o.videoCtrl)===(null==i?void 0:i.videoCtrl)&&(this.videoCaptureValue=i),Ul.videoConstraints){const{width:e,height:t}=Ul.videoConstraints;e&&t&&(this.videoCaptureWidth=e instanceof Object?e.ideal:e,this.videoCaptureHeight=t instanceof Object?t.ideal:t)}let n=!1;try{var d;const i=e.getVideoTracks()[0]||{};if(A.default.add_monitor("WMSC_Stream_ Capture_Success: ".concat(null==i?void 0:i.muted,"|").concat(null==i?void 0:i.readyState,"|").concat(!(null===(d=this.videoCaptureValue)||void 0===d||!d.videoCtrl))),this.webrtcConfig.webrtcflag)if(this.wmscManager){var u;t&&T.default.Notify_APPUI(a.MOBILE_CAPTURE_DEVICE_CHANGE,this.userId);const e=Ul.getVideoStream();0,null!==(u=this.wmscManager)&&void 0!==u&&u.vbSettingVideoDom&&(this.wmscManager.vbSettingVideoDom.srcObject=e),await this.handleWebRTCStream("streamCaptureSuccess",e),await this.handleWebrtcVideoCapture(e),n=!0}else{const e="WMSC_Capture_Success_Handle_Fail:".concat(!!this.wmscManager,"|").concat(this.isStartVideoCapture,"|streamCaptureSuccess");A.default.add_monitor(e),v.default.error(e)}else await this.handleWasmVideoCapture(e,r),n=!0;if(A.default.add_monitor("STARTVIDEORET:".concat(n,"|").concat(null==i?void 0:i.muted)),n){A.default.add_monitor("VCMS"),i.onended=async()=>{if(!await _r.hasPermission("camera"))return A.default.add_monitor("VTRS:"+i.readyState+"R"),void Object(J.NotifyUIError)(a.VIDEO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.PERMISSION_RESET);let e=await navigator.mediaDevices.enumerateDevices(),t=!1;e.forEach(e=>{"videoinput"===e.kind&&e.label===i.label&&e.deviceId===i.getSettings().deviceId&&(t=!0)}),t?(A.default.add_monitor("VTRS:"+i.readyState+"I"),Object(J.NotifyUIError)(a.VIDEO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION)):A.default.add_monitor("VTRS:"+i.readyState+"L"),_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.STOP,type:s.HEALTH_CHECK_TYPE.VIDEO}),v.default.error("video media track ended")},i.onmute=async()=>{A.default.add_monitor("VTMS:"+i.muted),v.default.directReport("NotifyUIError,event=".concat(a.VIDEO_STREAM_MUTED,",data=").concat(!!this.videoCaptureValue)),this.videoCaptureValue&&(this.videoMuteTimeoutId=setTimeout(()=>{T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_MUTED),this.videoMuteTimeoutId=0},3e3),T.default.rwgAgent||_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.PAUSE,type:s.HEALTH_CHECK_TYPE.VIDEO}));await _r.hasPermission("camera")||Object(J.NotifyUIError)(a.LOST_CAMERA_ACCESS,J.CAPTURE_ERROR_TYPE.LOST_ACCESS)},i.onunmute=()=>{A.default.add_monitor("VTMS:"+i.muted),v.default.directReport("NotifyUIError,event=".concat(a.VIDEO_STREAM_UNMUTED)),this.webrtcConfig.webrtcflag&&this.wmscManager&&this.wmscManager.playAllVideoTag("videoTrackUnmute"),this.videoMuteTimeoutId?(clearTimeout(this.videoMuteTimeoutId),this.videoMuteTimeoutId=0):T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_UNMUTED),T.default.rwgAgent||_t({command:"healthCheck",op:s.HEALTH_CHECK_OPERATOR.RESUME,type:s.HEALTH_CHECK_TYPE.VIDEO})},i.muted?(A.default.add_monitor("VTMS:"+i.muted),T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_MUTED)):(A.default.add_monitor("VTMS:"+i.muted),T.default.Notify_APPUI_SAFE(a.VIDEO_STREAM_UNMUTED));try{let{width:e,height:t}=Ul.currentVideoResolution||{};if((g.default.browser.isSafari||g.default.isAndroidBrowser())&&e&&t){let i=e instanceof Object?e.ideal:e,r=t instanceof Object?t.ideal:t;e&&t&&this.Change_Video_Capture_Resolution(i,r,!0)}}catch(e){}}}catch(e){this.handleVideoError(e)}},errorHandler:function(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.handleVideoError(t,i)}})},Start_Audio_Play:function(){this.audioPlay=!0,T.default.AudioNode&&T.default.AudioNode.postCMD("startPlayAudio",null),fe(!0)},Stop_Audio_Play:function(){fe(!1),T.default.AudioNode&&T.default.AudioNode.postCMD("stopPlayAudio",null)},Remove_Audio_Play:function(){fe(!1),this.audioPlay=!1,T.default.AudioNode&&T.default.AudioNode.postCMD("stopPlayAudio",null)},Meeting_Fail_Over:function(e,t){st(e,t)},Start_Desktop_Audio_Capture:function(){if(this.useAudioBridge){var e;null===(e=this.audioBridge)||void 0===e||e.publishStream(this.desktopSharingMediaStram,!0)}else{let e=this.desktopSharingMediaStram.getAudioTracks();if(this.desktopSharingMediaStram&&e){var t=this.sharingAudioCtx.createMediaStreamSource(this.desktopSharingMediaStram);return this.sharingWebrtcAudioNode=t,this.isSharingCaptureNodeConnect||(this.sharingWebrtcAudioNode.connect(T.default.SharingAudioNode),T.default.SharingAudioNode.postCMD("StartCaptureAudio",null),this.isSharingCaptureNodeConnect=!0),void(this.screenShareAudioPreviewElement&&this.screenShareAudioPreviewElement.play().catch(e=>{v.default.error("Screenshare audio preview play failed",e)}))}}},Start_Audio_Capture:function(){if(Ul.shouldCaptureAudio())this.StartAudioMediaCapture();else{Ul.getAudioCapabilities().deviceId;if(this.audioInputLevel)return this.audioInputLevel.setAudioStream(Ul.audioStream),this.captureAudioMuted||this.audioInputLevel.start(),void(T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId())));var e;if(this.useAudioBridge)return void(null===(e=this.audioBridge)||void 0===e||e.publishStream(Ul.audioStream).then(e=>{T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}));if(T.default.AudioNode){this.webrtcAudioNode&&(this.webrtcAudioNode.disconnect(T.default.AudioNode),this.webrtcAudioNode=null);var t=this.audioCtx.createMediaStreamSource(Ul.audioStream);this.webrtcAudioNode=t,this.webrtcAudioNode.connect(T.default.AudioNode),T.default.AudioNode.postCMD("StartCaptureAudio",null),Tt({command:132,value:!0}),this.isCaputureNodeConnect=!0}T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}},Stop_Audio_Capture:function(){nt(T.default.SPECIAL_ID,a.AUDIO_STOP)},_startVideoLoadedmetadataMonitor:function(e,t){var i;null!==(i=this.videoloadedmetadatamonitor)&&void 0!==i&&i.stop&&this.videoloadedmetadatamonitor.stop();let r=Math.min(s.LOADEDMETADATAT_IMEOUT+5e3*this.loadedmetadatamtimeoutcount,3e4),a=setTimeout(()=>{var i;(null===(i=this.videoloadedmetadatamonitor)||void 0===i?void 0:i.id)!=t||this.isDestroy||(Object(g.RecordVideoState)(e),this.loadedmetadatamtimeoutcount++,this.videoloadedmetadatamonitor=null,e.readyState>=2?(this._videoloadedmetadata(t,{}),v.default.directReport("video is ready state no loadedmetadata callback")):(A.default.add_monitor("loadmetadatamtimeout:".concat(this.loadedmetadatamtimeoutcount)),this.handleVideoError(new Error("Video loadedmetadata timeout ".concat(this.loadedmetadatamtimeoutcount)))))},r);this.videoloadedmetadatamonitor={id:t,stop:()=>{clearTimeout(a)}}},_addVideoLoadedmetadataListener:function(e){var t;if(!e)return void v.default.error("videodom is null");this.mountoadedmetadatatime=performance.now(),null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null);let i=Date.now();const r=this._videoloadedmetadata.bind(this,i);e.addEventListener("loadedmetadata",r);this.videoloadmetadataListener={id:i,remove:()=>{e.removeEventListener("loadedmetadata",r)}},this._startVideoLoadedmetadataMonitor(e,i)},_videoloadedmetadata:function(e,t){var i,r;if(this.videoloadmetadataListener){if(this.videoloadmetadataListener.id!=e)return;var s;null===(s=this.videoloadmetadataListener)||void 0===s||s.remove(),this.videoloadmetadataListener=null}let o,n;null!==(i=this.videoloadedmetadatamonitor)&&void 0!==i&&i.stop&&(this.videoloadedmetadatamonitor.stop(),this.videoloadedmetadatamonitor=null);let d=this,u=null;if(t?(u=t.target||d.videoCaptureValue.videoCtrl,A.default.add_monitor("VIDEOLOADEDMETADATA:".concat(u==d.videoCaptureValue.videoCtrl))):A.default.add_monitor("VIDEOLOADEDMETADATA:".concat(!0)),!Ce(d,"loadedmetadata"))return v.default.error("VideoCaptureException loadedmetadata JsMediaSDK instance destroyed"),Ul.enableReuseStream(!1),void Ul.destoryVideoMediaStream();var l;(d.isVideoCaptureLoadedmetadata&&v.default.warn("Video capture isVideoCaptureLoadedmetadata is true"),d.isVideoCaptureLoadedmetadata=!0,d.isSupportVideoFrameOrBitmapCapture)?(o=d.videoCaptureWidth,n=d.videoCaptureHeight):(o=d.videoCaptureValue.videoCtrl.videoWidth,n=d.videoCaptureValue.videoCtrl.videoHeight,d.videoCaptureWidth=o,d.videoCaptureHeight=n,null===(l=d.captureVideoOutputCanvasDomList)||void 0===l||l.forEach((function(e){e.width=o,e.height=n})));t&&this.startVideoCaptureSuccess(),null===(r=d.VideoRenderObj)||void 0===r||r.Set_LocalVideo_SSRC(d.videoCaptureValue.ssid),d.webrtcConfig.webrtcflag||(_t({command:"startVideoEncode",width:d.videoCaptureWidth,height:d.videoCaptureHeight,fps:d.videoCaptureValue.fps,ssid:d.videoCaptureValue.ssid,mtu_size:d.mtu_size,isSupportImageCapture:d.isSupportImageCapture,isSupportVideoTrackReader:d.isSupportVideoTrackReader,isSupportMediaStreamTrackProcessor:d.isSupportMediaStreamTrackProcessor,isSupport2DCanvasDrawFrame:d.isSupport2DCanvasDrawFrame,disableOriginalRatio:!!d.videoCaptureValue.disableOriginalRatio}),gt({command:"startVideoEncode",ssid:d.videoCaptureValue.ssid,disableOriginalRatio:!!d.videoCaptureValue.disableOriginalRatio}),d.isSupportVideoShare||Ft({command:"startVideoEncode"}),_t({command:"updateVideoPara",width:d.videoCaptureWidth,height:d.videoCaptureHeight,fps:d.GetVideoCaptureFps()})),d.lastRealRect.left=0,d.lastRealRect.top=0,d.lastRealRect.width=d.videoCaptureWidth,d.lastRealRect.height=d.videoCaptureHeight,T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:o,height:n})},startVideoCaptureSuccess:function(){const{deviceId:e,pan:t=null,tilt:i=null,zoom:r=null,facingMode:s=null}=Ul.getVideoCapabilities(),o={currentDeviceID:e,PTZRange:{pan:t,tilt:i,zoom:r}},{usingFacingMode:n=!1}=this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO;n&&(null==s?void 0:s.length)>0&&(o.usingFacingMode=!0,o.VideoSelectValue=s),A.default.add_monitor("START_VIDEO_CAPTURE_SUCCESS_Response:".concat(Object(g.replaceComma)(JSON.stringify(o)))),T.default.Notify_APPUI(a.START_VIDEO_CAPTURE_SUCCESS,o)},handleWebRTCStream:async function(e,t){if(!this.webrtcConfig.webrtcflag)return void A.default.add_monitor("WMSC_WebRTC_Flag_Error:".concat(e));const i=t||Ul.getVideoStream();if(this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&(this.videoCaptureValue.videoCtrl.srcObject=i,Ul.playVideoStream(this.videoCaptureValue.videoCtrl)),this.wmscManager&&i){var r;this.wmscManager.selfVideoDomMap.size>0&&this.wmscManager.selfVideoDomMap.forEach(t=>{t.srcObject=i,this.wmscManager.playSelfVideo(e,t)});const t=null===(r=i.getVideoTracks()[0])||void 0===r?void 0:r.getSettings(),a=[{stream:i,width:(null==t?void 0:t.width)||640,height:(null==t?void 0:t.height)||360}];Ul.isVideoStreamProcessed()&&a.push({stream:Ul.videoStream}),A.default.add_monitor("WMSC_Prepare_Send_streams:".concat(e,"|").concat(this.isStartVideoCapture)),this.isStartVideoCapture&&await this.wmscManager.sendMessageToWMSCAsync({type:"VIDEO_STREAMS",streams:a})}else{var a;A.default.add_monitor("WMSC_Send_Stream_Fail:".concat(!!this.wmscManager,"|").concat(!!i,"|").concat(!(null===(a=this.videoCaptureValue)||void 0===a||!a.videoCtrl),"|").concat(e))}},render_self_video_wasm:function(){try{this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(this.videoCaptureValue.videoCtrl),this.selfPreviewVideotagList&&this.selfPreviewVideotagList.length>0&&this.selfPreviewVideotagList.forEach(e=>{e&&Ul.playVideoStream(e)})}catch(e){v.default.error("Error trying to set srcObject of video tag",e)}},Start_Video_Capture:function(){if(!Ul.shouldCaptureVideo()){var e=this;return new Promise((t,i)=>{if(e.isSupportVideoFrameOrBitmapCapture?(e._videoloadedmetadata(null),e.render_self_video_wasm(),g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()&&e.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(e.videoCaptureValue.videoCtrl),t(!0)):(e.isVideoCaptureLoadedmetadata&&(v.default.error("Video capture isVideoCaptureLoadedmetadata is true"),e.isVideoCaptureLoadedmetadata=!1),this._addVideoLoadedmetadataListener(e.videoCaptureValue.videoCtrl),Ul.checkVideoStreamActive().then(t).catch(i),e.videoCaptureValue.videoCtrl&&!this.webrtcConfig.webrtcflag&&Ul.playVideoStream(e.videoCaptureValue.videoCtrl)),this.webrtcConfig.webrtcflag)if(A.default.add_monitor("WMSC_Start_CAPTURE_REUSE_STREAM"),this.wmscManager)this.handleWebRTCStream("reuseCaptureStream");else{const e="WMSC_Resuse_Stream_Fail:".concat(!!this.wmscManager,"|").concat(this.isStartVideoCapture,"|reuseCaptureStream");A.default.add_monitor(e),v.default.error(e)}A.default.add_monitor("STARTVIDEOSUCCESS"),(e.isSupportVideoFrameOrBitmapCapture||!e.isSupportedVideoFrameOrBitmapCapture&&this.webrtcConfig.webrtcflag)&&this.startVideoCaptureSuccess()})}this.StartVideoMediaCapture()},video_capture_for_webrtc:function(){if(!Ul.shouldCaptureVideo())return new Promise(e=>{this.startVideoCaptureSuccess(),e(!0)})},Stop_Video_Capture:function(){this.webrtcConfig.webrtcflag?(A.default.add_monitor("WMSC_Stop_Video_CAPTURE"),this.Stop_Video_Capture_for_webrtc()):this.Stop_Video_Capture_for_wasm(),this.isStartVideoCapture=!1,this.isVideoCaptureLoadedmetadata=!1,Ul._clearCheckVideoStreamActiveTimer(),this.isMaskSettingOn||this.isVBSettingOn||this.isStartVideoCapture||(Ul.destoryVideoMediaStream(),this.videoCaptureValue=null),clearInterval(this.videoCaptureInterval),this.videoCaptureInterval=0},Stop_Video_Capture_for_wasm:function(){if(_t({command:"stopVideoEncode"}),gt({command:"stopVideoEncode"}),Ft({command:"stopVideoEncode"}),this.videoCaptureValue&&this.videoCaptureValue.videoCtrl&&!this.isMaskSettingOn&&!this.isVBSettingOn){var e,t;let i=!1;if(this.videoloadmetadataListener&&Object(g.RecordVideoState)(this.videoCaptureValue.videoCtrl),this.selfPreviewVideotagList.length&&this.selfPreviewVideotagList.forEach(e=>{e===this.videoCaptureValue.videoCtrl&&(i=!0),Ul.removeVideoStream(e)}),i||Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),null!==(e=this.videoloadedmetadatamonitor)&&void 0!==e&&e.stop&&(this.videoloadedmetadatamonitor.stop(),this.videoloadedmetadatamonitor=null),null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove){this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null;let e=performance.now();e-this.mountoadedmetadatatime>5e3&&v.default.error("stop video capture but loadedmetadata not callback after ".concat(Math.round(e-this.mountoadedmetadatatime)," ms"))}}},Stop_Video_Capture_for_webrtc:async function(){var e;null!==(e=this.videoCaptureValue)&&void 0!==e&&e.videoCtrl&&Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),this.wmscManager&&await this.wmscManager.sendMessageToWMSCAsync({type:"VIDEO_STREAMS",streams:[]})},Remove_Video_Capture:function(){clearInterval(this.videoCaptureInterval),this.videoCaptureInterval=0,Ul.destoryVideoMediaStream(),this.videoCaptureValue=null,this.videoCaptureValue.videoCtrl&&this.videoCaptureValue.videoCtrl.pause()},Change_Video_Capture_Resolution:function(e,t){var i;let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const o=null===T.default||void 0===T.default||null===(i=T.default.localVideoPara)||void 0===i?void 0:i.isSupportWebCodecEnocde;if(g.default.isIpadOS()&&!o)return;let n=!1;if((g.default.isIphoneOrIpadBrowser()||g.default.isIpadOS()||g.default.isAndroidBrowser()&&!g.default.isMTRAndroidWithSAB())&&(n=!0,r||(this.captureSize={width:e,height:t}),!this.isLandScape&&!r))return;if(this.videoCaptureHiddenCanvas&&g.default.isMac()&&g.default.browser.isFirefox)return;if(e>=1920&&this.platformType!=s.WCL_PLATFORM_TYPE.DESKTOP)return;let d=0;d=e>=1920?30:this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:24,Ul.changeVideoResolution(e,t,d).then(()=>{n||(this.ReadyCapureWidth=e,this.ReadyCapureHeight=t,this.videoCaptureWidth=e,this.videoCaptureHeight=t,T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),_t({command:"updateVideoPara",width:e,height:t,fps:this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:24}))}).catch(e=>{v.default.warn("change video resoltuion info:",e)}),!Ul.videoStreamTrack||this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor||this.Process_Video()},Start_Whiteboard_Sharing:async function(){let e,t;const i=this.desktopSharingValue.canvas;this.whiteboardCanvas=i;this.isdesktopCaptureLoadedmetadata=!0,e=i.width,t=i.height,this.desktopSharingCaptureWidth=e,this.desktopSharingCaptureHeight=t,this.desktopCaptureContext=i.getContext("2d");let r={command:"startSharingEncode",width:e,height:t,fps:8,ssid:this.desktopSharingValue.ssid,isSupportVideoTrackReader:!1,isSupportMediaStreamTrackProcessor:!1,isWhiteboardSharing:!0};_t(r),this.isSupportVideoShare||Ft(r)},Change_Sharing_Capture_Resolution:function(e){if(this.shareTrack){let t;console.log("change sharing capture resolution to",e),t=1==e?{video:!0,frameRate:5}:{width:1280,height:720,frameRate:24},this.shareTrack.applyConstraints(t)}},Start_Desktop_Sharing:function(){if(this.desktopSharingMediaStram){var e=this;return new Promise((t,i)=>{let r=async function(t){let i,s;var o=e.desktopSharingMediaStram.getVideoTracks()[0];if(await Ul.adjustShareResUnder2K(o),e.isSupportSharingTrackReader||e.isSupportMediaStreamTrackProcessor)e.isSupportMediaStreamTrackProcessor?(e.sharingMediaStreamTrackProcessor=new MediaStreamTrackProcessor(o),e.sharingFrameStream=e.sharingMediaStreamTrackProcessor.readable,e.isSupportVideoShare?St("sharingframeStream",e.sharingFrameStream):vt("frameStream",e.sharingFrameStream),A.default.add_monitor("SCTP")):e.isSupportSharingTrackReader&&(e.sharingTrackReader=new VideoTrackReader(o),A.default.add_monitor("SCTPR")),e.desktopSharingValue.video&&(i=e.desktopSharingValue.video.videoWidth,s=e.desktopSharingValue.video.videoHeight,e.desktopSharingCaptureWidth=i,e.desktopSharingCaptureHeight=s,e.desktopSharingValue.video.removeEventListener("loadedmetadata",r));else if(e.isSharingSupportImageCapture){e.sharingImageCapture=new ImageCapture(o),A.default.add_monitor("SCIC");let r=await e.sharingImageCapture.grabFrame();e.desktopSharingCaptureWidth=r.width,e.desktopSharingCaptureHeight=r.height,i=r.width,s=r.height;try{e.replaceCanvasMap.sharingPreviewCanvasId=e.desktopSharingValue.rendercanvasID,e.sharingOffscreenCanvas=e.desktopSharingValue.canvas.transferControlToOffscreen();var n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(u=T.default.localSharingEncMGR.map.get(n)){var d={command:"newSharingPara",rendercanvasID:e.replaceCanvasMap.sharingPreviewCanvasId,data:e.sharingOffscreenCanvas,width:i,height:s,flipSend:e.flipSend,is32bitbrowser:e.is32bitbrowser};u.postMessage(d,[d.data])}}catch(t){var u;n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(u=T.default.localSharingEncMGR.map.get(n)){d={command:"newSharingPara",flipSend:e.flipSend,is32bitbrowser:e.is32bitbrowser};u.postMessage(d)}}}else e.isdesktopCaptureLoadedmetadata=!0,i=e.desktopSharingValue.video.videoWidth,s=e.desktopSharingValue.video.videoHeight,e.desktopSharingValue.canvas.width=i,e.desktopSharingValue.canvas.height=s,e.desktopSharingCaptureWidth=i,e.desktopSharingCaptureHeight=s,e.desktopCaptureContext=e.desktopSharingValue.canvas.getContext("2d"),e.desktopSharingValue.video.removeEventListener("loadedmetadata",r);e.isSupportVideoShare?Gt({command:"startSharingEncode",width:i,height:s,fps:8,ssid:e.desktopSharingValue.ssid,isSupportVideoTrackReader:e.isSupportSharingTrackReader,isSupportMediaStreamTrackProcessor:e.isSupportMediaStreamTrackProcessor}):Ft({command:"startSharingEncode",width:i,height:s,fps:8,ssid:e.desktopSharingValue.ssid,isSupportVideoTrackReader:e.isSupportSharingTrackReader,isSupportMediaStreamTrackProcessor:e.isSupportMediaStreamTrackProcessor}),T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:i,height:s}),_t({command:"startsharingencode"})};if(e.isSupportSharingTrackReader||e.isSupportMediaStreamTrackProcessor)e.desktopSharingValue.video.addEventListener("loadedmetadata",r);else{if(e.isSharingSupportImageCapture)return r(),e.desktopSharingValue.video.srcObject=e.desktopSharingMediaStram,e.desktopSharingValue.video.muted=!0,void t(!0);e.desktopSharingValue.video.addEventListener("loadedmetadata",r),e.desktopSharingValue.video.setAttribute("playsinline",""),e.desktopSharingValue.video.muted=!0}try{e.desktopSharingValue.video.srcObject=e.desktopSharingMediaStram,e.desktopSharingValue.video.muted=!0}catch(t){e.desktopSharingValue.video.src=URL.createObjectURL(e.desktopSharingMediaStram)}e.desktopSharingValue.video.play().catch(e=>{v.default.error("Screenshare video preview play failed",e)}),T.default.isGoogleMeetMode&&e.desktopSharingMediaStram.getAudioTracks().length>0&&(e.screenShareAudioPreviewElement=new Audio,e.screenShareAudioPreviewElement.srcObject=e.desktopSharingMediaStram,e.screenShareAudioPreviewElement.setSinkId(e.audioCtx.sinkId)),t(!0)})}this.StartDesktopMediaCapture()},SharingFrameOutputCallback:function(e){let t,i,r=this;if(null!=e.format&&null!=e.planes)if(t=e.planes[0].stride,i=e.planes[0].rows,t==r.desktopSharingCaptureWidth&&i==r.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t,height:i}),r.desktopSharingCaptureWidth=t,r.desktopSharingCaptureHeight=i),1e3==r.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),r.sMonitorCaptureFrameCount=0),r.sMonitorCaptureFrameCount++,r.canISendNextSharingFrame){r.canISendNextSharingFrame=!1;var s=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var o=T.default.localSharingEncMGR.map.get(s);if(o){var n={command:"encodeSharingFrame",isSupportVideoTrackReader:r.isSupportSharingTrackReader,data:e};o.postMessage(n)}g.default.browserType.version>=90&&("close"in e?e.close():e.destroy())}}else"close"in e?e.close():e.destroy();else if(r.canISendNextSharingFrame){let s;r.canISendNextSharingFrame=!1,e.createImageBitmap().then(o=>{s=o,t=s.width,i=s.height,"close"in e?e.close():e.destroy(),t==r.desktopSharingCaptureWidth&&i==r.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:t,height:i}),r.desktopSharingCaptureWidth=t,r.desktopSharingCaptureHeight=i);var n=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR){var d=T.default.localSharingEncMGR.map.get(n);d&&d.postMessage({command:"encodeSharingFrame",isImageFromSharingFrame:!0,data:s},[s])}}).catch(e=>{v.default.error("Converting sharing frame to image bitmap failed",e)})}else"close"in e?e.close():e.destroy()},Process_Sharing:async function(){if(!this.desktopSharingValue||!this.desktopSharingSend)return;let e,t,i;if(!this.isStartWhiteboardSharing&&this.isSupportSharingTrackReader){try{await this.sharingTrackReader.start(this.SharingFrameOutputCallback.bind(this))}catch(e){}return}if(!this.isStartWhiteboardSharing&&this.isSharingSupportImageCapture)try{let i=await this.sharingImageCapture.grabFrame();e=i.width,t=i.height,1e3==this.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),this.sMonitorCaptureFrameCount=0),this.sMonitorCaptureFrameCount++;var r=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(o=T.default.localSharingEncMGR.map.get(r)){var s={command:"encodeSharingFrame",data:i,isImage:!0};o.postMessage(s,[s.data])}}catch(e){v.default.error("An error occurred when trying to encode a sharing frame using the ImageCapture API",e),A.default.add_monitor3("SICF");var o;r=T.default.SPECIAL_ID;if(T.default.localSharingEncMGR)if(o=T.default.localSharingEncMGR.map.get(r)){s={command:"encodeSharingFrame"};o.postMessage(s)}}else this.isStartWhiteboardSharing?(i=this.whiteboardCanvas,e=i.width,t=i.height):(i=this.desktopSharingValue.video,e=i.videoWidth,t=i.videoHeight);let n=Ul.getScaledResolution(e,t);e=n.w,t=n.h,e==this.desktopSharingCaptureWidth&&t==this.desktopSharingCaptureHeight||(T.default.Notify_APPUI(a.CURRENT_DESKTOP_SHARING_WIDTH_HEIGHT,{width:e,height:t}),this.desktopSharingCaptureWidth=e,this.desktopSharingCaptureHeight=t);try{if(this.isdesktopCaptureLoadedmetadata&&i){this.isStartWhiteboardSharing||(this.desktopSharingValue.canvas.width=e,this.desktopSharingValue.canvas.height=t);var d=this.desktopCaptureContext;if(!this.is32bitbrowser||this.flipSend){this.isStartWhiteboardSharing||d.drawImage(i,0,0,e,t);var u=d.getImageData(0,0,e,t);1e3==this.sMonitorCaptureFrameCount&&(A.default.add_monitor2("SCFOK"),this.sMonitorCaptureFrameCount=0),this.sMonitorCaptureFrameCount++,Ze(T.default.SPECIAL_ID,u.data,u.data.length,0,e,t),this.flipSend=!1}else this.flipSend=!0,Ze(T.default.SPECIAL_ID,null,0,0,0,0)}}catch(e){v.default.error("An error occurred when trying to encode a sharing frame",e),A.default.add_monitor3("GIDF"),setTimeout((function(){Ze(T.default.SPECIAL_ID,null,0,0,0,0)}),1e3)}},VideoFrameOutputCallback:function(e){let t,i,r,s,o=this;if(null!=e.format&&null!=e.planes){r=o.videoCaptureWidth,s=o.videoCaptureHeight,t=e.cropWidth,i=e.cropHeight,t===r&&i===s||(Ll("video width/height changed old => begin",r,s,t,i),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:t,height:i}),_t({command:"updateVideoPara",width:t,height:i,fps:o.GetVideoCaptureFps()}),o.videoCaptureWidth=t,o.videoCaptureHeight=i),3e3==o.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),o.vMonitorCaptureFrameCount=0),o.vMonitorCaptureFrameCount++;var n=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var d=T.default.localVideoEncMGR.map.get(n);d&&e&&d.postMessage({command:"yuvVideoFrame",data:e}),g.default.browserType.version>=90&&("close"in e?e.close():e.destroy())}}else{let n;e.createImageBitmap().then(d=>{n=d,"close"in e?e.close():e.destroy(),r=o.videoCaptureWidth,s=o.videoCaptureHeight,t=n.width,i=n.height,t===r&&i===s||(Ll("video width/height changed old => begin",r,s,t,i),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:t,height:i}),_t({command:"updateVideoPara",width:t,height:i,fps:o.GetVideoCaptureFps()}),o.videoCaptureWidth=t,o.videoCaptureHeight=i);var u=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR){var l=T.default.localVideoEncMGR.map.get(u);l&&l.postMessage({command:"ImageBitmapFromVideoFrame",data:n},[n])}}).catch(e=>{v.default.error("Converting video frame to image bitmap failed",e)})}},Update_Mask_Texture:function(e,t,i){if(this.VideoMaskSettingCanvas){try{"object"==typeof t&&t.ideal&&(t=t.ideal),"object"==typeof i&&i.ideal&&(i=i.ideal),this.bgCanvas&&this.bgCanvasctx||(this.bgCanvas=document.createElement("canvas"),this.bgCanvasctx=this.bgCanvas.getContext("2d")),this.bgCanvas.width==t&&this.bgCanvas.height==i||(this.bgCanvas.width=t,this.bgCanvas.height=i)}catch(e){globaltracing_error("Update_Mask_Texture, width=$".concat(JSON.stringify(t),", height=").concat(JSON.stringify(i),". "),e),t=this.bgCanvas.width,i=this.bgCanvas.height}if(this.bgCanvasctx.clearRect(0,0,t,i),this.MaskImage&&this.BgImage&&"blur"!==this.BgImage){if(e.dWidth>0&&e.dHeight>0&&this.VideoMaskSettingCanvas.width>0&&this.VideoMaskSettingCanvas.height>0&&t>0&&i>0){let r=e.dx/(this.VideoMaskSettingCanvas.width/t),a=e.dy/(this.VideoMaskSettingCanvas.height/i),s=e.dWidth/(this.VideoMaskSettingCanvas.width/t),o=e.dHeight/(this.VideoMaskSettingCanvas.height/i);this.bgCanvasctx.drawImage(this.MaskImage,r,a,s,o)}let r,a,s,o;this.bgCanvasctx.globalCompositeOperation="source-out",this.Crop_Mask_Bg_16V9(),r=this.bgImageCroppingParams.sx,a=this.bgImageCroppingParams.sy,s=this.bgImageCroppingParams.sw,o=this.bgImageCroppingParams.sh,this.bgCanvasctx.drawImage(this.BgImage,r,a,s,o,0,0,t,i)}}},Crop_Mask_Bg_16V9:function(){let e,t,i,r=0,a=this.BgImage.naturalWidth,s=this.BgImage.naturalHeight;16/9*s>=a?(i=a,r=a/(16/9),e=0,t=(s-r)/2):(i=s*(16/9),r=s,e=(a-i)/2,t=0),this.bgImageCroppingParams.sx=e,this.bgImageCroppingParams.sy=t,this.bgImageCroppingParams.sw=i,this.bgImageCroppingParams.sh=r},Draw_Mask_Frame:function(){if(!this.VideoMaskSettingCanvas)return;this.VideoMaskSettingCanvasctx||(this.VideoMaskSettingCanvasctx=this.VideoMaskSettingCanvas.getContext("2d"));const e=this.VideoMaskCanvasFillMode?Pi(this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height,void 0,void 0,this.VideoMaskSettingCanvas.width/this.VideoMaskSettingCanvas.height):this.videoCaptureValue&&this.videoCaptureValue.disableOriginalRatio?Pi(this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height):null;this.isMirrorMyVideo?(this.isCanvasScaled||(this.VideoMaskSettingCanvasctx.scale(-1,1),this.isCanvasScaled=!0),this.VideoMaskSettingCanvasctx.clearRect(0-this.VideoMaskSettingCanvas.width,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx.drawImage(this.videoCaptureHiddenCanvas,...e?[e.left,e.top,e.width,e.height]:[],0-this.VideoMaskSettingCanvas.width,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height)):(this.isCanvasScaled&&(this.VideoMaskSettingCanvasctx.setTransform(1,0,0,1,0,0),this.isCanvasScaled=!1),this.VideoMaskSettingCanvasctx.clearRect(0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx.drawImage(this.videoCaptureHiddenCanvas,...e?[e.left,e.top,e.width,e.height]:[],0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height))},Draw_No_VB_Preview_Frame:function(){if(!this.videoNoVBPreviewCanvas)return;this.videoNoVBPreviewCanvasctx||(this.videoNoVBPreviewCanvasctx=this.videoNoVBPreviewCanvas.getContext("2d"));const e=this.videoCaptureHiddenCanvas,t=this.videoNoVBPreviewCanvas.width,i=this.videoNoVBPreviewCanvas.height,r=e.width,a=e.height;let s,o,n;r/a>t/i?(s=t/r,o=0,n=(i-a*s)/2):(s=i/a,o=(t-r*s)/2,n=0),this.isMirrorMyVideo?(this.isVideoNoVBPreviewCanvasScaled||(this.videoNoVBPreviewCanvasctx.scale(-1,1),this.isVideoNoVBPreviewCanvasScaled=!0),this.videoNoVBPreviewCanvasctx.clearRect(0-this.videoNoVBPreviewCanvas.width,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,r,a,-o-r*s,n,r*s,a*s)):(this.isVideoNoVBPreviewCanvasScaled&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.isVideoNoVBPreviewCanvasScaled=!1),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,r,a,o,n,r*s,a*s))},DrawNoVBPreviewFromVideo:function(e){if(!this.videoNoVBPreviewCanvas)return;this.videoNoVBPreviewCanvasctx||(this.videoNoVBPreviewCanvasctx=this.videoNoVBPreviewCanvas.getContext("2d"));const t=e.videoWidth?e.videoWidth:640,i=e.videoHeight?e.videoHeight:360,r=this.videoNoVBPreviewCanvas.width,a=this.videoNoVBPreviewCanvas.height;let s,o,n;t/i>r/a?(s=r/t,o=0,n=(a-i*s)/2):(s=a/i,o=(r-t*s)/2,n=0),this.isMirrorMyVideo?(this.isVideoNoVBPreviewCanvasScaled||(this.videoNoVBPreviewCanvasctx.scale(-1,1),this.isVideoNoVBPreviewCanvasScaled=!0),this.videoNoVBPreviewCanvasctx.clearRect(0-this.videoNoVBPreviewCanvas.width,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,t,i,-o-t*s,n,t*s,i*s)):(this.isVideoNoVBPreviewCanvasScaled&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.isVideoNoVBPreviewCanvasScaled=!1),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx.drawImage(e,0,0,t,i,o,n,t*s,i*s))},GetVideoCaptureFps:function(){return this.videoCaptureValue&&this.videoCaptureValue.fps?this.videoCaptureValue.fps:s.VIDEO_CAPTURE_FPS},Process_Video:async function(){if(this.isSupportMediaStreamTrackProcessor)return;if(this.isSupportVideoTrackReader){try{await Ul.videoTrackReader.start(this.VideoFrameOutputCallback.bind(this))}catch(e){}return}if(this.isSupportImageCapture){if(Ul.isImageCaptureLocked())return;Ul.lockImageCapture()}if(!(this.videoCaptureValue&&this.isStartVideoCapture||this.isMaskSettingOn||this.isVBSettingOn))return void Ul.unLockImageCapture();let e,t,i,r,o,n=this;if(i=this.videoCaptureWidth,r=this.videoCaptureHeight,this.isSupportImageCapture){try{let s=await Ul.videoImageCapture.grabFrame();e=s.width,t=s.height,e&&t&&(e!==i||t!==r)&&(Ll("video width/height changed old => begin",i,r,e,t),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),_t({command:"updateVideoPara",width:e,height:t,fps:this.GetVideoCaptureFps()}),3e3==this.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),this.vMonitorCaptureFrameCount=0),this.vMonitorCaptureFrameCount++,this.videoCaptureWidth=e,this.videoCaptureHeight=t),ai(s)}catch(e){v.default.error("An error occurred when trying to encode a video frame using the ImageCapture API",e),A.default.add_monitor3("VICF"),ai(null)}return void Ul.unLockImageCapture()}const d=Ul.isUsingFileInputVideoSource();if(this.isStartVideoCapture?o=this.videoCaptureValue.videoCtrl:(this.isMaskSettingOn||this.isVBSettingOn)&&(o=this.MaskSettingVideo),Object(g.VideoStreamCanCapture)(o.srcObject)&&(this.isVideoCaptureLoadedmetadata||this.isMaskSettingOn||this.isVBSettingOn)&&o&&o.readyState>=2){var u,l;if((o.paused||o.ended)&&o.play().catch(e=>{v.default.error("Video capture video tag play failed",e)}),this.isSelfViewWithVideo&&this.platformType==s.WCL_PLATFORM_TYPE.IPHONE){let e=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?e=0:0==Bl&&(e=2)),Ul.isUsingFileInputVideoSource()&&(e=0);let t=new VideoFrame(o,{timestamp:1e3*performance.now()});return void(Et({command:"yuvVideoFrame",data:t,rotation:e},[t])||t.close())}if(g.default.isSupportVideoFrame()&&!n.isCurrentInMaskStatus&&(null!==(u=g.default.browser)&&void 0!==u&&u.isSafari||null!==(l=g.default.browser)&&void 0!==l&&l.isFirefox)){let e=new VideoFrame(o,{timestamp:1e3*performance.now()}),t=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?t=0:0==Bl&&(t=2)),Ul.isUsingFileInputVideoSource()&&(t=0);let i={command:"yuvVideoFrame",data:e,rotation:t};return n.videoCaptureValue&&n.VideoRenderObj?(Nl.ProcessorManager.hasProcessor()||n.VideoRenderObj.Update_LocalVideo(e,t,!0),_t(i),e.close()):Et(i,[e])||e.close(),void(n.isVBSettingOn&&n.isCurrentInNoVBPreviewStatus&&n.DrawNoVBPreviewFromVideo(o))}let h,f,p,_;if(e=o.videoWidth?o.videoWidth:640,t=o.videoHeight?o.videoHeight:360,e&&t&&(e!==i||t!==r)&&(Ll("video width/height changed old => begin",i,r,e,t),T.default.Notify_APPUI(a.CURRENT_CAPTURE_VIDEO_WIDTH_HEIGHT,{width:e,height:t}),this.videoCaptureWidth=e,this.videoCaptureHeight=t,_t({command:"updateVideoPara",width:e,height:t,fps:n.GetVideoCaptureFps()})),(!(!n.isMaskSettingOn||n.videoCaptureValue&&n.videoCaptureValue.disableOriginalRatio)||n.MaskImage&&n.BgImage)&&n.isCurrentInMaskStatus&&n.isCurrentInNoVBPreviewStatus){let i=e/t*n.ReadyCapureHeight,r=t/e*n.ReadyCapureWidth;i>n.ReadyCapureWidth?(h=0,f=(n.ReadyCapureHeight-r)/2):(h=(n.ReadyCapureWidth-i)/2,f=0),p=n.ReadyCapureWidth-2*h,_=n.ReadyCapureHeight-2*f,n.videoCaptureHiddenCanvas.width=n.ReadyCapureWidth,n.videoCaptureHiddenCanvas.height=n.ReadyCapureHeight}else p=e,_=t,h=0,f=0,n.videoCaptureHiddenCanvas.width=e,n.videoCaptureHiddenCanvas.height=t;if(d?g.default.videoToMediaStreamManager.drawCanvas(n.videoCaptureHiddenCanvas,n.videoCaptureHiddenCanvasCtx,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height):n.videoCaptureHiddenCanvasCtx.drawImage(o,0,0,e,t,h,f,p,_),n.isCurrentInMaskStatus&&(n.bgCanvas?n.videoCaptureHiddenCanvasCtx.drawImage(n.bgCanvas,0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height):n.Update_Mask_Texture(this.maskCoordinate,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height),n.VideoMaskSettingCanvas&&n.Draw_Mask_Frame()),n.isCurrentInNoVBPreviewStatus&&n.videoNoVBPreviewCanvas&&n.Draw_No_VB_Preview_Frame(),n.isStartVideoCapture||n.isVBSettingOn){var c=n.videoCaptureHiddenCanvasCtx.getImageData(0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height);let e=c.data;n.lastRealRect.width==n.videoCaptureHiddenCanvas.width&&n.lastRealRect.height==n.videoCaptureHiddenCanvas.height||(n.lastRealRect.left=0,n.lastRealRect.top=0,n.lastRealRect.width=n.videoCaptureHiddenCanvas.width,n.lastRealRect.height=n.videoCaptureHiddenCanvas.height,_t({command:"updateVideoPara",width:n.lastRealRect.width,height:n.lastRealRect.height,fps:n.GetVideoCaptureFps()})),n.videoCaptureValue&&n.VideoRenderObj&&!n.isMultiView&&(c.data instanceof Uint8ClampedArray&&(e=new Uint8Array(c.data.buffer)),n.videoCaptureValue&&void 0!==n.videoCaptureValue.disableOriginalRatio&&n.VideoRenderObj.Set_Cropping_Mode(!!n.videoCaptureValue.disableOriginalRatio),n.VideoRenderObj.Draw_Send_Video_Img(e,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height,n.videoCaptureValue.ssid,s.VIDEO_RGBA,n.lastRealRect)),3e3==n.vMonitorCaptureFrameCount&&(A.default.add_monitor2("VCFOK"),n.vMonitorCaptureFrameCount=0),n.vMonitorCaptureFrameCount++,Je(T.default.SPECIAL_ID,e,n.videoCaptureHiddenCanvas.width,n.lastRealRect.left,n.lastRealRect.top)}n.videoCaptureHiddenCanvasCtx.clearRect(0,0,n.videoCaptureHiddenCanvas.width,n.videoCaptureHiddenCanvas.height)}},Remove_Sharing_Audio_Capture:function(){var e;if(this.useAudioBridge)null===(e=this.audioBridge)||void 0===e||e.publishStream(null,!0);else if(Tt({command:"changeAudioShare",isStart:!1}),T.default.ComputerAudioStatus==R.a.ComputerAudio_Null&&Le.clear(),this.sharingWebrtcAudioNode&&T.default.SharingAudioNode){try{this.sharingWebrtcAudioNode.disconnect(T.default.SharingAudioNode)}catch(e){this.JsMediaSDK_Log(e)}this.sharingWebrtcAudioNode=null}},Remove_Audio_Capture:function(e){if(nt(T.default.SPECIAL_ID,a.AUDIO_REMOVE,e),T.default.DesktopAudioStatus==R.a.DesktopAudio_Null&&Le.clear(),this.firstSetDelay=!0,this.webrtcAudioNode&&T.default.AudioNode){try{this.webrtcAudioNode.disconnect(T.default.AudioNode)}catch(e){this.JsMediaSDK_Log(e)}this.webrtcAudioNode=null}},Start_Video_Play:function(){this.videoRenderIntervalHandle||(this.videoRenderIntervalHandle=this.JsMediaSDK_VideoRenderInterval(this.videorenderinterval))},Stop_Video_Play:function(){if(this.UpdateVideoPlayStatus(!1),this.VideoRenderObj&&(this.VideoRenderObj.ClearQueue(),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName})),this.videoRenderIntervalHandle){this.VideoRenderObj.Stop_Draw.bind(this.VideoRenderObj)(),this.videoRenderIntervalHandle=null}},Remove_Video_Play:function(){this.UpdateVideoPlayStatus(!1),this.videoRenderIntervalHandle&&(clearInterval(this.videoRenderIntervalHandle),this.videoRenderIntervalHandle=null),gt({command:"removeVideoPlay"})},UpdateVideoPlayStatus(e){pe(e)},EndMedia:function(){try{T.default.rwgAgent&&T.default.rwgAgent.off("message",this.rwgAgentMessageListenerWrapper)}catch(e){v.default.error("rwgAgent.off error",e)}try{var e,t;null===(e=this.videoDataChannel)||void 0===e||e.forceClose(),null===(t=this.audioDataChannel)||void 0===t||t.forceClose()}catch(e){v.default.error("clear rtcPeerConnectionList err",e)}try{Ul.enableReuseStream(!1),Ul.destoryAudioMediaStream(),this.Remove_Audio_Play(),this.Remove_Audio_Capture(),this.Remove_Sharing_Audio_Capture(),this.checkWorkletInterval&&(clearInterval(this.checkWorkletInterval),this.checkWorkletInterval=null),this.Remove_Video_Play(),this.audioCtx&&(this.audioCtx.onstatechange=null,this.audioCtx.close(),this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx=null),this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.sharingAudioCtx=null),this.audioDomNode&&(this.audioDomNode=null)}catch(e){v.default.error("endMedia",e)}try{Ul.enableReuseStream(!1),Ul.destoryVideoMediaStream(),this.EndSharingMediaStream(),this.CloseBoringPeerConnection(),g.default.audioToMediaStreamMananger.destroy(!1)}catch(e){v.default.error("endMedia",e)}try{Kt()}catch(e){v.default.error("endMedia",e)}try{this.remoteControl&&this.remoteControl.destroy()}catch(e){v.default.error("endMedia",e)}},EndDesktopAudioMediaStream:function(){if(this.desktopSharingMediaStram){let e=this.desktopSharingMediaStram.getAudioTracks();e.length&&e.forEach((function(e){e.stop()})),this.desktopSharingValue.audioOnly&&!this.desktopSharingMediaStram.getVideoTracks().length&&(this.desktopSharingMediaStram=null)}this.isStartDesktopSharing||(this.desktopSharingValue=null)},EndSharingMediaStream:function(){this.desktopSharingMediaStram&&(this.desktopSharingMediaStram.getTracks().forEach((function(e){e.stop()})),this.desktopSharingMediaStram=null,window.WebQrscanner&&WebQrscanner.qrScanner.stop())},StopSharingCapture:function(){this.EndSharingMediaStream(),this.desktopSharingSend=!1,this.isStartDesktopSharing&&_t({command:"stopsharingencode"}),this.isStartDesktopSharing=!1,this.desktopSharingMediaStram=null,window.WebQrscanner&&WebQrscanner.qrScanner.stop(),this.desktopSharingValue=null},CloseBoringPeerConnection:function(){try{this.rtcConnectionB&&(this.rtcConnectionB.close(),this.rtcConnectionB=null),this.rtcConnectionA&&(this.rtcConnectionA.close(),this.rtcConnectionA=null)}catch(e){Ll(e)}},UnMuteAudio:function(){nt(T.default.SPECIAL_ID,a.AUDIO_START),this.enableHID&&this.hidAvalible&&Dr.sendReport("mute",!1)},MuteAudio:function(){this.Stop_Audio_Capture(),this.enableHID&&this.hidAvalible&&Dr.sendReport("mute",!0)},async selectComputerAudioSpeaker(e,t){var i;let r=g.default.isSupportChromeWideAEC(),s="default"==e?"":e,o=null;var n;if(r&&!this.audioDomNode?this.audioCtx&&(o=this.audioCtx):this.audioDomNode&&(o=this.audioDomNode),!await _r.hasOutputDevice(s))return _r.updateSelectedSpeakerDevices(s,0,!1),v.default.error("Selected output device ID is not available: ".concat(s)),void this.notifyUISetSpeakerError({currentSink:(null===(n=o)||void 0===n?void 0:n.sinkId)||"default",reason:"sinkId not exists"});if(null!==(i=this.fileAudioPlaybackTag)&&void 0!==i&&i.setSinkId&&this.fileAudioPlaybackTag.setSinkId(s).catch(e=>{v.default.error("set audio tag setSinkId error",e)}),this.useAudioBridge){var d;null===(d=this.audioBridge)||void 0===d||d.changeSpeaker(e)}else{var u;if(!o)return A.default.add_monitor("NoAudioPlayer"),void this.notifyUISetSpeakerError({currentSink:(null===(u=o)||void 0===u?void 0:u.sinkId)||"default",reason:"audioPlayer not exists"});o.setSinkId?o.setSinkId(s).then(()=>{var e,i;_r.updateSelectedSpeakerDevices((null===(e=o)||void 0===e?void 0:e.sinkId)||"default",Date.now()-t,!0),"suspended"===o.state&&(A.default.add_monitor("AUDIOCONTEXT:RESUME"),o.resume().catch(e=>{v.default.error("resume audio context failed when setSinkId",e)})),T.default.Notify_APPUI(a.AUDIO_SPEAKER_SET_SUCCESS,(null===(i=o)||void 0===i?void 0:i.sinkId)||"default"),this.audioSpeakerSetErrorCnt=0}).catch(e=>{var i;v.default.error("An error occurred when trying to set the audio output device",e),A.default.add_monitor("AODF"),_r.updateSelectedSpeakerDevices(s,Date.now()-t,!1),this.notifyUISetSpeakerError({currentSink:(null===(i=o)||void 0===i?void 0:i.sinkId)||"default",reason:"setSinkId failed, error = ".concat(e.message)})}):v.default.error("setSinkId is not supported")}},handleDesktopCapture:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.desktopSharingMediaStram=e,this.sharingCodecInfo={width:0,height:0};var i=this;let r=this.desktopSharingMediaStram.getAudioTracks()[0];r?(Ul.addAudioTrackSettingsMonitor(r,"DesktopAudioCapture"),t||"Tab audio"===r.label||r.label.includes("HDMI")||(T.default.shareSystemAudio=!0),_r.updateShareAudioDevices(r.id,r.label),T.default.Notify_APPUI(a.SHARING_DESKTOP_STREAM_HAVE_AUDIO,t),r.onended=function(){A.default.add_monitor("ATRS:"+r.readyState+":"+r.id+":-S")},r.onmute=function(){A.default.add_monitor("ATMS:"+r.muted+":"+r.id+":-S")},r.onunmute=function(){A.default.add_monitor("ATMS:"+r.muted+":"+r.id+":-S")}):T.default.Notify_APPUI(a.SHARING_DESKTOP_STREAM_HAVE_NO_AUDIO,null),this.shareTrack=this.desktopSharingMediaStram.getVideoTracks()[0],this.shareTrack?(A.default.add_monitor("OSTS"),this.shareTrack.onended=function(){A.default.add_monitor("SSBB"),T.default.Notify_APPUI(a.USER_STOP_DESKTOP_SHARING,null),i.StopSharingCapture()},this.Start_Desktop_Sharing(),T.default.Notify_APPUI(a.DESKTOP_SHARING_CAPTURE_SUCCESS,null)):v.default.log("shareTrack is null when share screen")},handleCaptureError:function(e){this.handleGetDisplayMediaError("An error occurred when trying to capture sharing",e),this.StopSharingCapture(),A.default.add_monitor("SCCF"),"Permission denied by system"===e.message?T.default.Notify_APPUI(a.DESKTOP_SHARING_SYSTEM_ERROR,null):T.default.Notify_APPUI(a.DESKTOP_SHARING_ERROR,null)},handleAudioCapture:function(){let{deviceId:e,elapsed_time:t,deviceLabel:i}=Ul.getAudioCapabilities();var r;return e&&t&&i&&_r.updateSelectedMicDevices(e,i,t,!0),this.updateFileAudioPlaybackStream(Ul.audioStream),this.useAudioBridge&&!this.audioInputLevel?(null===(r=this.audioBridge)||void 0===r||r.publishStream(Ul.audioStream).then(e=>{T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,Ul.getAudioDeviceId()))}),v.default.log("user grante audio capture"),void T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,e)):this.audioCtx||this.audioInputLevel?(v.default.log("user grante audio capture"),T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,e),void this.Start_Audio_Capture()):(v.default.log("no audio context when join computer audio"),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null),void Ul.destoryAudioMediaStream())},handleWasmVideoCapture:function(e,t){let i=this;return new Promise(async(r,a)=>{if(!e)return a(new Error("no stream"));if(i.videoCaptureWidth?i.videoCaptureWidth=i.videoCaptureWidth:i.videoCaptureWidth=640,i.videoCaptureHeight?i.videoCaptureHeight=i.videoCaptureHeight:i.videoCaptureHeight=360,t.encode&&i.isStartVideoCapture){try{r(await i.Start_Video_Capture())}catch(e){v.default.error("media stream is ok, but start video capture fail",e),a(new Error("media stream is ok, but start video capture fail"))}i.isMaskSettingOn&&i.MaskSettingVideo&&Ul.playVideoStream(i.MaskSettingVideo)}else if(t.preview&&(i.isMaskSettingOn||i.isVBSettingOn))try{r(await i.startMaskOrVBSettingVideoCapture(e))}catch(e){Ll("startMaskOrVBSettingVideoCapture",e),a(new Error("media stream is ok, but start setting video capture fail"))}else i.isStartVideoCapture||Ul.destoryVideoMediaStream()})},handleWebrtcVideoCapture:function(e){let t=this;return new Promise(async(i,r)=>{if(!e)return r(new Error("no stream"));if(t.isStartVideoCapture)try{i(await t.video_capture_for_webrtc())}catch(e){r(new Error("media stream is ok, but start video capture fail"))}else if(t.isMaskSettingOn||t.isVBSettingOn)try{i(await t.startMaskOrVBSettingVideoCapture(e))}catch(e){Ll("startMaskOrVBSettingVideoCapture",e),r(new Error("media stream is ok, but start setting video capture fail"))}else Ul.destoryVideoMediaStream()})},startMaskOrVBSettingVideoCapture:function(e){return new Promise((e,t)=>{try{if(this.isVBSettingOn)if(this.MaskSettingVideo){const e=Ul.playVideoStream(this.MaskSettingVideo);e&&e.then((function(){T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS,null)})).catch((function(e){t(new Error("media stream is ok, but video.play() fail")),v.default.error("An error occurred when trying to play video in Background Setting tab",e),A.default.add_monitor("VBVPF")}))}else T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_VB_SETTING_SUCCESS,null);else if(this.isMaskSettingOn)if(this.MaskSettingVideo){const e=Ul.playVideoStream(this.MaskSettingVideo);e&&e.then((function(){T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null)})).catch((function(e){t(new Error("media stream is ok, but video.play() fail")),v.default.error("An error occurred when trying to play video in Background Setting tab",e),A.default.add_monitor("MVPF")}))}else T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null);this.webrtcConfig.webrtcflag||(this.addChannelForVideo(),_t({command:"startvideointerval",width:this.videoCaptureValue.width,height:this.videoCaptureValue.height,ssid:this.videoCaptureValue.ssid,mtu_size:this.mtu_size,fps:this.videoCaptureValue.fps,isSupportImageCapture:this.isSupportImageCapture,isSupportVideoTrackReader:this.isSupportVideoTrackReader,isSupportMediaStreamTrackProcessor:this.isSupportMediaStreamTrackProcessor,isSupport2DCanvasDrawFrame:this.isSupport2DCanvasDrawFrame,isVBSettingOn:this.isVBSettingOn,isMaskSettingOn:this.isMaskSettingOn})),e(!0)}catch(e){v.default.error("Starting mask or virtual background failed",e),t(e)}})},handleGetDisplayMediaError:function(e,t){const{name:i}=t,r={AbortError:"error",InvalidStateError:"error",NotAllowedError:"warn",NotFoundError:"warn",NotReadableError:"warn",OverconstrainedError:"warn",TypeError:"error"}[i]||"error";v.default[r](e,t)},handleGetUserMediaError:function(e,t){const{name:i}=t,r={NotAllowedError:"warn",NotFoundError:"warn",NotReadableError:"warn",OverconstrainedError:"warn",SecurityError:"warn",SourceUnavailableError:"warn",PermissionDeniedError:"warn",AbortError:"error",TypeError:"error"}[i]||"error";v.default[r](e,t)},analyserCaptureReason:function(e){let t=Hl(e);T.default.Notify_APPUI(a.AUDIO_CAPTURE_FAILED,t),"NotAllowedError"===(null==e?void 0:e.name)&&"hidden"===document.visibilityState&&(document.removeEventListener("visibilitychange",xl),document.addEventListener("visibilitychange",xl)),A.default.add_monitor("HADF: "+(null==e?void 0:e.name)+"-"+(null==t?void 0:t.errorCode))},handleAudioError:function(e){this.handleGetUserMediaError("Error occurred when trying to capture audio",e),this.analyserCaptureReason(e),T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting&&(T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null))},handleVideoError:function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!Ce(this,"videocaptureerror"))return void v.default.error("VideoCaptureException VideoError, JsMediaSDK instance destroyed");if(t)return A.default.add_monitor("GUMF"),void this.handleGetUserMediaError("Error occurred when trying to capture video with normal constraints",e);this.isMaskSettingStarted=!1,this.isCurrentInMaskStatus=!1,this.isCurrentInNoVBPreviewStatus=!1,Ll("handleVideoError",e);let i=(null==e?void 0:e.name)||"other error",r="Error ".concat((null==e?void 0:e.message)||"");A.default.add_monitor("STARTVIDEOERR:".concat(i,"-").concat(r));let s=["NotReadableError","SourceUnavailableError"];e instanceof J.CameraOccupiedError||e.name&&-1!==s.indexOf(e.name)?(A.default.add_monitor("COCPEF"),T.default.Notify_APPUI(a.USER_CAMERA_IS_TAKEN_BY_OTHER_PROGRAMS,e)):(A.default.add_monitor("HVDF"),T.default.Notify_APPUI(a.USER_FORBIDDED_CAPTURE_VIDEO,e)),this.handleGetUserMediaError("Error occurred when trying to capture video",e),this.Stop_Video_Capture()},chromeAecWorkAround:async function(e){if(A.default.add_monitor("ASCAEC"),this.rtcConnectionA||this.rtcConnectionB)return!1;let t=null,i=null,r=new MediaStream;let a,s;t=new RTCPeerConnection,i=new RTCPeerConnection,t.onicecandidate=e=>e.candidate&&i.addIceCandidate(new RTCIceCandidate(e.candidate)),i.onicecandidate=e=>e.candidate&&t.addIceCandidate(new RTCIceCandidate(e.candidate)),i.ontrack=e=>{e.streams[0].getTracks().forEach(e=>{r.addTrack(e)})},t.addStream(e),a=await t.createOffer({offerVideo:!0,offerAudio:!0,offerToReceiveAudio:!1,offerToReceiveVideo:!1});let o=!1,n=null,d=null,u=g.default.getBrowserVersion();try{d=a.sdp,u>=104?(n=a.sdp.replace("SAVPF 111","SAVPF 100 111"),n=n.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:100 L16/48000\na=rtpmap:111 opus/48000/2")):(n=a.sdp.replace("SAVPF 111","SAVPF 10 111"),n=n.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:10 L16/48000\na=rtpmap:111 opus/48000/2")),a.sdp=n,await t.setLocalDescription(a),await i.setRemoteDescription(a)}catch(e){o=!0,a.sdp=d,await t.setLocalDescription(a),await i.setRemoteDescription(a)}return s=await i.createAnswer(),o||(u>=104?(s.sdp=s.sdp.replace("SAVPF 111","SAVPF 100 111"),s.sdp=s.sdp.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:100 L16/48000\na=rtpmap:111 opus/48000/2")):(s.sdp=s.sdp.replace("SAVPF 111","SAVPF 10 111"),s.sdp=s.sdp.replace("a=rtpmap:111 opus/48000/2","a=rtpmap:10 L16/48000\na=rtpmap:111 opus/48000/2"))),await i.setLocalDescription(s),await t.setRemoteDescription(s),this.rtcConnectionA=t,this.rtcConnectionB=i,r},switchCanvasForVideoCapture:function(e){var t=[].concat(e),i=t[0];if(this.captureVideoOutputCanvasDomList=t,this.videoCaptureValue.canvasCtrl=i,!this.isSupportVideoFrameOrBitmapCapture){var r=this.videoCaptureValue.videoCtrl.videoWidth,a=this.videoCaptureValue.videoCtrl.videoHeight;t.forEach((function(e){e.width=r,e.height=a})),this.videoCaptureValue.canvasCtrl.width=r,this.videoCaptureValue.canvasCtrl.height=a,this.videoCaptureContext=i.getContext("2d")}},switchVideoTagForVideoCapture:function(e){var t;if(!this.videoCaptureValue)return;if(e===this.videoCaptureValue.videoCtrl)return;null!==(t=this.videoloadmetadataListener)&&void 0!==t&&t.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null);const i=this.videoCaptureValue.videoCtrl;i&&!this.selfPreviewVideotagList.includes(i)&&Ul.removeVideoStream(i),this.videoCaptureValue.videoCtrl=e,this.captureVideoOutPutVideoDom=e,this.isVideoCaptureLoadedmetadata||(v.default.warn("isVideoCaptureLoadedmetadata is false ,need to reloaded"),this._addVideoLoadedmetadataListener(e)),Ul.playVideoStream(e)},videoDecodeFrameBackSABRingBufferConsumeCallback(e){let t=new N;t.setBuffer(e);let i=t.buffer2Obj();$e(i.video_ssrc,i.data,i.video_timestamp,i.video_width,i.video_height,i.rendering_x,i.rendering_y,i.rendering_w,i.rendering_h,i.rotation,i.yuv_limited),this.VideoRenderObj.JsMediaSDK_VideoRender.bind(this.VideoRenderObj)()},CheckCurrentActiveSSRC(e){this.currentactive!=e&&(this.currentactive=e,T.default.CurrentSSRC=this.currentactive,T.default.decoderinworklet?T.default.AudioNode&&T.default.AudioNode.postCMD("currentSSRC",T.default.CurrentSSRC):Rt(T.default.CurrentSSRC))},createVideoElement(){this.MaskSettingVideo||(this.videoCaptureValue&&this.videoCaptureValue.videoCtrl?this.MaskSettingVideo=this.videoCaptureValue.videoCtrl:(this.MaskSettingVideo=function(){let e=document.createElement("video");return e.setAttribute("muted",""),e.setAttribute("playsinline",""),e}(),g.default.browser.isSafari&&(this.MaskSettingVideo.setAttribute("style","position:fixed;top:-10000px;left:-10000px;"),document.body.appendChild(this.MaskSettingVideo))))},changeVideoRenderActiveSsrc(e){if(!this.webrtcConfig.webrtcflag)if(this.RenderInMain==s.RENDER_IN_WORKER){var t=T.default.SPECIAL_ID;if(T.default.localVideoDecMGR){var i=T.default.localVideoDecMGR.map.get(t);if(i){var r={command:"CHANGE_CURRENT_ACTIVE_SSRC",ssrc:e};i.postMessage(r)}}}else this.RenderInMain==s.RENDER_IN_MAIN&&this.VideoRenderObj.Change_Current_SSRC(e)},addChannelForVideo(){var e,t;if(this.vcFlag)return;this.waitingVcChannelReady=!0;let i=T.default.SPECIAL_ID;if(null!==(e=T.default.localVideoDecMGR)&&void 0!==e&&e.map.get(i)&&null!==(t=T.default.localVideoEncMGR)&&void 0!==t&&t.map.get(i)){this.waitingVcChannelReady=!1,this.vcFlag=!0;var r=new MessageChannel;lt(r,r)}},checkIsRenderInWorker(){return this.isMultiView||this.isSupportVideoFrameOrBitmapCapture||T.default.enableVirtualBackgroundWithoutSAB||Object(g.IsSupportWebGLOffscreenCanvas)()&&"undefined"!=typeof SharedArrayBuffer&&g.default.isSafariVersionHigherThan("17.5")},setMultiView(e,t){const i=e>1,r=Object(g.IsSupportWebGLOffscreenCanvas)(),a=!!g.default.isWebGL2Supported(this.isWebGL2FeatureEnabled),s="function"==typeof OffscreenCanvas;this.isMultiView=i&&(r||a),v.default.directReport("JsMediaSDK-SetMultiView() isMultiView:".concat(this.isMultiView||t,",\n docodeThreadNumber:").concat(e,",\n isWebGLSupported:").concat(r,",\n isWebGL2Supported:").concat(a,",\n isOffscreenCanvasSupported:").concat(s,",\n enableMultiDecodeVideoWithoutSAB:").concat(t))},start_capture_video_wasm:function(e){if(Lt(T.default.e2eencrypt),this.addChannelForVideo(),this.videoCaptureHiddenCanvas||this.isSupportVideoFrameOrBitmapCapture||(this.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),this.videoCaptureHiddenCanvasCtx=this.videoCaptureHiddenCanvas.getContext("2d")),!Zt())return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");if(A.default.add_monitor("STARTVIDEO:".concat(this.isStartVideoCapture)),this.isStartVideoCapture)v.default.warn("video capture is already started, do not call again.");else{if(this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO=Object.assign({},e),this.isStartVideoCapture=!0,this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor){let t;t=e.canvas instanceof Array?e.canvas[0]:e.canvas,g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()?e.video?e.videoCtrl=Object(g.parseDOMParams)(e.video).dom:this.selfPreviewVideotagList.length&&(e.videoCtrl=this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]):(this.MaskSettingVideo||this.createVideoElement(),e.videoCtrl=this.MaskSettingVideo)}else e.canvasCtrlList=[],e.canvasCtrl=this.videoCaptureHiddenCanvas,g.default.isSelfPreviewRenderWithVideo()&&(e.video||this.selfPreviewVideotagList.length)?(e.video?e.videoCtrl=Object(g.parseDOMParams)(e.video).dom:this.selfPreviewVideotagList.length&&(e.videoCtrl=this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]),this.isSelfViewWithVideo=!0):(g.default.browser.isSafari,this.MaskSettingVideo||this.createVideoElement(),e.videoCtrl=this.MaskSettingVideo);this.ReadyCapureWidth=e.width?e.width:640,this.ReadyCapureHeight=e.width?e.height:360,this.captureVideoOutPutVideoDom=e.videoCtrl,this.videoCaptureValue=e,this.videoCaptureValue.ssid&&(T.default.localSsrc=this.videoCaptureValue.ssid),!T.default.rwgAgent&&(!e.fps||24==e.fps)&&navigator.hardwareConcurrency&&navigator.hardwareConcurrency>8&&this.isSupportVideoShare&&(this.videoCaptureValue.fps=30),this.Start_Video_Capture()}},start_capture_video_webrtc:function(e){const{video:t=null,...i}=e;A.default.add_monitor("WMSC_Start_CAPTURE: ".concat(Object(g.replaceComma)(JSON.stringify(i)),"|").concat(!!t)),this.isStartVideoCapture?v.default.warn("video capture is already started, do not call again."):(this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO=Object.assign({},e),this.isStartVideoCapture=!0,e.videoCtrl=e.video?Object(g.parseDOMParams)(e.video).dom:null,this.captureVideoOutPutVideoDom=e.videoCtrl,this.videoCaptureValue=e,this.videoCaptureValue.ssid&&(T.default.localSsrc=this.videoCaptureValue.ssid),this.Start_Video_Capture())},add_render_video_wasm:async function(e){var t=0;if(Object.assign(e,this.videoWaterMarkParams),void 0===e.isMyself&&(e.isMyself=this.userId&&this.userId>>10==e.userId>>10),g.default.isSelfPreviewRenderWithVideo()&&this.videoCaptureValue&&Object(g.Get_Logical_SSrc)(parseInt(e.userId))==Object(g.Get_Logical_SSrc)(this.videoCaptureValue.ssid)&&e.videodom)return Ul.playVideoStream(e.videodom),this.selfPreviewVideotagList.includes(e.videodom)||this.selfPreviewVideotagList.push(e.videodom),void(this.isSupportVideoTrackReader||this.isSupportMediaStreamTrackProcessor?g.default.isSelfPreviewRenderWithVideo()&&g.default.isSupportVideoFrameOrBitmapCapture()&&(this.videoCaptureValue.videoCtrl=e.videodom):g.default.isSelfPreviewRenderWithVideo()&&(this.videoCaptureValue.videoCtrl=e.videodom,this.isSelfViewWithVideo=!0));if(e.ssrc=e.userId,e.canvas=Object(g.parseDOMParams)(e.canvas).dom,e.canvas){if(e.x=Math.floor(e.x),e.y=Math.floor(e.y),e.width=Math.floor(e.width),e.height=Math.floor(e.height),this.isCreateVideoWaterMark=e.enableWaterMark,this.videoWaterMarkName=this.isCreateVideoWaterMark?e.waterMarkText:"",this.isMultiView||e.isMyself||this.CheckCurrentActiveSSRC(e.ssrc),this.checkIsRenderInWorker()){var i;const t=g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(e.ssrc)===Object(g.Get_Logical_SSrc)(T.default.localSsrc)),r=t?T.default.localVideoEncMGR:T.default.localVideoDecMGR,a=T.default.SPECIAL_ID,o=null===(i=e.canvas)||void 0===i?void 0:i.id;this.replaceCanvasMap.videoDecodeCanvasIds||(this.replaceCanvasMap.videoDecodeCanvasIds=[]),this.replaceCanvasMap.videoEncodeCanvasIds||(this.replaceCanvasMap.videoEncodeCanvasIds=[]),t?-1===this.replaceCanvasMap.videoEncodeCanvasIds.indexOf(o)&&this.replaceCanvasMap.videoEncodeCanvasIds.push(o):-1===this.replaceCanvasMap.videoDecodeCanvasIds.indexOf(o)&&this.replaceCanvasMap.videoDecodeCanvasIds.push(o);try{if(r){const t=r.map.get(a);if(t){const i=e.canvas.transferControlToOffscreen(),r={command:"renderOfflineCanvas",ssrc:e.ssrc,rendercanvasID:o,canvas:i,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,waterMarkText:e.waterMarkText,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition,x:e.x,y:e.y,width:e.width,height:e.height,zone:e.zone,fillMode:e.fillMode,fillModeForResolution:e.fillModeForResolution};t.postMessage(r,[i])}}}catch(t){if(r){const t=r.map.get(a);if(t){const i={command:"renderOfflineCanvas",rendercanvasID:o,ssrc:e.ssrc,videoWaterMarkName:this.videoWaterMarkName,isCreateVideoWaterMark:this.isCreateVideoWaterMark,waterMarkText:e.waterMarkText,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition,x:e.x,y:e.y,width:e.width,height:e.height,zone:e.zone,fillMode:e.fillMode,fillModeForResolution:e.fillModeForResolution};t.postMessage(i)}}}this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_WORKER),this.currentactive&&this.changeVideoRenderActiveSsrc(this.currentactive)}else{var a;e.isMyself||gt({command:"RenderInMain"});const i=null===(a=e.canvas)||void 0===a?void 0:a.id;if(this.videoRenderArray.length)for(t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc==e.ssrc&&this.videoRenderArray[t].zone==e.zone)return;var o,n;if(e.rendercanvasID=i,this.videoRenderArray.push(e),!this.VideoRenderObj)if(this.VideoRenderObj=new Bi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),isSupportOffscreenCanvas:!1,jsMediaEngine:r,...T.default.enableMultiDecodeVideoWithoutSAB?{videodecodethreadnumb:s.MAX_RENDER_WITHOUT_SAB}:{},globalTracingLogger:v.default,monitorLoggerFn:A.default.add_monitor,renderManager:this.renderManager})),null!=this&&null!==(o=this.videoCaptureValue)&&void 0!==o&&o.ssid)null===(n=this.VideoRenderObj)||void 0===n||n.Set_LocalVideo_SSRC(this.videoCaptureValue.ssid);this.activeSpeakerSsrc&&this.VideoRenderObj.setActiveSpeakerSsrc(this.activeSpeakerSsrc),e.canvasList&&e.canvasList.forEach(t=>{this.videoRenderArray.push(Object.assign({},e,{canvas:t}))}),Ll("Start_Video_Play"),this.Start_Video_Play(),this.VideoRenderObj.Set_Render_Array(this.videoRenderArray,T.default.enableMultiDecodeVideoWithoutSAB),this.isCreateVideoWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:e.watermarkOpacity,watermarkRepeated:e.watermarkRepeated,watermarkPosition:e.watermarkPosition}),this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_MAIN),this.currentactive&&this.changeVideoRenderActiveSsrc(this.currentactive)}await pe(!0)}else v.default.warn("ADDRENDER:".concat(e.userId,", canvas:").concat(e.canvas))},add_render_video_webrtc:async function(e){this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_WMSC_VIDEO_TAG_MAPPING",data:{...e,action:"add"}})},stop_render_video_wasm:async function(e){if(g.default.isSelfPreviewRenderWithVideo()&&e.videodom){const t=this.selfPreviewVideotagList.indexOf(e.videodom);t>=0&&(this.selfPreviewVideotagList.splice(t,1),this.videoCaptureValue&&this.videoCaptureValue.videoCtrl===e.videodom&&this.selfPreviewVideotagList.length?this.switchVideoTagForVideoCapture(this.selfPreviewVideotagList[this.selfPreviewVideotagList.length-1]):this.isStartVideoCapture||Ul.removeVideoStream(e.videodom))}var t;"string"!=typeof e.canvas&&(e.canvas=null===(t=e.canvas)||void 0===t?void 0:t.id);if(this.videoWaterMarkName="",this.isCreateVideoWaterMark=!1,e.ssrc=e.userId,this.checkIsRenderInWorker()){(g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(e.ssrc)===Object(g.Get_Logical_SSrc)(T.default.localSsrc))?_t:gt)({command:"stopVideoRender",ssrc:e.ssrc,canvas:e.canvas,RGBA:e.RGBA,doNotClean:e.doNotClean,x:e.x,y:e.y,zone:e.zone})}if(this.videoRenderArray.length)for(let t=0;t<this.videoRenderArray.length;t++)if(this.videoRenderArray[t].ssrc==e.ssrc&&this.videoRenderArray[t].zone==e.zone){let i=this.videoRenderArray.splice(t,1);this.StopUserVideoRender(this.VideoRenderObj,i,e.RGBA,!e.doNotClean)}},stop_render_video_webrtc:function(e){this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_WMSC_VIDEO_TAG_MAPPING",data:{...e,action:"remove"}})},Notify_MeidaSDK:async function(e,t){Ll(e,t);var i=0;switch(A.default.add_monitor2("B"+e),e){case a.START_VIDEO_VB_SETTING:{t.id&&this.vbSettingDomMap[t.id]&&Object.assign(t,this.vbSettingDomMap[t.id]);let e=this;var o,n;if(e.isVBSettingOn=!0,e.isCurrentInMaskStatus=!1,o=t.width?t.width:640,n=t.height?t.height:360,e.videoCaptureWidth?e.videoCaptureWidth=e.videoCaptureWidth:e.videoCaptureWidth=o,e.videoCaptureHeight?e.videoCaptureHeight=e.videoCaptureHeight:e.videoCaptureHeight=n,this.webrtcConfig.webrtcflag?t.videodom&&this.wmscManager&&(this.wmscManager.vbSettingVideoDom=t.videodom):_t({command:"StartVBSetting"}),A.default.add_monitor(t.bgdom?"VBON":"VBOFF"),t.bgdom)if(this.VBMFlag||(this.VBMFlag=!0,A.default.send_monitor_directly(s.VB_CONSTANT)),"blur"==t.bgdom)this.webrtcConfig.webrtcflag?Ul.changeVBImage("blur"):_t({command:"vbbgimagebitmap",data:t.bgdom});else{let i=Object(g.parseDOMParams)(t.bgdom).dom;if(!i||!i.naturalWidth||!i.naturalHeight)return A.default.add_monitor("VBGF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2);e.BgImage=i,createImageBitmap(i).then(e=>{this.webrtcConfig.webrtcflag?Ul.changeVBImage(e):oi(e,"BgImage")}).catch(e=>{A.default.add_monitor("VBCF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2)})}else this.webrtcConfig.webrtcflag?Ul.isVBEnabled&&Ul.disableVB():oi(null,"BgImage");if(t.canvas){const{id:i,dom:r}=Object(g.parseDOMParams)(t.canvas);if(this.webrtcConfig.webrtcflag)this.wmscManager&&(this.wmscManager.vbSettingVideoDom=r);else if(!g.default.isSupportOffscreenCanvas()||g.default.browser.isSafari&&!g.default.isSafariVersionHigherThan("17.4"))e.isCurrentInNoVBPreviewStatus=!0,e.videoNoVBPreviewCanvas=r;else{if(e.VideoVBSettingCanvas=r,!e.VideoVBSettingCanvas||e.VideoVBSettingCanvas.width<=0||e.VideoVBSettingCanvas.height<=0)return A.default.add_monitor("VBCAF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,3);try{$t(e.VideoVBSettingCanvas.transferControlToOffscreen(),"VBOfflineCanvas",i)}catch(e){$t(null,"VBOfflineCanvas",i)}}}if(e.isSupportVideoFrameOrBitmapCapture||(e.createVideoElement(),e.videoCaptureHiddenCanvas||(e.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),e.videoCaptureHiddenCanvasCtx=e.videoCaptureHiddenCanvas.getContext("2d"))),Ul.shouldCaptureVideo()){if(!Zt()&&!this.webrtcConfig.webrtcflag)return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");e.videoCaptureValue?e.videoCaptureValue=Object.assign(e.videoCaptureValue,t):e.videoCaptureValue=t,e.videoCaptureValue.ssid&&(T.default.localSsrc=e.videoCaptureValue.ssid),e.StartVideoMediaCapture()}else e.MaskSettingVideo&&Ul.playVideoStream(e.MaskSettingVideo)}break;case a.UPDATE_VIDEO_VB_BG_IMAGE:if(A.default.add_monitor(t.bgdom?"VBON":"VBOFF"),t.bgdom)if(this.VBMFlag||(this.VBMFlag=!0,A.default.send_monitor_directly(s.VB_CONSTANT)),"blur"==t.bgdom)this.webrtcConfig.webrtcflag?Ul.changeVBImage("blur"):_t({command:"vbbgimagebitmap",data:t.bgdom});else{let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return A.default.add_monitor("VBGF"),void T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2);this.BgImage=e,createImageBitmap(e).then(e=>{this.webrtcConfig.webrtcflag?Ul.changeVBImage(e):oi(e,"BgImage")}).catch(e=>{A.default.add_monitor("VBCF"),T.default.Notify_APPUI(a.VIDEO_VB_SETTING_PARA_ERROR,2)})}else this.BgImage=null,this.webrtcConfig.webrtcflag?Ul.isVBEnabled&&Ul.disableVB():oi(null,"BgImage");break;case a.STOP_VIDEO_VB_SETTING:if((!g.default.isSupportOffscreenCanvas()||g.default.browser.isSafari&&!g.default.isSafariVersionHigherThan("17.4"))&&(this.isCurrentInNoVBPreviewStatus=!1,this.videoNoVBPreviewCanvas&&(this.videoNoVBPreviewCanvasctx&&(this.videoNoVBPreviewCanvasctx.setTransform(1,0,0,1,0,0),this.videoNoVBPreviewCanvasctx.clearRect(0,0,this.videoNoVBPreviewCanvas.width,this.videoNoVBPreviewCanvas.height),this.videoNoVBPreviewCanvasctx=null),this.videoNoVBPreviewCanvas=null),this.isVideoNoVBPreviewCanvasScaled=!1),this.isVBSettingOn=!1,t.isSwitch&&(this.isMaskSettingOn=!0,this.webrtcConfig.webrtcflag||_t({command:"StartMaskSetting",isSwitch:t.isSwitch,enabled:this.isSupportVideoFrameOrBitmapCapture})),this.webrtcConfig.webrtcflag){if(this.wmscManager){const{isConnected:e}=this.wmscManager.vbSettingVideoDom||{};e&&(this.wmscManager.vbSettingVideoDom.srcObject=null),this.wmscManager.vbSettingVideoDom=null}}else _t({command:"finishVBSetting"});this.isStartVideoCapture||this.isMaskSettingOn||this.Stop_Video_Capture(),this.MaskSettingVideo&&this.MaskSettingVideo.pause();break;case a.ADD_VIDEO_VB_SETTING_DOM:{const{id:e,canvas:i,videodom:r}=t;this.vbSettingDomMap[e]={canvas:i,videodom:r}}break;case a.REMOVE_VIDEO_VB_SETTING_DOM:{const{id:e,canvas:i,videodom:r}=t;delete this.vbSettingDomMap[e]}break;case a.VIDEO_MASK_SETTING:{if(this.webrtcConfig.webrtcflag)return;if(this.isMaskSettingStarted)return;this.isMaskSettingStarted=!0;let e=this,i=0,r=0;e.isCurrentInMaskStatus=!0,e.isMaskSettingOn=!0,i=t.width?t.width:640,r=t.height?t.height:360,e.ReadyCapureWidth=i,e.ReadyCapureHeight=r,e.videoCaptureWidth?e.videoCaptureWidth=e.videoCaptureWidth:e.videoCaptureWidth=i,e.videoCaptureHeight?e.videoCaptureHeight=e.videoCaptureHeight:e.videoCaptureHeight=r;let s=0,o=0;if(t.canvas){const{dom:i,id:r}=Object(g.parseDOMParams)(t.canvas);if(e.VideoMaskSettingCanvas=i,e.PrevVideoMaskSettingCanvas=e.VideoMaskSettingCanvas,e.replaceCanvasMap.videoMaskSettingCanvasId=r,!e.VideoMaskSettingCanvas||e.VideoMaskSettingCanvas.width<=0||e.VideoMaskSettingCanvas.height<=0)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,3);s=t.originWidth||e.VideoMaskSettingCanvas.width,o=t.originHeight||e.VideoMaskSettingCanvas.height}if(t.maskdom){let i=Object(g.parseDOMParams)(t.maskdom).dom;if(!i||!i.width||!i.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);let r=1;0==s||0==o||s==e.VideoMaskSettingCanvas.width&&o==e.VideoMaskSettingCanvas.height||(r=Math.min(1*e.VideoMaskSettingCanvas.width/s,1*e.VideoMaskSettingCanvas.height/o)),e.MaskImage=i,e.maskCoordinate.dx=t.dx?Math.round(t.dx*r):e.maskCoordinate.dx,e.maskCoordinate.dy=t.dy?Math.round(t.dy*r):e.maskCoordinate.dy,e.maskCoordinate.dWidth=t.dWidth?Math.round(t.dWidth*r):e.maskCoordinate.dWidth,e.maskCoordinate.dHeight=t.dHeight?Math.round(t.dHeight*r):e.maskCoordinate.dHeight,e.isSupportVideoFrameOrBitmapCapture&&createImageBitmap(i).then((function(t){ni(t,"MaskImage",e.maskCoordinate,e.videoCaptureWidth,e.videoCaptureHeight)})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1)})}if(t.bgdom){let i=Object(g.parseDOMParams)(t.bgdom).dom;if(!i||!i.naturalWidth||!i.naturalHeight)return A.default.add_monitor("VMGF"),void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);e.BgImage=i,e.isSupportVideoFrameOrBitmapCapture&&createImageBitmap(i).then((function(e){si(e,"BgImage")})).catch(e=>{A.default.add_monitor("VMCF"),T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2)})}if(e.isSupportVideoFrameOrBitmapCapture||e.createVideoElement(),this.VideoMaskCanvasFillMode=t.fillMode?1:0,_t({command:"StartMaskSetting",fillMode:this.VideoMaskCanvasFillMode,enabled:this.isSupportVideoFrameOrBitmapCapture}),Ul.shouldCaptureVideo()){if(e.videoCaptureHiddenCanvas||e.isSupportVideoFrameOrBitmapCapture||(e.videoCaptureHiddenCanvas=g.default.isSupport2dOffscreenCanvas()?new OffscreenCanvas(640,360):document.createElement("canvas"),e.videoCaptureHiddenCanvasCtx=e.videoCaptureHiddenCanvas.getContext("2d")),!Zt())return Ll.warn("not isVideoEncodeHandleReady so return"),void A.default.add_monitor("not isVideoEncodeHandleReady so return");e.videoCaptureValue?e.videoCaptureValue=Object.assign(e.videoCaptureValue,t):e.videoCaptureValue=t,e.videoCaptureValue.ssid&&(T.default.localSsrc=e.videoCaptureValue.ssid),e.StartVideoMediaCapture()}else e.MaskSettingVideo&&Ul.playVideoStream(e.MaskSettingVideo),e.isMaskSettingOn&&T.default.Notify_APPUI(a.START_VIDEO_STREAM_IN_MASK_SETTING_SUCCESS,null);if(e.isSupportVideoFrameOrBitmapCapture||g.default.isSupportVideoFrameOrBitmapCapture()&&g.default.isSelfPreviewRenderWithVideo())try{$t(e.VideoMaskSettingCanvas.transferControlToOffscreen(),"MaskOfflineCanvas",e.replaceCanvasMap.videoMaskSettingCanvasId)}catch(t){$t(null,"MaskOfflineCanvas",e.replaceCanvasMap.videoMaskSettingCanvasId)}else e.Update_Mask_Texture(e.maskCoordinate,e.videoCaptureWidth,e.videoCaptureHeight)}break;case a.UPDATE_MASK_CANVAS_SIZE:{if(this.webrtcConfig.webrtcflag)return;const{id:e,dom:i}=Object(g.parseDOMParams)(t.canvas);if(this.isSupportImageCapture||g.default.isSupportImageCapture()&&g.default.isSelfPreviewRenderWithVideo()){var d=T.default.SPECIAL_ID;if(T.default.localVideoEncMGR)if(p=T.default.localVideoEncMGR.map.get(d)){var u={command:"update_mask_canvas_size",rendercanvasID:e,width:t.width,height:t.height};p.postMessage(u)}}else t.canvas=i,t.canvas&&(t.canvas.width=t.width,t.canvas.height=t.height);break}case a.UPDATE_BG_IMAGE:if(this.webrtcConfig.webrtcflag)return;if(this.isSupportVideoFrameOrBitmapCapture)if(t.bgdom){let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);this.BgImage=e,createImageBitmap(e).then((function(e){si(e,"BgImage")})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2)})}else this.BgImage=null,si(null,"BgImage");else{if(t.bgdom){let e=Object(g.parseDOMParams)(t.bgdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,2);this.BgImage=e}else this.BgImage=null;this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}break;case a.UPDATE_MASK_INFO:if(this.webrtcConfig.webrtcflag)return;if(this.maskCoordinate.dx=t.dx,this.maskCoordinate.dy=t.dy,this.maskCoordinate.dWidth=t.dWidth,this.maskCoordinate.dHeight=t.dHeight,this.isSupportVideoFrameOrBitmapCapture)if(t.maskdom){let e=Object(g.parseDOMParams)(t.maskdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);this.MaskImage=e;let i=this.maskCoordinate,r=this.videoCaptureWidth,s=this.videoCaptureHeight;createImageBitmap(e).then((function(e){ni(e,"MaskImage",i,r,s)})).catch(e=>{T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1)})}else{this.MaskImage=null,ni(null,"MaskImage",this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}else{if(t.maskdom){let e=Object(g.parseDOMParams)(t.maskdom).dom;if(!e||!e.width||!e.height)return void T.default.Notify_APPUI(a.MASK_SETTING_PARA_ERROR,1);this.MaskImage=e}else this.MaskImage=null;this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureWidth,this.videoCaptureHeight)}break;case a.FINISH_MASK_SETTING:if(this.webrtcConfig.webrtcflag)return;this.isMaskSettingStarted=!1,this.isMaskSettingOn=!1,this.BgImage||(this.isCurrentInMaskStatus=!1),t.isSwitch&&(this.isVBSettingOn=!0,_t({command:"StartVBSetting",isSwitch:t.isSwitch})),this.MaskSettingVideo&&this.MaskSettingVideo.pause(),this.VideoMaskSettingCanvas&&(this.VideoMaskSettingCanvasctx&&(this.VideoMaskSettingCanvasctx.setTransform(1,0,0,1,0,0),this.VideoMaskSettingCanvasctx.clearRect(0,0,this.VideoMaskSettingCanvas.width,this.VideoMaskSettingCanvas.height),this.VideoMaskSettingCanvasctx=null),this.VideoMaskSettingCanvas=null),this.isCanvasScaled=!1,_t({command:"finishMaskSetting"}),this.isStartVideoCapture||this.isVBSettingOn||this.Stop_Video_Capture();break;case a.MIRROR_MY_VIDEO:this.isMirrorMyVideo=t.isMirrorMyVideo,this.webrtcConfig.webrtcflag?this.wmscManager&&this.wmscManager.mirrorSelfVideo(this.isMirrorMyVideo):(_t({command:"mirrorMyVideo",isMirrorMyVideo:this.isMirrorMyVideo}),this.isSupportOffscreenCanvas?(this.VideoRenderObj&&this.VideoRenderObj.setMirrorMyVideoOption(this.isMirrorMyVideo),gt({command:"mirrorMyVideo",isMirrorMyVideo:this.isMirrorMyVideo,isSupportOffscreenCanvas:this.isSupportOffscreenCanvas})):(this.VideoRenderObj||(this.VideoRenderObj=new Bi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),isSupportOffscreenCanvas:!1,jsMediaEngine:r,globalTracingLogger:v.default,monitorLoggerFn:A.default.add_monitor,...T.default.enableMultiDecodeVideoWithoutSAB?{videodecodethreadnumb:s.MAX_RENDER_WITHOUT_SAB}:{},renderManager:this.renderManager})),this.activeSpeakerSsrc&&this.VideoRenderObj.setActiveSpeakerSsrc(this.activeSpeakerSsrc)),this.VideoRenderObj.setMirrorMyVideoOption(this.isMirrorMyVideo)));break;case a.NEW_ACTIVE_SPEAKER_SSRC:if(this.webrtcConfig.webrtcflag){var l;null===(l=this.wmscManager)||void 0===l||l.onActiveSpeakerChange(t.ssrc)}else{var c;if(A.default.add_monitor("ACTIVESSRC:".concat(t.ssrc)),Jt(R.f.VIDEO_DECODE,{ssrc:t.ssrc},"newActiveSpeakerSsrc",!1,!0),this.RenderInMain==s.RENDER_IN_MAIN)null===(c=this.VideoRenderObj)||void 0===c||c.setActiveSpeakerSsrc(t.ssrc);this.activeSpeakerSsrc=t.ssrc}break;case a.CANCEL_NEW_ACTIVE_SPEAKER_BEFORE_CALL_BACK:A.default.add_monitor("CANCELACTIVE:".concat(t.ssrc)),gt({command:"cancelNewActiveSpeakerSsrcBefreCallback",ssrc:t.ssrc,haddata:t.haddata}),this.activeSpeakerSsrc=0;break;case a.SEND_RENDER_LOG:A.default.add_monitor(t.message);break;case a.UPDATE_VIDEO_QUALITY:if(!T.default.rwgAgent)break;this.userId!=t.userId&&T.default.sendMessageToRwg(a.SUBSCRIBE_VIDEO,{evt:12303,seq:1,body:{subInfoList:[{id:Number(t.userId),size:Number(t.videoQuality),bOn:!1}]}});break;case a.ADD_RENDER_VIDEO:if(A.default.add_monitor("ADDRENDER:".concat(t.userId)),this.webrtcConfig.webrtcflag){var h;const e=parseInt(t.userId),i=null===(h=this.wmscManager)||void 0===h?void 0:h.isSelfVideo(e);if(1===e&&this.wmscManager&&(this.wmscManager.activeSpeakerVideoDom=t.videodom),this.videoCaptureValue&&i)return Nl.ProcessorManager.hasMediaStreamFrameProcessor()&&Ul.processedStream?t.videodom.srcObject=Ul.processedStream:Ul.isVBEnabled?t.videodom.srcObject=Ul.vbStream:t.videodom.srcObject=Ul.videoStream,this.wmscManager?(this.wmscManager.selfVideoDomMap.set(t.zone,t.videodom),this.wmscManager.mirrorVideoEle(t.videodom,this.wmscManager.isMirror),this.wmscManager.playSelfVideo("addRenderVideo",t.videodom)):(v.default.error("WMSC_Self_Add_Render, ".concat(t.userId)),t.videodom.play().catch(()=>{v.default.error("WMSC_SV_ARP_F: ".concat(t.userId))})),void(this.webrtcConfig.userId=parseInt(t.userId));await this.add_render_video_webrtc(t)}else await this.add_render_video_wasm(t);break;case a.UPDATE_CANVAS_SIZE:{const{id:e,dom:i}=Object(g.parseDOMParams)(t.canvas);if(Object(g.CheckCanvasSize)(t.width,t.height),this.checkIsRenderInWorker()){d=T.default.SPECIAL_ID;var f=null;if(T.default.localVideoEncMGR&&T.default.enableVirtualBackgroundWithoutSAB&&(f=T.default.localVideoEncMGR.map.get(d)),T.default.localVideoDecMGR)if(p=T.default.localVideoDecMGR.map.get(d)){u={command:"update_canvas_size",rendercanvasID:e,width:t.width,height:t.height};p.postMessage(u),f&&f.postMessage(u)}}else t.canvas=i,t.canvas&&(t.canvas.width=t.width,t.canvas.height=t.height);this.UpdateVideoPlayStatus(!0)}break;case a.ZOOM_RENDER:if(A.default.add_monitor("ZOOMRENDER:".concat(t.userId)),"string"!=typeof t.canvas&&(t.canvas=t.canvas.id),this.checkIsRenderInWorker()){const e=g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(T.default.localSsrc&&Object(g.Get_Logical_SSrc)(t.userId)===Object(g.Get_Logical_SSrc)(T.default.localSsrc));let i=T.default.SPECIAL_ID;var p=null;if(e&&T.default.localVideoEncMGR?p=T.default.localVideoEncMGR.map.get(i):T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(i)),p){u={command:"zoomrender",ssrc:t.userId,x:t.x,y:t.y,width:t.width,height:t.height,canvas:t.canvas,zone:t.zone,RGBA:t.RGBA};p.postMessage(u)}}if(this.videoRenderArray.length)for(i=0;i<this.videoRenderArray.length;i++)this.videoRenderArray[i].ssrc==t.userId&&this.videoRenderArray[i].zone==t.zone&&(this.videoRenderArray[i].x=t.x,this.videoRenderArray[i].y=t.y,this.videoRenderArray[i].width=t.width,this.videoRenderArray[i].height=t.height);break;case a.STOP_RENDER_VIDEO:if(A.default.add_monitor("RMRENDER:".concat(t.userId)),this.webrtcConfig.webrtcflag){var _;const e=parseInt(t.userId),i=null===(_=this.wmscManager)||void 0===_?void 0:_.isSelfVideo(e);if(1===e&&this.wmscManager&&(this.wmscManager.activeSpeakerVideoDom=null),i)return void(this.wmscManager&&this.wmscManager.selfVideoDomMap.has(t.zone)&&this.wmscManager.selfVideoDomMap.delete(t.zone));this.stop_render_video_webrtc(t)}else await this.stop_render_video_wasm(t);break;case a.SWITCH_CANVAS_FOR_VIDEO_CAPTURE:var m=null;if(g.default.isSelfPreviewRenderWithVideo()){let e;e=t instanceof Array?t[0]:t,m=e instanceof HTMLVideoElement?e:Object(g.parseDOMParams)(e).dom}if(!this.videoCaptureValue)break;if(g.default.isSelfPreviewRenderWithVideo()&&m&&m instanceof HTMLVideoElement)this.switchVideoTagForVideoCapture(m);else{var E=[];t instanceof Array?E=t:E.push(t);var S=this.videoCaptureValue.canvasCtrlList.filter((function(e){return-1!==E.indexOf(e.k)})).map((function(e){return e.dom}));this.switchCanvasForVideoCapture(S)}break;case a.START_CAPTURE_VIDEO:this.webrtcConfig.webrtcflag?this.start_capture_video_webrtc(t):this.start_capture_video_wasm(t);break;case a.STOP_CAPTURE_VIDEO:var I=this;return new Promise((e,t)=>{try{if(Ul.isCaptureVideoInProgress)return T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_FAILED,null),t(new Error("Too many calls : the device is opening camera now, cannot stop video capture"));I.isStartVideoCapture&&I.Stop_Video_Capture(),T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_SUCCESS,null),e(!0)}catch(e){T.default.Notify_APPUI(a.STOP_VIDEO_CAPTURE_FAILED,null),t(e)}T.default.extVBPort&&T.default.extVBPort.postMessage({type:a.UNIFIED_VB_PAUSE})});case a.ADD_RENDER_AUDIO:0==this.audioRenderArray.length&&(this.audioRenderArray.push(t),this.Start_Audio_Play());break;case a.STOP_RENDER_AUDIO:if(this.audioRenderArray.length>0)for(this.Stop_Audio_Play(),i=0;i<this.audioRenderArray.length;i++)this.audioRenderArray[i].ssrc==t.ssrc&&this.audioRenderArray.splice(i,1);break;case a.PAUSE_OR_RESUME_AUDIO_DECODE:await Jt(R.f.AUDIO_DECODE,{bPause:t.bPause},"PAUSE_OR_RESUME_AUDIO_DECODE",!1,!0);break;case a.UNMUTE_AUDIO:var b;if(this.captureAudioMuted=!1,this.audioInputLevel&&this.audioInputLevel.start(),this.useAudioBridge)null===(b=this.audioBridge)||void 0===b||b.unmute();this.UnMuteAudio();break;case a.MUTE_AUDIO:var O;if(this.captureAudioMuted=!0,this.audioInputLevel&&this.audioInputLevel.stop(),this.useAudioBridge)null===(O=this.audioBridge)||void 0===O||O.mute();this.MuteAudio();break;case a.START_ANNOTATION_A:{if(this.annotationMgr){if(this.annotationMgr.getAppId()===t.shareSessionId){this.annotationMgr.startAnnotation(t.presenterId),T.default.Notify_APPUI(a.START_ANNOTATION_SUCCESS);break}this.annotationMgr.destroy()}const e={appId:t.shareSessionId,userName:t.userName,presenterId:t.presenterId,isPresenter:t.isPresenter||!1,isBOSession:t.isBOSession||!1,annoCanvas:this.annoCanvas,sharingMainCanvas:this.mainSharingCanvas,remoteSizeInfo:{width:this.sharingWidthAndHeightInfo.width,height:this.sharingWidthAndHeightInfo.height}};if(!e.annoCanvas||!e.sharingMainCanvas){T.default.Notify_APPUI(a.START_ANNOTATION_FAILED,"Canvas is incorrect");break}this.annotationModule?(this.annotationMgr=new this.annotationModule(e),this.annotationMgr.startAnnotation(t.presenterId),T.default.Notify_APPUI(a.START_ANNOTATION_SUCCESS)):(Ll.error("AnnotationMgr module was not loaded"),T.default.Notify_APPUI(a.START_ANNOTATION_FAILED,"Failed to load annotation module"))}break;case a.STOP_ANNOTATION_A:var D;null===(D=this.annotationMgr)||void 0===D||D.stopAnnotation(t);break;case a.ANNOTATION_ACTIONS:var w;null===(w=this.annotationMgr)||void 0===w||w.onAnnotationActions(t);break;case a.START_SHARING:var y;if(this.annotationModule||Object(g.getAnnoterModule)().then(e=>{let{AnnotationMgr:t}=e;this.annotationModule=t}).catch(e=>{Ll.error("Failed to load AnnotationMgr",e)}),this.sharingCanvasList.includes(t.canvas.id)||this.sharingCanvasList.push(t.canvas.id),this.mainSharingCanvas=t.canvas,this.annoCanvas=t.annoCanvas,null===(y=this.annotationMgr)||void 0===y||y.updateCanvas({sharingMainCanvas:this.mainSharingCanvas,annoCanvas:this.annoCanvas}),Object.assign(t,this.sharingWaterMarkParams),this.isSupportVideoShare?Ct({command:"startSharingRender"}):At({command:"startSharingRender"}),this.currentshareactive=t.ssrc,null==this.currentshareactive&&A.default.add_monitor2("SSRC"),this.isCreateSharingWaterMark=t.enableWaterMark,this.sharingWaterMarkName=this.isCreateSharingWaterMark?t.waterMarkText:"",this.isSupportOffscreenCanvas){this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_WORKER);try{d=T.default.SPECIAL_ID;this.replaceCanvasMap.sharingMainCanvasId=t.canvas.id;p=null;if(this.isSupportVideoShare?T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(d)):T.default.localSharingDecMGR&&(p=T.default.localSharingDecMGR.map.get(d)),p){this.sharingRenderCanvas=t.canvas.transferControlToOffscreen(),Object(g.CheckCanvasSize)(t.canvas.width,t.canvas.height);u={command:"sharingRenderCanvas",canvas:this.sharingRenderCanvas,rendercanvasID:this.replaceCanvasMap.sharingMainCanvasId,ssrc:this.currentshareactive,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,isFromMainSession:t.isFromMainSession,watermarkPosition:t.watermarkPosition};p.postMessage(u,[u.canvas])}}catch(e){d=T.default.SPECIAL_ID,p=null;if(this.isSupportVideoShare?T.default.localVideoDecMGR&&(p=T.default.localVideoDecMGR.map.get(d)):T.default.localSharingDecMGR&&(p=T.default.localSharingDecMGR.map.get(d)),p){u={command:"sharingRenderCanvas",rendercanvasID:this.replaceCanvasMap.sharingMainCanvasId,ssrc:this.currentshareactive,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,isFromMainSession:t.isFromMainSession,watermarkPosition:t.watermarkPosition};p.postMessage(u)}}}else this.RenderInMain===s.RENDER_UNSET&&(this.RenderInMain=s.RENDER_IN_MAIN),this.SharingRenderObj||(this.SharingRenderObj=new Hi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),PubSub:C.a,jsMediaEngine:r,globalTracingLogger:v.default,renderManager:this.renderManager}))),this.renderManager.getRendererProvider().isWebGLRendererType()?this.sharingDisplay=new Ki.default(t.canvas,t.canvas.id,0,void 0,{preserveDrawingBuffer:!1},void 0,void 0,T.default.enableCanvasAlphaChannel):this.renderManager.getRendererProvider().isWebGL2RendererType()&&(this.sharingDisplay=new Zi(t.canvas,t.canvas.id,0,void 0,{preserveDrawingBuffer:!1},void 0,void 0,T.default.enableCanvasAlphaChannel)),this.SharingRenderObj.Set_Render_Display(this.sharingDisplay),this.SharingRenderObj.Change_Current_SSRC(this.currentshareactive,t.isFromMainSession),this.isCreateSharingWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:t.watermarkOpacity,watermarkRepeated:t.watermarkRepeated,watermarkPosition:t.watermarkPosition}),this.sharingInterval||(this.sharingInterval=this.JsMediaSDK_SharingRenderInterval(this.sharingIntervalTime,t.isVideoShare)),_e(!0);break;case a.STOP_SHARING:if(t.canvas){const e=this.sharingCanvasList.indexOf(t.canvas.id);-1!==e&&this.sharingCanvasList.splice(e,1)}else this.sharingCanvasList=[];if(this.mainSharingCanvas=null,this.annoCanvas=null,0!==this.sharingCanvasList.length)return;_e(!1),this.isSupportVideoShare?Ct({command:"stopSharingRender"}):At({command:"stopSharingRender"}),this.isCreateSharingWaterMark=!1,this.sharingWaterMarkName="",this.sharingInterval&&(clearInterval(this.sharingInterval),this.sharingInterval=0),this.sharingDisplay&&(this.sharingDisplay.clear(),this.sharingDisplay.cleanup(),this.sharingDisplay=null),this.SharingRenderObj&&(this.SharingRenderObj.ClearQueue(),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName}));break;case a.UPDATE_SHARING_DECODE_PARAM:{var M;let{width:e,height:i,canvas:r}=t;if(r&&r.id&&!this.sharingCanvasList.includes(r.id))return;if(Ll("UPDATE_SHARING_DECODE_PARAM",t),this.SharingRenderObj?this.SharingRenderObj.Update_Sharing_Canvas_Size({width:e,height:i}):this.isSupportVideoShare?Ct({command:"UPDATE_SHARING_CANVAS_SIZE",width:e,height:i}):At({command:"UPDATE_SHARING_CANVAS_SIZE",width:e,height:i}),ui())return Object(g.CheckCanvasSize)(e,i),Ll("isSharingNotClearChromeVersion",ui());if(null===(M=this.annotationMgr)||void 0===M||M.updateAnnoCanvasSize(),!T.default.rwgAgent)break;this.isSupportVideoShare?Ct({command:"SET_OFFSCREENCANVAS_WIDTH_HEIGHT",data:{width:e,height:i}}):await Jt(R.f.SHARING_DECODE,{width:e,height:i},"SET_OFFSCREENCANVAS_WIDTH_HEIGHT",!1,!0);break}case a.CHANGE_FRAME_RATE:case a.CHANGE_VIDEO_RESOLUTION:break;case a.CHANGE_AUDIO_SPEAKER:{if(!t.AudioSelectValue)return void T.default.Notify_APPUI(a.EVENT_PARMS_ERROR,a.CHANGE_AUDIO_SPEAKER);let e=Date.now();var P;if(this.useAudioBridge)return void(null===(P=this.audioBridge)||void 0===P||P.changeSpeaker(t.AudioSelectValue));this.selectComputerAudioSpeaker(t.AudioSelectValue,e)}break;case a.AUDIO_DENOISE_SWITCH:_r.changeDenoiseSwitch(t.switch);break;case a.CHANGE_AUDIO_PROFILE:{var N;let e=null===(N=this.audioCapture)||void 0===N?void 0:N.audioProfile;if(!e)break;if(this.audioCapture.audioProfile=t,"backgroundNoiseSuppression"===t.currentSelect){if("backgroundNoiseSuppression"!==e.currentSelect){let e={command:"original_sound_switch",enable:!1,highfidelity:!1,stereo:!1};var V;if(this.useAudioBridge)await(null===(V=this.audioBridge)||void 0===V?void 0:V.setAudioProfile(t));else Tt(e);Ul.destoryAudioMediaStream(),this.Start_Audio_Capture()}var k;if(e.highBitrate!==t.highBitrate)if(this.useAudioBridge)await(null===(k=this.audioBridge)||void 0===k?void 0:k.setAudioProfile(t));else Tt({command:"highBitrate",highBitrate:t.highBitrate?1:0});let i="Zoom"===t.backgroundNoiseSuppression;_r.changeDenoiseSwitch(i)}else{var U;let i={command:"original_sound_switch",enable:!0,highfidelity:t.originalSound.highfidelity,stereo:t.originalSound.stereo};var L;if(this.useAudioBridge)await(null===(L=this.audioBridge)||void 0===L?void 0:L.setAudioProfile(t));else Tt(i);"originalSound"===e.currentSelect&&(null===(U=e.originalSound)||void 0===U?void 0:U.stereo)===t.originalSound.stereo||(Ul.destoryAudioMediaStream(),this.Start_Audio_Capture())}}break;case a.CHANGE_VIDEO_CAPTURE_DEVICE:{var x;let e=Object.assign({},this.VALUE_CACHE_FOR_START_CAPTURE_VIDEO,t);if(!this.isSupportVideoTrackReader&&!this.isSupportMediaStreamTrackProcessor){if(e.canvasCtrlList=[],e.canvas instanceof Array)for(i=0;i<e.canvas.length;i++)e.canvasCtrlList.push({k:e.canvas[i],dom:Object(g.parseDOMParams)(e.canvas[i]).dom});else e.canvasCtrlList.push({k:e.canvas,dom:Object(g.parseDOMParams)(e.canvas).dom});e.canvasCtrl=e.canvasCtrlList[0].dom}e.videoCtrl=this.captureVideoOutPutVideoDom,null!==(x=this.videoloadmetadataListener)&&void 0!==x&&x.remove&&(this.videoloadmetadataListener.remove(),this.videoloadmetadataListener=null),this.isVideoCaptureLoadedmetadata=!1,Ul.destoryVideoMediaStream(),this.videoCaptureValue=e,Ul.removeVideoStream(this.videoCaptureValue.videoCtrl),this.StartVideoMediaCapture()}break;case a.CHANGE_SHARING_2ND_VIDEO_CAPTUREVIDEO_DEVICE:{t.canvas&&(t.rendercanvasID=t.canvas);let e=Object.assign({},this.desktopSharingValue,t);this.EndSharingMediaStream(),this.desktopSharingValue=e,this.StartDesktopMediaCapture()}break;case a.SHARE_2ND_AUDIO_CAPTURE_DEVICE:this.EndSharingMediaStream(),this.desktopSharingValue=t,this.StartDesktopMediaCapture();break;case a.CHANGE_CURRENT_ACTIVE_SSRC:this.currentactive!=t.ssrc&&(this.currentactive=t.ssrc,T.default.CurrentSSRC=this.currentactive,this.changeVideoRenderActiveSsrc(this.currentactive)),Rt(T.default.CurrentSSRC);break;case a.CHANGE_CURRENT_SHARING_ACTIVE_SSRC:if(this.currentshareactive!=t.ssrc&&(this.currentshareactive=t.ssrc),this.isSupportOffscreenCanvas)if(this.isSupportVideoShare)Ct({command:"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",ssrc:t.ssrc,isFromMainSession:t.isFromMainSession});else{d=T.default.SPECIAL_ID;if(T.default.localSharingDecMGR)if(p=T.default.localSharingDecMGR.map.get(d)){u={command:"CHANGE_CURRENT_SHARING_ACTIVE_SSRC",ssrc:t.ssrc,isFromMainSession:t.isFromMainSession};p.postMessage(u)}}else this.SharingRenderObj||(this.SharingRenderObj=new Hi(Object.assign({},{Notify_APPUI:T.default.Notify_APPUI.bind(T.default),PubSub:C.a,jsMediaEngine:r,globalTracingLogger:v.default,renderManager:this.renderManager}))),this.SharingRenderObj.Change_Current_SSRC(this.currentshareactive,t.isFromMainSession);break;case a.LEAVE_MEETING:this.Stop_Audio_Play();break;case a.MEETING_FAIL_OVER:this.Meeting_Fail_Over(t.audio_websocket_address,t.video_websocket_address);break;case a.END_MEDIA:Ll("jsEvent.END_MEDIA"),C.a.trigger(a.PUBSUB_EVT.END_MEDIA),this.removeVbReceiver(),this.destroy().catch(e=>Ll.error(e));break;case a.CHANGE_AUDIO_MIC:if(this.audioCapture&&t){this.enableHID&&(this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),t.microphoneLabel&&(this.hidAvalible=await Dr.init(t.microphoneLabel,t.defaultMuted))),Ul.destoryAudioMediaStream(),Tt({command:132,value:!1});try{this.isCaputureNodeConnect=!1,T.default.ComputerAudioStatus=R.a.ComputerAudio_Connecting,t.audioProfile=this.audioCapture.audioProfile,this.audioCapture=t,this.audioCtx&&this.audioCtx.sampleRate!=this.sampleRate&&(this.sampleRate=this.audioCtx.sampleRate,ot(this.sampleRate)),this.Start_Audio_Capture(),Mt(),this.audioMicSetErrorCnt=0}catch(e){this.notifyUISetMicError({currentMic:_r.getMicId(),reason:"".concat(e.message)}),this.JsMediaSDK_Log(e)}}else T.default.Notify_APPUI(a.EVENT_PARMS_ERROR,a.CHANGE_AUDIO_MIC);return;case a.WEBRTC_RESTART:t&&(nt(T.default.SPECIAL_ID,a.AUDIO_START),Ul.destoryAudioMediaStream(),this.Remove_Audio_Capture(),this.audioCapture=t,this.Start_Audio_Capture(),Mt());break;case a.LEAVE_COMPUTER_AUDIO:if(Ul.destoryAudioMediaStream(),document.removeEventListener("visibilitychange",xl),this.setFileAudioPlaybackSwitch(!1),Tt({command:132,value:!1}),this.audioCapture=null,this.captureAudioMuted=!1,this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,this.audioInputLevel)return this.audioInputLevel.destroy(),this.audioInputLevel=null,void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);if(this.useAudioBridge)return this.audioBridge&&(this.audioBridge.isMutedBySystem=!1,this.audioBridge.enableBroadCastToBO(!1),this.audioBridge.leaveAudioWithoutDisconnect(s.WEBRTC_COMMPUTER_AUDIO_MODE)),void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);if(T.default.ComputerAudioStatus===R.a.ComputerAudio_Connecting)return void T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);this.Remove_Audio_Capture(),this.Remove_Audio_Play(),this.CloseBoringPeerConnection(),this.checkWorkletInterval&&(clearInterval(this.checkWorkletInterval),this.checkWorkletInterval=null);try{T.default.AudioNode&&(T.default.AudioNode.disconnect(),T.default.AudioNode.postCMD("stopWorklet",!0),T.default.AudioNode.port=null)}catch(e){Ll("AudioNode.port",e)}T.default.AudioNode=null,T.default.workletWasmInitSuccess=!1,this.audioCtx&&(this.audioCtx.onstatechange=null,this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx.close(),this.isCaputureNodeConnect=!1),this.audioCtx=null,this.audioPlay=!1,this.audioDomNode=null,T.default.Notify_APPUI(a.LEAVE_COMPUTER_AUDIO_COMPLETE,null);break;case a.JOIN_COMPUTER_AUDIO:if(A.default.add_monitor("JCAA:"+t.checkAutoplay),this.enableHID=t.CaptureAudioInfo.enableHID,this.enableHID&&t.CaptureAudioInfo.microphoneLabel)try{this.hidAvalible=await Dr.init(t.CaptureAudioInfo.microphoneLabel,t.CaptureAudioInfo.defaultMuted)}catch(e){v.default.log("auto connect hid fail"),T.default.Notify_APPUI(a.AUDIO_CONNECT_HID_JOIN_FAILED,e)}T.default.ComputerAudioStatus=R.a.ComputerAudio_Connecting;try{t.checkAutoplay&&await g.default.checkAudioAutoPlay()}catch(e){return Ll.error("audio auto play",e),v.default.error("check auto play fail",e),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.AUDIO_AUTO_PLAY_FAILED,e)}if(this.audioInputLevel&&(this.audioInputLevel.destroy(),this.audioInputLevel=null),t.isPreviewMode)return void(t.CaptureAudio?(this.audioCapture=t.CaptureAudioInfo,this.audioInputLevel=new $i({analyserCallback:e=>{T.default.Notify_APPUI_SAFE(a.AUDIO_LEVEL_INDICATOR,{value:e})}}),Ul.shouldCaptureAudio()||T.default.Notify_APPUI(a.USER_GRANT_CAPTURE_AUDIO,null),this.Start_Audio_Capture()):(T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null)));if(!this.isSupportVideoShare&&this.isSupportOffscreenCanvas){var W=new MessageChannel;ct(W,W)}if(this.useAudioBridge=!!t.audioBridge,this.useAudioBridge){_r.setUserId(t.CaptureAudioInfo.ssrc);const{nginxHost:e,rwgHost:i,cid:r,abToken:o,supportLocalAB:n,useWebRTCOnDesktop:d}=t.audioBridge;if(await this.previewInit({audioBridge:{nginxHost:e,rwgHost:i,cid:r,abToken:o,isCapturingAudio:t.CaptureAudio,audioMode:s.WEBRTC_COMMPUTER_AUDIO_MODE,supportLocalAB:n,useWebRTCOnDesktop:d}}),!this.audioBridge){v.default.error("audioBridge instance is null after initialization");break}var B;if(_r.setAudioBridge(this.audioBridge),t.CaptureAudio)this.audioCapture=t.CaptureAudioInfo,null!==(B=t.CaptureAudioInfo)&&void 0!==B&&B.audioProfile&&this.audioBridge.setAudioProfile(t.CaptureAudioInfo.audioProfile),this.Start_Audio_Capture();else T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null);if(g.default.isAndroidBrowser()||g.default.isQuestBrowser()||!g.default.browser.isChrome&&!g.default.isFirefoxVersionHigherThan(116))_r.updateSelectedSpeakerDevices("default",0,!0);else{var G,F;let e=null!==(G=t.speakerInfo)&&void 0!==G&&G.defaultDeviceId?null===(F=t.speakerInfo)||void 0===F?void 0:F.defaultDeviceId:"";this.selectComputerAudioSpeaker(e,Date.now())}return}try{this.Remove_Audio_Play(),this.Remove_Audio_Capture(),this.CloseBoringPeerConnection(),nt(T.default.SPECIAL_ID,a.AUDIO_START),this.audioCtx&&(this.audioCtx.close(),this.audioCtx.onerror&&(this.audioCtx.onerror=null),this.audioCtx=null,this.isCaputureNodeConnect=!1),this.audioCtx=Object(g.createMainAudioContext)(),g.default.isChromeVersionHigherThan(129)&&!this.audioCtx.onerror&&(this.audioCtx.onerror=()=>{A.default.add_monitor("AUDIOCONTEXT:ERROR")}),this.audioCtx.sampleRate!=this.sampleRate&&(this.sampleRate=this.audioCtx.sampleRate,ot(this.sampleRate)),this.disableAudioAGC=t.disableAudioAGC,this.disableNoiseSuppression=t.disableNoiseSuppression,this.disableBrowserAec=t.disableBrowserAec,this.bAudioDecodeUsingSAB&&A.default.add_monitor("ASSAB"),"suspended"===this.audioCtx.state&&this.audioCtx.resume().catch(e=>{v.default.error("audioContext resume fail",e)});I=this;let e=null,i=null;if(T.default.decoderinworklet){await g.default.isSDKSupportSIMD()?(e=this.audioWorkletJsPath.audioWorkletSIMDPath,i=this.audioWorkletJsPath.audioSIMDWasm):(e=this.audioWorkletJsPath.audioWorkletProcessPath,i=this.audioWorkletJsPath.audioWasm)}else e=this.audioWorkletJsPath.audioWorkletPath;if(this.isDestroy)return;let r=null;i&&(r=await g.default.downloadAndCompileWebAssembly(i,"AudioWorklet",A.default,!g.default.browser.isSafari&&T.default.enableStreamingInstantiate)),await this.audioCtx.audioWorklet.addModule(e),T.default.AudioNode=new Ei(I.audioCtx,"zoomAudioWorklet",{processorOptions:{sharedBuffer:g.default.browser.isSafari&&T.default.sharedBuffer?T.default.sharedBuffer:null,userAgent:navigator.userAgent,audioDecodeChannelsNum:g.default.isSupportPlayStereo()?2:1,audioEncodeChannelsNum:g.default.isBrowserSupportStereo()?2:1,wasmModule:r},numberOfOutputs:1,outputChannelCount:[2]}),T.default.AudioNode.onprocessorerror=e=>{A.default.add_monitor("CWFIP"),v.default.error("Exception thrown in AudioWorkletProcessor",e)},g.default.browser.isSafari&&!T.default.sharedBuffer&&T.default.AudioNode.postCMD("diableSharedArrayBuffer"),T.default.decoderinworklet||T.default.AudioNode.postCMD("disableDecoderinworklet"),T.default.decoderinworklet&&(this.codecDoAVSync?T.default.AudioNode.postCMD("codecDoAVSync",!0):T.default.CurrentSSRC&&T.default.AudioNode.postCMD("currentSSRC",T.default.CurrentSSRC),T.default.AudioNode.postCMD("initData",{userid:t.CaptureAudioInfo.ssrc,meetingnumb:T.default.localAudioPara.meetingnumb,meetingid:T.default.localAudioPara.meetingid}),T.default.AudioNode.postCMD("audiowasm")),I.checkWorkletInterval&&(clearInterval(I.checkWorkletInterval),I.checkWorkletInterval=null),I.checkWorkletInterval=setInterval(()=>{T.default.AudioNode&&T.default.AudioNode.postCMD("checkProcess",null)},1e4);let s=g.default.isSupportChromeWideAEC()&&!T.default.shareSystemAudio;if(!g.default.browser.isChrome||g.default.isAndroidBrowser()||g.default.isQuestBrowser())if(T.default.sharedBuffer&&T.default.AudioNode.postCMD("sharedBuffer",g.default.browser.isSafari?null:T.default.sharedBuffer),g.default.isAndroidBrowser()||g.default.isQuestBrowser()){let e=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e),this.disableBrowserAec?this.isSupportBrowserAec=!1:this.isSupportBrowserAec=await this.isLocalP2PSupportedPromise;let t=e.stream;this.disableBrowserAec||(this.isSupportBrowserAec?t=await I.chromeAecWorkAround(e.stream):dt(T.default.SPECIAL_ID,!1)),I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=t,I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}else if(g.default.browser.isFirefox&&g.default.isFirefoxVersionHigherThan(116)){let e=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e);let i=e.stream;I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=i;let r=null,a=Date.now();r=t.speakerInfo&&t.speakerInfo.defaultDeviceId?t.speakerInfo.defaultDeviceId:"",this.selectComputerAudioSpeaker(r,a),I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}else T.default.AudioNode.connect(I.audioCtx.destination),_r.updateSelectedSpeakerDevices("default",0,!0);else{let e;if(this.disableBrowserAec?this.isSupportBrowserAec=!1:this.isSupportBrowserAec=s||await this.isLocalP2PSupportedPromise,T.default.sharedBuffer&&T.default.AudioNode.postCMD("sharedBuffer",T.default.sharedBuffer),!this.disableBrowserAec)if(this.isSupportBrowserAec){if(!s){let t=I.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(t),e=t.stream,e=await I.chromeAecWorkAround(t.stream)}}else dt(T.default.SPECIAL_ID,!1);let i=null;i=t.speakerInfo&&t.speakerInfo.defaultDeviceId?t.speakerInfo.defaultDeviceId:"";let r=Date.now();s?T.default.AudioNode.connect(I.audioCtx.destination):(I.audioDomNode||(I.audioDomNode=new Audio),I.audioDomNode.srcObject=e,I.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})),I.selectComputerAudioSpeaker(i,r)}It({command:"stop_audio_incoming",stopPlayAudio:!1}),Tt({command:"startAudioEncode",ssid:t.CaptureAudioInfo.ssrc,audioMode:T.default.audioMode}),Ht(T.default.e2eencrypt);var H=new MessageChannel,K=new MessageChannel,j=new MessageChannel;if(T.default.AudioNode.port.postMessage({status:"encodeAudioPort"},[K.port2]),T.default.AudioNode.port.postMessage({status:"decodeAudioPort"},[H.port1]),T.default.AudioNode.port.postMessage({status:"sampleRate",data:I.audioCtx.sampleRate}),ut(H,K,"decodeAudioPort","encodeAudioPort"),T.default.enableEchoDetection&&!T.default.sharedBuffer&&ut(j,j,"audioWorkerPort","audioWorkerPort"),I.Start_Audio_Play(),this.isSupportOffscreenCanvasForVideoDecode){var Y=new MessageChannel;pt(Y),T.default.decoderinworklet?T.default.AudioNode.port.postMessage({status:"decodeVideoPort"},[Y.port2]):ht(Y)}if(t.CaptureAudio){I.audioCapture=t.CaptureAudioInfo;let e=t.CaptureAudioInfo.audioProfile;if(e)if("backgroundNoiseSuppression"===e.currentSelect){let t="Zoom"===e.backgroundNoiseSuppression;_r.changeDenoiseSwitch(t),Tt({command:"highBitrate",highBitrate:e.highBitrate?1:0})}else{var q,X;let t={command:"original_sound_switch",enable:!0,highfidelity:null===(q=e.originalSound)||void 0===q?void 0:q.highfidelity,stereo:null===(X=e.originalSound)||void 0===X?void 0:X.stereo};var Q;if(this.useAudioBridge)await(null===(Q=this.audioBridge)||void 0===Q?void 0:Q.setAudioProfile(e));else Tt(t)}I.Start_Audio_Capture(),this.firstSetDelay&&(this.firstSetDelay=!1,Mt())}else T.default.ComputerAudioStatus=R.a.ComputerAudio_Connected,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null)}catch(e){v.default.error("join audio failed",e),T.default.ComputerAudioStatus=R.a.ComputerAudio_Null,T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_COMPLETE,null),T.default.Notify_APPUI(a.JOIN_COMPUTER_AUDIO_FAILURE,null),Ll.error(e),this.JsMediaSDK_Log(e)}break;case a.JOIN_DESKTOP_AUDIO:if(T.default.DesktopAudioStatus!==R.a.DesktopAudio_Null)return void T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null);if(T.default.DesktopAudioStatus=R.a.DesktopAudio_Connecting,this.useAudioBridge=!!t.audioBridge,this.useAudioBridge){_r.setUserId(t.CaptureAudioInfo.ssrc);const{nginxHost:e,rwgHost:i,cid:r,abToken:o,supportLocalAB:n,useWebRTCOnDesktop:d}=t.audioBridge;return await this.previewInit({audioBridge:{nginxHost:e,rwgHost:i,cid:r,abToken:o,isCapturingAudio:t.CaptureAudio,audioMode:s.WEBRTC_SHARE_AUDIO_MODE,supportLocalAB:n,useWebRTCOnDesktop:d}}),_r.setAudioBridge(this.audioBridge),this.Start_Desktop_Audio_Capture(),T.default.DesktopAudioStatus=R.a.DesktopAudio_Connected,void T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null)}if(g.default.isSupportChromeWideAEC()&&T.default.ComputerAudioStatus!=R.a.ComputerAudio_Null&&!this.audioDomNode&&T.default.shareSystemAudio&&await this.isLocalP2PSupportedPromise){T.default.AudioNode.disconnect();let e=this.audioCtx.createMediaStreamDestination();T.default.AudioNode.connect(e);let t=e.stream;t=await this.chromeAecWorkAround(e.stream),this.audioDomNode||(this.audioDomNode=new Audio),this.audioDomNode.srcObject=t;let i=_r.speakerId,r=Date.now();this.selectComputerAudioSpeaker(i,r),this.audioDomNode.play().catch(e=>{v.default.error("Audio play failed",e)})}try{Tt({command:"mute",bOn:a.AUDIO_START,sharing:!0}),this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.isSharingCaptureNodeConnect=!1);let e=g.default.getAudioContextConfigure();this.sharingAudioCtx=Object(g.createAudioContext)("MainSharing",e);I=this;let i=this.audioWorkletJsPath.sharingAudioWorkletPath;await this.sharingAudioCtx.audioWorklet.addModule(i),T.default.SharingAudioNode=new Ei(I.sharingAudioCtx,"zoomSharingAudioWorklet",{processorOptions:{sharingEncodeChannelsNum:g.default.isSupportSharingStereo()?2:1}}),T.default.sharedBuffer&&T.default.SharingAudioNode.postCMD("sharedBuffer",T.default.sharedBuffer);let r=new MessageChannel;T.default.SharingAudioNode.port.postMessage({status:"encodeAudioPort"},[r.port1]),ft(r),Tt({command:"startAudioEncode",ssid:t.CaptureAudioInfo.ssrc,samplerate:this.sharingAudioCtx.sampleRate,isSharing:!0,audioMode:T.default.audioMode,sharingEncodeChannelsNum:g.default.isSupportSharingStereo()?2:1}),Ht(T.default.e2eencrypt),I.Start_Desktop_Audio_Capture()}catch(e){Ll.error(e),this.JsMediaSDK_Log(e)}T.default.DesktopAudioStatus=R.a.DesktopAudio_Connected,T.default.Notify_APPUI(a.JOIN_DESKTOP_AUDIO_COMPLETE,null);break;case a.LEAVE_DESKTOP_AUDIO:{if(T.default.DesktopAudioStatus!==R.a.DesktopAudio_Connected)return void T.default.Notify_APPUI(a.LEAVE_DESKTOP_AUDIO_COMPLETE,null);let e=!1;if(t&&t.isPause&&(e=!0),e||this.EndDesktopAudioMediaStream(),this.Remove_Sharing_Audio_Capture(),this.useAudioBridge){var z;null===(z=this.audioBridge)||void 0===z||z.leaveAudioWithoutDisconnect(s.WEBRTC_SHARE_AUDIO_MODE)}else{if(g.default.isSupportChromeWideAEC()&&this.audioDomNode){T.default.AudioNode.disconnect(),this.CloseBoringPeerConnection(),this.audioDomNode=null;let e="default"==_r.speakerId?"":_r.speakerId;T.default.AudioNode.connect(this.audioCtx.destination);let t=Date.now();this.selectComputerAudioSpeaker(e,t)}try{T.default.SharingAudioNode&&(T.default.SharingAudioNode.postCMD("stopWorklet",!0),T.default.SharingAudioNode.port=null,T.default.SharingAudioNode.disconnect(),T.default.SharingAudioNode=null)}catch(e){Ll("SharingAudioNode.port",e)}this.sharingAudioCtx&&(this.sharingAudioCtx.close(),this.isSharingCaptureNodeConnect=!1),this.sharingAudioCtx=null,this.screenShareAudioPreviewElement&&this.screenShareAudioPreviewElement.pause()}T.default.DesktopAudioStatus=R.a.DesktopAudio_Null,T.default.Notify_APPUI(a.LEAVE_DESKTOP_AUDIO_COMPLETE,null)}break;case a.START_REMOTE_CONTROL:{Ll("sdk start remote control 1");let e=this.sharingWidthAndHeightInfo,i=new vi.a(Object.assign({dom:document},t));return this.remoteControl=i,Ll("sharingInfo",e),i.setDstWidthAndHeight(e.logicWidth,e.logicHeight),i.setSrcWidthAndHeight(e.logicWidth,e.logicHeight),i.setSrcScaleWidthAndHeight(t.scaleWidth,t.scaleHeight),i.setSrcOffsetXY(t.srcOffsetX,t.srcOffsetY),i.setRemoteOS(t.os),i.start().then(e=>(T.default.Notify_APPUI(e?a.START_REMOTE_CONTROL_SUCCESS:a.START_REMOTE_CONTROL_FAILED),e&&(i.onPasteTextLengthOverflow((function(){T.default.Notify_APPUI(a.REMOTE_CONTROL_PASTE_TEXT_LENGTH_OVERFLOW)})),i.onReturnCopiedText(e=>{Ll(e),T.default.Notify_APPUI(a.REMOTE_CONTROL_COPIED_TEXT_NOTIFY,e)})),e)).catch(e=>(Ll(e),T.default.Notify_APPUI(a.START_REMOTE_CONTROL_FAILED),v.default.error("An error occurred when trying to start remote control",e),A.default.add_monitor("RMCTF"),Promise.reject(e)))}case a.CANCEL_REMOTE_CONTROL:return this.remoteControl.destroy().then(e=>(T.default.Notify_APPUI(e?a.CANCEL_REMOTE_CONTROL_SUCCESS:a.CANCEL_REMOTE_CONTROL_FAILED),e));case a.UPDATE_REMOTE_CONTROL_PROPERTIES:this.remoteControl&&(t.scaleWidth&&t.scaleHeight&&this.remoteControl.setSrcScaleWidthAndHeight(t.scaleWidth,t.scaleHeight),(Ti()(t.srcOffsetX)||Ti()(t.srcOffsetY))&&this.remoteControl.setSrcOffsetXYAndSendPDU(t.srcOffsetX,t.srcOffsetY),Ai()(t.isControllerNow)&&this.remoteControl.setIsControlerNow(t.isControllerNow),Ti()(t.os)&&this.remoteControl.setRemoteOS(t.os));break;case a.RESEND_REMOTE_CONTROL_POSITION_PDU:this.remoteControl&&this.remoteControl.sendPostionPDU();break;case a.START_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,t.mode?this.isSharingSupportImageCapture=g.default.isSupportImageCapture():this.isSharingSupportImageCapture=!1,this.isStartDesktopSharing)return;{xt(T.default.e2eencrypt),this.isStartDesktopSharing=!0,this.desktopSharingSend=!0;const{dom:e,id:i}=Object(g.parseDOMParams)(t.canvas);t.canvas&&(t.rendercanvasID=i),this.isSupportSharingTrackReader||this.isSupportMediaStreamTrackProcessor?t.video=e:(t.video=Object(g.parseDOMParams)(t.video).dom,t.canvas=e),this.desktopSharingValue=t,this.Start_Desktop_Sharing()}break;case a.STOP_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,T.default.shareSystemAudio=!1,this.sharingTrackReader)try{this.sharingTrackReader.stop()}catch(e){}if(!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.StopSharingCapture(),this.isSupportVideoShare?Wt({command:"stopsharing"}):Bt({command:"stopsharing"});break;case a.PAUSE_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!1,!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.isSupportVideoShare?Wt({command:"pause"}):Bt({command:"pause"});break;case a.RESUME_DESKTOP_SHARING:if(this.flipSend=!0,this.canISendNextSharingFrame=!0,!this.isStartDesktopSharing)return;this.desktopSharingSend=!0,this.isSupportMediaStreamTrackProcessor||this.isSupportSharingTrackReader||this.Process_Sharing(),this.isSupportVideoShare?Wt({command:"resume"}):Bt({command:"resume"});break;case a.START_STOP_REMOTE_CONTROL_CHECK:if(!window.WebQrscanner)return void console.error("qrScanner not loaded");A.default.add_monitor("QRSCAN:".concat(t.enable)),t.enable&&this.desktopSharingMediaStram?WebQrscanner.qrScanner.start(this.desktopSharingValue.video,e=>{T.default.Notify_APPUI_SAFE(a.SEND_REMOTE_CONTROL_QR_CODE,e)},()=>{A.default.add_monitor("QRSCANTIMEOUT")}):WebQrscanner.qrScanner.stop();break;case a.START_SHARING_WHITEBOARD:{this.isStartWhiteboardSharing=!0;const{dom:e,id:i}=Object(g.parseDOMParams)(t.canvas);if(t.canvas&&(t.rendercanvasID=i),this.isStartDesktopSharing)return;xt(T.default.e2eencrypt),t.video=t.canvas=e,this.isStartDesktopSharing=!0,this.desktopSharingSend=!0,this.desktopSharingValue=t,this.Start_Whiteboard_Sharing()}break;case a.STOP_SHARING_WHITEBOARD:if(this.isStartWhiteboardSharing=!1,!this.isStartDesktopSharing)return;this.desktopSharingSend=!1,this.isStartDesktopSharing=!1,Bt({command:"stopsharing"});break;case a.CHECK_CHROME_SHARING_EXTENSION:var Z=document.createElement("img");Z.src="chrome-extension://kgjfgplpablkjnlkjmjdecgdpfankdle/images/trash.png",Z.onload=function(){T.default.Notify_APPUI(a.CHECK_CHROME_SHARING_EXTENSION_RESPONSE,!0)},Z.onerror=function(){T.default.Notify_APPUI(a.CHECK_CHROME_SHARING_EXTENSION_RESPONSE,!1)};break;case a.COMMAND_SOCKET_MESSAGE_NOTIFY:if(t.evt===a.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT||t.evt===a.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT){if(Ll("rwg answer from ui",t),!t.answer)return;switch(t.answer.type){case R.h.ZOOM_CONNECTION_VIDEO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_VIDEO_OFFER_RESPONSE_EVT,t);break;case R.h.ZOOM_CONNECTION_AUDIO:C.a.trigger(a.PUBSUB_EVT.ZOOM_CONNECTION_AUDIO_OFFER_RESPONSE_EVT,t)}}else t.evt===a.WS_CONF_AB_TOKEN_RES&&t.body&&t.body.token&&C.a.trigger(a.PUBSUB_EVT.AUDIO_BRIDGE_WS_TOKEN,t.body.token);break;case a.USER_NODE_LIST:he(t.userList),!this.setvideokk&&t.encryptKey&&(this.setvideokk=!0,Jt(R.f.VIDEO_DECODE,{KK:t.encryptKey},"MAIN_KK",!1,!0),Jt(R.f.VIDEO_ENCODE,{KK:t.encryptKey},"MAIN_KK",!1,!0));break;case a.AUIOD_INTERPRETATION_MUTE:wt(t.mute);break;case a.AUDIO_INTERPRETATION_SELECT_LANGUAGE:Dt(t.lang);break;case a.AUDIO_INTERPRETATION_LIST_INFO:yt(t.interpreterList);break;case a.AUDIO_INTERPRETATION_ENABLE:bt(t.enable);break;case a.VIDEO_ENABLE_DECODE_HW:t.enable&&this.isEnableVideoDecodeHardWareThread&&(null!==this.videodecodehardwareflag||(this.videodecodehardwareflag=await g.default.IsSupportVideoDecodeHardwareAcceleration(T.default.enableHADecOpt)),t.enable=this.videodecodehardwareflag),gt({command:"hwstatus",enable:t.enable});break;case a.VIDEO_ENABLE_ENCODE_HW:if(T.default.disableHWCodec&s.WEBCODEC_ENCODE_OFF)break;t.enable&&this.videoencodehardwareflag&&(!this.isAppleGraphic||g.default.isChromeVersionHigherThan(116)||this.doesSafariSupportWebcodec())?t.enable=!0:t.enable=!1,_t({command:"hwstatus",enable:t.enable});break;case"update_videohd_value":this.isVideoHD=!(null==t||!t.videohd),this.webrtcConfig.webrtcflag?this.wmscManager&&this.wmscManager.sendMessageToWMSC({type:"UPDATE_WMSC_PARAMS",data:{HDVideo:this.isVideoHD}}):(A.default.add_monitor("NoVideoHD"),!t.videohd&&this.videoencodehardwareflag&&(g.default.set720pcapacity(!1),A.default.add_monitor("CAPTURE720:"+!1),_t({command:"videohd",videohd:t.videohd})));break;case"update_videofullhd_value":A.default.add_monitor("UVFHD"+t.videofullhd),g.default.set1080pcapacity(t.videofullhd),_t({command:"videofullhd",videofullhd:t.videofullhd});break;case a.SET_DESKTOP_VOLUME:var $;if(this.useAudioBridge)null===($=this.audioBridge)||void 0===$||$.setShareVolumeLevel(t.userid,t.shareVolume,t.isFromMainSession);else It({command:"setShareVolumeLevel",userid:t.userid,shareVolume:t.shareVolume,isFromMainSession:t.isFromMainSession});break;case a.USER_NODE_LIST_IN_MAIN_SESSION:t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_DECODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,10,!1,!0):Jt(R.f.SHARING_DECODE,t,10,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_ENCODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_ENCODE,t,10,!1,!0):Jt(R.f.SHARING_ENCODE,t,10,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.AUDIO_DECODE&&Jt(R.f.AUDIO_DECODE,t,10,!1,!0);break;case a.UPDATE_MEDIA_PARAMS:t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_DECODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,9,!1,!0):Jt(R.f.SHARING_DECODE,t,9,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.SHARING_ENCODE&&(this.isSupportVideoShare?Jt(R.f.VIDEO_ENCODE,t,9,!1,!0):Jt(R.f.SHARING_ENCODE,t,9,!1,!0)),t.mediaActionType==a.sdkIvTypeKeyEnum.AUDIO_DECODE&&Jt(R.f.AUDIO_DECODE,t,9,!1,!0);break;case a.SHARING_ADD_REV_CHANNEL_TYPE:this.isSupportVideoShare?Jt(R.f.VIDEO_DECODE,t,"SHARING_ADD_REV_CHANNEL_TYPE",!1,!0):Jt(R.f.SHARING_DECODE,t,"SHARING_ADD_REV_CHANNEL_TYPE",!1,!0);break;case a.SHARING_REMOVE_REV_CHANNEL_TYPE:this.isSupportVideoShare?Ct({command:"SHARING_REMOVE_REV_CHANNEL_TYPE",data:t}):At({command:"SHARING_REMOVE_REV_CHANNEL_TYPE",data:t});break;case a.BUILD_MS_CHANNEL_IN_BO:this.isSupportVideoShare?Ct({command:"BUILD_MS_CHANNEL_IN_BO",data:t}):At({command:"BUILD_MS_CHANNEL_IN_BO",data:t});break;case a.SWITCH_WATER_MARK_FLAG:{const{type:e}=t;e?e===R.b.VIDEO?this.SWITCH_VIDEO_WATER_MARK(t):e===R.b.SHARING&&this.SWITCH_SHARING_WATER_MARK(t):(this.SWITCH_VIDEO_WATER_MARK(t),this.SWITCH_SHARING_WATER_MARK(t))}break;case a.AUDIO_CC_SELECT_LANGUAGE:var ee;if(this.useAudioBridge)null===(ee=this.audioBridge)||void 0===ee||ee.set_CC_lang(t.lang);else Ot(t.lang);break;case a.BUILD_MA_CHANNEL_IN_BO:It({command:"BUILD_MA_CHANNEL_IN_BO",data:t});break;case a.ENABLE_SHARE_TO_BO:var te;if(A.default.add_monitor("ESTB:"+t.enable),this.useAudioBridge)null===(te=this.audioBridge)||void 0===te||te.enableShareToBO(t.enable);else Tt({command:"ENABLE_SHARE_TO_BO",data:t.enable});break;case a.ENABLE_BROADCAST_TO_BO:var ie;if(A.default.add_monitor("EBTB:"+t.enable),this.useAudioBridge)null===(ie=this.audioBridge)||void 0===ie||ie.enableBroadCastToBO(t.enable);else Tt({command:"ENABLE_BROADCAST_TO_BO",data:t.enable});break;case a.WEBGL_LOST_REPLACE_CANVAS:{let e=Object(g.parseDOMParams)(t.canvasId).dom;if(t.canvas&&(e=t.canvas),!e)return;let i=null;const r=this.replaceCanvasMap.videoDecodeCanvasIds&&-1!==this.replaceCanvasMap.videoDecodeCanvasIds.indexOf(t.canvasId),a=this.replaceCanvasMap.videoEncodeCanvasIds&&-1!==this.replaceCanvasMap.videoEncodeCanvasIds.indexOf(t.canvasId);if(t.canvasId===this.replaceCanvasMap.videoMaskSettingCanvasId?i=T.default.localVideoEncMGR:t.canvasId===this.replaceCanvasMap.sharingMainCanvasId?i=this.isSupportVideoShare?T.default.localVideoDecMGR:T.default.localSharingDecMGR:t.canvasId===this.replaceCanvasMap.sharingPreviewCanvasId?i=T.default.localSharingEncMGR:(a||r)&&(i=a?T.default.localVideoEncMGR:T.default.localVideoDecMGR,this.lazyReplaceEncodeCanvasTimer&&(clearTimeout(this.lazyReplaceEncodeCanvasTimer),this.lazyReplaceEncodeCanvasTimer=null),this.lazyReplaceEncodeCanvasTimer=setTimeout(()=>{let e=T.default.localVideoEncMGR;if(e){let t=e.map.get(T.default.SPECIAL_ID);t&&t.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS"})}let t=T.default.localSharingEncMGR;if(t){let e=t.map.get(T.default.SPECIAL_ID);e&&e.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS"})}if(this.videoCaptureHiddenCanvas){const{width:e,height:t}=this.videoCaptureHiddenCanvas;g.default.isSupport2dOffscreenCanvas()?this.videoCaptureHiddenCanvas=new OffscreenCanvas(e,t):(this.videoCaptureHiddenCanvas=document.createElement("canvas"),this.videoCaptureHiddenCanvas.width=e,this.videoCaptureHiddenCanvas.height=t),this.videoCaptureHiddenCanvasCtx=this.videoCaptureHiddenCanvas.getContext("2d")}if(this.bgCanvas){const{width:e,height:t}=this.bgCanvas;this.bgCanvas=document.createElement("canvas"),this.bgCanvas.width=e,this.bgCanvas.height=t,this.bgCanvasctx=this.bgCanvas.getContext("2d"),!this.VideoMaskSettingCanvas&&this.PrevVideoMaskSettingCanvas?(this.VideoMaskSettingCanvas=this.PrevVideoMaskSettingCanvas,this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height),this.VideoMaskSettingCanvas=null):this.Update_Mask_Texture(this.maskCoordinate,this.videoCaptureHiddenCanvas.width,this.videoCaptureHiddenCanvas.height)}},500)),i)try{var re=e.transferControlToOffscreen(),ae=i.map.get(T.default.SPECIAL_ID);ae&&ae.postMessage({command:"WEBGL_LOST_REPLACE_CANVAS",data:{canvasId:t.canvasId,canvas:re}},[re])}catch(e){}break}case a.CHANGE_HID_ENABLE:A.default.add_monitor("CHIDE:"+t.enable),this.enableHID=t.enable,t.enable?(this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1),t.microphoneLabel&&(this.hidAvalible=await Dr.init(t.microphoneLabel,t.defaultMuted))):this.hidAvalible&&(await Dr.destroy(),this.hidAvalible=!1);break;case a.ENABLE_VIDEO_OBSERVER:gt({command:"ENABLE_VIDEO_OBSERVER",data:t.enable,enablefps:!t.fpsdisbale});break;case a.SWITCH_SHARING_TYPE:_t({command:"SWITCH_SHARING_TYPE",data:t.mode});break;case a.SET_OTHER_AUDIO_VOLUME_LEVEL:var se;if(this.useAudioBridge)null===(se=this.audioBridge)||void 0===se||se.setSpeechVolumeLevel(t.userId,t.volume);T.default.decoderinworklet?T.default.AudioNode&&T.default.AudioNode.postCMD("setSpeechVolumeLevel",{userid:t.userId>>10,volume:t.volume}):It({command:"setSpeechVolumeLevel",userid:t.userId>>10,volume:t.volume});break;case a.USER_NODE_AUDIO_STATUS_LIST:var oe;if(this.useAudioBridge)null===(oe=this.audioBridge)||void 0===oe||oe.updateUserMuteUnmuteStatus(t);break;case a.MOVE_PTZ_CAMERA:Ul._updateVideoConstraints({advanced:[t]});break;case a.NOTIFY_SDK_JOIN_RWG_SUCCESS:this._SaveSystemInfo(),T.default.clearMessageToRwg();break;case a.ENABLE_REUSE_STREAM:Ul.enableReuseStream(t.enable);break;case a.PRESET_MEDIA_CONSTRAINTS:Ul.presetConstraints(t||{});break;case a.DESTORY_REUSE_STREAM:Ul.destoryReuseStream({audio:t&&t.audio,video:t&&t.video});break;case a.WHITEBOARD_JOIN_MESSAGE:{let e={command:"WHITEBOARD_JOIN_MESSAGE",data:t.message,nodeId:t.nodeId,encryptKey:t.encryptKey,sn:t.sn,dcsId:t.dcsId,EncodedSn:t.EncodedSn};this.isSupportVideoShare?Gt(e):Ft(e)}break;case a.STOP_AUDIO_INCOMING:var ne;if(this.useAudioBridge)null===(ne=this.audioBridge)||void 0===ne||ne.stopIncomingAudio(t);else T.default.decoderinworklet?It({command:"stop_audio_incoming",stopPlayAudio:t}):T.default.AudioNode&&T.default.AudioNode.postCMD("stop_audio_incoming",t);break;case a.MOBILE_ROTATE:if(this.isLandScape=t.isLandScape,!Ul.videoStreamTrack)return;this.isLandScape&&this.captureSize&&this.Change_Video_Capture_Resolution(this.captureSize.width,this.captureSize.height);break;case a.SAVE_LOCAL_LOG:this.localLog&&this.localLog.saveAllLogFiles();break;case a.AUDIO_JOIN_SUCCESS:if(Ul&&Ul.audioStream){let e=Ul.audioStream.getAudioTracks()[0];e&&(e.muted||"live"!==e.readyState)&&Object(J.NotifyUIError)(a.AUDIO_STREAM_FAILED,J.CAPTURE_ERROR_TYPE.EXCEPTION)}break;case a.REMOVE_EXPIRED_CANVAS:{const e=T.default.localVideoDecMGR,i=T.default.SPECIAL_ID;if(e){const r=e.map.get(i);if(r){const e={command:"removeExpiredCanvas",rendercanvasID:t.canvasId};r.postMessage(e)}}}break;case a.UI_SUBSCRIBE_VIDEO:this.webrtcConfig.webrtcflag?(A.default.add_monitor("WMSC_UI_S_V: ".concat(Object(g.replaceComma)(JSON.stringify(t)))),this.wmscManager&&Array.isArray(t)&&t.length>0&&this.wmscManager.sendMessageToWMSC({type:"NOTIFY_SDK_SUBSCRIBE_VIDEO",data:t})):T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.WS_VIDEO_MULTI_SUBSCRIBE_REQ,body:{subInfoList:t}});break;case a.UI_UNSUBSCRIBE_VIDEO:Array.isArray(t)&&t.length>0&&(this.webrtcConfig.webrtcflag&&this.wmscManager?(A.default.add_monitor("WMSC_UI_UNS_V: ".concat(Object(g.replaceComma)(JSON.stringify(t)))),this.wmscManager.sendMessageToWMSC({type:"NOTIFY_SDK_UNSUBSCRIBE_VIDEO",data:t})):T.default.sendMessageToRwg(a.SEND_MESSAGE_TO_RWG,{evt:a.WS_VIDEO_MULTI_UNSUBSCRIBE_REQ,body:{subIDList:t}}));break;case a.ON_HOLD:var de,ue;if(A.default.add_monitor("HOLD:".concat(null==t?void 0:t.hold,":").concat(null==t?void 0:t.userid,":").concat(null==t?void 0:t.reinit)),!t.hold&&this.isSupportVideoShare)null===(de=T.default.sharingDecInitInstance)||void 0===de||de.resetHandleDeferred(),null===(ue=T.default.sharingEncInitInstance)||void 0===ue||ue.resetHandleDeferred();t&&!t.userid&&(t.userid=this.userId),ci(this,t),!t.hold&&t.userid&&(this.userId=t.userid),t.hold&&this.SessionHold(),T.default.videoEncodeSession=null,T.default.videoDecodeSession=null,T.default.sharingDecodeSession=null,T.default.sharingEncodeSession=null,T.default.audioDecodeSession=null,T.default.audioEncodeSession=null;break;case a.SET_ALL_SPEECH_VOLUME:T.default.decoderinworklet?T.default.workletWasmInitSuccess&&T.default.AudioNode?T.default.AudioNode.postCMD(131,{volume:t}):T.default.workletMessageQueue.enqueue({command:131,volume:t}):It({command:131,volume:t});break;case a.ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY:A.default.add_monitor("ENABLE_FILE_AUDIO_PLAYBACK_LOCALLY: ".concat(t)),this.setFileAudioPlaybackSwitch(t);break;case a.RWG_COMMAND_BYPASS_TO_WCL:fi(this,t);break;case a.REQUEST_PERMISSION:{let e=setTimeout(()=>{T.default.Notify_APPUI_SAFE(a.REQUEST_PERMISSIOM_POP_REMINDER),clearTimeout(e),e=null},t||2e3);try{let t=await navigator.mediaDevices.getUserMedia({audio:!0,video:!0});t.getTracks().forEach(e=>e.stop()),t=null,e&&(clearTimeout(e),e=null),this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.GRANTED_AUDIO_VIDEO)}catch(t){try{let t=await navigator.mediaDevices.getUserMedia({audio:!0});e&&(clearTimeout(e),e=null),t.getTracks().forEach(e=>e.stop()),t=null,this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.GRANTED_AUDIO)}catch(t){e&&(clearTimeout(e),e=null);const{errorCode:i}=Hl(t);i===a.CAPTURE_FAILED_REASON.USER_DENIED?this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.DENIED):i===a.CAPTURE_FAILED_REASON.USER_DISMISS?this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.DISMISS):this.requestPermissionCallback(a.REQUEST_PERMISSION_STATUS.EXCEPTION_FAILS)}}break}default:Ll("CAN NOT HANDLE THE EVENT!")}},requestPermissionCallback:function(e){T.default.Notify_APPUI_SAFE(a.REQUEST_PERMISSION_RESULT,e)},setFileAudioPlaybackSwitch:function(e){e?(this.fileAudioPlaybackTag||(this.fileAudioPlaybackTag=new Audio),this.updateFileAudioPlaybackStream(Ul.audioStream)):this.fileAudioPlaybackTag&&(this.fileAudioPlaybackTag.pause(),this.fileAudioPlaybackTag=null)},updateFileAudioPlaybackStream:function(e){var t;if(Ul.isCaptureAudioFromFile){if(e&&this.fileAudioPlaybackTag){this.fileAudioPlaybackTag.srcObject!==e&&(this.fileAudioPlaybackTag.srcObject=e);const t="default"===_r.speakerId||null===_r.speakerId?"":_r.speakerId;this.fileAudioPlaybackTag.setSinkId&&this.fileAudioPlaybackTag.sinkId!==t&&this.fileAudioPlaybackTag.setSinkId(t).catch(e=>{v.default.error("fileAudioPlaybackTag setSinkId error when update stream")}),this.fileAudioPlaybackTag.play().catch(e=>{v.default.error("self audio playback failed",e)})}}else null===(t=this.fileAudioPlaybackTag)||void 0===t||t.pause()},SWITCH_VIDEO_WATER_MARK:function(e){this.videoWaterMarkParams=e;const{enableWaterMark:t,waterMarkText:i="",watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}=e;this.isCreateVideoWaterMark=!!t,this.videoWaterMarkName=this.isCreateVideoWaterMark?i:"",this.VideoRenderObj?(t?this.isCreateVideoWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")):this.VideoRenderObj.Set_WaterMark_Flag(t),this.VideoRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})):gt({command:"SWITCH_WATER_MARK_FLAG",isCreateVideoWaterMark:this.isCreateVideoWaterMark,videoWaterMarkName:this.videoWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}),g.default.watermark.updateWaterMarkInfo(e)},SWITCH_SHARING_WATER_MARK:function(e){this.sharingWaterMarkParams=e;const{enableWaterMark:t,waterMarkText:i="",watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}=e;this.isCreateSharingWaterMark=!!t,this.sharingWaterMarkName=this.isCreateSharingWaterMark?i:"",this.SharingRenderObj?(t?this.isCreateSharingWaterMark&&!this.waterMarkCanvas&&(this.waterMarkCanvas=document.createElement("canvas")):this.SharingRenderObj.Set_WaterMark_Flag(t),this.SharingRenderObj.Set_WaterMark_Info({waterMarkCanvas:this.waterMarkCanvas,isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})):this.isSupportVideoShare?Ct({command:"SWITCH_SHARING_WATER_MARK_FLAG",isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s}):At({command:"SWITCH_WATER_MARK_FLAG",isCreateSharingWaterMark:this.isCreateSharingWaterMark,sharingWaterMarkName:this.sharingWaterMarkName,watermarkOpacity:r,watermarkRepeated:a,watermarkPosition:s})},JsMediaSDK_VideoRenderInterval:function(e){return this.VideoRenderObj.Start_Draw.bind(this.VideoRenderObj)(s.SET_INTERVAL_MODE,e)},JsMediaSDK_SharingRenderInterval:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];var i=this.SharingRenderObj.No_Bindthis_Interval.bind(this.SharingRenderObj),r=setInterval(i,t?20:e);return r},getShareStreamInfo:function(){if(!this.desktopSharingMediaStram)return null;const e=this.desktopSharingMediaStram.getVideoTracks();if(!e.length)return null;if(e[0].getSettings){let t=e[0].getSettings()||null;return t&&this.sharingCodecInfo.width&&this.sharingCodecInfo.height&&(t.width=this.sharingCodecInfo.width,t.height=this.sharingCodecInfo.height),t}return null},onUnload:function(e){const t=this.rendererType==wi.j.WEBGPU;v.default.log("window.onunload:".concat(this._id,", webGPU:").concat(t)),A.default.add_monitor("window.onunload:".concat(this._id,", webGPU:").concat(t)),t&&this.destroy().catch(e=>{})},handleUnloadEvent(){this.unloadHandler=this.onUnload.bind(this),window.addEventListener("unload",this.unloadHandler)},async destroy(){var e;(Ll("destroy"),window.removeEventListener("unload",this.unloadHandler),this.destoryPromise)?await this.destoryPromise:(T.default.extVBPort&&T.default.extVBPort.postMessage({type:a.UNIFIED_VB_PAUSE}),null===(e=te.instance)||void 0===e||e.close(),$(()=>{}),Object(g.updateAudioProbResult)(),document.removeEventListener("visibilitychange",xl),this.isDestroy=!0,this.destoryPromise=new Promise(async(e,t)=>{try{var i;v.default.log("DelInstance:".concat(this._id)),T.default._callbackList=[],T.default._Notify_APPUI=null,T.default.localVideoPara.VE=null,T.default.localVideoPara.VD=null,A.default.add_monitor("DelInstance:".concat(this._id)),Object(J.SetNotifyUIFn)(null),this.wmscManager&&(this.wmscManager.destroy(),this.wmscManager=null),null===(i=this.annotationMgr)||void 0===i||i.destroy(),this.annotationMgr=null;let e=this;Ut(),C.a.clearAllSubscriptions(),me.clear(),T.default.destroyQueueMessageToRwg(),this.audioInputLevel&&(this.audioInputLevel.destroy(),this.audioInputLevel=null),this.audioBridge&&(this.audioBridge.destroy(!1),this.audioBridge=null,Ul.audioBridge=null),this.EndMedia(),function(){let e=K.dataTransportMgr;Object.keys(e.refs).forEach(t=>{let i=e.refs[t];delete e.refs[t],i.worker.removeEventListener("message",i.listener)}),e.reinit()}(),this.dataChannelController.remoteTransportListener(),function(e){let t=K.dataTransportMgr;t.mediadatachannel.netthreadworker&&(t.mediadatachannel.netthreadworker.destroy(),t.mediadatachannel.netthreadworker=null)}(),this.computePressureManager&&this.computePressureManager.destroy();let t=[T.default.localVideoDecMGR,T.default.localVideoEncMGR,T.default.localSharingDecMGR,T.default.localSharingEncMGR],r=[T.default.localAudioDecMGR,T.default.localAudioEncMGR];jt([T.default.sharingDecInitInstance,T.default.sharingEncInitInstance,T.default.videoDecInitInstance,T.default.videoInitInstance,T.default.audioDecInitInstance,T.default.audioEncodeInitInstance]),Yt(t,r);try{await new Promise((function(t,i){let r=setTimeout(()=>t(),1e3);Promise.all(e.allpromises).finally(()=>{clearTimeout(r),t()})}))}catch(e){console.error(e)}ve(R.h.ZOOM_CONNECTION_AUDIO,R.d.NET_WEBTRANSPORT),ve(R.h.ZOOM_CONNECTION_VIDEO,R.d.NET_WEBTRANSPORT),await qt(this,t,r),this.hidAvalible&&await Dr.destroy(),Nl.ProcessorManager.resetProcessorManager(),this.processorWorker&&(this.processorWorker.onmessage=null,this.processorWorker.terminate(),this.processorWorker=null),await Xt(t,r)}catch(e){v.default.error("destroy instance ".concat(this._id," error"),e)}e()}),await this.destoryPromise)},async isWebGPURendererType(){return await g.default.evaluateRendererType(this.isWebGPUFeatureEnabled,this.isWebGL2FeatureEnabled)==wi.j.WEBGPU},addVbReceiver(e){_t({command:"addExtVbReceiver"}),T.default.extVBPort&&(T.default.extVBPort.onmessage=null),T.default.extVBPort=e,T.default.frameReceived=0,T.default.frameSent=0,e.onmessage=e=>{const{type:t}=e.data;t===a.UNIFIED_VB_ACK&&T.default.frameReceived++},A.default.add_monitor("EVBA")},removeVbReceiver(){_t({command:"removeExtVbReceiver"}),T.default.extVBPort&&(T.default.extVBPort.postMessage({type:a.UNIFIED_VB_STOP}),T.default.extVBPort.onmessage=null,T.default.extVBPort=null),A.default.add_monitor("EVBR")},SessionHold(){if(!this.VideoRenderObj)return;let e=this.VideoRenderObj.clearColor.map(e=>e/255);for(;this.videoRenderArray.length>0;){let t=this.videoRenderArray.shift();this.StopUserVideoRender(this.VideoRenderObj,[t],e,!0)}},StopUserVideoRender(e,t,i,r){e&&(r&&e.clearUseridRender(t,i),T.default.enableMultiDecodeVideoWithoutSAB&&e.GiveBack_Display(t),e.Set_Render_Array(this.videoRenderArray,T.default.enableMultiDecodeVideoWithoutSAB),0==this.videoRenderArray.length&&(gt({command:"stopVideoRender",MFlag:!0}),this.Stop_Video_Play()))},_SaveSystemInfo:function(){try{A.default.add_monitor("JSBN:".concat(Kl.buildNumber,",").concat(Kl.fixVersion)),A.default.add_monitor("NewInstance:".concat(this._id)),v.default.directReport("MediaSDK Version:".concat(Kl.fixVersion)),Nt()}catch(e){Ll(e)}},async updateWebRTCVideoStream(e){var t;null!==(t=this.wmscManager)&&void 0!==t&&t.vbSettingVideoDom&&(this.wmscManager.vbSettingVideoDom.srcObject=e),this.isStartVideoCapture&&this.wmscManager.streamId!==e.id&&this.handleWebRTCStream("fromVBModule",e)},onAnnotationPdu:function(e){this.annotationMgr&&this.annotationMgr.onRWGMessage(e)},sendAnnotationPdu:function(e,t){t||(this.isSupportVideoShare?Ct(e):At(e))},beforeReportToGlobalTracing:function(){this.wmscManager&&this.wmscManager.reportWMSCPeerConnectionRawStats()},workrtHealthCheckReport(e,t){var i,r;"net"==e&&(null===(i=this.audioDataChannel)||void 0===i||i.resetDataChannelTransfered(null),null===(r=this.videoDataChannel)||void 0===r||r.resetDataChannelTransfered(null),function(e){te.instance&&te.instance.unRegisterWorker(e)}(e));let a="WORKERZOMBIE:".concat(e,":").concat(t);A.default.add_monitor(a),v.default.error(a)},onSharingSizeChange(e){this.sharingCodecInfo.width=e.width,this.sharingCodecInfo.height=e.height},isEnableAutoJoinAudio(){return!(g.default.isMac()&&g.default.browser.isSafari&&!this.audioBridge&&!g.default.isSafariVersionHigherThan("18.0"))},notifyUISetSpeakerError(e){this.audioSpeakerSetErrorCnt++,v.default.error("setSinkId failed ".concat(this.audioSpeakerSetErrorCnt," times, current speaker ").concat(e.currentSink,", reason = ").concat(e.reason)),this.audioSpeakerSetErrorCnt<=3&&T.default.Notify_APPUI(a.AUDIO_SPEAKER_SET_ERROR,e)},notifyUISetMicError(e){this.audioMicSetErrorCnt++,v.default.error("setSinkId failed ".concat(this.audioMicSetErrorCnt," times, current mic ").concat(e.currentMic,", reason = ").concat(e.reason)),this.audioMicSetErrorCnt<=3&&T.default.Notify_APPUI(a.AUDIO_MIC_SET_ERROR,e)},async initVideoProcessorWorker(){if(!this.processorWorker){const r=kl.substring(0,kl.lastIndexOf("/"))+"/video_processor.min.js",a=await fetch(r),s=await a.arrayBuffer(),o=URL.createObjectURL(new Blob([s],{type:"text/javascript"}));this.processorWorker=new Worker(o,{name:"video-processor"}),URL.revokeObjectURL(o),this.processorWorker.addEventListener("message",e=>{const t=e.data;t.cmd==Vl.VideoProcessorEvent.PROCESSOR_WORKER_ERROR&&A.default.add_monitor("PCWE"+t.data)});const n=new MessageChannel;var e,t,i;if(this.processorWorker.postMessage({command:Vl.VideoProcessorWorkerEvent.ADD_VIDEO_PORT,data:n.port1},[n.port1]),this.webrtcConfig.webrtcflag||g.default.isSelfPreviewRenderWithVideo())this.processorMessagePort=n.port2;else if(null===(e=T.default.localVideoEncMGR)||void 0===e||null===(e=e.map)||void 0===e||null===(t=e.get)||void 0===t||null===(t=t.call(e,T.default.SPECIAL_ID))||void 0===t||null===(i=t.postMessage)||void 0===i||i.call(t,{command:"processor_message_port",data:n.port2},[n.port2]),!this.checkIsRenderInWorker()||g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0)){const e=new MessageChannel;this.processorWorker.postMessage({command:Vl.VideoProcessorWorkerEvent.ADD_SHADOW_PORT,data:e.port1},[e.port1]),this.shadowProcessorMessagePort=e.port2}}},processorInited:(e,t)=>new Promise(i=>{const r=a=>{a.data.name===e&&(a.data.cmd===Vl.VideoProcessorWorkerEvent.PROCESSOR_READY?(i(!0),t.removeEventListener("message",r)):a.data.cmd===Vl.VideoProcessorWorkerEvent.PROCESSOR_ERROR&&(i(!1),t.removeEventListener("message",r)))};try{t.addEventListener("message",r)}catch(e){console.error(e)}}),async addProcessor(e){let{url:t,name:i,type:r="video",options:a}=e;if("video"===r&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions)){await this.initVideoProcessorWorker();const e=new MessageChannel;e.port1.start(),this.processorWorker.postMessage({url:t,name:i,command:Vl.VideoProcessorWorkerEvent.ADD_VIDEO_PROCESSOR,port:e.port2,options:a},[e.port2]);if(await this.processorInited(i,this.processorWorker))return{name:i,type:r,port:e.port1}}return null},startProcessor(e){let{name:t,type:i}=e;if(A.default.add_monitor("SPMV"),"video"===i&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions))if(this.webrtcConfig.webrtcflag||g.default.isSelfPreviewRenderWithVideo()){var r,a,o;if(Nl.ProcessorManager.addCallback(t,(e,t)=>{e==Vl.VideoProcessorEvent.RESOLUTION_CHANGE&&Ul.onVBResolutionChange&&Ul.onVBResolutionChange(t)}),Nl.ProcessorManager.addFrameCallback(t,e=>{Et({command:"yuvVideoFrame",data:e,rotation:0},[e]),e.close()}),Nl.ProcessorManager.startProcessor(t,new Pl.MediaStreamVideoProcessorAgent(t,this.processorMessagePort,this.platformType==s.WCL_PLATFORM_TYPE.IPHONE,!this.webrtcConfig.webrtcflag)),Ul.videoStream){Nl.ProcessorManager.removeStream(),Nl.ProcessorManager.setStream(Ul.videoStream);const e=Nl.ProcessorManager.getStream();Ul.processedStream=e,this.webrtcConfig.webrtcflag?this.updateWebRTCVideoStream(e):this.render_self_video_wasm()}null===(r=T.default.localVideoEncMGR)||void 0===r||null===(r=r.map)||void 0===r||null===(a=r.get)||void 0===a||null===(a=a.call(r,T.default.SPECIAL_ID))||void 0===a||null===(o=a.postMessage)||void 0===o||o.call(a,{command:137,flag:!0})}else{var n,d,u;null===(n=T.default.localVideoEncMGR)||void 0===n||null===(n=n.map)||void 0===n||null===(d=n.get)||void 0===d||null===(d=d.call(n,T.default.SPECIAL_ID))||void 0===d||null===(u=d.postMessage)||void 0===u||u.call(d,{command:"start_processor",name:t}),this.checkIsRenderInWorker()&&!g.apiSupportUtility.getIsRenderSelfVideoInEncodeWorker(!0)||(Nl.ProcessorManager.addFrameCallback(t,e=>{var t;let i=Bl;Ul.facingMode==s.FACE_MODE_ENVIRONMENT&&(2==Bl?i=0:0==Bl&&(i=2)),Ul.isUsingFileInputVideoSource()&&(i=0),null===(t=this.VideoRenderObj)||void 0===t||t.Update_LocalVideo(e,i,!0),e.close()}),Nl.ProcessorManager.startProcessor(t,new Pl.ShadowVideoFrameProcessor(t,this.shadowProcessorMessagePort)))}},stopProcessor(e){let{name:t,type:i}=e;if(A.default.add_monitor("EPMV"),"video"===i&&g.default.isSupportVideoProcessor(this.mediaFeatureOptions)){var r,a,s,o,n,d;if(!this.webrtcConfig.webrtcflag)null===(o=T.default.localVideoEncMGR)||void 0===o||null===(o=o.map)||void 0===o||null===(n=o.get)||void 0===n||null===(n=n.call(o,T.default.SPECIAL_ID))||void 0===n||null===(d=n.postMessage)||void 0===d||d.call(n,{command:"stop_processor",name:t});Nl.ProcessorManager.stopProcessor(t),!Nl.ProcessorManager.hasProcessor()&&Ul.videoStream&&(Ul.processedStream=null,this.webrtcConfig.webrtcflag?this.updateWebRTCVideoStream(Ul.videoStream):this.render_self_video_wasm()),null===(r=T.default.localVideoEncMGR)||void 0===r||null===(r=r.map)||void 0===r||null===(a=r.get)||void 0===a||null===(a=a.call(r,T.default.SPECIAL_ID))||void 0===a||null===(s=a.postMessage)||void 0===s||s.call(a,{command:137,flag:!1})}}};t.default=Kl}])}));
|
|
2
|
+
//# sourceMappingURL=https://d1cdksi819e9z7.cloudfront.net/sourcemap/js_media.min.js-722c6a98c1648e486f7a.map
|