mdm-client 1.0.0
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 +92 -0
- package/index.js +35 -0
- package/package.json +41 -0
- package/src/App.vue +246 -0
- package/src/assets/audio/moon_light.ogg +0 -0
- package/src/assets/font/DINPro-Medium.otf +0 -0
- package/src/assets/font/FZZhengHeiS-B-GB.ttf +0 -0
- package/src/assets/font/PingFang Regular.otf +0 -0
- package/src/assets/font/SourceHanSansCN-Regular.otf +0 -0
- package/src/assets/image/common/add_other_icon.png +0 -0
- package/src/assets/image/common/bottomFrame.png +0 -0
- package/src/assets/image/common/broadcastOn.png +0 -0
- package/src/assets/image/common/broadcastTask.png +0 -0
- package/src/assets/image/common/call.png +0 -0
- package/src/assets/image/common/call_user_mic_off_icon.png +0 -0
- package/src/assets/image/common/call_user_mic_on_icon.png +0 -0
- package/src/assets/image/common/cam-off.png +0 -0
- package/src/assets/image/common/cam-on.png +0 -0
- package/src/assets/image/common/cam_off_small.png +0 -0
- package/src/assets/image/common/camera.png +0 -0
- package/src/assets/image/common/cameraBtn1.png +0 -0
- package/src/assets/image/common/cameraBtn2.png +0 -0
- package/src/assets/image/common/cameraBtn3.png +0 -0
- package/src/assets/image/common/cameraBtn4.png +0 -0
- package/src/assets/image/common/cameraBtn5.png +0 -0
- package/src/assets/image/common/cameraBtn6.png +0 -0
- package/src/assets/image/common/cameraBtn7.png +0 -0
- package/src/assets/image/common/cameraClose.png +0 -0
- package/src/assets/image/common/cameraFull.png +0 -0
- package/src/assets/image/common/cameraOff.png +0 -0
- package/src/assets/image/common/cancel_icon.png +0 -0
- package/src/assets/image/common/card_blue.png +0 -0
- package/src/assets/image/common/card_grey.png +0 -0
- package/src/assets/image/common/chosen_icon.png +0 -0
- package/src/assets/image/common/chosen_icon_slided.png +0 -0
- package/src/assets/image/common/custom_layout_equipment_avatar.png +0 -0
- package/src/assets/image/common/custom_layout_user_avatar.png +0 -0
- package/src/assets/image/common/default_avatar.png +0 -0
- package/src/assets/image/common/default_avatar_mini.png +0 -0
- package/src/assets/image/common/delete-number.svg +3 -0
- package/src/assets/image/common/deviceIcon.png +0 -0
- package/src/assets/image/common/fourOff.png +0 -0
- package/src/assets/image/common/fourOn.png +0 -0
- package/src/assets/image/common/group.png +0 -0
- package/src/assets/image/common/groupManage.png +0 -0
- package/src/assets/image/common/histroy_meeting_icon.png +0 -0
- package/src/assets/image/common/icon-device.svg +12 -0
- package/src/assets/image/common/icon-monitor.svg +12 -0
- package/src/assets/image/common/icon-/345/260/217/347/250/213/345/272/217.svg +5 -0
- package/src/assets/image/common/icon-/345/272/224/347/255/224.svg +5 -0
- package/src/assets/image/common/icon-/350/247/206/351/242/221.svg +7 -0
- package/src/assets/image/common/input_search_icon.png +0 -0
- package/src/assets/image/common/launch_icon.png +0 -0
- package/src/assets/image/common/layout-active1.png +0 -0
- package/src/assets/image/common/layout-active2.png +0 -0
- package/src/assets/image/common/layout1.png +0 -0
- package/src/assets/image/common/layout2.png +0 -0
- package/src/assets/image/common/loading.png +0 -0
- package/src/assets/image/common/login/checked_icon.png +0 -0
- package/src/assets/image/common/login/login_bg.png +0 -0
- package/src/assets/image/common/login/login_form_left_icon.png +0 -0
- package/src/assets/image/common/login/pwd_icon.png +0 -0
- package/src/assets/image/common/login/user_icon.png +0 -0
- package/src/assets/image/common/login/verify_icon.png +0 -0
- package/src/assets/image/common/logo.png +0 -0
- package/src/assets/image/common/ltypeOff.png +0 -0
- package/src/assets/image/common/ltypeOn.png +0 -0
- package/src/assets/image/common/manager_cam_off_icon.png +0 -0
- package/src/assets/image/common/manager_mic_off_icon.png +0 -0
- package/src/assets/image/common/map-cicle-icon.svg +6 -0
- package/src/assets/image/common/map-icon-search-info.svg +11 -0
- package/src/assets/image/common/map-location.svg +37 -0
- package/src/assets/image/common/map.png +0 -0
- package/src/assets/image/common/mic-off.png +0 -0
- package/src/assets/image/common/mic-on.png +0 -0
- package/src/assets/image/common/mic_off_small.png +0 -0
- package/src/assets/image/common/minum_cam_off_icon.png +0 -0
- package/src/assets/image/common/minum_cam_on_icon.png +0 -0
- package/src/assets/image/common/minum_expand_icon.png +0 -0
- package/src/assets/image/common/minum_mic_off_icon.png +0 -0
- package/src/assets/image/common/minum_mic_on_icon.png +0 -0
- package/src/assets/image/common/minum_reset_icon.png +0 -0
- package/src/assets/image/common/minum_slide_icon.png +0 -0
- package/src/assets/image/common/more_icon.png +0 -0
- package/src/assets/image/common/mute.png +0 -0
- package/src/assets/image/common/newFolder.png +0 -0
- package/src/assets/image/common/newTask.png +0 -0
- package/src/assets/image/common/nineOff.png +0 -0
- package/src/assets/image/common/nineOn.png +0 -0
- package/src/assets/image/common/none.png +0 -0
- package/src/assets/image/common/offline.png +0 -0
- package/src/assets/image/common/oneOff.png +0 -0
- package/src/assets/image/common/oneOn.png +0 -0
- package/src/assets/image/common/online.png +0 -0
- package/src/assets/image/common/output_off_small.png +0 -0
- package/src/assets/image/common/playOff.png +0 -0
- package/src/assets/image/common/playOn.png +0 -0
- package/src/assets/image/common/playStop.png +0 -0
- package/src/assets/image/common/preview_icon.png +0 -0
- package/src/assets/image/common/preview_meet_icon.png +0 -0
- package/src/assets/image/common/scan-map.png +0 -0
- package/src/assets/image/common/screen_blue.png +0 -0
- package/src/assets/image/common/screen_gray.png +0 -0
- package/src/assets/image/common/screen_white.png +0 -0
- package/src/assets/image/common/select_item_check.png +0 -0
- package/src/assets/image/common/select_item_checked.png +0 -0
- package/src/assets/image/common/selector.png +0 -0
- package/src/assets/image/common/selectorOn.png +0 -0
- package/src/assets/image/common/share_icon.png +0 -0
- package/src/assets/image/common/signal_good.png +0 -0
- package/src/assets/image/common/signal_poor.png +0 -0
- package/src/assets/image/common/sixteenOff.png +0 -0
- package/src/assets/image/common/sixteenOn.png +0 -0
- package/src/assets/image/common/slide-bth-expand.png +0 -0
- package/src/assets/image/common/slide_btn.png +0 -0
- package/src/assets/image/common/speak.png +0 -0
- package/src/assets/image/common/speakOn.png +0 -0
- package/src/assets/image/common/speaker-off.png +0 -0
- package/src/assets/image/common/speaker-on.png +0 -0
- package/src/assets/image/common/speaking.png +0 -0
- package/src/assets/image/common/speed-left.svg +5 -0
- package/src/assets/image/common/speed-right.svg +5 -0
- package/src/assets/image/common/tree_checked_icon.png +0 -0
- package/src/assets/image/common/tree_expand_icon.png +0 -0
- package/src/assets/image/common/tree_slide_icon.png +0 -0
- package/src/assets/image/common/tree_uncheck_icon.png +0 -0
- package/src/assets/image/common/unchosen_icon.png +0 -0
- package/src/assets/image/common/up.png +0 -0
- package/src/assets/image/common/volume.png +0 -0
- package/src/assets/image/common/warning.png +0 -0
- package/src/assets/image/screenBlue/a1.png +0 -0
- package/src/assets/image/screenBlue/a2.png +0 -0
- package/src/assets/image/screenBlue/a3.png +0 -0
- package/src/assets/image/screenBlue/a4.png +0 -0
- package/src/assets/image/screenBlue/a5.png +0 -0
- package/src/assets/image/screenBlue/a6.png +0 -0
- package/src/assets/image/screenBlue/add.png +0 -0
- package/src/assets/image/screenBlue/add_group_icon.png +0 -0
- package/src/assets/image/screenBlue/add_to_group_icon.png +0 -0
- package/src/assets/image/screenBlue/arrow_icon.png +0 -0
- package/src/assets/image/screenBlue/audio_level_icon.png +0 -0
- package/src/assets/image/screenBlue/b1.png +0 -0
- package/src/assets/image/screenBlue/b2.png +0 -0
- package/src/assets/image/screenBlue/b3.png +0 -0
- package/src/assets/image/screenBlue/b4.png +0 -0
- package/src/assets/image/screenBlue/b5.png +0 -0
- package/src/assets/image/screenBlue/b6.png +0 -0
- package/src/assets/image/screenBlue/bottom_footer_bg.png +0 -0
- package/src/assets/image/screenBlue/call_clear_icon.png +0 -0
- package/src/assets/image/screenBlue/call_duration_icon.png +0 -0
- package/src/assets/image/screenBlue/call_fullscreen_icon.png +0 -0
- package/src/assets/image/screenBlue/call_mini_icon.png +0 -0
- package/src/assets/image/screenBlue/call_video_icon.png +0 -0
- package/src/assets/image/screenBlue/call_voice_icon.png +0 -0
- package/src/assets/image/screenBlue/cam_on_small.png +0 -0
- package/src/assets/image/screenBlue/close_icon.png +0 -0
- package/src/assets/image/screenBlue/copy-icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_drag_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid16_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid16_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid4_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid4_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid9_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_grid9_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_header_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_placeholder_bg.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_refresh_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_rightside_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_rightside_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_ring_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_ring_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_topside_active_icon.png +0 -0
- package/src/assets/image/screenBlue/custom_layout_topside_icon.png +0 -0
- package/src/assets/image/screenBlue/date_picker_icon.png +0 -0
- package/src/assets/image/screenBlue/dialog_check_icon.png +0 -0
- package/src/assets/image/screenBlue/emoji-logo.png +0 -0
- package/src/assets/image/screenBlue/header_alert_icon.png +0 -0
- package/src/assets/image/screenBlue/manager_cam_on_icon.png +0 -0
- package/src/assets/image/screenBlue/manager_mic_on_icon.png +0 -0
- package/src/assets/image/screenBlue/manager_more_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_board_bg.png +0 -0
- package/src/assets/image/screenBlue/meeting_chat_emoji_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_chat_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_chat_image_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_chat_logo.png +0 -0
- package/src/assets/image/screenBlue/meeting_copy_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_invite_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_layout_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_member_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_mode_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_record_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_setting_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_share_icon.png +0 -0
- package/src/assets/image/screenBlue/meeting_slide_small_icon.png +0 -0
- package/src/assets/image/screenBlue/mic_on_small.png +0 -0
- package/src/assets/image/screenBlue/module_bg1.png +0 -0
- package/src/assets/image/screenBlue/module_bg2.png +0 -0
- package/src/assets/image/screenBlue/monitor/circle data.png +0 -0
- package/src/assets/image/screenBlue/monitor/circle.png +0 -0
- package/src/assets/image/screenBlue/output_on_small.png +0 -0
- package/src/assets/image/screenBlue/page_bg.png +0 -0
- package/src/assets/image/screenBlue/pic-logo.png +0 -0
- package/src/assets/image/screenBlue/preview_date_icon.png +0 -0
- package/src/assets/image/screenBlue/preview_empty_icon.png +0 -0
- package/src/assets/image/screenBlue/preview_more_icon.png +0 -0
- package/src/assets/image/screenBlue/receive_hang_off_icon.png +0 -0
- package/src/assets/image/screenBlue/receive_hang_on_icon.png +0 -0
- package/src/assets/image/screenBlue/receive_video_icon.png +0 -0
- package/src/assets/image/screenBlue/receive_voice_icon.png +0 -0
- package/src/assets/image/screenBlue/send-logo.png +0 -0
- package/src/assets/image/screenBlue/slide_menu_bg.png +0 -0
- package/src/assets/image/screenBlue/top_header_bg.png +0 -0
- package/src/assets/image/screenBlue/yq.png +0 -0
- package/src/assets/json/emoji.json +222 -0
- package/src/assets/style/base.scss +217 -0
- package/src/assets/style/elForm.scss +80 -0
- package/src/assets/style/font.scss +16 -0
- package/src/assets/style/index.scss +5 -0
- package/src/assets/style/math.scss +11 -0
- package/src/assets/style/mixin.scss +69 -0
- package/src/components/LiveCallBoard/LiveCallBoard.vue +237 -0
- package/src/components/LiveInviteReceive/LiveInviteReceive.vue +150 -0
- package/src/components/LiveMulti/LiveMulti.vue +303 -0
- package/src/components/LiveMultipleMeeting/LiveMultipleMeeting.vue +4469 -0
- package/src/components/LiveMultipleMeeting/style/index.scss +337 -0
- package/src/components/LivePoint/LivePoint.vue +372 -0
- package/src/components/LivePointMeeting/LivePointMeeting.vue +1134 -0
- package/src/components/LivePointMeeting/style/index.scss +202 -0
- package/src/components/MeetingReadyDialog/MeetingReadyDialog.vue +583 -0
- package/src/components/MiniumVideoDialog/MiniumVideoDialog.vue +449 -0
- package/src/components/other/LayoutPlaceholder.vue +184 -0
- package/src/components/other/addressBook.vue +1121 -0
- package/src/components/other/appointDialog.vue +208 -0
- package/src/components/other/callBoard.vue +191 -0
- package/src/components/other/chatArea.vue +727 -0
- package/src/components/other/customGroupDialog.vue +180 -0
- package/src/components/other/customLayout.vue +1112 -0
- package/src/components/other/editGroupDialog.vue +290 -0
- package/src/components/other/inviteNonContactDialog.vue +160 -0
- package/src/components/other/layoutSwitch.vue +183 -0
- package/src/components/other/leaveOptionDialog.vue +90 -0
- package/src/components/other/memberManage.vue +502 -0
- package/src/components/other/moreOptionDialog.vue +291 -0
- package/src/components/other/screenShareBoard.vue +121 -0
- package/src/components/other/selectDialog.vue +279 -0
- package/src/components/other/selectSpecialDialog.vue +234 -0
- package/src/components/other/settingDialog.vue +756 -0
- package/src/components/other/themeDialog.vue +180 -0
- package/src/components/other/updateNameDialog.vue +162 -0
- package/src/directive/clickOutside.js +58 -0
- package/src/directive/drag.js +165 -0
- package/src/directive/scale.js +22 -0
- package/src/directive/throttle.js +77 -0
- package/src/main.js +21 -0
- package/src/request/index.js +27 -0
- package/src/utils/api.js +82 -0
- package/src/utils/index.js +4 -0
- package/src/utils/livekit/live-client-esm-old.js +1 -0
- package/src/utils/livekit/live-client-esm.js +1 -0
- package/src/utils/message.js +24 -0
- package/src/utils/mitt.js +4 -0
- package/src/utils/tool.js +154 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,n,r){return n=f(n),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return k(e)}(e,t()?Reflect.construct(n,r||[],f(e).constructor):n.apply(e,r))}function t(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(t=function(){return!!e})()}function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function r(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(){i=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},s=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag";function d(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var i=t&&t.prototype instanceof k?t:k,o=Object.create(i.prototype),s=new N(r||[]);return a(o,"_invoke",{value:P(e,n,s)}),o}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var p="suspendedStart",f="suspendedYield",v="executing",m="completed",g={};function k(){}function b(){}function y(){}var S={};d(S,s,(function(){return this}));var T=Object.getPrototypeOf,C=T&&T(T(D([])));C&&C!==n&&r.call(C,s)&&(S=C);var w=y.prototype=k.prototype=Object.create(S);function E(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function n(i,a,o,s){var c=h(e[i],e,a);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(c.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,i){n(e,r,t,i)}))}return i=i?i.then(a,a):a()}})}function P(t,n,r){var i=p;return function(a,o){if(i===v)throw new Error("Generator is already running");if(i===m){if("throw"===a)throw o;return{value:e,done:!0}}for(r.method=a,r.arg=o;;){var s=r.delegate;if(s){var c=I(s,r);if(c){if(c===g)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===p)throw i=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=v;var u=h(t,n,r);if("normal"===u.type){if(i=r.done?m:f,u.arg===g)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(i=m,r.method="throw",r.arg=u.arg)}}}function I(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,I(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var a=h(i,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,g;var o=a.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,g):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function D(t){if(t||""===t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=y,a(w,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:b,configurable:!0}),b.displayName=d(y,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,d(e,u,"GeneratorFunction")),e.prototype=Object.create(w),e},t.awrap=function(e){return{__await:e}},E(x.prototype),d(x.prototype,c,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,r,i,a){void 0===a&&(a=Promise);var o=new x(l(e,n,r,i),a);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},E(w),d(w,u,"Generator"),d(w,s,(function(){return this})),d(w,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=D,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(O),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),u=r.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:D(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function a(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function o(e){return o="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},o(e)}function s(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function c(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){s(a,r,i,o,c,"next",e)}function c(e){s(a,r,i,o,c,"throw",e)}o(void 0)}))}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function l(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function h(e,t,n){return(t=a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function m(e){var n="function"==typeof Map?new Map:void 0;return m=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,r)}function r(){return function(e,n,r){if(t())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,n);var a=new(e.bind.apply(e,i));return r&&v(a,r.prototype),a}(e,arguments,f(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),v(r,e)},m(e)}function g(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],0>t.indexOf(n)&&(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],0>t.indexOf(n)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function k(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(){return b="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(3>arguments.length?e:n):i.value}},b.apply(this,arguments)}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,s=[],c=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);t>n;n++)r[n]=e[n];return r}function w(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=T(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r<e.length?{done:!1,value:e[r++]}:{done:!0}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function E(e,t){return function(e,t){if(t.get)return t.get.call(e);return t.value}(e,P(e,t,"get"))}function x(e,t,n){return function(e,t,n){if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}}(e,P(e,t,"set"),n),n}function P(e,t,n){if(!t.has(e))throw new TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function I(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}function R(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function O(e,t,n){R(e,t),t.set(e,n)}function N(e,t){R(e,t),t.add(e)}function D(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(n){if("default"!==n&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}}))})),Object.freeze(e)}var M=Object.defineProperty,A=function(e,t,n){return function(e,t,n){return t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n}(e,"symbol"!=o(t)?t+"":t,n)},_=function(){function e(){u(this,e),A(this,"_locking"),A(this,"_locks"),this._locking=Promise.resolve(),this._locks=0}return l(e,[{key:"isLocked",value:function(){return this._locks>0}},{key:"lock",value:function(){var e,t=this;this._locks+=1;var n=new Promise((function(n){return e=function(){t._locks-=1,n()}})),r=this._locking.then((function(){return e}));return this._locking=this._locking.then((function(){return n})),r}}]),e}();function L(e,t){if(!e)throw new Error(t)}var U=34028234663852886e22,j=-34028234663852886e22,F=4294967295,B=2147483647,H=-2147483648;function W(e){if("number"!=typeof e)throw new Error("invalid int 32: "+o(e));if(!Number.isInteger(e)||e>B||H>e)throw new Error("invalid int 32: "+e)}function V(e){if("number"!=typeof e)throw new Error("invalid uint 32: "+o(e));if(!Number.isInteger(e)||e>F||0>e)throw new Error("invalid uint 32: "+e)}function q(e){if("number"!=typeof e)throw new Error("invalid float 32: "+o(e));if(Number.isFinite(e)&&(e>U||j>e))throw new Error("invalid float 32: "+e)}var G=Symbol("@bufbuild/protobuf/enum-type");function K(e){var t=e[G];return L(t,"missing enum type on enum object"),t}function J(e,t,n,r){e[G]=z(t,n.map((function(t){return{no:t.no,name:t.name,localName:e[t.no]}})))}function z(e,t,n){var r,i=Object.create(null),a=Object.create(null),o=[],s=w(t);try{for(s.s();!(r=s.n()).done;){var c=r.value,u=Y(c);o.push(u),i[c.name]=u,a[c.no]=u}}catch(e){s.e(e)}finally{s.f()}return{typeName:e,values:o,findName:function(e){return i[e]},findNumber:function(e){return a[e]}}}function Q(e,t,n){var r,i={},a=w(t);try{for(a.s();!(r=a.n()).done;){var o=Y(r.value);i[o.localName]=o.no,i[o.no]=o.localName}}catch(e){a.e(e)}finally{a.f()}return J(i,e,t),i}function Y(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var X=function(){function e(){u(this,e)}return l(e,[{key:"equals",value:function(e){return this.getType().runtime.util.equals(this.getType(),this,e)}},{key:"clone",value:function(){return this.getType().runtime.util.clone(this)}},{key:"fromBinary",value:function(e,t){var n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}},{key:"fromJson",value:function(e,t){var n=this.getType(),r=n.runtime.json,i=r.makeReadOptions(t);return r.readMessage(n,e,i,this),this}},{key:"fromJsonString",value:function(e,t){var n;try{n=JSON.parse(e)}catch(e){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(e instanceof Error?e.message:String(e)))}return this.fromJson(n,t)}},{key:"toBinary",value:function(e){var t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}},{key:"toJson",value:function(e){var t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}},{key:"toJsonString",value:function(e){var t,n=this.toJson(e);return JSON.stringify(n,null,null!==(t=null==e?void 0:e.prettySpaces)&&void 0!==t?t:0)}},{key:"toJSON",value:function(){return this.toJson({emitDefaultValues:!0})}},{key:"getType",value:function(){return Object.getPrototypeOf(this).constructor}}]),e}();function Z(){for(var e=0,t=0,n=0;28>n;n+=7){var r=this.buf[this.pos++];if(e|=(127&r)<<n,0==(128&r))return this.assertBounds(),[e,t]}var i=this.buf[this.pos++];if(e|=(15&i)<<28,t=(112&i)>>4,0==(128&i))return this.assertBounds(),[e,t];for(var a=3;31>=a;a+=7){var o=this.buf[this.pos++];if(t|=(127&o)<<a,0==(128&o))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function $(e,t,n){for(var r=0;28>r;r+=7){var i=e>>>r,a=!(i>>>7==0&&0==t),o=255&(a?128|i:i);if(n.push(o),!a)return}var s=e>>>28&15|(7&t)<<4,c=!(t>>3==0);if(n.push(255&(c?128|s:s)),c){for(var u=3;31>u;u+=7){var d=t>>>u,l=!(d>>>7==0),h=255&(l?128|d:d);if(n.push(h),!l)return}n.push(t>>>31&1)}}var ee=4294967296;function te(e){var t="-"===e[0];t&&(e=e.slice(1));var n=1e6,r=0,i=0;function a(t,a){var o=Number(e.slice(t,a));i*=n,ee>(r=r*n+o)||(i+=r/ee|0,r%=ee)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?ie(r,i):re(r,i)}function ne(e,t){var n=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t);if(e=n.lo,2097151>=(t=n.hi))return String(ee*t+e);var r=16777215&(e>>>24|t<<8),i=t>>16&65535,a=(16777215&e)+6777216*r+6710656*i,o=r+8147497*i,s=2*i,c=1e7;return c>a||(o+=Math.floor(a/c),a%=c),c>o||(s+=Math.floor(o/c),o%=c),s.toString()+ae(o)+ae(a)}function re(e,t){return{lo:0|e,hi:0|t}}function ie(e,t){return t=~t,e?e=1+~e:t+=1,re(e,t)}var ae=function(e){var t=String(e);return"0000000".slice(t.length)+t};function oe(e,t){if(e<0){for(var n=0;9>n;n++)t.push(127&e|128),e>>=7;t.push(1)}else{for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}}function se(){var e=this.buf[this.pos++],t=127&e;if(0==(128&e))return this.assertBounds(),t;if(t|=(127&(e=this.buf[this.pos++]))<<7,0==(128&e))return this.assertBounds(),t;if(t|=(127&(e=this.buf[this.pos++]))<<14,0==(128&e))return this.assertBounds(),t;if(t|=(127&(e=this.buf[this.pos++]))<<21,0==(128&e))return this.assertBounds(),t;t|=(15&(e=this.buf[this.pos++]))<<28;for(var n=5;0!=(128&e)&&10>n;n++)e=this.buf[this.pos++];if(0!=(128&e))throw new Error("invalid varint");return this.assertBounds(),t>>>0}var ce,ue,de,le=function(){var e=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof e.getBigInt64&&"function"==typeof e.getBigUint64&&"function"==typeof e.setBigInt64&&"function"==typeof e.setBigUint64&&("object"!=("undefined"==typeof process?"undefined":o(process))||"object"!=o(process.env)||"1"!==process.env.BUF_BIGINT_DISABLE)){var t=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),r=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse:function(e){var r="bigint"==typeof e?e:BigInt(e);if(r>n||t>r)throw new Error("int64 invalid: ".concat(e));return r},uParse:function(e){var t="bigint"==typeof e?e:BigInt(e);if(t>i||r>t)throw new Error("uint64 invalid: ".concat(e));return t},enc:function(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc:function(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec:function(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec:function(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}var a=function(e){return L(/^-?[0-9]+$/.test(e),"int64 invalid: ".concat(e))},s=function(e){return L(/^[0-9]+$/.test(e),"uint64 invalid: ".concat(e))};return{zero:"0",supported:!1,parse:function(e){return"string"!=typeof e&&(e=e.toString()),a(e),e},uParse:function(e){return"string"!=typeof e&&(e=e.toString()),s(e),e},enc:function(e){return"string"!=typeof e&&(e=e.toString()),a(e),te(e)},uEnc:function(e){return"string"!=typeof e&&(e=e.toString()),s(e),te(e)},dec:function(e,t){return function(e,t){var n=re(e,t),r=2147483648&n.hi;r&&(n=ie(n.lo,n.hi));var i=ne(n.lo,n.hi);return r?"-"+i:i}(e,t)},uDec:function(e,t){return ne(e,t)}}}();function he(e,t,n){if(t===n)return!0;if(e==ce.BYTES){if(!(t instanceof Uint8Array&&n instanceof Uint8Array))return!1;if(t.length!==n.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case ce.UINT64:case ce.FIXED64:case ce.INT64:case ce.SFIXED64:case ce.SINT64:return t==n}return!1}function pe(e,t){switch(e){case ce.BOOL:return!1;case ce.UINT64:case ce.FIXED64:case ce.INT64:case ce.SFIXED64:case ce.SINT64:return 0==t?le.zero:"0";case ce.DOUBLE:case ce.FLOAT:return 0;case ce.BYTES:return new Uint8Array(0);case ce.STRING:return"";default:return 0}}function fe(e,t){switch(e){case ce.BOOL:return!1===t;case ce.STRING:return""===t;case ce.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}!function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"}(ce||(ce={})),function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"}(ue||(ue={})),function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"}(de||(de={}));var ve=function(){function e(t){u(this,e),this.stack=[],this.textEncoder=null!=t?t:new TextEncoder,this.chunks=[],this.buf=[]}return l(e,[{key:"finish",value:function(){this.chunks.push(new Uint8Array(this.buf));for(var e=0,t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;for(var n=new Uint8Array(e),r=0,i=0;i<this.chunks.length;i++)n.set(this.chunks[i],r),r+=this.chunks[i].length;return this.chunks=[],n}},{key:"fork",value:function(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}},{key:"join",value:function(){var e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}},{key:"tag",value:function(e,t){return this.uint32((e<<3|t)>>>0)}},{key:"raw",value:function(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}},{key:"uint32",value:function(e){for(V(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}},{key:"int32",value:function(e){return W(e),oe(e,this.buf),this}},{key:"bool",value:function(e){return this.buf.push(e?1:0),this}},{key:"bytes",value:function(e){return this.uint32(e.byteLength),this.raw(e)}},{key:"string",value:function(e){var t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}},{key:"float",value:function(e){q(e);var t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}},{key:"double",value:function(e){var t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}},{key:"fixed32",value:function(e){V(e);var t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}},{key:"sfixed32",value:function(e){W(e);var t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}},{key:"sint32",value:function(e){return W(e),oe(e=(e<<1^e>>31)>>>0,this.buf),this}},{key:"sfixed64",value:function(e){var t=new Uint8Array(8),n=new DataView(t.buffer),r=le.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}},{key:"fixed64",value:function(e){var t=new Uint8Array(8),n=new DataView(t.buffer),r=le.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}},{key:"int64",value:function(e){var t=le.enc(e);return $(t.lo,t.hi,this.buf),this}},{key:"sint64",value:function(e){var t=le.enc(e),n=t.hi>>31;return $(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}},{key:"uint64",value:function(e){var t=le.uEnc(e);return $(t.lo,t.hi,this.buf),this}}]),e}(),me=function(){function e(t,n){u(this,e),this.varint64=Z,this.uint32=se,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=null!=n?n:new TextDecoder}return l(e,[{key:"tag",value:function(){var e=this.uint32(),t=e>>>3,n=7&e;if(0>=t||0>n||n>5)throw new Error("illegal tag: field no "+t+" wire type "+n);return[t,n]}},{key:"skip",value:function(e,t){var n=this.pos;switch(e){case de.Varint:for(;128&this.buf[this.pos++];);break;case de.Bit64:this.pos+=4;case de.Bit32:this.pos+=4;break;case de.LengthDelimited:var r=this.uint32();this.pos+=r;break;case de.StartGroup:for(;;){var i=y(this.tag(),2),a=i[0],o=i[1];if(o===de.EndGroup){if(void 0!==t&&a!==t)throw new Error("invalid end group tag");break}this.skip(o,a)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}},{key:"assertBounds",value:function(){if(this.pos>this.len)throw new RangeError("premature EOF")}},{key:"int32",value:function(){return 0|this.uint32()}},{key:"sint32",value:function(){var e=this.uint32();return e>>>1^-(1&e)}},{key:"int64",value:function(){return le.dec.apply(le,S(this.varint64()))}},{key:"uint64",value:function(){return le.uDec.apply(le,S(this.varint64()))}},{key:"sint64",value:function(){var e=y(this.varint64(),2),t=e[0],n=e[1],r=-(1&t);return t=(t>>>1|(1&n)<<31)^r,n=n>>>1^r,le.dec(t,n)}},{key:"bool",value:function(){var e=y(this.varint64(),2),t=e[0],n=e[1];return 0!==t||0!==n}},{key:"fixed32",value:function(){return this.view.getUint32((this.pos+=4)-4,!0)}},{key:"sfixed32",value:function(){return this.view.getInt32((this.pos+=4)-4,!0)}},{key:"fixed64",value:function(){return le.uDec(this.sfixed32(),this.sfixed32())}},{key:"sfixed64",value:function(){return le.dec(this.sfixed32(),this.sfixed32())}},{key:"float",value:function(){return this.view.getFloat32((this.pos+=4)-4,!0)}},{key:"double",value:function(){return this.view.getFloat64((this.pos+=8)-8,!0)}},{key:"bytes",value:function(){var e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}},{key:"string",value:function(){return this.textDecoder.decode(this.bytes())}}]),e}();function ge(e){var t=e.field.localName,n=Object.create(null);return n[t]=function(e){var t=e.field;if(t.repeated)return[];if(void 0!==t.default)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return pe(t.T,t.L);case"message":var n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}(e),[n,function(){return n[t]}]}for(var ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),be=[],ye=0;ye<ke.length;ye++)be[ke[ye].charCodeAt(0)]=ye;be["-".charCodeAt(0)]=ke.indexOf("+"),be["_".charCodeAt(0)]=ke.indexOf("/");var Se={dec:function(e){var t=3*e.length/4;"="==e[e.length-2]?t-=2:"="==e[e.length-1]&&(t-=1);for(var n,r=new Uint8Array(t),i=0,a=0,o=0,s=0;s<e.length;s++){if(void 0===(n=be[e.charCodeAt(s)]))switch(e[s]){case"=":a=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:o=n,a=1;break;case 1:r[i++]=o<<2|(48&n)>>4,o=n,a=2;break;case 2:r[i++]=(15&o)<<4|(60&n)>>2,o=n,a=3;break;case 3:r[i++]=(3&o)<<6|n,a=0;break}}if(1==a)throw Error("invalid base64 string.");return r.subarray(0,i)},enc:function(e){for(var t,n="",r=0,i=0,a=0;a<e.length;a++)switch(t=e[a],r){case 0:n+=ke[t>>2],i=(3&t)<<4,r=1;break;case 1:n+=ke[i|t>>4],i=(15&t)<<2,r=2;break;case 2:n+=ke[i|t>>6],n+=ke[63&t],r=0;break}return r&&(n+=ke[i],n+="=",1==r&&(n+="=")),n}};function Te(e,t,n){Ee(t,e);var r,i=t.runtime.bin.makeReadOptions(n),a=function(e,t){if(!t.repeated&&("enum"==t.kind||"scalar"==t.kind)){for(var n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter((function(e){return e.no===t.no}))}(e.getType().runtime.bin.listUnknownFields(e),t.field),o=y(ge(t),2),s=o[0],c=o[1],u=w(a);try{for(u.s();!(r=u.n()).done;){var d=r.value;t.runtime.bin.readField(s,i.readerFactory(d.data),t.field,d.wireType,i)}}catch(e){u.e(e)}finally{u.f()}return c()}function Ce(e,t,n,r){Ee(t,e);var i=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(we(e,t)){var o=e.getType().runtime.bin.listUnknownFields(e).filter((function(e){return e.no!=t.field.no}));e.getType().runtime.bin.discardUnknownFields(e);var s,c=w(o);try{for(c.s();!(s=c.n()).done;){var u=s.value;e.getType().runtime.bin.onUnknownField(e,u.no,u.wireType,u.data)}}catch(e){c.e(e)}finally{c.f()}}var d=a.writerFactory(),l=t.field;l.opt||l.repeated||"enum"!=l.kind&&"scalar"!=l.kind||(l=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(l,n,d,a);for(var h=i.readerFactory(d.finish());h.pos<h.len;){var p=y(h.tag(),2),f=p[0],v=p[1],m=h.skip(v,f);e.getType().runtime.bin.onUnknownField(e,f,v,m)}}function we(e,t){var n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find((function(e){return e.no==t.field.no}))}function Ee(e,t){L(e.extendee.typeName==t.getType().typeName,"extension ".concat(e.typeName," can only be applied to message ").concat(e.extendee.typeName))}function xe(e,t){var n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?void 0!==t[n]:"enum"==e.kind?t[n]!==e.T.values[0].no:!fe(e.T,t[n]);case"message":return void 0!==t[n];case"map":return Object.keys(t[n]).length>0}}function Pe(e,t){var n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[n]={};break;case"enum":t[n]=r?e.T.values[0].no:void 0;break;case"scalar":t[n]=r?pe(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function Ie(e,t){if(null===e||"object"!=o(e))return!1;if(!Object.getOwnPropertyNames(X.prototype).every((function(t){return t in e&&"function"==typeof e[t]})))return!1;var n=e.getType();return null!==n&&"function"==typeof n&&"typeName"in n&&"string"==typeof n.typeName&&(void 0===t||n.typeName==t.typeName)}function Re(e,t){return Ie(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}ce.DOUBLE,ce.FLOAT,ce.INT64,ce.UINT64,ce.INT32,ce.UINT32,ce.BOOL,ce.STRING,ce.BYTES;var Oe={ignoreUnknownFields:!1},Ne={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function De(e){return e?Object.assign(Object.assign({},Oe),e):Oe}function Me(e){return e?Object.assign(Object.assign({},Ne),e):Ne}var Ae=Symbol(),_e=Symbol();function Le(e){if(null===e)return"null";switch(o(e)){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":'"'.concat(e.split('"').join('\\"'),'"');default:return String(e)}}function Ue(e,t,n,r,i){var a=n.localName;if(n.repeated){if(L("map"!=n.kind),null===t)return;if(!Array.isArray(t))throw new Error("cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(t)));var s,c=e[a],u=w(t);try{for(u.s();!(s=u.n()).done;){var d=s.value;if(null===d)throw new Error("cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(d)));switch(n.kind){case"message":c.push(n.T.fromJson(d,r));break;case"enum":var l=Be(n.T,d,r.ignoreUnknownFields,!0);l!==_e&&c.push(l);break;case"scalar":try{c.push(Fe(n.T,d,n.L,!0))}catch(e){var h="cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(d));throw e instanceof Error&&e.message.length>0&&(h+=": ".concat(e.message)),new Error(h)}break}}}catch(e){u.e(e)}finally{u.f()}}else if("map"==n.kind){if(null===t)return;if("object"!=o(t)||Array.isArray(t))throw new Error("cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(t)));for(var p=e[a],f=0,v=Object.entries(t);f<v.length;f++){var m=y(v[f],2),g=m[0],k=m[1];if(null===k)throw new Error("cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: map value null"));var b=void 0;try{b=je(n.K,g)}catch(e){var S="cannot decode map key for field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(t));throw e instanceof Error&&e.message.length>0&&(S+=": ".concat(e.message)),new Error(S)}switch(n.V.kind){case"message":p[b]=n.V.T.fromJson(k,r);break;case"enum":var T=Be(n.V.T,k,r.ignoreUnknownFields,!0);T!==_e&&(p[b]=T);break;case"scalar":try{p[b]=Fe(n.V.T,k,ue.BIGINT,!0)}catch(e){var C="cannot decode map value for field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(t));throw e instanceof Error&&e.message.length>0&&(C+=": ".concat(e.message)),new Error(C)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":var E=n.T;if(null===t&&"google.protobuf.Value"!=E.typeName)return;var x=e[a];Ie(x)?x.fromJson(t,r):(e[a]=x=E.fromJson(t,r),E.fieldWrapper&&!n.oneof&&(e[a]=E.fieldWrapper.unwrapField(x)));break;case"enum":var P=Be(n.T,t,r.ignoreUnknownFields,!1);switch(P){case Ae:Pe(n,e);break;case _e:break;default:e[a]=P;break}break;case"scalar":try{var I=Fe(n.T,t,n.L,!1);switch(I){case Ae:Pe(n,e);break;default:e[a]=I;break}}catch(e){var R="cannot decode field ".concat(i.typeName,".").concat(n.name," from JSON: ").concat(Le(t));throw e instanceof Error&&e.message.length>0&&(R+=": ".concat(e.message)),new Error(R)}break}}function je(e,t){if(e===ce.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return Fe(e,t,ue.BIGINT,!0).toString()}function Fe(e,t,n,r){if(null===t)return r?pe(e,n):Ae;switch(e){case ce.DOUBLE:case ce.FLOAT:if("NaN"===t)return Number.NaN;if("Infinity"===t)return Number.POSITIVE_INFINITY;if("-Infinity"===t)return Number.NEGATIVE_INFINITY;if(""===t)break;if("string"==typeof t&&t.trim().length!==t.length)break;if("string"!=typeof t&&"number"!=typeof t)break;var i=Number(t);if(Number.isNaN(i))break;if(!Number.isFinite(i))break;return e==ce.FLOAT&&q(i),i;case ce.INT32:case ce.FIXED32:case ce.SFIXED32:case ce.SINT32:case ce.UINT32:var a;if("number"==typeof t?a=t:"string"==typeof t&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),void 0===a)break;return e==ce.UINT32||e==ce.FIXED32?V(a):W(a),a;case ce.INT64:case ce.SFIXED64:case ce.SINT64:if("number"!=typeof t&&"string"!=typeof t)break;var o=le.parse(t);return n?o.toString():o;case ce.FIXED64:case ce.UINT64:if("number"!=typeof t&&"string"!=typeof t)break;var s=le.uParse(t);return n?s.toString():s;case ce.BOOL:if("boolean"!=typeof t)break;return t;case ce.STRING:if("string"!=typeof t)break;try{encodeURIComponent(t)}catch(e){throw new Error("invalid UTF8")}return t;case ce.BYTES:if(""===t)return new Uint8Array(0);if("string"!=typeof t)break;return Se.dec(t)}throw new Error}function Be(e,t,n,r){if(null===t)return"google.protobuf.NullValue"==e.typeName?0:r?e.values[0].no:Ae;switch(o(t)){case"number":if(Number.isInteger(t))return t;break;case"string":var i=e.findName(t);if(void 0!==i)return i.no;if(n)return _e;break}throw new Error("cannot decode enum ".concat(e.typeName," from JSON: ").concat(Le(t)))}function He(e){return!(!e.repeated&&"map"!=e.kind)||!e.oneof&&("message"!=e.kind&&(!e.opt&&!e.req))}function We(e,t,n){if("map"==e.kind){L("object"==o(t)&&null!=t);var r={},i=Object.entries(t);switch(e.V.kind){case"scalar":var a,s=w(i);try{for(s.s();!(a=s.n()).done;){var c=y(a.value,2),u=c[0],d=c[1];r[u.toString()]=qe(e.V.T,d)}}catch(e){s.e(e)}finally{s.f()}break;case"message":var l,h=w(i);try{for(h.s();!(l=h.n()).done;){var p=y(l.value,2),f=p[0],v=p[1];r[f.toString()]=v.toJson(n)}}catch(e){h.e(e)}finally{h.f()}break;case"enum":var m,g=e.V.T,k=w(i);try{for(k.s();!(m=k.n()).done;){var b=y(m.value,2),S=b[0],T=b[1];r[S.toString()]=Ve(g,T,n.enumAsInteger)}}catch(e){k.e(e)}finally{k.f()}break}return n.emitDefaultValues||i.length>0?r:void 0}if(e.repeated){L(Array.isArray(t));var C=[];switch(e.kind){case"scalar":for(var E=0;E<t.length;E++)C.push(qe(e.T,t[E]));break;case"enum":for(var x=0;x<t.length;x++)C.push(Ve(e.T,t[x],n.enumAsInteger));break;case"message":for(var P=0;P<t.length;P++)C.push(t[P].toJson(n));break}return n.emitDefaultValues||C.length>0?C:void 0}switch(e.kind){case"scalar":return qe(e.T,t);case"enum":return Ve(e.T,t,n.enumAsInteger);case"message":return Re(e.T,t).toJson(n)}}function Ve(e,t,n){var r;if(L("number"==typeof t),"google.protobuf.NullValue"==e.typeName)return null;if(n)return t;var i=e.findNumber(t);return null!==(r=null==i?void 0:i.name)&&void 0!==r?r:t}function qe(e,t){switch(e){case ce.INT32:case ce.SFIXED32:case ce.SINT32:case ce.FIXED32:case ce.UINT32:return L("number"==typeof t),t;case ce.FLOAT:case ce.DOUBLE:return L("number"==typeof t),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case ce.STRING:return L("string"==typeof t),t;case ce.BOOL:return L("boolean"==typeof t),t;case ce.UINT64:case ce.FIXED64:case ce.INT64:case ce.SFIXED64:case ce.SINT64:return L("bigint"==typeof t||"string"==typeof t||"number"==typeof t),t.toString();case ce.BYTES:return L(t instanceof Uint8Array),Se.enc(t)}}var Ge=Symbol("@bufbuild/protobuf/unknown-fields"),Ke={readUnknownFields:!0,readerFactory:function(e){return new me(e)}},Je={writeUnknownFields:!0,writerFactory:function(){return new ve}};function ze(e){return e?Object.assign(Object.assign({},Ke),e):Ke}function Qe(e){return e?Object.assign(Object.assign({},Je),e):Je}function Ye(e,t,n,r,i){var a=n.repeated,o=n.localName;switch(n.oneof&&((e=e[n.oneof.localName]).case!=o&&delete e.value,e.case=o,o="value"),n.kind){case"scalar":case"enum":var s="enum"==n.kind?ce.INT32:n.T,c=$e;if("scalar"==n.kind&&n.L>0&&(c=Ze),a){var u=e[o];if(r==de.LengthDelimited&&s!=ce.STRING&&s!=ce.BYTES)for(var d=t.uint32()+t.pos;t.pos<d;)u.push(c(t,s));else u.push(c(t,s))}else e[o]=c(t,s);break;case"message":var l=n.T;a?e[o].push(Xe(t,new l,i,n)):Ie(e[o])?Xe(t,e[o],i,n):(e[o]=Xe(t,new l,i,n),!l.fieldWrapper||n.oneof||n.repeated||(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case"map":var h=function(e,t,n){var r,i,a=t.uint32(),o=t.pos+a;for(;t.pos<o;){switch(y(t.tag(),1)[0]){case 1:r=$e(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=$e(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=Xe(t,new e.V.T,n,void 0);break}break}}void 0===r&&(r=pe(e.K,ue.BIGINT));"string"!=typeof r&&"number"!=typeof r&&(r=r.toString());if(void 0===i)switch(e.V.kind){case"scalar":i=pe(e.V.T,ue.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[r,i]}(n,t,i),p=y(h,2),f=p[0],v=p[1];e[o][f]=v;break}}function Xe(e,t,n,r){var i=t.getType().runtime.bin,a=null==r?void 0:r.delimited;return i.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function Ze(e,t){var n=$e(e,t);return"bigint"==typeof n?n.toString():n}function $e(e,t){switch(t){case ce.STRING:return e.string();case ce.BOOL:return e.bool();case ce.DOUBLE:return e.double();case ce.FLOAT:return e.float();case ce.INT32:return e.int32();case ce.INT64:return e.int64();case ce.UINT64:return e.uint64();case ce.FIXED64:return e.fixed64();case ce.BYTES:return e.bytes();case ce.FIXED32:return e.fixed32();case ce.SFIXED32:return e.sfixed32();case ce.SFIXED64:return e.sfixed64();case ce.SINT64:return e.sint64();case ce.UINT32:return e.uint32();case ce.SINT32:return e.sint32()}}function et(e,t,n,r){L(void 0!==t);var i=e.repeated;switch(e.kind){case"scalar":case"enum":var a="enum"==e.kind?ce.INT32:e.T;if(i)if(L(Array.isArray(t)),e.packed)!function(e,t,n,r){if(!r.length)return;e.tag(n,de.LengthDelimited).fork();for(var i=y(it(t),2)[1],a=0;a<r.length;a++)e[i](r[a]);e.join()}(n,a,e.no,t);else{var s,c=w(t);try{for(c.s();!(s=c.n()).done;){var u=s.value;rt(n,a,e.no,u)}}catch(e){c.e(e)}finally{c.f()}}else rt(n,a,e.no,t);break;case"message":if(i){L(Array.isArray(t));var d,l=w(t);try{for(l.s();!(d=l.n()).done;){nt(n,r,e,d.value)}}catch(e){l.e(e)}finally{l.f()}}else nt(n,r,e,t);break;case"map":L("object"==o(t)&&null!=t);for(var h=0,p=Object.entries(t);h<p.length;h++){var f=y(p[h],2);tt(n,r,e,f[0],f[1])}break}}function tt(e,t,n,r,i){e.tag(n.no,de.LengthDelimited),e.fork();var a=r;switch(n.K){case ce.INT32:case ce.FIXED32:case ce.UINT32:case ce.SFIXED32:case ce.SINT32:a=Number.parseInt(r);break;case ce.BOOL:L("true"==r||"false"==r),a="true"==r;break}switch(rt(e,n.K,1,a),n.V.kind){case"scalar":rt(e,n.V.T,2,i);break;case"enum":rt(e,ce.INT32,2,i);break;case"message":L(void 0!==i),e.tag(2,de.LengthDelimited).bytes(i.toBinary(t));break}e.join()}function nt(e,t,n,r){var i=Re(n.T,r);n.delimited?e.tag(n.no,de.StartGroup).raw(i.toBinary(t)).tag(n.no,de.EndGroup):e.tag(n.no,de.LengthDelimited).bytes(i.toBinary(t))}function rt(e,t,n,r){L(void 0!==r);var i=y(it(t),2),a=i[0],o=i[1];e.tag(n,a)[o](r)}function it(e){var t=de.Varint;switch(e){case ce.BYTES:case ce.STRING:t=de.LengthDelimited;break;case ce.DOUBLE:case ce.FIXED64:case ce.SFIXED64:t=de.Bit64;break;case ce.FIXED32:case ce.SFIXED32:case ce.FLOAT:t=de.Bit32;break}return[t,ce[e].toLowerCase()]}function at(e){if(void 0===e)return e;if(Ie(e))return e.clone();if(e instanceof Uint8Array){var t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function ot(e){return e instanceof Uint8Array?e:new Uint8Array(e)}var st=function(){function e(t,n){u(this,e),this._fields=t,this._normalizer=n}return l(e,[{key:"findJsonName",value:function(e){if(!this.jsonNames){var t,n={},r=w(this.list());try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.jsonName]=n[i.name]=i}}catch(e){r.e(e)}finally{r.f()}this.jsonNames=n}return this.jsonNames[e]}},{key:"find",value:function(e){if(!this.numbers){var t,n={},r=w(this.list());try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.no]=i}}catch(e){r.e(e)}finally{r.f()}this.numbers=n}return this.numbers[e]}},{key:"list",value:function(){return this.all||(this.all=this._normalizer(this._fields)),this.all}},{key:"byNumber",value:function(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((function(e,t){return e.no-t.no}))),this.numbersAsc}},{key:"byMember",value:function(){if(!this.members){this.members=[];var e,t,n=this.members,r=w(this.list());try{for(r.s();!(t=r.n()).done;){var i=t.value;i.oneof?i.oneof!==e&&(e=i.oneof,n.push(e)):n.push(i)}}catch(e){r.e(e)}finally{r.f()}}return this.members}}]),e}();function ct(e,t){var n=dt(e);return t?n:vt(ft(n))}var ut=dt;function dt(e){for(var t=!1,n=[],r=0;r<e.length;r++){var i=e.charAt(r);switch(i){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(i),t=!1;break;default:t&&(t=!1,i=i.toUpperCase()),n.push(i);break}}return n.join("")}var lt=new Set(["constructor","toString","toJSON","valueOf"]),ht=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),pt=function(e){return"".concat(e,"$")},ft=function(e){return ht.has(e)?pt(e):e},vt=function(e){return lt.has(e)?pt(e):e},mt=function(){function e(t){u(this,e),this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=ct(t,!1)}return l(e,[{key:"addField",value:function(e){L(e.oneof===this,"field ".concat(e.name," not one of ").concat(this.name)),this.fields.push(e)}},{key:"findField",value:function(e){if(!this._lookup){this._lookup=Object.create(null);for(var t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}}]),e}();var gt,kt,bt=(gt=function(e){return new st(e,(function(e){return function(e,t){var n,r,i,a,o,s,c,u,d=[],l=w("function"==typeof e?e():e);try{for(l.s();!(u=l.n()).done;){var h=u.value,p=h;if(p.localName=ct(h.name,void 0!==h.oneof),p.jsonName=null!==(n=h.jsonName)&&void 0!==n?n:ut(h.name),p.repeated=null!==(r=h.repeated)&&void 0!==r&&r,"scalar"==h.kind&&(p.L=null!==(i=h.L)&&void 0!==i?i:ue.BIGINT),p.delimited=null!==(a=h.delimited)&&void 0!==a&&a,p.req=null!==(o=h.req)&&void 0!==o&&o,p.opt=null!==(s=h.opt)&&void 0!==s&&s,void 0===h.packed&&(p.packed="enum"==h.kind||"scalar"==h.kind&&h.T!=ce.BYTES&&h.T!=ce.STRING),void 0!==h.oneof){var f="string"==typeof h.oneof?h.oneof:h.oneof.name;c&&c.name==f||(c=new mt(f)),p.oneof=c,c.addField(p)}d.push(p)}}catch(e){l.e(e)}finally{l.f()}return d}(e)}))},kt=function(e){var t,n=w(e.getType().fields.byMember());try{for(n.s();!(t=n.n()).done;){var r=t.value;if(!r.opt){var i=r.localName,a=e;if(r.repeated)a[i]=[];else switch(r.kind){case"oneof":a[i]={case:void 0};break;case"enum":a[i]=0;break;case"map":a[i]={};break;case"scalar":a[i]=pe(r.T,r.L);break}}}}catch(e){n.e(e)}finally{n.f()}},{syntax:"proto3",json:{makeReadOptions:De,makeWriteOptions:Me,readMessage:function(e,t,n,r){if(null==t||Array.isArray(t)||"object"!=o(t))throw new Error("cannot decode message ".concat(e.typeName," from JSON: ").concat(Le(t)));r=null!=r?r:new e;for(var i=new Map,a=n.typeRegistry,s=0,c=Object.entries(t);s<c.length;s++){var u=y(c[s],2),d=u[0],l=u[1],h=e.fields.findJsonName(d);if(h){if(h.oneof){if(null===l&&"scalar"==h.kind)continue;var p=i.get(h.oneof);if(void 0!==p)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: multiple keys for oneof "').concat(h.oneof.name,'" present: "').concat(p,'", "').concat(d,'"'));i.set(h.oneof,d)}Ue(r,l,h,n,e)}else{var f=!1;if((null==a?void 0:a.findExtension)&&d.startsWith("[")&&d.endsWith("]")){var v=a.findExtension(d.substring(1,d.length-1));if(v&&v.extendee.typeName==e.typeName){f=!0;var m=y(ge(v),2),g=m[0],k=m[1];Ue(g,l,v.field,n,v),Ce(r,v,k(),n)}}if(!f&&!n.ignoreUnknownFields)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: key "').concat(d,'" is unknown'))}}return r},writeMessage:function(e,t){var n,r=e.getType(),i={};try{var a,o=w(r.fields.byNumber());try{for(o.s();!(a=o.n()).done;){if(!xe(n=a.value,e)){if(n.req)throw"required field not set";if(!t.emitDefaultValues)continue;if(!He(n))continue}var s=We(n,n.oneof?e[n.oneof.localName].value:e[n.localName],t);void 0!==s&&(i[t.useProtoFieldName?n.name:n.jsonName]=s)}}catch(e){o.e(e)}finally{o.f()}var c=t.typeRegistry;if(null==c?void 0:c.findExtensionFor){var u,d=w(r.runtime.bin.listUnknownFields(e));try{for(d.s();!(u=d.n()).done;){var l=u.value,h=c.findExtensionFor(r.typeName,l.no);if(h&&we(e,h)){var p=Te(e,h,t),f=We(h.field,p,t);void 0!==f&&(i[h.field.jsonName]=f)}}}catch(e){d.e(e)}finally{d.f()}}}catch(e){var v=n?"cannot encode field ".concat(r.typeName,".").concat(n.name," to JSON"):"cannot encode message ".concat(r.typeName," to JSON"),m=e instanceof Error?e.message:String(e);throw new Error(v+(m.length>0?": ".concat(m):""))}return i},readScalar:function(e,t,n){return Fe(e,t,null!=n?n:ue.BIGINT,!0)},writeScalar:function(e,t,n){if(void 0!==t)return n||fe(e,t)?qe(e,t):void 0},debug:Le},bin:{makeReadOptions:ze,makeWriteOptions:Qe,listUnknownFields:function(e){var t;return null!==(t=e[Ge])&&void 0!==t?t:[]},discardUnknownFields:function(e){delete e[Ge]},writeUnknownFields:function(e,t){var n=e[Ge];if(n){var r,i=w(n);try{for(i.s();!(r=i.n()).done;){var a=r.value;t.tag(a.no,a.wireType).raw(a.data)}}catch(e){i.e(e)}finally{i.f()}}},onUnknownField:function(e,t,n,r){var i=e;Array.isArray(i[Ge])||(i[Ge]=[]),i[Ge].push({no:t,wireType:n,data:r})},readMessage:function(e,t,n,r,i){for(var a,o,s=e.getType(),c=i?t.len:t.pos+n;t.pos<c;){var u=y(t.tag(),2);if(a=u[0],o=u[1],!0===i&&o==de.EndGroup)break;var d=s.fields.find(a);if(d)Ye(e,t,d,o,r);else{var l=t.skip(o,a);r.readUnknownFields&&this.onUnknownField(e,a,o,l)}}if(i&&(o!=de.EndGroup||a!==n))throw new Error("invalid end group tag")},readField:Ye,writeMessage:function(e,t,n){var r,i=e.getType(),a=w(i.fields.byNumber());try{for(a.s();!(r=a.n()).done;){var o=r.value;if(xe(o,e))et(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n);else if(o.req)throw new Error("cannot encode field ".concat(i.typeName,".").concat(o.name," to binary: required field not set"))}}catch(e){a.e(e)}finally{a.f()}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField:function(e,t,n,r){void 0!==t&&et(e,t,n,r)}},util:Object.assign(Object.assign({},{setEnumType:J,initPartial:function(e,t){if(void 0!==e){var n,r=w(t.getType().fields.byMember());try{var i=function(){var r=n.value,i=r.localName,a=t,o=e;if(null==o[i])return 0;switch(r.kind){case"oneof":var s=o[i].case;if(void 0===s)return 0;var c=r.findField(s),u=o[i].value;c&&"message"==c.kind&&!Ie(u,c.T)?u=new c.T(u):c&&"scalar"===c.kind&&c.T===ce.BYTES&&(u=ot(u)),a[i]={case:s,value:u};break;case"scalar":case"enum":var d=o[i];r.T===ce.BYTES&&(d=r.repeated?d.map(ot):ot(d)),a[i]=d;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===ce.BYTES)for(var l=0,h=Object.entries(o[i]);l<h.length;l++){var p=y(h[l],2),f=p[0],v=p[1];a[i][f]=ot(v)}else Object.assign(a[i],o[i]);break;case"message":for(var m=r.V.T,g=0,k=Object.keys(o[i]);g<k.length;g++){var b=k[g],S=o[i][b];m.fieldWrapper||(S=new m(S)),a[i][b]=S}break}break;case"message":var T=r.T;if(r.repeated)a[i]=o[i].map((function(e){return Ie(e,T)?e:new T(e)}));else{var C=o[i];T.fieldWrapper?"google.protobuf.BytesValue"===T.typeName?a[i]=ot(C):a[i]=C:a[i]=Ie(C,T)?C:new T(C)}break}};for(r.s();!(n=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}}},equals:function(e,t,n){return t===n||!(!t||!n)&&e.fields.byMember().every((function(e){var r=t[e.localName],i=n[e.localName];if(e.repeated){if(r.length!==i.length)return!1;switch(e.kind){case"message":return r.every((function(t,n){return e.T.equals(t,i[n])}));case"scalar":return r.every((function(t,n){return he(e.T,t,i[n])}));case"enum":return r.every((function(e,t){return he(ce.INT32,e,i[t])}))}throw new Error("repeated cannot contain ".concat(e.kind))}switch(e.kind){case"message":return e.T.equals(r,i);case"enum":return he(ce.INT32,r,i);case"scalar":return he(e.T,r,i);case"oneof":if(r.case!==i.case)return!1;var a=e.findField(r.case);if(void 0===a)return!0;switch(a.kind){case"message":return a.T.equals(r.value,i.value);case"enum":return he(ce.INT32,r.value,i.value);case"scalar":return he(a.T,r.value,i.value)}throw new Error("oneof cannot contain ".concat(a.kind));case"map":var o=Object.keys(r).concat(Object.keys(i));switch(e.V.kind){case"message":var s=e.V.T;return o.every((function(e){return s.equals(r[e],i[e])}));case"enum":return o.every((function(e){return he(ce.INT32,r[e],i[e])}));case"scalar":var c=e.V.T;return o.every((function(e){return he(c,r[e],i[e])}))}break}}))},clone:function(e){var t,n=e.getType(),r=new n,i=r,a=w(n.fields.byMember());try{for(a.s();!(t=a.n()).done;){var o=t.value,s=e[o.localName],c=void 0;if(o.repeated)c=s.map(at);else if("map"==o.kind){c=i[o.localName];for(var u=0,d=Object.entries(s);u<d.length;u++){var l=y(d[u],2),h=l[0],p=l[1];c[h]=at(p)}}else c="oneof"==o.kind?o.findField(s.case)?{case:s.case,value:at(s.value)}:{case:void 0}:at(s);i[o.localName]=c}}catch(e){a.e(e)}finally{a.f()}var f,v=w(n.runtime.bin.listUnknownFields(e));try{for(v.s();!(f=v.n()).done;){var m=f.value;n.runtime.bin.onUnknownField(i,m.no,m.wireType,m.data)}}catch(e){v.e(e)}finally{v.f()}return r}}),{newFieldList:gt,initFields:kt}),makeMessageType:function(e,t,n){return function(e,t,n,r){var i,a=null!==(i=null==r?void 0:r.localName)&&void 0!==i?i:t.substring(t.lastIndexOf(".")+1),o=h({},a,(function(t){e.util.initFields(this),e.util.initPartial(t,this)}))[a];return Object.setPrototypeOf(o.prototype,new X),Object.assign(o,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary:function(e,t){return(new o).fromBinary(e,t)},fromJson:function(e,t){return(new o).fromJson(e,t)},fromJsonString:function(e,t){return(new o).fromJsonString(e,t)},equals:function(t,n){return e.util.equals(o,t,n)}}),o}(this,e,t,n)},makeEnum:Q,makeEnumType:z,getEnumType:K,makeExtension:function(e,t,n){return function(e,t,n,r){var i;return{typeName:t,extendee:n,get field(){if(!i){var n="function"==typeof r?r():r;n.name=t.split(".").pop(),n.jsonName="[".concat(t,"]"),i=e.util.newFieldList([n]).list()[0]}return i},runtime:e}}(this,e,t,n)}}),yt=function(t){function n(t){var r;return u(this,n),(r=e(this,n)).seconds=le.zero,r.nanos=0,bt.util.initPartial(t,k(r)),r}return p(n,X),l(n,[{key:"fromJson",value:function(e,t){if("string"!=typeof e)throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(bt.json.debug(e)));var n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");var r=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(r))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(r<Date.parse("0001-01-01T00:00:00Z")||r>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");return this.seconds=le.parse(r/1e3),this.nanos=0,n[7]&&(this.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9),this}},{key:"toJson",value:function(e){var t=1e3*Number(this.seconds);if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");if(0>this.nanos)throw new Error("cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative");var n="Z";if(this.nanos>0){var r=(this.nanos+1e9).toString().substring(1);n="000000"===r.substring(3)?"."+r.substring(0,3)+"Z":"000"===r.substring(6)?"."+r.substring(0,6)+"Z":"."+r+"Z"}return new Date(t).toISOString().replace(".000Z",n)}},{key:"toDate",value:function(){return new Date(1e3*Number(this.seconds)+Math.ceil(this.nanos/1e6))}}],[{key:"now",value:function(){return n.fromDate(new Date)}},{key:"fromDate",value:function(e){var t=e.getTime();return new n({seconds:le.parse(Math.floor(t/1e3)),nanos:t%1e3*1e6})}},{key:"fromBinary",value:function(e,t){return(new n).fromBinary(e,t)}},{key:"fromJson",value:function(e,t){return(new n).fromJson(e,t)}},{key:"fromJsonString",value:function(e,t){return(new n).fromJsonString(e,t)}},{key:"equals",value:function(e,t){return bt.util.equals(n,e,t)}}]),n}();yt.runtime=bt,yt.typeName="google.protobuf.Timestamp",yt.fields=bt.util.newFieldList((function(){return[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]}));var St=bt.makeMessageType("livekit.MetricsBatch",(function(){return[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:yt},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:Tt,repeated:!0},{no:5,name:"events",kind:"message",T:wt,repeated:!0}]})),Tt=bt.makeMessageType("livekit.TimeSeriesMetric",(function(){return[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"samples",kind:"message",T:Ct,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]})),Ct=bt.makeMessageType("livekit.MetricSample",(function(){return[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:yt},{no:3,name:"value",kind:"scalar",T:2}]})),wt=bt.makeMessageType("livekit.EventMetric",(function(){return[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"start_timestamp_ms",kind:"scalar",T:3},{no:5,name:"end_timestamp_ms",kind:"scalar",T:3,opt:!0},{no:6,name:"normalized_start_timestamp",kind:"message",T:yt},{no:7,name:"normalized_end_timestamp",kind:"message",T:yt,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]})),Et=bt.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),xt=bt.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),Pt=bt.makeEnum("livekit.TrackSource",[{no:0,name:"UNKNOWN"},{no:1,name:"CAMERA"},{no:2,name:"MICROPHONE"},{no:3,name:"SCREEN_SHARE"},{no:4,name:"SCREEN_SHARE_AUDIO"}]),It=bt.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),Rt=bt.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),Ot=bt.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),Nt=bt.makeEnum("livekit.DisconnectReason",[{no:0,name:"UNKNOWN_REASON"},{no:1,name:"CLIENT_INITIATED"},{no:2,name:"DUPLICATE_IDENTITY"},{no:3,name:"SERVER_SHUTDOWN"},{no:4,name:"PARTICIPANT_REMOVED"},{no:5,name:"ROOM_DELETED"},{no:6,name:"STATE_MISMATCH"},{no:7,name:"JOIN_FAILURE"},{no:8,name:"MIGRATION"},{no:9,name:"SIGNAL_CLOSE"},{no:10,name:"ROOM_CLOSED"},{no:11,name:"USER_UNAVAILABLE"},{no:12,name:"USER_REJECTED"},{no:13,name:"SIP_TRUNK_FAILURE"},{no:14,name:"CONNECTION_TIMEOUT"}]),Dt=bt.makeEnum("livekit.ReconnectReason",[{no:0,name:"RR_UNKNOWN"},{no:1,name:"RR_SIGNAL_DISCONNECTED"},{no:2,name:"RR_PUBLISHER_FAILED"},{no:3,name:"RR_SUBSCRIBER_FAILED"},{no:4,name:"RR_SWITCH_CANDIDATE"}]),Mt=bt.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),At=bt.makeEnum("livekit.AudioTrackFeature",[{no:0,name:"TF_STEREO"},{no:1,name:"TF_NO_DTX"},{no:2,name:"TF_AUTO_GAIN_CONTROL"},{no:3,name:"TF_ECHO_CANCELLATION"},{no:4,name:"TF_NOISE_SUPPRESSION"},{no:5,name:"TF_ENHANCED_NOISE_CANCELLATION"},{no:6,name:"TF_PRECONNECT_BUFFER"}]),_t=bt.makeMessageType("livekit.Room",(function(){return[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"empty_timeout",kind:"scalar",T:13},{no:14,name:"departure_timeout",kind:"scalar",T:13},{no:4,name:"max_participants",kind:"scalar",T:13},{no:5,name:"creation_time",kind:"scalar",T:3},{no:15,name:"creation_time_ms",kind:"scalar",T:3},{no:6,name:"turn_password",kind:"scalar",T:9},{no:7,name:"enabled_codecs",kind:"message",T:Lt,repeated:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"num_participants",kind:"scalar",T:13},{no:11,name:"num_publishers",kind:"scalar",T:13},{no:10,name:"active_recording",kind:"scalar",T:8},{no:13,name:"version",kind:"message",T:fn}]})),Lt=bt.makeMessageType("livekit.Codec",(function(){return[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]})),Ut=bt.makeMessageType("livekit.ParticipantPermission",(function(){return[{no:1,name:"can_subscribe",kind:"scalar",T:8},{no:2,name:"can_publish",kind:"scalar",T:8},{no:3,name:"can_publish_data",kind:"scalar",T:8},{no:9,name:"can_publish_sources",kind:"enum",T:bt.getEnumType(Pt),repeated:!0},{no:7,name:"hidden",kind:"scalar",T:8},{no:8,name:"recorder",kind:"scalar",T:8},{no:10,name:"can_update_metadata",kind:"scalar",T:8},{no:11,name:"agent",kind:"scalar",T:8},{no:12,name:"can_subscribe_metrics",kind:"scalar",T:8}]})),jt=bt.makeMessageType("livekit.ParticipantInfo",(function(){return[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"identity",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:bt.getEnumType(Ft)},{no:4,name:"tracks",kind:"message",T:qt,repeated:!0},{no:5,name:"metadata",kind:"scalar",T:9},{no:6,name:"joined_at",kind:"scalar",T:3},{no:17,name:"joined_at_ms",kind:"scalar",T:3},{no:9,name:"name",kind:"scalar",T:9},{no:10,name:"version",kind:"scalar",T:13},{no:11,name:"permission",kind:"message",T:Ut},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:bt.getEnumType(Bt)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:bt.getEnumType(Nt)},{no:18,name:"kind_details",kind:"enum",T:bt.getEnumType(Ht),repeated:!0}]})),Ft=bt.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),Bt=bt.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),Ht=bt.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),Wt=bt.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),Vt=bt.makeMessageType("livekit.SimulcastCodecInfo",(function(){return[{no:1,name:"mime_type",kind:"scalar",T:9},{no:2,name:"mid",kind:"scalar",T:9},{no:3,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:Gt,repeated:!0}]})),qt=bt.makeMessageType("livekit.TrackInfo",(function(){return[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:bt.getEnumType(xt)},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"muted",kind:"scalar",T:8},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"simulcast",kind:"scalar",T:8},{no:8,name:"disable_dtx",kind:"scalar",T:8},{no:9,name:"source",kind:"enum",T:bt.getEnumType(Pt)},{no:10,name:"layers",kind:"message",T:Gt,repeated:!0},{no:11,name:"mime_type",kind:"scalar",T:9},{no:12,name:"mid",kind:"scalar",T:9},{no:13,name:"codecs",kind:"message",T:Vt,repeated:!0},{no:14,name:"stereo",kind:"scalar",T:8},{no:15,name:"disable_red",kind:"scalar",T:8},{no:16,name:"encryption",kind:"enum",T:bt.getEnumType(Wt)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:fn},{no:19,name:"audio_features",kind:"enum",T:bt.getEnumType(At),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:bt.getEnumType(Et)}]})),Gt=bt.makeMessageType("livekit.VideoLayer",(function(){return[{no:1,name:"quality",kind:"enum",T:bt.getEnumType(It)},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13},{no:4,name:"bitrate",kind:"scalar",T:13},{no:5,name:"ssrc",kind:"scalar",T:13}]})),Kt=bt.makeMessageType("livekit.DataPacket",(function(){return[{no:1,name:"kind",kind:"enum",T:bt.getEnumType(Jt)},{no:4,name:"participant_identity",kind:"scalar",T:9},{no:5,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:2,name:"user",kind:"message",T:Yt,oneof:"value"},{no:3,name:"speaker",kind:"message",T:zt,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:Xt,oneof:"value"},{no:7,name:"transcription",kind:"message",T:Zt,oneof:"value"},{no:8,name:"metrics",kind:"message",T:St,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:en,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:tn,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:nn,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:rn,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:kn,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:bn,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:yn,oneof:"value"}]})),Jt=bt.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),zt=bt.makeMessageType("livekit.ActiveSpeakerUpdate",(function(){return[{no:1,name:"speakers",kind:"message",T:Qt,repeated:!0}]})),Qt=bt.makeMessageType("livekit.SpeakerInfo",(function(){return[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"level",kind:"scalar",T:2},{no:3,name:"active",kind:"scalar",T:8}]})),Yt=bt.makeMessageType("livekit.UserPacket",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:5,name:"participant_identity",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"destination_sids",kind:"scalar",T:9,repeated:!0},{no:6,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:4,name:"topic",kind:"scalar",T:9,opt:!0},{no:8,name:"id",kind:"scalar",T:9,opt:!0},{no:9,name:"start_time",kind:"scalar",T:4,opt:!0},{no:10,name:"end_time",kind:"scalar",T:4,opt:!0},{no:11,name:"nonce",kind:"scalar",T:12}]})),Xt=bt.makeMessageType("livekit.SipDTMF",(function(){return[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]})),Zt=bt.makeMessageType("livekit.Transcription",(function(){return[{no:2,name:"transcribed_participant_identity",kind:"scalar",T:9},{no:3,name:"track_id",kind:"scalar",T:9},{no:4,name:"segments",kind:"message",T:$t,repeated:!0}]})),$t=bt.makeMessageType("livekit.TranscriptionSegment",(function(){return[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"start_time",kind:"scalar",T:4},{no:4,name:"end_time",kind:"scalar",T:4},{no:5,name:"final",kind:"scalar",T:8},{no:6,name:"language",kind:"scalar",T:9}]})),en=bt.makeMessageType("livekit.ChatMessage",(function(){return[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"edit_timestamp",kind:"scalar",T:3,opt:!0},{no:4,name:"message",kind:"scalar",T:9},{no:5,name:"deleted",kind:"scalar",T:8},{no:6,name:"generated",kind:"scalar",T:8}]})),tn=bt.makeMessageType("livekit.RpcRequest",(function(){return[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"method",kind:"scalar",T:9},{no:3,name:"payload",kind:"scalar",T:9},{no:4,name:"response_timeout_ms",kind:"scalar",T:13},{no:5,name:"version",kind:"scalar",T:13}]})),nn=bt.makeMessageType("livekit.RpcAck",(function(){return[{no:1,name:"request_id",kind:"scalar",T:9}]})),rn=bt.makeMessageType("livekit.RpcResponse",(function(){return[{no:1,name:"request_id",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:9,oneof:"value"},{no:3,name:"error",kind:"message",T:an,oneof:"value"}]})),an=bt.makeMessageType("livekit.RpcError",(function(){return[{no:1,name:"code",kind:"scalar",T:13},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"data",kind:"scalar",T:9}]})),on=bt.makeMessageType("livekit.ParticipantTracks",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]})),sn=bt.makeMessageType("livekit.ServerInfo",(function(){return[{no:1,name:"edition",kind:"enum",T:bt.getEnumType(cn)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"region",kind:"scalar",T:9},{no:5,name:"node_id",kind:"scalar",T:9},{no:6,name:"debug_info",kind:"scalar",T:9},{no:7,name:"agent_protocol",kind:"scalar",T:5}]})),cn=bt.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),un=bt.makeMessageType("livekit.ClientInfo",(function(){return[{no:1,name:"sdk",kind:"enum",T:bt.getEnumType(dn)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"os",kind:"scalar",T:9},{no:5,name:"os_version",kind:"scalar",T:9},{no:6,name:"device_model",kind:"scalar",T:9},{no:7,name:"browser",kind:"scalar",T:9},{no:8,name:"browser_version",kind:"scalar",T:9},{no:9,name:"address",kind:"scalar",T:9},{no:10,name:"network",kind:"scalar",T:9},{no:11,name:"other_sdks",kind:"scalar",T:9}]})),dn=bt.makeEnum("livekit.ClientInfo.SDK",[{no:0,name:"UNKNOWN"},{no:1,name:"JS"},{no:2,name:"SWIFT"},{no:3,name:"ANDROID"},{no:4,name:"FLUTTER"},{no:5,name:"GO"},{no:6,name:"UNITY"},{no:7,name:"REACT_NATIVE"},{no:8,name:"RUST"},{no:9,name:"PYTHON"},{no:10,name:"CPP"},{no:11,name:"UNITY_WEB"},{no:12,name:"NODE"},{no:13,name:"UNREAL"}]),ln=bt.makeMessageType("livekit.ClientConfiguration",(function(){return[{no:1,name:"video",kind:"message",T:hn},{no:2,name:"screen",kind:"message",T:hn},{no:3,name:"resume_connection",kind:"enum",T:bt.getEnumType(Ot)},{no:4,name:"disabled_codecs",kind:"message",T:pn},{no:5,name:"force_relay",kind:"enum",T:bt.getEnumType(Ot)}]})),hn=bt.makeMessageType("livekit.VideoConfiguration",(function(){return[{no:1,name:"hardware_encoder",kind:"enum",T:bt.getEnumType(Ot)}]})),pn=bt.makeMessageType("livekit.DisabledCodecs",(function(){return[{no:1,name:"codecs",kind:"message",T:Lt,repeated:!0},{no:2,name:"publish",kind:"message",T:Lt,repeated:!0}]})),fn=bt.makeMessageType("livekit.TimedVersion",(function(){return[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]})),vn=bt.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),mn=bt.makeMessageType("livekit.DataStream.TextHeader",(function(){return[{no:1,name:"operation_type",kind:"enum",T:bt.getEnumType(vn)},{no:2,name:"version",kind:"scalar",T:5},{no:3,name:"reply_to_stream_id",kind:"scalar",T:9},{no:4,name:"attached_stream_ids",kind:"scalar",T:9,repeated:!0},{no:5,name:"generated",kind:"scalar",T:8}]}),{localName:"DataStream_TextHeader"}),gn=bt.makeMessageType("livekit.DataStream.ByteHeader",(function(){return[{no:1,name:"name",kind:"scalar",T:9}]}),{localName:"DataStream_ByteHeader"}),kn=bt.makeMessageType("livekit.DataStream.Header",(function(){return[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"topic",kind:"scalar",T:9},{no:4,name:"mime_type",kind:"scalar",T:9},{no:5,name:"total_length",kind:"scalar",T:4,opt:!0},{no:7,name:"encryption_type",kind:"enum",T:bt.getEnumType(Wt)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:mn,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:gn,oneof:"content_header"}]}),{localName:"DataStream_Header"}),bn=bt.makeMessageType("livekit.DataStream.Chunk",(function(){return[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"chunk_index",kind:"scalar",T:4},{no:3,name:"content",kind:"scalar",T:12},{no:4,name:"version",kind:"scalar",T:5},{no:5,name:"iv",kind:"scalar",T:12,opt:!0}]}),{localName:"DataStream_Chunk"}),yn=bt.makeMessageType("livekit.DataStream.Trailer",(function(){return[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"reason",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}]}),{localName:"DataStream_Trailer"}),Sn=bt.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),Tn=bt.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),Cn=bt.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),wn=bt.makeMessageType("livekit.SignalRequest",(function(){return[{no:1,name:"offer",kind:"message",T:An,oneof:"message"},{no:2,name:"answer",kind:"message",T:An,oneof:"message"},{no:3,name:"trickle",kind:"message",T:In,oneof:"message"},{no:4,name:"add_track",kind:"message",T:Pn,oneof:"message"},{no:5,name:"mute",kind:"message",T:Rn,oneof:"message"},{no:6,name:"subscription",kind:"message",T:Ln,oneof:"message"},{no:7,name:"track_setting",kind:"message",T:Un,oneof:"message"},{no:8,name:"leave",kind:"message",T:Bn,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:Wn,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:tr,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:ir,oneof:"message"},{no:13,name:"simulate",kind:"message",T:or,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:Vn,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:sr,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:jn,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:Fn,oneof:"message"}]})),En=bt.makeMessageType("livekit.SignalResponse",(function(){return[{no:1,name:"join",kind:"message",T:On,oneof:"message"},{no:2,name:"answer",kind:"message",T:An,oneof:"message"},{no:3,name:"offer",kind:"message",T:An,oneof:"message"},{no:4,name:"trickle",kind:"message",T:In,oneof:"message"},{no:5,name:"update",kind:"message",T:_n,oneof:"message"},{no:6,name:"track_published",kind:"message",T:Dn,oneof:"message"},{no:8,name:"leave",kind:"message",T:Bn,oneof:"message"},{no:9,name:"mute",kind:"message",T:Rn,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:Gn,oneof:"message"},{no:11,name:"room_update",kind:"message",T:Kn,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:zn,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:Yn,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:$n,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:nr,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:Mn,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:Nn,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:cr,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:lr,oneof:"message"},{no:22,name:"request_response",kind:"message",T:hr,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:fr,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:rr,oneof:"message"}]})),xn=bt.makeMessageType("livekit.SimulcastCodec",(function(){return[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9}]})),Pn=bt.makeMessageType("livekit.AddTrackRequest",(function(){return[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:bt.getEnumType(xt)},{no:4,name:"width",kind:"scalar",T:13},{no:5,name:"height",kind:"scalar",T:13},{no:6,name:"muted",kind:"scalar",T:8},{no:7,name:"disable_dtx",kind:"scalar",T:8},{no:8,name:"source",kind:"enum",T:bt.getEnumType(Pt)},{no:9,name:"layers",kind:"message",T:Gt,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:xn,repeated:!0},{no:11,name:"sid",kind:"scalar",T:9},{no:12,name:"stereo",kind:"scalar",T:8},{no:13,name:"disable_red",kind:"scalar",T:8},{no:14,name:"encryption",kind:"enum",T:bt.getEnumType(Wt)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:bt.getEnumType(Et)},{no:17,name:"audio_features",kind:"enum",T:bt.getEnumType(At),repeated:!0}]})),In=bt.makeMessageType("livekit.TrickleRequest",(function(){return[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:bt.getEnumType(Sn)},{no:3,name:"final",kind:"scalar",T:8}]})),Rn=bt.makeMessageType("livekit.MuteTrackRequest",(function(){return[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]})),On=bt.makeMessageType("livekit.JoinResponse",(function(){return[{no:1,name:"room",kind:"message",T:_t},{no:2,name:"participant",kind:"message",T:jt},{no:3,name:"other_participants",kind:"message",T:jt,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:qn,repeated:!0},{no:6,name:"subscriber_primary",kind:"scalar",T:8},{no:7,name:"alternative_url",kind:"scalar",T:9},{no:8,name:"client_configuration",kind:"message",T:ln},{no:9,name:"server_region",kind:"scalar",T:9},{no:10,name:"ping_timeout",kind:"scalar",T:5},{no:11,name:"ping_interval",kind:"scalar",T:5},{no:12,name:"server_info",kind:"message",T:sn},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:Lt,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]})),Nn=bt.makeMessageType("livekit.ReconnectResponse",(function(){return[{no:1,name:"ice_servers",kind:"message",T:qn,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:ln}]})),Dn=bt.makeMessageType("livekit.TrackPublishedResponse",(function(){return[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:qt}]})),Mn=bt.makeMessageType("livekit.TrackUnpublishedResponse",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9}]})),An=bt.makeMessageType("livekit.SessionDescription",(function(){return[{no:1,name:"type",kind:"scalar",T:9},{no:2,name:"sdp",kind:"scalar",T:9}]})),_n=bt.makeMessageType("livekit.ParticipantUpdate",(function(){return[{no:1,name:"participants",kind:"message",T:jt,repeated:!0}]})),Ln=bt.makeMessageType("livekit.UpdateSubscription",(function(){return[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:2,name:"subscribe",kind:"scalar",T:8},{no:3,name:"participant_tracks",kind:"message",T:on,repeated:!0}]})),Un=bt.makeMessageType("livekit.UpdateTrackSettings",(function(){return[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:3,name:"disabled",kind:"scalar",T:8},{no:4,name:"quality",kind:"enum",T:bt.getEnumType(It)},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"fps",kind:"scalar",T:13},{no:8,name:"priority",kind:"scalar",T:13}]})),jn=bt.makeMessageType("livekit.UpdateLocalAudioTrack",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:bt.getEnumType(At),repeated:!0}]})),Fn=bt.makeMessageType("livekit.UpdateLocalVideoTrack",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13}]})),Bn=bt.makeMessageType("livekit.LeaveRequest",(function(){return[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:bt.getEnumType(Nt)},{no:3,name:"action",kind:"enum",T:bt.getEnumType(Hn)},{no:4,name:"regions",kind:"message",T:ur}]})),Hn=bt.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),Wn=bt.makeMessageType("livekit.UpdateVideoLayers",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:Gt,repeated:!0}]})),Vn=bt.makeMessageType("livekit.UpdateParticipantMetadata",(function(){return[{no:1,name:"metadata",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:4,name:"request_id",kind:"scalar",T:13}]})),qn=bt.makeMessageType("livekit.ICEServer",(function(){return[{no:1,name:"urls",kind:"scalar",T:9,repeated:!0},{no:2,name:"username",kind:"scalar",T:9},{no:3,name:"credential",kind:"scalar",T:9}]})),Gn=bt.makeMessageType("livekit.SpeakersChanged",(function(){return[{no:1,name:"speakers",kind:"message",T:Qt,repeated:!0}]})),Kn=bt.makeMessageType("livekit.RoomUpdate",(function(){return[{no:1,name:"room",kind:"message",T:_t}]})),Jn=bt.makeMessageType("livekit.ConnectionQualityInfo",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:bt.getEnumType(Rt)},{no:3,name:"score",kind:"scalar",T:2}]})),zn=bt.makeMessageType("livekit.ConnectionQualityUpdate",(function(){return[{no:1,name:"updates",kind:"message",T:Jn,repeated:!0}]})),Qn=bt.makeMessageType("livekit.StreamStateInfo",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:bt.getEnumType(Tn)}]})),Yn=bt.makeMessageType("livekit.StreamStateUpdate",(function(){return[{no:1,name:"stream_states",kind:"message",T:Qn,repeated:!0}]})),Xn=bt.makeMessageType("livekit.SubscribedQuality",(function(){return[{no:1,name:"quality",kind:"enum",T:bt.getEnumType(It)},{no:2,name:"enabled",kind:"scalar",T:8}]})),Zn=bt.makeMessageType("livekit.SubscribedCodec",(function(){return[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:Xn,repeated:!0}]})),$n=bt.makeMessageType("livekit.SubscribedQualityUpdate",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:Xn,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:Zn,repeated:!0}]})),er=bt.makeMessageType("livekit.TrackPermission",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"all_tracks",kind:"scalar",T:8},{no:3,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:4,name:"participant_identity",kind:"scalar",T:9}]})),tr=bt.makeMessageType("livekit.SubscriptionPermission",(function(){return[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:er,repeated:!0}]})),nr=bt.makeMessageType("livekit.SubscriptionPermissionUpdate",(function(){return[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"allowed",kind:"scalar",T:8}]})),rr=bt.makeMessageType("livekit.RoomMovedResponse",(function(){return[{no:1,name:"room",kind:"message",T:_t},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:jt},{no:4,name:"other_participants",kind:"message",T:jt,repeated:!0}]})),ir=bt.makeMessageType("livekit.SyncState",(function(){return[{no:1,name:"answer",kind:"message",T:An},{no:2,name:"subscription",kind:"message",T:Ln},{no:3,name:"publish_tracks",kind:"message",T:Dn,repeated:!0},{no:4,name:"data_channels",kind:"message",T:ar,repeated:!0},{no:5,name:"offer",kind:"message",T:An},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0}]})),ar=bt.makeMessageType("livekit.DataChannelInfo",(function(){return[{no:1,name:"label",kind:"scalar",T:9},{no:2,name:"id",kind:"scalar",T:13},{no:3,name:"target",kind:"enum",T:bt.getEnumType(Sn)}]})),or=bt.makeMessageType("livekit.SimulateScenario",(function(){return[{no:1,name:"speaker_update",kind:"scalar",T:5,oneof:"scenario"},{no:2,name:"node_failure",kind:"scalar",T:8,oneof:"scenario"},{no:3,name:"migration",kind:"scalar",T:8,oneof:"scenario"},{no:4,name:"server_leave",kind:"scalar",T:8,oneof:"scenario"},{no:5,name:"switch_candidate_protocol",kind:"enum",T:bt.getEnumType(Cn),oneof:"scenario"},{no:6,name:"subscriber_bandwidth",kind:"scalar",T:3,oneof:"scenario"},{no:7,name:"disconnect_signal_on_resume",kind:"scalar",T:8,oneof:"scenario"},{no:8,name:"disconnect_signal_on_resume_no_messages",kind:"scalar",T:8,oneof:"scenario"},{no:9,name:"leave_request_full_reconnect",kind:"scalar",T:8,oneof:"scenario"}]})),sr=bt.makeMessageType("livekit.Ping",(function(){return[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]})),cr=bt.makeMessageType("livekit.Pong",(function(){return[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]})),ur=bt.makeMessageType("livekit.RegionSettings",(function(){return[{no:1,name:"regions",kind:"message",T:dr,repeated:!0}]})),dr=bt.makeMessageType("livekit.RegionInfo",(function(){return[{no:1,name:"region",kind:"scalar",T:9},{no:2,name:"url",kind:"scalar",T:9},{no:3,name:"distance",kind:"scalar",T:3}]})),lr=bt.makeMessageType("livekit.SubscriptionResponse",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:bt.getEnumType(Mt)}]})),hr=bt.makeMessageType("livekit.RequestResponse",(function(){return[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:bt.getEnumType(pr)},{no:3,name:"message",kind:"scalar",T:9}]})),pr=bt.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"}]),fr=bt.makeMessageType("livekit.TrackSubscribed",(function(){return[{no:1,name:"track_sid",kind:"scalar",T:9}]}));function vr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var mr,gr={exports:{}};var kr,br,yr,Sr,Tr,Cr=(mr||(mr=1,br=gr.exports,yr=function(){var e=function(){},t="undefined",n=("undefined"==typeof window?"undefined":o(window))!==t&&o(window.navigator)!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},a=null;function s(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(t){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function c(){console.log&&(console.log.apply||Function.prototype.apply.apply(console.log,[console,arguments])),console.trace}function u(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=n>i?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,("undefined"==typeof console?"undefined":o(console))===t&&n<this.levels.SILENT)return"No console available for logging"}function d(e){return function(){("undefined"==typeof console?"undefined":o(console))!==t&&(u.call(this),this[e].apply(this,arguments))}}function l(r,i,a){return function(r){return"debug"===r&&(r="log"),("undefined"==typeof console?"undefined":o(console))!==t&&("trace"===r&&n?c:void 0!==console[r]?s(console,r):void 0!==console.log?s(console,"log"):e)}(r)||d.apply(this,arguments)}function h(e,n){var s,c,d,h=this,p="loglevel";function f(){var e;if(("undefined"==typeof window?"undefined":o(window))!==t&&p){try{e=window.localStorage[p]}catch(e){}if(o(e)===t)try{var n=window.document.cookie,r=encodeURIComponent(p),i=n.indexOf(r+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch(e){}return void 0===h.levels[e]&&(e=void 0),e}}function v(e){var t=e;if("string"==typeof t&&void 0!==h.levels[t.toUpperCase()]&&(t=h.levels[t.toUpperCase()]),"number"!=typeof t||0>t||t>h.levels.SILENT)throw new TypeError("log.setLevel() called with invalid level: "+e);return t}"string"==typeof e?p+=":"+e:"symbol"===o(e)&&(p=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=n||l,h.getLevel=function(){return null!=d?d:null!=c?c:s},h.setLevel=function(e,n){return d=v(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(("undefined"==typeof window?"undefined":o(window))!==t&&p){try{return void(window.localStorage[p]=n)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(e){}}}(d),u.call(h)},h.setDefaultLevel=function(e){c=v(e),f()||h.setLevel(e,!1)},h.resetLevel=function(){d=null,function(){if(("undefined"==typeof window?"undefined":o(window))!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),u.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(a!==h&&(s=v(a.getLevel())),u.call(h),a===h)for(var e in i)i[e].rebuild()},s=v(a?a.getLevel():"WARN");var m=f();null!=m&&(d=v(m)),u.call(h)}(a=new h).getLogger=function(e){if("symbol"!==o(e)&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=i[e];return t||(t=i[e]=new h(e,a.methodFactory)),t};var p=("undefined"==typeof window?"undefined":o(window))!==t?window.log:void 0;return a.noConflict=function(){return("undefined"==typeof window?"undefined":o(window))!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a},(kr=gr).exports?kr.exports=yr():br.log=yr()),gr.exports);!function(e){e[e.trace=0]="trace",e[e.debug=1]="debug",e[e.info=2]="info",e[e.warn=3]="warn",e[e.error=4]="error",e[e.silent=5]="silent"}(Sr||(Sr={})),function(e){e.Default="livekit",e.Room="livekit-room",e.Participant="livekit-participant",e.Track="livekit-track",e.Publication="livekit-track-publication",e.Engine="livekit-engine",e.Signal="livekit-signal",e.PCManager="livekit-pc-manager",e.PCTransport="livekit-pc-transport",e.E2EE="lk-e2ee"}(Tr||(Tr={}));var wr=Cr.getLogger("livekit");function Er(e){var t=Cr.getLogger(e);return t.setDefaultLevel(wr.getLevel()),t}Object.values(Tr).map((function(e){return Cr.getLogger(e)})),wr.setDefaultLevel(Sr.info);var xr=Cr.getLogger("lk-e2ee"),Pr=7e3,Ir=[0,300,1200,2700,4800,Pr,Pr,Pr,Pr,Pr],Rr=function(){function e(t){u(this,e),this._retryDelays=void 0!==t?S(t):Ir}return l(e,[{key:"nextRetryDelayInMs",value:function(e){if(e.retryCount>=this._retryDelays.length)return null;var t=this._retryDelays[e.retryCount];return e.retryCount>1?t+1e3*Math.random():t}}]),e}();function Or(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)0>t.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}function Nr(e,t,n,r){return new(n||(n=Promise))((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))}function Dr(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Mr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Dr(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,i){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,i,(t=e[n](t)).done,t.value)}))}}}"function"==typeof SuppressedError&&SuppressedError;var Ar,_r={exports:{}};var Lr=function(){if(Ar)return _r.exports;Ar=1;var e,t="object"===("undefined"==typeof Reflect?"undefined":o(Reflect))?Reflect:null,n=t&&"function"==typeof t.apply?t.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function i(){i.init.call(this)}_r.exports=i,_r.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}v(e,t,a,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&v(e,"error",t,n)}(e,i,{once:!0})}))},i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+o(e))}function c(e){return void 0===e._maxListeners?i.defaultMaxListeners:e._maxListeners}function u(e,t,n,r){var i,a,o;if(s(n),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),o=a[t]),void 0===o)o=a[t]=n,++e._eventsCount;else if("function"==typeof o?o=a[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=o.length,console&&console.warn}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function h(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):f(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function f(e,t){for(var n=new Array(t),r=0;t>r;++r)n[r]=e[r];return n}function v(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+o(e));e.addEventListener(t,(function i(a){r.once&&e.removeEventListener(t,i),n(a)}))}}return Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(e){if("number"!=typeof e||0>e||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");a=e}}),i.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(e){if("number"!=typeof e||0>e||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},i.prototype.getMaxListeners=function(){return c(this)},i.prototype.emit=function(e){for(var t=[],r=1;arguments.length>r;r++)t.push(arguments[r]);var i="error"===e,a=this._events;if(void 0!==a)i=i&&void 0===a.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var c=a[e];if(void 0===c)return!1;if("function"==typeof c)n(c,this,t);else{var u=c.length,d=f(c,u);for(r=0;u>r;++r)n(d[r],this,t)}return!0},i.prototype.addListener=function(e,t){return u(this,e,t,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(e,t){return u(this,e,t,!0)},i.prototype.once=function(e,t){return s(t),this.on(e,l(this,e,t)),this},i.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,l(this,e,t)),this},i.prototype.removeListener=function(e,t){var n,r,i,a,o;if(s(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(0>i)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||t)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,a=Object.keys(n);for(r=0;r<a.length;++r)"removeListener"!==(i=a[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},i.prototype.listeners=function(e){return h(this,e,!0)},i.prototype.rawListeners=function(e){return h(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},i.prototype.listenerCount=p,i.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},_r.exports}(),Ur=!0;function jr(e,t,n){var r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function Fr(e,t,n){if(e.RTCPeerConnection){var r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);var a=function(e){var t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};var a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t])return a.apply(this,arguments);if(!this._eventMap[t].has(n))return a.apply(this,arguments);var r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,"on"+t,{get:function(){return this["_on"+t]},set:function(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}}function Br(e){return"boolean"!=typeof e?new Error("Argument type: "+o(e)+". Please use a boolean."):(Ur=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function Hr(e){return"boolean"!=typeof e?new Error("Argument type: "+o(e)+". Please use a boolean."):(!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Wr(){if("object"===("undefined"==typeof window?"undefined":o(window))){if(Ur)return;"undefined"!=typeof console&&console.log}}function Vr(e){return"[object Object]"===Object.prototype.toString.call(e)}function qr(e){return Vr(e)?Object.keys(e).reduce((function(t,n){var r=Vr(e[n]),i=r?qr(e[n]):e[n],a=r&&!Object.keys(i).length;return void 0===i||a?t:Object.assign(t,h({},n,i))}),{}):e}function Gr(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach((function(r){r.endsWith("Id")?Gr(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach((function(t){Gr(e,e.get(t),n)}))})))}function Kr(e,t,n){var r=n?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;var a=[];return e.forEach((function(e){"track"===e.type&&e.trackIdentifier===t.id&&a.push(e)})),a.forEach((function(t){e.forEach((function(n){n.type===r&&n.trackId===t.id&&Gr(e,n,i)}))})),i}var Jr=Wr;function zr(e,t){var n=e&&e.navigator;if(n.mediaDevices){var r=function(e){if("object"!==o(e)||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach((function(n){if("require"!==n&&"advanced"!==n&&"mediaSource"!==n){var r="object"===o(e[n])?e[n]:{ideal:e[n]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);var i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==r.ideal){t.optional=t.optional||[];var a={};"number"==typeof r.ideal?(a[i("min",n)]=r.ideal,t.optional.push(a),(a={})[i("max",n)]=r.ideal,t.optional.push(a)):(a[i("",n)]=r.ideal,t.optional.push(a))}void 0!==r.exact&&"number"!=typeof r.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",n)]=r.exact):["min","max"].forEach((function(e){void 0!==r[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])}))}})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"===o(e.audio)){var a=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};a((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),a(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=r(e.audio)}if(e&&"object"===o(e.video)){var s=e.video.facingMode;s=s&&("object"===o(s)?s:{ideal:s});var c,u=66>t.version;if(s&&("user"===s.exact||"environment"===s.exact||"user"===s.ideal||"environment"===s.ideal)&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||u))if(delete e.video.facingMode,"environment"===s.exact||"environment"===s.ideal?c=["back","rear"]:"user"!==s.exact&&"user"!==s.ideal||(c=["front"]),c)return n.mediaDevices.enumerateDevices().then((function(t){var n=(t=t.filter((function(e){return"videoinput"===e.kind}))).find((function(e){return c.some((function(t){return e.label.toLowerCase().includes(t)}))}));return!n&&t.length&&c.includes("back")&&(n=t[t.length-1]),n&&(e.video.deviceId=s.exact?{exact:n.deviceId}:{ideal:n.deviceId}),e.video=r(e.video),Jr("chrome: "+JSON.stringify(e)),i(e)}));e.video=r(e.video)}return Jr("chrome: "+JSON.stringify(e)),i(e)},a=function(e){return 64>t.version?{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}:e};if(n.getUserMedia=function(e,t,r){i(e,(function(e){n.webkitGetUserMedia(e,t,(function(e){r&&r(a(e))}))}))}.bind(n),n.mediaDevices.getUserMedia){var s=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(e){return i(e,(function(e){return s(e).then((function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach((function(e){e.stop()})),new DOMException("","NotFoundError");return t}),(function(e){return Promise.reject(a(e))}))}))}}}}function Qr(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function Yr(e){if("object"===o(e)&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});var t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var n=this;return this._ontrackpoly||(this._ontrackpoly=function(t){t.stream.addEventListener("addtrack",(function(r){var i;i=e.RTCPeerConnection.prototype.getReceivers?n.getReceivers().find((function(e){return e.track&&e.track.id===r.track.id})):{track:r.track};var a=new Event("track");a.track=r.track,a.receiver=i,a.transceiver={receiver:i},a.streams=[t.stream],n.dispatchEvent(a)})),t.stream.getTracks().forEach((function(r){var i;i=e.RTCPeerConnection.prototype.getReceivers?n.getReceivers().find((function(e){return e.track&&e.track.id===r.id})):{track:r};var a=new Event("track");a.track=r,a.receiver=i,a.transceiver={receiver:i},a.streams=[t.stream],n.dispatchEvent(a)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else Fr(e,"track",(function(e){return e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e}))}function Xr(e){if("object"===o(e)&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){var t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};var n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){var i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};var r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);var t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}var i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){var n=this;this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach((function(e){n._senders.push(t(n,e))}))};var a=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;this._senders=this._senders||[],a.apply(this,[e]),e.getTracks().forEach((function(e){var n=t._senders.find((function(t){return t.track===e}));n&&t._senders.splice(t._senders.indexOf(n),1)}))}}else if("object"===o(e)&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){var s=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){var e=this,t=s.apply(this,[]);return t.forEach((function(t){return t._pc=e})),t},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get:function(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Zr(e){if("object"===o(e)&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver){if(!("getStats"in e.RTCRtpSender.prototype)){var t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){var e=this,n=t.apply(this,[]);return n.forEach((function(t){return t._pc=e})),n});var n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){var e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){var e=this;return this._pc.getStats().then((function(t){return Kr(t,e.track,!0)}))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){var r=e.RTCPeerConnection.prototype.getReceivers;r&&(e.RTCPeerConnection.prototype.getReceivers=function(){var e=this,t=r.apply(this,[]);return t.forEach((function(t){return t._pc=e})),t}),Fr(e,"track",(function(e){return e.receiver._pc=e.srcElement,e})),e.RTCRtpReceiver.prototype.getStats=function(){var e=this;return this._pc.getStats().then((function(t){return Kr(t,e.track,!1)}))}}if("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype){var i=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){var t,n,r,a=arguments[0];return this.getSenders().forEach((function(e){e.track===a&&(t?r=!0:t=e)})),this.getReceivers().forEach((function(e){return e.track===a&&(n?r=!0:n=e),e.track===a})),r||t&&n?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():n?n.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return i.apply(this,arguments)}}}}function $r(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){var e=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((function(t){return e._shimmedLocalStreams[t][0]}))};var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};var r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?-1===this._shimmedLocalStreams[n.id].indexOf(r)&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};var n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){var t=this;this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((function(e){if(t.getSenders().find((function(t){return t.track===e})))throw new DOMException("Track already exists.","InvalidAccessError")}));var r=this.getSenders();n.apply(this,arguments);var i=this.getSenders().filter((function(e){return-1===r.indexOf(e)}));this._shimmedLocalStreams[e.id]=[e].concat(i)};var r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};var i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){var t=this;return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((function(n){var r=t._shimmedLocalStreams[n].indexOf(e);-1!==r&&t._shimmedLocalStreams[n].splice(r,1),1===t._shimmedLocalStreams[n].length&&delete t._shimmedLocalStreams[n]})),i.apply(this,arguments)}}function ei(e,t){if(e.RTCPeerConnection){if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return $r(e);var n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){var e=this,t=n.apply(this);return this._reverseStreams=this._reverseStreams||{},t.map((function(t){return e._reverseStreams[t.id]}))};var r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){var n=this;if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((function(e){if(n.getSenders().find((function(t){return t.track===e})))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){var i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}r.apply(this,[t])};var i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){var r=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");var i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find((function(e){return e===t})))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((function(e){return e.track===t})))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};var a=this._streams[n.id];if(a)a.addTrack(t),Promise.resolve().then((function(){r.dispatchEvent(new Event("negotiationneeded"))}));else{var o=new e.MediaStream([t]);this._streams[n.id]=o,this._reverseStreams[o.id]=n,this.addStream(o)}return this.getSenders().find((function(e){return e.track===t}))},["createOffer","createAnswer"].forEach((function(t){var n=e.RTCPeerConnection.prototype[t],r=h({},t,(function(){var e=this,t=arguments;return arguments.length&&"function"==typeof arguments[0]?n.apply(this,[function(n){var r=s(e,n);t[0].apply(null,[r])},function(e){t[1]&&t[1].apply(null,e)},arguments[2]]):n.apply(this,arguments).then((function(t){return s(e,t)}))}));e.RTCPeerConnection.prototype[t]=r[t]}));var a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){var n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((function(t){var r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,"g"),i.id)})),new RTCSessionDescription({type:t.type,sdp:n})}(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};var o=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get:function(){var e=o.get.apply(this);return""===e.type?e:s(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){var t,n=this;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{},Object.keys(this._streams).forEach((function(r){n._streams[r].getTracks().find((function(t){return e.track===t}))&&(t=n._streams[r])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function s(e,t){var n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((function(t){var r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,"g"),r.id)})),new RTCSessionDescription({type:t.type,sdp:n})}}function ti(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&53>t.version&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){var n=e.RTCPeerConnection.prototype[t],r=h({},t,(function(){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}));e.RTCPeerConnection.prototype[t]=r[t]}))}function ni(e,t){Fr(e,"negotiationneeded",(function(e){var n=e.target;if(!(72>t.version||n.getConfiguration&&"plan-b"===n.getConfiguration().sdpSemantics)||"stable"===n.signalingState)return e}))}var ri=Object.freeze({__proto__:null,fixNegotiationNeeded:ni,shimAddTrackRemoveTrack:ei,shimAddTrackRemoveTrackWithNative:$r,shimGetSendersWithDtmf:Xr,shimGetUserMedia:zr,shimMediaStream:Qr,shimOnTrack:Yr,shimPeerConnection:ti,shimSenderReceiverGetStats:Zr});function ii(e,t){var n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){n.mediaDevices.getUserMedia(e).then(t,r)},55>=t.version||!("autoGainControl"in n.mediaDevices.getSupportedConstraints())){var i=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},a=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(e){return"object"===o(e)&&"object"===o(e.audio)&&(e=JSON.parse(JSON.stringify(e)),i(e.audio,"autoGainControl","mozAutoGainControl"),i(e.audio,"noiseSuppression","mozNoiseSuppression")),a(e)},r&&r.prototype.getSettings){var s=r.prototype.getSettings;r.prototype.getSettings=function(){var e=s.apply(this,arguments);return i(e,"mozAutoGainControl","autoGainControl"),i(e,"mozNoiseSuppression","noiseSuppression"),e}}if(r&&r.prototype.applyConstraints){var c=r.prototype.applyConstraints;r.prototype.applyConstraints=function(e){return"audio"===this.kind&&"object"===o(e)&&(e=JSON.parse(JSON.stringify(e)),i(e,"autoGainControl","mozAutoGainControl"),i(e,"noiseSuppression","mozNoiseSuppression")),c.apply(this,[e])}}}}function ai(e){"object"===o(e)&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function oi(e,t){if("object"===o(e)&&(e.RTCPeerConnection||e.mozRTCPeerConnection)){!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),53>t.version&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){var n=e.RTCPeerConnection.prototype[t],r=h({},t,(function(){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}));e.RTCPeerConnection.prototype[t]=r[t]}));var n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){var e=Array.prototype.slice.call(arguments),i=e[0],a=e[1],o=e[2];return r.apply(this,[i||null]).then((function(e){if(53>t.version&&!a)try{e.forEach((function(e){e.type=n[e.type]||e.type}))}catch(t){if("TypeError"!==t.name)throw t;e.forEach((function(t,r){e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))}))}return e})).then(a,o)}}}function si(e){if("object"===o(e)&&e.RTCPeerConnection&&e.RTCRtpSender&&(!e.RTCRtpSender||!("getStats"in e.RTCRtpSender.prototype))){var t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){var e=this,n=t.apply(this,[]);return n.forEach((function(t){return t._pc=e})),n});var n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){var e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}}function ci(e){if("object"===o(e)&&e.RTCPeerConnection&&e.RTCRtpSender&&(!e.RTCRtpSender||!("getStats"in e.RTCRtpReceiver.prototype))){var t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){var e=this,n=t.apply(this,[]);return n.forEach((function(t){return t._pc=e})),n}),Fr(e,"track",(function(e){return e.receiver._pc=e.srcElement,e})),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}}function ui(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;this.getSenders().forEach((function(n){n.track&&e.getTracks().includes(n.track)&&t.removeTrack(n)}))})}function di(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function li(e){if("object"===o(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];var e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]);var n=(e=S(e)).length>0;n&&e.forEach((function(e){if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&parseFloat(e.scaleResolutionDownBy)<1)throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&parseFloat(e.maxFramerate)<0)throw new RangeError("max_framerate must be >= 0.0")}));var r=t.apply(this,arguments);if(n){var i=r.sender,a=i.getParameters();(!("encodings"in a)||1===a.encodings.length&&0===Object.keys(a.encodings[0]).length)&&(a.encodings=e,i.sendEncodings=e,this.setParametersPromises.push(i.setParameters(a).then((function(){delete i.sendEncodings})).catch((function(){delete i.sendEncodings}))))}return r})}}function hi(e){if("object"===o(e)&&e.RTCRtpSender){var t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){var e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}}function pi(e){if("object"===o(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){var e=arguments,n=this;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return t.apply(n,e)})).finally((function(){n.setParametersPromises=[]})):t.apply(this,arguments)}}}function fi(e){if("object"===o(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){var e=arguments,n=this;return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((function(){return t.apply(n,e)})).finally((function(){n.setParametersPromises=[]})):t.apply(this,arguments)}}}var vi=Object.freeze({__proto__:null,shimAddTransceiver:li,shimCreateAnswer:fi,shimCreateOffer:pi,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!n||!n.video){var r=new DOMException("getDisplayMedia without video constraints is undefined");return r.name="NotFoundError",r.code=8,Promise.reject(r)}return!0===n.video?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})},shimGetParameters:hi,shimGetUserMedia:ii,shimOnTrack:ai,shimPeerConnection:oi,shimRTCDataChannel:di,shimReceiverGetStats:ci,shimRemoveStream:ui,shimSenderGetStats:si});function mi(e){if("object"===o(e)&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){var n=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((function(r){return t.call(n,r,e)})),e.getVideoTracks().forEach((function(r){return t.call(n,r,e)}))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var n=this,r=arguments.length,i=new Array(r>1?r-1:0),a=1;r>a;a++)i[a-1]=arguments[a];return i&&i.forEach((function(e){n._localStreams?n._localStreams.includes(e)||n._localStreams.push(e):n._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){var t=this;this._localStreams||(this._localStreams=[]);var n=this._localStreams.indexOf(e);if(-1!==n){this._localStreams.splice(n,1);var r=e.getTracks();this.getSenders().forEach((function(e){r.includes(e.track)&&t.removeTrack(e)}))}})}}function gi(e){if("object"===o(e)&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get:function(){return this._onaddstream},set:function(e){var t=this;this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=function(e){e.streams.forEach((function(e){if(t._remoteStreams||(t._remoteStreams=[]),!t._remoteStreams.includes(e)){t._remoteStreams.push(e);var n=new Event("addstream");n.stream=e,t.dispatchEvent(n)}}))})}});var t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((function(t){if(e._remoteStreams||(e._remoteStreams=[]),0>e._remoteStreams.indexOf(t)){e._remoteStreams.push(t);var n=new Event("addstream");n.stream=t,e.dispatchEvent(n)}}))}),t.apply(e,arguments)}}}function ki(e){if("object"===o(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){var r=2>arguments.length?arguments[0]:arguments[2],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){var n=2>arguments.length?arguments[0]:arguments[2],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};var c=function(e,t,n){var r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=c,c=function(e,t,n){var r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=c,c=function(e,t,n){var r=s.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=c}}function bi(e){var t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){var n=t.mediaDevices,r=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=function(e){return r(yi(e))}}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function yi(e){return e&&void 0!==e.video?Object.assign({},e,{video:qr(e.video)}):e}function Si(e){if(e.RTCPeerConnection){var t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){for(var r=[],i=0;i<e.iceServers.length;i++){var a=e.iceServers[i];void 0===a.urls&&a.url?((a=JSON.parse(JSON.stringify(a))).urls=a.url,delete a.url,r.push(a)):r.push(e.iceServers[i])}e.iceServers=r}return new t(e,n)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:function(){return t.generateCertificate}})}}function Ti(e){"object"===o(e)&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})}function Ci(e){var t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);var n=this.getTransceivers().find((function(e){return"audio"===e.receiver.track.kind}));!1===e.offerToReceiveAudio&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0!==e.offerToReceiveAudio||n||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);var r=this.getTransceivers().find((function(e){return"video"===e.receiver.track.kind}));!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function wi(e){"object"!==o(e)||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Ei,xi=Object.freeze({__proto__:null,shimAudioContext:wi,shimCallbacksAPI:ki,shimConstraints:yi,shimCreateOfferLegacy:Ci,shimGetUserMedia:bi,shimLocalStreamsAPI:mi,shimRTCIceServerUrls:Si,shimRemoteStreamsAPI:gi,shimTrackEventTransceiver:Ti}),Pi={exports:{}};var Ii=(Ei||(Ei=1,function(e){var t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((function(e){return e.trim()}))},t.splitSections=function(e){return e.split("\nm=").map((function(e,t){return(t>0?"m="+e:e).trim()+"\r\n"}))},t.getDescription=function(e){var n=t.splitSections(e);return n&&n[0]},t.getMediaSections=function(e){var n=t.splitSections(e);return n.shift(),n},t.matchPrefix=function(e,n){return t.splitLines(e).filter((function(e){return 0===e.indexOf(n)}))},t.parseCandidate=function(e){for(var t,n={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]},r=8;r<t.length;r+=2)switch(t[r]){case"raddr":n.relatedAddress=t[r+1];break;case"rport":n.relatedPort=parseInt(t[r+1],10);break;case"tcptype":n.tcpType=t[r+1];break;case"ufrag":n.ufrag=t[r+1],n.usernameFragment=t[r+1];break;default:void 0===n[t[r]]&&(n[t[r]]=t[r+1]);break}return n},t.writeCandidate=function(e){var t=[];t.push(e.foundation);var n=e.component;"rtp"===n?t.push(1):"rtcp"===n?t.push(2):t.push(n),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);var r=e.type;return t.push("typ"),t.push(r),"host"!==r&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substring(14).split(" ")},t.parseRtpMap=function(e){var t=e.substring(9).split(" "),n={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),n.name=t[0],n.clockRate=parseInt(t[1],10),n.channels=3===t.length?parseInt(t[2],10):1,n.numChannels=n.channels,n},t.writeRtpMap=function(e){var t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);var n=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==n?"/"+n:"")+"\r\n"},t.parseExtmap=function(e){var t=e.substring(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},t.parseFmtp=function(e){for(var t,n={},r=e.substring(e.indexOf(" ")+1).split(";"),i=0;i<r.length;i++)n[(t=r[i].trim().split("="))[0].trim()]=t[1];return n},t.writeFmtp=function(e){var t="",n=e.payloadType;if(void 0!==e.preferredPayloadType&&(n=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){var r=[];Object.keys(e.parameters).forEach((function(t){void 0!==e.parameters[t]?r.push(t+"="+e.parameters[t]):r.push(t)})),t+="a=fmtp:"+n+" "+r.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){var t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){var t="",n=e.payloadType;return void 0!==e.preferredPayloadType&&(n=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((function(e){t+="a=rtcp-fb:"+n+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){var t=e.indexOf(" "),n={ssrc:parseInt(e.substring(7,t),10)},r=e.indexOf(":",t);return r>-1?(n.attribute=e.substring(t+1,r),n.value=e.substring(r+1)):n.attribute=e.substring(t+1),n},t.parseSsrcGroup=function(e){var t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((function(e){return parseInt(e,10)}))}},t.getMid=function(e){var n=t.matchPrefix(e,"a=mid:")[0];if(n)return n.substring(6)},t.parseFingerprint=function(e){var t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,n){return{role:"auto",fingerprints:t.matchPrefix(e+n,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){var n="a=setup:"+t+"\r\n";return e.fingerprints.forEach((function(e){n+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),n},t.parseCryptoLine=function(e){var t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"===o(e.keyParams)?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;var t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,n){return t.matchPrefix(e+n,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,n){var r=t.matchPrefix(e+n,"a=ice-ufrag:")[0],i=t.matchPrefix(e+n,"a=ice-pwd:")[0];return r&&i?{usernameFragment:r.substring(12),password:i.substring(10)}:null},t.writeIceParameters=function(e){var t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){var n={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=t.splitLines(e)[0].split(" ");n.profile=r[2];for(var i=3;i<r.length;i++){var a=r[i],o=t.matchPrefix(e,"a=rtpmap:"+a+" ")[0];if(o){var s=t.parseRtpMap(o),c=t.matchPrefix(e,"a=fmtp:"+a+" ");switch(s.parameters=c.length?t.parseFmtp(c[0]):{},s.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+a+" ").map(t.parseRtcpFb),n.codecs.push(s),s.name.toUpperCase()){case"RED":case"ULPFEC":n.fecMechanisms.push(s.name.toUpperCase());break}}}t.matchPrefix(e,"a=extmap:").forEach((function(e){n.headerExtensions.push(t.parseExtmap(e))}));var u=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return n.codecs.forEach((function(e){u.forEach((function(t){e.rtcpFeedback.find((function(e){return e.type===t.type&&e.parameter===t.parameter}))||e.rtcpFeedback.push(t)}))})),n},t.writeRtpDescription=function(e,n){var r="";r+="m="+e+" ",r+=n.codecs.length>0?"9":"0",r+=" "+(n.profile||"UDP/TLS/RTP/SAVPF")+" ",r+=n.codecs.map((function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType})).join(" ")+"\r\n",r+="c=IN IP4 0.0.0.0\r\n",r+="a=rtcp:9 IN IP4 0.0.0.0\r\n",n.codecs.forEach((function(e){r+=t.writeRtpMap(e),r+=t.writeFmtp(e),r+=t.writeRtcpFb(e)}));var i=0;return n.codecs.forEach((function(e){e.maxptime>i&&(i=e.maxptime)})),i>0&&(r+="a=maxptime:"+i+"\r\n"),n.headerExtensions&&n.headerExtensions.forEach((function(e){r+=t.writeExtmap(e)})),r},t.parseRtpEncodingParameters=function(e){var n,r=[],i=t.parseRtpParameters(e),a=-1!==i.fecMechanisms.indexOf("RED"),o=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute})),c=s.length>0&&s[0].ssrc,u=t.matchPrefix(e,"a=ssrc-group:FID").map((function(e){return e.substring(17).split(" ").map((function(e){return parseInt(e,10)}))}));u.length>0&&u[0].length>1&&u[0][0]===c&&(n=u[0][1]),i.codecs.forEach((function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var t={ssrc:c,codecPayloadType:parseInt(e.parameters.apt,10)};c&&n&&(t.rtx={ssrc:n}),r.push(t),a&&((t=JSON.parse(JSON.stringify(t))).fec={ssrc:c,mechanism:o?"red+ulpfec":"red"},r.push(t))}})),0===r.length&&c&&r.push({ssrc:c});var d=t.matchPrefix(e,"b=");return d.length&&(d=0===d[0].indexOf("b=TIAS:")?parseInt(d[0].substring(7),10):0===d[0].indexOf("b=AS:")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,r.forEach((function(e){e.maxBitrate=d}))),r},t.parseRtcpParameters=function(e){var n={},r=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute}))[0];r&&(n.cname=r.value,n.ssrc=r.ssrc);var i=t.matchPrefix(e,"a=rtcp-rsize");n.reducedSize=i.length>0,n.compound=0===i.length;var a=t.matchPrefix(e,"a=rtcp-mux");return n.mux=a.length>0,n},t.writeRtcpParameters=function(e){var t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){var n,r=t.matchPrefix(e,"a=msid:");if(1===r.length)return{stream:(n=r[0].substring(7).split(" "))[0],track:n[1]};var i=t.matchPrefix(e,"a=ssrc:").map((function(e){return t.parseSsrcMedia(e)})).filter((function(e){return"msid"===e.attribute}));return i.length>0?{stream:(n=i[0].value.split(" "))[0],track:n[1]}:void 0},t.parseSctpDescription=function(e){var n,r=t.parseMLine(e),i=t.matchPrefix(e,"a=max-message-size:");i.length>0&&(n=parseInt(i[0].substring(19),10)),isNaN(n)&&(n=65536);var a=t.matchPrefix(e,"a=sctp-port:");if(a.length>0)return{port:parseInt(a[0].substring(12),10),protocol:r.fmt,maxMessageSize:n};var o=t.matchPrefix(e,"a=sctpmap:");if(o.length>0){var s=o[0].substring(10).split(" ");return{port:parseInt(s[0],10),protocol:s[1],maxMessageSize:n}}},t.writeSctpDescription=function(e,t){var n=[];return n="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&n.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),n.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,n,r){var i=void 0!==n?n:2;return"v=0\r\no="+(r||"thisisadapterortc")+" "+(e||t.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,n){for(var r=t.splitLines(e),i=0;i<r.length;i++)switch(r[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return r[i].substring(2)}return n?t.getDirection(n):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substring(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){var n=t.splitLines(e)[0].substring(2).split(" ");return{kind:n[0],port:parseInt(n[1],10),protocol:n[2],fmt:n.slice(3).join(" ")}},t.parseOLine=function(e){var n=t.matchPrefix(e,"o=")[0].substring(2).split(" ");return{username:n[0],sessionId:n[1],sessionVersion:parseInt(n[2],10),netType:n[3],addressType:n[4],address:n[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;for(var n=t.splitLines(e),r=0;r<n.length;r++)if(2>n[r].length||"="!==n[r].charAt(1))return!1;return!0},e.exports=t}(Pi)),Pi.exports),Ri=vr(Ii),Oi=D({__proto__:null,default:Ri},[Ii]);function Ni(e){if(!(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)){var t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"===o(e)&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){var n=new t(e),r=Ri.parseCandidate(e.candidate);for(var i in r)i in n||Object.defineProperty(n,i,{value:r[i]});return n.toJSON=function(){return{candidate:n.candidate,sdpMid:n.sdpMid,sdpMLineIndex:n.sdpMLineIndex,usernameFragment:n.usernameFragment}},n}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,Fr(e,"icecandidate",(function(t){return t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t}))}}function Di(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||Fr(e,"icecandidate",(function(e){if(e.candidate){var t=Ri.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e}))}function Mi(e,t){if(e.RTCPeerConnection){"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp}});var n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){var e,r;(this._sctp=null,"chrome"!==t.browser||t.version<76)||"plan-b"===this.getConfiguration().sdpSemantics&&Object.defineProperty(this,"sctp",{get:function(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0});if(function(e){if(!e||!e.sdp)return!1;var t=Ri.splitSections(e.sdp);return t.shift(),t.some((function(e){var t=Ri.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){var i,a=function(e){var t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||2>t.length)return-1;var n=parseInt(t[1],10);return n!=n?-1:n}(arguments[0]),o=(e=a,r=65536,"firefox"===t.browser&&(r=57>t.version?-1===e?16384:2147483637:60>t.version?57===t.version?65535:65536:2147483637),r),s=function(e,n){var r=65536;"firefox"===t.browser&&57===t.version&&(r=65535);var i=Ri.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?r=parseInt(i[0].substring(19),10):"firefox"===t.browser&&-1!==n&&(r=2147483637),r}(arguments[0],a);i=0===o&&0===s?Number.POSITIVE_INFINITY:0===o||0===s?Math.max(o,s):Math.min(o,s);var c={};Object.defineProperty(c,"maxMessageSize",{get:function(){return i}}),this._sctp=c}return n.apply(this,arguments)}}}function Ai(e){if(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype){var t=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){var e=t.apply(this,arguments);return n(e,this),e},Fr(e,"datachannel",(function(e){return n(e.channel,e.target),e}))}function n(e,t){var n=e.send;e.send=function(){var r=arguments[0],i=r.length||r.size||r.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return n.apply(e,arguments)}}}function _i(e){if(e.RTCPeerConnection&&!("connectionState"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get:function(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get:function(){return this._onconnectionstatechange||null},set:function(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((function(e){var n=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=function(e){var t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;var n=new Event("connectionstatechange",e);t.dispatchEvent(n)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),n.apply(this,arguments)}}))}}function Li(e,t){if(e.RTCPeerConnection&&("chrome"!==t.browser||71>t.version)&&("safari"!==t.browser||13.1>t._safariVersion)){var n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){var r=t.sdp.split("\n").filter((function(e){return"a=extmap-allow-mixed"!==e.trim()})).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return n.apply(this,arguments)}}}function Ui(e,t){if(e.RTCPeerConnection&&e.RTCPeerConnection.prototype){var n=e.RTCPeerConnection.prototype.addIceCandidate;n&&0!==n.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&78>t.version||"firefox"===t.browser&&68>t.version||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}}function ji(e,t){if(e.RTCPeerConnection&&e.RTCPeerConnection.prototype){var n=e.RTCPeerConnection.prototype.setLocalDescription;n&&0!==n.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){var e=this,t=arguments[0]||{};if("object"!==o(t)||t.type&&t.sdp)return n.apply(this,arguments);if(!(t={type:t.type,sdp:t.sdp}).type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":t.type="offer";break;default:t.type="answer";break}return t.sdp||"offer"!==t.type&&"answer"!==t.type?n.apply(this,[t]):("offer"===t.type?this.createOffer:this.createAnswer).apply(this).then((function(t){return n.apply(e,[t])}))})}}var Fi=Object.freeze({__proto__:null,removeExtmapAllowMixed:Li,shimAddIceCandidateNullOrEmpty:Ui,shimConnectionState:_i,shimMaxMessageSize:Mi,shimParameterlessSetLocalDescription:ji,shimRTCIceCandidate:Ni,shimRTCIceCandidateRelayProtocol:Di,shimSendThrowTypeError:Ai});!function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).window,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0},n=Wr,r=function(e){var t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;var n=e.navigator;if(n.userAgentData&&n.userAgentData.brands){var r=n.userAgentData.brands.find((function(e){return"Chromium"===e.brand}));if(r)return{browser:"chrome",version:parseInt(r.version,10)}}if(n.mozGetUserMedia)t.browser="firefox",t.version=parseInt(jr(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(jr(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!e.RTCPeerConnection||!n.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(jr(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=jr(n.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t}(e),i={browserDetails:r,commonShim:Fi,extractVersion:jr,disableLog:Br,disableWarnings:Hr,sdp:Oi};switch(r.browser){case"chrome":if(!ri||!ti||!t.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(null===r.version)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=ri,Ui(e,r),ji(e),zr(e,r),Qr(e),ti(e,r),Yr(e),ei(e,r),Xr(e),Zr(e),ni(e,r),Ni(e),Di(e),_i(e),Mi(e,r),Ai(e),Li(e,r);break;case"firefox":if(!vi||!oi||!t.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=vi,Ui(e,r),ji(e),ii(e,r),oi(e,r),ai(e),ui(e),si(e),ci(e),di(e),li(e),hi(e),pi(e),fi(e),Ni(e),_i(e),Mi(e,r),Ai(e);break;case"safari":if(!xi||!t.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=xi,Ui(e,r),ji(e),Si(e),Ci(e),ki(e),mi(e),gi(e),Ti(e),bi(e),wi(e),Ni(e),Di(e),Mi(e,r),Ai(e),Li(e,r);break;default:n("Unsupported browser!");break}}({window:"undefined"==typeof window?void 0:window});var Bi,Hi,Wi,Vi,qi="lk_e2ee";function Gi(){return void 0!==window.RTCRtpSender&&void 0!==window.RTCRtpSender.prototype.createEncodedStreams||Ki()}function Ki(){return void 0!==window.RTCRtpScriptTransform}!function(e){e.SetKey="setKey",e.RatchetRequest="ratchetRequest",e.KeyRatcheted="keyRatcheted"}(Bi||(Bi={})),function(e){e.KeyRatcheted="keyRatcheted"}(Hi||(Hi={})),function(e){e.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",e.EncryptionError="encryptionError"}(Wi||(Wi={})),function(e){e.Error="cryptorError"}(Vi||(Vi={}));var Ji,zi=function(t){function n(t,r){var i;return u(this,n),(i=e(this,n,[r||"an error has occured"])).name="LiveKitError",i.code=t,i}return p(n,m(Error)),l(n)}();!function(e){e[e.NotAllowed=0]="NotAllowed",e[e.ServerUnreachable=1]="ServerUnreachable",e[e.InternalError=2]="InternalError",e[e.Cancelled=3]="Cancelled",e[e.LeaveRequest=4]="LeaveRequest",e[e.Timeout=5]="Timeout"}(Ji||(Ji={}));var Qi,Yi,Xi,Zi,$i,ea,ta=function(t){function n(t,r,i,a){var o;return u(this,n),(o=e(this,n,[1,t])).name="ConnectionError",o.status=i,o.reason=r,o.context=a,o.reasonName=Ji[r],o}return p(n,zi),l(n)}(),na=function(t){function n(t){var r;return u(this,n),(r=e(this,n,[21,null!=t?t:"device is unsupported"])).name="DeviceUnsupportedError",r}return p(n,zi),l(n)}(),ra=function(t){function n(t){var r;return u(this,n),(r=e(this,n,[20,null!=t?t:"track is invalid"])).name="TrackInvalidError",r}return p(n,zi),l(n)}(),ia=function(t){function n(t){var r;return u(this,n),(r=e(this,n,[10,null!=t?t:"unsupported server"])).name="UnsupportedServer",r}return p(n,zi),l(n)}(),aa=function(t){function n(t){var r;return u(this,n),(r=e(this,n,[12,null!=t?t:"unexpected connection state"])).name="UnexpectedConnectionState",r}return p(n,zi),l(n)}(),oa=function(t){function n(t){var r;return u(this,n),(r=e(this,n,[13,null!=t?t:"unable to negotiate"])).name="NegotiationError",r}return p(n,zi),l(n)}(),sa=function(t){function n(t,r){var i;return u(this,n),(i=e(this,n,[15,t])).name="PublishTrackError",i.status=r,i}return p(n,zi),l(n)}(),ca=function(t){function n(t,r){var i;return u(this,n),(i=e(this,n,[15,t])).reason=r,i.reasonName="string"==typeof r?r:pr[r],i}return p(n,zi),l(n)}();!function(e){e.PermissionDenied="PermissionDenied",e.NotFound="NotFound",e.DeviceInUse="DeviceInUse",e.Other="Other"}(Qi||(Qi={})),function(e){e.getFailure=function(t){if(t&&"name"in t)return"NotFoundError"===t.name||"DevicesNotFoundError"===t.name?e.NotFound:"NotAllowedError"===t.name||"PermissionDeniedError"===t.name?e.PermissionDenied:"NotReadableError"===t.name||"TrackStartError"===t.name?e.DeviceInUse:e.Other}}(Qi||(Qi={})),function(e){e[e.InvalidKey=0]="InvalidKey",e[e.MissingKey=1]="MissingKey",e[e.InternalError=2]="InternalError"}(Yi||(Yi={})),function(e){e.Connected="connected",e.Reconnecting="reconnecting",e.SignalReconnecting="signalReconnecting",e.Reconnected="reconnected",e.Disconnected="disconnected",e.ConnectionStateChanged="connectionStateChanged",e.Moved="moved",e.MediaDevicesChanged="mediaDevicesChanged",e.ParticipantConnected="participantConnected",e.ParticipantDisconnected="participantDisconnected",e.TrackPublished="trackPublished",e.TrackSubscribed="trackSubscribed",e.TrackSubscriptionFailed="trackSubscriptionFailed",e.TrackUnpublished="trackUnpublished",e.TrackUnsubscribed="trackUnsubscribed",e.TrackMuted="trackMuted",e.TrackUnmuted="trackUnmuted",e.LocalTrackPublished="localTrackPublished",e.LocalTrackUnpublished="localTrackUnpublished",e.LocalAudioSilenceDetected="localAudioSilenceDetected",e.ActiveSpeakersChanged="activeSpeakersChanged",e.ParticipantMetadataChanged="participantMetadataChanged",e.ParticipantNameChanged="participantNameChanged",e.ParticipantAttributesChanged="participantAttributesChanged",e.ParticipantActive="participantActive",e.RoomMetadataChanged="roomMetadataChanged",e.DataReceived="dataReceived",e.SipDTMFReceived="sipDTMFReceived",e.TranscriptionReceived="transcriptionReceived",e.ConnectionQualityChanged="connectionQualityChanged",e.TrackStreamStateChanged="trackStreamStateChanged",e.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",e.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",e.AudioPlaybackStatusChanged="audioPlaybackChanged",e.VideoPlaybackStatusChanged="videoPlaybackChanged",e.MediaDevicesError="mediaDevicesError",e.ParticipantPermissionsChanged="participantPermissionsChanged",e.SignalConnected="signalConnected",e.RecordingStatusChanged="recordingStatusChanged",e.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",e.EncryptionError="encryptionError",e.DCBufferStatusChanged="dcBufferStatusChanged",e.ActiveDeviceChanged="activeDeviceChanged",e.ChatMessage="chatMessage",e.LocalTrackSubscribed="localTrackSubscribed",e.MetricsReceived="metricsReceived"}(Xi||(Xi={})),function(e){e.TrackPublished="trackPublished",e.TrackSubscribed="trackSubscribed",e.TrackSubscriptionFailed="trackSubscriptionFailed",e.TrackUnpublished="trackUnpublished",e.TrackUnsubscribed="trackUnsubscribed",e.TrackMuted="trackMuted",e.TrackUnmuted="trackUnmuted",e.LocalTrackPublished="localTrackPublished",e.LocalTrackUnpublished="localTrackUnpublished",e.ParticipantMetadataChanged="participantMetadataChanged",e.ParticipantNameChanged="participantNameChanged",e.DataReceived="dataReceived",e.SipDTMFReceived="sipDTMFReceived",e.TranscriptionReceived="transcriptionReceived",e.IsSpeakingChanged="isSpeakingChanged",e.ConnectionQualityChanged="connectionQualityChanged",e.TrackStreamStateChanged="trackStreamStateChanged",e.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",e.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",e.MediaDevicesError="mediaDevicesError",e.AudioStreamAcquired="audioStreamAcquired",e.ParticipantPermissionsChanged="participantPermissionsChanged",e.PCTrackAdded="pcTrackAdded",e.AttributesChanged="attributesChanged",e.LocalTrackSubscribed="localTrackSubscribed",e.ChatMessage="chatMessage",e.Active="active"}(Zi||(Zi={})),function(e){e.TransportsCreated="transportsCreated",e.Connected="connected",e.Disconnected="disconnected",e.Resuming="resuming",e.Resumed="resumed",e.Restarting="restarting",e.Restarted="restarted",e.SignalResumed="signalResumed",e.SignalRestarted="signalRestarted",e.Closing="closing",e.MediaTrackAdded="mediaTrackAdded",e.ActiveSpeakersUpdate="activeSpeakersUpdate",e.DataPacketReceived="dataPacketReceived",e.RTPVideoMapUpdate="rtpVideoMapUpdate",e.DCBufferStatusChanged="dcBufferStatusChanged",e.ParticipantUpdate="participantUpdate",e.RoomUpdate="roomUpdate",e.SpeakersChanged="speakersChanged",e.StreamStateChanged="streamStateChanged",e.ConnectionQualityUpdate="connectionQualityUpdate",e.SubscriptionError="subscriptionError",e.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",e.RemoteMute="remoteMute",e.SubscribedQualityUpdate="subscribedQualityUpdate",e.LocalTrackUnpublished="localTrackUnpublished",e.LocalTrackSubscribed="localTrackSubscribed",e.Offline="offline",e.SignalRequestResponse="signalRequestResponse",e.SignalConnected="signalConnected",e.RoomMoved="roomMoved"}($i||($i={})),function(e){e.Message="message",e.Muted="muted",e.Unmuted="unmuted",e.Restarted="restarted",e.Ended="ended",e.Subscribed="subscribed",e.Unsubscribed="unsubscribed",e.UpdateSettings="updateSettings",e.UpdateSubscription="updateSubscription",e.AudioPlaybackStarted="audioPlaybackStarted",e.AudioPlaybackFailed="audioPlaybackFailed",e.AudioSilenceDetected="audioSilenceDetected",e.VisibilityChanged="visibilityChanged",e.VideoDimensionsChanged="videoDimensionsChanged",e.VideoPlaybackStarted="videoPlaybackStarted",e.VideoPlaybackFailed="videoPlaybackFailed",e.ElementAttached="elementAttached",e.ElementDetached="elementDetached",e.UpstreamPaused="upstreamPaused",e.UpstreamResumed="upstreamResumed",e.SubscriptionPermissionChanged="subscriptionPermissionChanged",e.SubscriptionStatusChanged="subscriptionStatusChanged",e.SubscriptionFailed="subscriptionFailed",e.TrackProcessorUpdate="trackProcessorUpdate",e.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",e.TranscriptionReceived="transcriptionReceived",e.TimeSyncUpdate="timeSyncUpdate",e.PreConnectBufferFlushed="preConnectBufferFlushed"}(ea||(ea={}));var ua,da=/version\/(\d+(\.?_?\d+)+)/i;function la(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];if(void 0!==e||"undefined"!=typeof navigator){var n=(null!=e?e:navigator.userAgent).toLowerCase();if(void 0===ua||t){var r=ha.find((function(e){return e.test.test(n)}));ua=null==r?void 0:r.describe(n)}return ua}}var ha=[{test:/firefox|iceweasel|fxios/i,describe:function(e){return{name:"Firefox",version:pa(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:fa(e)}}},{test:/chrom|crios|crmo/i,describe:function(e){return{name:"Chrome",version:pa(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("crios")?"iOS":void 0,osVersion:fa(e)}}},{test:/safari|applewebkit/i,describe:function(e){return{name:"Safari",version:pa(da,e),os:e.includes("mobile/")?"iOS":"macOS",osVersion:fa(e)}}}];function pa(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=t.match(e);return r&&r.length>=n&&r[n]||""}function fa(e){return e.includes("mac os")?pa(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,"."):void 0}var va=l((function e(){u(this,e)}));va.setTimeout=function(){return setTimeout.apply(void 0,arguments)},va.setInterval=function(){return setInterval.apply(void 0,arguments)},va.clearTimeout=function(){return clearTimeout.apply(void 0,arguments)},va.clearInterval=function(){return clearInterval.apply(void 0,arguments)};var ma,ga=[];!function(e){e[e.LOW=0]="LOW",e[e.MEDIUM=1]="MEDIUM",e[e.HIGH=2]="HIGH"}(ma||(ma={}));var ka=function(t){function n(t,r){var i;u(this,n);var a,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i=e(this,n)).attachedElements=[],i.isMuted=!1,i.streamState=n.StreamState.Active,i.isInBackground=!1,i._currentBitrate=0,i.log=wr,i.appVisibilityChangedListener=function(){i.backgroundTimeout&&clearTimeout(i.backgroundTimeout),"hidden"===document.visibilityState?i.backgroundTimeout=setTimeout((function(){return i.handleAppVisibilityChanged()}),5e3):i.handleAppVisibilityChanged()},i.log=Er(null!==(a=o.loggerName)&&void 0!==a?a:Tr.Track),i.loggerContextCb=o.loggerContextCb,i.setMaxListeners(100),i.kind=r,i._mediaStreamTrack=t,i._mediaStreamID=t.id,i.source=n.Source.Unknown,i}return p(n,Lr.EventEmitter),l(n,[{key:"logContext",get:function(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Oo(this))}},{key:"currentBitrate",get:function(){return this._currentBitrate}},{key:"mediaStreamTrack",get:function(){return this._mediaStreamTrack}},{key:"mediaStreamID",get:function(){return this._mediaStreamID}},{key:"attach",value:function(e){var t=this,r="audio";this.kind===n.Kind.Video&&(r="video"),0===this.attachedElements.length&&this.kind===n.Kind.Video&&this.addAppVisibilityListener(),e||("audio"===r&&(ga.forEach((function(t){null!==t.parentElement||e||(e=t)})),e&&ga.splice(ga.indexOf(e),1)),e||(e=document.createElement(r))),this.attachedElements.includes(e)||this.attachedElements.push(e),ba(this.mediaStreamTrack,e);var i=e.srcObject.getTracks(),a=i.some((function(e){return"audio"===e.kind}));return e.play().then((function(){t.emit(a?ea.AudioPlaybackStarted:ea.VideoPlaybackStarted)})).catch((function(n){"NotAllowedError"===n.name?t.emit(a?ea.AudioPlaybackFailed:ea.VideoPlaybackFailed,n):"AbortError"===n.name?wr.debug("".concat(a?"audio":"video"," playback aborted, likely due to new play request")):wr.warn("could not playback ".concat(a?"audio":"video"),n),a&&e&&i.some((function(e){return"video"===e.kind}))&&"NotAllowedError"===n.name&&(e.muted=!0,e.play().catch((function(){})))})),this.emit(ea.ElementAttached,e),e}},{key:"detach",value:function(e){var t=this;try{if(e){ya(this.mediaStreamTrack,e);var n=this.attachedElements.indexOf(e);return 0>n||(this.attachedElements.splice(n,1),this.recycleElement(e),this.emit(ea.ElementDetached,e)),e}var r=[];return this.attachedElements.forEach((function(e){ya(t.mediaStreamTrack,e),r.push(e),t.recycleElement(e),t.emit(ea.ElementDetached,e)})),this.attachedElements=[],r}finally{0===this.attachedElements.length&&this.removeAppVisibilityListener()}}},{key:"stop",value:function(){this.stopMonitor(),this._mediaStreamTrack.stop()}},{key:"enable",value:function(){this._mediaStreamTrack.enabled=!0}},{key:"disable",value:function(){this._mediaStreamTrack.enabled=!1}},{key:"stopMonitor",value:function(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}},{key:"updateLoggerOptions",value:function(e){e.loggerName&&(this.log=Er(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}},{key:"recycleElement",value:function(e){if(e instanceof HTMLAudioElement){var t=!0;e.pause(),ga.forEach((function(e){e.parentElement||(t=!1)})),t&&ga.push(e)}}},{key:"handleAppVisibilityChanged",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.isInBackground="hidden"===document.visibilityState,this.isInBackground||this.kind!==n.Kind.Video||setTimeout((function(){return t.attachedElements.forEach((function(e){return e.play().catch((function(){}))}))}),0);case 2:case"end":return e.stop()}}),e,this)})))}},{key:"addAppVisibilityListener",value:function(){Va()?(this.isInBackground="hidden"===document.visibilityState,document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}},{key:"removeAppVisibilityListener",value:function(){Va()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}]),n}();function ba(e,t){var n,r;n=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream,(r="audio"===e.kind?n.getAudioTracks():n.getVideoTracks()).includes(e)||(r.forEach((function(e){n.removeTrack(e)})),n.addTrack(e)),Fa()&&t instanceof HTMLVideoElement||(t.autoplay=!0),t.muted=0===n.getAudioTracks().length,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==n&&(t.srcObject=n,(Fa()||ja())&&t instanceof HTMLVideoElement&&setTimeout((function(){t.srcObject=n,t.play().catch((function(){}))}),0))}function ya(e,t){if(t.srcObject instanceof MediaStream){var n=t.srcObject;n.removeTrack(e),n.getTracks().length>0?t.srcObject=n:t.srcObject=null}}!function(e){var t,n,r;!function(e){e.Audio="audio",e.Video="video",e.Unknown="unknown"}(t=e.Kind||(e.Kind={})),function(e){e.Camera="camera",e.Microphone="microphone",e.ScreenShare="screen_share",e.ScreenShareAudio="screen_share_audio",e.Unknown="unknown"}(n=e.Source||(e.Source={})),function(e){e.Active="active",e.Paused="paused",e.Unknown="unknown"}(r=e.StreamState||(e.StreamState={})),e.kindToProto=function(e){switch(e){case t.Audio:return xt.AUDIO;case t.Video:return xt.VIDEO;default:return xt.DATA}},e.kindFromProto=function(e){switch(e){case xt.AUDIO:return t.Audio;case xt.VIDEO:return t.Video;default:return t.Unknown}},e.sourceToProto=function(e){switch(e){case n.Camera:return Pt.CAMERA;case n.Microphone:return Pt.MICROPHONE;case n.ScreenShare:return Pt.SCREEN_SHARE;case n.ScreenShareAudio:return Pt.SCREEN_SHARE_AUDIO;default:return Pt.UNKNOWN}},e.sourceFromProto=function(e){switch(e){case Pt.CAMERA:return n.Camera;case Pt.MICROPHONE:return n.Microphone;case Pt.SCREEN_SHARE:return n.ScreenShare;case Pt.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}},e.streamStateFromProto=function(e){switch(e){case Tn.ACTIVE:return r.Active;case Tn.PAUSED:return r.Paused;default:return r.Unknown}}}(ka||(ka={}));var Sa,Ta,Ca=function(){function e(t,n,r,i,a){if(u(this,e),"object"===o(t))this.width=t.width,this.height=t.height,this.aspectRatio=t.aspectRatio,this.encoding={maxBitrate:t.maxBitrate,maxFramerate:t.maxFramerate,priority:t.priority};else{if(void 0===n||void 0===r)throw new TypeError("Unsupported options: provide at least width, height and maxBitrate");this.width=t,this.height=n,this.aspectRatio=t/n,this.encoding={maxBitrate:r,maxFramerate:i,priority:a}}}return l(e,[{key:"resolution",get:function(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}]),e}(),wa=["vp8","h264"],Ea=["vp8","h264","vp9","av1"];function xa(e){return!!wa.find((function(t){return t===e}))}!function(e){e[e.PREFER_REGRESSION=0]="PREFER_REGRESSION",e[e.SIMULCAST=1]="SIMULCAST",e[e.REGRESSION=2]="REGRESSION"}(Sa||(Sa={})),function(e){e.telephone={maxBitrate:12e3},e.speech={maxBitrate:24e3},e.music={maxBitrate:48e3},e.musicStereo={maxBitrate:64e3},e.musicHighQuality={maxBitrate:96e3},e.musicHighQualityStereo={maxBitrate:128e3}}(Ta||(Ta={}));var Pa={h90:new Ca(160,90,9e4,20),h180:new Ca(320,180,16e4,20),h216:new Ca(384,216,18e4,20),h360:new Ca(640,360,45e4,20),h540:new Ca(960,540,8e5,25),h720:new Ca(1280,720,17e5,30),h1080:new Ca(1920,1080,3e6,30),h1440:new Ca(2560,1440,5e6,30),h2160:new Ca(3840,2160,8e6,30)},Ia={h120:new Ca(160,120,7e4,20),h180:new Ca(240,180,125e3,20),h240:new Ca(320,240,14e4,20),h360:new Ca(480,360,33e4,20),h480:new Ca(640,480,5e5,20),h540:new Ca(720,540,6e5,25),h720:new Ca(960,720,13e5,30),h1080:new Ca(1440,1080,23e5,30),h1440:new Ca(1920,1440,38e5,30)},Ra={h360fps3:new Ca(640,360,2e5,3,"medium"),h360fps15:new Ca(640,360,4e5,15,"medium"),h720fps5:new Ca(1280,720,8e5,5,"medium"),h720fps15:new Ca(1280,720,15e5,15,"medium"),h720fps30:new Ca(1280,720,2e6,30,"medium"),h1080fps15:new Ca(1920,1080,25e5,15,"medium"),h1080fps30:new Ca(1920,1080,5e6,30,"medium"),original:new Ca(0,0,7e6,30,"medium")},Oa="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function Na(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t){return va.setTimeout(t,e)})));case 1:case"end":return t.stop()}}),t)})))}function Da(){return"addTransceiver"in RTCPeerConnection.prototype}function Ma(){return"addTrack"in RTCPeerConnection.prototype}function Aa(){if(!("getCapabilities"in RTCRtpSender))return!1;if(Fa())return!1;var e=RTCRtpSender.getCapabilities("video"),t=!1;if(e){var n,r=w(e.codecs);try{for(r.s();!(n=r.n()).done;){if("video/AV1"===n.value.mimeType){t=!0;break}}}catch(e){r.e(e)}finally{r.f()}}return t}function _a(){if(!("getCapabilities"in RTCRtpSender))return!1;if(ja())return!1;if(Fa()){var e=la();if((null==e?void 0:e.version)&&0>Qa(e.version,"16"))return!1}var t=RTCRtpSender.getCapabilities("video"),n=!1;if(t){var r,i=w(t.codecs);try{for(i.s();!(r=i.n()).done;){if("video/VP9"===r.value.mimeType){n=!0;break}}}catch(e){i.e(e)}finally{i.f()}}return n}function La(e){return"av1"===e||"vp9"===e}function Ua(e){return!!document&&(e||(e=document.createElement("audio")),"setSinkId"in e)}function ja(){var e;return"Firefox"===(null===(e=la())||void 0===e?void 0:e.name)}function Fa(){var e;return"Safari"===(null===(e=la())||void 0===e?void 0:e.name)}function Ba(){var e=la();return"Safari"===(null==e?void 0:e.name)||"iOS"===(null==e?void 0:e.os)}function Ha(){var e,t;return!!Va()&&(null!==(t=null===(e=navigator.userAgentData)||void 0===e?void 0:e.mobile)&&void 0!==t?t:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent))}function Wa(){var e=la(),t="17.2";if(e)return"Safari"!==e.name&&"iOS"!==e.os||(!("iOS"!==e.os||!e.osVersion||0>Qa(t,e.osVersion))||"Safari"===e.name&&Qa(t,e.version)>=0)}function Va(){return"undefined"!=typeof document}function qa(){return"ReactNative"==navigator.product}function Ga(e){return e.hostname.endsWith(".livekit.cloud")||e.hostname.endsWith(".livekit.run")}function Ka(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function Ja(){if(qa()){var e=Ka();return e?e.platform:void 0}}function za(){if(Va())return window.devicePixelRatio;if(qa()){var e=Ka();if(e)return e.devicePixelRatio}return 1}function Qa(e,t){for(var n=e.split("."),r=t.split("."),i=Math.min(n.length,r.length),a=0;i>a;++a){var o=parseInt(n[a],10),s=parseInt(r[a],10);if(o>s)return 1;if(s>o)return-1;if(a===i-1&&o===s)return 0}return""===e&&""!==t?-1:""===t?1:n.length==r.length?0:n.length<r.length?-1:1}function Ya(e){var t,n=w(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.target.handleResize(r)}}catch(e){n.e(e)}finally{n.f()}}function Xa(e){var t,n=w(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;r.target.handleVisibilityChanged(r)}}catch(e){n.e(e)}finally{n.f()}}var Za,$a=null,eo=function(){return $a||($a=new ResizeObserver(Ya)),$a},to=null,no=function(){return to||(to=new IntersectionObserver(Xa,{root:null,rootMargin:"0px"})),to};function ro(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=document.createElement("canvas");i.width=e,i.height=t;var a=i.getContext("2d");null==a||a.fillRect(0,0,i.width,i.height),r&&a&&(a.beginPath(),a.arc(e/2,t/2,50,0,2*Math.PI,!0),a.closePath(),a.fillStyle="grey",a.fill());var o=y(i.captureStream().getTracks(),1)[0];if(!o)throw Error("Could not get empty media stream video track");return o.enabled=n,o}function io(){if(!Za){var e=new AudioContext,t=e.createOscillator(),n=e.createGain();n.gain.setValueAtTime(0,0);var r=e.createMediaStreamDestination();t.connect(n),n.connect(r),t.start();var i=y(r.stream.getAudioTracks(),1);if(!(Za=i[0]))throw Error("Could not get empty media stream audio track");Za.enabled=!1}return Za.clone()}var ao=l((function e(t,n){var r=this;u(this,e),this.onFinally=n,this.promise=new Promise((function(e,n){return Nr(r,void 0,void 0,i().mark((function r(){return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(this.resolve=e,this.reject=n,!t){r.next=5;break}return r.next=5,t(e,n);case 5:case"end":return r.stop()}}),r,this)})))})).finally((function(){var e;return null===(e=r.onFinally)||void 0===e?void 0:e.call(r)}))}));function oo(e){if("string"==typeof e||"number"==typeof e)return e;if(Array.isArray(e))return e[0];if(e.exact)return Array.isArray(e.exact)?e.exact[0]:e.exact;if(e.ideal)return Array.isArray(e.ideal)?e.ideal[0]:e.ideal;throw Error("could not unwrap constraint")}function so(e){return e.startsWith("ws")?e.replace(/^(ws)/,"http"):e}function co(e){switch(e.reason){case Ji.LeaveRequest:return e.context;case Ji.Cancelled:return Nt.CLIENT_INITIATED;case Ji.NotAllowed:return Nt.USER_REJECTED;case Ji.ServerUnreachable:return Nt.JOIN_FAILURE;default:return Nt.UNKNOWN_REASON}}function uo(e){return void 0!==e?Number(e):void 0}function lo(e){return void 0!==e?BigInt(e):void 0}function ho(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function po(e){return!!e&&e.kind==ka.Kind.Audio}function fo(e){return!!e&&e.kind==ka.Kind.Video}function vo(e){return ho(e)&&fo(e)}function mo(e){return ho(e)&&po(e)}function go(e){return!!e&&!e.isLocal}function ko(e){return!!e&&!e.isLocal}function bo(e){return go(e)&&fo(e)}function yo(e,t){for(var n=[],r=(new TextEncoder).encode(e);r.length>t;){for(var i=t;i>0;){var a=r[i];if(void 0!==a&&128!=(192&a))break;i--}n.push(r.slice(0,i)),r=r.slice(i)}return r.length>0&&n.push(r),n}function So(e,t,n){var r,i,a,o,s=No(null!=e?e:{}),c=s.optionsWithoutProcessor,u=s.audioProcessor,d=s.videoProcessor,l=null==t?void 0:t.processor,h=null==n?void 0:n.processor,p=null!=c?c:{};return!0===p.audio&&(p.audio={}),!0===p.video&&(p.video={}),p.audio&&(To(p.audio,t),null!==(r=(a=p.audio).deviceId)&&void 0!==r||(a.deviceId={ideal:"default"}),(u||l)&&(p.audio.processor=null!=u?u:l)),p.video&&(To(p.video,n),null!==(i=(o=p.video).deviceId)&&void 0!==i||(o.deviceId={ideal:"default"}),(d||h)&&(p.video.processor=null!=d?d:h)),p}function To(e,t){return Object.keys(t).forEach((function(n){void 0===e[n]&&(e[n]=t[n])})),e}function Co(e){var t,n,r,i,a={};if(e.video)if("object"===o(e.video)){var s={},c=s,u=e.video;Object.keys(u).forEach((function(e){switch(e){case"resolution":To(c,u.resolution);break;default:c[e]=u[e]}})),a.video=s,null!==(t=(r=a.video).deviceId)&&void 0!==t||(r.deviceId={ideal:"default"})}else a.video=!!e.video&&{deviceId:{ideal:"default"}};else a.video=!1;return e.audio?"object"===o(e.audio)?(a.audio=e.audio,null!==(n=(i=a.audio).deviceId)&&void 0!==n||(i.deviceId={ideal:"default"})):a.audio={deviceId:{ideal:"default"}}:a.audio=!1,a}function wo(e){return Nr(this,arguments,void 0,(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return i().mark((function n(){var r,a,o,s,c;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!(r=Eo())){n.next=14;break}return(a=r.createAnalyser()).fftSize=2048,o=a.frequencyBinCount,s=new Uint8Array(o),r.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(a),n.next=10,Na(t);case 10:return a.getByteTimeDomainData(s),c=s.some((function(e){return 128!==e&&0!==e})),r.close(),n.abrupt("return",!c);case 14:return n.abrupt("return",!1);case 15:case"end":return n.stop()}}),n)}))()}))}function Eo(){var e,t=this,n="undefined"!=typeof window&&(window.AudioContext||window.webkitAudioContext);if(n){var r=new n({latencyHint:"interactive"});if("suspended"===r.state&&"undefined"!=typeof window&&(null===(e=window.document)||void 0===e?void 0:e.body)){window.document.body.addEventListener("click",(function e(){return Nr(t,void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,"suspended"!==r.state){t.next=4;break}return t.next=4,r.resume();case 4:t.next=9;break;case 6:t.prev=6,t.t0=t.catch(0);case 9:null===(n=window.document.body)||void 0===n||n.removeEventListener("click",e);case 10:case"end":return t.stop()}}),t,null,[[0,6]])})))}))}return r}}function xo(e){return"audioinput"===e?ka.Source.Microphone:"videoinput"===e?ka.Source.Camera:ka.Source.Unknown}function Po(e){return e===ka.Source.Microphone?"audioinput":e===ka.Source.Camera?"videoinput":void 0}function Io(e){var t,n,r=null===(t=e.video)||void 0===t||t;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(r="boolean"==typeof r?{}:r,r=Fa()?Object.assign(Object.assign({},r),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},r),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:null!==(n=e.audio)&&void 0!==n&&n,video:r,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}function Ro(e){return e.split("/")[1].toLowerCase()}function Oo(e){return"mediaStreamTrack"in e?{trackID:e.sid,source:e.source,muted:e.isMuted,enabled:e.mediaStreamTrack.enabled,kind:e.kind,streamID:e.mediaStreamID,streamTrackID:e.mediaStreamTrack.id}:{trackID:e.trackSid,enabled:e.isEnabled,muted:e.isMuted,trackInfo:Object.assign({mimeType:e.mimeType,name:e.trackName,encrypted:e.isEncrypted,kind:e.kind,source:e.source},e.track?Oo(e.track):{})}}function No(e){var t,n,r,i=Object.assign({},e);return"object"===o(i.audio)&&i.audio.processor&&(t=i.audio.processor,i.audio=Object.assign(Object.assign({},i.audio),{processor:void 0})),"object"===o(i.video)&&i.video.processor&&(n=i.video.processor,i.video=Object.assign(Object.assign({},i.video),{processor:void 0})),{audioProcessor:t,videoProcessor:n,optionsWithoutProcessor:(r=i,void 0===r?r:"function"==typeof structuredClone?structuredClone(r):JSON.parse(JSON.stringify(r)))}}var Do,Mo=function(t){function n(t){var r;return u(this,n),(r=e(this,n)).onWorkerMessage=function(e){var t,n,i=e.data,a=i.kind,o=i.data;switch(a){case"error":wr.error(o.error.message),r.emit(Wi.EncryptionError,o.error);break;case"initAck":o.enabled&&r.keyProvider.getKeys().forEach((function(e){r.postKey(e)}));break;case"enable":if(o.enabled&&r.keyProvider.getKeys().forEach((function(e){r.postKey(e)})),r.encryptionEnabled!==o.enabled&&o.participantIdentity===(null===(t=r.room)||void 0===t?void 0:t.localParticipant.identity))r.emit(Wi.ParticipantEncryptionStatusChanged,o.enabled,r.room.localParticipant),r.encryptionEnabled=o.enabled;else if(o.participantIdentity){var s=null===(n=r.room)||void 0===n?void 0:n.getParticipantByIdentity(o.participantIdentity);if(!s)throw TypeError("couldn't set encryption status, participant not found".concat(o.participantIdentity));r.emit(Wi.ParticipantEncryptionStatusChanged,o.enabled,s)}break;case"ratchetKey":r.keyProvider.emit(Bi.KeyRatcheted,o.ratchetResult,o.participantIdentity,o.keyIndex);break}},r.onWorkerError=function(e){wr.error("e2ee worker encountered an error:",{error:e.error}),r.emit(Wi.EncryptionError,e.error)},r.keyProvider=t.keyProvider,r.worker=t.worker,r.encryptionEnabled=!1,r}return p(n,Lr.EventEmitter),l(n,[{key:"setup",value:function(e){if(!Gi())throw new na("tried to setup end-to-end encryption on an unsupported browser");if(wr.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);var t={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:xr.getLevel()}};this.worker&&(wr.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t))}}},{key:"setParticipantCryptorEnabled",value:function(e,t){wr.debug("set e2ee to ".concat(e," for participant ").concat(t)),this.postEnable(e,t)}},{key:"setSifTrailer",value:function(e){e&&0!==e.length?this.postSifTrailer(e):wr.warn("ignoring server sent trailer as it's empty")}},{key:"setupEngine",value:function(e){var t=this;e.on($i.RTPVideoMapUpdate,(function(e){t.postRTPMap(e)}))}},{key:"setupEventListeners",value:function(e,t){var n=this;e.on(Xi.TrackPublished,(function(e,t){return n.setParticipantCryptorEnabled(e.trackInfo.encryption!==Wt.NONE,t.identity)})),e.on(Xi.ConnectionStateChanged,(function(t){t===kc.Connected&&e.remoteParticipants.forEach((function(e){e.trackPublications.forEach((function(t){n.setParticipantCryptorEnabled(t.trackInfo.encryption!==Wt.NONE,e.identity)}))}))})).on(Xi.TrackUnsubscribed,(function(e,t,r){var i,a={kind:"removeTransform",data:{participantIdentity:r.identity,trackId:e.mediaStreamID}};null===(i=n.worker)||void 0===i||i.postMessage(a)})).on(Xi.TrackSubscribed,(function(e,t,r){n.setupE2EEReceiver(e,r.identity,t.trackInfo)})).on(Xi.SignalConnected,(function(){if(!n.room)throw new TypeError("expected room to be present on signal connect");t.getKeys().forEach((function(e){n.postKey(e)})),n.setParticipantCryptorEnabled(n.room.localParticipant.isE2EEEnabled,n.room.localParticipant.identity)})),e.localParticipant.on(Zi.LocalTrackPublished,(function(e){return Nr(n,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.setupE2EESender(e.track,e.track.sender);case 1:case"end":return t.stop()}}),t,this)})))})),t.on(Bi.SetKey,(function(e){return n.postKey(e)})).on(Bi.RatchetRequest,(function(e,t){return n.postRatchetRequest(e,t)}))}},{key:"postRatchetRequest",value:function(e,t){if(!this.worker)throw Error("could not ratchet key, worker is missing");var n={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(n)}},{key:"postKey",value:function(e){var t,n=e.key,r=e.participantIdentity,i=e.keyIndex;if(!this.worker)throw Error("could not set key, worker is missing");var a={kind:"setKey",data:{participantIdentity:r,isPublisher:r===(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity),key:n,keyIndex:i}};this.worker.postMessage(a)}},{key:"postEnable",value:function(e,t){if(!this.worker)throw new ReferenceError("failed to enable e2ee, worker is not ready");var n={kind:"enable",data:{enabled:e,participantIdentity:t}};this.worker.postMessage(n)}},{key:"postRTPMap",value:function(e){var t;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");var n={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(n)}},{key:"postSifTrailer",value:function(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");var t={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(t)}},{key:"setupE2EEReceiver",value:function(e,t,n){if(e.receiver){if(!(null==n?void 0:n.mimeType)||""===n.mimeType)throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,t,"video"===e.kind?Ro(n.mimeType):void 0)}}},{key:"setupE2EESender",value:function(e,t){ho(e)&&t?this.handleSender(t,e.mediaStreamID,void 0):t||wr.warn("early return because sender is not ready")}},{key:"handleReceiver",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o,s,c,u,d,l;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(this.worker){i.next=2;break}return i.abrupt("return");case 2:if(!Ki()){i.next=7;break}o={kind:"decode",participantIdentity:n,trackId:t,codec:r},e.transform=new RTCRtpScriptTransform(this.worker,o),i.next=16;break;case 7:if(!(qi in e)||!r){i.next=11;break}return s={kind:"updateCodec",data:{trackId:t,codec:r,participantIdentity:n}},this.worker.postMessage(s),i.abrupt("return");case 11:c=e.writableStream,u=e.readableStream,c&&u||(d=e.createEncodedStreams(),e.writableStream=d.writable,c=d.writable,e.readableStream=d.readable,u=d.readable),l={kind:"decode",data:{readableStream:u,writableStream:c,trackId:t,codec:r,participantIdentity:n}},this.worker.postMessage(l,[u,c]);case 16:e[qi]=!0;case 17:case"end":return i.stop()}}),a,this)})))}},{key:"handleSender",value:function(e,t,n){var r;if(!(qi in e)&&this.worker){if(!(null===(r=this.room)||void 0===r?void 0:r.localParticipant.identity)||""===this.room.localParticipant.identity)throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Ki()){wr.info("initialize script transform");var i={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:t,codec:n};e.transform=new RTCRtpScriptTransform(this.worker,i)}else{wr.info("initialize encoded streams");var a=e.createEncodedStreams(),o={kind:"encode",data:{readableStream:a.readable,writableStream:a.writable,codec:n,trackId:t,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(o,[a.readable,a.writable])}e[qi]=!0}}}]),n}(),Ao="default",_o=function(){function e(){u(this,e),this._previousDevices=[]}return l(e,[{key:"previousDevices",get:function(){return this._previousDevices}},{key:"getDevices",value:function(t){return Nr(this,arguments,void 0,(function(t){var n=this,r=1>=arguments.length||void 0===arguments[1]||arguments[1];return i().mark((function a(){var o,s,c,u;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if((null===(o=e.userMediaPromiseMap)||void 0===o?void 0:o.size)<=0){i.next=15;break}if(wr.debug("awaiting getUserMedia promise"),i.prev=2,!t){i.next=8;break}return i.next=6,e.userMediaPromiseMap.get(t);case 6:i.next=10;break;case 8:return i.next=10,Promise.all(e.userMediaPromiseMap.values());case 10:i.next=15;break;case 12:i.prev=12,i.t0=i.catch(2),wr.warn("error waiting for media permissons");case 15:return i.next=17,navigator.mediaDevices.enumerateDevices();case 17:if(s=i.sent,!r||Fa()&&n.hasDeviceInUse(t)){i.next=29;break}if(!(0===s.filter((function(e){return e.kind===t})).length||s.some((function(e){var n=""===e.label,r=!t||e.kind===t;return n&&r})))){i.next=29;break}return c={video:"audioinput"!==t&&"audiooutput"!==t,audio:"videoinput"!==t&&{deviceId:{ideal:"default"}}},i.next=24,navigator.mediaDevices.getUserMedia(c);case 24:return u=i.sent,i.next=27,navigator.mediaDevices.enumerateDevices();case 27:s=i.sent,u.getTracks().forEach((function(e){e.stop()}));case 29:return n._previousDevices=s,t&&(s=s.filter((function(e){return e.kind===t}))),i.abrupt("return",s);case 32:case"end":return i.stop()}}),a,null,[[2,12]])}))()}))}},{key:"normalizeDeviceId",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t===Ao){r.next=2;break}return r.abrupt("return",t);case 2:return r.next=4,this.getDevices(e);case 4:if(a=r.sent,o=a.find((function(e){return e.deviceId===Ao}))){r.next=9;break}return wr.warn("could not reliably determine default device"),r.abrupt("return",void 0);case 9:if(s=a.find((function(e){return e.deviceId!==Ao&&e.groupId===(null!=n?n:o.groupId)}))){r.next=13;break}return wr.warn("could not reliably determine default device"),r.abrupt("return",void 0);case 13:return r.abrupt("return",null==s?void 0:s.deviceId);case 14:case"end":return r.stop()}}),r,this)})))}},{key:"hasDeviceInUse",value:function(t){return t?e.userMediaPromiseMap.has(t):e.userMediaPromiseMap.size>0}}],[{key:"getInstance",value:function(){return void 0===this.instance&&(this.instance=new e),this.instance}}]),e}();_o.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],_o.userMediaPromiseMap=new Map,function(e){e[e.WAITING=0]="WAITING",e[e.RUNNING=1]="RUNNING",e[e.COMPLETED=2]="COMPLETED"}(Do||(Do={}));var Lo=function(){function e(){u(this,e),this.pendingTasks=new Map,this.taskMutex=new _,this.nextTaskIndex=0}return l(e,[{key:"run",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Do.WAITING},this.pendingTasks.set(n.id,n),t.next=4,this.taskMutex.lock();case 4:return r=t.sent,t.prev=5,n.executedAt=Date.now(),n.status=Do.RUNNING,t.next=10,e();case 10:return t.abrupt("return",t.sent);case 11:return t.prev=11,n.status=Do.COMPLETED,this.pendingTasks.delete(n.id),r(),t.finish(11);case 16:case"end":return t.stop()}}),t,this,[[5,,11,16]])})))}},{key:"flush",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.run((function(){return Nr(t,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))})));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"snapshot",value:function(){return Array.from(this.pendingTasks.values())}}]),e}();function Uo(e,t){return e.pathname="".concat(function(e){return e.endsWith("/")?e:"".concat(e,"/")}(e.pathname)).concat(t),e.toString()}var jo,Fo=["syncState","trickle","offer","answer","simulate","leave"];function Bo(e){var t=Fo.indexOf(e.case)>=0;return wr.trace("request allowed to bypass queue:",{canPass:t,req:e}),t}!function(e){e[e.CONNECTING=0]="CONNECTING",e[e.CONNECTED=1]="CONNECTED",e[e.RECONNECTING=2]="RECONNECTING",e[e.DISCONNECTING=3]="DISCONNECTING",e[e.DISCONNECTED=4]="DISCONNECTED"}(jo||(jo={}));var Ho=function(){function e(){var t=this;u(this,e);var n,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rtt=0,this.state=jo.DISCONNECTED,this.log=wr,this._requestId=0,this.resetCallbacks=function(){t.onAnswer=void 0,t.onLeave=void 0,t.onLocalTrackPublished=void 0,t.onLocalTrackUnpublished=void 0,t.onNegotiateRequested=void 0,t.onOffer=void 0,t.onRemoteMuteChanged=void 0,t.onSubscribedQualityUpdate=void 0,t.onTokenRefresh=void 0,t.onTrickle=void 0,t.onClose=void 0},this.log=Er(null!==(n=i.loggerName)&&void 0!==n?n:Tr.Signal),this.loggerContextCb=i.loggerContextCb,this.useJSON=r,this.requestQueue=new Lo,this.queuedRequests=[],this.closingLock=new _,this.connectionLock=new _,this.state=jo.DISCONNECTED}return l(e,[{key:"currentState",get:function(){return this.state}},{key:"isDisconnected",get:function(){return this.state===jo.DISCONNECTING||this.state===jo.DISCONNECTED}},{key:"isEstablishingConnection",get:function(){return this.state===jo.CONNECTING||this.state===jo.RECONNECTING}},{key:"getNextRequestId",value:function(){return this._requestId+=1,this._requestId}},{key:"logContext",get:function(){var e,t;return null!==(t=null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this))&&void 0!==t?t:{}}},{key:"join",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.state=jo.CONNECTING,this.options=n,i.next=4,this.connect(e,t,n,r);case 4:return o=i.sent,i.abrupt("return",o);case 6:case"end":return i.stop()}}),a,this)})))}},{key:"reconnect",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(this.options){i.next=3;break}return this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext),i.abrupt("return");case 3:return this.state=jo.RECONNECTING,this.clearPingInterval(),i.next=7,this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:n,reconnectReason:r}));case 7:return o=i.sent,i.abrupt("return",o);case 9:case"end":return i.stop()}}),a,this)})))}},{key:"connect",value:function(e,t,n,r){var a=this;this.connectOptions=n;var s,c,u=function(e,t,n){var r,i=new URLSearchParams;i.set("access_token",e),n.reconnect&&(i.set("reconnect","1"),n.sid&&i.set("sid",n.sid));i.set("auto_subscribe",n.autoSubscribe?"1":"0"),i.set("sdk",qa()?"reactnative":"js"),i.set("version",t.version),i.set("protocol",t.protocol.toString()),t.deviceModel&&i.set("device_model",t.deviceModel);t.os&&i.set("os",t.os);t.osVersion&&i.set("os_version",t.osVersion);t.browser&&i.set("browser",t.browser);t.browserVersion&&i.set("browser_version",t.browserVersion);n.adaptiveStream&&i.set("adaptive_stream","1");n.reconnectReason&&i.set("reconnect_reason",n.reconnectReason.toString());(null===(r=navigator.connection)||void 0===r?void 0:r.type)&&i.set("network",navigator.connection.type);return i}(t,(c=new un({sdk:dn.JS,protocol:16,version:"2.13.3"}),qa()&&(c.os=null!==(s=Ja())&&void 0!==s?s:""),c),n),d=function(e,t){var n=new URL(function(e){return e.startsWith("http")?e.replace(/^(http)/,"ws"):e}(e));return t.forEach((function(e,t){n.searchParams.set(t,e)})),Uo(n,"rtc")}(e,u),l=Uo(new URL(so(d)),"validate");return new Promise((function(e,t){return Nr(a,void 0,void 0,i().mark((function a(){var s,c,u,h,p=this;return i().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,this.connectionLock.lock();case 2:if(s=a.sent,a.prev=3,c=function(){return Nr(p,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.close(),clearTimeout(u),t(new ta("room connection has been cancelled (signal)",Ji.Cancelled));case 3:case"end":return e.stop()}}),e,this)})))},u=setTimeout((function(){p.close(),t(new ta("room connection has timed out (signal)",Ji.ServerUnreachable))}),n.websocketTimeout),(null==r?void 0:r.aborted)&&c(),null==r||r.addEventListener("abort",c),(h=new URL(d)).searchParams.has("access_token")&&h.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(h),Object.assign({reconnect:n.reconnect,reconnectReason:n.reconnectReason},this.logContext)),!this.ws){a.next=14;break}return a.next=14,this.close(!1);case 14:this.ws=new WebSocket(d),this.ws.binaryType="arraybuffer",this.ws.onopen=function(){clearTimeout(u)},this.ws.onerror=function(e){return Nr(p,void 0,void 0,i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.state===jo.CONNECTED){n.next=21;break}return this.state=jo.DISCONNECTED,clearTimeout(u),n.prev=3,n.next=6,fetch(l);case 6:if(!(r=n.sent).status.toFixed(0).startsWith("4")){n.next=14;break}return n.next=10,r.text();case 10:a=n.sent,t(new ta(a,Ji.NotAllowed,r.status)),n.next=15;break;case 14:t(new ta("Encountered unknown websocket error during connection: ".concat(e.toString()),Ji.InternalError,r.status));case 15:n.next=20;break;case 17:n.prev=17,n.t0=n.catch(3),t(new ta(n.t0 instanceof Error?n.t0.message:"server was not reachable",Ji.ServerUnreachable));case 20:return n.abrupt("return");case 21:this.handleWSError(e);case 22:case"end":return n.stop()}}),n,this,[[3,17]])})))},this.ws.onmessage=function(a){return Nr(p,void 0,void 0,i().mark((function s(){var u,d,l,h,p,f;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if("string"!=typeof a.data){i.next=5;break}p=JSON.parse(a.data),h=En.fromJson(p,{ignoreUnknownFields:!0}),i.next=11;break;case 5:if(!(a.data instanceof ArrayBuffer)){i.next=9;break}h=En.fromBinary(new Uint8Array(a.data)),i.next=11;break;case 9:return this.log.error("could not decode websocket message: ".concat(o(a.data)),this.logContext),i.abrupt("return");case 11:if(this.state===jo.CONNECTED){i.next=16;break}if(f=!1,"join"===(null===(u=h.message)||void 0===u?void 0:u.case)?(this.state=jo.CONNECTED,null==r||r.removeEventListener("abort",c),this.pingTimeoutDuration=h.message.value.pingTimeout,this.pingIntervalDuration=h.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&(this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration})),this.startPingInterval()),e(h.message.value)):this.state===jo.RECONNECTING&&"leave"!==h.message.case?(this.state=jo.CONNECTED,null==r||r.removeEventListener("abort",c),this.startPingInterval(),"reconnect"===(null===(d=h.message)||void 0===d?void 0:d.case)?e(h.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),e(void 0),f=!0)):this.isEstablishingConnection&&"leave"===h.message.case?t(new ta("Received leave request while trying to (re)connect",Ji.LeaveRequest,void 0,h.message.value.reason)):n.reconnect||t(new ta("did not receive join response, got ".concat(null===(l=h.message)||void 0===l?void 0:l.case," instead"),Ji.InternalError)),f){i.next=16;break}return i.abrupt("return");case 16:if(!this.signalLatency){i.next=19;break}return i.next=19,Na(this.signalLatency);case 19:this.handleSignalResponse(h);case 20:case"end":return i.stop()}}),s,this)})))},this.ws.onclose=function(e){p.isEstablishingConnection&&t(new ta("Websocket got closed during a (re)connection attempt",Ji.InternalError)),p.log.warn("websocket closed",Object.assign(Object.assign({},p.logContext),{reason:e.reason,code:e.code,wasClean:e.wasClean,state:p.state})),p.handleOnClose(e.reason)};case 20:return a.prev=20,s(),a.finish(20);case 23:case"end":return a.stop()}}),a,this,[[3,,20,23]])})))}))}},{key:"close",value:function(){return Nr(this,arguments,void 0,(function(){var e=this,t=0>=arguments.length||void 0===arguments[0]||arguments[0];return i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.closingLock.lock();case 2:if(r=n.sent,n.prev=3,e.clearPingInterval(),t&&(e.state=jo.DISCONNECTING),!e.ws){n.next=16;break}if(e.ws.onmessage=null,e.ws.onopen=null,e.ws.onclose=null,a=new Promise((function(t){e.ws?e.ws.onclose=function(){t()}:t()})),e.ws.readyState>=e.ws.CLOSING){n.next=15;break}return e.ws.close(),n.next=15,Promise.race([a,Na(250)]);case 15:e.ws=void 0;case 16:return n.prev=16,t&&(e.state=jo.DISCONNECTED),r(),n.finish(16);case 20:case"end":return n.stop()}}),n,null,[[3,,16,20]])}))()}))}},{key:"sendOffer",value:function(e){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:Vo(e)})}},{key:"sendAnswer",value:function(e){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:Vo(e)})}},{key:"sendIceCandidate",value:function(e,t){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new In({candidateInit:JSON.stringify(e),target:t})})}},{key:"sendMuteTrack",value:function(e,t){return this.sendRequest({case:"mute",value:new Rn({sid:e,muted:t})})}},{key:"sendAddTrack",value:function(e){return this.sendRequest({case:"addTrack",value:e})}},{key:"sendUpdateLocalMetadata",value:function(e,t){return Nr(this,arguments,void 0,(function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i().mark((function a(){var o;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return o=n.getNextRequestId(),i.next=3,n.sendRequest({case:"updateMetadata",value:new Vn({requestId:o,metadata:e,name:t,attributes:r})});case 3:return i.abrupt("return",o);case 4:case"end":return i.stop()}}),a)}))()}))}},{key:"sendUpdateTrackSettings",value:function(e){this.sendRequest({case:"trackSetting",value:e})}},{key:"sendUpdateSubscription",value:function(e){return this.sendRequest({case:"subscription",value:e})}},{key:"sendSyncState",value:function(e){return this.sendRequest({case:"syncState",value:e})}},{key:"sendUpdateVideoLayers",value:function(e,t){return this.sendRequest({case:"updateLayers",value:new Wn({trackSid:e,layers:t})})}},{key:"sendUpdateSubscriptionPermissions",value:function(e,t){return this.sendRequest({case:"subscriptionPermission",value:new tr({allParticipants:e,trackPermissions:t})})}},{key:"sendSimulateScenario",value:function(e){return this.sendRequest({case:"simulate",value:e})}},{key:"sendPing",value:function(){return Promise.all([this.sendRequest({case:"ping",value:le.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new sr({timestamp:le.parse(Date.now()),rtt:le.parse(this.rtt)})})])}},{key:"sendUpdateLocalAudioTrack",value:function(e,t){return this.sendRequest({case:"updateAudioTrack",value:new jn({trackSid:e,features:t})})}},{key:"sendLeave",value:function(){return this.sendRequest({case:"leave",value:new Bn({reason:Nt.CLIENT_INITIATED,action:Hn.DISCONNECT})})}},{key:"sendRequest",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i().mark((function r(){var a;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!(!n&&!Bo(e))||t.state!==jo.RECONNECTING){r.next=4;break}return t.queuedRequests.push((function(){return Nr(t,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.sendRequest(e,!0);case 2:case"end":return t.stop()}}),t,this)})))})),r.abrupt("return");case 4:if(n){r.next=7;break}return r.next=7,t.requestQueue.flush();case 7:if(!t.signalLatency){r.next=10;break}return r.next=10,Na(t.signalLatency);case 10:if(t.ws&&t.ws.readyState===t.ws.OPEN){r.next=13;break}return t.log.error("cannot send signal request before connected, type: ".concat(null==e?void 0:e.case),t.logContext),r.abrupt("return");case 13:a=new wn({message:e});try{t.useJSON?t.ws.send(a.toJsonString()):t.ws.send(a.toBinary())}catch(e){t.log.error("error sending signal message",Object.assign(Object.assign({},t.logContext),{error:e}))}case 15:case"end":return r.stop()}}),r)}))()}))}},{key:"handleSignalResponse",value:function(e){var t,n,r=e.message;if(null!=r){var i=!1;if("answer"===r.case){var a=Wo(r.value);this.onAnswer&&this.onAnswer(a)}else if("offer"===r.case){var o=Wo(r.value);this.onOffer&&this.onOffer(o)}else if("trickle"===r.case){var s=JSON.parse(r.value.candidateInit);this.onTrickle&&this.onTrickle(s,r.value.target)}else"update"===r.case?this.onParticipantUpdate&&this.onParticipantUpdate(null!==(t=r.value.participants)&&void 0!==t?t:[]):"trackPublished"===r.case?this.onLocalTrackPublished&&this.onLocalTrackPublished(r.value):"speakersChanged"===r.case?this.onSpeakersChanged&&this.onSpeakersChanged(null!==(n=r.value.speakers)&&void 0!==n?n:[]):"leave"===r.case?this.onLeave&&this.onLeave(r.value):"mute"===r.case?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(r.value.sid,r.value.muted):"roomUpdate"===r.case?this.onRoomUpdate&&r.value.room&&this.onRoomUpdate(r.value.room):"connectionQuality"===r.case?this.onConnectionQuality&&this.onConnectionQuality(r.value):"streamStateUpdate"===r.case?this.onStreamStateUpdate&&this.onStreamStateUpdate(r.value):"subscribedQualityUpdate"===r.case?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(r.value):"subscriptionPermissionUpdate"===r.case?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(r.value):"refreshToken"===r.case?this.onTokenRefresh&&this.onTokenRefresh(r.value):"trackUnpublished"===r.case?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(r.value):"subscriptionResponse"===r.case?this.onSubscriptionError&&this.onSubscriptionError(r.value):"pong"===r.case||("pongResp"===r.case?(this.rtt=Date.now()-Number.parseInt(r.value.lastPingTimestamp.toString()),this.resetPingTimeout(),i=!0):"requestResponse"===r.case?this.onRequestResponse&&this.onRequestResponse(r.value):"trackSubscribed"===r.case?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(r.value.trackSid):"roomMoved"===r.case?(this.onTokenRefresh&&this.onTokenRefresh(r.value.token),this.onRoomMoved&&this.onRoomMoved(r.value)):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:r.case})));i||this.resetPingTimeout()}else this.log.debug("received unsupported message",this.logContext)}},{key:"setReconnected",value:function(){for(;this.queuedRequests.length>0;){var e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}},{key:"handleOnClose",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.state!==jo.DISCONNECTED){t.next=2;break}return t.abrupt("return");case 2:return n=this.onClose,t.next=5,this.close();case 5:this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),n&&n(e);case 7:case"end":return t.stop()}}),t,this)})))}},{key:"handleWSError",value:function(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}},{key:"resetPingTimeout",value:function(){var e=this;this.clearPingTimeout(),this.pingTimeoutDuration?this.pingTimeout=va.setTimeout((function(){e.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-1e3*e.pingTimeoutDuration).toUTCString()),e.logContext),e.handleOnClose("ping timeout")}),1e3*this.pingTimeoutDuration):this.log.warn("ping timeout duration not set",this.logContext)}},{key:"clearPingTimeout",value:function(){this.pingTimeout&&va.clearTimeout(this.pingTimeout)}},{key:"startPingInterval",value:function(){var e=this;this.clearPingInterval(),this.resetPingTimeout(),this.pingIntervalDuration?(this.log.debug("start ping interval",this.logContext),this.pingInterval=va.setInterval((function(){e.sendPing()}),1e3*this.pingIntervalDuration)):this.log.warn("ping interval duration not set",this.logContext)}},{key:"clearPingInterval",value:function(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&va.clearInterval(this.pingInterval)}}]),e}();function Wo(e){var t={type:"offer",sdp:e.sdp};switch(e.type){case"answer":case"offer":case"pranswer":case"rollback":t.type=e.type;break}return t}function Vo(e){return new An({sdp:e.sdp,type:e.type})}var qo,Go,Ko,Jo,zo,Qo={},Yo={},Xo={exports:{}};function Zo(){if(qo)return Xo.exports;qo=1;var e=Xo.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(e).forEach((function(t){e[t].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))})),Xo.exports}function $o(){return Go||(Go=1,function(e){var t=function(e){return String(Number(e))===e?Number(e):e},n=function(e,n,r){var i=e.name&&e.names;e.push&&!n[e.push]?n[e.push]=[]:i&&!n[e.name]&&(n[e.name]={});var a=e.push?{}:i?n[e.name]:n;!function(e,n,r,i){if(i&&!r)n[i]=t(e[1]);else for(var a=0;a<r.length;a+=1)null!=e[a+1]&&(n[r[a]]=t(e[a+1]))}(r.match(e.reg),a,e.names,e.name),e.push&&n[e.push].push(a)},r=Zo(),i=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},a=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(i).forEach((function(e){var t=e[0],i=e.slice(2);"m"===t&&(a.push({rtp:[],fmtp:[]}),o=a[a.length-1]);for(var s=0;s<(r[t]||[]).length;s+=1){var c=r[t][s];if(c.reg.test(i))return n(c,o,i)}})),t.media=a,t};var a=function(e,n){var r=n.split(/=(.+)/,2);return 2===r.length?e[r[0]]=t(r[1]):1===r.length&&n.length>1&&(e[r[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(a,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var n=[],r=e.split(" ").map(t),i=0;i<r.length;i+=3)n.push({component:r[i],ip:r[i+1],port:r[i+2]});return n},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(a,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var n,r=!1;return"~"!==e[0]?n=t(e):(n=t(e.substring(1,e.length)),r=!0),{scid:n,paused:r}}))}))}}(Yo)),Yo}function es(){if(Jo)return Ko;Jo=1;var e=Zo(),t=/%[sdv%]/g,n=function(e){var n=1,r=arguments,i=r.length;return e.replace(t,(function(e){if(n>=i)return e;var t=r[n];switch(n+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}}))},r=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var a=0;a<t.names.length;a+=1){var o=t.names[a];t.name?i.push(r[t.name][o]):i.push(r[t.names[a]])}else i.push(r[t.name]);return n.apply(null,i)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],a=["i","c","b","a"];return Ko=function(t,n){n=n||{},null==t.version&&(t.version=0),null==t.name&&(t.name=" "),t.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var o=n.outerOrder||i,s=n.innerOrder||a,c=[];return o.forEach((function(n){e[n].forEach((function(e){e.name in t&&null!=t[e.name]?c.push(r(n,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach((function(t){c.push(r(n,e,t))}))}))})),t.media.forEach((function(t){c.push(r("m",e.m[0],t)),s.forEach((function(n){e[n].forEach((function(e){e.name in t&&null!=t[e.name]?c.push(r(n,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach((function(t){c.push(r(n,e,t))}))}))}))})),c.join("\r\n")+"\r\n"},Ko}var ts=function(){if(zo)return Qo;zo=1;var e=$o(),t=es(),n=Zo();return Qo.grammar=n,Qo.write=t,Qo.parse=e.parse,Qo.parseParams=e.parseParams,Qo.parseFmtpConfig=e.parseFmtpConfig,Qo.parsePayloads=e.parsePayloads,Qo.parseRemoteCandidates=e.parseRemoteCandidates,Qo.parseImageAttributes=e.parseImageAttributes,Qo.parseSimulcastStreamList=e.parseSimulcastStreamList,Qo}();function ns(e,t,n){var r,i,a;void 0===t&&(t=50),void 0===n&&(n={});var o=null!=(r=n.isImmediate)&&r,s=null!=(i=n.callback)&&i,c=n.maxWait,u=Date.now(),d=[];function l(){if(void 0!==c){var e=Date.now()-u;if(e+t>=c)return c-e}return t}var h=function(){var t=[].slice.call(arguments),n=this;return new Promise((function(r,i){var c=o&&void 0===a;if(void 0!==a&&clearTimeout(a),a=setTimeout((function(){if(a=void 0,u=Date.now(),!o){var r=e.apply(n,t);s&&s(r),d.forEach((function(e){return(0,e.resolve)(r)})),d=[]}}),l()),c){var h=e.apply(n,t);return s&&s(h),r(h)}d.push({resolve:r,reject:i})}))};return h.cancel=function(e){void 0!==a&&clearTimeout(a),d.forEach((function(t){return(0,t.reject)(e)})),d=[]},h}var rs="negotiationStarted",is="negotiationComplete",as="rtpVideoPayloadTypes",os=function(t){function n(t){var r;u(this,n);var a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(r=e(this,n)).log=wr,r.ddExtID=0,r.pendingCandidates=[],r.restartingIce=!1,r.renegotiate=!1,r.trackBitrates=[],r.remoteStereoMids=[],r.remoteNackMids=[],r.negotiate=ns((function(e){return Nr(k(r),void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.emit(rs),t.prev=1,t.next=4,this.createAndSendOffer();case 4:t.next=13;break;case 6:if(t.prev=6,t.t0=t.catch(1),!e){t.next=12;break}e(t.t0),t.next=13;break;case 12:throw t.t0;case 13:case"end":return t.stop()}}),t,this,[[1,6]])})))}),20),r.close=function(){r._pc&&(r._pc.close(),r._pc.onconnectionstatechange=null,r._pc.oniceconnectionstatechange=null,r._pc.onicegatheringstatechange=null,r._pc.ondatachannel=null,r._pc.onnegotiationneeded=null,r._pc.onsignalingstatechange=null,r._pc.onicecandidate=null,r._pc.ondatachannel=null,r._pc.ontrack=null,r._pc.onconnectionstatechange=null,r._pc.oniceconnectionstatechange=null,r._pc=null)},r.log=Er(null!==(a=o.loggerName)&&void 0!==a?a:Tr.PCTransport),r.loggerOptions=o,r.config=t,r._pc=r.createPC(),r}return p(n,Lr.EventEmitter),l(n,[{key:"pc",get:function(){return this._pc||(this._pc=this.createPC()),this._pc}},{key:"createPC",value:function(){var e=this,t=new RTCPeerConnection(this.config);return t.onicecandidate=function(t){var n;t.candidate&&(null===(n=e.onIceCandidate)||void 0===n||n.call(e,t.candidate))},t.onicecandidateerror=function(t){var n;null===(n=e.onIceCandidateError)||void 0===n||n.call(e,t)},t.oniceconnectionstatechange=function(){var n;null===(n=e.onIceConnectionStateChange)||void 0===n||n.call(e,t.iceConnectionState)},t.onsignalingstatechange=function(){var n;null===(n=e.onSignalingStatechange)||void 0===n||n.call(e,t.signalingState)},t.onconnectionstatechange=function(){var n;null===(n=e.onConnectionStateChange)||void 0===n||n.call(e,t.connectionState)},t.ondatachannel=function(t){var n;null===(n=e.onDataChannel)||void 0===n||n.call(e,t)},t.ontrack=function(t){var n;null===(n=e.onTrack)||void 0===n||n.call(e,t)},t}},{key:"logContext",get:function(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}},{key:"isICEConnected",get:function(){return null!==this._pc&&("connected"===this.pc.iceConnectionState||"completed"===this.pc.iceConnectionState)}},{key:"addIceCandidate",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.pc.remoteDescription||this.restartingIce){t.next=2;break}return t.abrupt("return",this.pc.addIceCandidate(e));case 2:this.pendingCandidates.push(e);case 3:case"end":return t.stop()}}),t,this)})))}},{key:"setRemoteDescription",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=void 0,"offer"===e.type?(a=cs(e),o=a.stereoMids,s=a.nackMids,this.remoteStereoMids=o,this.remoteNackMids=s):"answer"===e.type&&((c=ts.parse(null!==(n=e.sdp)&&void 0!==n?n:"")).media.forEach((function(e){"audio"===e.type&&u.trackBitrates.some((function(t){if(!t.transceiver||e.mid!=t.transceiver.mid)return!1;var n=0;if(e.rtp.some((function(e){return e.codec.toUpperCase()===t.codec.toUpperCase()&&(n=e.payload,!0)})),0===n)return!0;var r,i=!1,a=w(e.fmtp);try{for(a.s();!(r=a.n()).done;){var o=r.value;if(o.payload===n){o.config=o.config.split(";").filter((function(e){return!e.includes("maxaveragebitrate")})).join(";"),t.maxbr>0&&(o.config+=";maxaveragebitrate=".concat(1e3*t.maxbr)),i=!0;break}}}catch(e){a.e(e)}finally{a.f()}return i||t.maxbr>0&&e.fmtp.push({payload:n,config:"maxaveragebitrate=".concat(1e3*t.maxbr)}),!0}))})),r=ts.write(c)),t.next=4,this.setMungedSDP(e,r,!0);case 4:if(this.pendingCandidates.forEach((function(e){u.pc.addIceCandidate(e)})),this.pendingCandidates=[],this.restartingIce=!1,!this.renegotiate){t.next=13;break}return this.renegotiate=!1,t.next=11,this.createAndSendOffer();case 11:t.next=14;break;case 13:"answer"===e.type&&(this.emit(is),e.sdp&&ts.parse(e.sdp).media.forEach((function(e){"video"===e.type&&u.emit(as,e.rtp)})));case 14:case"end":return t.stop()}}),t,this)})))}},{key:"createAndSendOffer",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==this.onOffer){t.next=2;break}return t.abrupt("return");case 2:if((null==e?void 0:e.iceRestart)&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),!this._pc||"have-local-offer"!==this._pc.signalingState){t.next=14;break}if(r=this._pc.remoteDescription,!(null==e?void 0:e.iceRestart)||!r){t.next=10;break}return t.next=8,this._pc.setRemoteDescription(r);case 8:t.next=12;break;case 10:return this.renegotiate=!0,t.abrupt("return");case 12:t.next=17;break;case 14:if(this._pc&&"closed"!==this._pc.signalingState){t.next=17;break}return this.log.warn("could not createOffer with closed peer connection",this.logContext),t.abrupt("return");case 17:return this.log.debug("starting to negotiate",this.logContext),t.next=20,this.pc.createOffer(e);case 20:return a=t.sent,this.log.debug("original offer",Object.assign({sdp:a.sdp},this.logContext)),(o=ts.parse(null!==(n=a.sdp)&&void 0!==n?n:"")).media.forEach((function(e){us(e),"audio"===e.type?ss(e,[],[]):"video"===e.type&&s.trackBitrates.some((function(t){if(!e.msid||!t.cid||!e.msid.includes(t.cid))return!1;var n=0;if(e.rtp.some((function(e){return e.codec.toUpperCase()===t.codec.toUpperCase()&&(n=e.payload,!0)})),0===n)return!0;if(La(t.codec)&&s.ensureVideoDDExtensionForSVC(e,o),"av1"!==t.codec)return!0;var r,i=Math.round(.7*t.maxbr),a=w(e.fmtp);try{for(a.s();!(r=a.n()).done;){var c=r.value;if(c.payload===n){c.config.includes("x-google-start-bitrate")||(c.config+=";x-google-start-bitrate=".concat(i));break}}}catch(e){a.e(e)}finally{a.f()}return!0}))})),t.next=26,this.setMungedSDP(a,ts.write(o));case 26:this.onOffer(a);case 27:case"end":return t.stop()}}),t,this)})))}},{key:"createAndSetAnswer",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.pc.createAnswer();case 2:return n=e.sent,(r=ts.parse(null!==(t=n.sdp)&&void 0!==t?t:"")).media.forEach((function(e){us(e),"audio"===e.type&&ss(e,a.remoteStereoMids,a.remoteNackMids)})),e.next=7,this.setMungedSDP(n,ts.write(r));case 7:return e.abrupt("return",n);case 8:case"end":return e.stop()}}),e,this)})))}},{key:"createDataChannel",value:function(e,t){return this.pc.createDataChannel(e,t)}},{key:"addTransceiver",value:function(e,t){return this.pc.addTransceiver(e,t)}},{key:"addTrack",value:function(e){if(!this._pc)throw new aa("PC closed, cannot add track");return this._pc.addTrack(e)}},{key:"setTrackCodecBitrate",value:function(e){this.trackBitrates.push(e)}},{key:"setConfiguration",value:function(e){var t;if(!this._pc)throw new aa("PC closed, cannot configure");return null===(t=this._pc)||void 0===t?void 0:t.setConfiguration(e)}},{key:"canRemoveTrack",value:function(){var e;return!!(null===(e=this._pc)||void 0===e?void 0:e.removeTrack)}},{key:"removeTrack",value:function(e){var t;return null===(t=this._pc)||void 0===t?void 0:t.removeTrack(e)}},{key:"getConnectionState",value:function(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.connectionState)&&void 0!==t?t:"closed"}},{key:"getICEConnectionState",value:function(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.iceConnectionState)&&void 0!==t?t:"closed"}},{key:"getSignallingState",value:function(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.signalingState)&&void 0!==t?t:"closed"}},{key:"getTransceivers",value:function(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getTransceivers())&&void 0!==t?t:[]}},{key:"getSenders",value:function(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getSenders())&&void 0!==t?t:[]}},{key:"getLocalDescription",value:function(){var e;return null===(e=this._pc)||void 0===e?void 0:e.localDescription}},{key:"getRemoteDescription",value:function(){var e;return null===(e=this.pc)||void 0===e?void 0:e.remoteDescription}},{key:"getStats",value:function(){return this.pc.getStats()}},{key:"getConnectedAddress",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._pc){e.next=2;break}return e.abrupt("return");case 2:return n="",r=new Map,a=new Map,e.next=7,this._pc.getStats();case 7:if(e.sent.forEach((function(e){switch(e.type){case"transport":n=e.selectedCandidatePairId;break;case"candidate-pair":""===n&&e.selected&&(n=e.id),r.set(e.id,e);break;case"remote-candidate":a.set(e.id,"".concat(e.address,":").concat(e.port));break}})),""!==n){e.next=11;break}return e.abrupt("return",void 0);case 11:if(void 0!==(o=null===(t=r.get(n))||void 0===t?void 0:t.remoteCandidateId)){e.next=14;break}return e.abrupt("return",void 0);case 14:return e.abrupt("return",a.get(o));case 15:case"end":return e.stop()}}),e,this)})))}},{key:"setMungedSDP",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!t){r.next=19;break}if(a=e.sdp,e.sdp=t,r.prev=3,this.log.debug("setting munged ".concat(n?"remote":"local"," description"),this.logContext),!n){r.next=10;break}return r.next=8,this.pc.setRemoteDescription(e);case 8:r.next=12;break;case 10:return r.next=12,this.pc.setLocalDescription(e);case 12:return r.abrupt("return");case 15:r.prev=15,r.t0=r.catch(3),this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:r.t0,sdp:t})),e.sdp=a;case 19:if(r.prev=19,!n){r.next=25;break}return r.next=23,this.pc.setRemoteDescription(e);case 23:r.next=27;break;case 25:return r.next=27,this.pc.setLocalDescription(e);case 27:r.next=37;break;case 29:throw r.prev=29,r.t1=r.catch(19),o="unknown error",r.t1 instanceof Error?o=r.t1.message:"string"==typeof r.t1&&(o=r.t1),s={error:o,sdp:e.sdp},!n&&this.pc.remoteDescription&&(s.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:s})),new oa(o);case 37:case"end":return r.stop()}}),r,this,[[3,15],[19,29]])})))}},{key:"ensureVideoDDExtensionForSVC",value:function(e,t){var n,r;if(!(null===(n=e.ext)||void 0===n?void 0:n.some((function(e){return e.uri===Oa})))){if(0===this.ddExtID){var i=0;t.media.forEach((function(e){var t;"video"===e.type&&(null===(t=e.ext)||void 0===t||t.forEach((function(e){e.value>i&&(i=e.value)})))})),this.ddExtID=i+1}null===(r=e.ext)||void 0===r||r.push({value:this.ddExtID,uri:Oa})}}}]),n}();function ss(e,t,n){var r=0;e.rtp.some((function(e){return"opus"===e.codec&&(r=e.payload,!0)})),r>0&&(e.rtcpFb||(e.rtcpFb=[]),n.includes(e.mid)&&!e.rtcpFb.some((function(e){return e.payload===r&&"nack"===e.type}))&&e.rtcpFb.push({payload:r,type:"nack"}),t.includes(e.mid)&&e.fmtp.some((function(e){return e.payload===r&&(e.config.includes("stereo=1")||(e.config+=";stereo=1"),!0)})))}function cs(e){var t,n=[],r=[],i=ts.parse(null!==(t=e.sdp)&&void 0!==t?t:""),a=0;return i.media.forEach((function(e){var t;"audio"===e.type&&(e.rtp.some((function(e){return"opus"===e.codec&&(a=e.payload,!0)})),(null===(t=e.rtcpFb)||void 0===t?void 0:t.some((function(e){return e.payload===a&&"nack"===e.type})))&&r.push(e.mid),e.fmtp.some((function(t){return t.payload===a&&(t.config.includes("sprop-stereo=1")&&n.push(e.mid),!0)})))})),{stereoMids:n,nackMids:r}}function us(e){if(e.connection){var t=e.connection.ip.indexOf(":")>=0;(4===e.connection.version&&t||6===e.connection.version&&!t)&&(e.connection.ip="0.0.0.0",e.connection.version=4)}}var ds,ls="vp8",hs={audioPreset:Ta.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:Ra.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:ls,backupCodec:!0,preConnectBuffer:!1},ps={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},fs={deviceId:{ideal:"default"},resolution:Pa.h720.resolution},vs={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new Rr,disconnectOnPageLeave:!0,webAudioMix:!1},ms={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};!function(e){e[e.NEW=0]="NEW",e[e.CONNECTING=1]="CONNECTING",e[e.CONNECTED=2]="CONNECTED",e[e.FAILED=3]="FAILED",e[e.CLOSING=4]="CLOSING",e[e.CLOSED=5]="CLOSED"}(ds||(ds={}));var gs=function(){function e(t,n,r){var i,a=this;u(this,e),this.peerConnectionTimeout=ms.peerConnectionTimeout,this.log=wr,this.updateState=function(){var e,t=a.state,n=a.requiredTransports.map((function(e){return e.getConnectionState()}));n.every((function(e){return"connected"===e}))?a.state=ds.CONNECTED:n.some((function(e){return"failed"===e}))?a.state=ds.FAILED:n.some((function(e){return"connecting"===e}))?a.state=ds.CONNECTING:n.every((function(e){return"closed"===e}))?a.state=ds.CLOSED:n.some((function(e){return"closed"===e}))?a.state=ds.CLOSING:n.every((function(e){return"new"===e}))&&(a.state=ds.NEW),t!==a.state&&(a.log.debug("pc state change: from ".concat(ds[t]," to ").concat(ds[a.state]),a.logContext),null===(e=a.onStateChange)||void 0===e||e.call(a,a.state,a.publisher.getConnectionState(),a.subscriber.getConnectionState()))},this.log=Er(null!==(i=r.loggerName)&&void 0!==i?i:Tr.PCManager),this.loggerOptions=r,this.isPublisherConnectionRequired=!n,this.isSubscriberConnectionRequired=n,this.publisher=new os(t,r),this.subscriber=new os(t,r),this.publisher.onConnectionStateChange=this.updateState,this.subscriber.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=function(e){var t;null===(t=a.onIceCandidate)||void 0===t||t.call(a,e,Sn.PUBLISHER)},this.subscriber.onIceCandidate=function(e){var t;null===(t=a.onIceCandidate)||void 0===t||t.call(a,e,Sn.SUBSCRIBER)},this.subscriber.onDataChannel=function(e){var t;null===(t=a.onDataChannel)||void 0===t||t.call(a,e)},this.subscriber.onTrack=function(e){var t;null===(t=a.onTrack)||void 0===t||t.call(a,e)},this.publisher.onOffer=function(e){var t;null===(t=a.onPublisherOffer)||void 0===t||t.call(a,e)},this.state=ds.NEW,this.connectionLock=new _,this.remoteOfferLock=new _}return l(e,[{key:"needsPublisher",get:function(){return this.isPublisherConnectionRequired}},{key:"needsSubscriber",get:function(){return this.isSubscriberConnectionRequired}},{key:"currentState",get:function(){return this.state}},{key:"logContext",get:function(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}},{key:"requirePublisher",value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0];this.isPublisherConnectionRequired=e,this.updateState()}},{key:"requireSubscriber",value:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0];this.isSubscriberConnectionRequired=e,this.updateState()}},{key:"createAndSendPublisherOffer",value:function(e){return this.publisher.createAndSendOffer(e)}},{key:"setPublisherAnswer",value:function(e){return this.publisher.setRemoteDescription(e)}},{key:"removeTrack",value:function(e){return this.publisher.removeTrack(e)}},{key:"close",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.publisher&&"closed"!==this.publisher.getSignallingState()){t=this.publisher,n=w(t.getSenders());try{for(n.s();!(r=n.n()).done;){a=r.value;try{t.canRemoveTrack()&&t.removeTrack(a)}catch(e){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:e}))}}}catch(e){n.e(e)}finally{n.f()}}return e.next=3,Promise.all([this.publisher.close(),this.subscriber.close()]);case 3:this.updateState();case 4:case"end":return e.stop()}}),e,this)})))}},{key:"triggerIceRestart",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.subscriber.restartingIce=!0,!this.needsPublisher){e.next=4;break}return e.next=4,this.createAndSendPublisherOffer({iceRestart:!0});case 4:case"end":return e.stop()}}),e,this)})))}},{key:"addIceCandidate",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t!==Sn.PUBLISHER){n.next=5;break}return n.next=3,this.publisher.addIceCandidate(e);case 3:n.next=7;break;case 5:return n.next=7,this.subscriber.addIceCandidate(e);case 7:case"end":return n.stop()}}),n,this)})))}},{key:"createSubscriberAnswerFromOffer",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber.getSignallingState().toString()})),t.next=3,this.remoteOfferLock.lock();case 3:return n=t.sent,t.prev=4,t.next=7,this.subscriber.setRemoteDescription(e);case 7:return t.next=9,this.subscriber.createAndSetAnswer();case 9:return r=t.sent,t.abrupt("return",r);case 11:return t.prev=11,n(),t.finish(11);case 14:case"end":return t.stop()}}),t,this,[[4,,11,14]])})))}},{key:"updateConfiguration",value:function(e,t){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),t&&this.triggerIceRestart()}},{key:"ensurePCTransportConnection",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.connectionLock.lock();case 2:return a=n.sent,n.prev=3,this.isPublisherConnectionRequired&&"connected"!==this.publisher.getConnectionState()&&"connecting"!==this.publisher.getConnectionState()&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),n.next=7,Promise.all(null===(r=this.requiredTransports)||void 0===r?void 0:r.map((function(n){return o.ensureTransportConnected(n,e,t)})));case 7:return n.prev=7,a(),n.finish(7);case 10:case"end":return n.stop()}}),n,this,[[3,,7,10]])})))}},{key:"negotiate",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t,r){return Nr(n,void 0,void 0,i().mark((function n(){var a,o,s=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=setTimeout((function(){r("negotiation timed out")}),this.peerConnectionTimeout),o=function(){clearTimeout(a),r("negotiation aborted")},e.signal.addEventListener("abort",o),this.publisher.once(rs,(function(){e.signal.aborted||s.publisher.once(is,(function(){clearTimeout(a),t()}))})),n.next=6,this.publisher.negotiate((function(e){clearTimeout(a),r(e)}));case 6:case"end":return n.stop()}}),n,this)})))})));case 1:case"end":return t.stop()}}),t)})))}},{key:"addPublisherTransceiver",value:function(e,t){return this.publisher.addTransceiver(e,t)}},{key:"addPublisherTrack",value:function(e){return this.publisher.addTrack(e)}},{key:"createPublisherDataChannel",value:function(e,t){return this.publisher.createDataChannel(e,t)}},{key:"getConnectedAddress",value:function(e){return e===Sn.PUBLISHER||e===Sn.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}},{key:"requiredTransports",get:function(){var e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&e.push(this.subscriber),e}},{key:"ensureTransportConnected",value:function(e,t){return Nr(this,arguments,void 0,(function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.peerConnectionTimeout;return i().mark((function a(){return i().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if("connected"!==e.getConnectionState()){a.next=3;break}return a.abrupt("return");case 3:return a.abrupt("return",new Promise((function(e,a){return Nr(n,void 0,void 0,i().mark((function n(){var o,s,c=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:o=function(){c.log.warn("abort transport connection",c.logContext),va.clearTimeout(s),a(new ta("room connection has been cancelled",Ji.Cancelled))},(null==t?void 0:t.signal.aborted)&&o(),null==t||t.signal.addEventListener("abort",o),s=va.setTimeout((function(){null==t||t.signal.removeEventListener("abort",o),a(new ta("could not establish pc connection",Ji.InternalError))}),r);case 4:if(this.state===ds.CONNECTED){n.next=12;break}return n.next=7,Na(50);case 7:if(!(null==t?void 0:t.signal.aborted)){n.next=10;break}return a(new ta("room connection has been cancelled",Ji.Cancelled)),n.abrupt("return");case 10:n.next=4;break;case 12:va.clearTimeout(s),null==t||t.signal.removeEventListener("abort",o),e();case 15:case"end":return n.stop()}}),n,this)})))})));case 4:case"end":return a.stop()}}),a)}))()}))}}]),e}(),ks=function(t){function n(t,r,i){var a;return u(this,n),(a=e(this,n,[r])).code=t,a.message=ys(r,n.MAX_MESSAGE_BYTES),a.data=i?ys(i,n.MAX_DATA_BYTES):void 0,a}return p(n,m(Error)),l(n,[{key:"toProto",value:function(){return new an({code:this.code,message:this.message,data:this.data})}}],[{key:"fromProto",value:function(e){return new n(e.code,e.message,e.data)}},{key:"builtIn",value:function(e,t){return new n(n.ErrorCode[e],n.ErrorMessage[e],t)}}]),n}();ks.MAX_MESSAGE_BYTES=256,ks.MAX_DATA_BYTES=15360,ks.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},ks.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};function bs(e){return(new TextEncoder).encode(e).length}function ys(e,t){if(bs(e)<=t)return e;for(var n=0,r=e.length,i=new TextEncoder;r>n;){var a=Math.floor((n+r+1)/2);i.encode(e.slice(0,a)).length>t?r=a-1:n=a}return e.slice(0,n)}var Ss=2e3;function Ts(e,t){return t?("bytesReceived"in e?(n=e.bytesReceived,r=t.bytesReceived):"bytesSent"in e&&(n=e.bytesSent,r=t.bytesSent),void 0===n||void 0===r||void 0===e.timestamp||void 0===t.timestamp?0:8*(n-r)*1e3/(e.timestamp-t.timestamp)):0;var n,r}var Cs="undefined"!=typeof MediaRecorder,ws=Cs?MediaRecorder:l((function e(){throw u(this,e),new Error("MediaRecorder is not available in this environment")})),Es=function(t){function n(t,r){var a,o,s;if(u(this,n),!Cs)throw new Error("MediaRecorder is not available in this environment");a=e(this,n,[new MediaStream([t.mediaStreamTrack]),r]);var c=function e(){a.removeEventListener("dataavailable",o),a.removeEventListener("stop",e),a.removeEventListener("error",d),null==s||s.close(),s=void 0},d=function e(t){null==s||s.error(t),a.removeEventListener("dataavailable",o),a.removeEventListener("stop",c),a.removeEventListener("error",e),s=void 0};return a.byteStream=new ReadableStream({start:function(e){s=e,o=function(t){return Nr(k(a),void 0,void 0,i().mark((function n(){var r;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.data.arrayBuffer();case 2:if(r=n.sent,void 0!==s){n.next=5;break}return n.abrupt("return");case 5:e.enqueue(new Uint8Array(r));case 6:case"end":return n.stop()}}),n)})))},a.addEventListener("dataavailable",o)},cancel:function(){c()}}),a.addEventListener("stop",c),a.addEventListener("error",d),a}return p(n,ws),l(n)}();var xs=function(t){function n(t,r,a){var o;u(this,n);var s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return(o=e(this,n,[t,r,arguments.length>4?arguments[4]:void 0])).manuallyStopped=!1,o._isUpstreamPaused=!1,o.handleTrackMuteEvent=function(){return o.debouncedTrackMuteHandler().catch((function(){return o.log.debug("track mute bounce got cancelled by an unmute event",o.logContext)}))},o.debouncedTrackMuteHandler=ns((function(){return Nr(k(o),void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.pauseUpstream();case 2:case"end":return e.stop()}}),e,this)})))}),5e3),o.handleTrackUnmuteEvent=function(){return Nr(k(o),void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.debouncedTrackMuteHandler.cancel("unmute"),e.next=3,this.resumeUpstream();case 3:case"end":return e.stop()}}),e,this)})))},o.handleEnded=function(){o.isInBackground&&(o.reacquireTrack=!0),o._mediaStreamTrack.removeEventListener("mute",o.handleTrackMuteEvent),o._mediaStreamTrack.removeEventListener("unmute",o.handleTrackUnmuteEvent),o.emit(ea.Ended,k(o))},o.reacquireTrack=!1,o.providedByUser=s,o.muteLock=new _,o.pauseUpstreamLock=new _,o.processorLock=new _,o.restartLock=new _,o.setMediaStreamTrack(t,!0),o._constraints=t.getConstraints(),a&&(o._constraints=a),o}return p(n,ka),l(n,[{key:"sender",get:function(){return this._sender},set:function(e){this._sender=e}},{key:"constraints",get:function(){return this._constraints}},{key:"hasPreConnectBuffer",get:function(){return!!this.localTrackRecorder}},{key:"id",get:function(){return this._mediaStreamTrack.id}},{key:"dimensions",get:function(){if(this.kind===ka.Kind.Video){var e=this._mediaStreamTrack.getSettings(),t=e.width,n=e.height;return t&&n?{width:t,height:n}:void 0}}},{key:"isUpstreamPaused",get:function(){return this._isUpstreamPaused}},{key:"isUserProvided",get:function(){return this.providedByUser}},{key:"mediaStreamTrack",get:function(){var e,t;return null!==(t=null===(e=this.processor)||void 0===e?void 0:e.processedTrack)&&void 0!==t?t:this._mediaStreamTrack}},{key:"isLocal",get:function(){return!0}},{key:"getSourceTrackSettings",value:function(){return this._mediaStreamTrack.getSettings()}},{key:"setMediaStreamTrack",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o,s=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e!==this._mediaStreamTrack||t){n.next=2;break}return n.abrupt("return");case 2:if(this._mediaStreamTrack&&(this.attachedElements.forEach((function(e){ya(s._mediaStreamTrack,e)})),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints()),!this.processor||!e){n.next=20;break}return n.next=8,this.processorLock.lock();case 8:if(o=n.sent,n.prev=9,this.log.debug("restarting processor",this.logContext),"unknown"!==this.kind){n.next=13;break}throw TypeError("cannot set processor on track of unknown kind");case 13:return this.processorElement&&(ba(e,this.processorElement),this.processorElement.muted=!0),n.next=16,this.processor.restart({track:e,kind:this.kind,element:this.processorElement});case 16:a=this.processor.processedTrack;case 17:return n.prev=17,o(),n.finish(17);case 20:if(!this.sender||"closed"===(null===(r=this.sender.transport)||void 0===r?void 0:r.state)){n.next=23;break}return n.next=23,this.sender.replaceTrack(null!=a?a:e);case 23:if(this.providedByUser||this._mediaStreamTrack===e||this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,!e){n.next=30;break}return this._mediaStreamTrack.enabled=!this.isMuted,n.next=29,this.resumeUpstream();case 29:this.attachedElements.forEach((function(t){ba(null!=a?a:e,t)}));case 30:case"end":return n.stop()}}),n,this,[[9,,17,20]])})))}},{key:"waitForDimensions",value:function(){return Nr(this,arguments,void 0,(function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return i().mark((function n(){var r,a,o;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.kind!==ka.Kind.Audio){n.next=2;break}throw new Error("cannot get dimensions for audio tracks");case 2:if("iOS"!==(null===(r=la())||void 0===r?void 0:r.os)){n.next=5;break}return n.next=5,Na(10);case 5:a=Date.now();case 6:if(Date.now()-a>=t){n.next=14;break}if(!(o=e.dimensions)){n.next=10;break}return n.abrupt("return",o);case 10:return n.next=12,Na(50);case 12:n.next=6;break;case 14:throw new ra("unable to get track dimensions after timeout");case 15:case"end":return n.stop()}}),n)}))()}))}},{key:"setDeviceId",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._constraints.deviceId!==e||this._mediaStreamTrack.getSettings().deviceId!==oo(e)){t.next=2;break}return t.abrupt("return",!0);case 2:if(this._constraints.deviceId=e,!this.isMuted){t.next=5;break}return t.abrupt("return",!0);case 5:return t.next=7,this.restartTrack();case 7:return t.abrupt("return",oo(e)===this._mediaStreamTrack.getSettings().deviceId);case 8:case"end":return t.stop()}}),t,this)})))}},{key:"getDeviceId",value:function(){return Nr(this,arguments,void 0,(function(){var e=this,t=0>=arguments.length||void 0===arguments[0]||arguments[0];return i().mark((function n(){var r,a,o,s;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.source!==ka.Source.ScreenShare){n.next=2;break}return n.abrupt("return");case 2:return r=e._mediaStreamTrack.getSettings(),a=r.deviceId,o=r.groupId,s=e.kind===ka.Kind.Audio?"audioinput":"videoinput",n.abrupt("return",t?_o.getInstance().normalizeDeviceId(s,a,o):a);case 5:case"end":return n.stop()}}),n)}))()}))}},{key:"mute",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setTrackMuted(!0),e.abrupt("return",this);case 2:case"end":return e.stop()}}),e,this)})))}},{key:"unmute",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setTrackMuted(!1),e.abrupt("return",this);case 2:case"end":return e.stop()}}),e,this)})))}},{key:"replaceTrack",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.sender){n.next=2;break}throw new ra("unable to replace an unpublished track");case 2:return"boolean"==typeof t?r=t:void 0!==t&&(r=t.userProvidedTrack,a=t.stopProcessor),this.providedByUser=null==r||r,this.log.debug("replace MediaStreamTrack",this.logContext),n.next=7,this.setMediaStreamTrack(e);case 7:if(!a||!this.processor){n.next=10;break}return n.next=10,this.stopProcessor();case 10:return n.abrupt("return",this);case 11:case"end":return n.stop()}}),n,this)})))}},{key:"restart",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.manuallyStopped=!1,t.next=3,this.restartLock.lock();case 3:return n=t.sent,t.prev=4,e||(e=this._constraints),a=(r=e).deviceId,o=r.facingMode,s=Or(e,["deviceId","facingMode"]),this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e})),c={audio:!1,video:!1},this.kind===ka.Kind.Video?c.video=!a&&!o||{deviceId:a,facingMode:o}:c.audio=!a||{deviceId:a},this.attachedElements.forEach((function(e){ya(l.mediaStreamTrack,e)})),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop(),t.next=15,navigator.mediaDevices.getUserMedia(c);case 15:return u=t.sent,d=u.getTracks()[0],t.next=19,d.applyConstraints(s);case 19:return d.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),t.next=23,this.setMediaStreamTrack(d);case 23:return this._constraints=e,this.emit(ea.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),t.abrupt("return",this);case 27:return t.prev=27,n(),t.finish(27);case 30:case"end":return t.stop()}}),t,this,[[4,,27,30]])})))}},{key:"setTrackMuted",value:function(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),this.isMuted===e&&this._mediaStreamTrack.enabled!==e||(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?ea.Muted:ea.Unmuted,this))}},{key:"needsReAcquisition",get:function(){return"live"!==this._mediaStreamTrack.readyState||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}},{key:"handleAppVisibilityChanged",value:function(){var e=this,t=Object.create(null,{handleAppVisibilityChanged:{get:function(){return b(f(n.prototype),"handleAppVisibilityChanged",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.handleAppVisibilityChanged.call(this);case 2:if(Ha()){e.next=4;break}return e.abrupt("return");case 4:if(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),this.isInBackground||!this.needsReAcquisition||this.isUserProvided||this.isMuted){e.next=10;break}return this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),e.next=9,this.restart();case 9:this.reacquireTrack=!1;case 10:case"end":return e.stop()}}),e,this)})))}},{key:"stop",value:function(){var e;this.manuallyStopped=!0,b(f(n.prototype),"stop",this).call(this),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),null===(e=this.processor)||void 0===e||e.destroy(),this.processor=void 0}},{key:"pauseUpstream",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.pauseUpstreamLock.lock();case 2:if(n=e.sent,e.prev=3,!0!==this._isUpstreamPaused){e.next=6;break}return e.abrupt("return");case 6:if(this.sender){e.next=9;break}return this.log.warn("unable to pause upstream for an unpublished track",this.logContext),e.abrupt("return");case 9:if(this._isUpstreamPaused=!0,this.emit(ea.UpstreamPaused,this),"Safari"!==(null==(r=la())?void 0:r.name)||Qa(r.version,"12.0")>=0){e.next=14;break}throw new na("pauseUpstream is not supported on Safari < 12.");case 14:if("closed"===(null===(t=this.sender.transport)||void 0===t?void 0:t.state)){e.next=17;break}return e.next=17,this.sender.replaceTrack(null);case 17:return e.prev=17,n(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[3,,17,20]])})))}},{key:"resumeUpstream",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.pauseUpstreamLock.lock();case 2:if(n=e.sent,e.prev=3,!1!==this._isUpstreamPaused){e.next=6;break}return e.abrupt("return");case 6:if(this.sender){e.next=9;break}return this.log.warn("unable to resume upstream for an unpublished track",this.logContext),e.abrupt("return");case 9:if(this._isUpstreamPaused=!1,this.emit(ea.UpstreamResumed,this),"closed"===(null===(t=this.sender.transport)||void 0===t?void 0:t.state)){e.next=14;break}return e.next=14,this.sender.replaceTrack(this.mediaStreamTrack);case 14:return e.prev=14,n(),e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[3,,14,17]])})))}},{key:"getRTCStatsReport",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(t=this.sender)||void 0===t?void 0:t.getStats){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.sender.getStats();case 4:return n=e.sent,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)})))}},{key:"setProcessor",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1];return i().mark((function r(){var a,o,s,c,u,d,l;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,t.processorLock.lock();case 2:return o=r.sent,r.prev=3,t.log.debug("setting up processor",t.logContext),s=document.createElement(t.kind),c={kind:t.kind,track:t._mediaStreamTrack,element:s,audioContext:t.audioContext},r.next=9,e.init(c);case 9:if(t.log.debug("processor initialized",t.logContext),!t.processor){r.next=13;break}return r.next=13,t.stopProcessor();case 13:if("unknown"!==t.kind){r.next=15;break}throw TypeError("cannot set processor on track of unknown kind");case 15:if(ba(t._mediaStreamTrack,s),s.muted=!0,s.play().catch((function(e){return t.log.error("failed to play processor element",Object.assign(Object.assign({},t.logContext),{error:e}))})),t.processor=e,t.processorElement=s,!t.processor.processedTrack){r.next=25;break}u=w(t.attachedElements);try{for(u.s();!(d=u.n()).done;)(l=d.value)!==t.processorElement&&n&&(ya(t._mediaStreamTrack,l),ba(t.processor.processedTrack,l))}catch(e){u.e(e)}finally{u.f()}return r.next=25,null===(a=t.sender)||void 0===a?void 0:a.replaceTrack(t.processor.processedTrack);case 25:t.emit(ea.TrackProcessorUpdate,t.processor);case 26:return r.prev=26,o(),r.finish(26);case 29:case"end":return r.stop()}}),r,null,[[3,,26,29]])}))()}))}},{key:"getProcessor",value:function(){return this.processor}},{key:"stopProcessor",value:function(){return Nr(this,arguments,void 0,(function(){var e=this,t=0>=arguments.length||void 0===arguments[0]||arguments[0];return i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.processor){n.next=2;break}return n.abrupt("return");case 2:return e.log.debug("stopping processor",e.logContext),null===(r=e.processor.processedTrack)||void 0===r||r.stop(),n.next=6,e.processor.destroy();case 6:return e.processor=void 0,t||(null===(a=e.processorElement)||void 0===a||a.remove(),e.processorElement=void 0),n.next=10,e._mediaStreamTrack.applyConstraints(e._constraints);case 10:return n.next=12,e.setMediaStreamTrack(e._mediaStreamTrack,!0);case 12:e.emit(ea.TrackProcessorUpdate);case 13:case"end":return n.stop()}}),n)}))()}))}},{key:"startPreConnectBuffer",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;Cs?this.localTrackRecorder?this.log.warn("preconnect buffer already started"):(this.localTrackRecorder=new Es(this,{mimeType:"audio/webm;codecs=opus"}),this.localTrackRecorder.start(t),this.autoStopPreConnectBuffer=setTimeout((function(){e.log.warn("preconnect buffer timed out, stopping recording automatically",e.logContext),e.stopPreConnectBuffer()}),1e4)):this.log.warn("MediaRecorder is not available, cannot start preconnect buffer",this.logContext)}},{key:"stopPreConnectBuffer",value:function(){clearTimeout(this.autoStopPreConnectBuffer),this.localTrackRecorder&&(this.localTrackRecorder.stop(),this.localTrackRecorder=void 0)}},{key:"getPreConnectBuffer",value:function(){var e;return null===(e=this.localTrackRecorder)||void 0===e?void 0:e.byteStream}}]),n}(),Ps=function(t){function n(t,r){var a;u(this,n);var o=2>=arguments.length||void 0===arguments[2]||arguments[2],s=arguments.length>3?arguments[3]:void 0,c=arguments.length>4?arguments[4]:void 0;return(a=e(this,n,[t,ka.Kind.Audio,r,o,c])).stopOnMute=!1,a.isKrispNoiseFilterEnabled=!1,a.monitorSender=function(){return Nr(k(a),void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.sender){e.next=3;break}return this._currentBitrate=0,e.abrupt("return");case 3:return e.prev=3,e.next=6,this.getSenderStats();case 6:t=e.sent,e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:e.t0})),e.abrupt("return");case 13:t&&this.prevStats&&(this._currentBitrate=Ts(t,this.prevStats)),this.prevStats=t;case 15:case"end":return e.stop()}}),e,this,[[3,9]])})))},a.handleKrispNoiseFilterEnable=function(){a.isKrispNoiseFilterEnabled=!0,a.log.debug("Krisp noise filter enabled",a.logContext),a.emit(ea.AudioTrackFeatureUpdate,k(a),At.TF_ENHANCED_NOISE_CANCELLATION,!0)},a.handleKrispNoiseFilterDisable=function(){a.isKrispNoiseFilterEnabled=!1,a.log.debug("Krisp noise filter disabled",a.logContext),a.emit(ea.AudioTrackFeatureUpdate,k(a),At.TF_ENHANCED_NOISE_CANCELLATION,!1)},a.audioContext=s,a.checkForSilence(),a}return p(n,xs),l(n,[{key:"enhancedNoiseCancellation",get:function(){return this.isKrispNoiseFilterEnabled}},{key:"mute",value:function(){var e=this,t=Object.create(null,{mute:{get:function(){return b(f(n.prototype),"mute",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.muteLock.lock();case 2:if(n=e.sent,e.prev=3,!this.isMuted){e.next=7;break}return this.log.debug("Track already muted",this.logContext),e.abrupt("return",this);case 7:return this.source===ka.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),e.next=10,t.mute.call(this);case 10:return e.abrupt("return",this);case 11:return e.prev=11,n(),e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[3,,11,14]])})))}},{key:"unmute",value:function(){var e=this,t=Object.create(null,{unmute:{get:function(){return b(f(n.prototype),"unmute",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.muteLock.lock();case 2:if(n=e.sent,e.prev=3,this.isMuted){e.next=7;break}return this.log.debug("Track already unmuted",this.logContext),e.abrupt("return",this);case 7:if(r=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==oo(this._constraints.deviceId),this.source!==ka.Source.Microphone||!this.stopOnMute&&"ended"!==this._mediaStreamTrack.readyState&&!r||this.isUserProvided){e.next=12;break}return this.log.debug("reacquiring mic track",this.logContext),e.next=12,this.restartTrack();case 12:return e.next=14,t.unmute.call(this);case 14:return e.abrupt("return",this);case 15:return e.prev=15,n(),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[3,,15,18]])})))}},{key:"restartTrack",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e&&"boolean"!=typeof(r=Co({audio:e})).audio&&(n=r.audio),t.next=3,this.restart(n);case 3:case"end":return t.stop()}}),t,this)})))}},{key:"restart",value:function(e){var t=this,r=Object.create(null,{restart:{get:function(){return b(f(n.prototype),"restart",t)}}});return Nr(this,void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r.restart.call(this,e);case 2:return n=t.sent,this.checkForSilence(),t.abrupt("return",n);case 5:case"end":return t.stop()}}),t,this)})))}},{key:"startMonitor",value:function(){var e=this;Va()&&(this.monitorInterval||(this.monitorInterval=setInterval((function(){e.monitorSender()}),Ss)))}},{key:"setProcessor",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.processorLock.lock();case 2:if(r=t.sent,t.prev=3,qa()||this.audioContext){t.next=6;break}throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");case 6:if(!this.processor){t.next=9;break}return t.next=9,this.stopProcessor();case 9:return a={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext},this.log.debug("setting up audio processor ".concat(e.name),this.logContext),t.next=13,e.init(a);case 13:if(this.processor=e,!this.processor.processedTrack){t.next=19;break}return t.next=17,null===(n=this.sender)||void 0===n?void 0:n.replaceTrack(this.processor.processedTrack);case 17:this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable);case 19:this.emit(ea.TrackProcessorUpdate,this.processor);case 20:return t.prev=20,r(),t.finish(20);case 23:case"end":return t.stop()}}),t,this,[[3,,20,23]])})))}},{key:"setAudioContext",value:function(e){this.audioContext=e}},{key:"getSenderStats",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(t=this.sender)||void 0===t?void 0:t.getStats){e.next=2;break}return e.abrupt("return",void 0);case 2:return e.next=4,this.sender.getStats();case 4:return e.sent.forEach((function(e){"outbound-rtp"===e.type&&(n={type:"audio",streamId:e.id,packetsSent:e.packetsSent,packetsLost:e.packetsLost,bytesSent:e.bytesSent,timestamp:e.timestamp,roundTripTime:e.roundTripTime,jitter:e.jitter})})),e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})))}},{key:"checkForSilence",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wo(this);case 2:return(t=e.sent)&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(ea.AudioSilenceDetected)),e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)})))}}]),n}();function Is(e,t,n){switch(e.kind){case"audio":return new Ps(e,t,!1,void 0,n);case"video":return new Vs(e,t,!1,n);default:throw new ra("unsupported track type: ".concat(e.kind))}}var Rs=Object.values(Pa),Os=Object.values(Ia),Ns=Object.values(Ra),Ds=[Pa.h180,Pa.h360],Ms=[Ia.h180,Ia.h360],As=function(e){return[{scaleResolutionDownBy:2,fps:e.encoding.maxFramerate}].map((function(t){var n,r;return new Ca(Math.floor(e.width/t.scaleResolutionDownBy),Math.floor(e.height/t.scaleResolutionDownBy),Math.max(15e4,Math.floor(e.encoding.maxBitrate/(Math.pow(t.scaleResolutionDownBy,2)*((null!==(n=e.encoding.maxFramerate)&&void 0!==n?n:30)/(null!==(r=t.fps)&&void 0!==r?r:30))))),t.fps,e.encoding.priority)}))},_s=["q","h","f"];function Ls(e,t,n,r){var i,a,o=null==r?void 0:r.videoEncoding;e&&(o=null==r?void 0:r.screenShareEncoding);var s=null==r?void 0:r.simulcast,c=null==r?void 0:r.scalabilityMode,u=null==r?void 0:r.videoCodec;if(!o&&!s&&!c||!t||!n)return[{}];o||(o=function(e,t,n,r){for(var i=function(e,t,n){if(e)return Ns;var r=t>n?t/n:n/t;if(Math.abs(r-16/9)<Math.abs(r-4/3))return Rs;return Os}(e,t,n),a=i[0].encoding,o=Math.max(t,n),s=0;s<i.length;s+=1){var c=i[s];if(a=c.encoding,c.width>=o)break}if(r)switch(r){case"av1":(a=Object.assign({},a)).maxBitrate=.7*a.maxBitrate;break;case"vp9":(a=Object.assign({},a)).maxBitrate=.85*a.maxBitrate;break}return a}(e,t,n,u),wr.debug("using video encoding",o));var d=o.maxFramerate,l=new Ca(t,n,o.maxBitrate,o.maxFramerate,o.priority);if(c&&La(u)){var h=new Hs(c),p=[];if(h.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(c));var f=la();if(Fa()||qa()||"Chrome"===(null==f?void 0:f.name)&&0>Qa(null==f?void 0:f.version,"113")){for(var v="h"==h.suffix?2:3,m=function(e){return e||(e=la()),"Safari"===(null==e?void 0:e.name)&&Qa(e.version,"18.3")>0}(f),g=0;g<h.spatial;g+=1)p.push({rid:_s[2-g],maxBitrate:o.maxBitrate/Math.pow(v,g),maxFramerate:l.encoding.maxFramerate,scaleResolutionDownBy:m?Math.pow(2,g):void 0});p[0].scalabilityMode=c}else p.push({maxBitrate:o.maxBitrate,maxFramerate:l.encoding.maxFramerate,scalabilityMode:c});return l.encoding.priority&&(p[0].priority=l.encoding.priority,p[0].networkPriority=l.encoding.priority),wr.debug("using svc encoding",{encodings:p}),p}if(!s)return[o];var k,b=[];if((b=e?null!==(i=Bs(null==r?void 0:r.screenShareSimulcastLayers))&&void 0!==i?i:js(e,l):null!==(a=Bs(null==r?void 0:r.videoSimulcastLayers))&&void 0!==a?a:js(e,l)).length>0){var S=b[0];if(b.length>1)k=y(b,2)[1];var T=Math.max(t,n);if(T>=960&&k)return Fs(t,n,[S,k,l],d);if(T>=480)return Fs(t,n,[S,l],d)}return Fs(t,n,[l])}function Us(e,t,n){var r,i,a,o;if(n.backupCodec&&!0!==n.backupCodec&&n.backupCodec.codec!==n.videoCodec){t!==n.backupCodec.codec&&wr.warn("requested a different codec than specified as backup",{serverRequested:t,backup:n.backupCodec.codec}),n.videoCodec=t,n.videoEncoding=n.backupCodec.encoding;var s=e.mediaStreamTrack.getSettings(),c=null!==(r=s.width)&&void 0!==r?r:null===(i=e.dimensions)||void 0===i?void 0:i.width,u=null!==(a=s.height)&&void 0!==a?a:null===(o=e.dimensions)||void 0===o?void 0:o.height;return e.source===ka.Source.ScreenShare&&n.simulcast&&(n.simulcast=!1),Ls(e.source===ka.Source.ScreenShare,c,u,n)}}function js(e,t){if(e)return As(t);var n=t.width,r=t.height,i=n>r?n/r:r/n;return Math.abs(i-16/9)<Math.abs(i-4/3)?Ds:Ms}function Fs(e,t,n,r){var i=[];if(n.forEach((function(n,a){if(a<_s.length){var o=Math.min(e,t),s={rid:_s[a],scaleResolutionDownBy:Math.max(1,o/Math.min(n.width,n.height)),maxBitrate:n.encoding.maxBitrate},c=r&&n.encoding.maxFramerate?Math.min(r,n.encoding.maxFramerate):n.encoding.maxFramerate;c&&(s.maxFramerate=c);var u=ja()||0===a;n.encoding.priority&&u&&(s.priority=n.encoding.priority,s.networkPriority=n.encoding.priority),i.push(s)}})),qa()&&"ios"===Ja()){var a=void 0;i.forEach((function(e){a?e.maxFramerate&&e.maxFramerate>a&&(a=e.maxFramerate):a=e.maxFramerate}));var o=!0;i.forEach((function(e){var t;e.maxFramerate!=a&&(o&&(o=!1,wr.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),wr.info('Setting framerate of encoding "'.concat(null!==(t=e.rid)&&void 0!==t?t:"",'" to ').concat(a)),e.maxFramerate=a)}))}return i}function Bs(e){if(e)return e.sort((function(e,t){var n=e.encoding,r=t.encoding;return n.maxBitrate>r.maxBitrate?1:n.maxBitrate<r.maxBitrate?-1:n.maxBitrate===r.maxBitrate&&n.maxFramerate&&r.maxFramerate?n.maxFramerate>r.maxFramerate?1:-1:0}))}var Hs=function(){function e(t){u(this,e);var n=t.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!n)throw new Error("invalid scalability mode");if(this.spatial=parseInt(n[1]),this.temporal=parseInt(n[2]),n.length>3)switch(n[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=n[3]}}return l(e,[{key:"toString",value:function(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat(null!==(e=this.suffix)&&void 0!==e?e:"")}}]),e}();function Ws(e){return e.source===ka.Source.ScreenShare||e.constraints.height&&oo(e.constraints.height)>=1080?"maintain-resolution":"balanced"}var Vs=function(t){function n(t,r){var a;u(this,n);var o=2>=arguments.length||void 0===arguments[2]||arguments[2],s=arguments.length>3?arguments[3]:void 0;return(a=e(this,n,[t,ka.Kind.Video,r,o,s])).simulcastCodecs=new Map,a.degradationPreference="balanced",a.monitorSender=function(){return Nr(k(a),void 0,void 0,i().mark((function e(){var t,n,r,a=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.sender){e.next=3;break}return this._currentBitrate=0,e.abrupt("return");case 3:return e.prev=3,e.next=6,this.getSenderStats();case 6:t=e.sent,e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:e.t0})),e.abrupt("return");case 13:n=new Map(t.map((function(e){return[e.rid,e]}))),this.prevStats&&(r=0,n.forEach((function(e,t){var n,i=null===(n=a.prevStats)||void 0===n?void 0:n.get(t);r+=Ts(e,i)})),this._currentBitrate=r),this.prevStats=n;case 16:case"end":return e.stop()}}),e,this,[[3,9]])})))},a.senderLock=new _,a}return p(n,xs),l(n,[{key:"sender",get:function(){return this._sender},set:function(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}},{key:"isSimulcast",get:function(){return!(!this.sender||1>=this.sender.getParameters().encodings.length)}},{key:"startMonitor",value:function(e){var t,n=this;if(this.signalClient=e,Va()){var r=null===(t=this.sender)||void 0===t?void 0:t.getParameters();r&&(this.encodings=r.encodings),this.monitorInterval||(this.monitorInterval=setInterval((function(){n.monitorSender()}),Ss))}}},{key:"stop",value:function(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach((function(e){e.mediaStreamTrack.stop()})),b(f(n.prototype),"stop",this).call(this)}},{key:"pauseUpstream",value:function(){var e=this,t=Object.create(null,{pauseUpstream:{get:function(){return b(f(n.prototype),"pauseUpstream",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n,r,a,o,s,c,u,d,l;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.pauseUpstream.call(this);case 2:e.prev=2,c=!0,u=Mr(this.simulcastCodecs.values());case 4:return e.next=6,u.next();case 6:if(d=e.sent,n=d.done){e.next=17;break}return o=d.value,c=!1,l=o,e.next=14,null===(s=l.sender)||void 0===s?void 0:s.replaceTrack(null);case 14:c=!0,e.next=4;break;case 17:e.next=22;break;case 19:e.prev=19,e.t0=e.catch(2),r={error:e.t0};case 22:if(e.prev=22,e.prev=23,c||n||!(a=u.return)){e.next=27;break}return e.next=27,a.call(u);case 27:if(e.prev=27,!r){e.next=30;break}throw r.error;case 30:return e.finish(27);case 31:return e.finish(22);case 32:case"end":return e.stop()}}),e,this,[[2,19,22,32],[23,,27,31]])})))}},{key:"resumeUpstream",value:function(){var e=this,t=Object.create(null,{resumeUpstream:{get:function(){return b(f(n.prototype),"resumeUpstream",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n,r,a,o,s,c,u,d,l;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.resumeUpstream.call(this);case 2:e.prev=2,c=!0,u=Mr(this.simulcastCodecs.values());case 4:return e.next=6,u.next();case 6:if(d=e.sent,n=d.done){e.next=17;break}return o=d.value,c=!1,l=o,e.next=14,null===(s=l.sender)||void 0===s?void 0:s.replaceTrack(l.mediaStreamTrack);case 14:c=!0,e.next=4;break;case 17:e.next=22;break;case 19:e.prev=19,e.t0=e.catch(2),r={error:e.t0};case 22:if(e.prev=22,e.prev=23,c||n||!(a=u.return)){e.next=27;break}return e.next=27,a.call(u);case 27:if(e.prev=27,!r){e.next=30;break}throw r.error;case 30:return e.finish(27);case 31:return e.finish(22);case 32:case"end":return e.stop()}}),e,this,[[2,19,22,32],[23,,27,31]])})))}},{key:"mute",value:function(){var e=this,t=Object.create(null,{mute:{get:function(){return b(f(n.prototype),"mute",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.muteLock.lock();case 2:if(n=e.sent,e.prev=3,!this.isMuted){e.next=7;break}return this.log.debug("Track already muted",this.logContext),e.abrupt("return",this);case 7:return this.source!==ka.Source.Camera||this.isUserProvided||(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),e.next=10,t.mute.call(this);case 10:return e.abrupt("return",this);case 11:return e.prev=11,n(),e.finish(11);case 14:case"end":return e.stop()}}),e,this,[[3,,11,14]])})))}},{key:"unmute",value:function(){var e=this,t=Object.create(null,{unmute:{get:function(){return b(f(n.prototype),"unmute",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.muteLock.lock();case 2:if(n=e.sent,e.prev=3,this.isMuted){e.next=7;break}return this.log.debug("Track already unmuted",this.logContext),e.abrupt("return",this);case 7:if(this.source!==ka.Source.Camera||this.isUserProvided){e.next=11;break}return this.log.debug("reacquiring camera track",this.logContext),e.next=11,this.restartTrack();case 11:return e.next=13,t.unmute.call(this);case 13:return e.abrupt("return",this);case 14:return e.prev=14,n(),e.finish(14);case 17:case"end":return e.stop()}}),e,this,[[3,,14,17]])})))}},{key:"setTrackMuted",value:function(e){b(f(n.prototype),"setTrackMuted",this).call(this,e);var t,r=w(this.simulcastCodecs.values());try{for(r.s();!(t=r.n()).done;){t.value.mediaStreamTrack.enabled=!e}}catch(e){r.e(e)}finally{r.f()}}},{key:"getSenderStats",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(t=this.sender)||void 0===t?void 0:t.getStats){e.next=2;break}return e.abrupt("return",[]);case 2:return n=[],e.next=5,this.sender.getStats();case 5:return(r=e.sent).forEach((function(e){var t;if("outbound-rtp"===e.type){var i={type:"video",streamId:e.id,frameHeight:e.frameHeight,frameWidth:e.frameWidth,framesPerSecond:e.framesPerSecond,framesSent:e.framesSent,firCount:e.firCount,pliCount:e.pliCount,nackCount:e.nackCount,packetsSent:e.packetsSent,bytesSent:e.bytesSent,qualityLimitationReason:e.qualityLimitationReason,qualityLimitationDurations:e.qualityLimitationDurations,qualityLimitationResolutionChanges:e.qualityLimitationResolutionChanges,rid:null!==(t=e.rid)&&void 0!==t?t:e.id,retransmittedPacketsSent:e.retransmittedPacketsSent,targetBitrate:e.targetBitrate,timestamp:e.timestamp},a=r.get(e.remoteId);a&&(i.jitter=a.jitter,i.packetsLost=a.packetsLost,i.roundTripTime=a.roundTripTime),n.push(i)}})),n.sort((function(e,t){var n,r;return(null!==(n=t.frameWidth)&&void 0!==n?n:0)-(null!==(r=e.frameWidth)&&void 0!==r?r:0)})),e.abrupt("return",n);case 9:case"end":return e.stop()}}),e,this)})))}},{key:"setPublishingQuality",value:function(e){for(var t=[],n=ma.LOW;n<=ma.HIGH;n+=1)t.push(new Xn({quality:n,enabled:e>=n}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(La(this.codec),t)}},{key:"restartTrack",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e&&"boolean"!=typeof(u=Co({video:e})).video&&(c=u.video),t.next=3,this.restart(c);case 3:t.prev=3,d=!0,l=Mr(this.simulcastCodecs.values());case 5:return t.next=7,l.next();case 7:if(h=t.sent,n=h.done){t.next=20;break}if(o=h.value,d=!1,!(p=o).sender||"closed"===(null===(s=p.sender.transport)||void 0===s?void 0:s.state)){t.next=17;break}return p.mediaStreamTrack=this.mediaStreamTrack.clone(),t.next=17,p.sender.replaceTrack(p.mediaStreamTrack);case 17:d=!0,t.next=5;break;case 20:t.next=25;break;case 22:t.prev=22,t.t0=t.catch(3),r={error:t.t0};case 25:if(t.prev=25,t.prev=26,d||n||!(a=l.return)){t.next=30;break}return t.next=30,a.call(l);case 30:if(t.prev=30,!r){t.next=33;break}throw r.error;case 33:return t.finish(30);case 34:return t.finish(25);case 35:case"end":return t.stop()}}),t,this,[[3,22,25,35],[26,,30,34]])})))}},{key:"setProcessor",value:function(e){var t=this,r=Object.create(null,{setProcessor:{get:function(){return b(f(n.prototype),"setProcessor",t)}}});return Nr(this,arguments,void 0,(function(e){var t=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1];return i().mark((function a(){var o,s,c,u,d,l,h,p,f,v;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,r.setProcessor.call(t,e,n);case 2:if(!(null===(d=t.processor)||void 0===d?void 0:d.processedTrack)){i.next=33;break}i.prev=3,h=!0,p=Mr(t.simulcastCodecs.values());case 5:return i.next=7,p.next();case 7:if(f=i.sent,o=f.done){i.next=18;break}return u=f.value,h=!1,v=u,i.next=15,null===(l=v.sender)||void 0===l?void 0:l.replaceTrack(t.processor.processedTrack);case 15:h=!0,i.next=5;break;case 18:i.next=23;break;case 20:i.prev=20,i.t0=i.catch(3),s={error:i.t0};case 23:if(i.prev=23,i.prev=24,h||o||!(c=p.return)){i.next=28;break}return i.next=28,c.call(p);case 28:if(i.prev=28,!s){i.next=31;break}throw s.error;case 31:return i.finish(28);case 32:return i.finish(23);case 33:case"end":return i.stop()}}),a,null,[[3,20,23,33],[24,,28,32]])}))()}))}},{key:"setDegradationPreference",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext),(n=this.sender.getParameters()).degradationPreference=e,this.sender.setParameters(n)}catch(e){this.log.warn("failed to set degradationPreference",Object.assign({error:e},this.logContext))}case 2:case"end":return t.stop()}}),t,this)})))}},{key:"addSimulcastTrack",value:function(e,t){if(!this.simulcastCodecs.has(e)){var n={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,n),n}this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext)}},{key:"setSimulcastTrackSender",value:function(e,t){var n=this,r=this.simulcastCodecs.get(e);r&&(r.sender=t,setTimeout((function(){n.subscribedCodecs&&n.setPublishingCodecs(n.subscribedCodecs)}),5e3))}},{key:"setPublishingCodecs",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p,f;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),this.codec||0>=e.length){t.next=5;break}return t.next=4,this.setPublishingLayers(La(e[0].codec),e[0].qualities);case 4:return t.abrupt("return",[]);case 5:this.subscribedCodecs=e,d=[],t.prev=7,n=!0,r=Mr(e);case 9:return t.next=11,r.next();case 11:if(a=t.sent,o=a.done){t.next=52;break}if(u=a.value,n=!1,l=u,this.codec&&this.codec!==l.codec){t.next=22;break}return t.next=20,this.setPublishingLayers(La(l.codec),l.qualities);case 20:t.next=49;break;case 22:if(h=this.simulcastCodecs.get(l.codec),this.log.debug("try setPublishingCodec for ".concat(l.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:h})),h&&h.sender){t.next=45;break}p=w(l.qualities),t.prev=26,p.s();case 28:if((f=p.n()).done){t.next=35;break}if(!f.value.enabled){t.next=33;break}return d.push(l.codec),t.abrupt("break",35);case 33:t.next=28;break;case 35:t.next=40;break;case 37:t.prev=37,t.t0=t.catch(26),p.e(t.t0);case 40:return t.prev=40,p.f(),t.finish(40);case 43:t.next=49;break;case 45:if(!h.encodings){t.next=49;break}return this.log.debug("try setPublishingLayersForSender ".concat(l.codec),this.logContext),t.next=49,qs(h.sender,h.encodings,l.qualities,this.senderLock,La(l.codec),this.log,this.logContext);case 49:n=!0,t.next=9;break;case 52:t.next=57;break;case 54:t.prev=54,t.t1=t.catch(7),s={error:t.t1};case 57:if(t.prev=57,t.prev=58,n||o||!(c=r.return)){t.next=62;break}return t.next=62,c.call(r);case 62:if(t.prev=62,!s){t.next=65;break}throw s.error;case 65:return t.finish(62);case 66:return t.finish(57);case 67:return t.abrupt("return",d);case 68:case"end":return t.stop()}}),t,this,[[7,54,57,67],[26,37,40,43],[58,,62,66]])})))}},{key:"setPublishingLayers",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:t})),this.sender&&this.encodings){n.next=3;break}return n.abrupt("return");case 3:return n.next=5,qs(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext);case 5:case"end":return n.stop()}}),n,this)})))}},{key:"handleAppVisibilityChanged",value:function(){var e=this,t=Object.create(null,{handleAppVisibilityChanged:{get:function(){return b(f(n.prototype),"handleAppVisibilityChanged",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.handleAppVisibilityChanged.call(this);case 2:if(Ha()){e.next=4;break}return e.abrupt("return");case 4:this.isInBackground&&this.source===ka.Source.Camera&&(this._mediaStreamTrack.enabled=!1);case 5:case"end":return e.stop()}}),e,this)})))}}]),n}();function qs(e,t,n,r,a,o,s){return Nr(this,void 0,void 0,i().mark((function c(){var u,d,l,h,p,f,v,m,g;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,r.lock();case 2:if(u=i.sent,o.debug("setPublishingLayersForSender",Object.assign(Object.assign({},s),{sender:e,qualities:n,senderEncodings:t})),i.prev=4,d=e.getParameters(),l=d.encodings){i.next=9;break}return i.abrupt("return");case 9:if(l.length===t.length){i.next=12;break}return o.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},s),{encodings:l,senderEncodings:t})),i.abrupt("return");case 12:if(h=!1,p=la(),"Chrome"===(null==p?void 0:p.name)&&Qa(null==p?void 0:p.version,"133")>0&&l[0].scalabilityMode?(f=l[0],v=new Hs(f.scalabilityMode),m=It.OFF,n.forEach((function(e){e.enabled&&(m===It.OFF||e.quality>m)&&(m=e.quality)})),m===It.OFF?f.active&&(f.active=!1,h=!0):f.active&&v.spatial===m+1||(h=!0,f.active=!0,g=new Hs(t[0].scalabilityMode),v.spatial=m+1,v.suffix=g.suffix,1===v.spatial&&(v.suffix=void 0),f.scalabilityMode=v.toString(),f.scaleResolutionDownBy=Math.pow(2,2-m),t[0].maxBitrate&&(f.maxBitrate=t[0].maxBitrate/(f.scaleResolutionDownBy*f.scaleResolutionDownBy)))):(a&&n.some((function(e){return e.enabled}))&&n.forEach((function(e){return e.enabled=!0})),l.forEach((function(e,r){var i,a=null!==(i=e.rid)&&void 0!==i?i:"";""===a&&(a="q");var c=Gs(a),u=n.find((function(e){return e.quality===c}));u&&e.active!==u.enabled&&(h=!0,e.active=u.enabled,o.debug("setting layer ".concat(u.quality," to ").concat(e.active?"enabled":"disabled"),s),ja()&&(u.enabled?(e.scaleResolutionDownBy=t[r].scaleResolutionDownBy,e.maxBitrate=t[r].maxBitrate,e.maxFrameRate=t[r].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}))),!h){i.next=21;break}return d.encodings=l,o.debug("setting encodings",Object.assign(Object.assign({},s),{encodings:d.encodings})),i.next=21,e.setParameters(d);case 21:return i.prev=21,u(),i.finish(21);case 24:case"end":return i.stop()}}),c,null,[[4,,21,24]])})))}function Gs(e){switch(e){case"f":return ma.HIGH;case"h":return ma.MEDIUM;case"q":return ma.LOW;default:return ma.HIGH}}function Ks(e,t,n,r){if(!n)return[new Gt({quality:ma.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(r){for(var i=n[0].scalabilityMode,a=new Hs(i),o=[],s="h"==a.suffix?1.5:2,c="h"==a.suffix?2:3,u=0;u<a.spatial;u+=1)o.push(new Gt({quality:Math.min(ma.HIGH,a.spatial-1)-u,width:Math.ceil(e/Math.pow(s,u)),height:Math.ceil(t/Math.pow(s,u)),bitrate:n[0].maxBitrate?Math.ceil(n[0].maxBitrate/Math.pow(c,u)):0,ssrc:0}));return o}return n.map((function(n){var r,i,a,o=null!==(r=n.scaleResolutionDownBy)&&void 0!==r?r:1,s=Gs(null!==(i=n.rid)&&void 0!==i?i:"");return new Gt({quality:s,width:Math.ceil(e/o),height:Math.ceil(t/o),bitrate:null!==(a=n.maxBitrate)&&void 0!==a?a:0,ssrc:0})}))}var Js,zs="_lossy",Qs="_reliable",Ys="leave-reconnect";!function(e){e[e.New=0]="New",e[e.Connected=1]="Connected",e[e.Disconnected=2]="Disconnected",e[e.Reconnecting=3]="Reconnecting",e[e.Closed=4]="Closed"}(Js||(Js={}));var Xs=function(t){function n(t){var r,a;return u(this,n),(r=e(this,n)).options=t,r.rtcConfig={},r.peerConnectionTimeout=ms.peerConnectionTimeout,r.fullReconnectOnNext=!1,r.subscriberPrimary=!1,r.pcState=Js.New,r._isClosed=!0,r.pendingTrackResolvers={},r.reconnectAttempts=0,r.reconnectStart=0,r.attemptingReconnect=!1,r.joinAttempts=0,r.maxJoinAttempts=1,r.shouldFailNext=!1,r.log=wr,r.handleDataChannel=function(e){return Nr(k(r),[e],void 0,(function(e){var t=this,n=e.channel;return i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:if(n.label!==Qs){e.next=6;break}t.reliableDCSub=n,e.next=11;break;case 6:if(n.label!==zs){e.next=10;break}t.lossyDCSub=n,e.next=11;break;case 10:return e.abrupt("return");case 11:t.log.debug("on data channel ".concat(n.id,", ").concat(n.label),t.logContext),n.onmessage=t.handleDataMessage;case 13:case"end":return e.stop()}}),e)}))()}))},r.handleDataMessage=function(e){return Nr(k(r),void 0,void 0,i().mark((function t(){var n,r,a,o,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.dataProcessLock.lock();case 2:if(a=t.sent,t.prev=3,!(e.data instanceof ArrayBuffer)){t.next=8;break}o=e.data,t.next=16;break;case 8:if(!(e.data instanceof Blob)){t.next=14;break}return t.next=11,e.data.arrayBuffer();case 11:o=t.sent,t.next=16;break;case 14:return this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:e.data})),t.abrupt("return");case 16:s=Kt.fromBinary(new Uint8Array(o)),"speaker"===(null===(n=s.value)||void 0===n?void 0:n.case)?this.emit($i.ActiveSpeakersUpdate,s.value.value.speakers):("user"===(null===(r=s.value)||void 0===r?void 0:r.case)&&$s(s,s.value.value),this.emit($i.DataPacketReceived,s));case 18:return t.prev=18,a(),t.finish(18);case 21:case"end":return t.stop()}}),t,this,[[3,,18,21]])})))},r.handleDataError=function(e){var t=0===e.currentTarget.maxRetransmits?"lossy":"reliable";if(e instanceof ErrorEvent&&e.error){var n=e.error.error;r.log.error("DataChannel error on ".concat(t,": ").concat(e.message),Object.assign(Object.assign({},r.logContext),{error:n}))}else r.log.error("Unknown DataChannel error on ".concat(t),Object.assign(Object.assign({},r.logContext),{event:e}))},r.handleBufferedAmountLow=function(e){var t=0===e.currentTarget.maxRetransmits?Jt.LOSSY:Jt.RELIABLE;r.updateAndEmitDCBufferStatus(t)},r.handleDisconnect=function(e,t){if(!r._isClosed){r.log.warn("".concat(e," disconnected"),r.logContext),0===r.reconnectAttempts&&(r.reconnectStart=Date.now());var n=Date.now()-r.reconnectStart,i=r.getNextRetryDelay({elapsedMs:n,retryCount:r.reconnectAttempts});null!==i?(e===Ys&&(i=0),r.log.debug("reconnecting in ".concat(i,"ms"),r.logContext),r.clearReconnectTimeout(),r.token&&r.regionUrlProvider&&r.regionUrlProvider.updateToken(r.token),r.reconnectTimeout=va.setTimeout((function(){return r.attemptReconnect(t).finally((function(){return r.reconnectTimeout=void 0}))}),i)):function(e){r.log.warn("could not recover connection after ".concat(r.reconnectAttempts," attempts, ").concat(e,"ms. giving up"),r.logContext),r.emit($i.Disconnected),r.close()}(n)}},r.waitForRestarted=function(){return new Promise((function(e,t){r.pcState===Js.Connected&&e();var n=function(){r.off($i.Disconnected,i),e()},i=function(){r.off($i.Restarted,n),t()};r.once($i.Restarted,n),r.once($i.Disconnected,i)}))},r.updateAndEmitDCBufferStatus=function(e){var t=r.isBufferStatusLow(e);void 0!==t&&t!==r.dcBufferStatus.get(e)&&(r.dcBufferStatus.set(e,t),r.emit($i.DCBufferStatusChanged,t,e))},r.isBufferStatusLow=function(e){var t=r.dataChannelForKind(e);if(t)return t.bufferedAmount<=t.bufferedAmountLowThreshold},r.handleBrowserOnLine=function(){r.client.currentState===jo.RECONNECTING&&(r.clearReconnectTimeout(),r.attemptReconnect(Dt.RR_SIGNAL_DISCONNECTED))},r.log=Er(null!==(a=t.loggerName)&&void 0!==a?a:Tr.Engine),r.loggerOptions={loggerName:t.loggerName,loggerContextCb:function(){return r.logContext}},r.client=new Ho(void 0,r.loggerOptions),r.client.signalLatency=r.options.expSignalLatency,r.reconnectPolicy=r.options.reconnectPolicy,r.registerOnLineListener(),r.closingLock=new _,r.dataProcessLock=new _,r.dcBufferStatus=new Map([[Jt.LOSSY,!0],[Jt.RELIABLE,!0]]),r.client.onParticipantUpdate=function(e){return r.emit($i.ParticipantUpdate,e)},r.client.onConnectionQuality=function(e){return r.emit($i.ConnectionQualityUpdate,e)},r.client.onRoomUpdate=function(e){return r.emit($i.RoomUpdate,e)},r.client.onSubscriptionError=function(e){return r.emit($i.SubscriptionError,e)},r.client.onSubscriptionPermissionUpdate=function(e){return r.emit($i.SubscriptionPermissionUpdate,e)},r.client.onSpeakersChanged=function(e){return r.emit($i.SpeakersChanged,e)},r.client.onStreamStateUpdate=function(e){return r.emit($i.StreamStateChanged,e)},r.client.onRequestResponse=function(e){return r.emit($i.SignalRequestResponse,e)},r}return p(n,Lr.EventEmitter),l(n,[{key:"isClosed",get:function(){return this._isClosed}},{key:"pendingReconnect",get:function(){return!!this.reconnectTimeout}},{key:"logContext",get:function(){var e,t,n,r,i,a;return{room:null===(t=null===(e=this.latestJoinResponse)||void 0===e?void 0:e.room)||void 0===t?void 0:t.name,roomID:null===(r=null===(n=this.latestJoinResponse)||void 0===n?void 0:n.room)||void 0===r?void 0:r.sid,participant:null===(a=null===(i=this.latestJoinResponse)||void 0===i?void 0:i.participant)||void 0===a?void 0:a.identity,pID:this.participantSid}}},{key:"join",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.url=e,this.token=t,this.signalOpts=n,this.maxJoinAttempts=n.maxRetries,i.prev=4,this.joinAttempts+=1,this.setupSignalClientCallbacks(),i.next=9,this.client.join(e,t,n,r);case 9:if(o=i.sent,this._isClosed=!1,this.latestJoinResponse=o,this.subscriberPrimary=o.subscriberPrimary,this.pcManager){i.next=16;break}return i.next=16,this.configure(o);case 16:return this.subscriberPrimary&&!o.fastPublish||this.negotiate(),this.clientConfiguration=o.clientConfiguration,this.emit($i.SignalConnected,o),i.abrupt("return",o);case 22:if(i.prev=22,i.t0=i.catch(4),!(i.t0 instanceof ta)){i.next=29;break}if(i.t0.reason!==Ji.ServerUnreachable){i.next=29;break}if(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts>=this.maxJoinAttempts){i.next=29;break}return i.abrupt("return",this.join(e,t,n,r));case 29:throw i.t0;case 30:case"end":return i.stop()}}),a,this,[[4,22]])})))}},{key:"close",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.closingLock.lock();case 2:if(t=e.sent,!this.isClosed){e.next=6;break}return t(),e.abrupt("return");case 6:return e.prev=6,this._isClosed=!0,this.joinAttempts=0,this.emit($i.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),e.next=15,this.cleanupPeerConnections();case 15:return e.next=17,this.cleanupClient();case 17:return e.prev=17,t(),e.finish(17);case 20:case"end":return e.stop()}}),e,this,[[6,,17,20]])})))}},{key:"cleanupPeerConnections",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(t=this.pcManager)||void 0===t?void 0:t.close();case 2:this.pcManager=void 0,(n=function(e){e&&(e.close(),e.onbufferedamountlow=null,e.onclose=null,e.onclosing=null,e.onerror=null,e.onmessage=null,e.onopen=null)})(this.lossyDC),n(this.lossyDCSub),n(this.reliableDC),n(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0;case 12:case"end":return e.stop()}}),e,this)})))}},{key:"cleanupClient",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.client.close();case 2:this.client.resetCallbacks();case 3:case"end":return e.stop()}}),e,this)})))}},{key:"addTrack",value:function(e){var t=this;if(this.pendingTrackResolvers[e.cid])throw new ra("a track with the same ID has already been published");return new Promise((function(n,r){var i=setTimeout((function(){delete t.pendingTrackResolvers[e.cid],r(new ta("publication of local track timed out, no response from server",Ji.Timeout))}),1e4);t.pendingTrackResolvers[e.cid]={resolve:function(e){clearTimeout(i),n(e)},reject:function(){clearTimeout(i),r(new Error("Cancelled publication by calling unpublish"))}},t.client.sendAddTrack(e)}))}},{key:"removeTrack",value:function(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){var t=this.pendingTrackResolvers[e.track.id].reject;t&&t(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(e){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:e}))}return!1}},{key:"updateMuteStatus",value:function(e,t){this.client.sendMuteTrack(e,t)}},{key:"dataSubscriberReadyState",get:function(){var e;return null===(e=this.reliableDCSub)||void 0===e?void 0:e.readyState}},{key:"getConnectedServerAddress",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null===(t=this.pcManager)||void 0===t?void 0:t.getConnectedAddress());case 1:case"end":return e.stop()}}),e,this)})))}},{key:"setRegionUrlProvider",value:function(e){this.regionUrlProvider=e}},{key:"configure",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.pcManager||this.pcManager.currentState===ds.NEW){t.next=2;break}return t.abrupt("return");case 2:this.participantSid=null===(n=e.participant)||void 0===n?void 0:n.sid,a=this.makeRTCConfiguration(e),this.pcManager=new gs(a,e.subscriberPrimary,this.loggerOptions),this.emit($i.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=function(e,t){o.client.sendIceCandidate(e,t)},this.pcManager.onPublisherOffer=function(e){o.client.sendOffer(e)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=function(t,n,r){return Nr(o,void 0,void 0,i().mark((function a(){var o,s,c;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:this.log.debug("primary PC state changed ".concat(t),this.logContext),["closed","disconnected","failed"].includes(n)&&(this.publisherConnectionPromise=void 0),t===ds.CONNECTED?(o=this.pcState===Js.New,this.pcState=Js.Connected,o&&this.emit($i.Connected,e)):t===ds.FAILED&&this.pcState===Js.Connected&&(this.pcState=Js.Disconnected,this.handleDisconnect("peerconnection failed","failed"===r?Dt.RR_SUBSCRIBER_FAILED:Dt.RR_PUBLISHER_FAILED)),s=this.client.isDisconnected||this.client.currentState===jo.RECONNECTING,c=[ds.FAILED,ds.CLOSING,ds.CLOSED].includes(t),s&&c&&!this._isClosed&&this.emit($i.Offline);case 6:case"end":return i.stop()}}),a,this)})))},this.pcManager.onTrack=function(e){o.emit($i.MediaTrackAdded,e.track,e.streams[0],e.receiver)},void 0!==(s=null===(r=e.serverInfo)||void 0===r?void 0:r.protocol)&&s>13||this.createDataChannels();case 12:case"end":return t.stop()}var s}),t,this)})))}},{key:"setupSignalClientCallbacks",value:function(){var e=this;this.client.onAnswer=function(t){return Nr(e,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pcManager){e.next=2;break}return e.abrupt("return");case 2:return this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:t.type})),e.next=5,this.pcManager.setPublisherAnswer(t);case 5:case"end":return e.stop()}}),e,this)})))},this.client.onTrickle=function(t,n){e.pcManager&&(e.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},e.logContext),{candidate:t,target:n})),e.pcManager.addIceCandidate(t,n))},this.client.onOffer=function(t){return Nr(e,void 0,void 0,i().mark((function e(){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.pcManager){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.pcManager.createSubscriberAnswerFromOffer(t);case 4:n=e.sent,this.client.sendAnswer(n);case 6:case"end":return e.stop()}}),e,this)})))},this.client.onLocalTrackPublished=function(t){var n;if(e.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},e.logContext),{cid:t.cid,track:null===(n=t.track)||void 0===n?void 0:n.sid})),e.pendingTrackResolvers[t.cid]){var r=e.pendingTrackResolvers[t.cid].resolve;delete e.pendingTrackResolvers[t.cid],r(t.track)}else e.log.error("missing track resolver for ".concat(t.cid),Object.assign(Object.assign({},e.logContext),{cid:t.cid}))},this.client.onLocalTrackUnpublished=function(t){e.emit($i.LocalTrackUnpublished,t)},this.client.onLocalTrackSubscribed=function(t){e.emit($i.LocalTrackSubscribed,t)},this.client.onTokenRefresh=function(t){e.token=t},this.client.onRemoteMuteChanged=function(t,n){e.emit($i.RemoteMute,t,n)},this.client.onSubscribedQualityUpdate=function(t){e.emit($i.SubscribedQualityUpdate,t)},this.client.onRoomMoved=function(t){var n;e.participantSid=null===(n=t.participant)||void 0===n?void 0:n.sid,e.latestJoinResponse&&(e.latestJoinResponse.room=t.room),e.emit($i.RoomMoved,t)},this.client.onClose=function(){e.handleDisconnect("signal",Dt.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=function(t){switch(e.log.debug("client leave request",Object.assign(Object.assign({},e.logContext),{reason:null==t?void 0:t.reason})),t.regions&&e.regionUrlProvider&&(e.log.debug("updating regions",e.logContext),e.regionUrlProvider.setServerReportedRegions(t.regions)),t.action){case Hn.DISCONNECT:e.emit($i.Disconnected,null==t?void 0:t.reason),e.close();break;case Hn.RECONNECT:e.fullReconnectOnNext=!0,e.handleDisconnect(Ys);break;case Hn.RESUME:e.handleDisconnect(Ys)}}}},{key:"makeRTCConfiguration",value:function(e){var t,n=Object.assign({},this.rtcConfig);if((null===(t=this.signalOpts)||void 0===t?void 0:t.e2eeEnabled)&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),n.encodedInsertableStreams=!0),e.iceServers&&!n.iceServers){var r=[];e.iceServers.forEach((function(e){var t={urls:e.urls};e.username&&(t.username=e.username),e.credential&&(t.credential=e.credential),r.push(t)})),n.iceServers=r}return e.clientConfiguration&&e.clientConfiguration.forceRelay===Ot.ENABLED&&(n.iceTransportPolicy="relay"),n.sdpSemantics="unified-plan",n.continualGatheringPolicy="gather_continually",n}},{key:"createDataChannels",value:function(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(zs,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(Qs,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}},{key:"createSender",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!Da()){r.next=5;break}return r.next=3,this.createTransceiverRTCRtpSender(e,t,n);case 3:return a=r.sent,r.abrupt("return",a);case 5:if(!Ma()){r.next=11;break}return this.log.warn("using add-track fallback",this.logContext),r.next=9,this.createRTCRtpSender(e.mediaStreamTrack);case 9:return o=r.sent,r.abrupt("return",o);case 11:throw new aa("Required webRTC APIs not supported on this device");case 12:case"end":return r.stop()}}),r,this)})))}},{key:"createSimulcastSender",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(!Da()){i.next=2;break}return i.abrupt("return",this.createSimulcastTransceiverSender(e,t,n,r));case 2:if(!Ma()){i.next=5;break}return this.log.debug("using add-track fallback",this.logContext),i.abrupt("return",this.createRTCRtpSender(e.mediaStreamTrack));case 5:throw new aa("Cannot stream on this device");case 6:case"end":return i.stop()}}),a,this)})))}},{key:"createTransceiverRTCRtpSender",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(this.pcManager){r.next=2;break}throw new aa("publisher is closed");case 2:return a=[],e.mediaStream&&a.push(e.mediaStream),fo(e)&&(e.codec=t.videoCodec),o={direction:"sendonly",streams:a},n&&(o.sendEncodings=n),r.next=9,this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,o);case 9:return s=r.sent,r.abrupt("return",s.sender);case 11:case"end":return r.stop()}}),r,this)})))}},{key:"createSimulcastTransceiverSender",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o,s;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(this.pcManager){i.next=2;break}throw new aa("publisher is closed");case 2:return o={direction:"sendonly"},r&&(o.sendEncodings=r),i.next=6,this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,o);case 6:if(s=i.sent,n.videoCodec){i.next=9;break}return i.abrupt("return");case 9:return e.setSimulcastTrackSender(n.videoCodec,s.sender),i.abrupt("return",s.sender);case 11:case"end":return i.stop()}}),a,this)})))}},{key:"createRTCRtpSender",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.pcManager){t.next=2;break}throw new aa("publisher is closed");case 2:return t.abrupt("return",this.pcManager.addPublisherTrack(e));case 3:case"end":return t.stop()}}),t,this)})))}},{key:"attemptReconnect",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._isClosed){t.next=2;break}return t.abrupt("return");case 2:if(!this.attemptingReconnect){t.next=5;break}return wr.warn("already attempting reconnect, returning early",this.logContext),t.abrupt("return");case 5:if((null===(n=this.clientConfiguration)||void 0===n?void 0:n.resumeConnection)!==Ot.DISABLED&&(null!==(a=null===(r=this.pcManager)||void 0===r?void 0:r.currentState)&&void 0!==a?a:ds.NEW)!==ds.NEW||(this.fullReconnectOnNext=!0),t.prev=6,this.attemptingReconnect=!0,!this.fullReconnectOnNext){t.next=13;break}return t.next=11,this.restartConnection();case 11:t.next=15;break;case 13:return t.next=15,this.resumeConnection(e);case 15:this.clearPendingReconnect(),this.fullReconnectOnNext=!1,t.next=32;break;case 19:if(t.prev=19,t.t0=t.catch(6),this.reconnectAttempts+=1,o=!0,t.t0 instanceof aa?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:t.t0})),o=!1):t.t0 instanceof Zs||(this.fullReconnectOnNext=!0),!o){t.next=28;break}this.handleDisconnect("reconnect",Dt.RR_UNKNOWN),t.next=32;break;case 28:return this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit($i.Disconnected),t.next=32,this.close();case 32:return t.prev=32,this.attemptingReconnect=!1,t.finish(32);case 35:case"end":return t.stop()}}),t,this,[[6,19,32,35]])})))}},{key:"getNextRetryDelay",value:function(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(e){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:e}))}return null}},{key:"restartConnection",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,this.url&&this.token){t.next=3;break}throw new aa("could not reconnect, url or token not saved");case 3:if(this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit($i.Restarting),this.client.isDisconnected){t.next=8;break}return t.next=8,this.client.sendLeave();case 8:return t.next=10,this.cleanupPeerConnections();case 10:return t.next=12,this.cleanupClient();case 12:if(t.prev=12,this.signalOpts){t.next=16;break}throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Zs;case 16:return t.next=18,this.join(null!=e?e:this.url,this.token,this.signalOpts);case 18:o=t.sent,t.next=26;break;case 21:if(t.prev=21,t.t0=t.catch(12),!(t.t0 instanceof ta&&t.t0.reason===Ji.NotAllowed)){t.next=25;break}throw new aa("could not reconnect, token might be expired");case 25:throw new Zs;case 26:if(!this.shouldFailNext){t.next=29;break}throw this.shouldFailNext=!1,new Error("simulated failure");case 29:return this.client.setReconnected(),this.emit($i.SignalRestarted,o),t.next=33,this.waitForPCReconnected();case 33:if(this.client.currentState===jo.CONNECTED){t.next=35;break}throw new Zs("Signal connection got severed during reconnect");case 35:null===(n=this.regionUrlProvider)||void 0===n||n.resetAttempts(),this.emit($i.Restarted),t.next=52;break;case 39:return t.prev=39,t.t1=t.catch(0),t.next=43,null===(r=this.regionUrlProvider)||void 0===r?void 0:r.getNextBestRegionUrl();case 43:if(!(s=t.sent)){t.next=50;break}return t.next=47,this.restartConnection(s);case 47:return t.abrupt("return");case 50:throw null===(a=this.regionUrlProvider)||void 0===a||a.resetAttempts(),t.t1;case 52:case"end":return t.stop()}}),t,this,[[0,39],[12,21]])})))}},{key:"resumeConnection",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.url&&this.token){t.next=2;break}throw new aa("could not reconnect, url or token not saved");case 2:if(this.pcManager){t.next=4;break}throw new aa("publisher and subscriber connections unset");case 4:return this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit($i.Resuming),t.prev=6,this.setupSignalClientCallbacks(),t.next=10,this.client.reconnect(this.url,this.token,this.participantSid,e);case 10:r=t.sent,t.next=22;break;case 13:if(t.prev=13,t.t0=t.catch(6),a="",t.t0 instanceof Error&&(a=t.t0.message,this.log.error(t.t0.message,Object.assign(Object.assign({},this.logContext),{error:t.t0}))),!(t.t0 instanceof ta&&t.t0.reason===Ji.NotAllowed)){t.next=19;break}throw new aa("could not reconnect, token might be expired");case 19:if(!(t.t0 instanceof ta&&t.t0.reason===Ji.LeaveRequest)){t.next=21;break}throw t.t0;case 21:throw new Zs(a);case 22:if(this.emit($i.SignalResumed),r?(o=this.makeRTCConfiguration(r),this.pcManager.updateConfiguration(o)):this.log.warn("Did not receive reconnect response",this.logContext),!this.shouldFailNext){t.next=27;break}throw this.shouldFailNext=!1,new Error("simulated failure");case 27:return t.next=29,this.pcManager.triggerIceRestart();case 29:return t.next=31,this.waitForPCReconnected();case 31:if(this.client.currentState===jo.CONNECTED){t.next=33;break}throw new Zs("Signal connection got severed during reconnect");case 33:this.client.setReconnected(),"open"===(null===(n=this.reliableDC)||void 0===n?void 0:n.readyState)&&null===this.reliableDC.id&&this.createDataChannels(),this.emit($i.Resumed);case 36:case"end":return t.stop()}}),t,this,[[6,13]])})))}},{key:"waitForPCInitialConnection",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.pcManager){n.next=2;break}throw new aa("PC manager is closed");case 2:return n.next=4,this.pcManager.ensurePCTransportConnection(t,e);case 4:case"end":return n.stop()}}),n,this)})))}},{key:"waitForPCReconnected",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.pcState=Js.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext),e.prev=2,e.next=5,Na(2e3);case 5:if(this.pcManager){e.next=7;break}throw new aa("PC manager is closed");case 7:return e.next=9,this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout);case 9:this.pcState=Js.Connected,e.next=16;break;case 12:throw e.prev=12,e.t0=e.catch(2),this.pcState=Js.Disconnected,new ta("could not establish PC connection, ".concat(e.t0.message),Ji.InternalError);case 16:case"end":return e.stop()}}),e,this,[[2,12]])})))}},{key:"publishRpcResponse",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return o=new Kt({destinationIdentities:[e],kind:Jt.RELIABLE,value:{case:"rpcResponse",value:new rn({requestId:t,value:r?{case:"error",value:r.toProto()}:{case:"payload",value:null!=n?n:""}})}}),i.next=3,this.sendDataPacket(o,Jt.RELIABLE);case 3:case"end":return i.stop()}}),a,this)})))}},{key:"publishRpcAck",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=new Kt({destinationIdentities:[e],kind:Jt.RELIABLE,value:{case:"rpcAck",value:new nn({requestId:t})}}),n.next=3,this.sendDataPacket(r,Jt.RELIABLE);case 3:case"end":return n.stop()}}),n,this)})))}},{key:"sendDataPacket",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=e.toBinary(),n.next=3,this.ensurePublisherConnected(t);case 3:(a=this.dataChannelForKind(t))&&a.send(r),this.updateAndEmitDCBufferStatus(t);case 6:case"end":return n.stop()}}),n,this)})))}},{key:"waitForBufferStatusLow",value:function(e){var t=this;return new Promise((function(n,r){return Nr(t,void 0,void 0,i().mark((function t(){var a;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.isBufferStatusLow(e)){t.next=4;break}n(),t.next=13;break;case 4:a=function(){return r("Engine closed")},this.once($i.Closing,a);case 6:if(this.dcBufferStatus.get(e)){t.next=11;break}return t.next=9,Na(10);case 9:t.next=6;break;case 11:this.off($i.Closing,a),n();case 13:case"end":return t.stop()}}),t,this)})))}))}},{key:"ensureDataTransportConnected",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscriberPrimary;return i().mark((function r(){var a,o,s,c,u,d;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t.pcManager){r.next=2;break}throw new aa("PC manager is closed");case 2:if(o=n?t.pcManager.subscriber:t.pcManager.publisher,s=n?"Subscriber":"Publisher",o){r.next=6;break}throw new ta("".concat(s," connection not set"),Ji.InternalError);case 6:if(c=!1,n||t.dataChannelForKind(e,n)||(t.createDataChannels(),c=!0),c||n||t.pcManager.publisher.isICEConnected||"checking"===t.pcManager.publisher.getICEConnectionState()||(c=!0),c&&t.negotiate(),"open"!==(null==(u=t.dataChannelForKind(e,n))?void 0:u.readyState)){r.next=13;break}return r.abrupt("return");case 13:d=(new Date).getTime()+t.peerConnectionTimeout;case 14:if((new Date).getTime()>=d){r.next=21;break}if(!o.isICEConnected||"open"!==(null===(a=t.dataChannelForKind(e,n))||void 0===a?void 0:a.readyState)){r.next=17;break}return r.abrupt("return");case 17:return r.next=19,Na(50);case 19:r.next=14;break;case 21:throw new ta("could not establish ".concat(s," connection, state: ").concat(o.getICEConnectionState()),Ji.InternalError);case 22:case"end":return r.stop()}}),r)}))()}))}},{key:"ensurePublisherConnected",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),t.next=3,this.publisherConnectionPromise;case 3:case"end":return t.stop()}}),t,this)})))}},{key:"verifyTransport",value:function(){return!!this.pcManager&&(this.pcManager.currentState===ds.CONNECTED&&!(!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED))}},{key:"negotiate",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){return Nr(t,void 0,void 0,i().mark((function t(){var r,a,o=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.pcManager){t.next=3;break}return n(new oa("PC manager is closed")),t.abrupt("return");case 3:return this.pcManager.requirePublisher(),0!=this.pcManager.publisher.getTransceivers().length||this.lossyDC||this.reliableDC||this.createDataChannels(),r=new AbortController,a=function(){r.abort(),o.log.debug("engine disconnected while negotiation was ongoing",o.logContext),e()},this.isClosed&&n("cannot negotiate on closed engine"),this.on($i.Closing,a),this.pcManager.publisher.once(as,(function(e){var t=new Map;e.forEach((function(e){var n,r=e.codec.toLowerCase();n=r,Ea.includes(n)&&t.set(e.payload,r)})),o.emit($i.RTPVideoMapUpdate,t)})),t.prev=10,t.next=13,this.pcManager.negotiate(r);case 13:e(),t.next=21;break;case 16:t.prev=16,t.t0=t.catch(10),t.t0 instanceof oa&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",Dt.RR_UNKNOWN),n(t.t0);case 21:return t.prev=21,this.off($i.Closing,a),t.finish(21);case 24:case"end":return t.stop()}}),t,this,[[10,16,21,24]])})))})));case 1:case"end":return e.stop()}}),e)})))}},{key:"dataChannelForKind",value:function(e,t){if(t){if(e===Jt.LOSSY)return this.lossyDCSub;if(e===Jt.RELIABLE)return this.reliableDCSub}else{if(e===Jt.LOSSY)return this.lossyDC;if(e===Jt.RELIABLE)return this.reliableDC}}},{key:"sendSyncState",value:function(e,t){var n,r;if(this.pcManager){var i,a,o=this.pcManager.subscriber.getLocalDescription(),s=this.pcManager.subscriber.getRemoteDescription(),c=null===(r=null===(n=this.signalOpts)||void 0===n?void 0:n.autoSubscribe)||void 0===r||r,u=new Array,d=new Array;e.forEach((function(e){e.isDesired!==c&&u.push(e.trackSid),e.isEnabled||d.push(e.trackSid)})),this.client.sendSyncState(new ir({answer:o?Vo({sdp:o.sdp,type:o.type}):void 0,offer:s?Vo({sdp:s.sdp,type:s.type}):void 0,subscription:new Ln({trackSids:u,subscribe:!c,participantTracks:[]}),publishTracks:(i=t,a=[],i.forEach((function(e){void 0!==e.track&&a.push(new Dn({cid:e.track.mediaStreamID,track:e.trackInfo}))})),a),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:d}))}else this.log.warn("sync state cannot be sent without peer connection setup",this.logContext)}},{key:"failNext",value:function(){this.shouldFailNext=!0}},{key:"dataChannelsInfo",value:function(){var e=[],t=function(t,n){void 0!==(null==t?void 0:t.id)&&null!==t.id&&e.push(new ar({label:t.label,id:t.id,target:n}))};return t(this.dataChannelForKind(Jt.LOSSY),Sn.PUBLISHER),t(this.dataChannelForKind(Jt.RELIABLE),Sn.PUBLISHER),t(this.dataChannelForKind(Jt.LOSSY,!0),Sn.SUBSCRIBER),t(this.dataChannelForKind(Jt.RELIABLE,!0),Sn.SUBSCRIBER),e}},{key:"clearReconnectTimeout",value:function(){this.reconnectTimeout&&va.clearTimeout(this.reconnectTimeout)}},{key:"clearPendingReconnect",value:function(){this.clearReconnectTimeout(),this.reconnectAttempts=0}},{key:"registerOnLineListener",value:function(){Va()&&window.addEventListener("online",this.handleBrowserOnLine)}},{key:"deregisterOnLineListener",value:function(){Va()&&window.removeEventListener("online",this.handleBrowserOnLine)}}]),n}(),Zs=function(t){function n(){return u(this,n),e(this,n,arguments)}return p(n,m(Error)),l(n)}();function $s(e,t){var n=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=n,t.participantIdentity=n;var r=0!==e.destinationIdentities.length?e.destinationIdentities:t.destinationIdentities;e.destinationIdentities=r,t.destinationIdentities=r}var ec=function(){function e(t,n){u(this,e),this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(t),this.token=n}return l(e,[{key:"updateToken",value:function(e){this.token=e}},{key:"isCloud",value:function(){return Ga(this.serverUrl)}},{key:"getServerUrl",value:function(){return this.serverUrl}},{key:"getNextBestRegionUrl",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.isCloud()){t.next=2;break}throw Error("region availability is only supported for LiveKit Cloud domains");case 2:if(this.regionSettings&&Date.now()-this.lastUpdateAt<=this.settingsCacheTime){t.next=6;break}return t.next=5,this.fetchRegionSettings(e);case 5:this.regionSettings=t.sent;case 6:if((n=this.regionSettings.regions.filter((function(e){return!a.attemptedRegions.find((function(t){return t.url===e.url}))}))).length<=0){t.next=14;break}return r=n[0],this.attemptedRegions.push(r),wr.debug("next region: ".concat(r.region)),t.abrupt("return",r.url);case 14:return t.abrupt("return",null);case 15:case"end":return t.stop()}}),t,this)})))}},{key:"resetAttempts",value:function(){this.attemptedRegions=[]}},{key:"fetchRegionSettings",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("".concat((i=this.serverUrl,"".concat(i.protocol.replace("ws","http"),"//").concat(i.host,"/settings")),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});case 2:if(!(n=t.sent).ok){t.next=11;break}return t.next=6,n.json();case 6:return r=t.sent,this.lastUpdateAt=Date.now(),t.abrupt("return",r);case 11:throw new ta("Could not fetch region settings: ".concat(n.statusText),401===n.status?Ji.NotAllowed:Ji.InternalError,n.status);case 12:case"end":return t.stop()}var i}),t,this)})))}},{key:"setServerReportedRegions",value:function(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}]),e}();var tc=function(){function e(t,n,r){u(this,e),this.reader=n,this.totalByteSize=r,this._info=t,this.bytesReceived=0}return l(e,[{key:"info",get:function(){return this._info}}]),e}(),nc=function(t,n){function r(){return u(this,r),e(this,r,arguments)}return p(r,t),l(r,[{key:"handleChunkReceived",value:function(e){var t;this.bytesReceived+=e.content.byteLength;var n=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,n)}},{key:n,value:function(){var e=this,t=this.reader.getReader();return{next:function(){return Nr(e,void 0,void 0,i().mark((function e(){var n,r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.read();case 3:if(n=e.sent,r=n.done,a=n.value,!r){e.next=10;break}return e.abrupt("return",{done:!0,value:void 0});case 10:return this.handleChunkReceived(a),e.abrupt("return",{done:!1,value:a.content});case 12:e.next=17;break;case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",{done:!0,value:void 0});case 17:case"end":return e.stop()}}),e,this,[[0,14]])})))},return:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.releaseLock(),e.abrupt("return",{done:!0,value:void 0});case 2:case"end":return e.stop()}}),e)})))}}}},{key:"readAll",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a,o,s,c,u,d;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=new Set,e.prev=1,s=!0,c=Mr(this);case 3:return e.next=5,c.next();case 5:if(u=e.sent,t=u.done){e.next=15;break}a=u.value,s=!1,d=a,o.add(d);case 12:s=!0,e.next=3;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(1),n={error:e.t0};case 20:if(e.prev=20,e.prev=21,s||t||!(r=c.return)){e.next=25;break}return e.next=25,r.call(c);case 25:if(e.prev=25,!n){e.next=28;break}throw n.error;case 28:return e.finish(25);case 29:return e.finish(20);case 30:return e.abrupt("return",Array.from(o));case 31:case"end":return e.stop()}}),e,this,[[1,17,20,30],[21,,25,29]])})))}}]),r}(tc,Symbol.asyncIterator),rc=function(t,n){function r(t,n,i){var a;return u(this,r),(a=e(this,r,[t,n,i])).receivedChunks=new Map,a}return p(r,t),l(r,[{key:"handleChunkReceived",value:function(e){var t,n=uo(e.chunkIndex),r=this.receivedChunks.get(n);if(!r||r.version<=e.version){this.receivedChunks.set(n,e),this.bytesReceived+=e.content.byteLength;var i=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,i)}}},{key:n,value:function(){var e=this,t=this.reader.getReader(),n=new TextDecoder;return{next:function(){return Nr(e,void 0,void 0,i().mark((function e(){var r,a,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t.read();case 3:if(r=e.sent,a=r.done,o=r.value,!a){e.next=10;break}return e.abrupt("return",{done:!0,value:void 0});case 10:return this.handleChunkReceived(o),e.abrupt("return",{done:!1,value:n.decode(o.content)});case 12:e.next=17;break;case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",{done:!0,value:void 0});case 17:case"end":return e.stop()}}),e,this,[[0,14]])})))},return:function(){return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.releaseLock(),e.abrupt("return",{done:!0,value:void 0});case 2:case"end":return e.stop()}}),e)})))}}}},{key:"readAll",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a,o,s,c,u;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o="",e.prev=1,s=!0,c=Mr(this);case 3:return e.next=5,c.next();case 5:if(u=e.sent,t=u.done){e.next=15;break}a=u.value,s=!1,o+=a;case 12:s=!0,e.next=3;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(1),n={error:e.t0};case 20:if(e.prev=20,e.prev=21,s||t||!(r=c.return)){e.next=25;break}return e.next=25,r.call(c);case 25:if(e.prev=25,!n){e.next=28;break}throw n.error;case 28:return e.finish(25);case 29:return e.finish(20);case 30:return e.abrupt("return",o);case 31:case"end":return e.stop()}}),e,this,[[1,17,20,30],[21,,25,29]])})))}}]),r}(tc,Symbol.asyncIterator),ic=function(){function e(t,n,r){u(this,e),this.writableStream=t,this.defaultWriter=t.getWriter(),this.onClose=r,this.info=n}return l(e,[{key:"write",value:function(e){return this.defaultWriter.write(e)}},{key:"close",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.defaultWriter.close();case 2:this.defaultWriter.releaseLock(),null===(t=this.onClose)||void 0===t||t.call(this);case 4:case"end":return e.stop()}}),e,this)})))}}]),e}(),ac=function(t){function n(){return u(this,n),e(this,n,arguments)}return p(n,ic),l(n)}(),oc=function(t){function n(){return u(this,n),e(this,n,arguments)}return p(n,ic),l(n)}(),sc=function(t){function n(t,r,i,a,o){var s;return u(this,n),(s=e(this,n,[t,i,o])).sid=r,s.receiver=a,s}return p(n,ka),l(n,[{key:"isLocal",get:function(){return!1}},{key:"setMuted",value:function(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?ea.Muted:ea.Unmuted,this))}},{key:"setMediaStream",value:function(e){var t=this;this.mediaStream=e;e.addEventListener("removetrack",(function n(r){r.track===t._mediaStreamTrack&&(e.removeEventListener("removetrack",n),t.receiver&&"playoutDelayHint"in t.receiver&&(t.receiver.playoutDelayHint=void 0),t.receiver=void 0,t._currentBitrate=0,t.emit(ea.Ended,t))}))}},{key:"start",value:function(){this.startMonitor(),b(f(n.prototype),"enable",this).call(this)}},{key:"stop",value:function(){this.stopMonitor(),b(f(n.prototype),"disable",this).call(this)}},{key:"getRTCStatsReport",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null===(t=this.receiver)||void 0===t?void 0:t.getStats){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.receiver.getStats();case 4:return n=e.sent,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)})))}},{key:"setPlayoutDelay",value:function(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}},{key:"getPlayoutDelay",value:function(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}},{key:"startMonitor",value:function(){var e=this;this.monitorInterval||(this.monitorInterval=setInterval((function(){return e.monitorReceiver()}),Ss)),"undefined"!=typeof RTCRtpReceiver&&"getSynchronizationSources"in RTCRtpReceiver&&this.registerTimeSyncUpdate()}},{key:"registerTimeSyncUpdate",value:function(){var e=this;!function t(){var n;e.timeSyncHandle=requestAnimationFrame((function(){return t()}));var r=null===(n=e.receiver)||void 0===n?void 0:n.getSynchronizationSources()[0];if(r){var i=r.timestamp,a=r.rtpTimestamp;a&&e.rtpTimestamp!==a&&(e.emit(ea.TimeSyncUpdate,{timestamp:i,rtpTimestamp:a}),e.rtpTimestamp=a)}}()}}]),n}(),cc=function(t){function n(t,r,a,o,s,c){var d;return u(this,n),(d=e(this,n,[t,r,ka.Kind.Audio,a,c])).monitorReceiver=function(){return Nr(k(d),void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.receiver){e.next=3;break}return this._currentBitrate=0,e.abrupt("return");case 3:return e.next=5,this.getReceiverStats();case 5:(t=e.sent)&&this.prevStats&&this.receiver&&(this._currentBitrate=Ts(t,this.prevStats)),this.prevStats=t;case 8:case"end":return e.stop()}}),e,this)})))},d.audioContext=o,d.webAudioPluginNodes=[],s&&(d.sinkId=s.deviceId),d}return p(n,sc),l(n,[{key:"setVolume",value:function(e){var t,n,r=w(this.attachedElements);try{for(r.s();!(n=r.n()).done;){var i=n.value;this.audioContext?null===(t=this.gainNode)||void 0===t||t.gain.setTargetAtTime(e,0,.1):i.volume=e}}catch(e){r.e(e)}finally{r.f()}qa()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}},{key:"getVolume",value:function(){if(this.elementVolume)return this.elementVolume;if(qa())return 1;var e=0;return this.attachedElements.forEach((function(t){t.volume>e&&(e=t.volume)})),e}},{key:"setSinkId",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.sinkId=e,t.next=3,Promise.all(this.attachedElements.map((function(t){if(Ua(t))return t.setSinkId(e)})));case 3:case"end":return t.stop()}}),t,this)})))}},{key:"attach",value:function(e){var t=this,r=0===this.attachedElements.length;return e?b(f(n.prototype),"attach",this).call(this,e):e=b(f(n.prototype),"attach",this).call(this),this.sinkId&&Ua(e)&&e.setSinkId(this.sinkId).catch((function(e){t.log.error("Failed to set sink id on remote audio track",e,t.logContext)})),this.audioContext&&r&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}},{key:"detach",value:function(e){var t;return e?(t=b(f(n.prototype),"detach",this).call(this,e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(t=b(f(n.prototype),"detach",this).call(this),this.disconnectWebAudio()),t}},{key:"setAudioContext",value:function(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}},{key:"setWebAudioPlugins",value:function(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}},{key:"connectWebAudio",value:function(e,t){var n=this;this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(t.srcObject);var r=this.sourceNode;this.webAudioPluginNodes.forEach((function(e){r.connect(e),r=e})),this.gainNode=e.createGain(),r.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),"running"!==e.state&&e.resume().then((function(){"running"!==e.state&&n.emit(ea.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))})).catch((function(e){n.emit(ea.AudioPlaybackFailed,e)}))}},{key:"disconnectWebAudio",value:function(){var e,t;null===(e=this.gainNode)||void 0===e||e.disconnect(),null===(t=this.sourceNode)||void 0===t||t.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}},{key:"getReceiverStats",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.receiver&&this.receiver.getStats){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.receiver.getStats();case 4:return e.sent.forEach((function(e){"inbound-rtp"===e.type&&(t={type:"audio",streamId:e.id,timestamp:e.timestamp,jitter:e.jitter,bytesReceived:e.bytesReceived,concealedSamples:e.concealedSamples,concealmentEvents:e.concealmentEvents,silentConcealedSamples:e.silentConcealedSamples,silentConcealmentEvents:e.silentConcealmentEvents,totalAudioEnergy:e.totalAudioEnergy,totalSamplesDuration:e.totalSamplesDuration})})),e.abrupt("return",t);case 7:case"end":return e.stop()}}),e,this)})))}}]),n}(),uc=function(t){function n(t,r,a,o,s){var c;return u(this,n),(c=e(this,n,[t,r,ka.Kind.Video,a,s])).elementInfos=[],c.monitorReceiver=function(){return Nr(k(c),void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.receiver){e.next=3;break}return this._currentBitrate=0,e.abrupt("return");case 3:return e.next=5,this.getReceiverStats();case 5:(t=e.sent)&&this.prevStats&&this.receiver&&(this._currentBitrate=Ts(t,this.prevStats)),this.prevStats=t;case 8:case"end":return e.stop()}}),e,this)})))},c.debouncedHandleResize=ns((function(){c.updateDimensions()}),100),c.adaptiveStreamSettings=o,c}return p(n,sc),l(n,[{key:"isAdaptiveStream",get:function(){return void 0!==this.adaptiveStreamSettings}},{key:"mediaStreamTrack",get:function(){return this._mediaStreamTrack}},{key:"setMuted",value:function(e){var t=this;b(f(n.prototype),"setMuted",this).call(this,e),this.attachedElements.forEach((function(n){e?ya(t._mediaStreamTrack,n):ba(t._mediaStreamTrack,n)}))}},{key:"attach",value:function(e){if(e?b(f(n.prototype),"attach",this).call(this,e):e=b(f(n.prototype),"attach",this).call(this),this.adaptiveStreamSettings&&void 0===this.elementInfos.find((function(t){return t.element===e}))){var t=new dc(e);this.observeElementInfo(t)}return e}},{key:"observeElementInfo",value:function(e){var t=this;this.adaptiveStreamSettings&&void 0===this.elementInfos.find((function(t){return t===e}))?(e.handleResize=function(){t.debouncedHandleResize()},e.handleVisibilityChanged=function(){t.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}},{key:"stopObservingElementInfo",value:function(e){if(this.isAdaptiveStream){var t,n=this.elementInfos.filter((function(t){return t===e})),r=w(n);try{for(r.s();!(t=r.n()).done;){t.value.stopObserving()}}catch(e){r.e(e)}finally{r.f()}this.elementInfos=this.elementInfos.filter((function(t){return t!==e})),this.updateVisibility(),this.debouncedHandleResize()}else this.log.warn("stopObservingElementInfo ignored",this.logContext)}},{key:"detach",value:function(e){var t;if(e)return this.stopObservingElement(e),b(f(n.prototype),"detach",this).call(this,e);var r,i=w(t=b(f(n.prototype),"detach",this).call(this));try{for(i.s();!(r=i.n()).done;){var a=r.value;this.stopObservingElement(a)}}catch(e){i.e(e)}finally{i.f()}return t}},{key:"getDecoderImplementation",value:function(){var e;return null===(e=this.prevStats)||void 0===e?void 0:e.decoderImplementation}},{key:"getReceiverStats",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.receiver&&this.receiver.getStats){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.receiver.getStats();case 4:return t=e.sent,r="",a=new Map,t.forEach((function(e){"inbound-rtp"===e.type?(r=e.codecId,n={type:"video",streamId:e.id,framesDecoded:e.framesDecoded,framesDropped:e.framesDropped,framesReceived:e.framesReceived,packetsReceived:e.packetsReceived,packetsLost:e.packetsLost,frameWidth:e.frameWidth,frameHeight:e.frameHeight,pliCount:e.pliCount,firCount:e.firCount,nackCount:e.nackCount,jitter:e.jitter,timestamp:e.timestamp,bytesReceived:e.bytesReceived,decoderImplementation:e.decoderImplementation}):"codec"===e.type&&a.set(e.id,e)})),n&&""!==r&&a.get(r)&&(n.mimeType=a.get(r).mimeType),e.abrupt("return",n);case 10:case"end":return e.stop()}}),e,this)})))}},{key:"stopObservingElement",value:function(e){var t,n=this.elementInfos.filter((function(t){return t.element===e})),r=w(n);try{for(r.s();!(t=r.n()).done;){var i=t.value;this.stopObservingElementInfo(i)}}catch(e){r.e(e)}finally{r.f()}}},{key:"handleAppVisibilityChanged",value:function(){var e=this,t=Object.create(null,{handleAppVisibilityChanged:{get:function(){return b(f(n.prototype),"handleAppVisibilityChanged",e)}}});return Nr(this,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.handleAppVisibilityChanged.call(this);case 2:if(this.isAdaptiveStream){e.next=4;break}return e.abrupt("return");case 4:this.updateVisibility();case 5:case"end":return e.stop()}}),e,this)})))}},{key:"updateVisibility",value:function(){var e,t,n=this,r=this.elementInfos.reduce((function(e,t){return Math.max(e,t.visibilityChangedAt||0)}),0),i=!(null!==(t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pauseVideoInBackground)&&void 0!==t&&!t)&&this.isInBackground,a=this.elementInfos.some((function(e){return e.pictureInPicture})),o=this.elementInfos.some((function(e){return e.visible}))&&!i||a;this.lastVisible!==o&&(o||Date.now()-r>=100?(this.lastVisible=o,this.emit(ea.VisibilityChanged,o,this)):va.setTimeout((function(){n.updateVisibility()}),100))}},{key:"updateDimensions",value:function(){var e,t,n,r=0,i=0,a=this.getPixelDensity(),o=w(this.elementInfos);try{for(o.s();!(n=o.n()).done;){var s=n.value,c=s.width()*a,u=s.height()*a;c+u>r+i&&(r=c,i=u)}}catch(e){o.e(e)}finally{o.f()}(null===(e=this.lastDimensions)||void 0===e?void 0:e.width)===r&&(null===(t=this.lastDimensions)||void 0===t?void 0:t.height)===i||(this.lastDimensions={width:r,height:i},this.emit(ea.VideoDimensionsChanged,this.lastDimensions,this))}},{key:"getPixelDensity",value:function(){var e,t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pixelDensity;return"screen"===t?za():t||(za()>2?2:1)}}]),n}(),dc=function(){function e(t,n){var r=this;u(this,e),this.onVisibilityChanged=function(e){var t,n=e.target,i=e.isIntersecting;n===r.element&&(r.isIntersecting=i,r.isPiP=lc(r.element),r.visibilityChangedAt=Date.now(),null===(t=r.handleVisibilityChanged)||void 0===t||t.call(r))},this.onEnterPiP=function(){var e,t,n;null===(t=null===(e=window.documentPictureInPicture)||void 0===e?void 0:e.window)||void 0===t||t.addEventListener("pagehide",r.onLeavePiP),r.isPiP=lc(r.element),null===(n=r.handleVisibilityChanged)||void 0===n||n.call(r)},this.onLeavePiP=function(){var e;r.isPiP=lc(r.element),null===(e=r.handleVisibilityChanged)||void 0===e||e.call(r)},this.element=t,this.isIntersecting=null!=n?n:hc(t),this.isPiP=Va()&&lc(t),this.visibilityChangedAt=0}return l(e,[{key:"visible",get:function(){return this.isPiP||this.isIntersecting}},{key:"pictureInPicture",get:function(){return this.isPiP}},{key:"width",value:function(){return this.element.clientWidth}},{key:"height",value:function(){return this.element.clientHeight}},{key:"observe",value:function(){var e,t,n,r=this;this.isIntersecting=hc(this.element),this.isPiP=lc(this.element),this.element.handleResize=function(){var e;null===(e=r.handleResize)||void 0===e||e.call(r)},this.element.handleVisibilityChanged=this.onVisibilityChanged,no().observe(this.element),eo().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),null===(e=window.documentPictureInPicture)||void 0===e||e.addEventListener("enter",this.onEnterPiP),null===(n=null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)||void 0===n||n.addEventListener("pagehide",this.onLeavePiP)}},{key:"stopObserving",value:function(){var e,t,n,r,i;null===(e=no())||void 0===e||e.unobserve(this.element),null===(t=eo())||void 0===t||t.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),null===(n=window.documentPictureInPicture)||void 0===n||n.removeEventListener("enter",this.onEnterPiP),null===(i=null===(r=window.documentPictureInPicture)||void 0===r?void 0:r.window)||void 0===i||i.removeEventListener("pagehide",this.onLeavePiP)}}]),e}();function lc(e){var t,n;return document.pictureInPictureElement===e||!!(null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)&&hc(e,null===(n=window.documentPictureInPicture)||void 0===n?void 0:n.window)}function hc(e,t){for(var n=t||window,r=e.offsetTop,i=e.offsetLeft,a=e.offsetWidth,o=e.offsetHeight,s=e.hidden,c=getComputedStyle(e).display;e.offsetParent;)r+=(e=e.offsetParent).offsetTop,i+=e.offsetLeft;return r<n.pageYOffset+n.innerHeight&&i<n.pageXOffset+n.innerWidth&&r+o>n.pageYOffset&&i+a>n.pageXOffset&&!s&&"none"!==c}var pc=function(t){function n(t,r,i,a){var o,s;return u(this,n),(o=e(this,n)).metadataMuted=!1,o.encryption=Wt.NONE,o.log=wr,o.handleMuted=function(){o.emit(ea.Muted)},o.handleUnmuted=function(){o.emit(ea.Unmuted)},o.log=Er(null!==(s=null==a?void 0:a.loggerName)&&void 0!==s?s:Tr.Publication),o.loggerContextCb=o.loggerContextCb,o.setMaxListeners(100),o.kind=t,o.trackSid=r,o.trackName=i,o.source=ka.Source.Unknown,o}return p(n,Lr.EventEmitter),l(n,[{key:"setTrack",value:function(e){this.track&&(this.track.off(ea.Muted,this.handleMuted),this.track.off(ea.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(ea.Muted,this.handleMuted),e.on(ea.Unmuted,this.handleUnmuted))}},{key:"logContext",get:function(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Oo(this))}},{key:"isMuted",get:function(){return this.metadataMuted}},{key:"isEnabled",get:function(){return!0}},{key:"isSubscribed",get:function(){return void 0!==this.track}},{key:"isEncrypted",get:function(){return this.encryption!==Wt.NONE}},{key:"audioTrack",get:function(){if(po(this.track))return this.track}},{key:"videoTrack",get:function(){if(fo(this.track))return this.track}},{key:"updateInfo",value:function(e){this.trackSid=e.sid,this.trackName=e.name,this.source=ka.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===ka.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}]),n}();!function(e){var t,n;(t=e.SubscriptionStatus||(e.SubscriptionStatus={})).Desired="desired",t.Subscribed="subscribed",t.Unsubscribed="unsubscribed",(n=e.PermissionStatus||(e.PermissionStatus={})).Allowed="allowed",n.NotAllowed="not_allowed"}(pc||(pc={}));var fc,vc=function(t){function n(t,r,i,a){var o;return u(this,n),(o=e(this,n,[t,r.sid,r.name,a])).track=void 0,o.handleTrackEnded=function(){o.emit(ea.Ended)},o.updateInfo(r),o.setTrack(i),o}return p(n,pc),l(n,[{key:"isUpstreamPaused",get:function(){var e;return null===(e=this.track)||void 0===e?void 0:e.isUpstreamPaused}},{key:"setTrack",value:function(e){this.track&&this.track.off(ea.Ended,this.handleTrackEnded),b(f(n.prototype),"setTrack",this).call(this,e),e&&e.on(ea.Ended,this.handleTrackEnded)}},{key:"isMuted",get:function(){return this.track?this.track.isMuted:b(f(n.prototype),"isMuted",this)}},{key:"audioTrack",get:function(){return b(f(n.prototype),"audioTrack",this)}},{key:"videoTrack",get:function(){return b(f(n.prototype),"videoTrack",this)}},{key:"isLocal",get:function(){return!0}},{key:"mute",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null===(t=this.track)||void 0===t?void 0:t.mute());case 1:case"end":return e.stop()}}),e,this)})))}},{key:"unmute",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null===(t=this.track)||void 0===t?void 0:t.unmute());case 1:case"end":return e.stop()}}),e,this)})))}},{key:"pauseUpstream",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(t=this.track)||void 0===t?void 0:t.pauseUpstream();case 2:case"end":return e.stop()}}),e,this)})))}},{key:"resumeUpstream",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(t=this.track)||void 0===t?void 0:t.resumeUpstream();case 2:case"end":return e.stop()}}),e,this)})))}},{key:"getTrackFeatures",value:function(){var e;if(po(this.track)){var t=this.track.getSourceTrackSettings(),n=new Set;return t.autoGainControl&&n.add(At.TF_AUTO_GAIN_CONTROL),t.echoCancellation&&n.add(At.TF_ECHO_CANCELLATION),t.noiseSuppression&&n.add(At.TF_NOISE_SUPPRESSION),t.channelCount&&t.channelCount>1&&n.add(At.TF_STEREO),(null===(e=this.options)||void 0===e?void 0:e.dtx)||n.add(At.TF_NO_DTX),this.track.enhancedNoiseCancellation&&n.add(At.TF_ENHANCED_NOISE_CANCELLATION),Array.from(n.values())}return[]}}]),n}();function mc(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,s,c,u,d,l,h,p,f,v,m,g,k=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return null!=e||(e={}),r=!1,a=No(e),s=a.audioProcessor,c=a.videoProcessor,u=a.optionsWithoutProcessor,d=u.audio,l=u.video,s&&"object"===o(u.audio)&&(u.audio.processor=s),c&&"object"===o(u.video)&&(u.video.processor=c),e.audio&&"object"===o(u.audio)&&"string"==typeof u.audio.deviceId&&(h=u.audio.deviceId,u.audio.deviceId={exact:h},r=!0,d=Object.assign(Object.assign({},u.audio),{deviceId:{ideal:h}})),u.video&&"object"===o(u.video)&&"string"==typeof u.video.deviceId&&(p=u.video.deviceId,u.video.deviceId={exact:p},r=!0,l=Object.assign(Object.assign({},u.video),{deviceId:{ideal:p}})),(!0===u.audio||"object"===o(u.audio)&&!u.audio.deviceId)&&(u.audio={deviceId:"default"}),!0===u.video?u.video={deviceId:"default"}:"object"!==o(u.video)||u.video.deviceId||(u.video.deviceId="default"),f=So(u,ps,fs),v=Co(f),m=navigator.mediaDevices.getUserMedia(v),u.audio&&(_o.userMediaPromiseMap.set("audioinput",m),m.catch((function(){return _o.userMediaPromiseMap.delete("audioinput")}))),u.video&&(_o.userMediaPromiseMap.set("videoinput",m),m.catch((function(){return _o.userMediaPromiseMap.delete("videoinput")}))),n.prev=16,n.next=19,m;case 19:return g=n.sent,n.next=22,Promise.all(g.getTracks().map((function(e){return Nr(k,void 0,void 0,i().mark((function n(){var r,a,o,u,d;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if((r="audio"===e.kind)?f.audio:f.video,"boolean"!=typeof(o=r?v.audio:v.video)&&(a=o),u=e.getSettings().deviceId,(null==a?void 0:a.deviceId)&&oo(a.deviceId)!==u?a.deviceId=u:a||(a={deviceId:u}),(d=Is(e,a,t)).kind===ka.Kind.Video?d.source=ka.Source.Camera:d.kind===ka.Kind.Audio&&(d.source=ka.Source.Microphone),d.mediaStream=g,!po(d)||!s){n.next=15;break}return n.next=13,d.setProcessor(s);case 13:n.next=18;break;case 15:if(!fo(d)||!c){n.next=18;break}return n.next=18,d.setProcessor(c);case 18:return n.abrupt("return",d);case 19:case"end":return n.stop()}}),n)})))})));case 22:return n.abrupt("return",n.sent);case 25:if(n.prev=25,n.t0=n.catch(16),r){n.next=29;break}throw n.t0;case 29:return n.abrupt("return",mc(Object.assign(Object.assign({},e),{audio:d,video:l}),t));case 30:case"end":return n.stop()}}),n,null,[[16,25]])})))}!function(e){e.Excellent="excellent",e.Good="good",e.Poor="poor",e.Lost="lost",e.Unknown="unknown"}(fc||(fc={}));var gc=function(t){function n(t,r,i,a,o,s){var c;u(this,n);var d,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Bt.STANDARD;return(c=e(this,n)).audioLevel=0,c.isSpeaking=!1,c._connectionQuality=fc.Unknown,c.log=wr,c.log=Er(null!==(d=null==s?void 0:s.loggerName)&&void 0!==d?d:Tr.Participant),c.loggerOptions=s,c.setMaxListeners(100),c.sid=t,c.identity=r,c.name=i,c.metadata=a,c.audioTrackPublications=new Map,c.videoTrackPublications=new Map,c.trackPublications=new Map,c._kind=l,c._attributes=null!=o?o:{},c}return p(n,Lr.EventEmitter),l(n,[{key:"logContext",get:function(){var e,t;return Object.assign({},null===(t=null===(e=this.loggerOptions)||void 0===e?void 0:e.loggerContextCb)||void 0===t?void 0:t.call(e))}},{key:"isEncrypted",get:function(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every((function(e){return e.isEncrypted}))}},{key:"isAgent",get:function(){var e;return(null===(e=this.permissions)||void 0===e?void 0:e.agent)||this.kind===Bt.AGENT}},{key:"isActive",get:function(){var e;return(null===(e=this.participantInfo)||void 0===e?void 0:e.state)===Ft.ACTIVE}},{key:"kind",get:function(){return this._kind}},{key:"attributes",get:function(){return Object.freeze(Object.assign({},this._attributes))}},{key:"getTrackPublications",value:function(){return Array.from(this.trackPublications.values())}},{key:"getTrackPublication",value:function(e){var t,n=w(this.trackPublications);try{for(n.s();!(t=n.n()).done;){var r=y(t.value,2)[1];if(r.source===e)return r}}catch(e){n.e(e)}finally{n.f()}}},{key:"getTrackPublicationByName",value:function(e){var t,n=w(this.trackPublications);try{for(n.s();!(t=n.n()).done;){var r=y(t.value,2)[1];if(r.trackName===e)return r}}catch(e){n.e(e)}finally{n.f()}}},{key:"waitUntilActive",value:function(){var e=this;return this.isActive?Promise.resolve():(this.activeFuture||(this.activeFuture=new ao,this.once(Zi.Active,(function(){var t,n;null===(n=null===(t=e.activeFuture)||void 0===t?void 0:t.resolve)||void 0===n||n.call(t),e.activeFuture=void 0}))),this.activeFuture.promise)}},{key:"connectionQuality",get:function(){return this._connectionQuality}},{key:"isCameraEnabled",get:function(){var e,t=this.getTrackPublication(ka.Source.Camera);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}},{key:"isMicrophoneEnabled",get:function(){var e,t=this.getTrackPublication(ka.Source.Microphone);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}},{key:"isScreenShareEnabled",get:function(){return!!this.getTrackPublication(ka.Source.ScreenShare)}},{key:"isLocal",get:function(){return!1}},{key:"joinedAt",get:function(){return this.participantInfo?new Date(1e3*Number.parseInt(this.participantInfo.joinedAt.toString())):new Date}},{key:"updateInfo",value:function(e){var t;return(!this.participantInfo||this.participantInfo.sid!==e.sid||this.participantInfo.version<=e.version)&&(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.state===Ft.ACTIVE&&(null===(t=this.participantInfo)||void 0===t?void 0:t.state)!==Ft.ACTIVE&&this.emit(Zi.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,!0)}},{key:"_setMetadata",value:function(e){var t=this.metadata!==e,n=this.metadata;this.metadata=e,t&&this.emit(Zi.ParticipantMetadataChanged,n)}},{key:"_setName",value:function(e){var t=this.name!==e;this.name=e,t&&this.emit(Zi.ParticipantNameChanged,e)}},{key:"_setAttributes",value:function(e){var t=function(e,t){var n;void 0===e&&(e={}),void 0===t&&(t={});var r,i={},a=w([].concat(S(Object.keys(t)),S(Object.keys(e))));try{for(a.s();!(r=a.n()).done;){var o=r.value;e[o]!==t[o]&&(i[o]=null!==(n=t[o])&&void 0!==n?n:"")}}catch(e){a.e(e)}finally{a.f()}return i}(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(Zi.AttributesChanged,t)}},{key:"setPermissions",value:function(e){var t,n,r,i,a,o,s=this,c=this.permissions,u=e.canPublish!==(null===(t=this.permissions)||void 0===t?void 0:t.canPublish)||e.canSubscribe!==(null===(n=this.permissions)||void 0===n?void 0:n.canSubscribe)||e.canPublishData!==(null===(r=this.permissions)||void 0===r?void 0:r.canPublishData)||e.hidden!==(null===(i=this.permissions)||void 0===i?void 0:i.hidden)||e.recorder!==(null===(a=this.permissions)||void 0===a?void 0:a.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((function(e,t){var n;return e!==(null===(n=s.permissions)||void 0===n?void 0:n.canPublishSources[t])}))||e.canSubscribeMetrics!==(null===(o=this.permissions)||void 0===o?void 0:o.canSubscribeMetrics);return this.permissions=e,u&&this.emit(Zi.ParticipantPermissionsChanged,c),u}},{key:"setIsSpeaking",value:function(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(Zi.IsSpeakingChanged,e))}},{key:"setConnectionQuality",value:function(e){var t=this._connectionQuality;this._connectionQuality=function(e){switch(e){case Rt.EXCELLENT:return fc.Excellent;case Rt.GOOD:return fc.Good;case Rt.POOR:return fc.Poor;case Rt.LOST:return fc.Lost;default:return fc.Unknown}}(e),t!==this._connectionQuality&&this.emit(Zi.ConnectionQualityChanged,this._connectionQuality)}},{key:"setDisconnected",value:function(){var e,t;this.activeFuture&&(null===(t=(e=this.activeFuture).reject)||void 0===t||t.call(e,new Error("Participant disconnected")),this.activeFuture=void 0)}},{key:"setAudioContext",value:function(e){this.audioContext=e,this.audioTrackPublications.forEach((function(t){return po(t.track)&&t.track.setAudioContext(e)}))}},{key:"addTrackPublication",value:function(e){var t=this;e.on(ea.Muted,(function(){t.emit(Zi.TrackMuted,e)})),e.on(ea.Unmuted,(function(){t.emit(Zi.TrackUnmuted,e)}));var n=e;switch(n.track&&(n.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case ka.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case ka.Kind.Video:this.videoTrackPublications.set(e.trackSid,e);break}}}]),n}();var kc,bc=function(t){function n(t,r,a,o,s){var c;return u(this,n),(c=e(this,n,[t,r,void 0,void 0,void 0,{loggerName:o.loggerName,loggerContextCb:function(){return c.engine.logContext}}])).pendingPublishing=new Set,c.pendingPublishPromises=new Map,c.participantTrackPermissions=[],c.allParticipantsAllowedToSubscribe=!0,c.encryptionType=Wt.NONE,c.enabledPublishVideoCodecs=[],c.pendingAcks=new Map,c.pendingResponses=new Map,c.handleReconnecting=function(){c.reconnectFuture||(c.reconnectFuture=new ao)},c.handleReconnected=function(){var e,t;null===(t=null===(e=c.reconnectFuture)||void 0===e?void 0:e.resolve)||void 0===t||t.call(e),c.reconnectFuture=void 0,c.updateTrackSubscriptionPermissions()},c.handleDisconnected=function(){var e,t,n,r,i,a;c.reconnectFuture&&(c.reconnectFuture.promise.catch((function(e){return c.log.warn(e.message,c.logContext)})),null===(t=null===(e=c.reconnectFuture)||void 0===e?void 0:e.reject)||void 0===t||t.call(e,"Got disconnected during reconnection attempt"),c.reconnectFuture=void 0),c.signalConnectedFuture&&(null===(r=(n=c.signalConnectedFuture).reject)||void 0===r||r.call(n,"Got disconnected without signal connected"),c.signalConnectedFuture=void 0),null===(a=null===(i=c.activeAgentFuture)||void 0===i?void 0:i.reject)||void 0===a||a.call(i,"Got disconnected without active agent present"),c.activeAgentFuture=void 0,c.firstActiveAgent=void 0},c.handleSignalConnected=function(e){var t,n;e.participant&&c.updateInfo(e.participant),c.signalConnectedFuture||(c.signalConnectedFuture=new ao),null===(n=(t=c.signalConnectedFuture).resolve)||void 0===n||n.call(t)},c.handleSignalRequestResponse=function(e){var t=e.requestId,n=e.reason,r=e.message,i=c.pendingSignalRequests.get(t);i&&(n!==pr.OK&&i.reject(new ca(r,n)),c.pendingSignalRequests.delete(t))},c.handleDataPacket=function(e){switch(e.value.case){case"rpcResponse":var t=e.value.value,n=null,r=null;"payload"===t.value.case?n=t.value.value:"error"===t.value.case&&(r=ks.fromProto(t.value.value)),c.handleIncomingRpcResponse(t.requestId,n,r);break;case"rpcAck":var i=e.value.value;c.handleIncomingRpcAck(i.requestId);break}},c.updateTrackSubscriptionPermissions=function(){c.log.debug("updating track subscription permissions",Object.assign(Object.assign({},c.logContext),{allParticipantsAllowed:c.allParticipantsAllowedToSubscribe,participantTrackPermissions:c.participantTrackPermissions})),c.engine.client.sendUpdateSubscriptionPermissions(c.allParticipantsAllowedToSubscribe,c.participantTrackPermissions.map((function(e){return function(e){var t,n,r;if(!e.participantSid&&!e.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new er({participantIdentity:null!==(t=e.participantIdentity)&&void 0!==t?t:"",participantSid:null!==(n=e.participantSid)&&void 0!==n?n:"",allTracks:null!==(r=e.allowAll)&&void 0!==r&&r,trackSids:e.allowedTrackSids||[]})}(e)})))},c.onTrackUnmuted=function(e){c.onTrackMuted(e,e.isUpstreamPaused)},c.onTrackMuted=function(e,t){void 0===t&&(t=!0),e.sid?c.engine.updateMuteStatus(e.sid,t):c.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},c.logContext),Oo(e)))},c.onTrackUpstreamPaused=function(e){c.log.debug("upstream paused",Object.assign(Object.assign({},c.logContext),Oo(e))),c.onTrackMuted(e,!0)},c.onTrackUpstreamResumed=function(e){c.log.debug("upstream resumed",Object.assign(Object.assign({},c.logContext),Oo(e))),c.onTrackMuted(e,e.isMuted)},c.onTrackFeatureUpdate=function(e){var t=c.audioTrackPublications.get(e.sid);t?c.engine.client.sendUpdateLocalAudioTrack(t.trackSid,t.getTrackFeatures()):c.log.warn("Could not update local audio track settings, missing publication for track ".concat(e.sid),c.logContext)},c.handleSubscribedQualityUpdate=function(e){return Nr(k(c),void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null===(s=this.roomOptions)||void 0===s?void 0:s.dynacast){t.next=2;break}return t.abrupt("return");case 2:if(c=this.videoTrackPublications.get(e.trackSid)){t.next=6;break}return this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid})),t.abrupt("return");case 6:if(c.videoTrack){t.next=8;break}return t.abrupt("return");case 8:return t.next=10,c.videoTrack.setPublishingCodecs(e.subscribedCodecs);case 10:u=t.sent,t.prev=11,d=!0,l=Mr(u);case 13:return t.next=15,l.next();case 15:if(h=t.sent,n=h.done){t.next=28;break}if(o=h.value,d=!1,!xa(p=o)){t.next=25;break}return this.log.debug("publish ".concat(p," for ").concat(c.videoTrack.sid),Object.assign(Object.assign({},this.logContext),Oo(c))),t.next=25,this.publishAdditionalCodecForTrack(c.videoTrack,p,c.options);case 25:d=!0,t.next=13;break;case 28:t.next=33;break;case 30:t.prev=30,t.t0=t.catch(11),r={error:t.t0};case 33:if(t.prev=33,t.prev=34,d||n||!(a=l.return)){t.next=38;break}return t.next=38,a.call(l);case 38:if(t.prev=38,!r){t.next=41;break}throw r.error;case 41:return t.finish(38);case 42:return t.finish(33);case 43:case"end":return t.stop()}}),t,this,[[11,30,33,43],[34,,38,42]])})))},c.handleLocalTrackUnpublished=function(e){var t=c.trackPublications.get(e.trackSid);t?c.unpublishTrack(t.track):c.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},c.logContext),{trackSid:e.trackSid}))},c.handleTrackEnded=function(e){return Nr(k(c),void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.source!==ka.Source.ScreenShare&&e.source!==ka.Source.ScreenShareAudio){t.next=5;break}this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),Oo(e))),this.unpublishTrack(e),t.next=41;break;case 5:if(!e.isUserProvided){t.next=10;break}return t.next=8,e.mute();case 8:t.next=41;break;case 10:if(!mo(e)&&!vo(e)){t.next=41;break}if(t.prev=11,!Va()){t.next=25;break}return t.prev=13,t.next=16,null===navigator||void 0===navigator?void 0:navigator.permissions.query({name:e.source===ka.Source.Camera?"camera":"microphone"});case 16:if(!(n=t.sent)||"denied"!==n.state){t.next=21;break}throw this.log.warn("user has revoked access to ".concat(e.source),Object.assign(Object.assign({},this.logContext),Oo(e))),n.onchange=function(){"denied"!==n.state&&(e.isMuted||e.restartTrack(),n.onchange=null)},new Error("GetUserMedia Permission denied");case 21:t.next=25;break;case 23:t.prev=23,t.t0=t.catch(13);case 25:if(e.isMuted){t.next=34;break}if(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),Oo(e))),!mo(e)){t.next=32;break}return t.next=30,e.restartTrack({deviceId:"default"});case 30:t.next=34;break;case 32:return t.next=34,e.restartTrack();case 34:t.next=41;break;case 36:return t.prev=36,t.t1=t.catch(11),this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),Oo(e))),t.next=41,e.mute();case 41:case"end":return t.stop()}}),t,this,[[11,36],[13,23]])})))},c.audioTrackPublications=new Map,c.videoTrackPublications=new Map,c.trackPublications=new Map,c.engine=a,c.roomOptions=o,c.setupEngine(a),c.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),c.pendingSignalRequests=new Map,c.rpcHandlers=s,c}return p(n,gc),l(n,[{key:"lastCameraError",get:function(){return this.cameraError}},{key:"lastMicrophoneError",get:function(){return this.microphoneError}},{key:"isE2EEEnabled",get:function(){return this.encryptionType!==Wt.NONE}},{key:"getTrackPublication",value:function(e){var t=b(f(n.prototype),"getTrackPublication",this).call(this,e);if(t)return t}},{key:"getTrackPublicationByName",value:function(e){var t=b(f(n.prototype),"getTrackPublicationByName",this).call(this,e);if(t)return t}},{key:"setupEngine",value:function(e){var t=this;this.engine=e,this.engine.on($i.RemoteMute,(function(e,n){var r=t.trackPublications.get(e);r&&r.track&&(n?r.mute():r.unmute())})),this.engine.on($i.Connected,this.handleReconnected).on($i.SignalConnected,this.handleSignalConnected).on($i.SignalRestarted,this.handleReconnected).on($i.SignalResumed,this.handleReconnected).on($i.Restarting,this.handleReconnecting).on($i.Resuming,this.handleReconnecting).on($i.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on($i.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on($i.Disconnected,this.handleDisconnected).on($i.SignalRequestResponse,this.handleSignalRequestResponse).on($i.DataPacketReceived,this.handleDataPacket),this.signalConnectedFuture=void 0}},{key:"setMetadata",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.requestMetadataUpdate({metadata:e});case 2:case"end":return t.stop()}}),t,this)})))}},{key:"setName",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.requestMetadataUpdate({name:e});case 2:case"end":return t.stop()}}),t,this)})))}},{key:"setAttributes",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.requestMetadataUpdate({attributes:e});case 2:case"end":return t.stop()}}),t,this)})))}},{key:"requestMetadataUpdate",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=e.metadata,r=e.name,a=e.attributes;return i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,o){return Nr(t,void 0,void 0,i().mark((function t(){var s,c,u,d,l,h=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,u=!1,t.next=4,this.engine.client.sendUpdateLocalMetadata(null!==(s=null!=n?n:this.metadata)&&void 0!==s?s:"",null!==(c=null!=r?r:this.name)&&void 0!==c?c:"",a);case 4:d=t.sent,l=performance.now(),this.pendingSignalRequests.set(d,{resolve:e,reject:function(e){o(e),u=!0},values:{name:r,metadata:n,attributes:a}});case 7:if(performance.now()-l>=5e3||u){t.next=16;break}if(r&&this.name!==r||n&&this.metadata!==n||a&&!Object.entries(a).every((function(e){var t=y(e,2),n=t[0],r=t[1];return h.attributes[n]===r||""===r&&!h.attributes[n]}))){t.next=12;break}return this.pendingSignalRequests.delete(d),e(),t.abrupt("return");case 12:return t.next=14,Na(50);case 14:t.next=7;break;case 16:o(new ca("Request to update local metadata timed out","TimeoutError")),t.next=22;break;case 19:t.prev=19,t.t0=t.catch(0),t.t0 instanceof Error&&o(t.t0);case 22:case"end":return t.stop()}}),t,this,[[0,19]])})))})));case 1:case"end":return e.stop()}}),e)}))()}))}},{key:"setCameraEnabled",value:function(e,t,n){return this.setTrackEnabled(ka.Source.Camera,e,t,n)}},{key:"setMicrophoneEnabled",value:function(e,t,n){return this.setTrackEnabled(ka.Source.Microphone,e,t,n)}},{key:"setScreenShareEnabled",value:function(e,t,n){return this.setTrackEnabled(ka.Source.ScreenShare,e,t,n)}},{key:"setPermissions",value:function(e){var t=this.permissions,r=b(f(n.prototype),"setPermissions",this).call(this,e);return r&&t&&this.emit(Zi.ParticipantPermissionsChanged,t),r}},{key:"setE2EEEnabled",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.encryptionType=e?Wt.GCM:Wt.NONE,t.next=3,this.republishAllTracks(void 0,!1);case 3:case"end":return t.stop()}}),t,this)})))}},{key:"setTrackEnabled",value:function(e,t,n,r){return Nr(this,void 0,void 0,i().mark((function a(){var o,s,c,u,d,l,h,p,f,v,m,g,k,b,S;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:t})),!this.republishPromise){i.next=4;break}return i.next=4,this.republishPromise;case 4:if(c=this.getTrackPublication(e),!t){i.next=67;break}if(!c){i.next=11;break}return i.next=9,c.unmute();case 9:i.next=65;break;case 11:if(!this.pendingPublishing.has(e)){i.next=19;break}return i.next=14,this.waitForPendingPublicationOfSource(e);case 14:return(d=i.sent)||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),i.next=18,null==d?void 0:d.unmute();case 18:return i.abrupt("return",d);case 19:this.pendingPublishing.add(e),i.prev=20,i.t0=e,i.next=i.t0===ka.Source.Camera?24:i.t0===ka.Source.Microphone?28:i.t0===ka.Source.ScreenShare?32:36;break;case 24:return i.next=26,this.createTracks({video:null===(o=n)||void 0===o||o});case 26:return u=i.sent,i.abrupt("break",37);case 28:return i.next=30,this.createTracks({audio:null===(s=n)||void 0===s||s});case 30:return u=i.sent,i.abrupt("break",37);case 32:return i.next=34,this.createScreenTracks(Object.assign({},n));case 34:return u=i.sent,i.abrupt("break",37);case 36:throw new ra(e);case 37:i.next=45;break;case 39:throw i.prev=39,i.t1=i.catch(20),null==u||u.forEach((function(e){e.stop()})),i.t1 instanceof Error&&this.emit(Zi.MediaDevicesError,i.t1,Po(e)),this.pendingPublishing.delete(e),i.t1;case 45:l=w(u);try{for(l.s();!(h=l.n()).done;)p=h.value,e===ka.Source.Microphone&&po(p)&&(null==r?void 0:r.preConnectBuffer)&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),p.startPreConnectBuffer())}catch(e){l.e(e)}finally{l.f()}i.prev=47,f=[],v=w(u);try{for(v.s();!(m=v.n()).done;)g=m.value,this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),Oo(g))),f.push(this.publishTrack(g,r))}catch(e){v.e(e)}finally{v.f()}return i.next=53,Promise.all(f);case 53:k=i.sent,b=y(k,1),c=b[0],i.next=62;break;case 58:throw i.prev=58,i.t2=i.catch(47),null==u||u.forEach((function(e){e.stop()})),i.t2;case 62:return i.prev=62,this.pendingPublishing.delete(e),i.finish(62);case 65:i.next=83;break;case 67:if((null==c?void 0:c.track)||!this.pendingPublishing.has(e)){i.next=72;break}return i.next=70,this.waitForPendingPublicationOfSource(e);case 70:(c=i.sent)||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}));case 72:if(!c||!c.track){i.next=83;break}if(e!==ka.Source.ScreenShare){i.next=81;break}return i.next=76,this.unpublishTrack(c.track);case 76:c=i.sent,(S=this.getTrackPublication(ka.Source.ScreenShareAudio))&&S.track&&this.unpublishTrack(S.track),i.next=83;break;case 81:return i.next=83,c.mute();case 83:return i.abrupt("return",c);case 84:case"end":return i.stop()}}),a,this,[[20,39],[47,58,62,65]])})))}},{key:"enableCameraAndMicrophone",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.pendingPublishing.has(ka.Source.Camera)&&!this.pendingPublishing.has(ka.Source.Microphone)){e.next=2;break}return e.abrupt("return");case 2:return this.pendingPublishing.add(ka.Source.Camera),this.pendingPublishing.add(ka.Source.Microphone),e.prev=4,e.next=7,this.createTracks({audio:!0,video:!0});case 7:return t=e.sent,e.next=10,Promise.all(t.map((function(e){return n.publishTrack(e)})));case 10:return e.prev=10,this.pendingPublishing.delete(ka.Source.Camera),this.pendingPublishing.delete(ka.Source.Microphone),e.finish(10);case 14:case"end":return e.stop()}}),e,this,[[4,,10,14]])})))}},{key:"createTracks",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return null!=e||(e={}),a=So(e,null===(n=this.roomOptions)||void 0===n?void 0:n.audioCaptureDefaults,null===(r=this.roomOptions)||void 0===r?void 0:r.videoCaptureDefaults),t.prev=2,t.next=5,mc(a,{loggerName:this.roomOptions.loggerName,loggerContextCb:function(){return c.logContext}});case 5:return o=t.sent,s=o.map((function(e){return po(e)&&(c.microphoneError=void 0,e.setAudioContext(c.audioContext),e.source=ka.Source.Microphone,c.emit(Zi.AudioStreamAcquired)),fo(e)&&(c.cameraError=void 0,e.source=ka.Source.Camera),e})),t.abrupt("return",s);case 10:throw t.prev=10,t.t0=t.catch(2),t.t0 instanceof Error&&(e.audio&&(this.microphoneError=t.t0),e.video&&(this.cameraError=t.t0)),t.t0;case 14:case"end":return t.stop()}}),t,this,[[2,10]])})))}},{key:"createScreenTracks",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0===e&&(e={}),void 0!==navigator.mediaDevices.getDisplayMedia){t.next=3;break}throw new na("getDisplayMedia not supported");case 3:return void 0!==e.resolution||(i=void 0,"Safari"===(null==(i=la())?void 0:i.name)&&i.version.startsWith("17."))||(e.resolution=Ra.h1080fps30.resolution),n=Io(e),t.next=7,navigator.mediaDevices.getDisplayMedia(n);case 7:if(r=t.sent,0!==(a=r.getVideoTracks()).length){t.next=11;break}throw new ra("no video track found");case 11:return(o=new Vs(a[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:function(){return u.logContext}})).source=ka.Source.ScreenShare,e.contentHint&&(o.mediaStreamTrack.contentHint=e.contentHint),s=[o],r.getAudioTracks().length>0&&(this.emit(Zi.AudioStreamAcquired),(c=new Ps(r.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:function(){return u.logContext}})).source=ka.Source.ScreenShareAudio,s.push(c)),t.abrupt("return",s);case 17:case"end":return t.stop()}var i}),t,this)})))}},{key:"publishTrack",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",this.publishOrRepublishTrack(e,t));case 1:case"end":return n.stop()}}),n,this)})))}},{key:"publishOrRepublishTrack",value:function(e,t){return Nr(this,arguments,void 0,(function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return i().mark((function a(){var o,s,c,u,d,l,h,p,f,v,m,g;return i().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return mo(e)&&e.setAudioContext(n.audioContext),a.next=3,null===(o=n.reconnectFuture)||void 0===o?void 0:o.promise;case 3:if(!n.republishPromise||r){a.next=6;break}return a.next=6,n.republishPromise;case 6:if(!ho(e)||!n.pendingPublishPromises.has(e)){a.next=9;break}return a.next=9,n.pendingPublishPromises.get(e);case 9:if(!(e instanceof MediaStreamTrack)){a.next=13;break}d=e.getConstraints(),a.next=22;break;case 13:d=e.constraints,l=void 0,a.t0=e.source,a.next=a.t0===ka.Source.Microphone?18:a.t0===ka.Source.Camera?20:21;break;case 18:return l="audioinput",a.abrupt("break",21);case 20:l="videoinput";case 21:l&&n.activeDeviceMap.has(l)&&(d=Object.assign(Object.assign({},d),{deviceId:n.activeDeviceMap.get(l)}));case 22:if(!(e instanceof MediaStreamTrack)){a.next=33;break}a.t1=e.kind,a.next="audio"===a.t1?26:"video"===a.t1?28:30;break;case 26:return e=new Ps(e,d,!0,n.audioContext,{loggerName:n.roomOptions.loggerName,loggerContextCb:function(){return n.logContext}}),a.abrupt("break",31);case 28:return e=new Vs(e,d,!0,{loggerName:n.roomOptions.loggerName,loggerContextCb:function(){return n.logContext}}),a.abrupt("break",31);case 30:throw new ra("unsupported MediaStreamTrack kind ".concat(e.kind));case 31:a.next=34;break;case 33:e.updateLoggerOptions({loggerName:n.roomOptions.loggerName,loggerContextCb:function(){return n.logContext}});case 34:if(n.trackPublications.forEach((function(t){t.track&&t.track===e&&(h=t)})),!h){a.next=38;break}return n.log.warn("track has already been published, skipping",Object.assign(Object.assign({},n.logContext),Oo(h))),a.abrupt("return",h);case 38:return p="channelCount"in e.mediaStreamTrack.getSettings()&&2===e.mediaStreamTrack.getSettings().channelCount||2===e.mediaStreamTrack.getConstraints().channelCount,(f=null!==(s=null==t?void 0:t.forceStereo)&&void 0!==s?s:p)&&(t||(t={}),void 0===t.dtx&&n.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},n.logContext),Oo(e))),void 0===t.red&&n.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),null!==(c=t.dtx)&&void 0!==c||(t.dtx=!1),null!==(u=t.red)&&void 0!==u||(t.red=!1)),v=Object.assign(Object.assign({},n.roomOptions.publishDefaults),t),!Wa()&&n.roomOptions.e2ee&&(n.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},n.logContext)),v.simulcast=!1),v.source&&(e.source=v.source),m=new Promise((function(t,r){return Nr(n,void 0,void 0,i().mark((function n(){var a,o,s;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(n.prev=0,this.engine.client.currentState===jo.CONNECTED){n.next=13;break}return this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:Oo(e)})),a=setTimeout((function(){r(new sa("publishing rejected as engine not connected within timeout",408))}),15e3),n.next=6,this.waitUntilEngineConnected();case 6:return clearTimeout(a),n.next=9,this.publish(e,v,f);case 9:o=n.sent,t(o),n.next=23;break;case 13:return n.prev=13,n.next=16,this.publish(e,v,f);case 16:s=n.sent,t(s),n.next=23;break;case 20:n.prev=20,n.t0=n.catch(13),r(n.t0);case 23:n.next=28;break;case 25:n.prev=25,n.t1=n.catch(0),r(n.t1);case 28:case"end":return n.stop()}}),n,this,[[0,25],[13,20]])})))})),n.pendingPublishPromises.set(e,m),a.prev=46,a.next=49,m;case 49:return g=a.sent,a.abrupt("return",g);case 53:throw a.prev=53,a.t2=a.catch(46),a.t2;case 56:return a.prev=56,n.pendingPublishPromises.delete(e),a.finish(56);case 59:case"end":return a.stop()}}),a,null,[[46,53,56,59]])}))()}))}},{key:"waitUntilEngineConnected",value:function(){return this.signalConnectedFuture||(this.signalConnectedFuture=new ao),this.signalConnectedFuture.promise}},{key:"hasPermissionsToPublish",value:function(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),Oo(e))),!1;var t=this.permissions,n=t.canPublish,r=t.canPublishSources;return!(!n||0!==r.length&&!r.map((function(e){return function(e){switch(e){case Pt.CAMERA:return ka.Source.Camera;case Pt.MICROPHONE:return ka.Source.Microphone;case Pt.SCREEN_SHARE:return ka.Source.ScreenShare;case Pt.SCREEN_SHARE_AUDIO:return ka.Source.ScreenShareAudio;default:return ka.Source.Unknown}}(e)})).includes(e.source))||(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),Oo(e))),!1)}},{key:"publish",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s,c,u,d,l,h,p,f,v,m,g,k,b,y,S,T,C,E,x,P,I,R,O,N,D,M=this;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(this.hasPermissionsToPublish(e)){r.next=2;break}throw new sa("failed to publish track, insufficient permissions",403);case 2:if(Array.from(this.trackPublications.values()).find((function(t){return ho(e)&&t.source===e.source}))&&e.source!==ka.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),Oo(e))),t.stopMicTrackOnMute&&po(e)&&(e.stopOnMute=!0),e.source===ka.Source.ScreenShare&&ja()&&(t.simulcast=!1),"av1"!==t.videoCodec||Aa()||(t.videoCodec=void 0),"vp9"!==t.videoCodec||_a()||(t.videoCodec=void 0),void 0===t.videoCodec&&(t.videoCodec=ls),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some((function(e){return t.videoCodec===Ro(e.mime)}))||(t.videoCodec=Ro(this.enabledPublishVideoCodecs[0].mime))),v=t.videoCodec,e.on(ea.Muted,this.onTrackMuted),e.on(ea.Unmuted,this.onTrackUnmuted),e.on(ea.Ended,this.handleTrackEnded),e.on(ea.UpstreamPaused,this.onTrackUpstreamPaused),e.on(ea.UpstreamResumed,this.onTrackUpstreamResumed),e.on(ea.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),m=[],g=!(null===(a=t.dtx)||void 0===a||a),(k=e.getSourceTrackSettings()).autoGainControl&&m.push(At.TF_AUTO_GAIN_CONTROL),k.echoCancellation&&m.push(At.TF_ECHO_CANCELLATION),k.noiseSuppression&&m.push(At.TF_NOISE_SUPPRESSION),k.channelCount&&k.channelCount>1&&m.push(At.TF_STEREO),g&&m.push(At.TF_NO_DTX),mo(e)&&e.hasPreConnectBuffer&&m.push(At.TF_PRECONNECT_BUFFER),b=new Pn({cid:e.mediaStreamTrack.id,name:t.name,type:ka.kindToProto(e.kind),muted:e.isMuted,source:ka.sourceToProto(e.source),disableDtx:g,encryption:this.encryptionType,stereo:n,disableRed:this.isE2EEEnabled||!(null===(o=t.red)||void 0===o||o),stream:null==t?void 0:t.stream,backupCodecPolicy:null==t?void 0:t.backupCodecPolicy,audioFeatures:m}),e.kind!==ka.Kind.Video){r.next=47;break}return S={width:0,height:0},r.prev=29,r.next=32,e.waitForDimensions();case 32:S=r.sent,r.next=40;break;case 35:r.prev=35,r.t0=r.catch(29),T=null!==(c=null===(s=this.roomOptions.videoCaptureDefaults)||void 0===s?void 0:s.resolution)&&void 0!==c?c:Pa.h720.resolution,S={width:T.width,height:T.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),Oo(e)),{dims:S}));case 40:b.width=S.width,b.height=S.height,vo(e)&&(La(v)&&(e.source===ka.Source.ScreenShare&&(t.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),Oo(e))))),t.scalabilityMode=null!==(u=t.scalabilityMode)&&void 0!==u?u:"L3T3_KEY"),b.simulcastCodecs=[new xn({codec:v,cid:e.mediaStreamTrack.id})],!0===t.backupCodec&&(t.backupCodec={codec:ls}),t.backupCodec&&v!==t.backupCodec.codec&&b.encryption===Wt.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),b.simulcastCodecs.push(new xn({codec:t.backupCodec.codec,cid:""})))),y=Ls(e.source===ka.Source.ScreenShare,b.width,b.height,t),b.layers=Ks(b.width,b.height,y,La(t.videoCodec)),r.next=48;break;case 47:e.kind===ka.Kind.Audio&&(y=[{maxBitrate:null===(d=t.audioPreset)||void 0===d?void 0:d.maxBitrate,priority:null!==(h=null===(l=t.audioPreset)||void 0===l?void 0:l.priority)&&void 0!==h?h:"high",networkPriority:null!==(f=null===(p=t.audioPreset)||void 0===p?void 0:p.priority)&&void 0!==f?f:"high"}]);case 48:if(this.engine&&!this.engine.isClosed){r.next=50;break}throw new aa("cannot publish track when not connected");case 50:if(C=function(){return Nr(M,void 0,void 0,i().mark((function n(){var r,a,o,s,c,u,d;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.engine.pcManager){n.next=2;break}throw new aa("pcManager is not ready");case 2:return n.next=4,this.engine.createSender(e,t,y);case 4:if(e.sender=n.sent,vo(e)&&(null!==(r=t.degradationPreference)&&void 0!==r||(t.degradationPreference=Ws(e)),e.setDegradationPreference(t.degradationPreference)),!y){n.next=31;break}if(!ja()||e.kind!==ka.Kind.Audio){n.next=30;break}s=void 0,c=w(this.engine.pcManager.publisher.getTransceivers()),n.prev=10,c.s();case 12:if((u=c.n()).done){n.next=19;break}if((d=u.value).sender!==e.sender){n.next=17;break}return s=d,n.abrupt("break",19);case 17:n.next=12;break;case 19:n.next=24;break;case 21:n.prev=21,n.t0=n.catch(10),c.e(n.t0);case 24:return n.prev=24,c.f(),n.finish(24);case 27:s&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:s,codec:"opus",maxbr:(null===(a=y[0])||void 0===a?void 0:a.maxBitrate)?y[0].maxBitrate/1e3:0}),n.next=31;break;case 30:e.codec&&La(e.codec)&&(null===(o=y[0])||void 0===o?void 0:o.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:b.cid,codec:e.codec,maxbr:y[0].maxBitrate/1e3});case 31:return n.next=33,this.engine.negotiate();case 33:case"end":return n.stop()}}),n,this,[[10,21,24,27]])})))},x=new Promise((function(t,n){return Nr(M,void 0,void 0,i().mark((function r(){var a,o=this;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,this.engine.addTrack(b);case 3:E=r.sent,t(E),r.next=14;break;case 7:if(r.prev=7,r.t0=r.catch(0),!e.sender||!(null===(a=this.engine.pcManager)||void 0===a?void 0:a.publisher)){r.next=13;break}return this.engine.pcManager.publisher.removeTrack(e.sender),r.next=13,this.engine.negotiate().catch((function(t){o.log.error("failed to negotiate after removing track due to failed add track request",Object.assign(Object.assign(Object.assign({},o.logContext),Oo(e)),{error:t}))}));case 13:n(r.t0);case 14:case"end":return r.stop()}}),r,this,[[0,7]])})))})),this.enabledPublishVideoCodecs.length<=0){r.next=59;break}return r.next=55,Promise.all([x,C()]);case 55:P=r.sent,E=P[0],r.next=66;break;case 59:return r.next=61,x;case 61:return(E=r.sent).codecs.forEach((function(e){void 0===I&&(I=e.mimeType)})),I&&e.kind===ka.Kind.Video&&(R=Ro(I))!==v&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),Oo(e)),{codec:R})),t.videoCodec=R,y=Ls(e.source===ka.Source.ScreenShare,b.width,b.height,t)),r.next=66,C();case 66:return(O=new vc(e.kind,E,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:function(){return M.logContext}})).options=t,e.sid=E.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:y,trackInfo:E})),vo(e)?e.startMonitor(this.engine.client):mo(e)&&e.startMonitor(),this.addTrackPublication(O),this.emit(Zi.LocalTrackPublished,O),mo(e)&&E.audioFeatures.includes(At.TF_PRECONNECT_BUFFER)&&(N=e.getPreConnectBuffer(),this.on(Zi.LocalTrackSubscribed,(function(t){if(t.trackSid===E.sid){if(!e.hasPreConnectBuffer)return void M.log.warn("subscribe event came to late, buffer already closed",M.logContext);M.log.debug("finished recording preconnect buffer",Object.assign(Object.assign({},M.logContext),Oo(e))),e.stopPreConnectBuffer()}})),N&&(D=new Promise((function(t,n){return Nr(M,void 0,void 0,i().mark((function r(){var a,o,s,c,u,d,l,h,p,f,v,m,g;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),Oo(e))),l=setTimeout((function(){n(new Error("agent not active within 10 seconds"))}),1e4),r.next=5,this.waitUntilActiveAgentPresent();case 5:return h=r.sent,clearTimeout(l),this.log.debug("sending preconnect buffer",Object.assign(Object.assign({},this.logContext),Oo(e))),r.next=10,this.streamBytes({name:"preconnect-buffer",mimeType:"audio/opus",topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[h.identity],attributes:{trackId:O.trackSid,sampleRate:String(null!==(u=k.sampleRate)&&void 0!==u?u:"48000"),channels:String(null!==(d=k.channelCount)&&void 0!==d?d:"1")}});case 10:p=r.sent,r.prev=11,f=!0,v=Mr(N);case 13:return r.next=15,v.next();case 15:if(m=r.sent,a=m.done){r.next=26;break}return c=m.value,f=!1,g=c,r.next=23,p.write(g);case 23:f=!0,r.next=13;break;case 26:r.next=31;break;case 28:r.prev=28,r.t0=r.catch(11),o={error:r.t0};case 31:if(r.prev=31,r.prev=32,f||a||!(s=v.return)){r.next=36;break}return r.next=36,s.call(v);case 36:if(r.prev=36,!o){r.next=39;break}throw o.error;case 39:return r.finish(36);case 40:return r.finish(31);case 41:return r.next=43,p.close();case 43:t(),r.next=49;break;case 46:r.prev=46,r.t1=r.catch(0),n(r.t1);case 49:case"end":return r.stop()}}),r,this,[[0,46],[11,28,31,41],[32,,36,40]])})))})),D.then((function(){M.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},M.logContext),Oo(e)))})).catch((function(t){M.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},M.logContext),Oo(e)),{error:t}))})))),r.abrupt("return",O);case 75:case"end":return r.stop()}}),r,this,[[29,35]])})))}},{key:"isLocal",get:function(){return!0}},{key:"publishAdditionalCodecForTrack",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s,c,u,d,l,h,p,f=this;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(this.encryptionType===Wt.NONE){r.next=2;break}return r.abrupt("return");case 2:if(this.trackPublications.forEach((function(t){t.track&&t.track===e&&(o=t)})),o){r.next=5;break}throw new ra("track is not published");case 5:if(vo(e)){r.next=7;break}throw new ra("track is not a video track");case 7:if(s=Object.assign(Object.assign({},null===(a=this.roomOptions)||void 0===a?void 0:a.publishDefaults),n),c=Us(e,t,s)){r.next=12;break}return this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),Oo(e))),r.abrupt("return");case 12:if(u=e.addSimulcastTrack(t,c)){r.next=15;break}return r.abrupt("return");case 15:if((d=new Pn({cid:u.mediaStreamTrack.id,type:ka.kindToProto(e.kind),muted:e.isMuted,source:ka.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:s.videoCodec,cid:u.mediaStreamTrack.id}]})).layers=Ks(d.width,d.height,c),this.engine&&!this.engine.isClosed){r.next=19;break}throw new aa("cannot publish track when not connected");case 19:return l=function(){return Nr(f,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.engine.createSimulcastSender(e,u,s,c);case 2:return t.next=4,this.engine.negotiate();case 4:case"end":return t.stop()}}),t,this)})))},r.next=22,Promise.all([this.engine.addTrack(d),l()]);case 22:h=r.sent,p=h[0],this.log.debug("published ".concat(t," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:c,trackInfo:p}));case 25:case"end":return r.stop()}}),r,this)})))}},{key:"unpublishTrack",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o,s,c,u,d,l,h,p,f,v,m,g;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!ho(e)){n.next=6;break}if(!(o=this.pendingPublishPromises.get(e))){n.next=6;break}return this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),Oo(e))),n.next=6,o;case 6:if(s=this.getPublicationForTrack(e),c=s?Oo(s):void 0,this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),c)),s&&s.track){n.next=12;break}return this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),c)),n.abrupt("return",void 0);case 12:if((e=s.track).off(ea.Muted,this.onTrackMuted),e.off(ea.Unmuted,this.onTrackUnmuted),e.off(ea.Ended,this.handleTrackEnded),e.off(ea.UpstreamPaused,this.onTrackUpstreamPaused),e.off(ea.UpstreamResumed,this.onTrackUpstreamResumed),e.off(ea.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),void 0===t&&(t=null===(a=null===(r=this.roomOptions)||void 0===r?void 0:r.stopLocalTrackOnUnpublish)||void 0===a||a),t?e.stop():e.stopMonitor(),u=!1,d=e.sender,e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<ds.FAILED&&d)try{l=w(this.engine.pcManager.publisher.getTransceivers());try{for(l.s();!(h=l.n()).done;)(p=h.value).sender===d&&(p.direction="inactive",u=!0)}catch(e){l.e(e)}finally{l.f()}if(this.engine.removeTrack(d)&&(u=!0),vo(e)){f=w(e.simulcastCodecs);try{for(f.s();!(v=f.n()).done;)m=y(v.value,2),(g=m[1]).sender&&(this.engine.removeTrack(g.sender)&&(u=!0),g.sender=void 0)}catch(e){f.e(e)}finally{f.f()}e.simulcastCodecs.clear()}}catch(e){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),c),{error:e}))}this.trackPublications.delete(s.trackSid),n.t0=s.kind,n.next=n.t0===ka.Kind.Audio?29:n.t0===ka.Kind.Video?31:33;break;case 29:return this.audioTrackPublications.delete(s.trackSid),n.abrupt("break",33);case 31:return this.videoTrackPublications.delete(s.trackSid),n.abrupt("break",33);case 33:if(this.emit(Zi.LocalTrackUnpublished,s),s.setTrack(void 0),!u){n.next=38;break}return n.next=38,this.engine.negotiate();case 38:return n.abrupt("return",s);case 39:case"end":return n.stop()}}),n,this)})))}},{key:"unpublishTracks",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all(e.map((function(e){return r.unpublishTrack(e)})));case 2:return n=t.sent,t.abrupt("return",n.filter((function(e){return!!e})));case 4:case"end":return t.stop()}}),t)})))}},{key:"republishAllTracks",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=1>=arguments.length||void 0===arguments[1]||arguments[1];return i().mark((function r(){return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!t.republishPromise){r.next=3;break}return r.next=3,t.republishPromise;case 3:return t.republishPromise=new Promise((function(r,a){return Nr(t,void 0,void 0,i().mark((function t(){var o,s=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,o=[],this.trackPublications.forEach((function(t){t.track&&(e&&(t.options=Object.assign(Object.assign({},t.options),e)),o.push(t))})),t.next=5,Promise.all(o.map((function(e){return Nr(s,void 0,void 0,i().mark((function t(){var r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.track,t.next=3,this.unpublishTrack(r,!1);case 3:if(!n||r.isMuted||r.source===ka.Source.ScreenShare||r.source===ka.Source.ScreenShareAudio||!mo(r)&&!vo(r)||r.isUserProvided){t.next=7;break}return this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:e.trackSid})),t.next=7,r.restartTrack();case 7:return t.next=9,this.publishOrRepublishTrack(r,e.options,!0);case 9:case"end":return t.stop()}}),t,this)})))})));case 5:r(),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(0),a(t.t0);case 11:return t.prev=11,this.republishPromise=void 0,t.finish(11);case 14:case"end":return t.stop()}}),t,this,[[0,8,11,14]])})))})),r.next=6,t.republishPromise;case 6:case"end":return r.stop()}}),r)}))()}))}},{key:"publishData",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i().mark((function r(){var a,o,s,c;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return a=n.reliable?Jt.RELIABLE:Jt.LOSSY,o=n.destinationIdentities,s=n.topic,c=new Kt({kind:a,value:{case:"user",value:new Yt({participantIdentity:t.identity,payload:e,destinationIdentities:o,topic:s})}}),r.next=6,t.engine.sendDataPacket(c,a);case 6:case"end":return r.stop()}}),r)}))()}))}},{key:"publishDtmf",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=new Kt({kind:Jt.RELIABLE,value:{case:"sipDtmf",value:new Xt({code:e,digit:t})}}),n.next=3,this.engine.sendDataPacket(r,Jt.RELIABLE);case 3:case"end":return n.stop()}}),n,this)})))}},{key:"sendChatMessage",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:null==t?void 0:t.attachments},a=new Kt({value:{case:"chatMessage",value:new en(Object.assign(Object.assign({},r),{timestamp:le.parse(r.timestamp)}))}}),n.next=4,this.engine.sendDataPacket(a,Jt.RELIABLE);case 4:return this.emit(Zi.ChatMessage,r),n.abrupt("return",r);case 6:case"end":return n.stop()}}),n,this)})))}},{key:"editChatMessage",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),a=new Kt({value:{case:"chatMessage",value:new en(Object.assign(Object.assign({},r),{timestamp:le.parse(r.timestamp),editTimestamp:le.parse(r.editTimestamp)}))}}),n.next=4,this.engine.sendDataPacket(a,Jt.RELIABLE);case 4:return this.emit(Zi.ChatMessage,r),n.abrupt("return",r);case 6:case"end":return n.stop()}}),n,this)})))}},{key:"sendText",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o,s,c,u,d,l,h=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=crypto.randomUUID(),o=(new TextEncoder).encode(e),s=o.byteLength,c=null===(r=null==t?void 0:t.attachments)||void 0===r?void 0:r.map((function(){return crypto.randomUUID()})),u=new Array(c?c.length+1:1).fill(0),d=function(e,n){var r;u[n]=e;var i=u.reduce((function(e,t){return e+t}),0);null===(r=null==t?void 0:t.onProgress)||void 0===r||r.call(t,i)},n.next=8,this.streamText({streamId:a,totalSize:s,destinationIdentities:null==t?void 0:t.destinationIdentities,topic:null==t?void 0:t.topic,attachedStreamIds:c,attributes:null==t?void 0:t.attributes});case 8:return l=n.sent,n.next=11,l.write(e);case 11:return d(1,0),n.next=14,l.close();case 14:if(!(null==t?void 0:t.attachments)||!c){n.next=17;break}return n.next=17,Promise.all(t.attachments.map((function(e,n){return Nr(h,void 0,void 0,i().mark((function r(){return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this._sendFile(c[n],e,{topic:t.topic,mimeType:e.type,onProgress:function(e){d(e,n+1)}}));case 1:case"end":return r.stop()}}),r,this)})))})));case 17:return n.abrupt("return",l.info);case 18:case"end":return n.stop()}}),n,this)})))}},{key:"streamText",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p,f,v=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=null!==(n=null==e?void 0:e.streamId)&&void 0!==n?n:crypto.randomUUID(),o={id:a,mimeType:"text/plain",timestamp:Date.now(),topic:null!==(r=null==e?void 0:e.topic)&&void 0!==r?r:"",size:null==e?void 0:e.totalSize,attributes:null==e?void 0:e.attributes},s=new kn({streamId:a,mimeType:o.mimeType,topic:o.topic,timestamp:lo(o.timestamp),totalLength:lo(null==e?void 0:e.totalSize),attributes:o.attributes,contentHeader:{case:"textHeader",value:new mn({version:null==e?void 0:e.version,attachedStreamIds:null==e?void 0:e.attachedStreamIds,replyToStreamId:null==e?void 0:e.replyToStreamId,operationType:"update"===(null==e?void 0:e.type)?vn.UPDATE:vn.CREATE})}}),c=null==e?void 0:e.destinationIdentities,u=new Kt({destinationIdentities:c,value:{case:"streamHeader",value:s}}),t.next=7,this.engine.sendDataPacket(u,Jt.RELIABLE);case 7:return d=0,l=this,h=new WritableStream({write:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,o,s,u;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=w(yo(e,15e3)),t.prev=1,n.s();case 3:if((r=n.n()).done){t.next=14;break}return o=r.value,t.next=7,l.engine.waitForBufferStatusLow(Jt.RELIABLE);case 7:return s=new bn({content:o,streamId:a,chunkIndex:lo(d)}),u=new Kt({destinationIdentities:c,value:{case:"streamChunk",value:s}}),t.next=11,l.engine.sendDataPacket(u,Jt.RELIABLE);case 11:d+=1;case 12:t.next=3;break;case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(1),n.e(t.t0);case 19:return t.prev=19,n.f(),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[1,16,19,22]])})))},close:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new yn({streamId:a}),n=new Kt({destinationIdentities:c,value:{case:"streamTrailer",value:t}}),e.next=4,l.engine.sendDataPacket(n,Jt.RELIABLE);case 4:case"end":return e.stop()}}),e)})))},abort:function(e){}}),p=function(){return Nr(v,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.close();case 2:case"end":return e.stop()}}),e)})))},l.engine.once($i.Closing,p),f=new ac(h,o,(function(){return v.engine.off($i.Closing,p)})),t.abrupt("return",f);case 14:case"end":return t.stop()}}),t,this)})))}},{key:"sendFile",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=crypto.randomUUID(),n.next=3,this._sendFile(r,e,t);case 3:return n.abrupt("return",{id:r});case 4:case"end":return n.stop()}}),n,this)})))}},{key:"_sendFile",value:function(e,t,n){return Nr(this,void 0,void 0,i().mark((function r(){var a,o,s,c,u,d;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.streamBytes({streamId:e,totalSize:t.size,name:t.name,mimeType:null!==(a=null==n?void 0:n.mimeType)&&void 0!==a?a:t.type,topic:null==n?void 0:n.topic,destinationIdentities:null==n?void 0:n.destinationIdentities});case 2:o=r.sent,s=t.stream().getReader();case 4:return r.next=7,s.read();case 7:if(c=r.sent,u=c.done,d=c.value,!u){r.next=12;break}return r.abrupt("break",16);case 12:return r.next=14,o.write(d);case 14:r.next=4;break;case 16:return r.next=18,o.close();case 18:return r.abrupt("return",o.info);case 19:case"end":return r.stop()}}),r,this)})))}},{key:"streamBytes",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p,f,v,m,g,k;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c=null!==(n=null==e?void 0:e.streamId)&&void 0!==n?n:crypto.randomUUID(),u=null==e?void 0:e.destinationIdentities,d={id:c,mimeType:null!==(r=null==e?void 0:e.mimeType)&&void 0!==r?r:"application/octet-stream",topic:null!==(a=null==e?void 0:e.topic)&&void 0!==a?a:"",timestamp:Date.now(),attributes:null==e?void 0:e.attributes,size:null==e?void 0:e.totalSize,name:null!==(o=null==e?void 0:e.name)&&void 0!==o?o:"unknown"},l=new kn({totalLength:lo(null!==(s=d.size)&&void 0!==s?s:0),mimeType:d.mimeType,streamId:c,topic:d.topic,timestamp:lo(Date.now()),attributes:d.attributes,contentHeader:{case:"byteHeader",value:new gn({name:d.name})}}),h=new Kt({destinationIdentities:u,value:{case:"streamHeader",value:l}}),t.next=7,this.engine.sendDataPacket(h,Jt.RELIABLE);case 7:return p=0,f=new _,v=this.engine,m=this.log,g=new WritableStream({write:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,f.lock();case 2:n=t.sent,r=0,t.prev=4;case 5:if(r>=e.byteLength){t.next=16;break}return a=e.slice(r,r+15e3),t.next=9,v.waitForBufferStatusLow(Jt.RELIABLE);case 9:return o=new Kt({destinationIdentities:u,value:{case:"streamChunk",value:new bn({content:a,streamId:c,chunkIndex:lo(p)})}}),t.next=12,v.sendDataPacket(o,Jt.RELIABLE);case 12:p+=1,r+=a.byteLength,t.next=5;break;case 16:return t.prev=16,n(),t.finish(16);case 19:case"end":return t.stop()}}),t,null,[[4,,16,19]])})))},close:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new yn({streamId:c}),n=new Kt({destinationIdentities:u,value:{case:"streamTrailer",value:t}}),e.next=4,v.sendDataPacket(n,Jt.RELIABLE);case 4:case"end":return e.stop()}}),e)})))},abort:function(e){m.error("Sink error:",e)}}),k=new oc(g,d),t.abrupt("return",k);case 14:case"end":return t.stop()}}),t,this)})))}},{key:"performRpc",value:function(e){return Nr(this,arguments,void 0,(function(e){var t=this,n=e.destinationIdentity,r=e.method,a=e.payload,o=e.responseTimeout,s=void 0===o?1e4:o;return i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return 2e3,e.abrupt("return",new Promise((function(e,o){return Nr(t,void 0,void 0,i().mark((function t(){var c,u,d,l,h,p,f,v=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(bs(a)<=15360){t.next=3;break}return o(ks.builtIn("REQUEST_PAYLOAD_TOO_LARGE")),t.abrupt("return");case 3:if(!(null===(u=null===(c=this.engine.latestJoinResponse)||void 0===c?void 0:c.serverInfo)||void 0===u?void 0:u.version)||Qa(null===(l=null===(d=this.engine.latestJoinResponse)||void 0===d?void 0:d.serverInfo)||void 0===l?void 0:l.version,"1.8.0")>=0){t.next=6;break}return o(ks.builtIn("UNSUPPORTED_SERVER")),t.abrupt("return");case 6:return h=crypto.randomUUID(),t.next=9,this.publishRpcRequest(n,h,r,a,s-2e3);case 9:p=setTimeout((function(){v.pendingAcks.delete(h),o(ks.builtIn("CONNECTION_TIMEOUT")),v.pendingResponses.delete(h),clearTimeout(f)}),2e3),this.pendingAcks.set(h,{resolve:function(){clearTimeout(p)},participantIdentity:n}),f=setTimeout((function(){v.pendingResponses.delete(h),o(ks.builtIn("RESPONSE_TIMEOUT"))}),s),this.pendingResponses.set(h,{resolve:function(t,n){clearTimeout(f),v.pendingAcks.has(h)&&(v.pendingAcks.delete(h),clearTimeout(p)),n?o(n):e(null!=t?t:"")},participantIdentity:n});case 13:case"end":return t.stop()}}),t,this)})))})));case 2:case"end":return e.stop()}}),e)}))()}))}},{key:"registerRpcMethod",value:function(e,t){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,t)}},{key:"unregisterRpcMethod",value:function(e){this.rpcHandlers.delete(e)}},{key:"setTrackSubscriptionPermissions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.participantTrackPermissions=t,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}},{key:"handleIncomingRpcAck",value:function(e){var t=this.pendingAcks.get(e);t&&(t.resolve(),this.pendingAcks.delete(e))}},{key:"handleIncomingRpcResponse",value:function(e,t,n){var r=this.pendingResponses.get(e);r&&(r.resolve(t,n),this.pendingResponses.delete(e))}},{key:"publishRpcRequest",value:function(e,t,n,r,a){return Nr(this,void 0,void 0,i().mark((function o(){var s;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return s=new Kt({destinationIdentities:[e],kind:Jt.RELIABLE,value:{case:"rpcRequest",value:new tn({id:t,method:n,payload:r,responseTimeoutMs:a,version:1})}}),i.next=3,this.engine.sendDataPacket(s,Jt.RELIABLE);case 3:case"end":return i.stop()}}),o,this)})))}},{key:"handleParticipantDisconnected",value:function(e){var t,n=w(this.pendingAcks);try{for(n.s();!(t=n.n()).done;){var r=y(t.value,2),i=r[0];r[1].participantIdentity===e&&this.pendingAcks.delete(i)}}catch(e){n.e(e)}finally{n.f()}var a,o=w(this.pendingResponses);try{for(o.s();!(a=o.n()).done;){var s=y(a.value,2),c=s[0],u=s[1],d=u.participantIdentity,l=u.resolve;d===e&&(l(null,ks.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(c))}}catch(e){o.e(e)}finally{o.f()}}},{key:"setEnabledPublishCodecs",value:function(e){this.enabledPublishVideoCodecs=e.filter((function(e){return"video"===e.mime.split("/")[0].toLowerCase()}))}},{key:"updateInfo",value:function(e){var t=this;return!!b(f(n.prototype),"updateInfo",this).call(this,e)&&(e.tracks.forEach((function(e){var n,r,i=t.trackPublications.get(e.sid);if(i){var a=i.isMuted||null!==(r=null===(n=i.track)||void 0===n?void 0:n.isUpstreamPaused)&&void 0!==r&&r;a!==e.muted&&(t.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},t.logContext),Oo(i)),{mutedOnServer:a})),t.engine.client.sendMuteTrack(e.sid,a))}})),!0)}},{key:"setActiveAgent",value:function(e){var t,n,r,i;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?null===(n=null===(t=this.activeAgentFuture)||void 0===t?void 0:t.resolve)||void 0===n||n.call(t,e):null===(i=null===(r=this.activeAgentFuture)||void 0===r?void 0:r.reject)||void 0===i||i.call(r,"Agent disconnected"),this.activeAgentFuture=void 0}},{key:"waitUntilActiveAgentPresent",value:function(){return this.firstActiveAgent?Promise.resolve(this.firstActiveAgent):(this.activeAgentFuture||(this.activeAgentFuture=new ao),this.activeAgentFuture.promise)}},{key:"getPublicationForTrack",value:function(e){var t;return this.trackPublications.forEach((function(n){var r=n.track;r&&(e instanceof MediaStreamTrack?(mo(r)||vo(r))&&r.mediaStreamTrack===e&&(t=n):e===r&&(t=n))})),t}},{key:"waitForPendingPublicationOfSource",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=1e4,r=Date.now();case 2:if(Date.now()>=r+n){t.next=10;break}if(!(a=Array.from(this.pendingPublishPromises.entries()).find((function(t){return y(t,1)[0].source===e})))){t.next=6;break}return t.abrupt("return",a[1]);case 6:return t.next=8,Na(20);case 8:t.next=2;break;case 10:case"end":return t.stop()}}),t,this)})))}}]),n}(),yc=function(t){function n(t,r,i,a){var o;return u(this,n),(o=e(this,n,[t,r.sid,r.name,a])).track=void 0,o.allowed=!0,o.disabled=!1,o.currentVideoQuality=ma.HIGH,o.handleEnded=function(e){o.setTrack(void 0),o.emit(ea.Ended,e)},o.handleVisibilityChange=function(e){o.log.debug("adaptivestream video visibility ".concat(o.trackSid,", visible=").concat(e),o.logContext),o.disabled=!e,o.emitTrackUpdate()},o.handleVideoDimensionsChange=function(e){o.log.debug("adaptivestream video dimensions ".concat(e.width,"x").concat(e.height),o.logContext),o.videoDimensions=e,o.emitTrackUpdate()},o.subscribed=i,o.updateInfo(r),o}return p(n,pc),l(n,[{key:"setSubscribed",value:function(e){var t=this.subscriptionStatus,n=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);var r=new Ln({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new on({participantSid:"",trackSids:[this.trackSid]})]});this.emit(ea.UpdateSubscription,r),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(n)}},{key:"subscriptionStatus",get:function(){return!1===this.subscribed?pc.SubscriptionStatus.Unsubscribed:b(f(n.prototype),"isSubscribed",this)?pc.SubscriptionStatus.Subscribed:pc.SubscriptionStatus.Desired}},{key:"permissionStatus",get:function(){return this.allowed?pc.PermissionStatus.Allowed:pc.PermissionStatus.NotAllowed}},{key:"isSubscribed",get:function(){return!1!==this.subscribed&&b(f(n.prototype),"isSubscribed",this)}},{key:"isDesired",get:function(){return!1!==this.subscribed}},{key:"isEnabled",get:function(){return!this.disabled}},{key:"isLocal",get:function(){return!1}},{key:"setEnabled",value:function(e){this.isManualOperationAllowed()&&this.disabled!==!e&&(this.disabled=!e,this.emitTrackUpdate())}},{key:"setVideoQuality",value:function(e){this.isManualOperationAllowed()&&this.currentVideoQuality!==e&&(this.currentVideoQuality=e,this.videoDimensions=void 0,this.emitTrackUpdate())}},{key:"setVideoDimensions",value:function(e){var t,n;this.isManualOperationAllowed()&&((null===(t=this.videoDimensions)||void 0===t?void 0:t.width)===e.width&&(null===(n=this.videoDimensions)||void 0===n?void 0:n.height)===e.height||(bo(this.track)&&(this.videoDimensions=e),this.currentVideoQuality=void 0,this.emitTrackUpdate()))}},{key:"setVideoFPS",value:function(e){this.isManualOperationAllowed()&&bo(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}},{key:"videoQuality",get:function(){return this.currentVideoQuality}},{key:"setTrack",value:function(e){var t=this.subscriptionStatus,r=this.permissionStatus,i=this.track;i!==e&&(i&&(i.off(ea.VideoDimensionsChanged,this.handleVideoDimensionsChange),i.off(ea.VisibilityChanged,this.handleVisibilityChange),i.off(ea.Ended,this.handleEnded),i.detach(),i.stopMonitor(),this.emit(ea.Unsubscribed,i)),b(f(n.prototype),"setTrack",this).call(this,e),e&&(e.sid=this.trackSid,e.on(ea.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(ea.VisibilityChanged,this.handleVisibilityChange),e.on(ea.Ended,this.handleEnded),this.emit(ea.Subscribed,e)),this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(t))}},{key:"setAllowed",value:function(e){var t=this.subscriptionStatus,n=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(n),this.emitSubscriptionUpdateIfChanged(t)}},{key:"setSubscriptionError",value:function(e){this.emit(ea.SubscriptionFailed,e)}},{key:"updateInfo",value:function(e){b(f(n.prototype),"updateInfo",this).call(this,e);var t=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):t!==e.muted&&this.emit(e.muted?ea.Muted:ea.Unmuted)}},{key:"emitSubscriptionUpdateIfChanged",value:function(e){var t=this.subscriptionStatus;e!==t&&this.emit(ea.SubscriptionStatusChanged,t,e)}},{key:"emitPermissionUpdateIfChanged",value:function(e){this.permissionStatus!==e&&this.emit(ea.SubscriptionPermissionChanged,this.permissionStatus,e)}},{key:"isManualOperationAllowed",value:function(){return this.kind===ka.Kind.Video&&this.isAdaptiveStream?(this.log.warn("adaptive stream is enabled, cannot change video track settings",this.logContext),!1):!!this.isDesired||(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}},{key:"isAdaptiveStream",get:function(){return bo(this.track)&&this.track.isAdaptiveStream}},{key:"emitTrackUpdate",value:function(){var e=new Un({trackSids:[this.trackSid],disabled:this.disabled,fps:this.fps});this.videoDimensions?(e.width=Math.ceil(this.videoDimensions.width),e.height=Math.ceil(this.videoDimensions.height)):void 0!==this.currentVideoQuality?e.quality=this.currentVideoQuality:e.quality=ma.HIGH,this.emit(ea.UpdateSettings,e)}}]),n}(),Sc=function(t){function n(t,r,i,a,o,s,c){var d;return u(this,n),(d=e(this,n,[r,i||"",a,o,s,c,arguments.length>7&&void 0!==arguments[7]?arguments[7]:Bt.STANDARD])).signalClient=t,d.trackPublications=new Map,d.audioTrackPublications=new Map,d.videoTrackPublications=new Map,d.volumeMap=new Map,d}return p(n,gc),l(n,[{key:"logContext",get:function(){return Object.assign(Object.assign({},b(f(n.prototype),"logContext",this)),{rpID:this.sid,remoteParticipant:this.identity})}},{key:"addTrackPublication",value:function(e){var t=this;b(f(n.prototype),"addTrackPublication",this).call(this,e),e.on(ea.UpdateSettings,(function(n){t.log.debug("send update settings",Object.assign(Object.assign({},t.logContext),Oo(e))),t.signalClient.sendUpdateTrackSettings(n)})),e.on(ea.UpdateSubscription,(function(e){e.participantTracks.forEach((function(e){e.participantSid=t.sid})),t.signalClient.sendUpdateSubscription(e)})),e.on(ea.SubscriptionPermissionChanged,(function(n){t.emit(Zi.TrackSubscriptionPermissionChanged,e,n)})),e.on(ea.SubscriptionStatusChanged,(function(n){t.emit(Zi.TrackSubscriptionStatusChanged,e,n)})),e.on(ea.Subscribed,(function(n){t.emit(Zi.TrackSubscribed,n,e)})),e.on(ea.Unsubscribed,(function(n){t.emit(Zi.TrackUnsubscribed,n,e)})),e.on(ea.SubscriptionFailed,(function(n){t.emit(Zi.TrackSubscriptionFailed,e.trackSid,n)}))}},{key:"getTrackPublication",value:function(e){var t=b(f(n.prototype),"getTrackPublication",this).call(this,e);if(t)return t}},{key:"getTrackPublicationByName",value:function(e){var t=b(f(n.prototype),"getTrackPublicationByName",this).call(this,e);if(t)return t}},{key:"setVolume",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ka.Source.Microphone;this.volumeMap.set(t,e);var n=this.getTrackPublication(t);n&&n.track&&n.track.setVolume(e)}},{key:"getVolume",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ka.Source.Microphone,t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}},{key:"addSubscribedMediaTrack",value:function(e,t,n,r,i,a){var o,s=this,c=this.getTrackPublicationBySid(t);return c||t.startsWith("TR")||this.trackPublications.forEach((function(t){c||e.kind!==t.kind.toString()||(c=t)})),c?"ended"===e.readyState?(this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),Oo(c))),void this.emit(Zi.TrackSubscriptionFailed,t)):((o="video"===e.kind?new uc(e,t,r,i):new cc(e,t,r,this.audioContext,this.audioOutput)).source=c.source,o.isMuted=c.isMuted,o.setMediaStream(n),o.start(),c.setTrack(o),this.volumeMap.has(c.source)&&go(o)&&po(o)&&o.setVolume(this.volumeMap.get(c.source)),c):0===a?(this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:t})),void this.emit(Zi.TrackSubscriptionFailed,t)):(void 0===a&&(a=20),void setTimeout((function(){s.addSubscribedMediaTrack(e,t,n,r,i,a-1)}),150))}},{key:"hasMetadata",get:function(){return!!this.participantInfo}},{key:"getTrackPublicationBySid",value:function(e){return this.trackPublications.get(e)}},{key:"updateInfo",value:function(e){var t=this;if(!b(f(n.prototype),"updateInfo",this).call(this,e))return!1;var r=new Map,i=new Map;return e.tracks.forEach((function(e){var n,a,o=t.getTrackPublicationBySid(e.sid);if(o)o.updateInfo(e);else{var s=ka.kindFromProto(e.type);if(!s)return;(o=new yc(s,e,null===(n=t.signalClient.connectOptions)||void 0===n?void 0:n.autoSubscribe,{loggerContextCb:function(){return t.logContext},loggerName:null===(a=t.loggerOptions)||void 0===a?void 0:a.loggerName})).updateInfo(e),i.set(e.sid,o);var c=Array.from(t.trackPublications.values()).find((function(e){return e.source===(null==o?void 0:o.source)}));c&&o.source!==ka.Source.Unknown&&t.log.debug("received a second track publication for ".concat(t.identity," with the same source: ").concat(o.source),Object.assign(Object.assign({},t.logContext),{oldTrack:Oo(c),newTrack:Oo(o)})),t.addTrackPublication(o)}r.set(e.sid,o)})),this.trackPublications.forEach((function(e){r.has(e.trackSid)||(t.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},t.logContext),Oo(e))),t.unpublishTrack(e.trackSid,!0))})),i.forEach((function(e){t.emit(Zi.TrackPublished,e)})),!0}},{key:"unpublishTrack",value:function(e,t){var n=this.trackPublications.get(e);if(n){var r=n.track;switch(r&&(r.stop(),n.setTrack(void 0)),this.trackPublications.delete(e),n.kind){case ka.Kind.Audio:this.audioTrackPublications.delete(e);break;case ka.Kind.Video:this.videoTrackPublications.delete(e);break}t&&this.emit(Zi.TrackUnpublished,n)}}},{key:"setAudioOutput",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.audioOutput=e,n=[],this.audioTrackPublications.forEach((function(t){var r;po(t.track)&&go(t.track)&&n.push(t.track.setSinkId(null!==(r=e.deviceId)&&void 0!==r?r:"default"))})),t.next=5,Promise.all(n);case 5:case"end":return t.stop()}}),t,this)})))}},{key:"emit",value:function(e){for(var t,r=arguments.length,i=new Array(r>1?r-1:0),a=1;r>a;a++)i[a-1]=arguments[a];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:i})),(t=b(f(n.prototype),"emit",this)).call.apply(t,[this,e].concat(i))}}],[{key:"fromParticipantInfo",value:function(e,t,r){return new n(e,t.sid,t.identity,t.name,t.metadata,t.attributes,r,t.kind)}}]),n}();!function(e){e.Disconnected="disconnected",e.Connecting="connecting",e.Connected="connected",e.Reconnecting="reconnecting",e.SignalReconnecting="signalReconnecting"}(kc||(kc={}));var Tc,Cc=function(t){function n(t){var r,a,s,c,d;if(u(this,n),r=e(this,n),a=k(r),r.state=kc.Disconnected,r.activeSpeakers=[],r.isE2EEEnabled=!1,r.audioEnabled=!0,r.isVideoPlaybackBlocked=!1,r.log=wr,r.bufferedEvents=[],r.isResuming=!1,r.byteStreamControllers=new Map,r.textStreamControllers=new Map,r.byteStreamHandlers=new Map,r.textStreamHandlers=new Map,r.rpcHandlers=new Map,r.connect=function(e,t,n){return Nr(k(r),void 0,void 0,i().mark((function r(){var a,o,s,c,u=this;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("undefined"!=typeof RTCPeerConnection&&(Da()||Ma())){r.next=6;break}if(!qa()){r.next=5;break}throw Error("WebRTC isn't detected, have you called registerGlobals?");case 5:throw Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");case 6:return r.next=8,this.disconnectLock.lock();case 8:if(o=r.sent,this.state!==kc.Connected){r.next=13;break}return this.log.info("already connected to room ".concat(this.name),this.logContext),o(),r.abrupt("return",Promise.resolve());case 13:if(!this.connectFuture){r.next=16;break}return o(),r.abrupt("return",this.connectFuture.promise);case 16:return this.setAndEmitConnectionState(kc.Connecting),(null===(a=this.regionUrlProvider)||void 0===a?void 0:a.getServerUrl().toString())!==e&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),Ga(new URL(e))&&(void 0===this.regionUrlProvider?this.regionUrlProvider=new ec(e,t):this.regionUrlProvider.updateToken(t),this.regionUrlProvider.fetchRegionSettings().then((function(e){var t;null===(t=u.regionUrlProvider)||void 0===t||t.setServerReportedRegions(e)})).catch((function(e){u.log.warn("could not fetch region settings",Object.assign(Object.assign({},u.logContext),{error:e}))}))),s=function r(a,s,c){return Nr(u,void 0,void 0,i().mark((function u(){var d,l,h,p,f;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return this.abortController&&this.abortController.abort(),h=new AbortController,this.abortController=h,null==o||o(),i.prev=4,i.next=7,this.attemptConnection(null!=c?c:e,t,n,h);case 7:this.abortController=void 0,a(),i.next=42;break;case 11:if(i.prev=11,i.t0=i.catch(4),!(this.regionUrlProvider&&i.t0 instanceof ta&&i.t0.reason!==Ji.Cancelled&&i.t0.reason!==Ji.NotAllowed)){i.next=38;break}return p=null,i.prev=15,i.next=18,this.regionUrlProvider.getNextBestRegionUrl(null===(d=this.abortController)||void 0===d?void 0:d.signal);case 18:p=i.sent,i.next=27;break;case 21:if(i.prev=21,i.t1=i.catch(15),!(i.t1 instanceof ta)||401!==i.t1.status&&i.t1.reason!==Ji.Cancelled){i.next=27;break}return this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),s(i.t1),i.abrupt("return");case 27:if(!p||(null===(l=this.abortController)||void 0===l?void 0:l.signal.aborted)){i.next=34;break}return this.log.info("Initial connection failed with ConnectionError: ".concat(i.t0.message,". Retrying with another region: ").concat(p),this.logContext),this.recreateEngine(),i.next=32,r(a,s,p);case 32:i.next=36;break;case 34:this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,co(i.t0)),s(i.t0);case 36:i.next=42;break;case 38:f=Nt.UNKNOWN_REASON,i.t0 instanceof ta&&(f=co(i.t0)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,f),s(i.t0);case 42:case"end":return i.stop()}}),u,this,[[4,11],[15,21]])})))},c=this.regionUrl,this.regionUrl=void 0,this.connectFuture=new ao((function(e,t){s(e,t,c)}),(function(){u.clearConnectionFutures()})),r.abrupt("return",this.connectFuture.promise);case 24:case"end":return r.stop()}}),r,this)})))},r.connectSignal=function(e,t,n,a,s,c){return Nr(k(r),void 0,void 0,i().mark((function r(){var u,d,l,h,p;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,n.join(e,t,{autoSubscribe:a.autoSubscribe,adaptiveStream:"object"===o(s.adaptiveStream)||s.adaptiveStream,maxRetries:a.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:a.websocketTimeout},c.signal);case 2:if(h=r.sent,(p=h.serverInfo)||(p={version:h.serverVersion,region:h.serverRegion}),this.serverInfo=p,this.log.debug("connected to Livekit Server ".concat(Object.entries(p).map((function(e){var t=y(e,2),n=t[0],r=t[1];return"".concat(n,": ").concat(r)})).join(", ")),{room:null===(u=h.room)||void 0===u?void 0:u.name,roomSid:null===(d=h.room)||void 0===d?void 0:d.sid,identity:null===(l=h.participant)||void 0===l?void 0:l.identity}),p.version){r.next=9;break}throw new ia("unknown server version");case 9:return"0.15.1"===p.version&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),s.dynacast=!1),r.abrupt("return",h);case 11:case"end":return r.stop()}}),r,this)})))},r.applyJoinResponse=function(e){var t=e.participant;if(r.localParticipant.sid=t.sid,r.localParticipant.identity=t.identity,r.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),r.options.e2ee&&r.e2eeManager)try{r.e2eeManager.setSifTrailer(e.sifTrailer)}catch(e){r.log.error(e instanceof Error?e.message:"Could not set SifTrailer",Object.assign(Object.assign({},r.logContext),{error:e}))}r.handleParticipantUpdates([t].concat(S(e.otherParticipants))),e.room&&r.handleRoomUpdate(e.room)},r.attemptConnection=function(e,t,n,a){return Nr(k(r),void 0,void 0,i().mark((function r(){var o,s,c,u;return i().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return this.state===kc.Reconnecting||this.isResuming||(null===(o=this.engine)||void 0===o?void 0:o.pendingReconnect)?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),(null===(s=this.regionUrlProvider)||void 0===s?void 0:s.isCloud())&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},ms),n),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout),r.prev=6,r.next=9,this.connectSignal(e,t,this.engine,this.connOptions,this.options,a);case 9:c=r.sent,this.applyJoinResponse(c),this.setupLocalParticipantEvents(),this.emit(Xi.SignalConnected),r.next=25;break;case 15:return r.prev=15,r.t0=r.catch(6),r.next=19,this.engine.close();case 19:throw this.recreateEngine(),u=new ta("could not establish signal connection",Ji.ServerUnreachable),r.t0 instanceof Error&&(u.message="".concat(u.message,": ").concat(r.t0.message)),r.t0 instanceof ta&&(u.reason=r.t0.reason,u.status=r.t0.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:r.t0})),u;case 25:if(!a.signal.aborted){r.next=30;break}return r.next=28,this.engine.close();case 28:throw this.recreateEngine(),new ta("Connection attempt aborted",Ji.Cancelled);case 30:return r.prev=30,r.next=33,this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,a);case 33:r.next=41;break;case 35:return r.prev=35,r.t1=r.catch(30),r.next=39,this.engine.close();case 39:throw this.recreateEngine(),r.t1;case 41:Va()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),Va()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(kc.Connected),this.emit(Xi.Connected),this.registerConnectionReconcile();case 46:case"end":return r.stop()}}),r,this,[[6,15],[30,35]])})))},r.disconnect=function(){for(var e=arguments.length,t=new Array(e),n=0;e>n;n++)t[n]=arguments[n];return Nr(a,[].concat(t),void 0,(function(){var e=this,t=0>=arguments.length||void 0===arguments[0]||arguments[0];return i().mark((function n(){var r,a,o,s,c;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.disconnectLock.lock();case 2:if(c=n.sent,n.prev=3,e.state!==kc.Disconnected){n.next=7;break}return e.log.debug("already disconnected",e.logContext),n.abrupt("return");case 7:if(e.log.info("disconnect from room",Object.assign({},e.logContext)),(e.state===kc.Connecting||e.state===kc.Reconnecting||e.isResuming)&&(e.log.warn("abort connection attempt",e.logContext),null===(r=e.abortController)||void 0===r||r.abort(),null===(o=null===(a=e.connectFuture)||void 0===a?void 0:a.reject)||void 0===o||o.call(a,new ta("Client initiated disconnect",Ji.Cancelled)),e.connectFuture=void 0),null===(s=e.engine)||void 0===s?void 0:s.client.isDisconnected){n.next=12;break}return n.next=12,e.engine.client.sendLeave();case 12:if(!e.engine){n.next=15;break}return n.next=15,e.engine.close();case 15:e.handleDisconnect(t,Nt.CLIENT_INITIATED),e.engine=void 0;case 17:return n.prev=17,c(),n.finish(17);case 20:case"end":return n.stop()}}),n,null,[[3,,17,20]])}))()}))},r.onPageLeave=function(){return Nr(k(r),void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.log.info("Page leave detected, disconnecting",this.logContext),e.next=3,this.disconnect();case 3:case"end":return e.stop()}}),e,this)})))},r.startAudio=function(){return Nr(k(r),void 0,void 0,i().mark((function e(){var t,n,r,a,o,s,c=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],(n=la())&&"iOS"===n.os&&(r="livekit-dummy-audio-el",(a=document.getElementById(r))||((a=document.createElement("audio")).id=r,a.autoplay=!0,a.hidden=!0,(o=io()).enabled=!0,s=new MediaStream([o]),a.srcObject=s,document.addEventListener("visibilitychange",(function(){a&&(a.srcObject=document.hidden?null:s,document.hidden||(c.log.debug("page visible again, triggering startAudio to resume playback and update playback status",c.logContext),c.startAudio()))})),document.body.append(a),this.once(Xi.Disconnected,(function(){null==a||a.remove(),a=null}))),t.push(a)),this.remoteParticipants.forEach((function(e){e.audioTrackPublications.forEach((function(e){e.track&&e.track.attachedElements.forEach((function(e){t.push(e)}))}))})),e.prev=4,e.next=7,Promise.all([this.acquireAudioContext()].concat(S(t.map((function(e){return e.muted=!1,e.play()})))));case 7:this.handleAudioPlaybackStarted(),e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(4),this.handleAudioPlaybackFailed(e.t0),e.t0;case 14:case"end":return e.stop()}}),e,this,[[4,10]])})))},r.startVideo=function(){return Nr(k(r),void 0,void 0,i().mark((function e(){var t,n,r,a=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=[],n=w(this.remoteParticipants.values());try{for(n.s();!(r=n.n()).done;)r.value.videoTrackPublications.forEach((function(e){var n;null===(n=e.track)||void 0===n||n.attachedElements.forEach((function(e){t.includes(e)||t.push(e)}))}))}catch(e){n.e(e)}finally{n.f()}return e.next=5,Promise.all(t.map((function(e){return e.play()}))).then((function(){a.handleVideoPlaybackStarted()})).catch((function(e){"NotAllowedError"===e.name?a.handleVideoPlaybackFailed():a.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",a.logContext)}));case 5:case"end":return e.stop()}}),e,this)})))},r.handleRestarting=function(){r.clearConnectionReconcile(),r.isResuming=!1;var e,t=w(r.remoteParticipants.values());try{for(t.s();!(e=t.n()).done;){var n=e.value;r.handleParticipantDisconnected(n.identity,n)}}catch(e){t.e(e)}finally{t.f()}r.setAndEmitConnectionState(kc.Reconnecting)&&r.emit(Xi.Reconnecting)},r.handleSignalRestarted=function(e){return Nr(k(r),void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.log.debug("signal reconnected to server, region ".concat(e.serverRegion),Object.assign(Object.assign({},this.logContext),{region:e.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(e),t.prev=3,t.next=6,this.localParticipant.republishAllTracks(void 0,!0);case 6:t.next=11;break;case 8:t.prev=8,t.t0=t.catch(3),this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:t.t0}));case 11:return t.prev=11,t.next=14,this.engine.waitForRestarted();case 14:this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:e.serverRegion})),t.next=20;break;case 17:return t.prev=17,t.t1=t.catch(11),t.abrupt("return");case 20:this.setAndEmitConnectionState(kc.Connected),this.emit(Xi.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents();case 24:case"end":return t.stop()}}),t,this,[[3,8],[11,17]])})))},r.handleParticipantUpdates=function(e){e.forEach((function(e){var t;if(e.identity!==r.localParticipant.identity){""===e.identity&&(e.identity=null!==(t=r.sidToIdentity.get(e.sid))&&void 0!==t?t:"");var n=r.remoteParticipants.get(e.identity);e.state===Ft.DISCONNECTED?r.handleParticipantDisconnected(e.identity,n):n=r.getOrCreateParticipant(e.identity,e)}else r.localParticipant.updateInfo(e)}))},r.handleActiveSpeakersUpdate=function(e){var t=[],n={};e.forEach((function(e){if(n[e.sid]=!0,e.sid===r.localParticipant.sid)r.localParticipant.audioLevel=e.level,r.localParticipant.setIsSpeaking(!0),t.push(r.localParticipant);else{var i=r.getRemoteParticipantBySid(e.sid);i&&(i.audioLevel=e.level,i.setIsSpeaking(!0),t.push(i))}})),n[r.localParticipant.sid]||(r.localParticipant.audioLevel=0,r.localParticipant.setIsSpeaking(!1)),r.remoteParticipants.forEach((function(e){n[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))})),r.activeSpeakers=t,r.emitWhenConnected(Xi.ActiveSpeakersChanged,t)},r.handleSpeakersChanged=function(e){var t=new Map;r.activeSpeakers.forEach((function(e){var n=r.remoteParticipants.get(e.identity);n&&n.sid!==e.sid||t.set(e.sid,e)})),e.forEach((function(e){var n=r.getRemoteParticipantBySid(e.sid);e.sid===r.localParticipant.sid&&(n=r.localParticipant),n&&(n.audioLevel=e.level,n.setIsSpeaking(e.active),e.active?t.set(e.sid,n):t.delete(e.sid))}));var n=Array.from(t.values());n.sort((function(e,t){return t.audioLevel-e.audioLevel})),r.activeSpeakers=n,r.emitWhenConnected(Xi.ActiveSpeakersChanged,n)},r.handleStreamStateUpdate=function(e){e.streamStates.forEach((function(e){var t=r.getRemoteParticipantBySid(e.participantSid);if(t){var n=t.getTrackPublicationBySid(e.trackSid);if(n&&n.track){var i=ka.streamStateFromProto(e.state);i!==n.track.streamState&&(n.track.streamState=i,t.emit(Zi.TrackStreamStateChanged,n,n.track.streamState),r.emitWhenConnected(Xi.TrackStreamStateChanged,n,n.track.streamState,t))}}}))},r.handleSubscriptionPermissionUpdate=function(e){var t=r.getRemoteParticipantBySid(e.participantSid);if(t){var n=t.getTrackPublicationBySid(e.trackSid);n&&n.setAllowed(e.allowed)}},r.handleSubscriptionError=function(e){var t=Array.from(r.remoteParticipants.values()).find((function(t){return t.trackPublications.has(e.trackSid)}));if(t){var n=t.getTrackPublicationBySid(e.trackSid);n&&n.setSubscriptionError(e.err)}},r.handleDataPacket=function(e){var t=r.remoteParticipants.get(e.participantIdentity);if("user"===e.value.case)r.handleUserPacket(t,e.value.value,e.kind);else if("transcription"===e.value.case)r.handleTranscription(t,e.value.value);else if("sipDtmf"===e.value.case)r.handleSipDtmf(t,e.value.value);else if("chatMessage"===e.value.case)r.handleChatMessage(t,e.value.value);else if("metrics"===e.value.case)r.handleMetrics(e.value.value,t);else if("streamHeader"===e.value.case)r.handleStreamHeader(e.value.value,e.participantIdentity);else if("streamChunk"===e.value.case)r.handleStreamChunk(e.value.value);else if("streamTrailer"===e.value.case)r.handleStreamTrailer(e.value.value);else if("rpcRequest"===e.value.case){var n=e.value.value;r.handleIncomingRpcRequest(e.participantIdentity,n.id,n.method,n.payload,n.responseTimeoutMs,n.version)}},r.handleUserPacket=function(e,t,n){r.emit(Xi.DataReceived,t.payload,e,n,t.topic),null==e||e.emit(Zi.DataReceived,t.payload,n)},r.handleSipDtmf=function(e,t){r.emit(Xi.SipDTMFReceived,t,e),null==e||e.emit(Zi.SipDTMFReceived,t)},r.bufferedSegments=new Map,r.handleTranscription=function(e,t){var n=t.transcribedParticipantIdentity===r.localParticipant.identity?r.localParticipant:r.getParticipantByIdentity(t.transcribedParticipantIdentity),i=null==n?void 0:n.trackPublications.get(t.trackId),a=function(e,t){return e.segments.map((function(e){var n,r=e.id,i=e.text,a=e.language,o=e.startTime,s=e.endTime,c=e.final,u=null!==(n=t.get(r))&&void 0!==n?n:Date.now(),d=Date.now();return c?t.delete(r):t.set(r,u),{id:r,text:i,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(s.toString()),final:c,language:a,firstReceivedTime:u,lastReceivedTime:d}}))}(t,r.transcriptionReceivedTimes);null==i||i.emit(ea.TranscriptionReceived,a),null==n||n.emit(Zi.TranscriptionReceived,a,i),r.emit(Xi.TranscriptionReceived,a,n,i)},r.handleChatMessage=function(e,t){var n=function(e){var t=e.id,n=e.timestamp,r=e.message,i=e.editTimestamp;return{id:t,timestamp:Number.parseInt(n.toString()),editTimestamp:i?Number.parseInt(i.toString()):void 0,message:r}}(t);r.emit(Xi.ChatMessage,n,e)},r.handleMetrics=function(e,t){r.emit(Xi.MetricsReceived,e,t)},r.handleAudioPlaybackStarted=function(){r.canPlaybackAudio||(r.audioEnabled=!0,r.emit(Xi.AudioPlaybackStatusChanged,!0))},r.handleAudioPlaybackFailed=function(e){r.log.warn("could not playback audio",Object.assign(Object.assign({},r.logContext),{error:e})),r.canPlaybackAudio&&(r.audioEnabled=!1,r.emit(Xi.AudioPlaybackStatusChanged,!1))},r.handleVideoPlaybackStarted=function(){r.isVideoPlaybackBlocked&&(r.isVideoPlaybackBlocked=!1,r.emit(Xi.VideoPlaybackStatusChanged,!0))},r.handleVideoPlaybackFailed=function(){r.isVideoPlaybackBlocked||(r.isVideoPlaybackBlocked=!0,r.emit(Xi.VideoPlaybackStatusChanged,!1))},r.handleDeviceChange=function(){return Nr(k(r),void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("iOS"===(null===(t=la())||void 0===t?void 0:t.os)){e.next=3;break}return e.next=3,this.selectDefaultDevices();case 3:this.emit(Xi.MediaDevicesChanged);case 4:case"end":return e.stop()}}),e,this)})))},r.handleRoomUpdate=function(e){var t=r.roomInfo;r.roomInfo=e,t&&t.metadata!==e.metadata&&r.emitWhenConnected(Xi.RoomMetadataChanged,e.metadata),(null==t?void 0:t.activeRecording)!==e.activeRecording&&r.emitWhenConnected(Xi.RecordingStatusChanged,e.activeRecording)},r.handleConnectionQualityUpdate=function(e){e.updates.forEach((function(e){if(e.participantSid!==r.localParticipant.sid){var t=r.getRemoteParticipantBySid(e.participantSid);t&&t.setConnectionQuality(e.quality)}else r.localParticipant.setConnectionQuality(e.quality)}))},r.onLocalParticipantMetadataChanged=function(e){r.emit(Xi.ParticipantMetadataChanged,e,r.localParticipant)},r.onLocalParticipantNameChanged=function(e){r.emit(Xi.ParticipantNameChanged,e,r.localParticipant)},r.onLocalAttributesChanged=function(e){r.emit(Xi.ParticipantAttributesChanged,e,r.localParticipant)},r.onLocalTrackMuted=function(e){r.emit(Xi.TrackMuted,e,r.localParticipant)},r.onLocalTrackUnmuted=function(e){r.emit(Xi.TrackUnmuted,e,r.localParticipant)},r.onTrackProcessorUpdate=function(e){var t;null===(t=null==e?void 0:e.onPublish)||void 0===t||t.call(e,k(r))},r.onLocalTrackPublished=function(e){return Nr(k(r),void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null===(n=e.track)||void 0===n||n.on(ea.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(r=e.track)||void 0===r||r.on(ea.Restarted,this.onLocalTrackRestarted),null===(s=null===(o=null===(a=e.track)||void 0===a?void 0:a.getProcessor())||void 0===o?void 0:o.onPublish)||void 0===s||s.call(o,this),this.emit(Xi.LocalTrackPublished,e,this.localParticipant),!mo(e.track)){t.next=9;break}return t.next=7,e.track.checkForSilence();case 7:t.sent&&this.emit(Xi.LocalAudioSilenceDetected,e);case 9:return t.next=11,null===(c=e.track)||void 0===c?void 0:c.getDeviceId(!1);case 11:u=t.sent,(d=Po(e.source))&&u&&u!==this.localParticipant.activeDeviceMap.get(d)&&(this.localParticipant.activeDeviceMap.set(d,u),this.emit(Xi.ActiveDeviceChanged,d,u));case 14:case"end":return t.stop()}}),t,this)})))},r.onLocalTrackUnpublished=function(e){var t,n;null===(t=e.track)||void 0===t||t.off(ea.TrackProcessorUpdate,r.onTrackProcessorUpdate),null===(n=e.track)||void 0===n||n.off(ea.Restarted,r.onLocalTrackRestarted),r.emit(Xi.LocalTrackUnpublished,e,r.localParticipant)},r.onLocalTrackRestarted=function(e){return Nr(k(r),void 0,void 0,i().mark((function t(){var n,r;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getDeviceId(!1);case 2:n=t.sent,(r=Po(e.source))&&n&&n!==this.localParticipant.activeDeviceMap.get(r)&&(this.log.debug("local track restarted, setting ".concat(r," ").concat(n," active"),this.logContext),this.localParticipant.activeDeviceMap.set(r,n),this.emit(Xi.ActiveDeviceChanged,r,n));case 5:case"end":return t.stop()}}),t,this)})))},r.onLocalConnectionQualityChanged=function(e){r.emit(Xi.ConnectionQualityChanged,e,r.localParticipant)},r.onMediaDevicesError=function(e,t){r.emit(Xi.MediaDevicesError,e,t)},r.onLocalParticipantPermissionsChanged=function(e){r.emit(Xi.ParticipantPermissionsChanged,e,r.localParticipant)},r.onLocalChatMessageSent=function(e){r.emit(Xi.ChatMessage,e,r.localParticipant)},r.setMaxListeners(100),r.remoteParticipants=new Map,r.sidToIdentity=new Map,r.options=Object.assign(Object.assign({},vs),t),r.log=Er(null!==(s=r.options.loggerName)&&void 0!==s?s:Tr.Room),r.transcriptionReceivedTimes=new Map,r.options.audioCaptureDefaults=Object.assign(Object.assign({},ps),null==t?void 0:t.audioCaptureDefaults),r.options.videoCaptureDefaults=Object.assign(Object.assign({},fs),null==t?void 0:t.videoCaptureDefaults),r.options.publishDefaults=Object.assign(Object.assign({},hs),null==t?void 0:t.publishDefaults),r.maybeCreateEngine(),r.disconnectLock=new _,r.localParticipant=new bc("","",r.engine,r.options,r.rpcHandlers),r.options.videoCaptureDefaults.deviceId&&r.localParticipant.activeDeviceMap.set("videoinput",oo(r.options.videoCaptureDefaults.deviceId)),r.options.audioCaptureDefaults.deviceId&&r.localParticipant.activeDeviceMap.set("audioinput",oo(r.options.audioCaptureDefaults.deviceId)),(null===(c=r.options.audioOutput)||void 0===c?void 0:c.deviceId)&&r.switchActiveDevice("audiooutput",oo(r.options.audioOutput.deviceId)).catch((function(e){return r.log.warn("Could not set audio output: ".concat(e.message),r.logContext)})),r.options.e2ee&&r.setupE2EE(),Va()){var l=new AbortController;null===(d=navigator.mediaDevices)||void 0===d||d.addEventListener("devicechange",r.handleDeviceChange,{signal:l.signal}),n.cleanupRegistry&&n.cleanupRegistry.register(k(r),(function(){l.abort()}))}return r}return p(n,Lr.EventEmitter),l(n,[{key:"registerTextStreamHandler",value:function(e,t){if(this.textStreamHandlers.has(e))throw new TypeError('A text stream handler for topic "'.concat(e,'" has already been set.'));this.textStreamHandlers.set(e,t)}},{key:"unregisterTextStreamHandler",value:function(e){this.textStreamHandlers.delete(e)}},{key:"registerByteStreamHandler",value:function(e,t){if(this.byteStreamHandlers.has(e))throw new TypeError('A byte stream handler for topic "'.concat(e,'" has already been set.'));this.byteStreamHandlers.set(e,t)}},{key:"unregisterByteStreamHandler",value:function(e){this.byteStreamHandlers.delete(e)}},{key:"registerRpcMethod",value:function(e,t){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,t)}},{key:"unregisterRpcMethod",value:function(e){this.rpcHandlers.delete(e)}},{key:"handleIncomingRpcRequest",value:function(e,t,n,r,a,o){return Nr(this,void 0,void 0,i().mark((function s(){var c,u,d,l;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,this.engine.publishRpcAck(e,t);case 2:if(1===o){i.next=6;break}return i.next=5,this.engine.publishRpcResponse(e,t,null,ks.builtIn("UNSUPPORTED_VERSION"));case 5:return i.abrupt("return");case 6:if(c=this.rpcHandlers.get(n)){i.next=11;break}return i.next=10,this.engine.publishRpcResponse(e,t,null,ks.builtIn("UNSUPPORTED_METHOD"));case 10:return i.abrupt("return");case 11:return u=null,d=null,i.prev=13,i.next=16,c({requestId:t,callerIdentity:e,payload:r,responseTimeout:a});case 16:bs(l=i.sent)>15360?u=ks.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"):d=l,i.next=23;break;case 20:i.prev=20,i.t0=i.catch(13),u=i.t0 instanceof ks?i.t0:ks.builtIn("APPLICATION_ERROR");case 23:return i.next=25,this.engine.publishRpcResponse(e,t,d,u);case 25:case"end":return i.stop()}}),s,this,[[13,20]])})))}},{key:"setE2EEEnabled",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.e2eeManager){t.next=6;break}return t.next=3,Promise.all([this.localParticipant.setE2EEEnabled(e)]);case 3:""!==this.localParticipant.identity&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity),t.next=7;break;case 6:throw Error("e2ee not configured, please set e2ee settings within the room options");case 7:case"end":return t.stop()}}),t,this)})))}},{key:"setupE2EE",value:function(){var e,t=this;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new Mo(this.options.e2ee),this.e2eeManager.on(Wi.ParticipantEncryptionStatusChanged,(function(e,n){n.isLocal&&(t.isE2EEEnabled=e),t.emit(Xi.ParticipantEncryptionStatusChanged,e,n)})),this.e2eeManager.on(Wi.EncryptionError,(function(e){return t.emit(Xi.EncryptionError,e)})),null===(e=this.e2eeManager)||void 0===e||e.setup(this))}},{key:"logContext",get:function(){var e;return{room:this.name,roomID:null===(e=this.roomInfo)||void 0===e?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}},{key:"isRecording",get:function(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.activeRecording)&&void 0!==t&&t}},{key:"getSid",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.state!==kc.Disconnected){e.next=2;break}return e.abrupt("return","");case 2:if(!this.roomInfo||""===this.roomInfo.sid){e.next=4;break}return e.abrupt("return",this.roomInfo.sid);case 4:return e.abrupt("return",new Promise((function(e,n){var r=function n(r){""!==r.sid&&(t.engine.off($i.RoomUpdate,n),e(r.sid))};t.engine.on($i.RoomUpdate,r),t.once(Xi.Disconnected,(function(){t.engine.off($i.RoomUpdate,r),n("Room disconnected before room server id was available")}))})));case 5:case"end":return e.stop()}}),e,this)})))}},{key:"name",get:function(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.name)&&void 0!==t?t:""}},{key:"metadata",get:function(){var e;return null===(e=this.roomInfo)||void 0===e?void 0:e.metadata}},{key:"numParticipants",get:function(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numParticipants)&&void 0!==t?t:0}},{key:"numPublishers",get:function(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numPublishers)&&void 0!==t?t:0}},{key:"maybeCreateEngine",value:function(){var e=this;this.engine&&!this.engine.isClosed||(this.engine=new Xs(this.options),this.engine.on($i.ParticipantUpdate,this.handleParticipantUpdates).on($i.RoomUpdate,this.handleRoomUpdate).on($i.SpeakersChanged,this.handleSpeakersChanged).on($i.StreamStateChanged,this.handleStreamStateUpdate).on($i.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on($i.SubscriptionError,this.handleSubscriptionError).on($i.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on($i.MediaTrackAdded,(function(t,n,r){e.onTrackAdded(t,n,r)})).on($i.Disconnected,(function(t){e.handleDisconnect(e.options.stopLocalTrackOnUnpublish,t)})).on($i.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on($i.DataPacketReceived,this.handleDataPacket).on($i.Resuming,(function(){e.clearConnectionReconcile(),e.isResuming=!0,e.log.info("Resuming signal connection",e.logContext),e.setAndEmitConnectionState(kc.SignalReconnecting)&&e.emit(Xi.SignalReconnecting)})).on($i.Resumed,(function(){e.registerConnectionReconcile(),e.isResuming=!1,e.log.info("Resumed signal connection",e.logContext),e.updateSubscriptions(),e.emitBufferedEvents(),e.setAndEmitConnectionState(kc.Connected)&&e.emit(Xi.Reconnected)})).on($i.SignalResumed,(function(){e.bufferedEvents=[],(e.state===kc.Reconnecting||e.isResuming)&&e.sendSyncState()})).on($i.Restarting,this.handleRestarting).on($i.SignalRestarted,this.handleSignalRestarted).on($i.Offline,(function(){e.setAndEmitConnectionState(kc.Reconnecting)&&e.emit(Xi.Reconnecting)})).on($i.DCBufferStatusChanged,(function(t,n){e.emit(Xi.DCBufferStatusChanged,t,n)})).on($i.LocalTrackSubscribed,(function(t){var n=e.localParticipant.getTrackPublications().find((function(e){return e.trackSid===t}));n?(e.localParticipant.emit(Zi.LocalTrackSubscribed,n),e.emitWhenConnected(Xi.LocalTrackSubscribed,n,e.localParticipant)):e.log.warn("could not find local track subscription for subscribed event",e.logContext)})).on($i.RoomMoved,(function(t){e.log.debug("room moved",t),t.room&&e.handleRoomUpdate(t.room),e.remoteParticipants.forEach((function(t,n){e.handleParticipantDisconnected(n,t)})),e.emit(Xi.Moved,t.room.name,t.token),t.participant?e.handleParticipantUpdates([t.participant].concat(S(t.otherParticipants))):e.handleParticipantUpdates(t.otherParticipants)})),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine))}},{key:"prepareConnection",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(this.state===kc.Disconnected){n.next=2;break}return n.abrupt("return");case 2:if(this.log.debug("prepareConnection to ".concat(e),this.logContext),n.prev=3,!Ga(new URL(e))||!t){n.next=16;break}return this.regionUrlProvider=new ec(e,t),n.next=8,this.regionUrlProvider.getNextBestRegionUrl();case 8:if(!(r=n.sent)||this.state!==kc.Disconnected){n.next=14;break}return this.regionUrl=r,n.next=13,fetch(so(r),{method:"HEAD"});case 13:this.log.debug("prepared connection to ".concat(r),this.logContext);case 14:n.next=18;break;case 16:return n.next=18,fetch(so(e),{method:"HEAD"});case 18:n.next=23;break;case 20:n.prev=20,n.t0=n.catch(3),this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:n.t0}));case 23:case"end":return n.stop()}}),n,this,[[3,20]])})))}},{key:"getParticipantByIdentity",value:function(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}},{key:"clearConnectionFutures",value:function(){this.connectFuture=void 0}},{key:"simulateScenario",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:r=function(){},n.t0=e,n.next="signal-reconnect"===n.t0?4:"speaker"===n.t0?7:"node-failure"===n.t0?9:"server-leave"===n.t0?11:"migration"===n.t0?13:"resume-reconnect"===n.t0?15:"disconnect-signal-on-resume"===n.t0?19:"disconnect-signal-on-resume-no-messages"===n.t0?22:"full-reconnect"===n.t0?25:"force-tcp"===n.t0||"force-tls"===n.t0?29:"subscriber-bandwidth"===n.t0?32:"leave-full-reconnect"===n.t0?36:37;break;case 4:return n.next=6,this.engine.client.handleOnClose("simulate disconnect");case 6:return n.abrupt("break",37);case 7:return a=new or({scenario:{case:"speakerUpdate",value:3}}),n.abrupt("break",37);case 9:return a=new or({scenario:{case:"nodeFailure",value:!0}}),n.abrupt("break",37);case 11:return a=new or({scenario:{case:"serverLeave",value:!0}}),n.abrupt("break",37);case 13:return a=new or({scenario:{case:"migration",value:!0}}),n.abrupt("break",37);case 15:return this.engine.failNext(),n.next=18,this.engine.client.handleOnClose("simulate resume-disconnect");case 18:return n.abrupt("break",37);case 19:return r=function(){return Nr(o,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.engine.client.handleOnClose("simulate resume-disconnect");case 2:case"end":return e.stop()}}),e,this)})))},a=new or({scenario:{case:"disconnectSignalOnResume",value:!0}}),n.abrupt("break",37);case 22:return r=function(){return Nr(o,void 0,void 0,i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.engine.client.handleOnClose("simulate resume-disconnect");case 2:case"end":return e.stop()}}),e,this)})))},a=new or({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}}),n.abrupt("break",37);case 25:return this.engine.fullReconnectOnNext=!0,n.next=28,this.engine.client.handleOnClose("simulate full-reconnect");case 28:return n.abrupt("break",37);case 29:return a=new or({scenario:{case:"switchCandidateProtocol",value:"force-tls"===e?2:1}}),r=function(){return Nr(o,void 0,void 0,i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(t=this.engine.client.onLeave)&&t(new Bn({reason:Nt.CLIENT_INITIATED,action:Hn.RECONNECT}));case 2:case"end":return e.stop()}}),e,this)})))},n.abrupt("break",37);case 32:if(void 0!==t&&"number"==typeof t){n.next=34;break}throw new Error("subscriber-bandwidth requires a number as argument");case 34:return a=new or({scenario:{case:"subscriberBandwidth",value:lo(t)}}),n.abrupt("break",37);case 36:a=new or({scenario:{case:"leaveRequestFullReconnect",value:!0}});case 37:if(!a){n.next=42;break}return n.next=40,this.engine.client.sendSimulateScenario(a);case 40:return n.next=42,r();case 42:case"end":return n.stop()}}),n,this)})))}},{key:"canPlaybackAudio",get:function(){return this.audioEnabled}},{key:"canPlaybackVideo",get:function(){return!this.isVideoPlaybackBlocked}},{key:"getActiveDevice",value:function(e){return this.localParticipant.activeDeviceMap.get(e)}},{key:"switchActiveDevice",value:function(e,t){return Nr(this,arguments,void 0,(function(e,t){var n=this,r=2>=arguments.length||void 0===arguments[2]||arguments[2];return i().mark((function a(){var o,s,c,u,d,l,h,p,f,v,m,g,k,b,y,S;return i().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(f=!0,v=!1,m=r?{exact:t}:t,"audioinput"!==e){i.next=20;break}return v=0===n.localParticipant.audioTrackPublications.size,g=null!==(o=n.getActiveDevice(e))&&void 0!==o?o:n.options.audioCaptureDefaults.deviceId,n.options.audioCaptureDefaults.deviceId=m,k=Array.from(n.localParticipant.audioTrackPublications.values()).filter((function(e){return e.source===ka.Source.Microphone})),i.prev=8,i.next=11,Promise.all(k.map((function(e){var t;return null===(t=e.audioTrack)||void 0===t?void 0:t.setDeviceId(m)})));case 11:f=i.sent.every((function(e){return!0===e})),i.next=18;break;case 14:throw i.prev=14,i.t0=i.catch(8),n.options.audioCaptureDefaults.deviceId=g,i.t0;case 18:i.next=66;break;case 20:if("videoinput"!==e){i.next=37;break}return v=0===n.localParticipant.videoTrackPublications.size,b=null!==(s=n.getActiveDevice(e))&&void 0!==s?s:n.options.videoCaptureDefaults.deviceId,n.options.videoCaptureDefaults.deviceId=m,y=Array.from(n.localParticipant.videoTrackPublications.values()).filter((function(e){return e.source===ka.Source.Camera})),i.prev=25,i.next=28,Promise.all(y.map((function(e){var t;return null===(t=e.videoTrack)||void 0===t?void 0:t.setDeviceId(m)})));case 28:f=i.sent.every((function(e){return!0===e})),i.next=35;break;case 31:throw i.prev=31,i.t1=i.catch(25),n.options.videoCaptureDefaults.deviceId=b,i.t1;case 35:i.next=66;break;case 37:if("audiooutput"!==e){i.next=66;break}if(!(!Ua()&&!n.options.webAudioMix||n.options.webAudioMix&&n.audioContext&&!("setSinkId"in n.audioContext))){i.next=40;break}throw new Error("cannot switch audio output, setSinkId not supported");case 40:if(!n.options.webAudioMix){i.next=53;break}return i.next=43,_o.getInstance().normalizeDeviceId("audiooutput",t);case 43:if(i.t3=c=i.sent,i.t2=null!==i.t3,!i.t2){i.next=47;break}i.t2=void 0!==c;case 47:if(!i.t2){i.next=51;break}i.t4=c,i.next=52;break;case 51:i.t4="";case 52:t=i.t4;case 53:return null!==(u=(p=n.options).audioOutput)&&void 0!==u||(p.audioOutput={}),S=null!==(d=n.getActiveDevice(e))&&void 0!==d?d:n.options.audioOutput.deviceId,n.options.audioOutput.deviceId=t,i.prev=56,n.options.webAudioMix&&(null===(l=n.audioContext)||void 0===l||l.setSinkId(t)),i.next=60,Promise.all(Array.from(n.remoteParticipants.values()).map((function(e){return e.setAudioOutput({deviceId:t})})));case 60:i.next=66;break;case 62:throw i.prev=62,i.t5=i.catch(56),n.options.audioOutput.deviceId=S,i.t5;case 66:return(v||"audiooutput"===e)&&(n.localParticipant.activeDeviceMap.set(e,"audiooutput"===e&&(null===(h=n.options.audioOutput)||void 0===h?void 0:h.deviceId)||t),n.emit(Xi.ActiveDeviceChanged,e,t)),i.abrupt("return",f);case 68:case"end":return i.stop()}}),a,null,[[8,14],[25,31],[56,62]])}))()}))}},{key:"setupLocalParticipantEvents",value:function(){this.localParticipant.on(Zi.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(Zi.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(Zi.AttributesChanged,this.onLocalAttributesChanged).on(Zi.TrackMuted,this.onLocalTrackMuted).on(Zi.TrackUnmuted,this.onLocalTrackUnmuted).on(Zi.LocalTrackPublished,this.onLocalTrackPublished).on(Zi.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(Zi.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(Zi.MediaDevicesError,this.onMediaDevicesError).on(Zi.AudioStreamAcquired,this.startAudio).on(Zi.ChatMessage,this.onLocalChatMessageSent).on(Zi.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}},{key:"recreateEngine",value:function(){var e;null===(e=this.engine)||void 0===e||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}},{key:"onTrackAdded",value:function(e,t,n){var r=this;if(this.state===kc.Connecting||this.state===kc.Reconnecting){var i=function(){r.onTrackAdded(e,t,n),a()},a=function e(){r.off(Xi.Reconnected,i),r.off(Xi.Connected,i),r.off(Xi.Disconnected,e)};return this.once(Xi.Reconnected,i),this.once(Xi.Connected,i),void this.once(Xi.Disconnected,a)}if(this.state!==kc.Disconnected)if("ended"!==e.readyState){var s=function(e){var t=e.split("|");return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,""]}(t.id),c=s[0],u=s[1],d=e.id;if(u&&u.startsWith("TR")&&(d=u),c!==this.localParticipant.sid){var l,h=Array.from(this.remoteParticipants.values()).find((function(e){return e.sid===c}));if(h)this.options.adaptiveStream&&(l="object"===o(this.options.adaptiveStream)?this.options.adaptiveStream:{}),h.addSubscribedMediaTrack(e,d,t,n,l);else this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(c),this.logContext)}else this.log.warn("tried to create RemoteParticipant for local participant",this.logContext)}else this.log.info("skipping incoming track as it already ended",this.logContext);else this.log.warn("skipping incoming track after Room disconnected",this.logContext)}},{key:"handleDisconnect",value:function(){var e,t=this,n=0>=arguments.length||void 0===arguments[0]||arguments[0],r=arguments.length>1?arguments[1]:void 0;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.state!==kc.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach((function(e){e.trackPublications.forEach((function(t){e.unpublishTrack(t.trackSid)}))})),this.localParticipant.trackPublications.forEach((function(e){var r,i,a;e.track&&t.localParticipant.unpublishTrack(e.track,n),n?(null===(r=e.track)||void 0===r||r.detach(),null===(i=e.track)||void 0===i||i.stop()):null===(a=e.track)||void 0===a||a.stopMonitor()})),this.localParticipant.off(Zi.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(Zi.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(Zi.AttributesChanged,this.onLocalAttributesChanged).off(Zi.TrackMuted,this.onLocalTrackMuted).off(Zi.TrackUnmuted,this.onLocalTrackUnmuted).off(Zi.LocalTrackPublished,this.onLocalTrackPublished).off(Zi.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(Zi.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(Zi.MediaDevicesError,this.onMediaDevicesError).off(Zi.AudioStreamAcquired,this.startAudio).off(Zi.ChatMessage,this.onLocalChatMessageSent).off(Zi.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&"boolean"==typeof this.options.webAudioMix&&(this.audioContext.close(),this.audioContext=void 0),Va()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),null===(e=navigator.mediaDevices)||void 0===e||e.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(kc.Disconnected),this.emit(Xi.Disconnected,r)}}}},{key:"handleParticipantDisconnected",value:function(e,t){var n;this.remoteParticipants.delete(e),t&&(t.trackPublications.forEach((function(e){t.unpublishTrack(e.trackSid,!0)})),this.emit(Xi.ParticipantDisconnected,t),t.setDisconnected(),null===(n=this.localParticipant)||void 0===n||n.handleParticipantDisconnected(t.identity))}},{key:"handleStreamHeader",value:function(e,t){return Nr(this,void 0,void 0,i().mark((function n(){var r,a,o,s,c,u,d,l,h,p=this;return i().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if("byteHeader"!==e.contentHeader.case){n.next=10;break}if(a=this.byteStreamHandlers.get(e.topic)){n.next=5;break}return this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic),n.abrupt("return");case 5:s={id:e.streamId,name:null!==(r=e.contentHeader.value.name)&&void 0!==r?r:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:uo(e.timestamp),attributes:e.attributes},c=new ReadableStream({start:function(t){o=t,p.byteStreamControllers.set(e.streamId,{info:s,controller:o,startTime:Date.now()})}}),a(new nc(s,c,uo(e.totalLength)),{identity:t}),n.next=18;break;case 10:if("textHeader"!==e.contentHeader.case){n.next=18;break}if(u=this.textStreamHandlers.get(e.topic)){n.next=15;break}return this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic),n.abrupt("return");case 15:l={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes},h=new ReadableStream({start:function(t){d=t,p.textStreamControllers.set(e.streamId,{info:l,controller:d,startTime:Date.now()})}}),u(new rc(l,h,uo(e.totalLength)),{identity:t});case 18:case"end":return n.stop()}}),n,this)})))}},{key:"handleStreamChunk",value:function(e){var t=this.byteStreamControllers.get(e.streamId);t&&e.content.length>0&&t.controller.enqueue(e);var n=this.textStreamControllers.get(e.streamId);n&&e.content.length>0&&n.controller.enqueue(e)}},{key:"handleStreamTrailer",value:function(e){var t=this.textStreamControllers.get(e.streamId);t&&(t.info.attributes=Object.assign(Object.assign({},t.info.attributes),e.attributes),t.controller.close(),this.textStreamControllers.delete(e.streamId));var n=this.byteStreamControllers.get(e.streamId);n&&(n.info.attributes=Object.assign(Object.assign({},n.info.attributes),e.attributes),n.controller.close(),this.byteStreamControllers.delete(e.streamId))}},{key:"selectDefaultDevices",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a,o,s,c,u,d,l,h,p,f,v=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=_o.getInstance().previousDevices,e.next=3,_o.getInstance().getDevices(void 0,!1);case 3:if(o=e.sent,"Chrome"!==(null==(s=la())?void 0:s.name)||"iOS"===s.os){e.next=22;break}c=w(o),e.prev=7,d=i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=u.value,(n=a.find((function(e){return e.deviceId===t.deviceId})))&&""!==n.label&&n.kind===t.kind&&n.label!==t.label&&"default"===v.getActiveDevice(t.kind)&&v.emit(Xi.ActiveDeviceChanged,t.kind,t.deviceId);case 3:case"end":return e.stop()}}),e)})),c.s();case 10:if((u=c.n()).done){e.next=14;break}return e.delegateYield(d(),"t0",12);case 12:e.next=10;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(7),c.e(e.t1);case 19:return e.prev=19,c.f(),e.finish(19);case 22:l=["audiooutput","audioinput","videoinput"],h=i().mark((function e(){var s,c,u,d,l;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=f[p],c=xo(s),!(u=v.localParticipant.getTrackPublication(c))||!(null===(t=u.track)||void 0===t?void 0:t.isUserProvided)){e.next=5;break}return e.abrupt("return",0);case 5:if(d=o.filter((function(e){return e.kind===s})),(l=v.getActiveDevice(s))!==(null===(n=a.filter((function(e){return e.kind===s}))[0])||void 0===n?void 0:n.deviceId)){e.next=12;break}if(0>=d.length||(null===(r=d[0])||void 0===r?void 0:r.deviceId)===l){e.next=12;break}return e.next=11,v.switchActiveDevice(s,d[0].deviceId);case 11:return e.abrupt("return",0);case 12:if(("audioinput"!==s||Ba())&&"videoinput"!==s){e.next=14;break}return e.abrupt("return",0);case 14:if(0>=d.length||d.find((function(e){return e.deviceId===v.getActiveDevice(s)}))||"audiooutput"===s&&Ba()){e.next=17;break}return e.next=17,v.switchActiveDevice(s,d[0].deviceId);case 17:case"end":return e.stop()}}),e)})),p=0,f=l;case 25:if(p>=f.length){e.next=33;break}return e.delegateYield(h(),"t2",27);case 27:if(0!==e.t2){e.next=30;break}return e.abrupt("continue",30);case 30:p++,e.next=25;break;case 33:case"end":return e.stop()}}),e,null,[[7,16,19,22]])})))}},{key:"acquireAudioContext",value:function(){return Nr(this,void 0,void 0,i().mark((function e(){var t,n,r,a=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("boolean"!=typeof this.options.webAudioMix&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=null!==(t=Eo())&&void 0!==t?t:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach((function(e){return e.setAudioContext(a.audioContext)})),this.localParticipant.setAudioContext(this.audioContext),!this.audioContext||"suspended"!==this.audioContext.state){e.next=12;break}return e.prev=4,e.next=7,Promise.race([this.audioContext.resume(),Na(200)]);case 7:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(4),this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:e.t0}));case 12:(r="running"===(null===(n=this.audioContext)||void 0===n?void 0:n.state))!==this.canPlaybackAudio&&(this.audioEnabled=r,this.emit(Xi.AudioPlaybackStatusChanged,r));case 14:case"end":return e.stop()}}),e,this,[[4,9]])})))}},{key:"createParticipant",value:function(e,t){var n,r,i=this;return r=t?Sc.fromParticipantInfo(this.engine.client,t,{loggerContextCb:function(){return i.logContext},loggerName:this.options.loggerName}):new Sc(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:function(){return i.logContext},loggerName:this.options.loggerName}),this.options.webAudioMix&&r.setAudioContext(this.audioContext),(null===(n=this.options.audioOutput)||void 0===n?void 0:n.deviceId)&&r.setAudioOutput(this.options.audioOutput).catch((function(e){return i.log.warn("Could not set audio output: ".concat(e.message),i.logContext)})),r}},{key:"getOrCreateParticipant",value:function(e,t){var n=this;if(this.remoteParticipants.has(e)){var r=this.remoteParticipants.get(e);if(t)r.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity);return r}var i=this.createParticipant(e,t);return this.remoteParticipants.set(e,i),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(Xi.ParticipantConnected,i),i.on(Zi.TrackPublished,(function(e){n.emitWhenConnected(Xi.TrackPublished,e,i)})).on(Zi.TrackSubscribed,(function(e,t){e.kind===ka.Kind.Audio?(e.on(ea.AudioPlaybackStarted,n.handleAudioPlaybackStarted),e.on(ea.AudioPlaybackFailed,n.handleAudioPlaybackFailed)):e.kind===ka.Kind.Video&&(e.on(ea.VideoPlaybackFailed,n.handleVideoPlaybackFailed),e.on(ea.VideoPlaybackStarted,n.handleVideoPlaybackStarted)),n.emit(Xi.TrackSubscribed,e,t,i)})).on(Zi.TrackUnpublished,(function(e){n.emit(Xi.TrackUnpublished,e,i)})).on(Zi.TrackUnsubscribed,(function(e,t){n.emit(Xi.TrackUnsubscribed,e,t,i)})).on(Zi.TrackMuted,(function(e){n.emitWhenConnected(Xi.TrackMuted,e,i)})).on(Zi.TrackUnmuted,(function(e){n.emitWhenConnected(Xi.TrackUnmuted,e,i)})).on(Zi.ParticipantMetadataChanged,(function(e){n.emitWhenConnected(Xi.ParticipantMetadataChanged,e,i)})).on(Zi.ParticipantNameChanged,(function(e){n.emitWhenConnected(Xi.ParticipantNameChanged,e,i)})).on(Zi.AttributesChanged,(function(e){n.emitWhenConnected(Xi.ParticipantAttributesChanged,e,i)})).on(Zi.ConnectionQualityChanged,(function(e){n.emitWhenConnected(Xi.ConnectionQualityChanged,e,i)})).on(Zi.ParticipantPermissionsChanged,(function(e){n.emitWhenConnected(Xi.ParticipantPermissionsChanged,e,i)})).on(Zi.TrackSubscriptionStatusChanged,(function(e,t){n.emitWhenConnected(Xi.TrackSubscriptionStatusChanged,e,t,i)})).on(Zi.TrackSubscriptionFailed,(function(e,t){n.emit(Xi.TrackSubscriptionFailed,e,i,t)})).on(Zi.TrackSubscriptionPermissionChanged,(function(e,t){n.emitWhenConnected(Xi.TrackSubscriptionPermissionChanged,e,t,i)})).on(Zi.Active,(function(){n.emitWhenConnected(Xi.ParticipantActive,i),i.kind===Bt.AGENT&&n.localParticipant.setActiveAgent(i)})),t&&i.updateInfo(t),i}},{key:"sendSyncState",value:function(){var e=Array.from(this.remoteParticipants.values()).reduce((function(e,t){return e.push.apply(e,S(t.getTrackPublications())),e}),[]),t=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,t)}},{key:"updateSubscriptions",value:function(){var e,t=w(this.remoteParticipants.values());try{for(t.s();!(e=t.n()).done;){var n,r=w(e.value.videoTrackPublications.values());try{for(r.s();!(n=r.n()).done;){var i=n.value;i.isSubscribed&&ko(i)&&i.emitTrackUpdate()}}catch(e){r.e(e)}finally{r.f()}}}catch(e){t.e(e)}finally{t.f()}}},{key:"getRemoteParticipantBySid",value:function(e){var t=this.sidToIdentity.get(e);if(t)return this.remoteParticipants.get(t)}},{key:"registerConnectionReconcile",value:function(){var e=this;this.clearConnectionReconcile();var t=0;this.connectionReconcileInterval=va.setInterval((function(){e.engine&&!e.engine.isClosed&&e.engine.verifyTransport()?t=0:(t++,e.log.warn("detected connection state mismatch",Object.assign(Object.assign({},e.logContext),{numFailures:t,engine:e.engine?{closed:e.engine.isClosed,transportsConnected:e.engine.verifyTransport()}:void 0})),3>t||(e.recreateEngine(),e.handleDisconnect(e.options.stopLocalTrackOnUnpublish,Nt.STATE_MISMATCH)))}),4e3)}},{key:"clearConnectionReconcile",value:function(){this.connectionReconcileInterval&&va.clearInterval(this.connectionReconcileInterval)}},{key:"setAndEmitConnectionState",value:function(e){return e!==this.state&&(this.state=e,this.emit(Xi.ConnectionStateChanged,this.state),!0)}},{key:"emitBufferedEvents",value:function(){var e=this;this.bufferedEvents.forEach((function(t){var n=y(t,2),r=n[0],i=n[1];e.emit.apply(e,[r].concat(S(i)))})),this.bufferedEvents=[]}},{key:"emitWhenConnected",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;t>r;r++)n[r-1]=arguments[r];if(this.state===kc.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,n]);else if(this.state===kc.Connected)return this.emit.apply(this,[e].concat(n));return!1}},{key:"simulateParticipants",value:function(e){return Nr(this,void 0,void 0,i().mark((function t(){var n,r,a,o,s,c,u,d,l,h,p,f,v,m=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),o=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants),this.handleDisconnect(),this.roomInfo=new _t({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:le.parse((new Date).getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new jt({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(Xi.SignalConnected),this.emit(Xi.Connected),this.setAndEmitConnectionState(kc.Connected),!a.video){t.next=29;break}if(t.t0=vc,t.t1=ka.Kind.Video,t.t2=new qt({source:Pt.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:xt.AUDIO,name:"video-dummy"}),t.t3=Vs,!a.useRealTracks){t.next=20;break}return t.next=17,window.navigator.mediaDevices.getUserMedia({video:!0});case 17:t.t4=t.sent.getVideoTracks()[0],t.next=21;break;case 20:t.t4=ro(160*(null!==(n=o.aspectRatios[0])&&void 0!==n?n:1),160,!0,!0);case 21:t.t5=t.t4,t.t6=void 0,t.t7={loggerName:this.options.loggerName,loggerContextCb:function(){return m.logContext}},t.t8=new t.t3(t.t5,t.t6,!1,t.t7),t.t9={loggerName:this.options.loggerName,loggerContextCb:function(){return m.logContext}},s=new t.t0(t.t1,t.t2,t.t8,t.t9),this.localParticipant.addTrackPublication(s),this.localParticipant.emit(Zi.LocalTrackPublished,s);case 29:if(!a.audio){t.next=50;break}if(t.t10=vc,t.t11=ka.Kind.Audio,t.t12=new qt({source:Pt.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:xt.AUDIO}),t.t13=Ps,!a.useRealTracks){t.next=40;break}return t.next=37,navigator.mediaDevices.getUserMedia({audio:!0});case 37:t.t14=t.sent.getAudioTracks()[0],t.next=41;break;case 40:t.t14=io();case 41:t.t15=t.t14,t.t16=void 0,t.t17=this.audioContext,t.t18={loggerName:this.options.loggerName,loggerContextCb:function(){return m.logContext}},t.t19=new t.t13(t.t15,t.t16,!1,t.t17,t.t18),t.t20={loggerName:this.options.loggerName,loggerContextCb:function(){return m.logContext}},c=new t.t10(t.t11,t.t12,t.t19,t.t20),this.localParticipant.addTrackPublication(c),this.localParticipant.emit(Zi.LocalTrackPublished,c);case 50:for(u=0;u<o.count-1;u+=1)d=new jt({sid:Math.floor(1e4*Math.random()).toString(),identity:"simulated-".concat(u),state:Ft.ACTIVE,tracks:[],joinedAt:le.parse(Date.now())}),l=this.getOrCreateParticipant(d.identity,d),o.video&&(h=ro(160*(null!==(r=o.aspectRatios[u%o.aspectRatios.length])&&void 0!==r?r:1),160,!1,!0),p=new qt({source:Pt.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:xt.AUDIO}),l.addSubscribedMediaTrack(h,p.sid,new MediaStream([h]),new RTCRtpReceiver),d.tracks=[].concat(S(d.tracks),[p])),o.audio&&(f=io(),v=new qt({source:Pt.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:xt.AUDIO}),l.addSubscribedMediaTrack(f,v.sid,new MediaStream([f]),new RTCRtpReceiver),d.tracks=[].concat(S(d.tracks),[v])),l.updateInfo(d);case 51:case"end":return t.stop()}}),t,this)})))}},{key:"emit",value:function(e){for(var t,r=arguments.length,i=new Array(r>1?r-1:0),a=1;r>a;a++)i[a-1]=arguments[a];if(e!==Xi.ActiveSpeakersChanged&&e!==Xi.TranscriptionReceived){var o=wc(i).filter((function(e){return void 0!==e}));this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:o}))}return(t=b(f(n.prototype),"emit",this)).call.apply(t,[this,e].concat(i))}}],[{key:"getLocalDevices",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];return _o.getInstance().getDevices(e,t)}}]),n}();function wc(e){return e.map((function(e){if(e)return Array.isArray(e)?wc(e):"object"===o(e)?"logContext"in e?e.logContext:void 0:e}))}Cc.cleanupRegistry="undefined"!=typeof FinalizationRegistry&&new FinalizationRegistry((function(e){e()})),function(e){e[e.IDLE=0]="IDLE",e[e.RUNNING=1]="RUNNING",e[e.SKIPPED=2]="SKIPPED",e[e.SUCCESS=3]="SUCCESS",e[e.FAILED=4]="FAILED"}(Tc||(Tc={}));var Ec,xc=new WeakMap,Pc=new WeakMap,Ic=new WeakMap,Rc=new WeakMap,Oc=new WeakMap,Nc=new WeakMap,Dc=new WeakMap,Mc=new WeakMap,Ac=new WeakMap,_c=new WeakMap,Lc=new WeakMap,Uc=new WeakSet,jc=new WeakSet,Fc=new WeakSet,Bc=new WeakSet,Hc=new WeakSet,Wc=new WeakSet,Vc=new WeakSet,qc=new WeakSet,Gc=new WeakSet,Kc=new WeakMap,Jc=new WeakSet,zc=new WeakSet,Qc=new WeakSet,Yc=new WeakSet,Xc=function(){function e(t){u(this,e),N(this,Yc),N(this,Qc),N(this,zc),N(this,Jc),N(this,Gc),N(this,qc),N(this,Vc),N(this,Wc),N(this,Hc),N(this,Bc),N(this,Fc),N(this,jc),N(this,Uc),O(this,xc,{writable:!0,value:null}),O(this,Pc,{writable:!0,value:0}),O(this,Ic,{writable:!0,value:5}),O(this,Rc,{writable:!0,value:3e3}),O(this,Oc,{writable:!0,value:[]}),O(this,Nc,{writable:!0,value:null}),O(this,Dc,{writable:!0,value:!1}),O(this,Mc,{writable:!0,value:0}),O(this,Ac,{writable:!0,value:0}),O(this,_c,{writable:!0,value:0}),O(this,Lc,{writable:!0,value:0}),O(this,Kc,{writable:!0,value:null}),this.url=t,this.socket=null,this.isOpen=!1,this.messageHandlers=new Map,this.openHandlers=new Map,this.closeHandlers=[],this.errorHandlers=[],this.alertHandlers=[],this.connectionStatus=e.ConnectionStatus.DISCONNECTED,I(this,Bc,tu).call(this)}return l(e,[{key:"connect",value:function(){var t=this;if(this.socket&&this.socket.readyState!==WebSocket.CLOSED)I(this,Uc,Zc).call(this,"connectionAlreadyExists","WebSocket连接已存在,状态: ".concat(I(this,Vc,iu).call(this,this.socket.readyState)),e.ErrorCategory.CONNECTION,e.ErrorSeverity.LOW,{readyState:this.socket.readyState});else{this.connectionStatus=e.ConnectionStatus.CONNECTING,x(this,Ac,Date.now());try{this.socket=new WebSocket(this.url)}catch(t){return I(this,Uc,Zc).call(this,"connectionCreateFailed","无法创建WebSocket连接: ".concat(t.message),e.ErrorCategory.CONNECTION,e.ErrorSeverity.CRITICAL,{originalError:t.name,url:this.url,stack:t.stack}),void(this.connectionStatus=e.ConnectionStatus.FAILED)}var n=setTimeout((function(){t.socket&&t.socket.readyState===WebSocket.CONNECTING&&(I(t,Uc,Zc).call(t,"connectionTimeout","WebSocket连接超时,连接时长超过15秒",e.ErrorCategory.TIMEOUT,e.ErrorSeverity.HIGH,{url:t.url,connectionDuration:Date.now()-E(t,Ac)}),t.socket.close(),t.connectionStatus=e.ConnectionStatus.FAILED)}),15e3);this.socket.onopen=function(r){clearTimeout(n);var i=Date.now()-E(t,Ac);t.isOpen=!0,t.connectionStatus=e.ConnectionStatus.CONNECTED,x(t,Pc,0),I(t,jc,$c).call(t),I(t,Uc,Zc).call(t,"connectionSuccess","WebSocket连接成功,耗时: ".concat(i,"ms"),e.ErrorCategory.CONNECTION,e.ErrorSeverity.LOW,{connectionDuration:i,reconnectAttempts:E(t,Pc)}),t.openHandlers.size>0&&t.openHandlers.forEach((function(e){return e()})),I(t,qc,au).call(t,1e4),I(t,Yc,du).call(t)},this.socket.onmessage=function(e){E(t,Lc)>0&&I(t,jc,$c).call(t),t.messageHandlers.size>0&&t.messageHandlers.forEach((function(t){return t(e.data)}))},this.socket.onclose=function(r){clearTimeout(n);var i=Date.now()-E(t,Ac);t.isOpen=!1,t.connectionStatus=e.ConnectionStatus.DISCONNECTED,I(t,Gc,ou).call(t);var a=e.ErrorSeverity.MEDIUM,o=e.ErrorCategory.CONNECTION,s="connectionClosed",c="WebSocket连接关闭";1e3===r.code?(a=e.ErrorSeverity.LOW,c="WebSocket连接正常关闭"):1001===r.code?(a=e.ErrorSeverity.MEDIUM,c="WebSocket连接断开:端点离开"):1002===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:协议错误"):1003===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:不支持的数据类型"):1006===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.NETWORK,c="WebSocket连接异常断开:网络错误或服务器故障",s="connectionAbnormalClose"):1007===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:数据格式错误"):1008===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:违反策略"):1009===r.code?(a=e.ErrorSeverity.MEDIUM,c="WebSocket连接断开:消息过大"):1011===r.code?(a=e.ErrorSeverity.CRITICAL,o=e.ErrorCategory.NETWORK,c="WebSocket连接断开:服务器遇到意外错误"):1012===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.NETWORK,c="WebSocket连接断开:服务器重启"):1013===r.code?(a=e.ErrorSeverity.MEDIUM,o=e.ErrorCategory.NETWORK,c="WebSocket连接断开:稍后重试"):1014===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.NETWORK,c="WebSocket连接断开:网关错误"):1015===r.code?(a=e.ErrorSeverity.HIGH,o=e.ErrorCategory.NETWORK,c="WebSocket连接断开:TLS握手失败"):3e3>r.code||r.code>3999?4e3>r.code||r.code>4999?(a=e.ErrorSeverity.HIGH,c="WebSocket连接断开:未知错误代码 (".concat(r.code,")")):(a=e.ErrorSeverity.MEDIUM,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:私有错误代码 (".concat(r.code,")")):(a=e.ErrorSeverity.MEDIUM,o=e.ErrorCategory.PROTOCOL,c="WebSocket连接断开:应用程序错误 (".concat(r.code,")")),I(t,Uc,Zc).call(t,s,"".concat(c,",连接时长: ").concat(i,"ms"),o,a,{closeCode:r.code,closeReason:r.reason,wasClean:r.wasClean,connectionDuration:i,reconnectAttempts:E(t,Pc)}),t.closeHandlers.forEach((function(e){return e(r)})),r.wasClean||(I(t,Fc,eu).call(t),I(t,Qc,uu).call(t))},this.socket.onerror=function(r){var i;clearTimeout(n);var a=Date.now()-E(t,Ac);I(t,Uc,Zc).call(t,"connectionError","WebSocket连接发生错误,连接时长: ".concat(a,"ms"),e.ErrorCategory.NETWORK,e.ErrorSeverity.MEDIUM,{connectionDuration:a,readyState:null===(i=t.socket)||void 0===i?void 0:i.readyState,url:t.url}),t.errorHandlers.forEach((function(e){return e(r)}))}}}},{key:"send",value:function(t){if(this.socket.readyState===WebSocket.OPEN)try{this.socket.send(JSON.stringify(t))}catch(n){I(this,Uc,Zc).call(this,"messageSendFailed","消息发送失败: ".concat(n.message),e.ErrorCategory.NETWORK,e.ErrorSeverity.MEDIUM,{originalError:n.name,message:t,readyState:this.socket.readyState})}else this.socket.readyState===WebSocket.CLOSED?this.isOpen?(I(this,Uc,Zc).call(this,"connectionUnexpectedClose","WebSocket连接异常关闭,消息加入队列并尝试重连",e.ErrorCategory.CONNECTION,e.ErrorSeverity.HIGH,{queueLength:E(this,Oc).length,message:t}),E(this,Oc).push(t),this.connect()):(I(this,Uc,Zc).call(this,"connectionClosed","WebSocket连接已关闭,消息加入队列",e.ErrorCategory.CONNECTION,e.ErrorSeverity.MEDIUM,{queueLength:E(this,Oc).length,message:t}),E(this,Oc).push(t)):(this.socket.readyState===WebSocket.CONNECTING||I(this,Uc,Zc).call(this,"connectionClosing","WebSocket连接正在关闭,消息加入队列",e.ErrorCategory.CONNECTION,e.ErrorSeverity.LOW,{queueLength:E(this,Oc).length,message:t}),E(this,Oc).push(t))}},{key:"setReconnectOptions",value:function(e,t){void 0!==e&&x(this,Ic,e),void 0!==t&&x(this,Rc,t)}},{key:"setHeartbeatInterval",value:function(e){I(this,zc,cu).call(this,e)}},{key:"pingWorker",value:function(){E(this,Nc)&&E(this,Dc)&&E(this,Nc).postMessage({type:"ping",data:{timestamp:Date.now()}})}},{key:"getWorkerStatus",value:function(){E(this,Nc)&&E(this,Dc)&&E(this,Nc).postMessage({type:"get-status"})}},{key:"addMessageHandler",value:function(e,t){this.messageHandlers.has(e)?(this.messageHandlers.delete(e),this.messageHandlers.set(e,t)):this.messageHandlers.set(e,t)}},{key:"addOpenHandler",value:function(e,t){this.openHandlers.has(e)?(this.openHandlers.delete(e),this.openHandlers.set(e,t)):this.openHandlers.set(e,t)}},{key:"addCloseHandler",value:function(e){this.closeHandlers.push(e)}},{key:"addErrorHandler",value:function(e){this.errorHandlers.push(e)}},{key:"addAlertHandler",value:function(e){this.alertHandlers.push(e)}},{key:"removeAlertHandler",value:function(e){var t=this.alertHandlers.indexOf(e);t>-1&&this.alertHandlers.splice(t,1)}},{key:"clearMessageHandler",value:function(){this.messageHandlers.clear()}},{key:"clearOpenHandler",value:function(){this.openHandlers.clear()}},{key:"clearCloseHandler",value:function(){this.closeHandlers=[]}},{key:"clearErrorHandler",value:function(){this.errorHandlers=[]}},{key:"clearAlertHandler",value:function(){this.alertHandlers=[]}},{key:"getConnectionInfo",value:function(){var e,t;return{isOpen:this.isOpen,connectionStatus:this.connectionStatus,readyState:null===(e=this.socket)||void 0===e?void 0:e.readyState,readyStateText:I(this,Vc,iu).call(this,null===(t=this.socket)||void 0===t?void 0:t.readyState),lastHeartbeatTime:E(this,Mc),reconnectAttempts:E(this,Pc),maxReconnectAttempts:E(this,Ic),messageQueueLength:E(this,Oc).length,workerReady:E(this,Dc),hasTraditionalHeartbeat:!!E(this,Kc),connectionStartTime:E(this,Ac),connectionDuration:E(this,Ac)?Date.now()-E(this,Ac):0,consecutiveErrors:E(this,Lc),lastErrorTime:E(this,_c),url:this.url}}},{key:"getHealthStatus",value:function(){var t=this.getConnectionInfo(),n=Date.now(),r="good",i=[];return t.connectionStatus===e.ConnectionStatus.FAILED?(r="critical",i.push("连接失败")):t.connectionStatus===e.ConnectionStatus.RECONNECTING?(r="warning",i.push("正在重连中")):t.connectionStatus===e.ConnectionStatus.DISCONNECTED&&(r="warning",i.push("连接已断开")),t.reconnectAttempts<.8*t.maxReconnectAttempts||(r="good"===r?"warning":r,i.push("重连次数过多: ".concat(t.reconnectAttempts,"/").concat(t.maxReconnectAttempts))),t.messageQueueLength>10&&(r="good"===r?"warning":r,i.push("消息队列积压: ".concat(t.messageQueueLength," 条"))),t.consecutiveErrors>3&&(r="critical",i.push("连续错误过多: ".concat(t.consecutiveErrors," 次"))),t.lastHeartbeatTime&&n-t.lastHeartbeatTime>3e4&&(r="good"===r?"warning":r,i.push("心跳超时")),{status:r,issues:i,connectionInfo:t}}},{key:"close",value:function(){this.connectionStatus=e.ConnectionStatus.DISCONNECTING,I(this,Gc,ou).call(this),E(this,Nc)&&(E(this,Nc).terminate(),x(this,Nc,null),x(this,Dc,!1)),E(this,xc)&&(clearTimeout(E(this,xc)),x(this,xc,null)),this.socket&&this.socket.close(1e3,"Normal closure"),this.isOpen=!1,this.connectionStatus=e.ConnectionStatus.DISCONNECTED,E(this,Oc).length>0&&(I(this,Uc,Zc).call(this,"messageQueueCleared","连接关闭,清空队列中的 ".concat(E(this,Oc).length," 条消息"),e.ErrorCategory.CONNECTION,e.ErrorSeverity.LOW,{queueLength:E(this,Oc).length}),x(this,Oc,[])),I(this,jc,$c).call(this),x(this,Pc,0)}},{key:"reset",value:function(){var t=this;I(this,Uc,Zc).call(this,"connectionReset","WebSocket连接重置",e.ErrorCategory.CONNECTION,e.ErrorSeverity.LOW),this.close(),x(this,Pc,0),I(this,jc,$c).call(this),I(this,Bc,tu).call(this),setTimeout((function(){t.connect()}),100)}}]),e}();function Zc(e,t){var n,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ec.ErrorCategory.UNKNOWN,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ec.ErrorSeverity.MEDIUM,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},c={type:e,message:t,category:a,severity:o,timestamp:(new Date).toISOString(),context:r({url:this.url,connectionStatus:this.connectionStatus,readyState:null===(n=this.socket)||void 0===n?void 0:n.readyState,reconnectAttempts:E(this,Pc),messageQueueLength:E(this,Oc).length,workerReady:E(this,Dc),lastHeartbeatTime:E(this,Mc),connectionStartTime:E(this,Ac),consecutiveErrors:E(this,Lc)},s)};switch(o){case Ec.ErrorSeverity.CRITICAL:break;case Ec.ErrorSeverity.HIGH:break;case Ec.ErrorSeverity.MEDIUM:break;case Ec.ErrorSeverity.LOW:break;default:}this.alertHandlers.forEach((function(e){try{e(c)}catch(e){}})),x(this,Lc,(i=E(this,Lc),++i)),x(this,_c,Date.now())}function $c(){x(this,Lc,0),x(this,_c,0)}function eu(){var e=Date.now(),t=e-E(this,Ac),n=e-E(this,_c);5e3>t&&E(this,Lc)>0&&I(this,Uc,Zc).call(this,"unstableConnection","连接不稳定,连接时长: ".concat(t,"ms,连续错误: ").concat(E(this,Lc),"次"),Ec.ErrorCategory.NETWORK,Ec.ErrorSeverity.MEDIUM,{connectionDuration:t,timeSinceLastError:n}),3>E(this,Lc)||I(this,Uc,Zc).call(this,"multipleConsecutiveErrors","连续错误过多,可能存在服务器问题,错误次数: ".concat(E(this,Lc)),Ec.ErrorCategory.CONNECTION,Ec.ErrorSeverity.HIGH,{consecutiveErrors:E(this,Lc)})}function tu(){var e=this;try{x(this,Nc,new Worker(new URL("./heartbeat-worker.js",import.meta.url))),E(this,Nc).onmessage=function(t){I(e,Hc,nu).call(e,t.data)},E(this,Nc).onerror=function(t){I(e,Uc,Zc).call(e,"heartbeatWorkerError","心跳Worker出现错误: ".concat(t.message||"未知错误"),Ec.ErrorCategory.WORKER,Ec.ErrorSeverity.HIGH,{errorMessage:t.message,filename:t.filename,lineno:t.lineno,colno:t.colno}),I(e,Jc,su).call(e)}}catch(e){I(this,Uc,Zc).call(this,"heartbeatWorkerInitFailed","无法创建心跳Worker: ".concat(e.message),Ec.ErrorCategory.WORKER,Ec.ErrorSeverity.MEDIUM,{originalError:e.name,stack:e.stack}),I(this,Jc,su).call(this)}}function nu(e){var t=e.type,n=e.data,r=e.timestamp;switch(t){case"worker-ready":x(this,Dc,!0);break;case"heartbeat-started":break;case"heartbeat-stopped":break;case"heartbeat":x(this,Mc,r),I(this,Wc,ru).call(this,{cmd:e.cmd,timestamp:r});break;case"status":break;case"pong":break;case"error":I(this,Uc,Zc).call(this,"heartbeatWorkerError","心跳Worker内部错误: ".concat(n.message||"未知错误"),Ec.ErrorCategory.WORKER,Ec.ErrorSeverity.MEDIUM,{workerError:n});break;default:}}function ru(e){if(this.socket&&this.socket.readyState===WebSocket.OPEN)try{this.socket.send(JSON.stringify(e))}catch(t){I(this,Uc,Zc).call(this,"heartbeatSendFailed","心跳发送失败: ".concat(t.message),Ec.ErrorCategory.HEARTBEAT,Ec.ErrorSeverity.MEDIUM,{originalError:t.name,readyState:this.socket.readyState,heartbeatData:e})}else{var t,n,r=I(this,Vc,iu).call(this,null===(t=this.socket)||void 0===t?void 0:t.readyState);I(this,Uc,Zc).call(this,"heartbeatConnectionNotReady","无法发送心跳,连接状态: ".concat(r),Ec.ErrorCategory.HEARTBEAT,Ec.ErrorSeverity.LOW,{readyState:null===(n=this.socket)||void 0===n?void 0:n.readyState})}}function iu(e){switch(e){case WebSocket.CONNECTING:return"CONNECTING";case WebSocket.OPEN:return"OPEN";case WebSocket.CLOSING:return"CLOSING";case WebSocket.CLOSED:return"CLOSED";default:return"UNKNOWN"}}function au(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e4;E(this,Nc)&&E(this,Dc)?E(this,Nc).postMessage({type:"start",data:{interval:e}}):(I(this,Uc,Zc).call(this,"heartbeatWorkerNotReady","Worker未就绪,使用传统心跳方案",Ec.ErrorCategory.WORKER,Ec.ErrorSeverity.LOW,{workerReady:E(this,Dc),interval:e}),I(this,Jc,su).call(this,e))}function ou(){E(this,Nc)&&E(this,Dc)&&E(this,Nc).postMessage({type:"stop"}),E(this,Kc)&&(clearInterval(E(this,Kc)),x(this,Kc,null))}function su(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e4;E(this,Kc)&&clearInterval(E(this,Kc)),x(this,Kc,setInterval((function(){I(e,Wc,ru).call(e,{cmd:"Heartbeat",timestamp:Date.now()})}),t))}function cu(e){E(this,Nc)&&E(this,Dc)&&E(this,Nc).postMessage({type:"update-interval",data:{interval:e}})}function uu(){var e=this;if(E(this,xc)&&clearTimeout(E(this,xc)),this.connectionStatus=Ec.ConnectionStatus.RECONNECTING,E(this,Pc)<E(this,Ic)){var t=Math.min(E(this,Rc)*Math.pow(2,E(this,Pc)),3e4);I(this,Uc,Zc).call(this,"reconnectAttempt","准备重连,第 ".concat(E(this,Pc)+1," 次尝试,").concat(t,"ms 后开始"),Ec.ErrorCategory.CONNECTION,Ec.ErrorSeverity.MEDIUM,{attemptNumber:E(this,Pc)+1,maxAttempts:E(this,Ic),delay:t}),x(this,xc,setTimeout((function(){var t;x(e,Pc,(t=E(e,Pc),++t)),e.connect()}),t))}else this.connectionStatus=Ec.ConnectionStatus.FAILED,I(this,Uc,Zc).call(this,"reconnectFailed","重连失败,已达到最大重连次数 ".concat(E(this,Ic)),Ec.ErrorCategory.CONNECTION,Ec.ErrorSeverity.CRITICAL,{maxAttempts:E(this,Ic),totalErrorCount:E(this,Lc)})}function du(){var e=this;if(E(this,Oc).length>0&&this.socket.readyState===WebSocket.OPEN){var t=E(this,Oc).length;I(this,Uc,Zc).call(this,"messageQueueProcessing","处理队列中的 ".concat(t," 条消息"),Ec.ErrorCategory.CONNECTION,Ec.ErrorSeverity.LOW,{messageCount:t}),E(this,Oc).forEach((function(t){e.socket.send(JSON.stringify(t))})),x(this,Oc,[])}}Ec=Xc,h(Xc,"ErrorSeverity",{LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"}),h(Xc,"ErrorCategory",{CONNECTION:"connection",NETWORK:"network",TIMEOUT:"timeout",AUTHENTICATION:"authentication",PROTOCOL:"protocol",HEARTBEAT:"heartbeat",WORKER:"worker",UNKNOWN:"unknown"}),h(Xc,"ConnectionStatus",{CONNECTING:"connecting",CONNECTED:"connected",DISCONNECTING:"disconnecting",DISCONNECTED:"disconnected",RECONNECTING:"reconnecting",FAILED:"failed"});var lu,hu=new WeakMap,pu=function(){function e(){var t;u(this,e),O(this,hu,{writable:!0,value:void 0}),x(this,hu,{all:t=t||new Map,on:function(e,n){var r=t.get(e);r?r.push(n):t.set(e,[n])},off:function(e,n){var r=t.get(e);r&&(n?r.splice(r.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var r=t.get(e);r&&r.slice().map((function(e){e(n)})),(r=t.get("*"))&&r.slice().map((function(t){t(e,n)}))}})}return l(e,[{key:"on",value:function(e,t){E(this,hu).on(e,t)}},{key:"off",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t&&"function"==typeof t?E(this,hu).off(e,t):E(this,hu).off(e)}},{key:"emit",value:function(e,t){E(this,hu).emit(e,t)}},{key:"removeAllListeners",value:function(){E(this,hu).all.clear()}}]),e}(),fu=["timeout"],vu=new WeakSet,mu=new WeakSet,gu=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";u(this,e),N(this,mu),N(this,vu),this.baseUrl=t,this.defaultConfig={headers:{"Content-Type":"application/json;charset=utf-8",satoken:n},timeout:3e4},this.interceptors={response:null}}return l(e,[{key:"setResponseInterceptor",value:function(e){"function"==typeof e&&(this.interceptors.response=e)}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return I(this,mu,bu).call(this,e,r({method:"GET"},t))}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return I(this,mu,bu).call(this,e,r({method:"POST",body:JSON.stringify(t)},n))}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return I(this,mu,bu).call(this,e,r({method:"PUT",body:JSON.stringify(t)},n))}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return I(this,mu,bu).call(this,e,r({method:"DELETE"},t))}}]),e}();function ku(e){return new Promise((function(t,n){setTimeout((function(){n(new Error("Request timeout after ".concat(e,"ms")))}),e)}))}function bu(e,t){return yu.apply(this,arguments)}function yu(){return(yu=c(i().mark((function e(t,n){var a,o,s,c,u,d;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.startsWith("http")?t:"".concat(this.baseUrl).concat(t),o=r(r({},this.defaultConfig),n),s=o.timeout,c=g(o,fu),e.prev=3,e.next=6,Promise.race([fetch(a,c),I(this,vu,ku).call(this,s)]);case 6:return u=e.sent,e.next=9,u.json();case 9:if(d=e.sent,!this.interceptors.response){e.next=12;break}return e.abrupt("return",this.interceptors.response(d));case 12:return e.abrupt("return",d);case 15:throw e.prev=15,e.t0=e.catch(3),e.t0;case 19:case"end":return e.stop()}}),e,this,[[3,15]])})))).apply(this,arguments)}var Su=new WeakMap,Tu=new WeakMap,Cu=new WeakMap,wu=new WeakMap,Eu=new WeakMap,xu=new WeakSet,Pu=new WeakSet,Iu=new WeakSet,Ru=new WeakSet,Ou=new WeakSet,Nu=new WeakSet,Du=new WeakSet,Mu=new WeakSet,Au=new WeakSet,_u=new WeakSet,Lu=new WeakSet,Uu=new WeakSet,ju=new WeakSet,Fu=new WeakSet,Bu=new WeakSet,Hu=new WeakSet,Wu=new WeakSet,Vu=new WeakSet,qu=new WeakSet,Gu=new WeakSet,Ku=function(t){function n(){var t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r.userId,a=r.org,o=r.token,s=r.platformId,c=r.roomName,d=void 0===c?"":c,l=r.roomMode,h=void 0===l?"auto":l,p=r.baseUrl,f=r.roomServerUrl;return u(this,n),N(k(t=e(this,n)),Gu),N(k(t),qu),N(k(t),Vu),N(k(t),Wu),N(k(t),Hu),N(k(t),Bu),N(k(t),Fu),N(k(t),ju),N(k(t),Uu),N(k(t),Lu),N(k(t),_u),N(k(t),Au),N(k(t),Mu),N(k(t),Du),N(k(t),Nu),N(k(t),Ou),N(k(t),Ru),N(k(t),Iu),N(k(t),Pu),N(k(t),xu),O(k(t),Su,{writable:!0,value:""}),O(k(t),Tu,{writable:!0,value:""}),O(k(t),Cu,{writable:!0,value:""}),O(k(t),wu,{writable:!0,value:""}),O(k(t),Eu,{writable:!0,value:null}),t.userId=i,t.org=a,t.roomName=d,t.roomNum,t.room=null,t.roomMode=h,t.baseUrl=p,x(k(t),Su,f),x(k(t),Cu,o),x(k(t),wu,s),x(k(t),Eu,new gu(t.baseUrl,E(k(t),Cu))),E(k(t),Eu).setResponseInterceptor(I(k(t),xu,Ju).bind(k(t))),t.encoder=new TextEncoder,t.decoder=new TextDecoder,t.wshead="http:"==t.baseUrl.split("//")[0]?"ws://":"wss://",t.websocketUrl="".concat(t.wshead).concat(t.baseUrl.split("//")[1],"/socket?tenantID=").concat(t.org,"&loginCode=").concat(t.userId,"&platformID=").concat(E(k(t),wu),"&satoken=").concat(E(k(t),Cu)),t.socket=new Xc(t.websocketUrl),t.socket.addOpenHandler("SocketOpen",(function(){t.emit("socketOpen")})),t.socket.addAlertHandler(I(k(t),Pu,zu).bind(k(t))),t.socket.connect(),I(k(t),Uu,od).call(k(t)),t}var a,o,s,d,f,v,m,g,b,y,S,T,C,w,P,R,D,M,A,_,L,U,j,F,B,H,W,V,q,G,K,J,z,Q;return p(n,pu),l(n,[{key:"isShareEnable",get:function(){return!(!this.room||!this.room.localParticipant)&&this.room.localParticipant.isScreenShareEnabled}},{key:"isCameraEnable",get:function(){return!(!this.room||!this.room.localParticipant)&&this.room.localParticipant.isCameraEnabled}},{key:"isMicrophoneEnable",get:function(){return!(!this.room||!this.room.localParticipant)&&this.room.localParticipant.isMicrophoneEnabled}},{key:"isWebSocketConnected",get:function(){var e;return(null===(e=this.socket)||void 0===e?void 0:e.isOpen)||!1}},{key:"getWebSocketInfo",value:function(){if(!this.socket)return{isConnected:!1,status:"not_initialized",error:"WebSocket client not initialized"};try{return r({isConnected:this.socket.isOpen},this.socket.getConnectionInfo())}catch(e){return{isConnected:!1,status:"error",error:e.message}}}},{key:"getWebSocketHealth",value:function(){if(!this.socket)return{status:"unknown",issues:["WebSocket client not initialized"],connectionInfo:null};try{return this.socket.getHealthStatus()}catch(e){return{status:"error",issues:["获取健康状态失败: ".concat(e.message)],connectionInfo:null}}}},{key:"resetWebSocket",value:(Q=c(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.socket){e.next=3;break}return I(this,Iu,Qu).call(this,"resetWebSocket","WebSocket客户端未初始化",!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.MEDIUM),e.abrupt("return");case 3:try{this.socket.reset(),I(this,Iu,Qu).call(this,"resetWebSocket","WebSocket连接重置成功",!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.LOW)}catch(e){I(this,Iu,Qu).call(this,"resetWebSocket","WebSocket连接重置失败: ".concat(e.message),!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.HIGH,{originalError:e.name,stack:e.stack})}case 4:case"end":return e.stop()}}),e,this)}))),function(){return Q.apply(this,arguments)})},{key:"reconnectWebSocket",value:(z=c(i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.socket){e.next=3;break}return I(this,Iu,Qu).call(this,"reconnectWebSocket","WebSocket客户端未初始化",!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.MEDIUM),e.abrupt("return");case 3:try{this.socket.isOpen&&this.socket.close(),setTimeout((function(){t.socket.connect()}),1e3),I(this,Iu,Qu).call(this,"reconnectWebSocket","WebSocket重连请求已发送",!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.LOW)}catch(e){I(this,Iu,Qu).call(this,"reconnectWebSocket","WebSocket重连失败: ".concat(e.message),!1,n.ErrorCategory.CONNECTION,n.ErrorSeverity.HIGH,{originalError:e.name,stack:e.stack})}case 4:case"end":return e.stop()}}),e,this)}))),function(){return z.apply(this,arguments)})},{key:"previewMeeting",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.roomTheme,n=e.inviteParticipants,r=e.appointmentStart,i=e.appointmentEnd,a=e.isAutoRecord,o=e.isMuteMeeting,s=e.isInviteOthers,c=e.isBeforeMeeting,u=e.preMeetingNotify;return E(this,Eu).post("/api/v1/room/scheduleMeeting",{roomTheme:t,inviteParticipants:n,appointmentStart:r,appointmentEnd:i,isAutoRecord:a,isMuteMeeting:o,isInviteOthers:s,isBeforeMeeting:c,preMeetingNotify:u})}},{key:"updatePreviewMeeting",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.roomTheme,r=t.inviteParticipants,i=t.appointmentStart,a=t.appointmentEnd,o=t.isAutoRecord,s=t.isMuteMeeting,c=t.isInviteOthers,u=t.isBeforeMeeting,d=t.preMeetingNotify;return E(this,Eu).post("/api/v1/room/modifyAppointMeeting",{roomID:e,roomTheme:n,inviteParticipants:r,appointmentStart:i,appointmentEnd:a,isAutoRecord:o,isMuteMeeting:s,isInviteOthers:c,isBeforeMeeting:u,preMeetingNotify:d})}},{key:"deletePreviewMeeting",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/room/deleteAppointMeeting",{roomID:e})}},{key:"modifyVolteLayout",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.roomNum,n=e.layout,r=e.identitys,i=e.autoFill,a=void 0===i||i;return E(this,Eu).post("/api/v1/room/modifyVolteLayout",{roomID:t,layout:n,identitys:r,autoFill:a})}},{key:"getPreviewMeetingDetail",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/room/getAppointMeetingDetail",{roomID:e})}},{key:"getMeetingParticipants",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/room/listParticipants",{roomID:e})}},{key:"inviteParticipant",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return E(this,Eu).post("/api/v1/room/inviteParticipants",{roomID:e,inviteParticipants:t,isVoice:n,invitationMethod:Number(r)})}},{key:"getUnjoinParticipant",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/room/queryUnJoined",{roomID:e})}},{key:"getAllInviteParticipant",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/room/queryAllInvite",{roomID:e})}},{key:"deleteUnjoinParticipant",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return E(this,Eu).post("/api/v1/room/deleteInvitationRecord",{roomID:e,identity:t})}},{key:"sendMessage",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.destinationIdentities,r=void 0===n?[]:n,i=t.reliable,a=void 0===i||i,o=t.topic,s=void 0===o?"":o;if(this.room&&this.room.localParticipant){var c=this.encoder.encode(e),u={reliable:a,topic:s};r&&r.length>0&&(u.destinationIdentities=r),this.room.localParticipant.publishData(c,u)}else I(this,Iu,Qu).call(this,"sendMessage","请先加入房间")}},{key:"sendFile",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.destinationIdentities,r=void 0===n?[]:n,i=t.reliable,a=void 0===i||i,o=t.topic,s=void 0===o?"":o,c=arguments.length>2?arguments[2]:void 0;this.room&&this.room.localParticipant?this.room.localParticipant.publishData(e,{destinationIdentities:r,reliable:a,topic:s,onProgress:c}):I(this,Iu,Qu).call(this,"sendFile","请先加入房间")}},{key:"sendChatMessage",value:function(e){var t={roomID:this.roomNum,contentType:Number(e.contentType)};return 1==e.contentType?t.content={content:e.content}:2==e.contentType&&(t.content={sourcePath:e.content}),E(this,Eu).post("/api/v1/room/sendMsg",t)}},{key:"decodeMessage",value:function(e){return this.decoder.decode(e)}},{key:"screenShot",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=I(this,Fu,cd).call(this,e);if(!n)return I(this,Iu,Qu).call(this,"screenShot","DOM元素不存在",!0);var r=document.createElement("canvas");return r.width=t.width,r.height=t.height,r.getContext("2d").drawImage(n,0,0,t.width,t.height),r.toDataURL("image/png",t.quality)}},{key:"uploadScreenShot",value:(J=c(i().mark((function e(t){var n,r,a,o,s,c=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},a=this.screenShot(t,n),(o=a.indexOf(","))>-1&&(r=a.substring(o+1)),e.prev=4,e.next=7,E(this,Eu).post("/api/FileFind/upload/image/sample",{base64:r,org:this.org,owner:this.userId});case 7:200===(null==(s=e.sent)?void 0:s.code)?this.emit("imageUploadSuccess",a):I(this,Iu,Qu).call(this,"uploadScreenShot","截屏上传失败",!0),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),I(this,Iu,Qu).call(this,"uploadScreenShot","截屏上传失败",!0);case 14:case"end":return e.stop()}}),e,this,[[4,11]])}))),function(e){return J.apply(this,arguments)})},{key:"judgeUserInMeeting",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return E(this,Eu).post("/api/v1/room/isParticipantExist",{roomID:e,identity:t})}},{key:"judgeRoomExist",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return E(this,Eu).post("/api/v1/isRoomExist",{roomID:e})}},{key:"setParticipantDeafness",value:(K=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"setParticipantDeafness","identity不能为空",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/doDeafness",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"setParticipantDeafness",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"setParticipantDeafness",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return K.apply(this,arguments)})},{key:"cancelParticipantDeafness",value:(G=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"cancelParticipantDeafness","identity不能为空",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/unDoDeafness",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"cancelParticipantDeafness",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"cancelParticipantDeafness",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return G.apply(this,arguments)})},{key:"muteAllParticipants",value:(q=c(i().mark((function e(){var t,n,r,a=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]?a[0]:1,this.roomNum||I(this,Iu,Qu).call(this,"muteAllParticipants","请先加入房间",!0),e.prev=2,e.next=5,E(this,Eu).post("/api/v1/room/muteAllParticipants",{roomID:this.roomNum,input:Number(t)});case 5:if(200!==(n=e.sent).code){e.next=10;break}return e.abrupt("return",n);case 10:I(this,Iu,Qu).call(this,"muteAllParticipants",n.msg,!0);case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),r=e.t0.message,I(this,Iu,Qu).call(this,"muteAllParticipants",r,!0);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(){return q.apply(this,arguments)})},{key:"muteAllParticipantsCamera",value:(V=c(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return V.apply(this,arguments)})},{key:"addCoHost",value:(W=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"addCoHost","identity不能为空",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/addRoomCoHost",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"addCoHost",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"addCoHost",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return W.apply(this,arguments)})},{key:"removeCoHost",value:(H=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"removeCoHost","identity不能为空",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/removeRoomCoHost",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"removeCoHost",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"removeCoHost",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return H.apply(this,arguments)})},{key:"modifyPermission",value:function(e,t){var n=this;return new Promise((function(r,i){if(e&&t){var a={cmd:"ModifyPermission",data:{room:n.roomNum,identity:n.userId,permission:e,input:t}};n.socket.send(a),n.socket.addMessageHandler("ModifyPermission",(function(e){var t=JSON.parse(e);if("ModifyPermission"===t.cmd)if("200"==(null==t?void 0:t.data.code))r();else{var a,o=I(n,Iu,Qu).call(n,"modifyPermission",null!==(a=t.data.msg)&&void 0!==a?a:"修改与会者权限失败");i(o)}}))}else{var o=I(n,Iu,Qu).call(n,"modifyPermission","关键参数缺失");i(o)}}))}},{key:"createRoom",value:(B=c(i().mark((function e(){var t,n,r,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=o.length>0&&void 0!==o[0]?o[0]:0,this.baseUrl){e.next=4;break}return I(this,Iu,Qu).call(this,"createRoom","请输入baseUrl"),e.abrupt("return");case 4:if(this.roomName){e.next=7;break}return I(this,Iu,Qu).call(this,"createRoom","房间名不能为空"),e.abrupt("return");case 7:return n="",e.prev=8,e.next=11,E(this,Eu).post("/api/v1/room/createRoom",{roomTheme:this.roomName,inviteType:Number(t)});case 11:if(200!=(r=e.sent).code){e.next=18;break}return n=r.data,this.emit("roomCreatedSuccess",n),e.abrupt("return",n);case 18:return I(this,Iu,Qu).call(this,"createRoom",r.msg,!0),e.abrupt("return","");case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(8),a=e.t0.message,I(this,Iu,Qu).call(this,"createRoom",a,!0);case 26:case"end":return e.stop()}}),e,this,[[8,22]])}))),function(){return B.apply(this,arguments)})},{key:"joinRoom",value:(F=c(i().mark((function e(){var t,r,a,o,s,c,u,d,l,p,f,v,m,g,k,b,y,S,T,C,w,P,R,O,N,D,M,A,_,L=this,U=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=(o=U.length>0&&void 0!==U[0]?U[0]:{}).audioDeviceId,c=void 0===s?"":s,u=o.videoDeviceId,d=void 0===u?"":u,l=o.outputDeviceId,p=void 0===l?"":l,f=o.facingMode,v=void 0===f?"user":f,m=o.autoGainControl,g=o.echoCancellation,k=o.noiseSuppression,b=o.adaptiveStream,y=void 0===b||b,S=o.roomNum,T=o.cameraStatus,C=void 0===T||T,w=o.microphoneStatus,P=void 0===w||w,R=o.preferredCodec,S){e.next=3;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"joinRoom","请输入房间号",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 3:return e.prev=3,e.next=6,n.getDeviceList();case 6:O=e.sent,I(this,Ou,Xu).call(this,O,{audioDeviceId:c,videoDeviceId:d,outputDeviceId:p}),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(3),I(this,Ru,Yu).call(this,e.t0,"deviceCheck",!1);case 13:return N=h(h({adaptiveStream:y,audioCaptureDefaults:{deviceId:c||"default",autoGainControl:null!=m&&m,echoCancellation:null!=g&&g,noiseSuppression:null!=k&&k},videoCaptureDefaults:{resolution:Pa.h540.resolution},stopLocalTrackOnUnpublish:!0},"adaptiveStream",!0),"publishDefaults",{videoSimulcastLayers:[Pa.h540],videoCodec:R||"h264"}),p&&(N.audioOutput={deviceId:p}),D={autoSubscribe:!0},d?N.videoCaptureDefaults.deviceId=d:N.videoCaptureDefaults.facingMode=v,this.roomNum=S,e.prev=18,e.t1=x,e.t2=this,e.t3=Tu,e.next=24,I(this,Bu,ud).call(this,this.roomNum);case 24:return e.t4=e.sent,(0,e.t1)(e.t2,e.t3,e.t4),this.room=new Cc(N),e.next=29,this.room.prepareConnection(E(this,Su),E(this,Tu));case 29:return I(this,Hu,ld).call(this),e.next=33,this.room.connect(E(this,Su),E(this,Tu),D);case 33:e.next=40;break;case 35:return e.prev=35,e.t5=e.catch(18),I(this,Ru,Yu).call(this,e.t5,"joinRoom",!1),this.emit("joinRoomError",e.t5),e.abrupt("return");case 40:if(e.prev=40,"auto"!==this.roomMode){e.next=50;break}return e.next=45,this.room.localParticipant.setCameraEnabled(C);case 45:return e.next=47,this.room.localParticipant.setMicrophoneEnabled(P);case 47:I(this,ju,sd).call(this,"video"),e.next=55;break;case 50:return e.next=52,this.room.localParticipant.setMicrophoneEnabled(P);case 52:return e.next=54,this.room.localParticipant.setCameraEnabled(!1);case 54:I(this,ju,sd).call(this,"audio");case 55:e.next=61;break;case 58:e.prev=58,e.t6=e.catch(40),I(this,Ru,Yu).call(this,e.t6,"setMediaDeviceStatus",!1);case 61:return M=null!==(t=this.room.getActiveDevice("audioinput"))&&void 0!==t?t:"default",A=null!==(r=this.room.getActiveDevice("videoinput"))&&void 0!==r?r:"default",_=null!==(a=this.room.getActiveDevice("audiooutput"))&&void 0!==a?a:"default",this.room.remoteParticipants.forEach((function(e){I(L,Vu,pd).call(L,e)})),I(this,Vu,pd).call(this,this.room.localParticipant),I(this,Nu,Zu).call(this),e.abrupt("return",{audioInputDevice:M,videoInputDevice:A,audioOutputDevice:_});case 68:case"end":return e.stop()}}),e,this,[[3,10],[18,35],[40,58]])}))),function(){return F.apply(this,arguments)})},{key:"makeCall",value:(j=c(i().mark((function e(t,n){var r,a,o,s=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.length>2&&void 0!==s[2]?s[2]:0,t&&n||I(this,Iu,Qu).call(this,"makeCall","关键参数缺失",!0),e.prev=2,e.next=5,E(this,Eu).post("/api/v1/room/makeCall",{roomID:this.roomNum,name:t,dnis:n,type:Number(r)});case 5:if(200!==(a=e.sent).code){e.next=10;break}return e.abrupt("return",a);case 10:I(this,Iu,Qu).call(this,"makeCall",a.msg,!0);case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),o=e.t0.message,I(this,Iu,Qu).call(this,"makeCall",o,!0);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e,t){return j.apply(this,arguments)})},{key:"pushVideoStream",value:function(){var e=this;return this.roomNum?new Promise((function(t,n){var r={cmd:"StartOutputStream",data:{room:e.roomNum,url:"rtmp://10.2.14.199/live/"}};e.socket.send(r),e.socket.addMessageHandler("StartOutputStream",(function(r){var i=JSON.parse(r);if("StartOutputStream"===i.cmd)if("200"==(null==i?void 0:i.data.code))e.emit("startPushing",i.data),t(i.data.result);else{var a,o,s=I(e,Iu,Qu).call(e,"pushVideoStream",null!==(a=null===(o=i.data)||void 0===o?void 0:o.msg)&&void 0!==a?a:"推流失败");n(s)}}))})):I(this,Iu,Qu).call(this,"pushVideoStream","请先加入房间",!0)}},{key:"stopPushVideoStream",value:function(){var e=this;return this.roomNum?new Promise((function(t,n){var r={cmd:"StopOutputStream",data:{room:e.roomNum}};e.socket.send(r),e.socket.addMessageHandler("StopOutputStream",(function(r){var i=JSON.parse(r);if("StopOutputStream"===i.cmd)if("200"==(null==i?void 0:i.data.code))e.emit("stopPushing",i.data),t();else{var a,o,s=I(e,Iu,Qu).call(e,"stopPushVideoStream",null!==(a=null===(o=i.data)||void 0===o?void 0:o.msg)&&void 0!==a?a:"停止推流失败");n(s)}}))})):I(this,Iu,Qu).call(this,"stopPushVideoStream","请先加入房间",!0)}},{key:"moveoutParticipant",value:(U=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.roomNum||I(this,Iu,Qu).call(this,"moveoutParticipant","请先加入房间",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/removeParticipant",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"moveoutParticipant",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"moveoutParticipant",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return U.apply(this,arguments)})},{key:"updateParticipantName",value:(L=c(i().mark((function e(t,n){var r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.roomNum){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"updateParticipantName","请先加入房间",!0));case 2:return e.prev=2,e.next=5,E(this,Eu).post("/api/v1/room/updateParticipantName",{roomID:this.roomNum,identity:t,name:n});case 5:if(200!==(r=e.sent).code){e.next=10;break}return e.abrupt("return",r);case 10:I(this,Iu,Qu).call(this,"updateParticipantName",r.msg,!0);case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),a=e.t0.message,I(this,Iu,Qu).call(this,"updateParticipantName",a,!0);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e,t){return L.apply(this,arguments)})},{key:"setParticipantToHost",value:(_=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"setParticipantToHost","identity不能为空",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/modifyRoomHost",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"setParticipantToHost",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"setParticipantToHost",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return _.apply(this,arguments)})},{key:"startRecord",value:function(){var e=this;return this.roomNum?new Promise((function(t,n){var r={cmd:"StartRecording",data:{room:e.roomNum}};e.socket.send(r),e.socket.addMessageHandler("StartRecording",(function(r){var i=JSON.parse(r);if("StartRecording"===i.cmd)if("200"==(null==i?void 0:i.data.code))e.emit("startRecording",i.data.result),t(i.data.result);else{var a,o=I(e,Iu,Qu).call(e,"startRecord",null!==(a=i.data.msg)&&void 0!==a?a:"录制失败");n(o)}}))})):I(this,Iu,Qu).call(this,"startRecord","请先加入房间",!0)}},{key:"stopRecord",value:function(){var e=this;return this.roomNum?new Promise((function(t,n){var r={cmd:"StopRecording",data:{room:e.roomNum}};e.socket.send(r),e.socket.addMessageHandler("StopRecording",(function(r){var i=JSON.parse(r);if("StopRecording"===i.cmd)if("200"==(null==i?void 0:i.data.code))e.emit("stopRecording",i.data),t();else{var a,o,s=I(e,Iu,Qu).call(e,"stopRecord",null!==(a=null===(o=i.data)||void 0===o?void 0:o.msg)&&void 0!==a?a:"停止录制失败");n(s)}}))})):I(this,Iu,Qu).call(this,"stopRecord","请先加入房间",!0)}},{key:"pullStream",value:function(e,t){var n=this;return new Promise((function(r,i){t||i("streamIdentity不能为空");var a={cmd:"StartInputStream",data:{room:n.roomNum,identity:t,url:e}};n.socket.send(a),n.socket.addMessageHandler("StartInputStream",(function(e){var t=JSON.parse(e);if("StartInputStream"===t.cmd)if("200"==(null==t?void 0:t.data.code))n.emit("startPulling",t.data.result),r(t.data.result);else{var a,o,s=I(n,Iu,Qu).call(n,"pullStream",null!==(a=null===(o=t.data)||void 0===o?void 0:o.msg)&&void 0!==a?a:"拉流失败");i(s)}}))}))}},{key:"stopPullStream",value:function(){var e=this;return new Promise((function(t,n){var r={cmd:"StopInputStream",data:{room:e.roomNum,identity:"liuang3a5gdf"}};e.socket.send(r),e.socket.addMessageHandler("StopInputStream",(function(r){var i=JSON.parse(r);if("StopInputStream"===i.cmd)if("200"==(null==i?void 0:i.data.code))e.emit("stopPulling",i.data),t();else{var a,o,s=I(e,Iu,Qu).call(e,"stopPullStream",null!==(a=null===(o=i.data)||void 0===o?void 0:o.msg)&&void 0!==a?a:"停止拉流失败");n(s)}}))}))}},{key:"acceptInvite",value:(A=c(i().mark((function e(t,n){var r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&n||I(this,Iu,Qu).call(this,"acceptInvite","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/acceptInvite",{roomID:t,identity:n});case 4:if(200!==(r=e.sent).code){e.next=9;break}return e.abrupt("return",r);case 9:I(this,Iu,Qu).call(this,"acceptInvite",r.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),a=e.t0.message,I(this,Iu,Qu).call(this,"acceptInvite",a,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e,t){return A.apply(this,arguments)})},{key:"refuseInvite",value:(M=c(i().mark((function e(t,n){var r,a;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&n||I(this,Iu,Qu).call(this,"refuseInvite","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/refuseInvite",{roomID:t,identity:n});case 4:if(200!==(r=e.sent).code){e.next=9;break}return e.abrupt("return",r);case 9:I(this,Iu,Qu).call(this,"refuseInvite",r.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),a=e.t0.message,I(this,Iu,Qu).call(this,"refuseInvite",a,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e,t){return M.apply(this,arguments)})},{key:"leaveRoom",value:(D=c(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=3;break}return I(this,Iu,Qu).call(this,"leaveRoom","当前没有连接到房间",!1,n.ErrorCategory.ROOM,n.ErrorSeverity.LOW),e.abrupt("return");case 3:return e.prev=3,I(this,Lu,ad).call(this),e.next=8,this.room.disconnect();case 8:this.room=null,this.roomNum=null,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(3),I(this,Ru,Yu).call(this,e.t0,"leaveRoom",!1);case 16:case"end":return e.stop()}}),e,this,[[3,13]])}))),function(){return D.apply(this,arguments)})},{key:"deleteRoom",value:function(e){return E(this,Eu).post("/api/v1/room/deleteRoom",{roomID:e})}},{key:"closeSocket",value:function(){this.socket&&(this.socket.clearAlertHandler(),this.socket.close())}},{key:"getErrorStats",value:function(){var e,t,n,r;return this.errorStats||this.clearErrorStats(),{totalErrors:(null===(e=this.errorStats)||void 0===e?void 0:e.total)||0,errorsByCategory:(null===(t=this.errorStats)||void 0===t?void 0:t.byCategory)||{},errorsBySeverity:(null===(n=this.errorStats)||void 0===n?void 0:n.bySeverity)||{},recentErrors:(null===(r=this.errorStats)||void 0===r?void 0:r.recent)||[]}}},{key:"clearErrorStats",value:function(){this.errorStats={total:0,byCategory:{},bySeverity:{},recent:[]}}},{key:"getSystemHealth",value:function(){var e,t,n,r,i,a,o,s,c,u={overall:"good",room:{connected:"connected"===(null===(e=this.room)||void 0===e?void 0:e.state),participantCount:(null===(t=this.room)||void 0===t?void 0:t.numParticipants)||0,connectionQuality:(null===(n=this.room)||void 0===n||null===(n=n.localParticipant)||void 0===n?void 0:n.connectionQuality)||"unknown",state:(null===(r=this.room)||void 0===r?void 0:r.state)||"disconnected"},devices:{camera:(null===(i=this.room)||void 0===i||null===(i=i.localParticipant)||void 0===i?void 0:i.isCameraEnabled)||!1,microphone:(null===(a=this.room)||void 0===a||null===(a=a.localParticipant)||void 0===a?void 0:a.isMicrophoneEnabled)||!1,screenShare:(null===(o=this.room)||void 0===o||null===(o=o.localParticipant)||void 0===o?void 0:o.isScreenShareEnabled)||!1},network:{localConnectionQuality:(null===(s=this.room)||void 0===s||null===(s=s.localParticipant)||void 0===s?void 0:s.connectionQuality)||"unknown",hasRemoteParticipants:((null===(c=this.room)||void 0===c?void 0:c.numParticipants)||0)>1}};if(u.room.connected){if("reconnecting"===u.room.state)u.overall="warning";else if(u.network.localConnectionQuality===fc.Poor)u.overall="warning";else if("connected"===u.room.state&&u.room.participantCount>0){var d;Array.from((null===(d=this.room)||void 0===d||null===(d=d.remoteParticipants)||void 0===d?void 0:d.values())||[]).filter((function(e){return e.connectionQuality===fc.Poor})).length>.5*u.room.participantCount&&(u.overall="warning")}}else u.overall="critical";return u}},{key:"publishLocalParticipant",value:(R=c(i().mark((function e(){var t,n=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,mc({audio:!0,video:!0});case 2:t=e.sent,this.room.localParticipant&&t.forEach((function(e){n.room.localParticipant.publishTrack(t)}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return R.apply(this,arguments)})},{key:"changeAudioDevice",value:(P=c(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeAudioDevice","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 2:return e.prev=2,e.next=6,this.room.switchActiveDevice("audioinput",t);case 6:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"changeAudioDevice",!0);case 12:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e){return P.apply(this,arguments)})},{key:"changeVideoDevice",value:(w=c(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeVideoDevice","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 2:return e.prev=2,e.next=6,this.room.switchActiveDevice("videoinput",t);case 6:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"changeVideoDevice",!0);case 12:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e){return w.apply(this,arguments)})},{key:"changeOutputDevice",value:(C=c(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeOutputDevice","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 2:return e.prev=2,e.next=6,this.room.switchActiveDevice("audiooutput",t);case 6:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"changeOutputDevice",!0);case 12:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e){return C.apply(this,arguments)})},{key:"flipCamera",value:function(){var e,t,n,r=null===(e=this.room)||void 0===e?void 0:e.localParticipant.getTrackPublication(ka.Source.Camera);if(r){var i={facingMode:"user"===(null===(t=r.videoTrack)||void 0===t?void 0:t.constraints).facingMode?"environment":"user"};return null===(n=r.videoTrack)||void 0===n||n.restartTrack(i),i.facingMode}I(this,Iu,Qu).call(this,"flipCamera","请先加入房间")}},{key:"changeCameraStatus",value:(T=c(i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room&&this.room.localParticipant){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeCameraStatus","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 2:if(e.prev=2,!(t=this.room.localParticipant).isCameraEnabled){e.next=11;break}return e.next=9,t.setCameraEnabled(!1);case 9:e.next=13;break;case 11:return e.next=13,t.setCameraEnabled(!0);case 13:this.emit("localCameraChange",t.isCameraEnabled),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"changeCameraStatus",!1);case 20:case"end":return e.stop()}}),e,this,[[2,17]])}))),function(){return T.apply(this,arguments)})},{key:"changeMicrophoneStatus",value:(S=c(i().mark((function e(){var t;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room&&this.room.localParticipant){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeMicrophoneStatus","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 2:if(e.prev=2,!(t=this.room.localParticipant).isMicrophoneEnabled){e.next=11;break}return e.next=9,t.setMicrophoneEnabled(!1);case 9:e.next=13;break;case 11:return e.next=13,t.setMicrophoneEnabled(!0);case 13:this.emit("localMicrophoneChange",t.isMicrophoneEnabled),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"changeMicrophoneStatus",!1);case 20:case"end":return e.stop()}}),e,this,[[2,17]])}))),function(){return S.apply(this,arguments)})},{key:"changeScreenShareStatus",value:(y=c(i().mark((function e(){var t,a,o,s,c=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.length>0&&void 0!==c[0]?c[0]:{},a=c.length>1&&void 0!==c[1]?c[1]:{},this.room&&this.room.localParticipant){e.next=4;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeScreenShareStatus","请先加入房间",!0,n.ErrorCategory.ROOM,n.ErrorSeverity.HIGH));case 4:return e.prev=4,o=this.room.localParticipant,s=o.isScreenShareEnabled,e.next=10,o.setScreenShareEnabled(!s,r(r({},t),{},{audio:!0}),r({},a));case 10:s||I(this,ju,sd).call(this,"share"),this.emit("localScreenShareChange",o.isScreenShareEnabled),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(4),I(this,Ru,Yu).call(this,e.t0,"changeScreenShareStatus",!1);case 18:case"end":return e.stop()}}),e,this,[[4,15]])}))),function(){return y.apply(this,arguments)})},{key:"changeParticipantMicrophoneStatus",value:(b=c(i().mark((function e(t,n){var r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t||I(this,Iu,Qu).call(this,"changeParticipantMicrophoneStatus","请输入要查询的identity",!0),r=this.room.getParticipantByIdentity(t)){e.next=4;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeParticipantMicrophoneStatus","该参与者不存在",!0));case 4:if(!r.isLocal){e.next=10;break}return e.next=7,r.setMicrophoneEnabled(!n);case 7:this.emit("localMicrophoneChange",this.room.localParticipant.isMicrophoneEnabled),e.next=17;break;case 10:if(!n){e.next=15;break}return e.next=13,this.muteParticipant(t,"1");case 13:e.next=17;break;case 15:return e.next=17,this.unmuteParticipant(t,"1");case 17:case"end":return e.stop()}}),e,this)}))),function(e,t){return b.apply(this,arguments)})},{key:"changeParticipantCameraStatus",value:(g=c(i().mark((function e(t,n){var r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeParticipantCameraStatus","请输入要查询的identity",!0));case 2:if(r=this.room.getParticipantByIdentity(t)){e.next=5;break}return e.abrupt("return",I(this,Iu,Qu).call(this,"changeParticipantCameraStatus","该参与者不存在",!0));case 5:if(!r.isLocal){e.next=11;break}return e.next=8,r.setCameraEnabled(!n);case 8:this.emit("localCameraChange",this.room.localParticipant.isCameraEnabled),e.next=18;break;case 11:if(!n){e.next=16;break}return e.next=14,this.muteParticipant(t,"2");case 14:e.next=18;break;case 16:return e.next=18,this.unmuteParticipant(t,"2");case 18:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"muteParticipant",value:(m=c(i().mark((function e(t){var n,r,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:1,t||I(this,Iu,Qu).call(this,"muteParticipant","请输入要查询的identity",!0),e.prev=2,e.next=5,E(this,Eu).post("/api/v1/room/muteParticipant",{roomID:this.roomNum,identity:t,input:Number(n)});case 5:if(200!==(r=e.sent).code){e.next=10;break}return e.abrupt("return",r);case 10:I(this,Iu,Qu).call(this,"muteParticipant",r.msg,!0);case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),a=e.t0.message,I(this,Iu,Qu).call(this,"muteParticipant",a,!0);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e){return m.apply(this,arguments)})},{key:"unmuteParticipant",value:(v=c(i().mark((function e(t){var n,r,a,o=arguments;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:1,t||I(this,Iu,Qu).call(this,"unmuteParticipant","请输入要查询的identity",!0),e.prev=2,e.next=5,E(this,Eu).post("/api/v1/room/unMuteParticipant",{roomID:this.roomNum,identity:t,input:Number(n)});case 5:if(200!==(r=e.sent).code){e.next=10;break}return e.abrupt("return",r);case 10:I(this,Iu,Qu).call(this,"unmuteParticipant",r.msg,!0);case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),a=e.t0.message,I(this,Iu,Qu).call(this,"unmuteParticipant",a,!0);case 17:case"end":return e.stop()}}),e,this,[[2,13]])}))),function(e){return v.apply(this,arguments)})},{key:"setBlurParticipant",value:(f=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.roomNum&&t||I(this,Iu,Qu).call(this,"setBlurParticipant","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/modifyBlurID",{roomID:this.roomNum,identity:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"setBlurParticipant",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"setBlurParticipant",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return f.apply(this,arguments)})},{key:"removeBlurParticipant",value:(d=c(i().mark((function e(){var t,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.roomNum||I(this,Iu,Qu).call(this,"removeBlurParticipant","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/deleteBlurID",{roomID:this.roomNum});case 4:if(200!==(t=e.sent).code){e.next=9;break}return e.abrupt("return",t);case 9:I(this,Iu,Qu).call(this,"removeBlurParticipant",t.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),n=e.t0.message,I(this,Iu,Qu).call(this,"removeBlurParticipant",n,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(){return d.apply(this,arguments)})},{key:"setRoomMode",value:(s=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&this.roomNum||I(this,Iu,Qu).call(this,"setRoomMode","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/modifyRoomMode",{roomID:this.roomNum,mode:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"setRoomMode",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"setRoomMode",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return s.apply(this,arguments)})},{key:"setRoomLayout",value:(o=c(i().mark((function e(t){var n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&this.roomNum||I(this,Iu,Qu).call(this,"setRoomLayout","关键参数缺失",!0),e.prev=1,e.next=4,E(this,Eu).post("/api/v1/room/modifyFrontLayout",{roomID:this.roomNum,layout:t});case 4:if(200!==(n=e.sent).code){e.next=9;break}return e.abrupt("return",n);case 9:I(this,Iu,Qu).call(this,"setRoomLayout",n.msg,!0);case 10:e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),r=e.t0.message,I(this,Iu,Qu).call(this,"setRoomLayout",r,!0);case 16:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return o.apply(this,arguments)})},{key:"renderParticipant",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];"auto"===this.roomMode?this.renderToVideo(e,t):"audio"===this.roomMode&&this.renderToAudio(e,t)}},{key:"renderToVideo",value:function(e,t){var n={},r=e.name,i=e.identity,a=e.audioLevel,o=e.isSpeaking,s=e.metadata,c=e.sid,u=e.isCameraEnabled,d=e.isLocal,l=e.isMicrophoneEnabled,h=e.isScreenShareEnabled,p=e.connectionQuality,f=e.kind;if(n.remove=t,n.name=r||i,n.roomMode=this.roomMode,n.identity=i,n.audioLevel=a,n.isSpeaking=o,n.metadata=JSON.parse(s),n.sid=c,n.isCameraEnabled=u,n.isLocal=d,n.isMicrophoneEnabled=l,n.isScreenShareEnabled=h,n.connectionQuality=p,n.kind=f,h){var v=e.getTrackPublication(ka.Source.ScreenShare),m=e.getTrackPublication(ka.Source.ScreenShareAudio);v&&(n.dimensions=null==v?void 0:v.dimensions),v&&(n.source=v.source),v&&(n.videoTrack=v.videoTrack),m&&(n.screenShareAudioTrack=m.audioTrack)}else{var g=e.getTrackPublication(ka.Source.Camera);g&&(n.dimensions=null==g?void 0:g.dimensions),g&&(n.source=null==g?void 0:g.source),g&&(n.videoTrack=null==g?void 0:g.videoTrack)}var k=e.getTrackPublication(ka.Source.Microphone);n.audioTrack=k?k.audioTrack:void 0,this.emit("videoCallRender",n)}},{key:"renderToAudio",value:function(e,t){var n={},r=e.name,i=e.identity,a=e.audioLevel,o=e.isSpeaking,s=e.metadata,c=e.sid,u=e.isLocal,d=e.isMicrophoneEnabled,l=e.connectionQuality;n.remove=t,n.name=r||i,n.roomMode=this.roomMode,n.identity=i,n.audioLevel=a,n.isSpeaking=o,n.metadata=JSON.parse(s),n.sid=c,n.isLocal=u,n.isMicrophoneEnabled=d,n.connectionQuality=l;var h=e.getTrackPublication(ka.Source.Microphone);n.audioTrack=h?h.audioTrack:void 0,this.emit("audioCallRender",n)}},{key:"updateVideoSize",value:function(e,t){t.innerHTML="(".concat(e.videoWidth,"x").concat(e.videoHeight,")")}},{key:"sendInviteNotice",value:function(e,t,n){var r=this;return new Promise((function(i,a){n||a("缺少roomNum参数"),E(r,Eu).post("/api/v1/noticeMakeCall",{name:e,dnis:t,room:n}).then((function(e){var t;200==(null==e?void 0:e.code)?i():a(null!==(t=null==e?void 0:e.msg)&&void 0!==t?t:"语音播报接口出错")})).catch((function(e){a(e)}))}))}}],[{key:"getDeviceList",value:(a=c(i().mark((function e(){var t,n,r;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Cc.getLocalDevices("audioinput");case 2:return t=e.sent,e.next=5,Cc.getLocalDevices("videoinput");case 5:return n=e.sent,e.next=8,Cc.getLocalDevices("audiooutput");case 8:return r=e.sent,e.abrupt("return",{audioDevices:t,videoDevices:n,outputDevices:r});case 10:case"end":return e.stop()}}),e)}))),function(){return a.apply(this,arguments)})}]),n}();function Ju(e){return e.code,e}function zu(e){var t=e.type,n=e.message,r=e.category,i=e.severity,a=e.timestamp,o=e.context,s=lu.ErrorCategory.NETWORK;switch(r){case"connection":s=lu.ErrorCategory.CONNECTION;break;case"network":s=lu.ErrorCategory.NETWORK;break;case"timeout":s=lu.ErrorCategory.NETWORK;break;case"authentication":s=lu.ErrorCategory.CONNECTION;break;case"protocol":s=lu.ErrorCategory.NETWORK;break;case"heartbeat":s=lu.ErrorCategory.NETWORK;break;case"worker":s=lu.ErrorCategory.UNKNOWN;break;default:s=lu.ErrorCategory.UNKNOWN}var c,u=lu.ErrorSeverity.MEDIUM;switch(i){case"low":u=lu.ErrorSeverity.LOW;break;case"medium":u=lu.ErrorSeverity.MEDIUM;break;case"high":u=lu.ErrorSeverity.HIGH;break;case"critical":u=lu.ErrorSeverity.CRITICAL;break;default:u=lu.ErrorSeverity.MEDIUM}(I(this,Iu,Qu).call(this,"websocket_".concat(t),"WebSocket告警: ".concat(n),!1,s,u,{websocketAlert:!0,originalType:t,originalCategory:r,originalSeverity:i,timestamp:a,websocketContext:o}),"critical"===i&&this.emit("websocketCriticalError",{type:t,message:n,category:r,severity:i,context:o}),"reconnectFailed"===t||"connectionCreateFailed"===t)&&this.emit("websocketConnectionFailed",{type:t,message:n,attempts:o.reconnectAttempts||0,maxAttempts:o.maxAttempts||(null===(c=this.socket)||void 0===c?void 0:c.maxReconnectAttempts)||5});"connectionSuccess"===t&&o.reconnectAttempts>0&&this.emit("websocketConnectionRestored",{message:n,attempts:o.reconnectAttempts,duration:o.connectionDuration})}function Qu(e,t){var n,i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:lu.ErrorCategory.UNKNOWN,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:lu.ErrorSeverity.MEDIUM,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},u={type:e,message:t,category:o,severity:s,timestamp:(new Date).toISOString(),context:r({roomNum:this.roomNum,userId:this.userId,isConnected:"connected"===(null===(n=this.room)||void 0===n?void 0:n.state),participantCount:(null===(i=this.room)||void 0===i?void 0:i.numParticipants)||0},c)};switch(s){case lu.ErrorSeverity.CRITICAL:break;case lu.ErrorSeverity.HIGH:break;case lu.ErrorSeverity.MEDIUM:break;case lu.ErrorSeverity.LOW:break;default:}if(I(this,Wu,hd).call(this,u),this.emit("errorAlert",u),this.emit("errorPush",{type:e,message:t}),a){var d=new Error(t);throw d.type=e,d.category=o,d.severity=s,d.context=u.context,d}return a?new Error(t):void 0}function Yu(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=lu.ErrorCategory.UNKNOWN,i=lu.ErrorSeverity.MEDIUM,a=e.message||"未知错误";return"NotAllowedError"===e.name||"PermissionDeniedError"===e.name?(r=lu.ErrorCategory.PERMISSION,i=lu.ErrorSeverity.HIGH,a=a.includes("camera")||a.includes("video")?"摄像头权限被拒绝,请检查浏览器设置并允许摄像头访问":a.includes("microphone")||a.includes("audio")?"麦克风权限被拒绝,请检查浏览器设置并允许麦克风访问":"媒体设备权限被拒绝,请检查浏览器权限设置"):"NotFoundError"===e.name||"DeviceNotFoundError"===e.name?(r=lu.ErrorCategory.MEDIA_DEVICE,i=lu.ErrorSeverity.MEDIUM,a="未找到指定的媒体设备,请检查设备连接状态"):"NotReadableError"===e.name||"TrackInvalidError"===e.name?(r=lu.ErrorCategory.MEDIA_DEVICE,i=lu.ErrorSeverity.HIGH,a="媒体设备不可读取,可能被其他应用占用或设备故障"):"OverconstrainedError"===e.name||"ConstraintNotSatisfiedError"===e.name?(r=lu.ErrorCategory.MEDIA_DEVICE,i=lu.ErrorSeverity.MEDIUM,a="媒体设备不支持请求的参数配置"):"NetworkError"===e.name||"ConnectionError"===e.name?(r=lu.ErrorCategory.NETWORK,i=lu.ErrorSeverity.HIGH,a="网络连接错误,请检查网络状态"):"SecurityError"===e.name?(r=lu.ErrorCategory.PERMISSION,i=lu.ErrorSeverity.HIGH,a="安全限制导致操作失败,请检查HTTPS环境和权限设置"):"AbortError"===e.name?(r=lu.ErrorCategory.MEDIA_DEVICE,i=lu.ErrorSeverity.LOW,a="媒体操作被中止"):"TimeoutError"===e.name?(r=lu.ErrorCategory.NETWORK,i=lu.ErrorSeverity.MEDIUM,a="操作超时,请检查网络连接"):e.message&&e.message.includes("token")?(r=lu.ErrorCategory.CONNECTION,i=lu.ErrorSeverity.CRITICAL,a="认证令牌无效或已过期"):e.message&&e.message.includes("room")&&(r=lu.ErrorCategory.ROOM,i=lu.ErrorSeverity.HIGH,a="房间操作失败:"+e.message),I(this,Iu,Qu).call(this,t,a,n,r,i,{originalError:e.name,originalMessage:e.message,stack:e.stack})}function Xu(e,t){var n=t.audioDeviceId,r=t.videoDeviceId,i=t.outputDeviceId;n&&"default"!==n&&(e.audioDevices.find((function(e){return e.deviceId===n}))||I(this,Iu,Qu).call(this,"validateDevices","指定的音频输入设备不存在: ".concat(n),!1,lu.ErrorCategory.MEDIA_DEVICE,lu.ErrorSeverity.MEDIUM));r&&"default"!==r&&(e.videoDevices.find((function(e){return e.deviceId===r}))||I(this,Iu,Qu).call(this,"validateDevices","指定的视频输入设备不存在: ".concat(r),!1,lu.ErrorCategory.MEDIA_DEVICE,lu.ErrorSeverity.MEDIUM));i&&"default"!==i&&(e.outputDevices.find((function(e){return e.deviceId===i}))||I(this,Iu,Qu).call(this,"validateDevices","指定的音频输出设备不存在: ".concat(i),!1,lu.ErrorCategory.MEDIA_DEVICE,lu.ErrorSeverity.MEDIUM))}function Zu(){var e=this;this.room&&(this.connectionMonitorInterval=setInterval((function(){I(e,Du,$u).call(e)}),5e3))}function $u(){return ed.apply(this,arguments)}function ed(){return ed=c(i().mark((function e(){var t=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,I(this,Mu,td).call(this,this.room.localParticipant,!0);case 5:this.room.remoteParticipants.forEach(function(){var e=c(i().mark((function e(n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,I(t,Mu,td).call(t,n,!1);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),I(this,_u,id).call(this),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(2),I(this,Ru,Yu).call(this,e.t0,"checkConnectionHealth",!1);case 12:case"end":return e.stop()}}),e,this,[[2,9]])}))),ed.apply(this,arguments)}function td(e,t){return nd.apply(this,arguments)}function nd(){return(nd=c(i().mark((function e(t,n){var r,a,o,s,c;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:e.prev=2,r=Array.from(t.getTrackPublications().values()),a=0,o=r;case 5:if(a>=o.length){e.next=21;break}if(!(s=o[a]).track||!s.isSubscribed){e.next=18;break}return e.prev=8,e.next=11,s.track.getRTCStatsReport();case 11:(c=e.sent)&&I(this,Au,rd).call(this,c,t,s,n),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(8);case 18:a++,e.next=5;break;case 21:e.next=26;break;case 23:e.prev=23,e.t1=e.catch(2);case 26:case"end":return e.stop()}}),e,this,[[2,23],[8,15]])})))).apply(this,arguments)}function rd(e,t,n,r){var i=this;e.forEach((function(e){if("inbound-rtp"===e.type){if(e.packetsLost&&e.packetsReceived){var a=e.packetsLost/(e.packetsLost+e.packetsReceived);a>.05&&I(i,Iu,Qu).call(i,"highPacketLoss","".concat(r?"本地":"远程","参与者 ").concat(t.name||t.identity," 的 ").concat(n.source," 丢包率过高: ").concat((100*a).toFixed(2),"%"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.MEDIUM,{participantIdentity:t.identity,trackSource:n.source,packetLossRate:a,packetsLost:e.packetsLost,packetsReceived:e.packetsReceived})}e.jitter&&"audio"===n.kind&&e.jitter>.1&&I(i,Iu,Qu).call(i,"highJitter","".concat(r?"本地":"远程","参与者 ").concat(t.name||t.identity," 的音频抖动过高: ").concat((1e3*e.jitter).toFixed(2),"ms"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.LOW,{participantIdentity:t.identity,jitter:e.jitter})}if("outbound-rtp"===e.type&&r&&e.retransmittedPacketsSent&&e.packetsSent){var o=e.retransmittedPacketsSent/e.packetsSent;o>.1&&I(i,Iu,Qu).call(i,"highRetransmission","本地 ".concat(n.source," 重传率过高: ").concat((100*o).toFixed(2),"%"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.MEDIUM,{trackSource:n.source,retransmissionRate:o,retransmittedPackets:e.retransmittedPacketsSent,totalPackets:e.packetsSent})}"candidate-pair"===e.type&&"succeeded"===e.state&&(e.currentRoundTripTime&&e.currentRoundTripTime>.5&&I(i,Iu,Qu).call(i,"highRTT","网络延迟过高: ".concat((1e3*e.currentRoundTripTime).toFixed(0),"ms"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.MEDIUM,{rtt:e.currentRoundTripTime,localCandidateType:e.localCandidateType,remoteCandidateType:e.remoteCandidateType}),e.availableOutgoingBitrate&&1e5>e.availableOutgoingBitrate&&I(i,Iu,Qu).call(i,"lowBandwidth","可用上行带宽过低: ".concat(Math.round(e.availableOutgoingBitrate/1e3),"kbps"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.MEDIUM,{availableBandwidth:e.availableOutgoingBitrate}))}))}function id(){var e=this;this.room.localParticipant.connectionQuality===fc.Poor&&I(this,Iu,Qu).call(this,"poorConnectionQuality","本地连接质量差",!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.MEDIUM,{participantIdentity:this.room.localParticipant.identity,connectionQuality:this.room.localParticipant.connectionQuality,isLocal:!0}),this.room.remoteParticipants.forEach((function(t){t.connectionQuality===fc.Poor&&I(e,Iu,Qu).call(e,"poorConnectionQuality","参与者 ".concat(t.name||t.identity," 连接质量差"),!1,lu.ErrorCategory.NETWORK,lu.ErrorSeverity.LOW,{participantIdentity:t.identity,connectionQuality:t.connectionQuality,isLocal:!1})}))}function ad(){this.connectionMonitorInterval&&(clearInterval(this.connectionMonitorInterval),this.connectionMonitorInterval=null)}function od(){var e=this;this.socket.addMessageHandler("ResThirdInvite",(function(t){var n,r=JSON.parse(t);"ResInvite"===r.cmd&&"200"==(null===(n=r.data)||void 0===n?void 0:n.code)&&e.emit("receiveInviteSuccess",{roomNum:r.data.room,fromIdentity:r.data.fromIdentity,fromName:r.data.fromName,isP2P:r.data.isP2P,isVoice:r.data.isVoice})})),this.socket.addMessageHandler("ResAccept",(function(t){var n,r=JSON.parse(t);"ResAccept"===r.cmd&&"200"==(null===(n=r.data)||void 0===n?void 0:n.code)&&e.emit("receiveInviteAccept",{roomNum:r.data.room,fromIdentity:r.data.fromIdentity})})),this.socket.addMessageHandler("ResRefuse",(function(t){var n,r=JSON.parse(t);"ResRefuse"===r.cmd&&"200"==(null===(n=r.data)||void 0===n?void 0:n.code)&&e.emit("receiveInviteRefuse",{roomNum:r.data.room,fromIdentity:r.data.fromIdentity})})),this.socket.addMessageHandler("ResCancelInvite",(function(t){var n,r=JSON.parse(t);"ResCancelInvite"===r.cmd&&"200"==(null===(n=r.data)||void 0===n?void 0:n.code)&&e.emit("receiveInviteCancel",{roomNum:r.data.room,fromIdentity:r.data.fromIdentity,fromName:r.data.fromName})}))}function sd(e){if(this.roomNum){var t={cmd:"SdkCall",data:{room:this.roomNum,sdkType:e}};this.socket.send(t)}else I(this,Iu,Qu).call(this,"getSdkCallNum","请先加入房间",!0)}function cd(e){return document.getElementById(e)}function ud(e){return dd.apply(this,arguments)}function dd(){return(dd=c(i().mark((function e(t){var n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t||I(this,Iu,Qu).call(this,"getToken","未获取到房间号",!0,lu.ErrorCategory.ROOM,lu.ErrorSeverity.HIGH),e.prev=1,e.next=5,E(this,Eu).post("/api/v1/room/getToken",{roomID:t});case 5:if(200!==(n=e.sent).code){e.next=11;break}return e.abrupt("return",n.data);case 11:I(this,Iu,Qu).call(this,"getToken","获取房间token失败: ".concat(n.msg||"未知错误"),!0,lu.ErrorCategory.API,lu.ErrorSeverity.HIGH,{statusCode:n.code,responseMessage:n.msg});case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(1),I(this,Iu,Qu).call(this,"getToken","获取房间token失败: ".concat(e.t0.message),!0,lu.ErrorCategory.API,lu.ErrorSeverity.HIGH,{originalError:e.t0.name,stack:e.t0.stack});case 17:case"end":return e.stop()}}),e,this,[[1,14]])})))).apply(this,arguments)}function ld(){var e=this;this.room.on(Xi.Connected,(function(){e.emit("roomConnected")})),this.room.on(Xi.Disconnected,function(){var t=c(i().mark((function t(n){var r,a;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=lu.ErrorSeverity.MEDIUM,a="房间连接已断开",n===Nt.UNKNOWN_REASON?(r=lu.ErrorSeverity.HIGH,a="房间连接意外断开,原因未知"):n===Nt.CLIENT_INITIATED?(r=lu.ErrorSeverity.LOW,a="主动断开房间连接"):n===Nt.DUPLICATE_IDENTITY?(r=lu.ErrorSeverity.HIGH,a="检测到重复身份,连接被断开"):n===Nt.SERVER_SHUTDOWN?(r=lu.ErrorSeverity.CRITICAL,a="服务器关闭,连接断开"):n===Nt.PARTICIPANT_REMOVED?(r=lu.ErrorSeverity.HIGH,a="参与者被移除,连接断开"):n===Nt.ROOM_DELETED?(r=lu.ErrorSeverity.HIGH,a="房间已被删除,连接断开"):n===Nt.STATE_MISMATCH&&(r=lu.ErrorSeverity.HIGH,a="状态不匹配,连接断开"),I(e,Iu,Qu).call(e,"roomDisconnected",a,!1,lu.ErrorCategory.CONNECTION,r,{disconnectReason:n}),I(e,Lu,ad).call(e),t.next=8,I(e,Gu,vd).call(e);case 8:e.emit("roomDisconnected",n);case 9:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),this.room.on(Xi.Reconnecting,(function(){I(e,Iu,Qu).call(e,"roomReconnecting","正在尝试重新连接房间",!1,lu.ErrorCategory.CONNECTION,lu.ErrorSeverity.MEDIUM)})),this.room.on(Xi.Reconnected,(function(){I(e,Iu,Qu).call(e,"roomReconnected","房间重连成功",!1,lu.ErrorCategory.CONNECTION,lu.ErrorSeverity.LOW)})),this.room.on(Xi.ConnectionStateChanged,(function(t){t===kc.Failed&&I(e,Iu,Qu).call(e,"connectionStateFailed","房间连接失败",!1,lu.ErrorCategory.CONNECTION,lu.ErrorSeverity.HIGH,{connectionState:t})})),this.room.on(Xi.ParticipantConnected,(function(t){e.emit("participantConnected",t),I(e,Vu,pd).call(e,t)})),this.room.on(Xi.ParticipantDisconnected,(function(t){I(e,qu,fd).call(e,t)})),this.room.on(Xi.ActiveDeviceChanged,(function(t,n){e.emit("mediaDeviceChange",{kind:t,deviceId:n})})),this.room.on(Xi.MediaDevicesError,(function(t){I(e,Ru,Yu).call(e,t,"mediaDevicesError",!1)})),this.room.on(Xi.ActiveSpeakersChanged,(function(t){var n;n=t.map((function(e){var t;return{identity:e.identity,isLocal:e.isLocal,audioLevel:e.audioLevel,name:null!==(t=e.name)&&void 0!==t?t:e.identity}})),e.emit("activeSpeakerChange",n)})),this.room.on(Xi.LocalTrackPublished,(function(t,n){e.emit("localTrackPublished",{localTrackPub:t,localParticipant:n}),e.renderParticipant(n)})),this.room.on(Xi.LocalTrackUnpublished,(function(t,n){e.renderParticipant(n)})),this.room.on(Xi.TrackPublished,(function(t,n){e.renderParticipant(n)})),this.room.on(Xi.TrackUnpublished,(function(t,n){e.renderParticipant(n)})),this.room.on(Xi.TrackSubscribed,(function(t,n,r){e.emit("trackSubscribed",{remoteTrack:t,remoteTrackPublication:n,remoteParticipant:r}),e.renderParticipant(r)})),this.room.on(Xi.TrackUnsubscribed,(function(t,n,r){e.renderParticipant(r)})),this.room.on(Xi.TrackSubscriptionFailed,(function(t,n,r){I(e,Iu,Qu).call(e,"trackSubscriptionFailed","轨道订阅失败: ".concat(r),!1,lu.ErrorCategory.TRACK,lu.ErrorSeverity.MEDIUM,{trackSid:t,participantIdentity:n.identity,reason:r})})),this.room.on(Xi.TrackStreamStateChanged,(function(t,n,r){n===ka.StreamState.Paused&&I(e,Iu,Qu).call(e,"trackStreamPaused","参与者 ".concat(r.identity," 的 ").concat(t.source," 轨道流被暂停"),!1,lu.ErrorCategory.TRACK,lu.ErrorSeverity.LOW,{participantIdentity:r.identity,trackSource:t.source,streamState:n})})),this.room.on(Xi.RoomMetadataChanged,(function(t){e.emit("roomMetadataChanged",t)})),this.room.on(Xi.DataReceived,(function(t,n,r,i){e.emit("roomDataReceived",{data:t,participant:n,kind:r,topic:i})}))}function hd(e){this.errorStats||this.clearErrorStats(),this.errorStats.total++,this.errorStats.byCategory[e.category]||(this.errorStats.byCategory[e.category]=0),this.errorStats.byCategory[e.category]++,this.errorStats.bySeverity[e.severity]||(this.errorStats.bySeverity[e.severity]=0),this.errorStats.bySeverity[e.severity]++,this.errorStats.recent.push(r(r({},e),{},{timestamp:e.timestamp})),this.errorStats.recent.length>50&&this.errorStats.recent.shift()}function pd(e){var t=this;e.on(Zi.ParticipantMetadataChanged,(function(){t.renderParticipant(e)})),e.on(Zi.DataReceived,(function(e,n){t.emit("participantDataReceived",{data:e,kind:n})})),e.on(Zi.TrackMuted,(function(n){t.renderParticipant(e)})),e.on(Zi.TrackUnmuted,(function(n){t.renderParticipant(e)})),e.on(Zi.IsSpeakingChanged,(function(){t.renderParticipant(e)})),e.on(Zi.ConnectionQualityChanged,(function(){t.renderParticipant(e)})),e.on(Zi.ParticipantNameChanged,(function(n){t.renderParticipant(e)}))}function fd(e){this.renderParticipant(e,!0)}function vd(e){return md.apply(this,arguments)}function md(){return(md=c(i().mark((function e(t){var n=this;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.room){e.next=2;break}return e.abrupt("return");case 2:this.renderParticipant(this.room.localParticipant,!0),this.room.remoteParticipants.forEach((function(e){n.renderParticipant(e,!0)}));case 4:case"end":return e.stop()}}),e,this)})))).apply(this,arguments)}lu=Ku,h(Ku,"ErrorSeverity",{LOW:"low",MEDIUM:"medium",HIGH:"high",CRITICAL:"critical"}),h(Ku,"ErrorCategory",{CONNECTION:"connection",MEDIA_DEVICE:"mediaDevice",TRACK:"track",PERMISSION:"permission",NETWORK:"network",ROOM:"room",PARTICIPANT:"participant",API:"api",UNKNOWN:"unknown"});export{Ku as default};
|